Re: [vpp-dev] Mellanox dependency changes

2019-04-12 Thread Benoit Ganne (bganne) via Lists.Fd.Io
Hi Stephen,

Thanks. Ok, so we should implement the VF control protocol on the netsvc 
device. That said, it looks to me that we could use the AF_PACKET for this, no 
need for an optimized, poll-mode netsvc driver in VPP.
To implement this control protocol, I suppose studying the DPDK implementation 
should be enough.
The usecase would be eg. to deploy VNF in Azure with VPP without having to pull 
DPDK as a dependency and improve performance quite noticeably.
What do you think?

Best
ben


> -Original Message-
> From: vpp-dev@lists.fd.io  On Behalf Of Stephen
> Hemminger
> Sent: jeudi 11 avril 2019 22:32
> To: Stephen Hemminger via Lists.Fd.Io
> 
> Cc: step...@networkplumber.org; Benoit Ganne (bganne) ;
> vpp-dev@lists.fd.io
> Subject: Re: [vpp-dev] Mellanox dependency changes
> 
> On Thu, 11 Apr 2019 10:24:45 -0700
> "Stephen Hemminger via Lists.Fd.Io"
>  wrote:
> 
> > On Thu, 11 Apr 2019 09:30:12 +
> > "Benoit Ganne (bganne)"  wrote:
> >
> > > Hi Stephen,
> > >
> > > > The rdma-core stuff is likely to be a problem on Azure. The
> > > > Mellanox device is always hidden as a secondary device behind a
> > > > synthetic virtual device based on VMBus. There are two DPDK
> > > > different ways this is used. One is with vdev_netvsc/failsafe/tap
> and the other is with netvsc PMD.
> > > > In either case, the virtual device expects to see the MLX device
> > > > show up as a VF if enabled.
> > > > So unless you want to write native VPP drivers for VMBus as well,
> > > > I don't see how having native rdma-core driver will help. It will
> only get
> > > > confused.
> > >
> > > I'd be interested to better understand how it works. My current
> understanding:
> > >  - the Mellanox device shows up as a PCI SR-IOV VF in the Linux VM
> > > ("the VF")
> > >  - the VF is associated with a VMBUS (not PCI) netvsc virtual device
> > >  - the netvsc and the VF shares the same MAC. The netvsc is guaranteed
> to be always there whereas the VF can disappear between migrations etc.
> > >  - control plane traffic (multicast eg. ARP, other?) always go
> > > through the netvsc
> > >  - if the VF is present is gets all the traffic minus control plane.
> > > If it is not present, all traffic gets rerouted through netvsc as a
> > > fallback
> > >
> > > Am I correct? Could you elaborate a little bit more about what is the
> control plane traffic (basically what we should miss on the VF)?
> > > If so, I see at least 2 problems we need to tackle:
> > >  - we need to receive control plane traffic from netvsc because of
> > > eg. ARP. However, being control-plane/fallback, it could be slow and
> > > use eg. TAP or even AF_PACKET. We will also need to use it to
> > > populate the neighbor entries of the VF
> > >  - the VF can appear/disappear w/o notice in case of migration etc.
> That could be handled in different ways, eg. by the control plane agent
> (removing the rdma iface from VPP prior to migration, adding it after post
> migration) or by leveraging bonding or...
> > >
> > > Thanks for your help,
> > > Ben
> >
> > Very close.
> >   - In Azure the first packet of every flow arrives on the netvsc (slow
> path).
> > Packets arrive to FPGA, anything with non-matching flow goes to
> Azure host flow control (VFP) which evaluates
> > it against rules. On success, it programs FPGA and forwards packet
> over netvsc path.
> >   - The presence of VF is reported as an event on VMBus
> >   - VF is not enabled until netvsc sends message to host, acts as ack
> that VF is ok.
> >   - VF removal is reported to netvsc, and it switches datapath back
> >   - the VF should not be manipulated directly, it is hidden in DPDK;
> > in Linux/FreeBSD it is marked as slave
> 
> Additionally, Windows and recent versions of Linux associate netvsc with
> VF from the VMBus serial number.
> This is simpler and more reliable than the MAC address.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12776): https://lists.fd.io/g/vpp-dev/message/12776
Mute This Topic: https://lists.fd.io/mt/30795618/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] Packet with custom ip-proto value drops in ip4-local node

2019-04-12 Thread satish . gundu
Hi Florin,

