dhcrelay4: add support for up/downstream interfaces

dhcrelay has the ability to monitor interfaces for requests
in a single direction only rather than listening to all
interfaces for requests.

Doing this allows one to suppress the duplication of having
the relay forward requests from the same network that the
DHCP server is on.

Signed-off-by: Brian J. Murrell <brian@interlinx.bc.ca>
This commit is contained in:
Brian J. Murrell 2018-01-07 10:44:19 -05:00
parent c750f17fff
commit 93420826ab
3 changed files with 15 additions and 1 deletions

View File

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=isc-dhcp
UPSTREAM_NAME:=dhcp
PKG_VERSION:=4.4.0
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE

View File

@ -7,6 +7,8 @@ config dhcrelay ipv4
# network interfaces to listen on (e.g. lan or wan)
option 'interfaces' ''
option 'upstream_interfaces' ''
option 'downstream_interfaces' ''
# What to do about packets that already have a relay option:
# 'append': Forward and append our own relay option

View File

@ -25,6 +25,18 @@ start() {
append args "-i $ifname"
fi
done
config_get interfaces ipv4 upstream_interfaces
for net in $interfaces; do
if network_get_device ifname "$net"; then
append args "-iu $ifname"
fi
done
config_get interfaces ipv4 downstream_interfaces
for net in $interfaces; do
if network_get_device ifname "$net"; then
append args "-id $ifname"
fi
done
# link selection sub-option (RFC3527)
local link_selection