diff options
| author | David S. Miller <davem@davemloft.net> | 2016-09-19 08:25:30 +0300 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2016-09-19 08:25:30 +0300 |
| commit | 8ddda65315f08b1273095edc1afab4872ea22fe5 (patch) | |
| tree | 3ea819d38ad4fbbae8d4db166f58451c2a78ee20 /include/linux | |
| parent | a5ea31f573098d39e6b29327d01c986607e118cb (diff) | |
| parent | 4fbae7d83c98c30efcf0a2a2ac55fbb75ef5a1a5 (diff) | |
| download | linux-8ddda65315f08b1273095edc1afab4872ea22fe5.tar.xz | |
Merge branch 'ipvlan-l3'
Mahesh Bandewar says:
====================
IPvlan introduce l3s mode
Same old problem with new approach especially from suggestions from
earlier patch-series.
First thing is that this is introduced as a new mode rather than
modifying the old (L3) mode. So the behavior of the existing modes is
preserved as it is and the new L3s mode obeys iptables so that intended
conn-tracking can work.
To do this, the code uses newly added l3mdev_rcv() handler and an
Iptables hook. l3mdev_rcv() to perform an inbound route lookup with the
correct (IPvlan slave) interface and then IPtable-hook at LOCAL_INPUT
to change the input device from master to the slave to complete the
formality.
Supporting stack changes are trivial changes to export symbol to get
IPv4 equivalent code exported for IPv6 and to allow netfilter hook
registration code to allow caller to hold RTNL. Please look into
individual patches for details.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/netfilter.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index 9230f9aee896..e82b76781bf6 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h @@ -133,6 +133,8 @@ int nf_register_hook(struct nf_hook_ops *reg); void nf_unregister_hook(struct nf_hook_ops *reg); int nf_register_hooks(struct nf_hook_ops *reg, unsigned int n); void nf_unregister_hooks(struct nf_hook_ops *reg, unsigned int n); +int _nf_register_hooks(struct nf_hook_ops *reg, unsigned int n); +void _nf_unregister_hooks(struct nf_hook_ops *reg, unsigned int n); /* Functions to register get/setsockopt ranges (non-inclusive). You need to check permissions yourself! */ |
