|
@@ -38,6 +38,9 @@
|
|
|
|
|
|
#define PKTALIGN ARCH_DMA_MINALIGN
|
|
|
|
|
|
+/* ARP hardware address length */
|
|
|
+#define ARP_HLEN 6
|
|
|
+
|
|
|
/* IPv4 addresses are always 32 bits in size */
|
|
|
struct in_addr {
|
|
|
__be32 s_addr;
|
|
@@ -90,7 +93,7 @@ enum eth_state_t {
|
|
|
*/
|
|
|
struct eth_pdata {
|
|
|
phys_addr_t iobase;
|
|
|
- unsigned char enetaddr[6];
|
|
|
+ unsigned char enetaddr[ARP_HLEN];
|
|
|
int phy_interface;
|
|
|
int max_speed;
|
|
|
};
|
|
@@ -161,7 +164,7 @@ void eth_halt_state_only(void); /* Set passive state */
|
|
|
#ifndef CONFIG_DM_ETH
|
|
|
struct eth_device {
|
|
|
char name[16];
|
|
|
- unsigned char enetaddr[6];
|
|
|
+ unsigned char enetaddr[ARP_HLEN];
|
|
|
phys_addr_t iobase;
|
|
|
int state;
|
|
|
|
|
@@ -300,9 +303,9 @@ u32 ether_crc(size_t len, unsigned char const *p);
|
|
|
*/
|
|
|
|
|
|
struct ethernet_hdr {
|
|
|
- u8 et_dest[6]; /* Destination node */
|
|
|
- u8 et_src[6]; /* Source node */
|
|
|
- u16 et_protlen; /* Protocol or length */
|
|
|
+ u8 et_dest[ARP_HLEN]; /* Destination node */
|
|
|
+ u8 et_src[ARP_HLEN]; /* Source node */
|
|
|
+ u16 et_protlen; /* Protocol or length */
|
|
|
};
|
|
|
|
|
|
/* Ethernet header size */
|
|
@@ -311,16 +314,16 @@ struct ethernet_hdr {
|
|
|
#define ETH_FCS_LEN 4 /* Octets in the FCS */
|
|
|
|
|
|
struct e802_hdr {
|
|
|
- u8 et_dest[6]; /* Destination node */
|
|
|
- u8 et_src[6]; /* Source node */
|
|
|
- u16 et_protlen; /* Protocol or length */
|
|
|
- u8 et_dsap; /* 802 DSAP */
|
|
|
- u8 et_ssap; /* 802 SSAP */
|
|
|
- u8 et_ctl; /* 802 control */
|
|
|
- u8 et_snap1; /* SNAP */
|
|
|
+ u8 et_dest[ARP_HLEN]; /* Destination node */
|
|
|
+ u8 et_src[ARP_HLEN]; /* Source node */
|
|
|
+ u16 et_protlen; /* Protocol or length */
|
|
|
+ u8 et_dsap; /* 802 DSAP */
|
|
|
+ u8 et_ssap; /* 802 SSAP */
|
|
|
+ u8 et_ctl; /* 802 control */
|
|
|
+ u8 et_snap1; /* SNAP */
|
|
|
u8 et_snap2;
|
|
|
u8 et_snap3;
|
|
|
- u16 et_prot; /* 802 protocol */
|
|
|
+ u16 et_prot; /* 802 protocol */
|
|
|
};
|
|
|
|
|
|
/* 802 + SNAP + ethernet header size */
|
|
@@ -330,11 +333,11 @@ struct e802_hdr {
|
|
|
* Virtual LAN Ethernet header
|
|
|
*/
|
|
|
struct vlan_ethernet_hdr {
|
|
|
- u8 vet_dest[6]; /* Destination node */
|
|
|
- u8 vet_src[6]; /* Source node */
|
|
|
- u16 vet_vlan_type; /* PROT_VLAN */
|
|
|
- u16 vet_tag; /* TAG of VLAN */
|
|
|
- u16 vet_type; /* protocol type */
|
|
|
+ u8 vet_dest[ARP_HLEN]; /* Destination node */
|
|
|
+ u8 vet_src[ARP_HLEN]; /* Source node */
|
|
|
+ u16 vet_vlan_type; /* PROT_VLAN */
|
|
|
+ u16 vet_tag; /* TAG of VLAN */
|
|
|
+ u16 vet_type; /* protocol type */
|
|
|
};
|
|
|
|
|
|
/* VLAN Ethernet header size */
|
|
@@ -405,7 +408,6 @@ struct arp_hdr {
|
|
|
# define ARP_ETHER 1 /* Ethernet hardware address */
|
|
|
u16 ar_pro; /* Format of protocol address */
|
|
|
u8 ar_hln; /* Length of hardware address */
|
|
|
-# define ARP_HLEN 6
|
|
|
u8 ar_pln; /* Length of protocol address */
|
|
|
# define ARP_PLEN 4
|
|
|
u16 ar_op; /* Operation */
|
|
@@ -514,16 +516,16 @@ extern char net_nis_domain[32]; /* Our IS domain */
|
|
|
extern char net_hostname[32]; /* Our hostname */
|
|
|
extern char net_root_path[64]; /* Our root path */
|
|
|
/** END OF BOOTP EXTENTIONS **/
|
|
|
-extern u8 net_ethaddr[6]; /* Our ethernet address */
|
|
|
-extern u8 net_server_ethaddr[6]; /* Boot server enet address */
|
|
|
+extern u8 net_ethaddr[ARP_HLEN]; /* Our ethernet address */
|
|
|
+extern u8 net_server_ethaddr[ARP_HLEN]; /* Boot server enet address */
|
|
|
extern struct in_addr net_ip; /* Our IP addr (0 = unknown) */
|
|
|
extern struct in_addr net_server_ip; /* Server IP addr (0 = unknown) */
|
|
|
extern uchar *net_tx_packet; /* THE transmit packet */
|
|
|
extern uchar *net_rx_packets[PKTBUFSRX]; /* Receive packets */
|
|
|
extern uchar *net_rx_packet; /* Current receive packet */
|
|
|
extern int net_rx_packet_len; /* Current rx packet length */
|
|
|
-extern const u8 net_bcast_ethaddr[6]; /* Ethernet broadcast address */
|
|
|
-extern const u8 net_null_ethaddr[6];
|
|
|
+extern const u8 net_bcast_ethaddr[ARP_HLEN]; /* Ethernet broadcast address */
|
|
|
+extern const u8 net_null_ethaddr[ARP_HLEN];
|
|
|
|
|
|
#define VLAN_NONE 4095 /* untagged */
|
|
|
#define VLAN_IDMASK 0x0fff /* mask of valid vlan id */
|
|
@@ -562,9 +564,9 @@ extern ushort cdp_appliance_vlan; /* CDP returned appliance VLAN */
|
|
|
*/
|
|
|
static inline int is_cdp_packet(const uchar *ethaddr)
|
|
|
{
|
|
|
- extern const u8 net_cdp_ethaddr[6];
|
|
|
+ extern const u8 net_cdp_ethaddr[ARP_HLEN];
|
|
|
|
|
|
- return memcmp(ethaddr, net_cdp_ethaddr, 6) == 0;
|
|
|
+ return memcmp(ethaddr, net_cdp_ethaddr, ARP_HLEN) == 0;
|
|
|
}
|
|
|
#endif
|
|
|
|