Thanks Sugesh, i was missing the rxqueue. now its correctly spreading across the cores.
Thanks Praveen On Tue, Dec 1, 2015 at 11:32 AM, Chandran, Sugesh <sugesh.chand...@intel.com > wrote: > Praveen, > > > > You need to pin the PMD threads on specific CPU cores explicitly and > create that many number of RX queues to share the load across cores. > > Please refer Performance Tuning section in INSTALL.DPDK.md for more > details. > > > > > > *Regards* > > *_Sugesh* > > > > *From:* Praveen MANKARA RADHAKRISHNAN [mailto:praveen.mank...@6wind.com] > *Sent:* Monday, November 30, 2015 1:36 PM > *To:* Chandran, Sugesh <sugesh.chand...@intel.com> > *Cc:* b...@openvswitch.org; Daniel Virassamy <daniel.virass...@6wind.com> > > *Subject:* Re: [ovs-discuss] Test with vxlan using ovs-dpdk (2.4) > > > > Hi Sugesh, > > > > I made this scenario work with 2 physical machines. > > > > I am not seeing packets distributed across cores when i send multiple > flows from ixia. > > it seems all the packets from a port is handled by only a single core. its > not spreading across the cores. > > is there any specific configuration is needed for enabling the packet > spreading across different cores. > > > > given below is the description of my test set up. > > > > 2 servers are connected via 1 10Gb interface. > > each server 1 ixia port is connected. > > > > from the ixia vlan traffic is coming to dpdk port 0 of server 1. it strips > valn go to a vxlan tunnel through dpdk port 1 to the next server. there > vxla is stripped and through the next going to the ixia port2. > > > > same for reverse direction also. > > > > when i tried the test i have the following observations. > > packets are not distributing across the cores. because of this performance > is not scaling. > > is there any configuration i should specifically do to have the scaling. > > > > Please find the details about my test. > > > > Configuration: > > ----------------------- > > > > Server 1 > > ------------ > > > > ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev > > ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk > > ovs-vsctl add-port br0 vxlan0 -- set interface vxlan0 type=vxlan > options:remote_ip=10.200.0.6 > > > > ovs-vsctl add-br br1 -- set bridge br1 datapath_type=netdev > > ovs-vsctl add-port br1 dpdk1 -- set Interface dpdk1 type=dpdk > > > > ip link set br0 up > > ip link set br1 up > > ip a a 10.200.0.5/24 dev br1 > > > > ovs-ofctl add-flow br0 in_port=1,actions=strip_vlan,output:2 > > ovs-ofctl add-flow br0 in_port=2,actions=output:1 > > > > Server 2 > > ------------ > > > > ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev > > ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk > > ovs-vsctl add-port br0 vxlan0 -- set interface vxlan0 type=vxlan > options:remote_ip=10.200.0.5 > > > > ovs-vsctl add-br br1 -- set bridge br1 datapath_type=netdev > > ovs-vsctl add-port br1 dpdk1 -- set Interface dpdk1 type=dpdk > > > > ip link set br0 up > > ip link set br1 up > > ip a a 10.200.0.6/24 dev br1 > > > > ovs-ofctl add-flow br0 in_port=1,actions=strip_vlan,output:2 > > ovs-ofctl add-flow br0 in_port=2,actions=output:1 > > > > 1C_2T ~~~~~~~~ ovs-vsctl set Open_vSwitch . > other_config:pmd-cpu-mask=2000002 > > > > [root@controller ~]# ovs-appctl dpif-netdev/pmd-stats-show main thread: > emc hits:0 megaflow hits:0 miss:0 lost:0 polling cycles:844386 (100.00%) > processing cycles:0 (0.00%) pmd thread numa_id 1 core_id 1: emc > hits:140438952 megaflow hits:126 miss:2 lost:0 polling cycles:11260105290 > (21.84%) processing cycles:40302774189 (78.16%) avg cycles per packet: > 367.15 (51562879479/140439080) avg processing cycles per packet: 286.98 > (40302774189/140439080) pmd thread numa_id 1 core_id 25: emc hits:148663170 > megaflow hits:126 miss:2 lost:0 polling cycles:11918926350 (23.16%) > processing cycles:39554751984 (76.84%) avg cycles per packet: 346.24 > (51473678334/148663298) avg processing cycles per packet: 266.07 > (39554751984/148663298) > > > > Here traffic is coming from both ixia ports so bothcores are getting > packets. > > > > Changed the threads to 2C_4T : > > > > [root@redhat7 ~]# ovs-vsctl set Open_vSwitch . > other_config:pmd-cpu-mask=a00000a > > > > [root@redhat7 ~]# ovs-appctl dpif-netdev/pmd-stats-show > > main thread: > > emc hits:0 > > megaflow hits:0 > > miss:0 > > lost:0 > > polling cycles:1105692 (100.00%) > > processing cycles:0 (0.00%) > > pmd thread numa_id 1 core_id 1: > > emc hits:174248214 > > megaflow hits:126 > > miss:2 > > lost:0 > > polling cycles:41551018158 (49.30%) > > processing cycles:42726992931 (50.70%) > > avg cycles per packet: 483.67 (84278011089/174248342) > > avg processing cycles per packet: 245.21 (42726992931/174248342) > > pmd thread numa_id 1 core_id 3: > > emc hits:182375144 > > megaflow hits:126 > > miss:2 > > lost:0 > > polling cycles:39728724567 (46.68%) > > processing cycles:45381262518 (53.32%) > > avg cycles per packet: 466.68 (85109987085/182375272) > > avg processing cycles per packet: 248.83 (45381262518/182375272) > > pmd thread numa_id 1 core_id 27: > > emc hits:0 > > megaflow hits:0 > > miss:0 > > lost:0 > > pmd thread numa_id 1 core_id 25: > > emc hits:0 > > megaflow hits:0 > > miss:0 > > lost:0 > > [root@redhat7 ~]# > > > > As you can see still only 2 cores were used. > > > > > > > > The same is for the other server also. > > from the ixia i have sending multiple flows more than 50 flows by changing > the source ip. > > the problem is its as if 1 port is bind to the 1 core. its not > distributing the packets. > > > > > > Thanks > > Praveen > > > > On Tue, Nov 3, 2015 at 11:33 AM, Praveen MANKARA RADHAKRISHNAN < > praveen.mank...@6wind.com> wrote: > > Hi Sugesh, > > > > Thanks for the information. > > by adding the flow in reverse direction OVS learns the arp and the > scenario works correctly. > > > > Thanks > > Praveen > > > > > > On Wed, Oct 28, 2015 at 5:37 PM, Chandran, Sugesh < > sugesh.chand...@intel.com> wrote: > > Hi Praveen, > > Thank you sharing your setup details! > > It looks like the issue here is ovs doesn’t have the arp entry for remote > end point i.e 10.200.0.6. > > Can you let OVS to learn the mac address for 10.200.0.6?? You can send a > arp reply from Ixia port-2 to make it learn this value. Alternatively you > can do the same with tnl/arp/set as well, but it looks like to me that the > command not yet available on your OVS version. > > And also please remove the static flow rule that configured lately. > > > > You can verify the rules being used in the datapath with > > ovs-appctl dpctl/dump-flows > > > > There must be rules for `tnl_push` for pushing the vxlan header and also > for forward the packet to physical interface. > > > > *Regards* > > *_Sugesh* > > > > *From:* Praveen MANKARA RADHAKRISHNAN [mailto:praveen.mank...@6wind.com] > *Sent:* Wednesday, October 28, 2015 11:17 AM > > > *To:* Chandran, Sugesh > *Cc:* b...@openvswitch.org; Daniel Virassamy > *Subject:* Re: [ovs-discuss] Test with vxlan using ovs-dpdk (2.4) > > > > Hi Sugesh, > > > > Thanks. but its still the same.It seems the packets are not getting > forwarded from the vxlan interface. > > Please find the logs attached. > > > > root@ubuntu1404:~# ovs-vsctl show > > e2127cda-4b01-4020-8a6c-b5ff6be8f2fa > > Bridge "br0" > > Port "dpdk1" > > Interface "dpdk1" > > type: dpdk > > Port "vxlan0" > > Interface "vxlan0" > > type: vxlan > > options: {remote_ip="10.200.0.6"} > > Port "br0" > > Interface "br0" > > type: internal > > Bridge "br1" > > Port "dpdk0" > > Interface "dpdk0" > > type: dpdk > > Port "br1" > > Interface "br1" > > type: internal > > > > > > root@ubuntu1404:~# ovs-ofctl dump-flows br0 > > NXST_FLOW reply (xid=0x4): > > cookie=0x0, duration=341.284s, table=0, n_packets=1039, n_bytes=68574, > idle_age=0, dl_vlan=1,dl_dst=02:11:22:44:55:22 actions=strip_vlan,output:2 > > cookie=0x0, duration=427.090s, table=0, n_packets=8, n_bytes=648, > idle_age=324, priority=0 actions=NORMAL > > > > > > root@ubuntu1404:~# ovs-ofctl dump-flows br1 > > NXST_FLOW reply (xid=0x4): > > cookie=0x0, duration=66.576s, table=0, n_packets=0, n_bytes=0, > idle_age=66, in_port=LOCAL actions=output:1 > > cookie=0x0, duration=401.153s, table=0, n_packets=8, n_bytes=648, > idle_age=325, priority=0 actions=NORMAL > > > > root@ubuntu1404:~# ovs-appctl tnl/arp/show > > IP MAC Bridge > > ============================================= > > 10.200.0.5 b8:ca:3a:6f:16:c8 br1 > > > > root@ubuntu1404:~# ovs-ofctl show br0 > > OFPT_FEATURES_REPLY (xid=0x2): dpid:0000b8ca3a6f16ca > > n_tables:254, n_buffers:256 > > capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP > > actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src > mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst > > 1(dpdk1): addr:b8:ca:3a:6f:16:ca > > config: 0 > > state: 0 > > current: 10GB-FD > > supported: 1GB-FD FIBER AUTO_PAUSE > > speed: 10000 Mbps now, 1000 Mbps max > > 2(vxlan0): addr:46:6f:4a:fd:94:75 > > config: 0 > > state: 0 > > speed: 0 Mbps now, 0 Mbps max > > LOCAL(br0): addr:b8:ca:3a:6f:16:ca > > config: 0 > > state: 0 > > current: 10MB-FD COPPER > > speed: 10 Mbps now, 0 Mbps max > > OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0 > > > > > > As you can see in the br0 packets are reaching the vxlan interface and its > not forwarding form there it seems dropped at vxlan interface. > > > > The same configurations is working without the dpdk. > > please refer the attached diagram for my set up. > > > > Thanks > > Praveen > > > > > > On Wed, Oct 28, 2015 at 11:39 AM, Chandran, Sugesh < > sugesh.chand...@intel.com> wrote: > > Hi Praveen, > > > > The arp entries are learned properly, if the packets are reaching at br1. > > Can you please confirm what flow rules are populated on br1 using , > > ovs-ofctl dump-flows br1 > > > > If there is no rules present, please add a rule to forward packet to the > physical port as follows, > > ovs-ofctl add-flow br1 idle_timeout=0,in_port=LOCAL,action=output:1 > > > > > > *Regards* > > *_Sugesh* > > > > *From:* Praveen MANKARA RADHAKRISHNAN [mailto:praveen.mank...@6wind.com] > *Sent:* Wednesday, October 28, 2015 10:05 AM > *To:* Chandran, Sugesh > *Cc:* b...@openvswitch.org; Daniel Virassamy > *Subject:* Re: [ovs-discuss] Test with vxlan using ovs-dpdk (2.4) > > > > Hi Sugesh, > > > > Thanks for the reply. > > arp entries are show in vs-appctl tnl/arp/show command. but it seems o > packet is coming to the bridge with physical port. > > > > I have already tried to set using tnl/arp/set command but it seems set is > not present in openvswitch 2.4 > > it returns the following error. > > > > " > > ovs-appctl tnl/arp/set br0 10.200.0.6 02:11:22:44:55:11 > > "tnl/arp/set" is not a valid command > > ovs-appctl: ovs-vswitchd: server returned an error " > > > > One important thing is to note that i was using dpdk-2.0.0. does that make > any difference? > > > > Thanks > > Praveen > > > > On Tue, Oct 27, 2015 at 6:28 PM, Chandran, Sugesh < > sugesh.chand...@intel.com> wrote: > > > > > > *Regards* > > *_Sugesh* > > > > *From:* discuss [mailto:discuss-boun...@openvswitch.org] *On Behalf Of > *Praveen > MANKARA RADHAKRISHNAN > *Sent:* Monday, October 26, 2015 5:23 PM > *To:* b...@openvswitch.org > *Cc:* Daniel Virassamy > *Subject:* [ovs-discuss] Test with vxlan using ovs-dpdk (2.4) > > > > HI, > > > > I am Praveen, > > > > I am trying a specific test scenario using ovs-dpdk. > > > > Test set up > > ------------------- > > > > from the traffgen vlan packets are coming to dpdk interface its stripped > using ovs command. > > and sending to a vxlan interface which is comnnected in theo other dpdk > interface and send back to traffgen. > > > > i have done the vxlan set up similar to the sample test case. > > > > https://github.com/openvswitch/ovs/blob/master/README-native-tunneling.md > > > > the issue is that from the sumpflows i can see that packets are send to > vxlan but it is not going to the other bridge. > > > > the same scenario is working without dpdk. > > > > I am using openvswitch-2.4.0. > > > > Linux (without dpdk) > > --------------------------------- > > > > ovs-vsctl add-br br0 > > ovs-vsctl add-port br0 eth0 > > ovs-vsctl add-port br0 vxlan0 -- set interface vxlan0 type=vxlan > options:remote_ip=10.200.0.6 > > ovs-ofctl add-flow br0 > dl_vlan=1,dl_dst=02:11:22:44:55:22,actions=strip_vlan,output:2 > > > > ovs-vsctl add-br br1 > > ovs-vsctl add-port br1 eth1 > > > > ip a a 10.200.0.5/24 dev br1 > > arp -s 10.200.0.6 02:11:22:44:55:11 -i eth2 > > > > and from the traffgen i am sending traffic with dst mac 02:11:22:44:55:22 > and vlan id 1. > > it is correctly working. > > > > ovs-dpdk > > ------------------ > > > > started ovs-dpdk :: > > ovs-vswitchd --dpdk -c 0x1 -n 4 -- unix:$DB_SOCK --pidfile --detach > > > > ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev > > ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk > > > > ovs-vsctl add-br br1 -- set bridge br1 datapath_type=netdev > > ovs-vsctl add-port br1 dpdk1 -- set Interface dpdk1 type=dpdk > > > > ovs-vsctl add-port br0 vxlan0 -- set interface vxlan0 type=vxlan > options:remote_ip=10.200.0.6 > > ovs-ofctl add-flow br0 > dl_vlan=1,dl_dst=02:11:22:44:55:22,actions=strip_vlan,output:2 > > > > ip a a 10.200.0.5/24 dev br1 > > arp -s 10.200.0.6 02:11:22:44:55:11 -i eth2 > > > > > > here i have started the ovs-dpddk and do the same set up > > but packets are not seen in bridge1 (br1) and in traffgen. > > > > is there any specif configuration i need to do in ovs-dpdk > > could it be because of the arp? > > Is there a way to set static arp to the ovs-dpdk? > > >>>> Does the arp entries shown properly in “ovs-appctl tnl/arp/show”??? > > >>>>> You can set the arp entries using ovs-appctl tnl/arp/set <bridge> > <ip> <mac>. In OVS-DPDK the DPDK interfaces are not managed by kernel so > assigning static arp to physical interface may not work. > > Could you help in identifying the problem? > > > > Thanking you in advance > > Praveen > > > > > > > > > > > > > > >
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss