mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-26 12:27:12 +00:00
net: cosmetic: Do not use magic values for ARP_HLEN
Commit 674bb24982
("net: cosmetic: Replace magic numbers in arp.c with
constants") introduced a nice define to replace the magic value 6 for
the ethernet hardware address. Replace more hardcoded instances of 6
which really reference the ARP_HLEN (iow the MAC/Hardware/Ethernet
address).
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
6d2c1d26ee
commit
a40db6d511
4 changed files with 38 additions and 36 deletions
|
@ -473,7 +473,7 @@ void fdt_fixup_ethernet(void *fdt)
|
||||||
char *tmp, *end;
|
char *tmp, *end;
|
||||||
char mac[16];
|
char mac[16];
|
||||||
const char *path;
|
const char *path;
|
||||||
unsigned char mac_addr[6];
|
unsigned char mac_addr[ARP_HLEN];
|
||||||
int offset;
|
int offset;
|
||||||
|
|
||||||
if (fdt_path_offset(fdt, "/aliases") < 0)
|
if (fdt_path_offset(fdt, "/aliases") < 0)
|
||||||
|
|
|
@ -38,6 +38,9 @@
|
||||||
|
|
||||||
#define PKTALIGN ARCH_DMA_MINALIGN
|
#define PKTALIGN ARCH_DMA_MINALIGN
|
||||||
|
|
||||||
|
/* ARP hardware address length */
|
||||||
|
#define ARP_HLEN 6
|
||||||
|
|
||||||
/* IPv4 addresses are always 32 bits in size */
|
/* IPv4 addresses are always 32 bits in size */
|
||||||
struct in_addr {
|
struct in_addr {
|
||||||
__be32 s_addr;
|
__be32 s_addr;
|
||||||
|
@ -90,7 +93,7 @@ enum eth_state_t {
|
||||||
*/
|
*/
|
||||||
struct eth_pdata {
|
struct eth_pdata {
|
||||||
phys_addr_t iobase;
|
phys_addr_t iobase;
|
||||||
unsigned char enetaddr[6];
|
unsigned char enetaddr[ARP_HLEN];
|
||||||
int phy_interface;
|
int phy_interface;
|
||||||
int max_speed;
|
int max_speed;
|
||||||
};
|
};
|
||||||
|
@ -161,7 +164,7 @@ void eth_halt_state_only(void); /* Set passive state */
|
||||||
#ifndef CONFIG_DM_ETH
|
#ifndef CONFIG_DM_ETH
|
||||||
struct eth_device {
|
struct eth_device {
|
||||||
char name[16];
|
char name[16];
|
||||||
unsigned char enetaddr[6];
|
unsigned char enetaddr[ARP_HLEN];
|
||||||
phys_addr_t iobase;
|
phys_addr_t iobase;
|
||||||
int state;
|
int state;
|
||||||
|
|
||||||
|
@ -300,9 +303,9 @@ u32 ether_crc(size_t len, unsigned char const *p);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct ethernet_hdr {
|
struct ethernet_hdr {
|
||||||
u8 et_dest[6]; /* Destination node */
|
u8 et_dest[ARP_HLEN]; /* Destination node */
|
||||||
u8 et_src[6]; /* Source node */
|
u8 et_src[ARP_HLEN]; /* Source node */
|
||||||
u16 et_protlen; /* Protocol or length */
|
u16 et_protlen; /* Protocol or length */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Ethernet header size */
|
/* Ethernet header size */
|
||||||
|
@ -311,16 +314,16 @@ struct ethernet_hdr {
|
||||||
#define ETH_FCS_LEN 4 /* Octets in the FCS */
|
#define ETH_FCS_LEN 4 /* Octets in the FCS */
|
||||||
|
|
||||||
struct e802_hdr {
|
struct e802_hdr {
|
||||||
u8 et_dest[6]; /* Destination node */
|
u8 et_dest[ARP_HLEN]; /* Destination node */
|
||||||
u8 et_src[6]; /* Source node */
|
u8 et_src[ARP_HLEN]; /* Source node */
|
||||||
u16 et_protlen; /* Protocol or length */
|
u16 et_protlen; /* Protocol or length */
|
||||||
u8 et_dsap; /* 802 DSAP */
|
u8 et_dsap; /* 802 DSAP */
|
||||||
u8 et_ssap; /* 802 SSAP */
|
u8 et_ssap; /* 802 SSAP */
|
||||||
u8 et_ctl; /* 802 control */
|
u8 et_ctl; /* 802 control */
|
||||||
u8 et_snap1; /* SNAP */
|
u8 et_snap1; /* SNAP */
|
||||||
u8 et_snap2;
|
u8 et_snap2;
|
||||||
u8 et_snap3;
|
u8 et_snap3;
|
||||||
u16 et_prot; /* 802 protocol */
|
u16 et_prot; /* 802 protocol */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 802 + SNAP + ethernet header size */
|
/* 802 + SNAP + ethernet header size */
|
||||||
|
@ -330,11 +333,11 @@ struct e802_hdr {
|
||||||
* Virtual LAN Ethernet header
|
* Virtual LAN Ethernet header
|
||||||
*/
|
*/
|
||||||
struct vlan_ethernet_hdr {
|
struct vlan_ethernet_hdr {
|
||||||
u8 vet_dest[6]; /* Destination node */
|
u8 vet_dest[ARP_HLEN]; /* Destination node */
|
||||||
u8 vet_src[6]; /* Source node */
|
u8 vet_src[ARP_HLEN]; /* Source node */
|
||||||
u16 vet_vlan_type; /* PROT_VLAN */
|
u16 vet_vlan_type; /* PROT_VLAN */
|
||||||
u16 vet_tag; /* TAG of VLAN */
|
u16 vet_tag; /* TAG of VLAN */
|
||||||
u16 vet_type; /* protocol type */
|
u16 vet_type; /* protocol type */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* VLAN Ethernet header size */
|
/* VLAN Ethernet header size */
|
||||||
|
@ -405,7 +408,6 @@ struct arp_hdr {
|
||||||
# define ARP_ETHER 1 /* Ethernet hardware address */
|
# define ARP_ETHER 1 /* Ethernet hardware address */
|
||||||
u16 ar_pro; /* Format of protocol address */
|
u16 ar_pro; /* Format of protocol address */
|
||||||
u8 ar_hln; /* Length of hardware address */
|
u8 ar_hln; /* Length of hardware address */
|
||||||
# define ARP_HLEN 6
|
|
||||||
u8 ar_pln; /* Length of protocol address */
|
u8 ar_pln; /* Length of protocol address */
|
||||||
# define ARP_PLEN 4
|
# define ARP_PLEN 4
|
||||||
u16 ar_op; /* Operation */
|
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_hostname[32]; /* Our hostname */
|
||||||
extern char net_root_path[64]; /* Our root path */
|
extern char net_root_path[64]; /* Our root path */
|
||||||
/** END OF BOOTP EXTENTIONS **/
|
/** END OF BOOTP EXTENTIONS **/
|
||||||
extern u8 net_ethaddr[6]; /* Our ethernet address */
|
extern u8 net_ethaddr[ARP_HLEN]; /* Our ethernet address */
|
||||||
extern u8 net_server_ethaddr[6]; /* Boot server enet 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_ip; /* Our IP addr (0 = unknown) */
|
||||||
extern struct in_addr net_server_ip; /* Server 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_tx_packet; /* THE transmit packet */
|
||||||
extern uchar *net_rx_packets[PKTBUFSRX]; /* Receive packets */
|
extern uchar *net_rx_packets[PKTBUFSRX]; /* Receive packets */
|
||||||
extern uchar *net_rx_packet; /* Current receive packet */
|
extern uchar *net_rx_packet; /* Current receive packet */
|
||||||
extern int net_rx_packet_len; /* Current rx packet length */
|
extern int net_rx_packet_len; /* Current rx packet length */
|
||||||
extern const u8 net_bcast_ethaddr[6]; /* Ethernet broadcast address */
|
extern const u8 net_bcast_ethaddr[ARP_HLEN]; /* Ethernet broadcast address */
|
||||||
extern const u8 net_null_ethaddr[6];
|
extern const u8 net_null_ethaddr[ARP_HLEN];
|
||||||
|
|
||||||
#define VLAN_NONE 4095 /* untagged */
|
#define VLAN_NONE 4095 /* untagged */
|
||||||
#define VLAN_IDMASK 0x0fff /* mask of valid vlan id */
|
#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)
|
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
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -230,7 +230,7 @@ static int on_ethaddr(const char *name, const char *value, enum env_op op,
|
||||||
eth_write_hwaddr(dev);
|
eth_write_hwaddr(dev);
|
||||||
break;
|
break;
|
||||||
case env_op_delete:
|
case env_op_delete:
|
||||||
memset(pdata->enetaddr, 0, 6);
|
memset(pdata->enetaddr, 0, ARP_HLEN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -458,7 +458,7 @@ static int eth_post_probe(struct udevice *dev)
|
||||||
{
|
{
|
||||||
struct eth_device_priv *priv = dev->uclass_priv;
|
struct eth_device_priv *priv = dev->uclass_priv;
|
||||||
struct eth_pdata *pdata = dev->platdata;
|
struct eth_pdata *pdata = dev->platdata;
|
||||||
unsigned char env_enetaddr[6];
|
unsigned char env_enetaddr[ARP_HLEN];
|
||||||
|
|
||||||
#if defined(CONFIG_NEEDS_MANUAL_RELOC)
|
#if defined(CONFIG_NEEDS_MANUAL_RELOC)
|
||||||
struct eth_ops *ops = eth_get_ops(dev);
|
struct eth_ops *ops = eth_get_ops(dev);
|
||||||
|
@ -497,7 +497,7 @@ static int eth_post_probe(struct udevice *dev)
|
||||||
eth_getenv_enetaddr_by_index("eth", dev->seq, env_enetaddr);
|
eth_getenv_enetaddr_by_index("eth", dev->seq, env_enetaddr);
|
||||||
if (!is_zero_ethaddr(env_enetaddr)) {
|
if (!is_zero_ethaddr(env_enetaddr)) {
|
||||||
if (!is_zero_ethaddr(pdata->enetaddr) &&
|
if (!is_zero_ethaddr(pdata->enetaddr) &&
|
||||||
memcmp(pdata->enetaddr, env_enetaddr, 6)) {
|
memcmp(pdata->enetaddr, env_enetaddr, ARP_HLEN)) {
|
||||||
printf("\nWarning: %s MAC addresses don't match:\n",
|
printf("\nWarning: %s MAC addresses don't match:\n",
|
||||||
dev->name);
|
dev->name);
|
||||||
printf("Address in SROM is %pM\n",
|
printf("Address in SROM is %pM\n",
|
||||||
|
@ -507,7 +507,7 @@ static int eth_post_probe(struct udevice *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Override the ROM MAC address */
|
/* Override the ROM MAC address */
|
||||||
memcpy(pdata->enetaddr, env_enetaddr, 6);
|
memcpy(pdata->enetaddr, env_enetaddr, ARP_HLEN);
|
||||||
} else if (is_valid_ethaddr(pdata->enetaddr)) {
|
} else if (is_valid_ethaddr(pdata->enetaddr)) {
|
||||||
eth_setenv_enetaddr_by_index("eth", dev->seq, pdata->enetaddr);
|
eth_setenv_enetaddr_by_index("eth", dev->seq, pdata->enetaddr);
|
||||||
printf("\nWarning: %s using MAC address from ROM\n",
|
printf("\nWarning: %s using MAC address from ROM\n",
|
||||||
|
@ -535,7 +535,7 @@ static int eth_pre_remove(struct udevice *dev)
|
||||||
eth_get_ops(dev)->stop(dev);
|
eth_get_ops(dev)->stop(dev);
|
||||||
|
|
||||||
/* clear the MAC address */
|
/* clear the MAC address */
|
||||||
memset(pdata->enetaddr, 0, 6);
|
memset(pdata->enetaddr, 0, ARP_HLEN);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,7 +121,7 @@ static int on_ethaddr(const char *name, const char *value, enum env_op op,
|
||||||
eth_write_hwaddr(dev, "eth", dev->index);
|
eth_write_hwaddr(dev, "eth", dev->index);
|
||||||
break;
|
break;
|
||||||
case env_op_delete:
|
case env_op_delete:
|
||||||
memset(dev->enetaddr, 0, 6);
|
memset(dev->enetaddr, 0, ARP_HLEN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dev = dev->next;
|
dev = dev->next;
|
||||||
|
@ -134,14 +134,14 @@ U_BOOT_ENV_CALLBACK(ethaddr, on_ethaddr);
|
||||||
int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
|
int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
|
||||||
int eth_number)
|
int eth_number)
|
||||||
{
|
{
|
||||||
unsigned char env_enetaddr[6];
|
unsigned char env_enetaddr[ARP_HLEN];
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr);
|
eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr);
|
||||||
|
|
||||||
if (!is_zero_ethaddr(env_enetaddr)) {
|
if (!is_zero_ethaddr(env_enetaddr)) {
|
||||||
if (!is_zero_ethaddr(dev->enetaddr) &&
|
if (!is_zero_ethaddr(dev->enetaddr) &&
|
||||||
memcmp(dev->enetaddr, env_enetaddr, 6)) {
|
memcmp(dev->enetaddr, env_enetaddr, ARP_HLEN)) {
|
||||||
printf("\nWarning: %s MAC addresses don't match:\n",
|
printf("\nWarning: %s MAC addresses don't match:\n",
|
||||||
dev->name);
|
dev->name);
|
||||||
printf("Address in SROM is %pM\n",
|
printf("Address in SROM is %pM\n",
|
||||||
|
@ -150,7 +150,7 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
|
||||||
env_enetaddr);
|
env_enetaddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(dev->enetaddr, env_enetaddr, 6);
|
memcpy(dev->enetaddr, env_enetaddr, ARP_HLEN);
|
||||||
} else if (is_valid_ethaddr(dev->enetaddr)) {
|
} else if (is_valid_ethaddr(dev->enetaddr)) {
|
||||||
eth_setenv_enetaddr_by_index(base_name, eth_number,
|
eth_setenv_enetaddr_by_index(base_name, eth_number,
|
||||||
dev->enetaddr);
|
dev->enetaddr);
|
||||||
|
@ -299,7 +299,7 @@ int eth_initialize(void)
|
||||||
*/
|
*/
|
||||||
int eth_mcast_join(struct in_addr mcast_ip, int join)
|
int eth_mcast_join(struct in_addr mcast_ip, int join)
|
||||||
{
|
{
|
||||||
u8 mcast_mac[6];
|
u8 mcast_mac[ARP_HLEN];
|
||||||
if (!eth_current || !eth_current->mcast)
|
if (!eth_current || !eth_current->mcast)
|
||||||
return -1;
|
return -1;
|
||||||
mcast_mac[5] = htonl(mcast_ip.s_addr) & 0xff;
|
mcast_mac[5] = htonl(mcast_ip.s_addr) & 0xff;
|
||||||
|
|
Loading…
Add table
Reference in a new issue