ipv4: allow warming up the ARP cache with request type gratuitous ARP
If the per device ARP_ACCEPT option is enable, currently we only allow creating new ARP cache entries for response type gratuitous ARP. Allowing gratuitous ARP to create new ARP entries (not only to update existing ones) is useful when we want to avoid unnecessary delays for the first packet of a stream. This patch allows request type gratuitous ARP to create new ARP cache entries as well. This is useful when we want to populate the ARP cache entries for a large number of hosts on the same LAN. Signed-off-by: Octavian Purdila <opurdila@ixiacom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fa44a73cc7
commit
6d955180b2
2 changed files with 14 additions and 4 deletions
|
@ -907,7 +907,8 @@ static int arp_process(struct sk_buff *skb)
|
|||
devices (strip is candidate)
|
||||
*/
|
||||
if (n == NULL &&
|
||||
arp->ar_op == htons(ARPOP_REPLY) &&
|
||||
(arp->ar_op == htons(ARPOP_REPLY) ||
|
||||
(arp->ar_op == htons(ARPOP_REQUEST) && tip == sip)) &&
|
||||
inet_addr_type(net, sip) == RTN_UNICAST)
|
||||
n = __neigh_lookup(&arp_tbl, &sip, dev, 1);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue