mirror of https://github.com/hak5/openwrt-owl.git
netifd: update dhcp.script to handle dynamic routing
Certain DHCP servers push a gateway outside of the assigned interface subnet, to support those situations, install a host route towards the gateway. If Gateway and IP are served in same network, openwrt quagga cannot learn routes (rip routes are not getting added, showing inactive) whereas working fine when Gateway and IP are in different network. Signed-off-by: Mogula Pranay <mogula.pranay@nxp.com> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>owl
parent
18f49449b0
commit
012d20eebe
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=netifd
|
PKG_NAME:=netifd
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL=$(LEDE_GIT)/project/netifd.git
|
PKG_SOURCE_URL=$(LEDE_GIT)/project/netifd.git
|
||||||
|
|
|
@ -18,9 +18,15 @@ setup_interface () {
|
||||||
proto_add_ipv4_address "$ip" "${subnet:-255.255.255.0}"
|
proto_add_ipv4_address "$ip" "${subnet:-255.255.255.0}"
|
||||||
# TODO: apply $broadcast
|
# TODO: apply $broadcast
|
||||||
|
|
||||||
|
local ip_net
|
||||||
|
eval "$(ipcalc.sh "$ip/$mask")";ip_net="$NETWORK"
|
||||||
|
|
||||||
local i
|
local i
|
||||||
for i in $router; do
|
for i in $router; do
|
||||||
proto_add_ipv4_route "$i" 32 "" "$ip"
|
local gw_net
|
||||||
|
eval "$(ipcalc.sh "$i/$mask")";gw_net="$NETWORK"
|
||||||
|
|
||||||
|
[ "$ip_net" != "$gw_net" ] && proto_add_ipv4_route "$i" 32 "" "$ip"
|
||||||
proto_add_ipv4_route 0.0.0.0 0 "$i" "$ip"
|
proto_add_ipv4_route 0.0.0.0 0 "$i" "$ip"
|
||||||
|
|
||||||
local r
|
local r
|
||||||
|
|
Loading…
Reference in New Issue