Loading include/linux/inetdevice.h +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ struct ipv4_devconf int arp_filter; int arp_announce; int arp_ignore; int arp_accept; int medium_id; int no_xfrm; int no_policy; Loading include/linux/sysctl.h +1 −0 Original line number Diff line number Diff line Loading @@ -456,6 +456,7 @@ enum NET_IPV4_CONF_ARP_ANNOUNCE=18, NET_IPV4_CONF_ARP_IGNORE=19, NET_IPV4_CONF_PROMOTE_SECONDARIES=20, NET_IPV4_CONF_ARP_ACCEPT=21, __NET_IPV4_CONF_MAX }; Loading net/ipv4/arp.c +10 −10 Original line number Diff line number Diff line Loading @@ -879,7 +879,7 @@ static int arp_process(struct sk_buff *skb) n = __neigh_lookup(&arp_tbl, &sip, dev, 0); #ifdef CONFIG_IP_ACCEPT_UNSOLICITED_ARP if (ipv4_devconf.arp_accept) { /* Unsolicited ARP is not accepted by default. It is possible, that this option should be enabled for some devices (strip is candidate) Loading @@ -888,7 +888,7 @@ static int arp_process(struct sk_buff *skb) arp->ar_op == htons(ARPOP_REPLY) && inet_addr_type(sip) == RTN_UNICAST) n = __neigh_lookup(&arp_tbl, &sip, dev, -1); #endif } if (n) { int state = NUD_REACHABLE; Loading net/ipv4/devinet.c +8 −0 Original line number Diff line number Diff line Loading @@ -1393,6 +1393,14 @@ static struct devinet_sysctl_table { .mode = 0644, .proc_handler = &proc_dointvec, }, { .ctl_name = NET_IPV4_CONF_ARP_ACCEPT, .procname = "arp_accept", .data = &ipv4_devconf.arp_accept, .maxlen = sizeof(int), .mode = 0644, .proc_handler = &proc_dointvec, }, { .ctl_name = NET_IPV4_CONF_NOXFRM, .procname = "disable_xfrm", Loading Loading
include/linux/inetdevice.h +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ struct ipv4_devconf int arp_filter; int arp_announce; int arp_ignore; int arp_accept; int medium_id; int no_xfrm; int no_policy; Loading
include/linux/sysctl.h +1 −0 Original line number Diff line number Diff line Loading @@ -456,6 +456,7 @@ enum NET_IPV4_CONF_ARP_ANNOUNCE=18, NET_IPV4_CONF_ARP_IGNORE=19, NET_IPV4_CONF_PROMOTE_SECONDARIES=20, NET_IPV4_CONF_ARP_ACCEPT=21, __NET_IPV4_CONF_MAX }; Loading
net/ipv4/arp.c +10 −10 Original line number Diff line number Diff line Loading @@ -879,7 +879,7 @@ static int arp_process(struct sk_buff *skb) n = __neigh_lookup(&arp_tbl, &sip, dev, 0); #ifdef CONFIG_IP_ACCEPT_UNSOLICITED_ARP if (ipv4_devconf.arp_accept) { /* Unsolicited ARP is not accepted by default. It is possible, that this option should be enabled for some devices (strip is candidate) Loading @@ -888,7 +888,7 @@ static int arp_process(struct sk_buff *skb) arp->ar_op == htons(ARPOP_REPLY) && inet_addr_type(sip) == RTN_UNICAST) n = __neigh_lookup(&arp_tbl, &sip, dev, -1); #endif } if (n) { int state = NUD_REACHABLE; Loading
net/ipv4/devinet.c +8 −0 Original line number Diff line number Diff line Loading @@ -1393,6 +1393,14 @@ static struct devinet_sysctl_table { .mode = 0644, .proc_handler = &proc_dointvec, }, { .ctl_name = NET_IPV4_CONF_ARP_ACCEPT, .procname = "arp_accept", .data = &ipv4_devconf.arp_accept, .maxlen = sizeof(int), .mode = 0644, .proc_handler = &proc_dointvec, }, { .ctl_name = NET_IPV4_CONF_NOXFRM, .procname = "disable_xfrm", Loading