From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from inmumg02.tcs.com (Inmumg02.tcs.com [219.64.33.222]) by dpdk.org (Postfix) with ESMTP id 4413395DC for ; Thu, 4 Feb 2016 15:54:43 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2DPAQDCY7NW/2AKEaxehAxtiFupT4cxAQ2BZiOCOoJmSgKBcBQBAQEBAQEBgQqEQQEBAQQaAQxHCwwEBQYNBAMBAQEhAQYHRgkIEQgRiBiwXQEBAZAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBFYYSgzx7hBo4DAGCfoEPBYdThkWIWWmEYoVPhBAWNIN4iFREhSyEfoNSDw8BAYJFGRSBPGIBAQEBiCYBAQE X-IPAS-Result: A2DPAQDCY7NW/2AKEaxehAxtiFupT4cxAQ2BZiOCOoJmSgKBcBQBAQEBAQEBgQqEQQEBAQQaAQxHCwwEBQYNBAMBAQEhAQYHRgkIEQgRiBiwXQEBAZAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBFYYSgzx7hBo4DAGCfoEPBYdThkWIWWmEYoVPhBAWNIN4iFREhSyEfoNSDw8BAYJFGRSBPGIBAQEBiCYBAQE X-IronPort-AV: E=Sophos;i="5.22,395,1449513000"; d="scan'208,217";a="31147674" X-DISCLAIMER: FALSE MIME-Version: 1.0 Importance: Normal X-Priority: 3 (Normal) In-Reply-To: References: From: Abhijeet Karve To: przemyslaw.czesnowicz@intel.com Message-ID: Date: Thu, 4 Feb 2016 20:24:36 +0530 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" , "discuss@openvswitch.org" Subject: Re: [dpdk-dev] Fw: RE: DPDK vhostuser with vxlan# Does issue with igb_uio in ovs+dpdk setup X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Feb 2016 14:54:44 -0000 Hi All, The issue which we are facing as described in previous threads thats beccau= se of seting up ovs+dpdk with igb=5Fuio driver instead of vfio=5Fpci?=20 Would appriciate if get any suggestions on this. Thanks & Regards Abhijeet Karve To: przemyslaw.czesnowicz@intel.com From: Abhijeet Karve Date: 01/30/2016 07:32PM Cc: "dev@dpdk.org" , "discuss@openvswitch.org" , "Gray, Mark D" Subject: Fw: RE: [dpdk-dev] DPDK vhostuser with vxlan Hi przemek, We have setup vxlan tunnel between our two compute nodes, Can see the traaf= ic in vxlan port on br-tun of source instance's compute node. We are in same situation which is being described in below thread, i looked= dev mailing archieves for it but seems no one has responded it. http://comments.gmane.org/gmane.linux.network.openvswitch.general/9878 Would be really appriciate if provide us any suggestions on it. Thanks & Regards Abhijeet Karve -----Forwarded by on 01/30/2016 07:24PM ----- =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D To: "Czesnowicz, Przemyslaw" From: Abhijeet Karve/AHD/TCS@TCS Date: 01/27/2016 09:52PM=20 Cc: "dev@dpdk.org" , "discuss@openvswitch.org" , "Gray, Mark D" Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# Inter-= VM communication & IP allocation through DHCP issue =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Hi Przemek, Thanks for the quick response. Now able to get the DHCP ip's for 2 vhostus= er instances and able to ping each other. Isssue was a bug in cirros 0.3.0 = images which we were using in openstack after using 0.3.1 image as given in= the URL(https://www.redhat.com/archives/rhos-list/2013-August/msg00032.htm= l), able to get the IP's in vhostuser VM instances. As per our understanding, Packet flow across DPDK datapath will be like vho= stuser ports are connected to the br-int bridge & same is being patched to = the br-dpdk bridge where in our physical network (NIC) is connected with dp= dk0 port.=20 So for testing the flow we have to connect that physical network(NIC) with = external packet generator (e.g - ixia, iperf) & run the testpmd application= in the vhostuser VM, right? Does it required to add any flows/efforts in bridge configurations(either b= r-int or br-dpdk)? Thanks & Regards Abhijeet Karve From: "Czesnowicz, Przemyslaw" To: Abhijeet Karve Cc: "dev@dpdk.org" , "discuss@openvswitch.org" , "Gray, Mark D" Date: 01/27/2016 05:11 PM Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# Inter-V= M communication & IP allocation through DHCP issue Hi Abhijeet, =20 =20 It seems you are almost there!=20 When booting the VM’s do you request hugepage memory for them (by set= ting hw:mem=5Fpage=5Fsize=3Dlarge in flavor extra=5Fspec)? If not then please do, if yes then please look into libvirt logfiles for th= e VM’s (in /var/log/libvirt/qemu/instance-xxx), I think there could b= e a clue. =20 =20 Regards Przemek =20 From: Abhijeet Karve [mailto:abhijeet.karve@tcs.com]=20 Sent: Monday, January 25, 2016 6:13 PM To: Czesnowicz, Przemyslaw Cc: dev@dpdk.org; discuss@openvswitch.org; Gray, Mark D Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# Inter-V= M communication & IP allocation through DHCP issue =20 Hi Przemek,=20 Thank you for your response, It really provided us breakthrough.=20 After setting up DPDK on compute node for stable/kilo, We are trying to set= up Openstack stable/liberty all-in-one setup, At present we are not able t= o get the IP allocation for the vhost type instances through DHCP. Also we = tried assigning IP's manually to them but the inter-VM communication also n= ot happening,=20 #neutron agent-list=20 root@nfv-dpdk-devstack:/etc/neutron# neutron agent-list=20 +--------------------------------------+--------------------+--------------= -----+-------+----------------+---------------------------+=20 | id | agent=5Ftype | host = | alive | admin=5Fstate=5Fup | binary |=20 +--------------------------------------+--------------------+--------------= -----+-------+----------------+---------------------------+=20 | 3b29e93c-3a25-4f7d-bf6c-6bb309db5ec0 | DPDK OVS Agent | nfv-dpdk-devs= tack | :-) | True | neutron-openvswitch-agent |=20 | 62593b2c-c10f-4d93-8551-c46ce24895a6 | L3 agent | nfv-dpdk-devs= tack | :-) | True | neutron-l3-agent |=20 | 7cb97af9-cc20-41f8-90fb-aba97d39dfbd | DHCP agent | nfv-dpdk-devs= tack | :-) | True | neutron-dhcp-agent |=20 | b613c654-99b7-437e-9317-20fa651a1310 | Linux bridge agent | nfv-dpdk-devs= tack | :-) | True | neutron-linuxbridge-agent |=20 | c2dd0384-6517-4b44-9c25-0d2825d23f57 | Metadata agent | nfv-dpdk-devs= tack | :-) | True | neutron-metadata-agent |=20 | f23dde40-7dc0-4f20-8b3e-eb90ddb15e49 | Open vSwitch agent | nfv-dpdk-devs= tack | xxx | True | neutron-openvswitch-agent |=20 +--------------------------------------+--------------------+--------------= -----+-------+----------------+---------------------------+=20 ovs-vsctl show output#=20 --------------------------------------------------------=20 Bridge br-dpdk=20 Port br-dpdk=20 Interface br-dpdk=20 type: internal=20 Port phy-br-dpdk=20 Interface phy-br-dpdk=20 type: patch=20 options: {peer=3Dint-br-dpdk}=20 Bridge br-int=20 fail=5Fmode: secure=20 Port "vhufa41e799-f2"=20 tag: 5=20 Interface "vhufa41e799-f2"=20 type: dpdkvhostuser=20 Port int-br-dpdk=20 Interface int-br-dpdk=20 type: patch=20 options: {peer=3Dphy-br-dpdk}=20 Port "tap4e19f8e1-59"=20 tag: 5=20 Interface "tap4e19f8e1-59"=20 type: internal=20 Port "vhu05734c49-3b"=20 tag: 5=20 Interface "vhu05734c49-3b"=20 type: dpdkvhostuser=20 Port "vhu10c06b4d-84"=20 tag: 5=20 Interface "vhu10c06b4d-84"=20 type: dpdkvhostuser=20 Port patch-tun=20 Interface patch-tun=20 type: patch=20 options: {peer=3Dpatch-int}=20 Port "vhue169c581-ef"=20 tag: 5=20 Interface "vhue169c581-ef"=20 type: dpdkvhostuser=20 Port br-int=20 Interface br-int=20 type: internal=20 Bridge br-tun=20 fail=5Fmode: secure=20 Port br-tun=20 Interface br-tun=20 type: internal=20 error: "could not open network device br-tun (Invalid argum= ent)"=20 Port patch-int=20 Interface patch-int=20 type: patch=20 options: {peer=3Dpatch-tun}=20 ovs=5Fversion: "2.4.0"=20 --------------------------------------------------------=20 ovs-ofctl dump-flows br-int#=20 --------------------------------------------------------=20 root@nfv-dpdk-devstack:/etc/neutron# ovs-ofctl dump-flows br-int=20 NXST=5FFLOW reply (xid=3D0x4):=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2410.012s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2410, priority=3D10,icmp6,in=5Fport=3D43,= icmp=5Ftype=3D136 actions=3Dresubmit(,24)=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2409.480s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2409, priority=3D10,icmp6,in=5Fport=3D44,= icmp=5Ftype=3D136 actions=3Dresubmit(,24)=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2408.704s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2408, priority=3D10,icmp6,in=5Fport=3D45,= icmp=5Ftype=3D136 actions=3Dresubmit(,24)=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2408.155s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2408, priority=3D10,icmp6,in=5Fport=3D42,= icmp=5Ftype=3D136 actions=3Dresubmit(,24)=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2409.858s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2409, priority=3D10,arp,in=5Fport=3D43 ac= tions=3Dresubmit(,24)=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2409.314s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2409, priority=3D10,arp,in=5Fport=3D44 ac= tions=3Dresubmit(,24)=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2408.564s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2408, priority=3D10,arp,in=5Fport=3D45 ac= tions=3Dresubmit(,24)=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2408.019s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2408, priority=3D10,arp,in=5Fport=3D42 ac= tions=3Dresubmit(,24)=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2411.538s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2411, priority=3D3,in=5Fport=3D1,dl=5Fvla= n=3D346 actions=3Dmod=5Fvlan=5Fvid:5,NORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2415.038s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2415, priority=3D2,in=5Fport=3D1 actions= =3Ddrop=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2416.148s, table=3D0, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2416, priority=3D0 actions=3DNORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2416.059s, table=3D23, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2416, priority=3D0 actions=3Ddrop=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2410.101s, table=3D24, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2410, priority=3D2,icmp6,in=5Fport=3D43,i= cmp=5Ftype=3D136,nd=5Ftarget=3Dfe80::f816:3eff:fe81:da61 actions=3DNORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2409.571s, table=3D24, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2409, priority=3D2,icmp6,in=5Fport=3D44,i= cmp=5Ftype=3D136,nd=5Ftarget=3Dfe80::f816:3eff:fe73:254 actions=3DNORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2408.775s, table=3D24, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2408, priority=3D2,icmp6,in=5Fport=3D45,i= cmp=5Ftype=3D136,nd=5Ftarget=3Dfe80::f816:3eff:fe88:5cc actions=3DNORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2408.231s, table=3D24, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2408, priority=3D2,icmp6,in=5Fport=3D42,i= cmp=5Ftype=3D136,nd=5Ftarget=3Dfe80::f816:3eff:fe86:f5f7 actions=3DNORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2409.930s, table=3D24, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2409, priority=3D2,arp,in=5Fport=3D43,arp= =5Fspa=3D20.20.20.14 actions=3DNORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2409.389s, table=3D24, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2409, priority=3D2,arp,in=5Fport=3D44,arp= =5Fspa=3D20.20.20.16 actions=3DNORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2408.633s, table=3D24, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2408, priority=3D2,arp,in=5Fport=3D45,arp= =5Fspa=3D20.20.20.17 actions=3DNORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2408.085s, table=3D24, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2408, priority=3D2,arp,in=5Fport=3D42,arp= =5Fspa=3D20.20.20.13 actions=3DNORMAL=20 cookie=3D0xaaa002bb2bcf827b, duration=3D2415.974s, table=3D24, n=5Fpackets= =3D0, n=5Fbytes=3D0, idle=5Fage=3D2415, priority=3D0 actions=3Ddrop=20 root@nfv-dpdk-devstack:/etc/neutron#=20 --------------------------------------------------------=20 =20 Also attaching Neutron-server, nova-compute & nova-scheduler logs.=20 It will be really great for us if get any hint to overcome out of this Inte= r-VM & DHCP communication issue,=20 Thanks & Regards Abhijeet Karve From: "Czesnowicz, Przemyslaw" =20 To: Abhijeet Karve =20 Cc: "dev@dpdk.org" , "discuss@openvswitch.org" , "Gray, Mark D" =20 Date: 01/04/2016 07:54 PM=20 Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# = Getting memory backing issues with qemu parameter passing=20 You should be able to clone networking-ovs-dpdk, switch to kilo branch, an= d run=20 python setup.py install=20 in the root of networking-ovs-dpdk, that should install agent and mech driv= er.=20 Then you would need to enable mech driver (ovsdpdk) on the controller in th= e /etc/neutron/plugins/ml2/ml2=5Fconf.ini=20 And run the right agent on the computes (networking-ovs-dpdk-agent).=20 =20 =20 There should be pip packeges of networking-ovs-dpdk available shortly, I=0F= ’ll let you know when that happens.=20 =20 Przemek=20 =20 From: Abhijeet Karve [mailto:abhijeet.karve@tcs.com]=20 Sent: Thursday, December 24, 2015 6:42 PM To: Czesnowicz, Przemyslaw Cc: dev@dpdk.org; discuss@openvswitch.org; Gray, Mark D Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# Getting= memory backing issues with qemu parameter passing=20 =20 Hi Przemek,=20 Thank you so much for your quick response.=20 The guide(https://github.com/openstack/networking-ovs-dpdk/blob/stable/kilo= /doc/source/getstarted/ubuntu.rst) which you have suggested that is for ope= nstack vhost user installations with devstack.=20 Can't we have any reference for including ovs-dpdk mechanisam driver for op= enstack Ubuntu distribution which we are following for=20 compute+controller node setup?"=20 We are facing below listed issues With the current approach of setting up o= penstack kilo interactively + replacing ovs with ovs-dpdk enabled and Insta= nce creation in openstack with=20 passing that instance id to QEMU command line which further passes the vhos= t-user sockets to instances for enabling the DPDK libraries in it.=20 1. Created a flavor m1.hugepages which is backed by hugepage memory, unable= to spawn instance with this flavor =0F– Getting a issue like: No mat= ching hugetlbfs for the number of hugepages assigned to the flavor.=20 2. Passing socket info to instances via qemu manually and instnaces created= are not persistent.=20 Now as you suggested, we are looking in enabling ovsdpdk ml2 mechanism driv= er and agent all of that in our openstack ubuntu distribution.=20 Would be really appriciate if get any help or ref with explanation.=20 We are using compute + controller node setup and we are using following sof= tware platform on compute node:=20 =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=20 Openstack: Kilo=20 Distribution: Ubuntu 14.04=20 OVS Version: 2.4.0=20 DPDK 2.0.0=20 =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=20 Thanks,=20 Abhijeet Karve=20 From: "Czesnowicz, Przemyslaw" =20 To: Abhijeet Karve =20 Cc: "dev@dpdk.org" , "discuss@openvswitch.org" , "Gray, Mark D" =20 Date: 12/17/2015 06:32 PM=20 Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# = Successfully setup DPDK OVS with vhostuser=20 I haven=0F’t tried that approach not sure if that would work, it seem= s clunky.=20 =20 If you enable ovsdpdk ml2 mechanism driver and agent all of that (add ports= to ovs with the right type, pass the sockets to qemu) would be done by Ope= nStack.=20 =20 Przemek=20 =20 From: Abhijeet Karve [mailto:abhijeet.karve@tcs.com]=20 Sent: Thursday, December 17, 2015 12:41 PM To: Czesnowicz, Przemyslaw Cc: dev@dpdk.org; discuss@openvswitch.org; Gray, Mark D Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# Success= fully setup DPDK OVS with vhostuser=20 =20 Hi Przemek,=20 Thank you so much for sharing the ref guide.=20 Would be appreciate if clear one doubt.=20 At present we are setting up openstack kilo interactively and further repla= cing ovs with ovs-dpdk enabled.=20 Once the above setup done, We are creating instance in openstack and passin= g that instance id to QEMU command line which further passes the vhost-user= sockets to instances, enabling the DPDK libraries in it.=20 Isn't this the correct way of integrating ovs-dpdk with openstack?=20 Thanks & Regards Abhijeet Karve From: "Czesnowicz, Przemyslaw" =20 To: Abhijeet Karve =20 Cc: "dev@dpdk.org" , "discuss@openvswitch.org" , "Gray, Mark D" =20 Date: 12/17/2015 05:27 PM=20 Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# = Successfully setup DPDK OVS with vhostuser=20 HI Abhijeet,=20 For Kilo you need to use ovsdpdk mechanism driver and a matching agent to i= ntegrate ovs-dpdk with OpenStack.=20 The guide you are following only talks about running ovs-dpdk not how it sh= ould be integrated with OpenStack.=20 Please follow this guide:=20 https://github.com/openstack/networking-ovs-dpdk/blob/stable/kilo/doc/sourc= e/getstarted/ubuntu.rst=20 Best regards=20 Przemek=20 From: Abhijeet Karve [mailto:abhijeet.karve@tcs.com]=20 Sent: Wednesday, December 16, 2015 9:37 AM To: Czesnowicz, Przemyslaw Cc: dev@dpdk.org; discuss@openvswitch.org; Gray, Mark D Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# Success= fully setup DPDK OVS with vhostuser=20 Hi Przemek,=20 We have configured the accelerated data path between a physical interface t= o the VM using openvswitch netdev-dpdk with vhost-user support. The VM crea= ted with this special data path and vhost library, I am calling as DPDK ins= tance.=20 If assigning ip manually to the newly created Cirros VM instance, We are ab= le to make 2 VM's to communicate on the same compute node. Else it's not as= sociating any ip through DHCP though DHCP is in compute node only.=20 Yes it's a compute + controller node setup and we are using following softw= are platform on compute node:=20 =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=20 Openstack: Kilo=20 Distribution: Ubuntu 14.04=20 OVS Version: 2.4.0=20 DPDK 2.0.0=20 =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=20 We are following the intel guide https://software.intel.com/en-us/blogs/201= 5/06/09/building-vhost-user-for-ovs-today-using-dpdk-200=20 When doing "ovs-vsctl show" in compute node, it shows below output:=20 =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=20 ovs-vsctl show=20 c2ec29a5-992d-4875-8adc-1265c23e0304=20 Bridge br-ex=20 Port phy-br-ex=20 Interface phy-br-ex=20 type: patch=20 options: {peer=3Dint-br-ex}=20 Port br-ex=20 Interface br-ex=20 type: internal=20 Bridge br-tun=20 fail=5Fmode: secure=20 Port br-tun=20 Interface br-tun=20 type: internal=20 Port patch-int=20 Interface patch-int=20 type: patch=20 options: {peer=3Dpatch-tun}=20 Bridge br-int=20 fail=5Fmode: secure=20 Port "qvo0ae19a43-b6"=20 tag: 2=20 Interface "qvo0ae19a43-b6"=20 Port br-int=20 Interface br-int=20 type: internal=20 Port "qvo31c89856-a2"=20 tag: 1=20 Interface "qvo31c89856-a2"=20 Port patch-tun=20 Interface patch-tun=20 type: patch=20 options: {peer=3Dpatch-int}=20 Port int-br-ex=20 Interface int-br-ex=20 type: patch=20 options: {peer=3Dphy-br-ex}=20 Port "qvo97fef28a-ec"=20 tag: 2=20 Interface "qvo97fef28a-ec"=20 Bridge br-dpdk=20 Port br-dpdk=20 Interface br-dpdk=20 type: internal=20 Bridge "br0"=20 Port "br0"=20 Interface "br0"=20 type: internal=20 Port "dpdk0"=20 Interface "dpdk0"=20 type: dpdk=20 Port "vhost-user-2"=20 Interface "vhost-user-2"=20 type: dpdkvhostuser=20 Port "vhost-user-0"=20 Interface "vhost-user-0"=20 type: dpdkvhostuser=20 Port "vhost-user-1"=20 Interface "vhost-user-1"=20 type: dpdkvhostuser=20 ovs=5Fversion: "2.4.0"=20 root@dpdk:~#=20 =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=20 Open flows output in bridge in compute node are as below:=20 =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=20 root@dpdk:~# ovs-ofctl dump-flows br-tun=20 NXST=5FFLOW reply (xid=3D0x4):=20 cookie=3D0x0, duration=3D71796.741s, table=3D0, n=5Fpackets=3D519, n=5Fbyte= s=3D33794, idle=5Fage=3D19982, hard=5Fage=3D65534, priority=3D1,in=5Fport= =3D1 actions=3Dresubmit(,2)=20 cookie=3D0x0, duration=3D71796.700s, table=3D0, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D0 actions=3Ddrop=20 cookie=3D0x0, duration=3D71796.649s, table=3D2, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D0,dl=5Fdst=3D00:00= :00:00:00:00/01:00:00:00:00:00 actions=3Dresubmit(,20)=20 cookie=3D0x0, duration=3D71796.610s, table=3D2, n=5Fpackets=3D519, n=5Fbyte= s=3D33794, idle=5Fage=3D19982, hard=5Fage=3D65534, priority=3D0,dl=5Fdst=3D= 01:00:00:00:00:00/01:00:00:00:00:00 actions=3Dresubmit(,22)=20 cookie=3D0x0, duration=3D71794.631s, table=3D3, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D1,tun=5Fid=3D0x5c = actions=3Dmod=5Fvlan=5Fvid:2,resubmit(,10)=20 cookie=3D0x0, duration=3D71794.316s, table=3D3, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D1,tun=5Fid=3D0x57 = actions=3Dmod=5Fvlan=5Fvid:1,resubmit(,10)=20 cookie=3D0x0, duration=3D71796.565s, table=3D3, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D0 actions=3Ddrop=20 cookie=3D0x0, duration=3D71796.522s, table=3D4, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D0 actions=3Ddrop=20 cookie=3D0x0, duration=3D71796.481s, table=3D10, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D1 actions=3Dlearn(= table=3D20,hard=5Ftimeout=3D300,priority=3D1,NXM=5FOF=5FVLAN=5FTCI[0..11],N= XM=5FOF=5FETH=5FDST[]=3DNXM=5FOF=5FETH=5FSRC[],load:0->NXM=5FOF=5FVLAN=5FTC= I[],load:NXM=5FNX=5FTUN=5FID[]->NXM=5FNX=5FTUN=5FID[],output:NXM=5FOF=5FIN= =5FPORT[]),output:1=20 cookie=3D0x0, duration=3D71796.439s, table=3D20, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D0 actions=3Dresubm= it(,22)=20 cookie=3D0x0, duration=3D71796.398s, table=3D22, n=5Fpackets=3D519, n=5Fbyt= es=3D33794, idle=5Fage=3D19982, hard=5Fage=3D65534, priority=3D0 actions=3D= drop=20 root@dpdk:~#=20 root@dpdk:~#=20 root@dpdk:~#=20 root@dpdk:~# ovs-ofctl dump-flows br-tun=20 int NXST=5FFLOW reply (xid=3D0x4):=20 cookie=3D0x0, duration=3D71801.275s, table=3D0, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D2,in=5Fport=3D10 a= ctions=3Ddrop=20 cookie=3D0x0, duration=3D71801.862s, table=3D0, n=5Fpackets=3D661, n=5Fbyte= s=3D48912, idle=5Fage=3D19981, hard=5Fage=3D65534, priority=3D1 actions=3DN= ORMAL=20 cookie=3D0x0, duration=3D71801.817s, table=3D23, n=5Fpackets=3D0, n=5Fbytes= =3D0, idle=5Fage=3D65534, hard=5Fage=3D65534, priority=3D0 actions=3Ddrop=20 root@dpdk:~#=20 =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=20 Further we don't know what all the network changes(Packet Flow addition) if= required for associating IP address through the DHCP.=20 Would be really appreciate if have clarity on DHCP flow establishment.=20 Thanks & Regards Abhijeet Karve From: "Czesnowicz, Przemyslaw" =20 To: Abhijeet Karve , "Gray, Mark D" =20 Cc: "dev@dpdk.org" , "discuss@openvswitch.org" =20 Date: 12/15/2015 09:13 PM=20 Subject: RE: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# = Successfully setup DPDK OVS with vhostuser=20 Hi Abhijeet, If you answer below questions it will help me understand your problem. What do you mean by DPDK instance? Are you able to communicate with other VM's on the same compute node? Can you check if the DHCP requests arrive on the controller node? (I'm assu= ming this is at least compute+ controller setup) Best regards Przemek > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Abhijeet Karve > Sent: Tuesday, December 15, 2015 5:56 AM > To: Gray, Mark D > Cc: dev@dpdk.org; discuss@openvswitch.org > Subject: Re: [dpdk-dev] DPDK OVS on Ubuntu 14.04# Issue's Resolved# > Successfully setup DPDK OVS with vhostuser >=20 > Dear All, >=20 > After seting up system boot parameters as shown below, the issue is > resolved now & we are able to successfully setup openvswitch netdev-dpdk > with vhostuser support. >=20 > =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F > =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F > Setup 2 sets of huge pages with different sizes. One for Vhost and another > for Guest VM. > Edit /etc/default/grub. > GRUB=5FCMDLINE=5FLINUX=3D"iommu=3Dpt intel=5Fiommu=3Don huge= pagesz=3D1G > hugepages=3D10 hugepagesz=3D2M hugepages=3D4096" > # update-grub > - Mount the huge pages into different directory. > # sudo mount -t hugetlbfs nodev /mnt/huge=5F2M -o pagesize=3D2M > # sudo mount -t hugetlbfs nodev /mnt/huge=5F1G -o pagesize=3D1G > =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F > =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F >=20 > At present we are facing an issue in Testing DPDK application on setup. I= n our > scenario, We have DPDK instance launched on top of the Openstack Kilo > compute node. Not able to assign DHCP IP from controller. >=20 >=20 > Thanks & Regards > Abhijeet Karve >=20 > =3D=3D=3D=3D=3D-----=3D=3D=3D=3D=3D-----=3D=3D=3D=3D=3D > Notice: The information contained in this e-mail message and/or > attachments to it may contain confidential or privileged information. If = you > are not the intended recipient, any dissemination, use, review, distribut= ion, > printing or copying of the information contained in this e-mail message > and/or attachments to it are strictly prohibited. If you have received th= is > communication in error, please notify us by reply e-mail or telephone and > immediately and permanently delete the message and any attachments. > Thank you >=20 =20 >From olivier.matz@6wind.com Thu Feb 4 16:03:00 2016 Return-Path: Received: from proxy.6wind.com (host.76.145.23.62.rev.coltfrance.com [62.23.145.76]) by dpdk.org (Postfix) with ESMTP id 2B0D62A5F for ; Thu, 4 Feb 2016 16:03:00 +0100 (CET) Received: from [10.16.0.195] (unknown [10.16.0.195]) by proxy.6wind.com (Postfix) with ESMTP id 7DF612A350; Thu, 4 Feb 2016 16:02:16 +0100 (CET) Message-ID: <56B36815.6030001@6wind.com> Date: Thu, 04 Feb 2016 16:02:45 +0100 From: Olivier MATZ User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0 MIME-Version: 1.0 To: David Hunt , dev@dpdk.org References: <1453829155-1366-1-git-send-email-david.hunt@intel.com> <1453829155-1366-3-git-send-email-david.hunt@intel.com> In-Reply-To: <1453829155-1366-3-git-send-email-david.hunt@intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH 2/5] memool: add stack (lifo) based external mempool handler X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Feb 2016 15:03:00 -0000 Hi, > [PATCH 2/5] memool: add stack (lifo) based external mempool handler typo in the patch title: memool -> mempool On 01/26/2016 06:25 PM, David Hunt wrote: > adds a simple stack based mempool handler > > Signed-off-by: David Hunt What is the purpose of this mempool handler? Is it an example or is it something that could be useful for dpdk applications? If it's just an example, I think we could move this code in app/test. > --- a/app/test/test_mempool_perf.c > +++ b/app/test/test_mempool_perf.c > @@ -52,7 +52,6 @@ > #include > #include > #include > -#include > #include > #include > #include Is this change related? > +struct rte_mempool_common_stack { > + /* Spinlock to protect access */ > + rte_spinlock_t sl; > + > + uint32_t size; > + uint32_t len; > + void *objs[]; > + > +#ifdef RTE_LIBRTE_MEMPOOL_DEBUG > +#endif There is nothing inside the #ifdef > +static void * > +common_stack_alloc(struct rte_mempool *mp, > + const char *name, unsigned n, int socket_id, unsigned flags) > +{ > + struct rte_mempool_common_stack *s; > + char stack_name[RTE_RING_NAMESIZE]; > + > + int size = sizeof(*s) + (n+16)*sizeof(void *); > + > + flags = flags; > + > + /* Allocate our local memory structure */ > + snprintf(stack_name, sizeof(stack_name), "%s-common-stack", name); > + s = rte_zmalloc_socket(stack_name, > + size, RTE_CACHE_LINE_SIZE, socket_id); > + if (s == NULL) { > + RTE_LOG(ERR, MEMPOOL, "Cannot allocate stack!\n"); > + return NULL; > + } > + > + /* And the spinlock we use to protect access */ > + rte_spinlock_init(&s->sl); > + > + s->size = n; > + mp->rt_pool = (void *) s; > + mp->handler_idx = rte_get_mempool_handler("stack"); > + > + return (void *) s; > +} The explicit casts could be removed I think. > + > +static int common_stack_put(void *p, void * const *obj_table, > + unsigned n) > +{ > + struct rte_mempool_common_stack *s = > + (struct rte_mempool_common_stack *)p; indent issue (same in get() and count()) > + void **cache_objs; > + unsigned index; > + > + /* Acquire lock */ > + rte_spinlock_lock(&s->sl); > + cache_objs = &s->objs[s->len]; > + > + /* Is there sufficient space in the stack ? */ > + if ((s->len + n) > s->size) { > + rte_spinlock_unlock(&s->sl); > + return -ENOENT; > + } I think this cannot happen as there is a check in the get(). I wonder if a rte_panic() wouldn't be better here. Regards, Olivier