I was having troubles getting dnsmasq to be a simple DHCP relay/forwarder/proxy and I didn’t want to add this into the ARP relay C code to keep that as simple as possible so I wrote this little Python script that will basically bridge 2 interfaces together (one that has DHCP clients on it and one that is connected to the DHCP server [1 main server running for the whole network]).
I stored this in the ARP-relay GIT repo I created prior since it is related to the same bridged setup:
https://github.com/stoops/arprb/blob/master/dhcprb.py?ts=4
An example usage & output from running it so far:
root@OpenWRT:~# python dhcprb.py br-wan wlan0 ('00:be:ee:ca:fe:00', '192.168.17.51', '<-->', '00:be:ee:ca:fe:ff', '192.168.16.51') ... request-> ('0.0.0.0', 68) [304] {wlan0} <-reply ('192.168.16.1', 67) [300] {br-wan:192.168.16.131} ... request-> ('0.0.0.0', 68) [300] {wlan0} <-reply ('192.168.16.1', 67) [300] {br-wan:192.168.16.153} ...