lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [patch #5824] gratuitous ARP


From: Frédéric Bernon
Subject: [lwip-devel] [patch #5824] gratuitous ARP
Date: Mon, 26 Mar 2007 20:35:45 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3

URL:
  <http://savannah.nongnu.org/patch/?5824>

                 Summary: gratuitous ARP
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: fbernon
            Submitted on: lundi 26.03.2007 à 22:35
                Category: None
                Priority: 3 - Low
                  Status: None
                 Privacy: Public
             Assigned to: fbernon
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

I would like to reactivate the "gratuitous ARP". In netif.c, in
netif_set_ipaddr(), we can see :

#if 0 /* only allowed for Ethernet interfaces TODO: how can we check? */
  /** For Ethernet network interfaces, we would like to send a
   *  "gratuitous ARP"; this is an ARP packet sent by a node in order
   *  to spontaneously cause other nodes to update an entry in their
   *  ARP cache. From RFC 3220 "IP Mobility Support for IPv4" section 4.6.
   */ 
  etharp_query(netif, ipaddr, NULL);
#endif

So, my idea will be to add in netif.h a new flag like this :

/** if set, the netif is an device using ARP */
#define NETIF_FLAG_ETHARP 0x20U

Each driver would have to declare if it can do "gratuitous ARP" when prepare
the netif (like for the NETIF_FLAG_BROADCAST flag).

So, we could check if we have to send a "gratuitous ARP" like that :

if ((netif->flags & NETIF_FLAG_ETHARP) == 0)

Note that, of course, etharp_init have to be called before...






    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/patch/?5824>

_______________________________________________
  Message posté via/par Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]