I've encountered this issue as well, I ended up working around it by creating bridges that have those vlans as their bridge port. This way the bridge stays up to dnsmasq even when I take one of these vlans down.

On 8/4/23 09:24, shashikumar Shashi wrote:
Hi,

Observing that dnsmasq (version 2.80) is offering DHCP IP to the client from a vlan pool which is in DOWN state.

E.g. If there are 3 dhcp pools

vlan9 (State UP) : Range: 192.168.9.1-192.168.9.254

vlan19 (State UP): Range: 192.168.19.1-192.168.19.254

vlan99 (State DOWN): Range: 192.168.99.1-192.168.99.254

1) Client on vlan9 gets IP from vlan9 pool

2) Client moves to vlan19, releases IP

3) Client on vlan19 requests IP --> dnsmasq offers IP 192.168.99.xx from vlan99 pool (incorrect pool), instead of vlan19 pool.

If the vlan99 is in UP state, then dnsmasq offers the IP from the vlan19 pool (the correct pool).

If dnsmasq is rebuilt by commenting out the following code block from dhcp_reply function, then in the above case, dnsmasq offers IP from the vlan19 pool (the correct pool) even if vlan99 is DOWN.

code block -->

/* guess the netmask for relayed networks */

          if (!(context_tmp->flags & CONTEXT_NETMASK) && context_tmp->netmask.s_addr == 0)

            {

              if (IN_CLASSA(ntohl(context_tmp->start.s_addr)) && IN_CLASSA(ntohl(context_tmp->end.s_addr)))

                netmask.s_addr = htonl(0xff000000);

              else if (IN_CLASSB(ntohl(context_tmp->start.s_addr)) && IN_CLASSB(ntohl(context_tmp->end.s_addr)))

                netmask.s_addr = htonl(0xffff0000);

              else if (IN_CLASSC(ntohl(context_tmp->start.s_addr)) && IN_CLASSC(ntohl(context_tmp->end.s_addr)))

                netmask.s_addr = htonl(0xffffff00);

            }

Has anyone come across such an issue?



Thanks,

Shashi


_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

Reply via email to