Lines Matching refs:bp

156 static void pimv2_print(netdissect_options *, const u_char *bp, u_int len, const u_char *);
160 const u_char *bp, u_int len) in pimv1_join_prune_print() argument
166 if (ND_TTEST_LEN(bp, 30) && GET_U_1(bp + 11) == 1 && in pimv1_join_prune_print()
167 ((njoin = GET_BE_U_2(bp + 20)) + GET_BE_U_2(bp + 22)) == 1) { in pimv1_join_prune_print()
170 ND_PRINT(" RPF %s ", GET_IPADDR_STRING(bp)); in pimv1_join_prune_print()
171 hold = GET_BE_U_2(bp + 6); in pimv1_join_prune_print()
177 GET_IPADDR_STRING(bp + 26), GET_U_1(bp + 25) & 0x3f, in pimv1_join_prune_print()
178 GET_IPADDR_STRING(bp + 12)); in pimv1_join_prune_print()
179 if (GET_BE_U_4(bp + 16) != 0xffffffff) in pimv1_join_prune_print()
180 ND_PRINT("/%s", GET_IPADDR_STRING(bp + 16)); in pimv1_join_prune_print()
182 (GET_U_1(bp + 24) & 0x01) ? "Sparse" : "Dense", in pimv1_join_prune_print()
183 (GET_U_1(bp + 25) & 0x80) ? " WC" : "", in pimv1_join_prune_print()
184 (GET_U_1(bp + 25) & 0x40) ? "RP" : "SPT"); in pimv1_join_prune_print()
192 ND_PRINT(" Upstream Nbr: %s", GET_IPADDR_STRING(bp)); in pimv1_join_prune_print()
193 bp += 4; in pimv1_join_prune_print()
200 unsigned_relts_print(ndo, GET_BE_U_2(bp + 2)); in pimv1_join_prune_print()
203 bp += 4; in pimv1_join_prune_print()
208 ngroups = GET_U_1(bp + 3); in pimv1_join_prune_print()
209 bp += 4; in pimv1_join_prune_print()
218 ND_PRINT("\n\tGroup: %s", GET_IPADDR_STRING(bp)); in pimv1_join_prune_print()
219 bp += 4; in pimv1_join_prune_print()
223 if (GET_BE_U_4(bp) != 0xffffffff) in pimv1_join_prune_print()
224 ND_PRINT("/%s", GET_IPADDR_STRING(bp)); in pimv1_join_prune_print()
225 bp += 4; in pimv1_join_prune_print()
229 njoin = GET_BE_U_2(bp); in pimv1_join_prune_print()
230 nprune = GET_BE_U_2(bp + 2); in pimv1_join_prune_print()
232 bp += 4; in pimv1_join_prune_print()
244 (GET_U_1(bp) & 0x01) ? "Sparse " : "Dense ", in pimv1_join_prune_print()
245 (GET_U_1(bp + 1) & 0x80) ? "WC " : "", in pimv1_join_prune_print()
246 (GET_U_1(bp + 1) & 0x40) ? "RP " : "SPT ", in pimv1_join_prune_print()
247 GET_IPADDR_STRING(bp + 2), in pimv1_join_prune_print()
248 GET_U_1(bp + 1) & 0x3f); in pimv1_join_prune_print()
249 bp += 6; in pimv1_join_prune_print()
261 const u_char *bp, u_int len) in pimv1_print() argument
266 type = GET_U_1(bp + 1); in pimv1_print()
271 if (ND_TTEST_1(bp + 8)) { in pimv1_print()
272 switch (GET_U_1(bp + 8) >> 4) { in pimv1_print()
283 ND_PRINT(" mode-%u", GET_U_1(bp + 8) >> 4); in pimv1_print()
289 unsigned_relts_print(ndo, GET_BE_U_2(bp + 10)); in pimv1_print()
295 ND_TCHECK_LEN(bp + 8, 20); /* ip header */ in pimv1_print()
296 ND_PRINT(" for %s > %s", GET_IPADDR_STRING(bp + 20), in pimv1_print()
297 GET_IPADDR_STRING(bp + 24)); in pimv1_print()
300 ND_PRINT(" for %s > %s", GET_IPADDR_STRING(bp + 8), in pimv1_print()
301 GET_IPADDR_STRING(bp + 12)); in pimv1_print()
305 ND_PRINT(" group %s", GET_IPADDR_STRING(bp + 8)); in pimv1_print()
306 if (GET_BE_U_4(bp + 12) != 0xffffffff) in pimv1_print()
307 ND_PRINT("/%s", GET_IPADDR_STRING(bp + 12)); in pimv1_print()
308 ND_PRINT(" RP %s hold ", GET_IPADDR_STRING(bp + 16)); in pimv1_print()
309 unsigned_relts_print(ndo, GET_BE_U_2(bp + 22)); in pimv1_print()
313 ND_PRINT(" for %s > %s", GET_IPADDR_STRING(bp + 16), in pimv1_print()
314 GET_IPADDR_STRING(bp + 8)); in pimv1_print()
315 if (GET_BE_U_4(bp + 12) != 0xffffffff) in pimv1_print()
316 ND_PRINT("/%s", GET_IPADDR_STRING(bp + 12)); in pimv1_print()
318 (GET_U_1(bp + 20) & 0x80) ? "RP-tree" : "SPT", in pimv1_print()
319 GET_BE_U_4(bp + 20) & 0x7fffffff, in pimv1_print()
320 GET_BE_U_4(bp + 24)); in pimv1_print()
328 pimv1_join_prune_print(ndo, bp + 8, len - 8); in pimv1_print()
332 if ((GET_U_1(bp + 4) >> 4) != 1) in pimv1_print()
333 ND_PRINT(" [v%u]", GET_U_1(bp + 4) >> 4); in pimv1_print()
348 const u_char *bp, u_int len) in cisco_autorp_print() argument
358 type = GET_U_1(bp); in cisco_autorp_print()
371 numrps = GET_U_1(bp + 1); in cisco_autorp_print()
374 hold = GET_BE_U_2(bp + 2); in cisco_autorp_print()
376 unsigned_relts_print(ndo, GET_BE_U_2(bp + 2)); in cisco_autorp_print()
382 bp += 8; len -= 8; in cisco_autorp_print()
403 ND_PRINT(" RP %s", GET_IPADDR_STRING(bp)); in cisco_autorp_print()
404 bp += 4; in cisco_autorp_print()
408 switch (GET_U_1(bp) & 0x3) { in cisco_autorp_print()
418 if (GET_U_1(bp) & 0xfc) in cisco_autorp_print()
419 ND_PRINT(" [rsvd=0x%02x]", GET_U_1(bp) & 0xfc); in cisco_autorp_print()
420 bp += 1; in cisco_autorp_print()
424 nentries = GET_U_1(bp); in cisco_autorp_print()
425 bp += 1; in cisco_autorp_print()
431 ND_PRINT("%c%s%s/%u", s, GET_U_1(bp) & 1 ? "!" : "", in cisco_autorp_print()
432 GET_IPADDR_STRING(bp + 2), GET_U_1(bp + 1)); in cisco_autorp_print()
433 if (GET_U_1(bp) & 0x02) { in cisco_autorp_print()
436 if (GET_U_1(bp) & 0xfc) { in cisco_autorp_print()
437 ND_PRINT("[rsvd=0x%02x]", GET_U_1(bp) & 0xfc); in cisco_autorp_print()
440 bp += 6; len -= 6; in cisco_autorp_print()
453 const u_char *bp, u_int len, const u_char *bp2) in pim_print() argument
455 const struct pim *pim = (const struct pim *)bp; in pim_print()
474 pimv2_print(ndo, bp, len, bp2); in pim_print()
551 const u_char *bp, u_int len, enum pimv2_addrtype at, in pimv2_addr_print() argument
560 switch (GET_U_1(bp)) { in pimv2_addr_print()
572 if (GET_U_1(bp + 1) != 0) in pimv2_addr_print()
590 bp += hdrlen; in pimv2_addr_print()
596 ND_TCHECK_LEN(bp, addr_len); in pimv2_addr_print()
599 ND_PRINT("%s", GET_IPADDR_STRING(bp)); in pimv2_addr_print()
602 ND_PRINT("%s", GET_IP6ADDR_STRING(bp)); in pimv2_addr_print()
609 ND_TCHECK_LEN(bp, addr_len + 2); in pimv2_addr_print()
612 ND_PRINT("%s", GET_IPADDR_STRING(bp + 2)); in pimv2_addr_print()
613 if (GET_U_1(bp + 1) != 32) in pimv2_addr_print()
614 ND_PRINT("/%u", GET_U_1(bp + 1)); in pimv2_addr_print()
618 ND_PRINT("%s", GET_IP6ADDR_STRING(bp + 2)); in pimv2_addr_print()
619 if (GET_U_1(bp + 1) != 128) in pimv2_addr_print()
620 ND_PRINT("/%u", GET_U_1(bp + 1)); in pimv2_addr_print()
623 if (GET_U_1(bp) && !silent) { in pimv2_addr_print()
625 ND_PRINT("(0x%02x)", GET_U_1(bp)); in pimv2_addr_print()
628 GET_U_1(bp) & 0x04 ? "S" : "", in pimv2_addr_print()
629 GET_U_1(bp) & 0x02 ? "W" : "", in pimv2_addr_print()
630 GET_U_1(bp) & 0x01 ? "R" : ""); in pimv2_addr_print()
631 if (GET_U_1(bp) & 0xf8) { in pimv2_addr_print()
633 GET_U_1(bp) & 0xf8); in pimv2_addr_print()
653 pimv2_check_checksum(netdissect_options *ndo, const u_char *bp, in pimv2_check_checksum() argument
659 if (!ND_TTEST_LEN(bp, len)) { in pimv2_check_checksum()
667 vec[0].ptr = bp; in pimv2_check_checksum()
675 cksum = nextproto6_cksum(ndo, ip6, bp, len, len, IPPROTO_PIM); in pimv2_check_checksum()
684 const u_char *bp, u_int len, const u_char *bp2) in pimv2_print() argument
686 const struct pim *pim = (const struct pim *)bp; in pimv2_print()
719 cksum_status = pimv2_check_checksum(ndo, bp, bp2, 8); in pimv2_print()
727 cksum_status = pimv2_check_checksum(ndo, bp, bp2, len); in pimv2_print()
733 cksum_status = pimv2_check_checksum(ndo, bp, bp2, len); in pimv2_print()
750 bp += 4; in pimv2_print()
760 otype = GET_BE_U_2(bp); in pimv2_print()
761 olen = GET_BE_U_2(bp + 2); in pimv2_print()
766 bp += 4; in pimv2_print()
771 ND_TCHECK_LEN(bp, olen); in pimv2_print()
780 GET_BE_U_2(bp)); in pimv2_print()
792 lan_delay = GET_BE_U_2(bp); in pimv2_print()
793 override_interval = GET_BE_U_2(bp + 2); in pimv2_print()
808 ND_PRINT("%u", GET_BE_U_4(bp)); in pimv2_print()
824 ND_PRINT("0x%08x", GET_BE_U_4(bp)); in pimv2_print()
834 ND_PRINT("v%u", GET_U_1(bp)); in pimv2_print()
835 if (GET_U_1(bp + 1) != 0) { in pimv2_print()
838 GET_U_1(bp + 1)); in pimv2_print()
840 if (GET_BE_U_2(bp + 2) != 0) { in pimv2_print()
842 GET_BE_U_2(bp + 2)); in pimv2_print()
853 const u_char *ptr = bp; in pimv2_print()
855 while (ptr < (bp+olen)) { in pimv2_print()
867 print_unknown_data(ndo, bp, "\n\t ", olen); in pimv2_print()
872 print_unknown_data(ndo, bp, "\n\t ", olen); in pimv2_print()
873 bp += olen; in pimv2_print()
885 ND_TCHECK_LEN(bp, PIMV2_REGISTER_FLAG_LEN); in pimv2_print()
890 GET_BE_U_4(bp))); in pimv2_print()
892 bp += 4; len -= 4; in pimv2_print()
896 ip = (const struct ip *)bp; in pimv2_print()
905 ip_print(ndo, bp, len); in pimv2_print()
909 ip6_print(ndo, bp, len); in pimv2_print()
921 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_group, pimv2_addr_len, 0)) < 0) in pimv2_print()
923 bp += advance; len -= advance; in pimv2_print()
925 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_unicast, pimv2_addr_len, 0)) < 0) in pimv2_print()
927 bp += advance; len -= advance; in pimv2_print()
979 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_unicast, pimv2_addr_len, 0)) < 0) in pimv2_print()
981 bp += advance; len -= advance; in pimv2_print()
985 ND_TCHECK_4(bp); in pimv2_print()
986 ngroup = GET_U_1(bp + 1); in pimv2_print()
987 holdtime = GET_BE_U_2(bp + 2); in pimv2_print()
996 bp += 4; len -= 4; in pimv2_print()
999 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_group, pimv2_addr_len, 0)) < 0) in pimv2_print()
1001 bp += advance; len -= advance; in pimv2_print()
1004 ND_TCHECK_4(bp); in pimv2_print()
1005 njoin = GET_BE_U_2(bp); in pimv2_print()
1006 nprune = GET_BE_U_2(bp + 2); in pimv2_print()
1008 bp += 4; len -= 4; in pimv2_print()
1011 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_source, pimv2_addr_len, 0)) < 0) in pimv2_print()
1013 bp += advance; len -= advance; in pimv2_print()
1017 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_source, pimv2_addr_len, 0)) < 0) in pimv2_print()
1019 bp += advance; len -= advance; in pimv2_print()
1032 ND_PRINT(" tag=%x", GET_BE_U_2(bp)); in pimv2_print()
1033 bp += 2; in pimv2_print()
1037 ND_PRINT(" hashmlen=%u", GET_U_1(bp)); in pimv2_print()
1040 ND_TCHECK_1(bp + 2); in pimv2_print()
1041 ND_PRINT(" BSRprio=%u", GET_U_1(bp + 1)); in pimv2_print()
1042 bp += 2; in pimv2_print()
1047 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_unicast, pimv2_addr_len, 0)) < 0) in pimv2_print()
1049 bp += advance; in pimv2_print()
1055 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_group, pimv2_addr_len, 0)) < 0) in pimv2_print()
1057 bp += advance; in pimv2_print()
1063 ND_PRINT(" RPcnt=%u", GET_U_1(bp)); in pimv2_print()
1066 frpcnt = GET_U_1(bp + 1); in pimv2_print()
1070 bp += 4; in pimv2_print()
1076 if ((advance = pimv2_addr_print(ndo, bp, len, in pimv2_print()
1081 bp += advance; in pimv2_print()
1088 GET_BE_U_2(bp)); in pimv2_print()
1091 ND_PRINT(",prio=%u", GET_U_1(bp + 2)); in pimv2_print()
1094 bp += 4; in pimv2_print()
1103 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_group, pimv2_addr_len, 0)) < 0) in pimv2_print()
1105 bp += advance; len -= advance; in pimv2_print()
1107 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_unicast, pimv2_addr_len, 0)) < 0) in pimv2_print()
1109 bp += advance; len -= advance; in pimv2_print()
1112 ND_TCHECK_8(bp); in pimv2_print()
1113 if (GET_U_1(bp) & 0x80) in pimv2_print()
1115 ND_PRINT(" pref=%u", GET_BE_U_4(bp) & 0x7fffffff); in pimv2_print()
1116 ND_PRINT(" metric=%u", GET_BE_U_4(bp + 4)); in pimv2_print()
1126 ND_PRINT(" prefix-cnt=%u", GET_U_1(bp)); in pimv2_print()
1127 pfxcnt = GET_U_1(bp); in pimv2_print()
1130 ND_PRINT(" prio=%u", GET_U_1(bp + 1)); in pimv2_print()
1134 unsigned_relts_print(ndo, GET_BE_U_2(bp + 2)); in pimv2_print()
1135 bp += 4; in pimv2_print()
1140 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_unicast, pimv2_addr_len, 0)) < 0) in pimv2_print()
1142 bp += advance; in pimv2_print()
1148 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_group, pimv2_addr_len, 0)) < 0) in pimv2_print()
1150 bp += advance; in pimv2_print()
1158 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_unicast, pimv2_addr_len, 0)) < 0) in pimv2_print()
1160 bp += advance; in pimv2_print()
1163 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_group, pimv2_addr_len, 0)) < 0) in pimv2_print()
1165 bp += advance; in pimv2_print()
1168 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_unicast, pimv2_addr_len, 0)) < 0) in pimv2_print()
1170 bp += advance; in pimv2_print()
1175 unsigned_relts_print(ndo, GET_BE_U_2(bp)); in pimv2_print()
1184 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_unicast, pimv2_addr_len, 0)) < 0) { in pimv2_print()
1187 bp += advance; in pimv2_print()
1189 ND_PRINT(" sender pref=%u", GET_BE_U_4(bp) ); in pimv2_print()
1190 ND_PRINT(" sender metric=%u", GET_BE_U_4(bp + 4)); in pimv2_print()
1192 bp += 8; in pimv2_print()
1199 if ((advance = pimv2_addr_print(ndo, bp, len, pimv2_unicast, pimv2_addr_len, 0)) < 0) { in pimv2_print()
1202 bp += advance; in pimv2_print()
1205 ND_PRINT(" %s pref=%u", PIMV2_DF_ELECTION_PASS_BACKOFF_STR(subtype), GET_BE_U_4(bp) ); in pimv2_print()
1206 ND_PRINT(" %s metric=%u", PIMV2_DF_ELECTION_PASS_BACKOFF_STR(subtype), GET_BE_U_4(bp + 4)); in pimv2_print()
1208 bp += 8; in pimv2_print()
1212 ND_PRINT(" interval %dms", GET_BE_U_2(bp)); in pimv2_print()