diff --git a/include/net.h b/include/net.h index 2551516..69dceb1 100644 --- a/include/net.h +++ b/include/net.h @@ -185,15 +185,16 @@ struct e802_hdr { /* * Ethernet header */ -typedef struct { +struct vlan_ethernet_hdr { uchar vet_dest[6]; /* Destination node */ uchar vet_src[6]; /* Source node */ ushort vet_vlan_type; /* PROT_VLAN */ ushort vet_tag; /* TAG of VLAN */ ushort vet_type; /* protocol type */ -} VLAN_Ethernet_t; +}; -#define VLAN_ETHER_HDR_SIZE 18 /* VLAN Ethernet header size */ +/* VLAN Ethernet header size */ +#define VLAN_ETHER_HDR_SIZE (sizeof(struct vlan_ethernet_hdr)) #define PROT_IP 0x0800 /* IP protocol */ #define PROT_ARP 0x0806 /* IP ARP protocol */ diff --git a/net/net.c b/net/net.c index 33de399..6d34254 100644 --- a/net/net.c +++ b/net/net.c @@ -909,7 +909,8 @@ NetReceive(uchar *inpkt, int len) len -= ETHER_HDR_SIZE; } else { /* VLAN packet */ - VLAN_Ethernet_t *vet = (VLAN_Ethernet_t *)et; + struct vlan_ethernet_hdr *vet = + (struct vlan_ethernet_hdr *)et; debug("VLAN packet received\n"); @@ -1232,7 +1233,8 @@ NetSetEther(uchar *xet, uchar * addr, uint prot) et->et_protlen = htons(prot); return ETHER_HDR_SIZE; } else { - VLAN_Ethernet_t *vet = (VLAN_Ethernet_t *)xet; + struct vlan_ethernet_hdr *vet = + (struct vlan_ethernet_hdr *)xet; vet->vet_vlan_type = htons(PROT_VLAN); vet->vet_tag = htons((0 << 5) | (myvlanid & VLAN_IDMASK));