New Question

Revision history [back]

click to hide/show revision 1
initial version

Hi Chandra,

For comparison this is the Neutron Ml2 Devstack configuration that we use in our tests: https://github.com/cloudbase/openstack-hyperv-release-tests/blob/master/local.conf#L71-L81

If the Devstack configuration is correct, here are the troubleshooting steps that we usually apply when hunting for networking issues.

The following steps require a VM booted with one single vnic attached to the private network.

nova show <vm_name>

Make sure that the vNIC is attached to the private network

neutron net-show <private_network_name>

Make sure that the network type is VLAN and that the segmentation id (vlan tag) is correct.

On the Hyper-V side:

Check if the Neutron agent assigned the VLAN tag to the VM's vNIC:

Get-VMNetworkAdapterVLAN instance-*

Check if your ethernet card driver allows VLAN traffic. This unfortunately depends on the card manufacturer.

For Intel cards, check this KB article: http://www.intel.com/support/network/sb/CS-005897.htm

We prepared this simple PowerShell script that checks the registry automatically: https://bitbucket.org/cloudbase/vlanfilter-check/raw/edef901a16c6b54fd04c6b2d3359c56f5927dab2/modifyRegistry.ps1

For other ethernet cards manufacturer, you can refer to the info available here, look for the "Windows" section: http://wiki.wireshark.org/CaptureSetup/VLAN

Login in your guest:

Get-VM instance-* | Get-VMConsole

Assuming that you didn't receive a DHCP address, assign manually the address returned from the "nova show" command previously executed, e.g.

sudo ifconfig eth0 10.0.0.2 netmask 255.255.255.0 up

Ping the router address, e.g.:

ping 10.0.0.1

If you are getting replies, the network is ok, but the DHCP service needs to be troubleshooted.

On the other side, assuming that you didn't get any ping reply, let ping running to be able to monitor the traffic in the following steps.

On the neutron L3 server (the Devstack node in your case):

Replace eth1 in the following tcpdump command with the data interface name, this is the interface connected to the network where the Hyper-V vswitch is connected as well.

sudo tcpdump -i eth1 -vv -e -n

If there's no traffic, make sure the Hyper-V vswitch and the Linux adapter are connected to the right network.

If there is traffic, Make sure that in the output the 802.1Q tag is present, otherwise it means that either the Hyper-V or the Linux ethernet card drivers are stripping the tag.

If this is the case, look at the card configuration:

sudo ethtool -k eth1

Disable VLAN offloading (note that -K is uppercase now).:

sudo ethtool -K eth1 rxvlan off
sudo ethtool -K eth1 txvlan off

At this point, if you can see traffic flowing (typically unanswered ARP requests) but still no ping replies, it's time to look at the namespaces. I'll add the steps for this as soon as you can confirm what results you obtained from the above troubleshooting steps.

Please let me know if this helps.

Thanks!