void gre_print(netdissect_options *ndo, const u_char *bp, u_int length) { u_int len = length, vers; ND_TCHECK_2(bp); if (len < 2) goto trunc; vers = EXTRACT_BE_U_2(bp) & GRE_VERS_MASK; ND_PRINT("GREv%u",vers); switch(vers) { case 0: gre_print_0(ndo, bp, len); break; case 1: gre_print_1(ndo, bp, len); break; default: ND_PRINT(" ERROR: unknown-version"); break; } return; trunc: ND_PRINT("%s", tstr); return; }
void gre_print(const u_char *bp, u_int length) { u_int len = length, vers; if (len < 2) { printf("[|gre]"); return; } vers = EXTRACT_16BITS(bp) & GRE_VERS_MASK; printf("GREv%u",vers); switch(vers) { case 0: gre_print_0(bp, len); break; case 1: gre_print_1(bp, len); break; default: printf(" ERROR: unknown-version"); break; } return; }
void gre_print(netdissect_options *ndo, const u_char *bp, u_int length) { u_int len = length, vers; if (len < 2) { ND_PRINT((ndo, "%s", tstr)); return; } vers = EXTRACT_16BITS(bp) & GRE_VERS_MASK; ND_PRINT((ndo, "GREv%u",vers)); switch(vers) { case 0: gre_print_0(ndo, bp, len); break; case 1: gre_print_1(ndo, bp, len); break; default: ND_PRINT((ndo, " ERROR: unknown-version")); break; } }