<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hello,</div><div class=""><br class=""></div><div class="">I’m facing an issue on dhcp_release and dnsmasq in OpenStack and would appreciate any help or pointers to find the root cause.</div><div class=""><br class=""></div><div class="">Summary:</div><div class="">dnsmasq is receiving if_nametoindex("lo”) instead of 1939, the index for tap2bb5e1af-d3 that was issued by dhcp_release command.</div><div class=""><br class=""></div><div class="">The DHCP RELEASE packet is sent fine, and dnsmasq receives it. However, the release actually never happens because dnsmasq receives it as it was sent by loopback interface “lo”, index 1. This is observed in the recvmsg from dnsmasq:</div><div class="">ipi_ifindex=if_nametoindex("lo”), opposed to a working environment (x86), where I see ipi_ifindex=230, the right index for the tap interface.</div><div class=""><br class=""></div><div class="">I am manually reproducing OpenStack commands for dhcp_release with:</div><div class="">  * strace -s 1024 ip netns exec qdhcp-6a28b963-4729-441a-ba86-cf8424a0ee1a ./dhcp_release tap2bb5e1af-d3 10.1.0.7 fa:16:3e:af:1a:c4</div><div class="">  * ip netns exec qdhcp-6a28b963-4729-441a-ba86-cf8424a0ee1a tcpdump -i lo udp -nnvvXSs 1514</div><div class="">  * strace -s 1024 ip netns exec qdhcp-6a28b963-4729-441a-ba86-cf8424a0ee1a dnsmasq -d --no-hosts  --strict-order --except-interface=lo --pid-file=/opt/stack/data/neutron/dhcp/6a28b963-4729-441a-ba86-cf8424a0ee1a/pid --dhcp-hostsfile=/opt/stack/data/neutron/dhcp/6a28b963-4729-441a-ba86-cf8424a0ee1a/host --addn-hosts=/opt/stack/data/neutron/dhcp/6a28b963-4729-441a-ba86-cf8424a0ee1a/addn_hosts --dhcp-optsfile=/opt/stack/data/neutron/dhcp/6a28b963-4729-441a-ba86-cf8424a0ee1a/opts --dhcp-leasefile=/opt/stack/data/neutron/dhcp/6a28b963-4729-441a-ba86-cf8424a0ee1a/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tap2bb5e1af-d3 --dhcp-range=set:tag0,10.1.0.0,static,86400s --dhcp-option-force=option:mtu,1450 --dhcp-lease-max=16 --conf-file= --domain=openstacklocal</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">dhcp_release:</div><div class=""><br class=""></div><div class="">ioctl(5, SIOCGIFINDEX, {ifr_name="tap2bb5e1af-d3", }) = 0</div><div class="">write(2, "====> ifa->ifa_index = 1939", 27====> ifa->ifa_index = 1939) = 27</div><div class="">sendto(3, "\1\1\6\0\0\0\0\0\0\0\0\0\n\1\0\7\0\0\0\0\0\0\0\0\0\0\0\0\372\26>\257\32\304\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0c\202Sc5\1\0076\4\n\1\0\2\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 548, 0, {sa_family=AF_INET, sin_port=htons(67), sin_addr=inet_addr("10.1.0.2")}, 16) = 548</div><div class=""><br class=""></div><div class="">dnsmasq:</div><div class="">recvmsg(4, {msg_name(16)={sa_family=AF_INET, sin_port=htons(39180), sin_addr=inet_addr("10.1.0.2")}, msg_iov(1)=[{"\1\1\6\0\0\0\0\0\0\0\0\0\n\1\0\7\0\0\0\0\0\0\0\0\0\0\0\0\372\26>\257\32\304\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0c\202Sc5\1\0076\4\n\1\0\2\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 548}], msg_controllen=32, [{cmsg_len=28, cmsg_level=SOL_IP, cmsg_type=IP_PKTINFO, {ipi_ifindex=if_nametoindex("lo"), ipi_spec_dst=inet_addr("10.1.0.2"), ipi_addr=inet_addr("10.1.0.2")}}], msg_flags=0}, MSG_PEEK|MSG_TRUNC) = 548</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class=""># ip netns exec qdhcp-6a28b963-4729-441a-ba86-cf8424a0ee1a ip a</div><div class="">1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1</div><div class="">    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00</div><div class="">    inet 127.0.0.1/8 scope host lo</div><div class="">       valid_lft forever preferred_lft forever</div><div class="">    inet6 ::1/128 scope host</div><div class="">       valid_lft forever preferred_lft forever</div><div class="">1939: tap2bb5e1af-d3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000</div><div class="">    link/ether fa:16:3e:a5:be:29 brd ff:ff:ff:ff:ff:ff</div><div class="">    inet 10.1.0.2/28 brd 10.1.0.15 scope global tap2bb5e1af-d3</div><div class="">       valid_lft forever preferred_lft forever</div><div class="">    inet6 fe80::f816:3eff:fea5:be29/64 scope link</div><div class="">       valid_lft forever preferred_lft forever</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Additional info:</div><div class="">I’m facing this issue with dhcp_release and dnsmasq in OpenStack (process bound to device) running on Ubuntu (ppc64le arch).</div><div class=""><br class=""></div><div class="">Any thoughts on what could be happening ?</div><div class=""><br class=""></div><div class="">Thanks!!</div><div class=""><br class=""></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Rafael Folco<br class="">OpenStack<br class="">IBM Linux Technology Center</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><br class="Apple-interchange-newline">

</div>
<br class=""></body></html>