next_protocol = *bp;
bp += 1;
- vni = EXTRACT_24BITS(bp);
+ vni = EXTRACT_BE_U_3(bp);
bp += 4;
ND_PRINT((ndo, "VXLAN-GPE, "));
switch (next_protocol) {
case 0x1:
- ip_print(ndo, bp, len - 8);
+ ip_print(ndo, bp, len - VXLAN_GPE_HDR_LEN);
break;
case 0x2:
- ip6_print(ndo, bp, len - 8);
+ ip6_print(ndo, bp, len - VXLAN_GPE_HDR_LEN);
break;
case 0x3:
- ether_print(ndo, bp, len - 8, len - 8, NULL, NULL);
+ ether_print(ndo, bp, len - VXLAN_GPE_HDR_LEN, ndo->ndo_snapend - bp, NULL, NULL);
break;
case 0x4:
- nsh_print(ndo, bp, len - 8);
+ nsh_print(ndo, bp, len - VXLAN_GPE_HDR_LEN);
break;
case 0x5:
- mpls_print(ndo, bp, len - 8);
+ mpls_print(ndo, bp, len - VXLAN_GPE_HDR_LEN);
break;
default:
ND_PRINT((ndo, "ERROR: unknown-next-protocol"));