Seems like, my node registration is having an issue for the custom proto.
Somehow, with 1810, it is not showing up in the registered nodes.
Am posting another topic to resolve this.

Thanks for the quick pointers.

Regards,
Satish
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12777): https://lists.fd.io/g/vpp-dev/message/12777
Mute This Topic: https://lists.fd.io/mt/31031696/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


[vpp-dev] vlib_register_all_static_nodes not picking up the graph node ( in 18.10 )

2019-04-12 Thread satish . gundu
Hi Vpp-Dev,

In 18.10, my graph node is not getting picked up by the function 
vlib_register_all_static_nodes().
vm->node_main.node_registrations does not seem to have my graph node.

The same was working in 18.01.

Any changes in the way we need to register the graph nodes in 18.10 ? 

Can someone let us know, how the constructor of each graph node gets called, so 
that I can use gdb and see what could be wrong.

Thanks & Regards,
Satish
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12778): https://lists.fd.io/g/vpp-dev/message/12778
Mute This Topic: https://lists.fd.io/mt/31056245/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] vlib_register_all_static_nodes not picking up the graph node ( in 18.10 )

2019-04-12 Thread Dave Barach via Lists.Fd.Io
Let me guess: the node in question is in a plugin. Are you sure that the plugin 
loader isn’t complaining about an undefined symbol or some such?

“show plugin” will confirm that your plugin is actually loaded.

If it’s not loaded, debug spew from “/usr/bin/vpp unix interactive” will tell 
you why not.

D.

From: vpp-dev@lists.fd.io  On Behalf Of 
satish.gu...@gmail.com
Sent: Friday, April 12, 2019 6:52 AM
To: vpp-dev@lists.fd.io
Subject: [vpp-dev] vlib_register_all_static_nodes not picking up the graph node 
( in 18.10 )

Hi Vpp-Dev,

In 18.10, my graph node is not getting picked up by the function 
vlib_register_all_static_nodes().
vm->node_main.node_registrations does not seem to have my graph node.

The same was working in 18.01.

Any changes in the way we need to register the graph nodes in 18.10 ?

Can someone let us know, how the constructor of each graph node gets called, so 
that I can use gdb and see what could be wrong.

Thanks & Regards,
Satish
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12779): https://lists.fd.io/g/vpp-dev/message/12779
Mute This Topic: https://lists.fd.io/mt/31057108/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] Mellanox dependency changes

2019-04-12 Thread Stephen Hemminger
On Fri, 12 Apr 2019 09:19:37 +
"Benoit Ganne (bganne)"  wrote:

> Hi Stephen,
> 
> Thanks. Ok, so we should implement the VF control protocol on the netsvc 
> device. That said, it looks to me that we could use the AF_PACKET for this, 
> no need for an optimized, poll-mode netsvc driver in VPP.
> To implement this control protocol, I suppose studying the DPDK 
> implementation should be enough.
> The usecase would be eg. to deploy VNF in Azure with VPP without having to 
> pull DPDK as a dependency and improve performance quite noticeably.
> What do you think?

It is possible to use AF_PACKET (or TAP) on the netvsc device. That is what the 
DPDK Failsafe/TAP/vdev_netvsc
does, but it has a number of issues. The main was is that for work loads with 
lots of short lived flows
the packet path through the kernel and back to userspace is real slow. Also, 
the slow path does
get used during zero-downtime servicing on Azure. So if a VM is suddenly 10x 
slower we get complaints.

Also, the added overhead of setup and carrying around a kernel network device 
is non-trivial.
Plus the notifications about VF coming and going happen on the VMBus which is 
not exposed directly
to userspace. You end up listening for netlink event then correlating back on 
MAC address.

The upside of not using DPDK is that it removes dealing with UIO drivers.
You might want to consider using AF_XDP in the future, but netvsc device does 
not support XDP
natively (have to use XDP generic).
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12780): https://lists.fd.io/g/vpp-dev/message/12780
Mute This Topic: https://lists.fd.io/mt/30795618/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] VPP 19.04 centos7 RPM package dependency errors

2019-04-12 Thread Dave Wallace

Tom

Package installation instructions most appreciated.  I am now able to 
install/verify the 19.04 packages using the current centos7 image 
specified in .../vpp/extras/vagrant/Vagrantfile.


I will add a note with these package installation dependencies to the 
wiki page [1] for 19.04 package installation.


Thanks,
-daw-

