[Openstack] DHCP issues with SR-IOV networking

Moshe Levi moshele at mellanox.com
Thu Apr 23 17:39:34 UTC 2015


Your configuration is fine for compute node.
My explanation was for the network node where your dhcp agent is running.  
So you just need that physical interface for physnet1 in your network node  to be connected to ovs-bridge.



-----Original Message-----
From: jacob jacob [mailto:opstkusr at gmail.com] 
Sent: Thursday, April 23, 2015 7:12 PM
To: Moshe Levi
Cc: openstack at lists.openstack.org
Subject: Re: [Openstack] DHCP issues with SR-IOV networking

I followed the wiki for the setup and did the following to configure the nw and subnet.

neutron net-create --provider:physical_network=physnet1
--provider:network_type=vlan sriovnw

neutron subnet-create sriovnw 10.24.1.0/24 --name sriovsnw--allocation-pool start=10.24.1.20,end=10.24.1.30

neutron port-create sriovnw --binding:vnic-type direct --name vm-port

In this case the physical interface for physnet1 is not connected to any ovs-bridge.

In this case the dhcp port bind fails as indicated above while the vm-port bind works as expected.
Is this not a valid configuration?

On Thu, Apr 23, 2015 at 11:25 AM, Moshe Levi <moshele at mellanox.com> wrote:
> No, ml2 sriov mechanism drivers allow binding only  direct and macvtap port.
> dhcp port is normal port, meaning it a tap interface which, ml2-ovs know how to bind.
> (There is no reason to waste vf for only dhcp usage)
>
> I think you are facing different problem.
>
> First of all  check that the your dhcp port is bonded by the ovs-ml2.
> Second I will check that the physical interface of the vf is part of the  ovs-physical bridge.
>
> The flow should be as follow:
> The vm send broadcast message via  vf so it will also will get to physical interface of the vf.
> Because the physical interface of the vf is in the ovs-physical bridge 
> the message will go also to the integration bridge Now because the dhcp tap is also part of  integration bridge the message will get to dnsmasq (dhcp-server).
>
> I would suggest to tcpdump the physical interface see the broadcast messages arrived from the vf.
> After that do tcpdump on br-int and see broadcast messages arrived form ovs-physical bridge.
>
>
>
>
>
>
> -----Original Message-----
> From: jacob jacob [mailto:opstkusr at gmail.com]
> Sent: Thursday, April 23, 2015 5:11 PM
> To: Moshe Levi
> Cc: openstack at lists.openstack.org
> Subject: Re: [Openstack] DHCP issues with SR-IOV networking
>
> Thanks for the response.
>
> I have both openvswitch and sriovnicswitch mechanism drivers specified.
> I also have both the NIC Switch Agent and Open vSwitch agent running.
>
>
> Since this subnet configuration is for the sr-iov network, shouldn't the binding be done by the NIC switch agent?
>
>  None None^[[00;32m] ^[[01;35m^[[00;32mAttempting to bind port
> 550a0b5f-35b5-4441-a0ad-5ae60c6b8a94 on network 
> 069a56a1-253d-4d2b-bef9-3c11f454bde2^[[00m ^[[00;33mfrom (pid=204025) 
> bind_port 
> /opt/stack/neutron/neutron/plugins/ml2/drivers/mech_sriov/mech_driver.
> py:97^[[00m
> 2015-04-21 14:33:18.759 ^[[00;32mDEBUG 
> neutron.plugins.ml2.drivers.mech_sriov.mech_driver
> [^[[01;36mreq-e3cd2b74-03f2-4b1a-b514-54119c57ac5d ^[[00;36mNone 
> None^[[00;32m] ^[[01;35m^[[00;32mRefusing to bind due to unsupported
> vnic_type: normal^[[00m ^[[00;33mfrom (pid=204025) bind_port 
> /opt/stack/neutron/neutron/plugins/ml2/drivers/mech_sriov/mech_driver.
> py:102^[[00m
>
> On Thu, Apr 23, 2015 at 4:19 AM, Moshe Levi <moshele at mellanox.com> wrote:
>> The openvswitch agent should be able to bind the port.
>>
>> Can you check that you have in ml2 conf mechaniscm_drivers = 
>> openvswitch,sriovnicswitch
>>
>> also check that  the openvswitch agent is running on your network node.
>>
>>
>> -----Original Message-----
>> From: jacob jacob [mailto:opstkusr at gmail.com]
>> Sent: Wednesday, April 22, 2015 10:16 PM
>> To: openstack at lists.openstack.org
>> Subject: [Openstack] DHCP issues with SR-IOV networking
>>
>> Hi,
>>
>> I was able to setup SR-IOV passthrough using the following wiki:
>>    https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking
>>
>> Created a neutron network and added subnet with dhcp enabled.
>> Ports created from this network are bound to VFs as expected.
>>
>> But the IP assignment on this network isn't working since the dhcp port bind isn't successful.
>>
>> Attached Device
>>
>> ________________________________
>> Device Owner network:dhcp
>> Device ID
>> dhcp5ce901c9-dac9-5417-8f6f-8e3787eff230-069a56a1-253d-4d2b-bef9-3c11
>> f
>> 454bde2
>>
>> Binding
>>
>> ________________________________
>> Host host1.tst.com
>> Profile None
>> VIF Type binding failed
>> VIF Details None
>> VNIC Type normal
>>
>>
>> The issue seems to be that the binding is being attempted as nic type normal instead of direct.
>>
>> Would really appreciate any pointers on how to address this problem.
>>
>> _______________________________________________
>> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>> Post to     : openstack at lists.openstack.org
>> Unsubscribe :
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


More information about the Openstack mailing list