dhcrelay4: add support for up/downstream interfaces
authorBrian J. Murrell <brian@interlinx.bc.ca>
Sun, 7 Jan 2018 15:44:19 +0000 (10:44 -0500)
committerBrian J. Murrell <brian@interlinx.bc.ca>
Thu, 12 Apr 2018 02:08:26 +0000 (22:08 -0400)
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>
net/isc-dhcp/Makefile
net/isc-dhcp/files/dhcrelay.conf
net/isc-dhcp/files/dhcrelay4.init

index ed4ca7052a76ec6748302b5f4fada45566b57cf1..63087d3e13c31f75e0d0c4b541399717f2b7213a 100644 (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
index b3b53b516780e4bc7b2744d95e676e5b852b80fc..8d3ddfe1c8250699d38806efd050dbb7b1a72054 100644 (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
index 64d82281ef42b58ff212a96ff72128088efe91f8..0f401a5ca8844b75c98b382b7d9e5222284928bc 100644 (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