[1] 
https://wiki.fd.io/view/VPP/Pulling,_Building,_Running,_Hacking_and_Pushing_VPP_Code


On 4/11/2019 6:25 PM, Thomas F Herbert wrote:


Dave and Ed,

The Makefile has dependencies that work. However, you will need epel. 
The packages required are:


yum install epel-release

yum install mbedtls

yum install python36

--Tom


On 04/11/2019 05:11 PM, Florin Coras wrote:
We do have it as a dependency because we want to make sure the plugin 
still builds. However, given that most of those who use tls use the 
openssl engine, we might consider not having mbedtls as a dependency 
for the packages that we push to packagecloud ...


On a separate note, what centos do we run in the container? It seems 
that even python3 has some dependency errors. I guess that once we 
align the vagrant version with it, things should just work.


Florin

On Apr 11, 2019, at 1:55 PM, Ed Kern (ejk) > wrote:




On Apr 11, 2019, at 2:22 PM, Florin Coras > wrote:


Are we building rpms on a host that has mbedtls installed?


Yes the centos container has mbedtls installed….has for quite some 
time since it is a listed

prerequisite straight out of the Makefile.

Ed




Just uninstalling it should disable the tlsmbedtls plugin, which is 
what we pretty much want.


Florin

On Apr 11, 2019, at 1:00 PM, Dave Wallace > wrote:


Tom/Billy,

Do you know what the current status is with the VPP rpm's on 
master/19.04?


I'm trying to install the VPP 19.04 packages frompackagecloud.io 
on a centos7 Vagrant/virtualbox VM (using 
.../vpp/extras/vagrant/Vagrantfile) to verify that the packages 
are correct. The 19.01 packages install fine, but the 19.04 and 
master packages fail with the following dependency errors:


--> Finished Dependency Resolution
Error: Package: vpp-plugins-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: libmbedtls.so.10()(64bit)
Error: Package: vpp-devel-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: /usr/bin/python3
Error: Package: vpp-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: /usr/bin/python3
Error: Package: vpp-plugins-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: libmbedx509.so.0()(64bit)
Error: Package: vpp-plugins-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: libmbedcrypto.so.2()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Thanks,
-daw-
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12768):https://lists.fd.io/g/vpp-dev/message/12768
Mute This Topic:https://lists.fd.io/mt/31034762/675152
Group Owner:vpp-dev+ow...@lists.fd.io 

Unsubscribe:https://lists.fd.io/g/vpp-dev/unsub [fcoras.li...@gmail.com 
]

-=-=-=-=-=-=-=-=-=-=-=-


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12769):https://lists.fd.io/g/vpp-dev/message/12769
Mute This Topic:https://lists.fd.io/mt/31034762/675649
Group Owner:vpp-dev+ow...@lists.fd.io 

Unsubscribe:https://lists.fd.io/g/vpp-dev/unsub [e...@cisco.com 
]

-=-=-=-=-=-=-=-=-=-=-=-




--
*Thomas F Herbert*
NFV and Fast Data Planes
Networking Group Office of the CTO
*Red Hat*


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12781): https://lists.fd.io/g/vpp-dev/message/12781
Mute This Topic: https://lists.fd.io/mt/31034762/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] VPP 19.04 centos7 RPM package dependency errors

2019-04-12 Thread Dave Wallace

Correction. Make that [2] instead of [1]

-daw-

[2] https://wiki.fd.io/view/VPP/Installing_VPP_binaries_from_packages

On 4/12/2019 12:42 PM, Dave Wallace via Lists.Fd.Io wrote:

Tom

Package installation instructions most appreciated.  I am now able to 
install/verify the 19.04 packages using the current centos7 image 
specified in .../vpp/extras/vagrant/Vagrantfile.


I will add a note with these package installation dependencies to the 
wiki page [1] for 19.04 package installation.


Thanks,
-daw-

[1] 
https://wiki.fd.io/view/VPP/Pulling,_Building,_Running,_Hacking_and_Pushing_VPP_Code


On 4/11/2019 6:25 PM, Thomas F Herbert wrote:


Dave and Ed,

The Makefile has dependencies that work. However, you will need epel. 
The packages required are:


yum install epel-release

yum install mbedtls

yum install python36

--Tom


On 04/11/2019 05:11 PM, Florin Coras wrote:
We do have it as a dependency because we want to make sure the 
plugin still builds. However, given that most of those who use tls 
use the openssl engine, we might consider not having mbedtls as a 
dependency for the packages that we push to packagecloud ...


