Test Host/desktop: Linux dystantest 4.2.0-42-generic #49~14.04.1-Ubuntu SMP Wed Jun 29 20:22:11 UTC 2016 x86_64 x86_64 x86_64 GNU/LinuxRNDIS Device/Gadget: Linux colibri-imx6 3.14.52-v2.6b2+g7c83cef #1 SMP Wed Jun 29 15:57:37 CEST 2016 armv7l GNU/LinuxLet's say I have a system of multiple embedded boxes with 6 identical RNDIS usb gadget devices in each. The default /etc/systemd/network/rndis.network file looks like this:[Match]Type=gadget[Network] Address=192.168.11.1/24 DHCPServer=yesSo, we're basically just turning on the dhcpd and hardcoding the boot address to 11.1. I can't find a dhcpd process anywhere, and my vendor tells me it's an intrinsic part of systemd - no /etc/dhcpd.conf, no other config files I can find except the ones that belong to systemd.The main problem is, I can't have N x 6 devices all hardcoded to 11.1. So my embedded app on these devices changes the IP to something like 192.168.serialnum.channelnum.So far, so good. Only problem is that if I release/renew on my ubuntu system, it still always gets an IP of 192.168.11.X, not 192.168.serialnum.XSo, clearly the intrinsic dhcpd is still picking up the subnet from the initial configuration file, not from the actual IP of the interface used at whatever time a new lease is requested from a client.I can't find any docs anywhere on changing this. I know regular servers are supposed to keep their IP from bootup, but this is an embedded device, so it has to behave differently and have a semi-dynamic IP on the dhcp server system. The [DHCPServer] section of the systemd docs does not specify anything that would make it dynamic, nor any dhcpd.service file which would alow me to restart the dhcp server, in order to make it use the new subnet.I could put the dhcp server on the ubuntu machine instead of the embedded gadget machine, but that's going to create a support ~nightmare~ for my win32 customers, so that's a non-starter.I could pay one of our techs to manually set up the IP in the rndis.network file on every single channel of every system we make, but that also seems silly when I have a server all set here if I can just make it follow whatever the current subnet is when giving out new leases.
systemd intrinsic dhcp server gives leases on old subnet when local IP changes
systemd;dhcp