Merge branch 'net-evaluate-net-ipvX-conf-all-sysctls'
Vincent Bernat says: ==================== net: evaluate net.ipvX.conf.all.* sysctls Some per-interface sysctls are ignoring the "all" variant. This patchset fixes some of them when such a sysctl is handled as a boolean. This includes: - net.ipvX.conf.all.disable_policy - net.ipvX.conf.all.disable_policy.disable_xfrm - net.ipv4.conf.all.proxy_arp_pvlan - net.ipvX.conf.all.ignore_routes_with_linkdown Two sysctls are still ignoring the "all" variant as it wouldn't make much sense for them: - net.ipv4.conf.all.tag - net.ipv4.conf.all.medium_id Ideally, the "all" variant should be removed, but there is no simple alternative to DEVINET_SYSCTL_* macros that would allow one to not expose and "all" entry. ==================== Link: https://lore.kernel.org/r/20201107193515.1469030-1-vincent@bernat.ch Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
fc8f29b35c
@ -1554,6 +1554,9 @@ igmpv3_unsolicited_report_interval - INTEGER
|
||||
|
||||
Default: 1000 (1 seconds)
|
||||
|
||||
ignore_routes_with_linkdown - BOOLEAN
|
||||
Ignore routes whose link is down when performing a FIB lookup.
|
||||
|
||||
promote_secondaries - BOOLEAN
|
||||
When a primary IP address is removed from this interface
|
||||
promote a corresponding secondary IP address instead of
|
||||
|
@ -105,7 +105,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
|
||||
|
||||
#define IN_DEV_LOG_MARTIANS(in_dev) IN_DEV_ORCONF((in_dev), LOG_MARTIANS)
|
||||
#define IN_DEV_PROXY_ARP(in_dev) IN_DEV_ORCONF((in_dev), PROXY_ARP)
|
||||
#define IN_DEV_PROXY_ARP_PVLAN(in_dev) IN_DEV_CONF_GET(in_dev, PROXY_ARP_PVLAN)
|
||||
#define IN_DEV_PROXY_ARP_PVLAN(in_dev) IN_DEV_ORCONF((in_dev), PROXY_ARP_PVLAN)
|
||||
#define IN_DEV_SHARED_MEDIA(in_dev) IN_DEV_ORCONF((in_dev), SHARED_MEDIA)
|
||||
#define IN_DEV_TX_REDIRECTS(in_dev) IN_DEV_ORCONF((in_dev), SEND_REDIRECTS)
|
||||
#define IN_DEV_SEC_REDIRECTS(in_dev) IN_DEV_ORCONF((in_dev), \
|
||||
@ -126,7 +126,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
|
||||
IN_DEV_ORCONF((in_dev), ACCEPT_REDIRECTS)))
|
||||
|
||||
#define IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN(in_dev) \
|
||||
IN_DEV_CONF_GET((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
|
||||
IN_DEV_ORCONF((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
|
||||
|
||||
#define IN_DEV_ARPFILTER(in_dev) IN_DEV_ORCONF((in_dev), ARPFILTER)
|
||||
#define IN_DEV_ARP_ACCEPT(in_dev) IN_DEV_ORCONF((in_dev), ARP_ACCEPT)
|
||||
|
@ -1741,7 +1741,7 @@ static int ip_route_input_mc(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
flags |= RTCF_LOCAL;
|
||||
|
||||
rth = rt_dst_alloc(dev_net(dev)->loopback_dev, flags, RTN_MULTICAST,
|
||||
IN_DEV_CONF_GET(in_dev, NOPOLICY), false);
|
||||
IN_DEV_ORCONF(in_dev, NOPOLICY), false);
|
||||
if (!rth)
|
||||
return -ENOBUFS;
|
||||
|
||||
@ -1857,8 +1857,8 @@ static int __mkroute_input(struct sk_buff *skb,
|
||||
}
|
||||
|
||||
rth = rt_dst_alloc(out_dev->dev, 0, res->type,
|
||||
IN_DEV_CONF_GET(in_dev, NOPOLICY),
|
||||
IN_DEV_CONF_GET(out_dev, NOXFRM));
|
||||
IN_DEV_ORCONF(in_dev, NOPOLICY),
|
||||
IN_DEV_ORCONF(out_dev, NOXFRM));
|
||||
if (!rth) {
|
||||
err = -ENOBUFS;
|
||||
goto cleanup;
|
||||
@ -2227,7 +2227,7 @@ local_input:
|
||||
|
||||
rth = rt_dst_alloc(l3mdev_master_dev_rcu(dev) ? : net->loopback_dev,
|
||||
flags | RTCF_LOCAL, res->type,
|
||||
IN_DEV_CONF_GET(in_dev, NOPOLICY), false);
|
||||
IN_DEV_ORCONF(in_dev, NOPOLICY), false);
|
||||
if (!rth)
|
||||
goto e_nobufs;
|
||||
|
||||
@ -2450,8 +2450,8 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
|
||||
|
||||
add:
|
||||
rth = rt_dst_alloc(dev_out, flags, type,
|
||||
IN_DEV_CONF_GET(in_dev, NOPOLICY),
|
||||
IN_DEV_CONF_GET(in_dev, NOXFRM));
|
||||
IN_DEV_ORCONF(in_dev, NOPOLICY),
|
||||
IN_DEV_ORCONF(in_dev, NOXFRM));
|
||||
if (!rth)
|
||||
return ERR_PTR(-ENOBUFS);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user