patch-2.4.22 linux-2.4.22/drivers/net/myri_sbus.c
Next file: linux-2.4.22/drivers/net/ne2k-pci.c
Previous file: linux-2.4.22/drivers/net/macsonic.c
Back to the patch index
Back to the overall index
- Lines: 27
- Date:
2003-08-25 04:44:42.000000000 -0700
- Orig file:
linux-2.4.21/drivers/net/myri_sbus.c
- Orig date:
2002-08-02 17:39:44.000000000 -0700
diff -urN linux-2.4.21/drivers/net/myri_sbus.c linux-2.4.22/drivers/net/myri_sbus.c
@@ -764,10 +764,14 @@
int myri_header_cache(struct neighbour *neigh, struct hh_cache *hh)
{
unsigned short type = hh->hh_type;
- unsigned char *pad = (unsigned char *) hh->hh_data;
- struct ethhdr *eth = (struct ethhdr *) (pad + MYRI_PAD_LEN);
+ unsigned char *pad;
+ struct ethhdr *eth;
struct net_device *dev = neigh->dev;
+ pad = ((unsigned char *) hh->hh_data) +
+ HH_DATA_OFF(sizeof(*eth) + MYRI_PAD_LEN);
+ eth = (struct ethhdr *) (pad + MYRI_PAD_LEN);
+
if (type == __constant_htons(ETH_P_802_3))
return -1;
@@ -786,7 +790,8 @@
/* Called by Address Resolution module to notify changes in address. */
void myri_header_cache_update(struct hh_cache *hh, struct net_device *dev, unsigned char * haddr)
{
- memcpy(((u8*)hh->hh_data) + 2, haddr, dev->addr_len);
+ memcpy(((u8*)hh->hh_data) + HH_DATA_OFF(sizeof(struct ethhdr)),
+ haddr, dev->addr_len);
}
static int myri_change_mtu(struct net_device *dev, int new_mtu)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)