예제 #1
0
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;
}
예제 #2
0
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;

}
예제 #3
0
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;
        }
}