[SRU][B/D] Ensure /proc/sys/net/bridge folders (dis)appear appropriately
Connor Kuehl
connor.kuehl at canonical.com
Fri Jul 26 00:20:46 UTC 2019
Note: Bionic required two additional patches in order for these to apply cleanly, one
of which required minor backporting to use the updated wrappers/symbols.
BugLink: https://bugs.launchpad.net/bugs/1836910
Justification taken from the link above ^
SRU Justification
Impact: Currently, the /proc/sys/net/bridge folder is only created in the initial network namespace.
This blocks use-cases where users would like to e.g. not do bridge filtering for bridges in a specific
network namespace while doing so for bridges located in another network namespace.
Fix: The patches linked below ensure that the /proc/sys/net/bridge folder is available in each network
namespace if the module is loaded and disappears from all network namespaces when the module is unloaded.
In doing so the patch makes the sysctls:
bridge-nf-call-arptables
bridge-nf-call-ip6tables
bridge-nf-call-iptables
bridge-nf-filter-pppoe-tagged
bridge-nf-filter-vlan-tagged
bridge-nf-pass-vlan-input-dev
apply per network namespace.
Regression Potential: None, since this didn't use to work before. Otherwise limited to the br_netfilter module.
The netfilter rules are afaict already per network namespace so it should be safe for users to specify whether
bridge devices inside a network namespace are supposed to go through iptables et al. or not. Also, this can
already be done per-bridge by setting an option for each individual bridge via Netlink. It should also be
possible to do this for all bridges in a network namespace via sysctls.
Test Case: Tested with LXD on a kernel with the patches applied and per-network namespace iptables.
More information about the kernel-team
mailing list