On a separate note, what centos do we run in the container? It seems 
that even python3 has some dependency errors. I guess that once we 
align the vagrant version with it, things should just work.


Florin

On Apr 11, 2019, at 1:55 PM, Ed Kern (ejk) > wrote:




On Apr 11, 2019, at 2:22 PM, Florin Coras > wrote:


Are we building rpms on a host that has mbedtls installed?


Yes the centos container has mbedtls installed….has for quite some 
time since it is a listed

prerequisite straight out of the Makefile.

Ed




Just uninstalling it should disable the tlsmbedtls plugin, which 
is what we pretty much want.


Florin

On Apr 11, 2019, at 1:00 PM, Dave Wallace > wrote:


Tom/Billy,

Do you know what the current status is with the VPP rpm's on 
master/19.04?


I'm trying to install the VPP 19.04 packages frompackagecloud.io 
on a centos7 Vagrant/virtualbox VM 
(using .../vpp/extras/vagrant/Vagrantfile) to verify that the 
packages are correct.  The 19.01 packages install fine, but the 
19.04 and master packages fail with the following dependency errors:


--> Finished Dependency Resolution
Error: Package: vpp-plugins-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: libmbedtls.so.10()(64bit)
Error: Package: vpp-devel-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: /usr/bin/python3
Error: Package: vpp-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: /usr/bin/python3
Error: Package: vpp-plugins-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: libmbedx509.so.0()(64bit)
Error: Package: vpp-plugins-19.04-rc1~b4.x86_64 (fdio_1904)
   Requires: libmbedcrypto.so.2()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Thanks,
-daw-
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online 
(#12768):https://lists.fd.io/g/vpp-dev/message/12768

Mute This Topic:https://lists.fd.io/mt/31034762/675152
Group Owner:vpp-dev+ow...@lists.fd.io 

Unsubscribe:https://lists.fd.io/g/vpp-dev/unsub [fcoras.li...@gmail.com 
]

-=-=-=-=-=-=-=-=-=-=-=-


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12769):https://lists.fd.io/g/vpp-dev/message/12769
Mute This Topic:https://lists.fd.io/mt/31034762/675649
Group Owner:vpp-dev+ow...@lists.fd.io 

Unsubscribe:https://lists.fd.io/g/vpp-dev/unsub [e...@cisco.com 
]

-=-=-=-=-=-=-=-=-=-=-=-




--
*Thomas F Herbert*
NFV and Fast Data Planes
Networking Group Office of the CTO
*Red Hat*



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12781): https://lists.fd.io/g/vpp-dev/message/12781
Mute This Topic: https://lists.fd.io/mt/31034762/675079
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [dwallac...@gmail.com]
-=-=-=-=-=-=-=-=-=-=-=-


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12782): https://lists.fd.io/g/vpp-dev/message/12782
Mute This Topic: https://lists.fd.io/mt/31034762/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


[vpp-dev] VPP 19.04 RC1 Milestone is COMPLETE!

2019-04-12 Thread Dave Wallace

Folks,

The VPP 19.04 RC1 Milestone is complete and stable/1904 is open for bug 
fixes!


I have sanity tested the xenial, bionic, and centos packages that are 
available in packagecloud.io -- see [1] for instructions on how to 
install from binary packages.


As is customary for all VPP stable branches, only bug fixes are allowed 
to be merged into stable/1904 and all bug fixes should conform to the 
following rules:


  - All bug fixes must be double-committed to the release throttle as 
well as to the master branch
  - Commit first to the release throttle, then "git cherry-pick" into 
master
  - Manual merges may be required, depending on the degree of 
divergence between throttle and master

  - All bug fixes need to have a Jira ticket
  - Please put Jira IDs into the commit messages.
  - Please use the same Jira ID for commits into the stable branch and 
master.


Many thanks to Vanessa Valderrama, Ed Warnicke, and Ed Kern for their 
assistance.


Next up, VPP 19.04 RC2 Milestone is next Wednesday April 17, 2019 1800 UTC.

Thanks,
-daw-
"Your Friendly VPP 19.04 Release Manager"

[1] https://wiki.fd.io/view/VPP/Installing_VPP_binaries_from_packages
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12783): https://lists.fd.io/g/vpp-dev/message/12783
Mute This Topic: https://lists.fd.io/mt/31069178/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-