summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/net.h7
-rw-r--r--net/net.c6
2 files changed, 8 insertions, 5 deletions
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));