X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/7de355927bb4dac90db045d52a69bf95c841b807..6e12d87355718f309ce9f33183ff8235b9c5eb0d:/print-ospf.c diff --git a/print-ospf.c b/print-ospf.c index 9533cb63..23fb1ce0 100644 --- a/print-ospf.c +++ b/print-ospf.c @@ -21,11 +21,6 @@ * OSPF support contributed by Jeffrey Honig (jch@mitchell.cit.cornell.edu) */ -#ifndef lint -static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ospf.c,v 1.66 2007-10-08 07:53:21 hannes Exp $ (LBL)"; -#endif - #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -43,6 +38,8 @@ static const char rcsid[] _U_ = #include "ip.h" +static const char tstr[] = " [|ospf2]"; + static const struct tok ospf_option_values[] = { { OSPF_OPTION_T, "MultiTopology" }, /* draft-ietf-ospf-mt-09 */ { OSPF_OPTION_E, "External" }, @@ -185,8 +182,6 @@ static const struct tok ospf_lls_eo_options[] = { { 0, NULL } }; -static char tstr[] = " [|ospf2]"; - static int ospf_print_lshdr(const struct lsa_hdr *); static const u_char *ospf_print_lsa(const struct lsa *); static int ospf_decode_v2(const struct ospfhdr *, const u_char *); @@ -208,7 +203,7 @@ ospf_print_grace_lsa (const u_int8_t *tptr, u_int ls_length) { tlv_length = EXTRACT_16BITS(tptr+2); tptr+=4; ls_length-=4; - + printf("\n\t %s TLV (%u), length %u, value: ", tok2str(lsa_opaque_grace_tlv_values,"unknown",tlv_type), tlv_type, @@ -256,7 +251,7 @@ ospf_print_grace_lsa (const u_int8_t *tptr, u_int ls_length) { default: if (vflag <= 1) { - if(!print_unknown_data(tptr,"\n\t ",tlv_length)) + if(!print_unknown_data(gndo,tptr,"\n\t ",tlv_length)) return -1; } break; @@ -280,7 +275,7 @@ ospf_print_te_lsa (const u_int8_t *tptr, u_int ls_length) { u_int tlv_type, tlv_length, subtlv_type, subtlv_length; u_int priority_level, te_class, count_srlg; union { /* int to float conversion buffer for several subTLVs */ - float f; + float f; u_int32_t i; } bw; @@ -294,7 +289,7 @@ ospf_print_te_lsa (const u_int8_t *tptr, u_int ls_length) { tlv_length = EXTRACT_16BITS(tptr+2); tptr+=4; ls_length-=4; - + printf("\n\t %s TLV (%u), length: %u", tok2str(lsa_opaque_te_tlv_values,"unknown",tlv_type), tlv_type, @@ -324,12 +319,12 @@ ospf_print_te_lsa (const u_int8_t *tptr, u_int ls_length) { subtlv_length = EXTRACT_16BITS(tptr+2); tptr+=4; tlv_length-=4; - + printf("\n\t %s subTLV (%u), length: %u", tok2str(lsa_opaque_te_link_tlv_subtlv_values,"unknown",subtlv_type), subtlv_type, subtlv_length); - + TCHECK2(*tptr, subtlv_length); switch(subtlv_type) { case LS_OPAQUE_TE_LINK_SUBTLV_ADMIN_GROUP: @@ -416,7 +411,7 @@ ospf_print_te_lsa (const u_int8_t *tptr, u_int ls_length) { default: if (vflag <= 1) { - if(!print_unknown_data(tptr,"\n\t\t",subtlv_length)) + if(!print_unknown_data(gndo,tptr,"\n\t\t",subtlv_length)) return -1; } break; @@ -424,13 +419,13 @@ ospf_print_te_lsa (const u_int8_t *tptr, u_int ls_length) { /* in OSPF everything has to be 32-bit aligned, including subTLVs */ if (subtlv_length%4 != 0) subtlv_length+=4-(subtlv_length%4); - + tlv_length-=subtlv_length; tptr+=subtlv_length; - + } break; - + case LS_OPAQUE_TE_TLV_ROUTER: if (tlv_length < 4) { printf("\n\t TLV length %u < 4", tlv_length); @@ -439,10 +434,10 @@ ospf_print_te_lsa (const u_int8_t *tptr, u_int ls_length) { TCHECK2(*tptr, 4); printf(", %s", ipaddr_string(tptr)); break; - + default: if (vflag <= 1) { - if(!print_unknown_data(tptr,"\n\t ",tlv_length)) + if(!print_unknown_data(gndo,tptr,"\n\t ",tlv_length)) return -1; } break; @@ -494,7 +489,7 @@ ospf_print_lshdr(register const struct lsa_hdr *lshp) *(&lshp->un_lsa_id.opaque_field.opaque_type)), *(&lshp->un_lsa_id.opaque_field.opaque_type), EXTRACT_24BITS(&lshp->un_lsa_id.opaque_field.opaque_id) - + ); break; @@ -538,7 +533,7 @@ ospf_print_tos_metrics(const union un_tos *tos) /* * All but the first metric contain a valid topology id. */ - while (toscount) { + while (toscount) { printf("\n\t\ttopology %s(%u), metric %u", tok2str(ospf_topology_values, "", metric_count ? tos->metrics.tos_type : 0), @@ -592,7 +587,7 @@ ospf_print_lsa(register const struct lsa *lsap) case RLA_TYPE_VIRTUAL: printf("\n\t Virtual Link: Neighbor Router-ID: %s, Interface Address: %s", ipaddr_string(&rlp->link_id), - ipaddr_string(&rlp->link_data)); + ipaddr_string(&rlp->link_data)); break; case RLA_TYPE_ROUTER: @@ -739,7 +734,7 @@ ospf_print_lsa(register const struct lsa *lsap) break; case LS_TYPE_OPAQUE_LL: /* fall through */ - case LS_TYPE_OPAQUE_AL: + case LS_TYPE_OPAQUE_AL: case LS_TYPE_OPAQUE_DW: switch (*(&lsap->ls_hdr.un_lsa_id.opaque_field.opaque_type)) { @@ -756,7 +751,7 @@ ospf_print_lsa(register const struct lsa *lsap) tlv_length = EXTRACT_16BITS(tptr+2); tptr+=4; ls_length-=4; - + printf("\n\t %s TLV (%u), length: %u, value: ", tok2str(lsa_opaque_ri_tlv_values,"unknown",tlv_type), tlv_type, @@ -780,7 +775,7 @@ ospf_print_lsa(register const struct lsa *lsap) break; default: if (vflag <= 1) { - if(!print_unknown_data(tptr,"\n\t ",tlv_length)) + if(!print_unknown_data(gndo,tptr,"\n\t ",tlv_length)) return(ls_end); } break; @@ -807,21 +802,21 @@ ospf_print_lsa(register const struct lsa *lsap) default: if (vflag <= 1) { - if(!print_unknown_data((u_int8_t *)lsap->lsa_un.un_unknown, + if(!print_unknown_data(gndo,(u_int8_t *)lsap->lsa_un.un_unknown, "\n\t ", ls_length)) return(ls_end); - } + } break; } } /* do we want to see an additionally hexdump ? */ if (vflag> 1) - if(!print_unknown_data((u_int8_t *)lsap->lsa_un.un_unknown, + if(!print_unknown_data(gndo,(u_int8_t *)lsap->lsa_un.un_unknown, "\n\t ", ls_length)) { return(ls_end); } - + return (ls_end); trunc: return (NULL); @@ -1015,7 +1010,7 @@ ospf_decode_v2(register const struct ospfhdr *op, ipaddr_string(&lsrp->un_ls_stateid.ls_stateid)); break; } - + ++lsrp; } break;