Re: [ovs-discuss] [ovs-dev] adding dpdk ports sharing same pci address to ovs-dpdk bridge

2017-09-18 Thread devendra rawat
Hi Kevin,

On Fri, Sep 8, 2017 at 12:24 AM, Kevin Traynor <ktray...@redhat.com> wrote:

> On 09/07/2017 06:47 PM, Darrell Ball wrote:
> > Adding disc...@openvswitch.org
> >
> > The related changes went into 2.7
> >
> >
> >
> > On 9/7/17, 3:51 AM, "ovs-dev-boun...@openvswitch.org on behalf of
> devendra rawat" <ovs-dev-boun...@openvswitch.org on behalf of
> devendra.rawat.si...@gmail.com> wrote:
> >
> > Hi,
> >
> > I have compiled and built ovs-dpdk using DPDK v17.08 and OVS v2.8.0.
> The
> > NIC that I am using is Mellanox ConnectX-3 Pro, which is a dual port
> 10G
> > NIC. The problem with this NIC is that it provides only one PCI
> address for
> > both the 10G ports.
> >
> > So when I am trying to add the two DPDK ports to my br0 bridge
> >
> > # ovs-vsctl --no-wait add-port br0 dpdk0 -- set Interface dpdk0
> type=dpdk
> > options:dpdk-devargs=0002:01:00.0
> >
> > # ovs-vsctl --no-wait add-port br0 dpdk1 -- set Interface dpdk1
> type=dpdk
> > options:dpdk-devargs=0002:01:00.0
> >
>
> Were you able to confirm those addresses by running ./dpdk-devbind.py -s
> in your /tools dir?
>

On running dpdk-devbind.py --status , I can see the ConnectX-3 pro NIC,
having only one PCI address.

Network devices using DPDK-compatible driver



Network devices using kernel driver
===
0002:01:00.0 'MT27520 Family [ConnectX-3 Pro] 1007' if=enP4p1s0d1,enP4p1s0
drv=mlx4_core unused=
0006:01:00.0 'I210 Gigabit Network Connection 1533' if=enP6p1s0 drv=igb
unused= *Active*



> The port dpdk1 is added successfully and able to transfer data, but
adding
> dpdk0 to br0 fails:
>
> 2017-09-06T14:19:20Z|00045|netdev_dpdk|INFO|Port 0: e4:1d:2d:4f:78:60
> 2017-09-06T14:19:20Z|00046|bridge|INFO|bridge br0: added interface
dpdk1 on
> port 1
> 2017-09-06T14:19:20Z|00047|bridge|INFO|bridge br0: added interface
br0 on
> port 65534
> 2017-09-06T14:19:20Z|00048|dpif_netlink|WARN|Generic Netlink family
> 'ovs_datapath' does not exist. The Open vSwitch kernel module is
probably
> not loaded.
> 2017-09-06T14:19:20Z|00049|netdev_dpdk|WARN|'dpdk0' is trying to use
device
> '0002:01:00.0' which is already in use by 'dpdk1'
> 2017-09-06T14:19:20Z|00050|netdev|WARN|dpdk0: could not set
configuration
> (Address already in use)
> 2017-09-06T14:19:20Z|00051|bridge|INFO|bridge br0: using datapath ID
> e41d2d4f7860
>
>
> With OVS v2.6.1 I never had this problem as dpdk-devargs was not
mandatory
> and just specifying port name was enough to add that port to bridge.
>
> Is there a way to add port both ports to bridge ?
>
> Thanks,
> Devendra
> ___
> dev mailing list
> d...@openvswitch.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.
openvswitch.org_mailman_listinfo_ovs-2Ddev=DwICAg=
uilaK90D4TOVoH58JNXRgQ=BVhFA09CGX7JQ5Ih-uZnsw=
qO7NdgrrorJhievOguQLmsfEFuBcPfz9NfQX7UME1-8=ZKHbYlaTjm8VFj6Rggmcb2gw6s3xW4
PxEtUy4YFG1VA=
>
>
> ___
> dev mailing list
> d...@openvswitch.org

> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >
>
>
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


[ovs-discuss] adding dpdk ports sharing same pci address to ovs-dpdk bridge

2017-09-06 Thread devendra rawat
Hi,

I have compiled and built ovs-dpdk using DPDK v17.08 and OVS v2.8.0. The
NIC that I am using is Mellanox ConnectX-3 Pro, which is a dual port 10G
NIC. The problem with this NIC is that it provides only one PCI address for
both the 10G ports.

So when I am trying to add the two DPDK ports to my br0 bridge

