History

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.

Xin Long committed 8 years ago

Commit 5cbf7771 parent d0c1f015 files · +19 −1Browse files

Showing the changes to include/uapi/linux (2 of 5 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/ip.h +1 −0
  2. include/uapi/linux/netconf.h +1 −0
include/uapi/linux/ip.h+1−0
@@ -168,6 +168,7 @@ enum · 167 unmodified lines
168168 IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN,
169169 IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
170170 IPV4_DEVCONF_DROP_GRATUITOUS_ARP,
171+ IPV4_DEVCONF_BC_FORWARDING,
171172 __IPV4_DEVCONF_MAX
172173 };
173174
include/uapi/linux/netconf.h+1−0
@@ -18,6 +18,7 @@ enum { · 17 unmodified lines
1818 NETCONFA_PROXY_NEIGH,
1919 NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN,
2020 NETCONFA_INPUT,
21+ NETCONFA_BC_FORWARDING,
2122 __NETCONFA_MAX
2223 };
2324 #define NETCONFA_MAX (__NETCONFA_MAX - 1)