Lines Matching refs:l2info
165 struct juniper_l2info_t l2info; in juniper_ggsn_print() local
176 l2info.pictype = DLT_JUNIPER_GGSN; in juniper_ggsn_print()
177 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_ggsn_print()
178 return l2info.header_len; in juniper_ggsn_print()
180 p+=l2info.header_len; in juniper_ggsn_print()
191 ip_print(gndo, p, l2info.length); in juniper_ggsn_print()
195 ip6_print(p, l2info.length); in juniper_ggsn_print()
203 return l2info.header_len; in juniper_ggsn_print()
211 struct juniper_l2info_t l2info; in juniper_es_print() local
223 l2info.pictype = DLT_JUNIPER_ES; in juniper_es_print()
224 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_es_print()
225 return l2info.header_len; in juniper_es_print()
227 p+=l2info.header_len; in juniper_es_print()
244 l2info.length); in juniper_es_print()
245 return l2info.header_len; in juniper_es_print()
248 l2info.length-=rewrite_len; in juniper_es_print()
261 l2info.length); in juniper_es_print()
268 l2info.length); in juniper_es_print()
272 ip_print(gndo, p, l2info.length); in juniper_es_print()
273 return l2info.header_len; in juniper_es_print()
281 struct juniper_l2info_t l2info; in juniper_monitor_print() local
290 l2info.pictype = DLT_JUNIPER_MONITOR; in juniper_monitor_print()
291 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_monitor_print()
292 return l2info.header_len; in juniper_monitor_print()
294 p+=l2info.header_len; in juniper_monitor_print()
304 ip_heuristic_guess(p, l2info.length); in juniper_monitor_print()
306 return l2info.header_len; in juniper_monitor_print()
314 struct juniper_l2info_t l2info; in juniper_services_print() local
323 l2info.pictype = DLT_JUNIPER_SERVICES; in juniper_services_print()
324 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_services_print()
325 return l2info.header_len; in juniper_services_print()
327 p+=l2info.header_len; in juniper_services_print()
338 ip_heuristic_guess(p, l2info.length); in juniper_services_print()
340 return l2info.header_len; in juniper_services_print()
348 struct juniper_l2info_t l2info; in juniper_pppoe_print() local
350 l2info.pictype = DLT_JUNIPER_PPPOE; in juniper_pppoe_print()
351 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_pppoe_print()
352 return l2info.header_len; in juniper_pppoe_print()
354 p+=l2info.header_len; in juniper_pppoe_print()
356 ether_print(p, l2info.length, l2info.caplen); in juniper_pppoe_print()
357 return l2info.header_len; in juniper_pppoe_print()
365 struct juniper_l2info_t l2info; in juniper_ether_print() local
367 l2info.pictype = DLT_JUNIPER_ETHER; in juniper_ether_print()
368 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_ether_print()
369 return l2info.header_len; in juniper_ether_print()
371 p+=l2info.header_len; in juniper_ether_print()
373 ether_print(p, l2info.length, l2info.caplen); in juniper_ether_print()
374 return l2info.header_len; in juniper_ether_print()
382 struct juniper_l2info_t l2info; in juniper_ppp_print() local
384 l2info.pictype = DLT_JUNIPER_PPP; in juniper_ppp_print()
385 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_ppp_print()
386 return l2info.header_len; in juniper_ppp_print()
388 p+=l2info.header_len; in juniper_ppp_print()
390 ppp_print(p, l2info.length); in juniper_ppp_print()
391 return l2info.header_len; in juniper_ppp_print()
399 struct juniper_l2info_t l2info; in juniper_frelay_print() local
401 l2info.pictype = DLT_JUNIPER_FRELAY; in juniper_frelay_print()
402 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_frelay_print()
403 return l2info.header_len; in juniper_frelay_print()
405 p+=l2info.header_len; in juniper_frelay_print()
407 fr_print(p, l2info.length); in juniper_frelay_print()
408 return l2info.header_len; in juniper_frelay_print()
416 struct juniper_l2info_t l2info; in juniper_chdlc_print() local
418 l2info.pictype = DLT_JUNIPER_CHDLC; in juniper_chdlc_print()
419 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_chdlc_print()
420 return l2info.header_len; in juniper_chdlc_print()
422 p+=l2info.header_len; in juniper_chdlc_print()
424 chdlc_print(p, l2info.length); in juniper_chdlc_print()
425 return l2info.header_len; in juniper_chdlc_print()
433 struct juniper_l2info_t l2info; in juniper_pppoe_atm_print() local
436 l2info.pictype = DLT_JUNIPER_PPPOE_ATM; in juniper_pppoe_atm_print()
437 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_pppoe_atm_print()
438 return l2info.header_len; in juniper_pppoe_atm_print()
440 p+=l2info.header_len; in juniper_pppoe_atm_print()
447 l2info.length-ETHERTYPE_LEN, in juniper_pppoe_atm_print()
448 l2info.caplen-ETHERTYPE_LEN, in juniper_pppoe_atm_print()
453 return l2info.header_len; in juniper_pppoe_atm_print()
461 struct juniper_l2info_t l2info; in juniper_mlppp_print() local
463 l2info.pictype = DLT_JUNIPER_MLPPP; in juniper_mlppp_print()
464 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_mlppp_print()
465 return l2info.header_len; in juniper_mlppp_print()
470 EXTRACT_16BITS(&l2info.cookie) != PPP_OSI && in juniper_mlppp_print()
471 EXTRACT_16BITS(&l2info.cookie) != (PPP_ADDRESS << 8 | PPP_CONTROL)) in juniper_mlppp_print()
472 printf("Bundle-ID %u: ",l2info.bundle); in juniper_mlppp_print()
474 p+=l2info.header_len; in juniper_mlppp_print()
477 switch(l2info.proto) { in juniper_mlppp_print()
482 if (l2info.cookie[4] == (JUNIPER_LSQ_COOKIE_RE|JUNIPER_LSQ_COOKIE_DIR)) in juniper_mlppp_print()
483 ppp_print(p, l2info.length); in juniper_mlppp_print()
485 ip_print(gndo, p, l2info.length); in juniper_mlppp_print()
486 return l2info.header_len; in juniper_mlppp_print()
489 ip6_print(p,l2info.length); in juniper_mlppp_print()
490 return l2info.header_len; in juniper_mlppp_print()
493 mpls_print(p,l2info.length); in juniper_mlppp_print()
494 return l2info.header_len; in juniper_mlppp_print()
496 isoclns_print(p,l2info.length,l2info.caplen); in juniper_mlppp_print()
497 return l2info.header_len; in juniper_mlppp_print()
503 switch (EXTRACT_16BITS(&l2info.cookie)) { in juniper_mlppp_print()
505 ppp_print(p-2,l2info.length+2); in juniper_mlppp_print()
509 ppp_print(p,l2info.length); in juniper_mlppp_print()
513 return l2info.header_len; in juniper_mlppp_print()
522 struct juniper_l2info_t l2info; in juniper_mfr_print() local
524 l2info.pictype = DLT_JUNIPER_MFR; in juniper_mfr_print()
525 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_mfr_print()
526 return l2info.header_len; in juniper_mfr_print()
528 p+=l2info.header_len; in juniper_mfr_print()
531 if (l2info.cookie_len == 0) { in juniper_mfr_print()
532 mfr_print(p,l2info.length); in juniper_mfr_print()
533 return l2info.header_len; in juniper_mfr_print()
537 if (l2info.cookie_len == AS_PIC_COOKIE_LEN) { in juniper_mfr_print()
538 switch(l2info.proto) { in juniper_mfr_print()
540 ip_print(gndo, p, l2info.length); in juniper_mfr_print()
541 return l2info.header_len; in juniper_mfr_print()
544 ip6_print(p,l2info.length); in juniper_mfr_print()
545 return l2info.header_len; in juniper_mfr_print()
548 mpls_print(p,l2info.length); in juniper_mfr_print()
549 return l2info.header_len; in juniper_mfr_print()
551 isoclns_print(p,l2info.length,l2info.caplen); in juniper_mfr_print()
552 return l2info.header_len; in juniper_mfr_print()
556 return l2info.header_len; in juniper_mfr_print()
560 if (eflag && EXTRACT_32BITS(l2info.cookie) != 1) printf("Bundle-ID %u, ",l2info.bundle); in juniper_mfr_print()
561 switch (l2info.proto) { in juniper_mfr_print()
563 isoclns_print(p+1, l2info.length-1, l2info.caplen-1); in juniper_mfr_print()
569 isoclns_print(p-1, l2info.length+1, l2info.caplen+1); in juniper_mfr_print()
572 printf("unknown protocol 0x%04x, length %u",l2info.proto, l2info.length); in juniper_mfr_print()
575 return l2info.header_len; in juniper_mfr_print()
583 struct juniper_l2info_t l2info; in juniper_mlfr_print() local
585 l2info.pictype = DLT_JUNIPER_MLFR; in juniper_mlfr_print()
586 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_mlfr_print()
587 return l2info.header_len; in juniper_mlfr_print()
589 p+=l2info.header_len; in juniper_mlfr_print()
592 if (eflag && EXTRACT_32BITS(l2info.cookie) != 1) printf("Bundle-ID %u, ",l2info.bundle); in juniper_mlfr_print()
593 switch (l2info.proto) { in juniper_mlfr_print()
596 isoclns_print(p, l2info.length, l2info.caplen); in juniper_mlfr_print()
602 isoclns_print(p-1, l2info.length+1, l2info.caplen+1); in juniper_mlfr_print()
605 printf("unknown protocol 0x%04x, length %u",l2info.proto, l2info.length); in juniper_mlfr_print()
608 return l2info.header_len; in juniper_mlfr_print()
626 struct juniper_l2info_t l2info; in juniper_atm1_print() local
628 l2info.pictype = DLT_JUNIPER_ATM1; in juniper_atm1_print()
629 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_atm1_print()
630 return l2info.header_len; in juniper_atm1_print()
632 p+=l2info.header_len; in juniper_atm1_print()
634 if (l2info.cookie[0] == 0x80) { /* OAM cell ? */ in juniper_atm1_print()
635 oam_print(p,l2info.length,ATM_OAM_NOHEC); in juniper_atm1_print()
636 return l2info.header_len; in juniper_atm1_print()
642 if (llc_print(p, l2info.length, l2info.caplen, NULL, NULL, in juniper_atm1_print()
644 return l2info.header_len; in juniper_atm1_print()
648 isoclns_print(p + 1, l2info.length - 1, l2info.caplen - 1); in juniper_atm1_print()
650 return l2info.header_len; in juniper_atm1_print()
653 if(ip_heuristic_guess(p, l2info.length) != 0) /* last try - vcmux encaps ? */ in juniper_atm1_print()
654 return l2info.header_len; in juniper_atm1_print()
656 return l2info.header_len; in juniper_atm1_print()
674 struct juniper_l2info_t l2info; in juniper_atm2_print() local
676 l2info.pictype = DLT_JUNIPER_ATM2; in juniper_atm2_print()
677 if(juniper_parse_header(p, h, &l2info) == 0) in juniper_atm2_print()
678 return l2info.header_len; in juniper_atm2_print()
680 p+=l2info.header_len; in juniper_atm2_print()
682 if (l2info.cookie[7] & ATM2_PKT_TYPE_MASK) { /* OAM cell ? */ in juniper_atm2_print()
683 oam_print(p,l2info.length,ATM_OAM_NOHEC); in juniper_atm2_print()
684 return l2info.header_len; in juniper_atm2_print()
690 if (llc_print(p, l2info.length, l2info.caplen, NULL, NULL, in juniper_atm2_print()
692 return l2info.header_len; in juniper_atm2_print()
695 if (l2info.direction != JUNIPER_BPF_PKT_IN && /* ether-over-1483 encaps ? */ in juniper_atm2_print()
696 (EXTRACT_32BITS(l2info.cookie) & ATM2_GAP_COUNT_MASK)) { in juniper_atm2_print()
697 ether_print(p, l2info.length, l2info.caplen); in juniper_atm2_print()
698 return l2info.header_len; in juniper_atm2_print()
702 isoclns_print(p + 1, l2info.length - 1, l2info.caplen - 1); in juniper_atm2_print()
704 return l2info.header_len; in juniper_atm2_print()
707 if(juniper_ppp_heuristic_guess(p, l2info.length) != 0) /* PPPoA vcmux encaps ? */ in juniper_atm2_print()
708 return l2info.header_len; in juniper_atm2_print()
710 if(ip_heuristic_guess(p, l2info.length) != 0) /* last try - vcmux encaps ? */ in juniper_atm2_print()
711 return l2info.header_len; in juniper_atm2_print()
713 return l2info.header_len; in juniper_atm2_print()
794 juniper_parse_header (const u_char *p, const struct pcap_pkthdr *h, struct juniper_l2info_t *l2info… in juniper_parse_header() argument
802 l2info->header_len = 0; in juniper_parse_header()
803 l2info->cookie_len = 0; in juniper_parse_header()
804 l2info->proto = 0; in juniper_parse_header()
807 l2info->length = h->len; in juniper_parse_header()
808 l2info->caplen = h->caplen; in juniper_parse_header()
809 l2info->direction = p[3]&JUNIPER_BPF_PKT_IN; in juniper_parse_header()
818 printf("%3s ",tok2str(juniper_direction_values,"---",l2info->direction)); in juniper_parse_header()
837 if(ip_heuristic_guess(p+offset+4,l2info->length-(offset+4)) == 0) in juniper_parse_header()
840 l2info->header_len=offset+4; in juniper_parse_header()
844 l2info->header_len = offset; in juniper_parse_header()
845 p+=l2info->header_len; in juniper_parse_header()
846 l2info->length -= l2info->header_len; in juniper_parse_header()
847 l2info->caplen -= l2info->header_len; in juniper_parse_header()
851 if (lp->pictype == l2info->pictype) { in juniper_parse_header()
853 l2info->cookie_len += lp->cookie_len; in juniper_parse_header()
857 l2info->cookie_type = LS_COOKIE_ID; in juniper_parse_header()
858 l2info->cookie_len += 2; in juniper_parse_header()
861 l2info->cookie_type = AS_COOKIE_ID; in juniper_parse_header()
862 l2info->cookie_len = 8; in juniper_parse_header()
866 l2info->bundle = l2info->cookie[0]; in juniper_parse_header()
873 if (l2info->pictype == DLT_JUNIPER_MFR && in juniper_parse_header()
875 l2info->cookie_len = 0; in juniper_parse_header()
879 l2info->header_len += l2info->cookie_len; in juniper_parse_header()
880 l2info->length -= l2info->cookie_len; in juniper_parse_header()
881 l2info->caplen -= l2info->cookie_len; in juniper_parse_header()
886 l2info->cookie_len); in juniper_parse_header()
888 if (l2info->cookie_len > 0) { in juniper_parse_header()
889 TCHECK2(p[0],l2info->cookie_len); in juniper_parse_header()
892 for (idx = 0; idx < l2info->cookie_len; idx++) { in juniper_parse_header()
893 l2info->cookie[idx] = p[idx]; /* copy cookie data */ in juniper_parse_header()
901 l2info->proto = EXTRACT_16BITS(p+l2info->cookie_len); in juniper_parse_header()
906 p+=l2info->cookie_len; in juniper_parse_header()
909 switch(l2info->pictype) { in juniper_parse_header()
912 switch (l2info->cookie_type) { in juniper_parse_header()
914 l2info->bundle = l2info->cookie[1]; in juniper_parse_header()
917 l2info->bundle = (EXTRACT_16BITS(&l2info->cookie[6])>>3)&0xfff; in juniper_parse_header()
918 l2info->proto = (l2info->cookie[5])&JUNIPER_LSQ_L3_PROTO_MASK; in juniper_parse_header()
921 l2info->bundle = l2info->cookie[0]; in juniper_parse_header()
928 switch (l2info->cookie_type) { in juniper_parse_header()
930 l2info->bundle = l2info->cookie[1]; in juniper_parse_header()
931 l2info->proto = EXTRACT_16BITS(p); in juniper_parse_header()
932 l2info->header_len += 2; in juniper_parse_header()
933 l2info->length -= 2; in juniper_parse_header()
934 l2info->caplen -= 2; in juniper_parse_header()
937 l2info->bundle = (EXTRACT_16BITS(&l2info->cookie[6])>>3)&0xfff; in juniper_parse_header()
938 l2info->proto = (l2info->cookie[5])&JUNIPER_LSQ_L3_PROTO_MASK; in juniper_parse_header()
941 l2info->bundle = l2info->cookie[0]; in juniper_parse_header()
942 l2info->header_len += 2; in juniper_parse_header()
943 l2info->length -= 2; in juniper_parse_header()
944 l2info->caplen -= 2; in juniper_parse_header()
951 switch (l2info->cookie_type) { in juniper_parse_header()
953 l2info->bundle = l2info->cookie[1]; in juniper_parse_header()
954 l2info->proto = EXTRACT_16BITS(p); in juniper_parse_header()
955 l2info->header_len += 2; in juniper_parse_header()
956 l2info->length -= 2; in juniper_parse_header()
957 l2info->caplen -= 2; in juniper_parse_header()
960 l2info->bundle = (EXTRACT_16BITS(&l2info->cookie[6])>>3)&0xfff; in juniper_parse_header()
961 l2info->proto = (l2info->cookie[5])&JUNIPER_LSQ_L3_PROTO_MASK; in juniper_parse_header()
964 l2info->bundle = l2info->cookie[0]; in juniper_parse_header()
973 if (l2info->cookie[7] & ATM2_PKT_TYPE_MASK) { in juniper_parse_header()
980 l2info->header_len += 4; in juniper_parse_header()
1013 printf("Unknown Juniper DLT_ type %u: ", l2info->pictype); in juniper_parse_header()
1018 printf("hlen %u, proto 0x%04x, ",l2info->header_len,l2info->proto); in juniper_parse_header()