Packet flow in linux-bridge environment

asked 2017-02-18 22:29:43 -0500

DarkKnight gravatar image

I wanted to understand the packet flow in neutron. The scenario is particularly the case where an instance receives an IP address from the DHCP process running on the controller node.

One of my instances was not getting an IP address to its eth0 interface. Upon debugging, i found out in '/var/log/messages' that it didnot receive a DHCP Offer.

So i started capturing bootp packets on all the interfaces.

1) Ran dhclient on the VM. 2) Captured Bootp packets on the tap interface on compute node 3) Captured Bootp packets on the brq interface on compute node. [linux bridge -newton install openstack] 4) captured bootp packets on vxlan-85 interface on compute node.

All these dumps had the packets. Then i figured out the physical interface on the compute node that establishes the tunnel network. I checked the "/etc/neutron/plugins/ml2/linuxbridgeagent.ini" file and in the [vxlan] section, checked for the physical interface whose IP was listed in the [vxlan] section.

When i tried a tcpdump on this physical interface , i saw no packets.

So i wanted to understand what is the packet flow route? Why should i not expect these bootp packets on the physical interfaces on the compute and the controller machines which are configured in the [vxlan] section in the "/etc/neutron/plugins/ml2/linuxbridgeagent.ini" file?

edit retag flag offensive close merge delete

Comments

A packet trace on that physical interface won't reveal DHCP (or BOOTP) packets, since they are encapsulated in VXLAN packets. You have to filter for VXLAN, for example tcpdump -i ethX udp port 4789. tcpdump will interpret VXLAN packets and show you the DHCP payload they contain.

Bernd Bausch gravatar imageBernd Bausch ( 2017-02-19 02:49:17 -0500 )edit

I tried capturing VXLAN packets on the physical interface on port 4789. Gives me nothing. I did a network restart on the VM, but still didnot receive any packets on the physical interface

DarkKnight gravatar imageDarkKnight ( 2017-02-19 22:21:03 -0500 )edit

According to https://docs.openstack.org/newton/net..., the DHCP server may be on the same compute node as your VM. This would explain why packets don't leave the node. If not I am, unfortunately, at my wits' end.

Bernd Bausch gravatar imageBernd Bausch ( 2017-02-20 00:27:30 -0500 )edit

I now read that your DHCP server is on the controller, but perhaps it also runs on the compute node?

Bernd Bausch gravatar imageBernd Bausch ( 2017-02-20 00:29:04 -0500 )edit

There is no DHCP agent running on compute node in my case. But i would like you to confirm if my understanding of packets flow is correct or not. Thanks in advance!

DarkKnight gravatar imageDarkKnight ( 2017-02-20 06:07:13 -0500 )edit