aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorXin Long <lucien.xin@gmail.com>2018-07-27 04:37:28 -0400
committerDavid S. Miller <davem@davemloft.net>2018-07-29 15:37:06 -0400
commit5cbf777cfdf6e5a7b7149006e4881a255da78fdd (patch)
treeae012b8fd609fdc7768819f156aa397a12611619 /include/uapi/linux
parentd0c1f01138c4b7e532889474e3f2a485546d7270 (diff)
route: add support for directed broadcast forwarding
This patch implements the feature described in rfc1812#section-5.3.5.2 and rfc2644. It allows the router to forward directed broadcast when sysctl bc_forwarding is enabled. Note that this feature could be done by iptables -j TEE, but it would cause some problems: - target TEE's gateway param has to be set with a specific address, and it's not flexible especially when the route wants forward all directed broadcasts. - this duplicates the directed broadcasts so this may cause side effects to applications. Besides, to keep consistent with other os router like BSD, it's also necessary to implement it in the route rx path. Note that route cache needs to be flushed when bc_forwarding is changed. Signed-off-by: Xin Long <lucien.xin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/ip.h1
-rw-r--r--include/uapi/linux/netconf.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/uapi/linux/ip.h b/include/uapi/linux/ip.h
index b24a742beae5..e42d13b55cf3 100644
--- a/include/uapi/linux/ip.h
+++ b/include/uapi/linux/ip.h
@@ -168,6 +168,7 @@ enum
168 IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN, 168 IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN,
169 IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST, 169 IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
170 IPV4_DEVCONF_DROP_GRATUITOUS_ARP, 170 IPV4_DEVCONF_DROP_GRATUITOUS_ARP,
171 IPV4_DEVCONF_BC_FORWARDING,
171 __IPV4_DEVCONF_MAX 172 __IPV4_DEVCONF_MAX
172}; 173};
173 174
diff --git a/include/uapi/linux/netconf.h b/include/uapi/linux/netconf.h
index c84fcdfca862..fac4edd55379 100644
--- a/include/uapi/linux/netconf.h
+++ b/include/uapi/linux/netconf.h
@@ -18,6 +18,7 @@ enum {
18 NETCONFA_PROXY_NEIGH, 18 NETCONFA_PROXY_NEIGH,
19 NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, 19 NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN,
20 NETCONFA_INPUT, 20 NETCONFA_INPUT,
21 NETCONFA_BC_FORWARDING,
21 __NETCONFA_MAX 22 __NETCONFA_MAX
22}; 23};
23#define NETCONFA_MAX (__NETCONFA_MAX - 1) 24#define NETCONFA_MAX (__NETCONFA_MAX - 1)