# ovs-vsctl --no-wait add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk
options:dpdk-devargs=0002:01:00.0

# ovs-vsctl --no-wait add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk
options:dpdk-devargs=0002:01:00.0

The port dpdk1 is added successfully and able to transfer data, but adding
dpdk0 to br0 fails:

2017-09-06T14:19:20Z|00045|netdev_dpdk|INFO|Port 0: e4:1d:2d:4f:78:60
2017-09-06T14:19:20Z|00046|bridge|INFO|bridge br0: added interface dpdk1 on
port 1
2017-09-06T14:19:20Z|00047|bridge|INFO|bridge br0: added interface br0 on
port 65534
2017-09-06T14:19:20Z|00048|dpif_netlink|WARN|Generic Netlink family
'ovs_datapath' does not exist. The Open vSwitch kernel module is probably
not loaded.
2017-09-06T14:19:20Z|00049|netdev_dpdk|WARN|'dpdk0' is trying to use device
'0002:01:00.0' which is already in use by 'dpdk1'
2017-09-06T14:19:20Z|00050|netdev|WARN|dpdk0: could not set configuration
(Address already in use)
2017-09-06T14:19:20Z|00051|bridge|INFO|bridge br0: using datapath ID
e41d2d4f7860


With OVS v2.6.1 I never had this problem as dpdk-devargs was not mandatory
and just specifying port name was enough to add that port to bridge.

Is there a way to add port both ports to bridge ?

Thanks,
Devendra
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


[ovs-discuss] (no subject)

2016-11-17 Thread devendra rawat
I am trying to bring up my ethernet device interface in ovs-DPDK
I have created and added my non PCI vdev as dpdk0 device on bridge br0.

# ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-extra=--
vdev=my_eth_dev

# ovs-vsctl --no-wait add-br br0 -- set bridge br0 datapath_type=netdev

# ovs-vsctl --no-wait add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk

my interface is coming up well, I can see my interface br0 using ifconfig.
I need to validate the RX and TX paths.

I am able to receive traffic on br0 from an external packet generator and
my pings are also going out throught br0.
But my 10G interface stops receiving traffic if RX rate goes beyond 100Mbps.
can it be a setting issue because my DPDK testpmd application gives me line
rate ?

Can I add a flow entry so that br0 sends back the traffic it receives from
packet generator ?
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] dpdk virtual device(vdev) device support in ovs.

2016-11-17 Thread devendra rawat
> I am going to implement the support for my non-pci DPDK vdev ethernet
> device in openvswitch. A head start will be really appreciated.
>
> So far what I have understood is that I will need to add a new "struct
> netdev_class" for my device in lib/netdev-dpdk.c
>
> just like
>
> static const struct netdev_class dpdk_class =
> NETDEV_DPDK_CLASS(
> "dpdk",
> netdev_dpdk_construct,
> netdev_dpdk_destruct,
> netdev_dpdk_set_config,
> netdev_dpdk_set_tx_multiq,
> netdev_dpdk_eth_send,
> netdev_dpdk_get_carrier,
> netdev_dpdk_get_stats,
> netdev_dpdk_get_features,
> netdev_dpdk_get_status,
> netdev_dpdk_reconfigure,
> netdev_dpdk_rxq_recv);
>
> will this be sufficient or I will need to change something else also ?
>
> *[Sugesh] Yes, this will take care of adding a new netdev type(in this
> case DPDK vdev). Also the config/control plane has to be changed to manage
> new type.*
>
> *I am really wondering a new netdev is really needed for vdev.*
>
> *vdev is just another type of DPDK eth port. It should be handled
> implicitly either in DPDK or OVS-DPDK init code. This is kind of similar to
> how different vendor NICs are supported under one DPDK type interface. *
>
> *  Have you considered the option to change/append the existing OVS-DPDK
> init implementation to support vdev?*
>
> *Adding a new netdev will make the code less maintainable and I would
> consider it as last option.*
>
> [Devendra] Yes, as you said new netdev is really not needed. I just need
to make sure that my vdev is initialized properly, ovs-DPDK will
automatically designate it as dpdk0 port.

I just used dpdk-extra to initialize my device and then added it as dpdk0
port to bridge.

# ovs-vsctl --no-wait set Open_vSwitch .
other_config:dpdk-extra=--vdev=my_eth_dev

# ovs-vsctl --no-wait add-br br0 -- set bridge br0 datapath_type=netdev

# ovs-vsctl --no-wait add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk

Thanks and Regards,
Devendra
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss