• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/tcpdump-56/tcpdump/

Lines Matching refs:bp

119 static void pimv2_print(register const u_char *bp, register u_int len, u_int cksum);
122 pimv1_join_prune_print(register const u_char *bp, register u_int len)
128 if (TTEST2(bp[0], 30) && bp[11] == 1 &&
129 ((njoin = EXTRACT_16BITS(&bp[20])) + EXTRACT_16BITS(&bp[22])) == 1) {
132 (void)printf(" RPF %s ", ipaddr_string(bp));
133 hold = EXTRACT_16BITS(&bp[6]);
139 ipaddr_string(&bp[26]), bp[25] & 0x3f,
140 ipaddr_string(&bp[12]));
141 if (EXTRACT_32BITS(&bp[16]) != 0xffffffff)
142 (void)printf("/%s", ipaddr_string(&bp[16]));
144 (bp[24] & 0x01) ? "Sparse" : "Dense",
145 (bp[25] & 0x80) ? " WC" : "",
146 (bp[25] & 0x40) ? "RP" : "SPT");
150 TCHECK2(bp[0], sizeof(struct in_addr));
153 (void)printf(" Upstream Nbr: %s", ipaddr_string(bp));
154 TCHECK2(bp[6], 2);
158 relts_print(EXTRACT_16BITS(&bp[6]));
161 bp += 8;
164 TCHECK2(bp[0], 4);
165 maddrlen = bp[1];
166 addrlen = bp[2];
167 ngroups = bp[3];
168 bp += 4;
175 TCHECK2(bp[0], sizeof(struct in_addr));
176 (void)printf("\n\tGroup: %s", ipaddr_string(bp));
177 TCHECK2(bp[4], sizeof(struct in_addr));
178 if (EXTRACT_32BITS(&bp[4]) != 0xffffffff)
179 (void)printf("/%s", ipaddr_string(&bp[4]));
180 TCHECK2(bp[8], 4);
181 njoin = EXTRACT_16BITS(&bp[8]);
182 nprune = EXTRACT_16BITS(&bp[10]);
184 bp += 12;
193 TCHECK2(bp[0], 6);
195 (bp[0] & 0x01) ? "Sparse " : "Dense ",
196 (bp[1] & 0x80) ? "WC " : "",
197 (bp[1] & 0x40) ? "RP " : "SPT ",
198 ipaddr_string(&bp[2]), bp[1] & 0x3f);
199 bp += 6;
210 pimv1_print(register const u_char *bp, register u_int len)
216 if (bp >= ep)
219 TCHECK(bp[1]);
220 type = bp[1];
225 if (TTEST(bp[8])) {
226 switch (bp[8] >> 4) {
237 (void)printf(" mode-%d", bp[8] >> 4);
242 TCHECK2(bp[10],2);
244 relts_print(EXTRACT_16BITS(&bp[10]));
251 TCHECK2(bp[8], 20); /* ip header */
252 (void)printf(" for %s > %s", ipaddr_string(&bp[20]),
253 ipaddr_string(&bp[24]));
257 TCHECK2(bp[12], sizeof(struct in_addr));
258 (void)printf(" for %s > %s", ipaddr_string(&bp[8]),
259 ipaddr_string(&bp[12]));
264 pimv1_join_prune_print(&bp[8], len - 8);
269 TCHECK2(bp[22], 2);
271 ipaddr_string(&bp[8]));
272 if (EXTRACT_32BITS(&bp[12]) != 0xffffffff)
273 (void)printf("/%s", ipaddr_string(&bp[12]));
274 (void)printf(" RP %s hold ", ipaddr_string(&bp[16]));
275 relts_print(EXTRACT_16BITS(&bp[22]));
280 TCHECK2(bp[16], sizeof(struct in_addr));
281 (void)printf(" for %s > %s", ipaddr_string(&bp[16]),
282 ipaddr_string(&bp[8]));
283 if (EXTRACT_32BITS(&bp[12]) != 0xffffffff)
284 (void)printf("/%s", ipaddr_string(&bp[12]));
285 TCHECK2(bp[24], 4);
287 (bp[20] & 0x80) ? "RP-tree" : "SPT",
288 EXTRACT_32BITS(&bp[20]) & 0x7fffffff,
289 EXTRACT_32BITS(&bp[24]));
294 pimv1_join_prune_print(&bp[8], len - 8);
299 pimv1_join_prune_print(&bp[8], len - 8);
308 if ((bp[4] >> 4) != 1)
309 (void)printf(" [v%d]", bp[4] >> 4);
324 cisco_autorp_print(register const u_char *bp, register u_int len)
330 TCHECK(bp[0]);
332 type = bp[0];
345 TCHECK(bp[1]);
346 numrps = bp[1];
348 TCHECK2(bp[2], 2);
350 hold = EXTRACT_16BITS(&bp[2]);
352 relts_print(EXTRACT_16BITS(&bp[2]));
358 bp += 8; len -= 8;
377 TCHECK2(bp[0], 4);
378 (void)printf(" RP %s", ipaddr_string(bp));
379 TCHECK(bp[4]);
380 switch (bp[4] & 0x3) {
390 if (bp[4] & 0xfc)
391 (void)printf(" [rsvd=0x%02x]", bp[4] & 0xfc);
392 TCHECK(bp[5]);
393 nentries = bp[5];
394 bp += 6; len -= 6;
397 TCHECK2(bp[0], 6);
398 (void)printf("%c%s%s/%d", s, bp[0] & 1 ? "!" : "",
399 ipaddr_string(&bp[2]), bp[1]);
400 if (bp[0] & 0x02) {
403 if (bp[0] & 0xfc) {
404 (void)printf("[rsvd=0x%02x]", bp[0] & 0xfc);
407 bp += 6; len -= 6;
418 pim_print(register const u_char *bp, register u_int len, u_int cksum)
421 register struct pim *pim = (struct pim *)bp;
424 if (bp >= ep)
443 pimv2_print(bp, len, cksum);
522 pimv2_addr_print(const u_char *bp, enum pimv2_addrtype at, int silent)
527 TCHECK(bp[0]);
530 TCHECK(bp[1]);
531 switch (bp[0]) {
545 if (bp[1] != 0)
566 bp += hdrlen;
569 TCHECK2(bp[0], len);
572 (void)printf("%s", ipaddr_string(bp));
577 (void)printf("%s", ip6addr_string(bp));
583 TCHECK2(bp[0], len + 2);
586 (void)printf("%s", ipaddr_string(bp + 2));
587 if (bp[1] != 32)
588 (void)printf("/%u", bp[1]);
594 (void)printf("%s", ip6addr_string(bp + 2));
595 if (bp[1] != 128)
596 (void)printf("/%u", bp[1]);
600 if (bp[0] && !silent) {
602 (void)printf("(0x%02x)", bp[0]);
605 bp[0] & 0x04 ? "S" : "",
606 bp[0] & 0x02 ? "W" : "",
607 bp[0] & 0x01 ? "R" : "");
608 if (bp[0] & 0xf8) {
609 (void) printf("+0x%02x", bp[0] & 0xf8);
623 pimv2_print(register const u_char *bp, register u_int len, u_int cksum)
626 register struct pim *pim = (struct pim *)bp;
630 if (bp >= ep)
632 if (ep > bp + len)
633 ep = bp + len;
643 printf("(%scorrect)", TTEST2(bp[0], len) && cksum ? "in" : "" );
650 bp += 4;
651 while (bp < ep) {
652 TCHECK2(bp[0], 4);
653 otype = EXTRACT_16BITS(&bp[0]);
654 olen = EXTRACT_16BITS(&bp[2]);
655 TCHECK2(bp[0], 4 + olen);
661 bp += 4;
665 relts_print(EXTRACT_16BITS(bp));
674 lan_delay = EXTRACT_16BITS(bp);
675 override_interval = EXTRACT_16BITS(bp+2);
690 printf("%u", EXTRACT_32BITS(bp));
699 (void)printf("0x%08x", EXTRACT_32BITS(bp));
703 (void)printf("v%d", *bp);
704 if (*(bp+1) != 0) {
706 relts_print(*(bp+1));
708 if (EXTRACT_16BITS(bp+2) != 0) {
709 (void)printf(" ?0x%04x?", EXTRACT_16BITS(bp+2));
719 const u_char *ptr = bp;
720 while (ptr < (bp+olen)) {
735 print_unknown_data(bp,"\n\t ",olen);
740 print_unknown_data(bp,"\n\t ",olen);
741 bp += olen;
750 if (!TTEST2(*(bp+4), PIMV2_REGISTER_FLAG_LEN))
756 EXTRACT_32BITS(bp+4)));
758 bp += 8; len -= 8;
760 ip = (struct ip *)bp;
769 ip_print(gndo, bp, len);
773 ip6_print(gndo, bp, len);
784 bp += 4; len -= 4;
785 if (bp >= ep)
788 if ((advance = pimv2_addr_print(bp, pimv2_group, 0)) < 0) {
792 bp += advance; len -= advance;
793 if (bp >= ep)
796 if ((advance = pimv2_addr_print(bp, pimv2_unicast, 0)) < 0) {
800 bp += advance; len -= advance;
850 bp += 4; len -= 4;
852 if (bp >= ep)
855 if ((advance = pimv2_addr_print(bp, pimv2_unicast, 0)) < 0) {
859 bp += advance; len -= advance;
861 if (bp + 4 > ep)
863 ngroup = bp[1];
864 holdtime = EXTRACT_16BITS(&bp[2]);
873 bp += 4; len -= 4;
875 if (bp >= ep)
878 if ((advance = pimv2_addr_print(bp, pimv2_group, 0)) < 0) {
882 bp += advance; len -= advance;
883 if (bp + 4 > ep) {
887 njoin = EXTRACT_16BITS(&bp[0]);
888 nprune = EXTRACT_16BITS(&bp[2]);
890 bp += 4; len -= 4;
893 if ((advance = pimv2_addr_print(bp, pimv2_source, 0)) < 0) {
897 bp += advance; len -= advance;
901 if ((advance = pimv2_addr_print(bp, pimv2_source, 0)) < 0) {
905 bp += advance; len -= advance;
915 bp += 4;
918 if (bp + sizeof(u_int16_t) >= ep) break;
919 (void)printf(" tag=%x", EXTRACT_16BITS(bp));
920 bp += sizeof(u_int16_t);
921 if (bp >= ep) break;
922 (void)printf(" hashmlen=%d", bp[0]);
923 if (bp + 1 >= ep) break;
924 (void)printf(" BSRprio=%d", bp[1]);
925 bp += 2;
928 if (bp >= ep) break;
930 if ((advance = pimv2_addr_print(bp, pimv2_unicast, 0)) < 0) {
934 bp += advance;
936 for (i = 0; bp < ep; i++) {
939 if ((advance = pimv2_addr_print(bp, pimv2_group, 0))
944 bp += advance;
947 if (bp >= ep) {
951 (void)printf(" RPcnt=%d", bp[0]);
952 if (bp + 1 >= ep) {
956 (void)printf(" FRPcnt=%d", frpcnt = bp[1]);
957 bp += 4;
959 for (j = 0; j < frpcnt && bp < ep; j++) {
962 if ((advance = pimv2_addr_print(bp,
968 bp += advance;
970 if (bp + 1 >= ep) {
975 relts_print(EXTRACT_16BITS(bp));
976 if (bp + 2 >= ep) {
980 (void)printf(",prio=%d", bp[2]);
981 bp += 4;
989 bp += 4; len -= 4;
990 if (bp >= ep)
993 if ((advance = pimv2_addr_print(bp, pimv2_group, 0)) < 0) {
997 bp += advance; len -= advance;
998 if (bp >= ep)
1001 if ((advance = pimv2_addr_print(bp, pimv2_unicast, 0)) < 0) {
1005 bp += advance; len -= advance;
1006 if (bp + 8 > ep)
1008 if (bp[0] & 0x80)
1010 (void)printf(" pref=%u", EXTRACT_32BITS(&bp[0]) & 0x7fffffff);
1011 (void)printf(" metric=%u", EXTRACT_32BITS(&bp[4]));
1017 bp += 4;
1020 if (bp >= ep) break;
1021 (void)printf(" prefix-cnt=%d", bp[0]);
1022 pfxcnt = bp[0];
1023 if (bp + 1 >= ep) break;
1024 (void)printf(" prio=%d", bp[1]);
1025 if (bp + 3 >= ep) break;
1027 relts_print(EXTRACT_16BITS(&bp[2]));
1028 bp += 4;
1031 if (bp >= ep) break;
1033 if ((advance = pimv2_addr_print(bp, pimv2_unicast, 0)) < 0) {
1037 bp += advance;
1040 for (i = 0; i < pfxcnt && bp < ep; i++) {
1042 if ((advance = pimv2_addr_print(bp, pimv2_group, 0))
1047 bp += advance;
1054 if ((advance = pimv2_addr_print(bp, pimv2_unicast, 0)) < 0) {
1058 bp += advance;
1060 if ((advance = pimv2_addr_print(bp, pimv2_group, 0)) < 0) {
1064 bp += advance;
1066 if ((advance = pimv2_addr_print(bp, pimv2_unicast, 0)) < 0) {
1070 bp += advance;
1071 TCHECK2(bp[0], 2);
1073 relts_print(EXTRACT_16BITS(bp));