diff options
Diffstat (limited to 'pfinet/linux-src/net/ipv4/arp.c')
-rw-r--r-- | pfinet/linux-src/net/ipv4/arp.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/pfinet/linux-src/net/ipv4/arp.c b/pfinet/linux-src/net/ipv4/arp.c index 27d2f802..1e5cf1b1 100644 --- a/pfinet/linux-src/net/ipv4/arp.c +++ b/pfinet/linux-src/net/ipv4/arp.c @@ -194,9 +194,14 @@ int arp_mc_map(u32 addr, u8 *haddr, struct device *dev, int dir) { switch (dev->type) { case ARPHRD_ETHER: - case ARPHRD_IEEE802: case ARPHRD_FDDI: - ip_eth_mc_map(addr, haddr); + ip_eth_mc_map(addr, haddr) ; + return 0 ; + case ARPHRD_IEEE802: + if ( (dev->name[0] == 't') && (dev->name[1] == 'r')) /* Token Ring */ + ip_tr_mc_map(addr,haddr) ; + else + ip_eth_mc_map(addr, haddr); return 0; default: if (dir) { |