aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/irda/irlan_eth.h1
-rw-r--r--net/irda/irlan/irlan_common.c10
-rw-r--r--net/irda/irlan/irlan_eth.c33
3 files changed, 0 insertions, 44 deletions
diff --git a/include/net/irda/irlan_eth.h b/include/net/irda/irlan_eth.h
index 0062347600b9..de5c81691f33 100644
--- a/include/net/irda/irlan_eth.h
+++ b/include/net/irda/irlan_eth.h
@@ -29,5 +29,4 @@ struct net_device *alloc_irlandev(const char *name);
29int irlan_eth_receive(void *instance, void *sap, struct sk_buff *skb); 29int irlan_eth_receive(void *instance, void *sap, struct sk_buff *skb);
30 30
31void irlan_eth_flow_indication( void *instance, void *sap, LOCAL_FLOW flow); 31void irlan_eth_flow_indication( void *instance, void *sap, LOCAL_FLOW flow);
32void irlan_eth_send_gratuitous_arp(struct net_device *dev);
33#endif 32#endif
diff --git a/net/irda/irlan/irlan_common.c b/net/irda/irlan/irlan_common.c
index 75bb6a9dcaaa..9a1cd87e7142 100644
--- a/net/irda/irlan/irlan_common.c
+++ b/net/irda/irlan/irlan_common.c
@@ -54,13 +54,6 @@
54#include <net/irda/irlan_filter.h> 54#include <net/irda/irlan_filter.h>
55 55
56 56
57/*
58 * Send gratuitous ARP when connected to a new AP or not. May be a clever
59 * thing to do, but for some reason the machine crashes if you use DHCP. So
60 * lets not use it by default.
61 */
62#undef CONFIG_IRLAN_SEND_GRATUITOUS_ARP
63
64/* extern char sysctl_devname[]; */ 57/* extern char sysctl_devname[]; */
65 58
66/* 59/*
@@ -393,9 +386,6 @@ static void irlan_connect_confirm(void *instance, void *sap,
393 /* Ready to transfer Ethernet frames */ 386 /* Ready to transfer Ethernet frames */
394 netif_start_queue(self->dev); 387 netif_start_queue(self->dev);
395 self->disconnect_reason = 0; /* Clear reason */ 388 self->disconnect_reason = 0; /* Clear reason */
396#ifdef CONFIG_IRLAN_SEND_GRATUITOUS_ARP
397 irlan_eth_send_gratuitous_arp(&self->dev);
398#endif
399 wake_up_interruptible(&self->open_wait); 389 wake_up_interruptible(&self->open_wait);
400} 390}
401 391
diff --git a/net/irda/irlan/irlan_eth.c b/net/irda/irlan/irlan_eth.c
index 7a6b14ab1e7f..05112be99569 100644
--- a/net/irda/irlan/irlan_eth.c
+++ b/net/irda/irlan/irlan_eth.c
@@ -289,39 +289,6 @@ void irlan_eth_flow_indication(void *instance, void *sap, LOCAL_FLOW flow)
289} 289}
290 290
291/* 291/*
292 * Function irlan_etc_send_gratuitous_arp (dev)
293 *
294 * Send gratuitous ARP to announce that we have changed
295 * hardware address, so that all peers updates their ARP tables
296 */
297void irlan_eth_send_gratuitous_arp(struct net_device *dev)
298{
299#ifdef CONFIG_INET
300 struct in_device *in_dev;
301
302 /*
303 * When we get a new MAC address do a gratuitous ARP. This
304 * is useful if we have changed access points on the same
305 * subnet.
306 */
307 IRDA_DEBUG(4, "IrLAN: Sending gratuitous ARP\n");
308 rcu_read_lock();
309 in_dev = __in_dev_get_rcu(dev);
310 if (in_dev == NULL)
311 goto out;
312 if (in_dev->ifa_list)
313
314 arp_send(ARPOP_REQUEST, ETH_P_ARP,
315 in_dev->ifa_list->ifa_address,
316 dev,
317 in_dev->ifa_list->ifa_address,
318 NULL, dev->dev_addr, NULL);
319out:
320 rcu_read_unlock();
321#endif /* CONFIG_INET */
322}
323
324/*
325 * Function set_multicast_list (dev) 292 * Function set_multicast_list (dev)
326 * 293 *
327 * Configure the filtering of the device 294 * Configure the filtering of the device