/* \summary: Open Shortest Path First (OSPF) printer */
-#ifdef HAVE_CONFIG_H
#include <config.h>
-#endif
#include "netdissect-stdinc.h"
return 0;
trunc:
+ nd_print_trunc(ndo);
return -1;
}
{
u_int subtlv_type, subtlv_length;
u_int priority_level, te_class, count_srlg;
- float bw;
while (tlv_length != 0) {
if (tlv_length < 4) {
ND_PRINT(" != 4");
goto invalid;
}
- bw = GET_BE_F_4(tptr);
- ND_PRINT(", %.3f Mbps", bw * 8 / 1000000);
+ ND_PRINT(", %.3f Mbps", GET_BE_F_4(tptr) * 8 / 1000000);
break;
case LS_OPAQUE_TE_LINK_SUBTLV_UNRES_BW:
if (subtlv_length != 32) {
goto invalid;
}
for (te_class = 0; te_class < 8; te_class++) {
- bw = GET_BE_F_4(tptr + te_class * 4);
ND_PRINT("\n\t\tTE-Class %u: %.3f Mbps",
te_class,
- bw * 8 / 1000000);
+ GET_BE_F_4(tptr + te_class * 4) * 8 / 1000000);
}
break;
case LS_OPAQUE_TE_LINK_SUBTLV_BW_CONSTRAINTS:
}
/* decode BCs until the subTLV ends */
for (te_class = 0; te_class < (subtlv_length-4)/4; te_class++) {
- bw = GET_BE_F_4(tptr + 4 + te_class * 4);
ND_PRINT("\n\t\t Bandwidth constraint CT%u: %.3f Mbps",
te_class,
- bw * 8 / 1000000);
+ GET_BE_F_4(tptr + 4 + te_class * 4) * 8 / 1000000);
}
break;
case LS_OPAQUE_TE_LINK_SUBTLV_TE_METRIC:
ND_PRINT("\n\t\tLSP Encoding: %s\n\t\tMax LSP Bandwidth:",
tok2str(gmpls_encoding_values, "Unknown", GET_U_1((tptr + 1))));
for (priority_level = 0; priority_level < 8; priority_level++) {
- bw = GET_BE_F_4(tptr + 4 + (priority_level * 4));
ND_PRINT("\n\t\t priority level %u: %.3f Mbps",
priority_level,
- bw * 8 / 1000000);
+ GET_BE_F_4(tptr + 4 + (priority_level * 4)) * 8 / 1000000);
}
break;
case LS_OPAQUE_TE_LINK_SUBTLV_LINK_TYPE:
}
return 0;
trunc:
+ nd_print_trunc(ndo);
return -1;
invalid:
nd_print_invalid(ndo);
}
return 0;
trunc:
+ nd_print_trunc(ndo);
return -1;
invalid:
nd_print_invalid(ndo);
return (ls_end);
trunc:
+ nd_print_trunc(ndo);
return (NULL);
}