VPP as data-plane

724 views
Skip to first unread message

Chetan Kumar

unread,
Oct 3, 2021, 12:01:52 PM10/3/21
to sonicproject
Hi,

I am still trying to understand SONiC. 

I searched through  the archives and net, did not find SONiC SAI layer implementation for fd.io VPP. 

Is my search correct? No one ever felt this was one of the option?

Any thoughts

Thanks
C

Chetan Kumar

unread,
Oct 5, 2021, 1:27:07 PM10/5/21
to sonicproject
Hi,
If there is no implementation and if this make sense, I am planning to add this. 

Please let me know if this make sense.

Thanks
C

Nilesh Inamdar

unread,
Sep 29, 2022, 1:20:55 PM9/29/22
to sonicproject
Hi Shivakumar,

I am also looking for SAI layer for vpp.
Did you write it or got any info ?

Thanks
Nilesh

Kishore Atreya

unread,
Sep 30, 2022, 4:11:07 PM9/30/22
to sonicproject
Is the idea to use the SONiC control plane on top of a VPP data plane? The SAI today doesn't define a VPP pipeline. This has to be done and submitted to the community.

What is the use case?

Masaru OKI

unread,
Oct 2, 2022, 12:59:23 AM10/2/22
to Kishore Atreya, sonicproject
SONiC-VS is working as a virtual machine, but not enough throughput.

2022年10月1日(土) 5:11 Kishore Atreya <atreya....@gmail.com>:
--
You received this message because you are subscribed to the Google Groups "sonicproject" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonicproject...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonicproject/2394c559-4165-4456-a4c8-16cc53cd8eaen%40googlegroups.com.

Nilesh Inamdar

unread,
Oct 2, 2022, 1:16:51 PM10/2/22
to Masaru OKI, Kishore Atreya, sonicproject
Hi Kishore,

Yes, the idea is to use SONIC as a control plane and VPP as a data plane.
The use case here is to have a SAI layer working for VPP as a data plane, so that all the information(for features like VLAN, ACL, IPSec, etc) from the SONIC control plane can be programmed into the VPP.

Currently, I am using VS as a build target for SONIC.
In SONIC code, I see that there is SAI code under the platform directory for various platforms like mellanox, broadcom, etc.
I would need some pointers to start writing SAI support for VPP as a data plane.
Do I need to add SAI code in platform directory VS ? Or do I need to create a new folder under a platform directory named as VPP and write new SAI code there? Also there is SAI related code in "src/sonic-sairedis/SAI".
So any pointers/doc on how to start writing SAI implementation for VPP ?
Thanks in advance for help.

Thanks and regards
Nilesh Inamdar






You received this message because you are subscribed to a topic in the Google Groups "sonicproject" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sonicproject/wsP8NkisWNA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sonicproject...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonicproject/CA%2ButPHGAMRctJ-1hOqm1WXt7j%3DvP6sMOPPX5A8RW6g-Qch701g%40mail.gmail.com.

Shashidhar Patil

unread,
Oct 4, 2022, 4:01:34 AM10/4/22
to sonicproject
Hi Shivkumar,
   I have a working SONiC+VPP for data plane implementation that I plan to commit in few weeks. The code changes are still in alpha state. 
At the moment I have routing(IPv4, IPv6)/interface/Host Path(ARP, routing protocols etc) functionality working.  Currently working on support few more features.
Will update this forum about the status and results in few weeks.

Thanks
-Shashidhar

Nilesh Inamdar

unread,
Oct 4, 2022, 4:38:14 AM10/4/22
to Shashidhar Patil, sonicproject
Hi Shashidhar

Does the communication between SONC and VPP is via SAI layer ?

Thanks
Nilesh Inamdar

--
You received this message because you are subscribed to a topic in the Google Groups "sonicproject" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sonicproject/wsP8NkisWNA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sonicproject...@googlegroups.com.

Shashidhar Patil

unread,
Oct 4, 2022, 9:07:16 AM10/4/22
to Nilesh Inamdar, sonicproject
Yes the communication is through Sonic SAI layer.

Nilesh Inamdar

unread,
Oct 11, 2022, 3:34:37 AM10/11/22
to Shashidhar Patil, sonicproject
Hi Shashidhar,

Will it be possible for you to share SAI code with us (for SONIC + VPP) ?
We have also started writing SAI for vpp as a platform. We are planning to implement vlan, ipsec, acl, etc.
But before that we wanted to look into SAI layer implementation.
If possible can you please share your code(in alpa state is also fine with us) so that we can understand the SAI implementation ?

Thanks
Nilesh Inamdar

Shashidhar Patil

unread,
Oct 11, 2022, 8:41:58 AM10/11/22
to Nilesh Inamdar, sonicproject
Hi Nilesh,
    Sorry to say that I can't yet share the source code.  Please wait for a few more weeks.  

Thanks
-Shashidhar

Nilesh Inamdar

unread,
Oct 11, 2022, 9:26:44 AM10/11/22
to Shashidhar Patil, sonicproject
Ok, no problem. 

Nilesh Inamdar

unread,
Dec 13, 2022, 3:29:10 AM12/13/22
to Shashidhar Patil, sonicproject
Hi Shashidhar,

We have also started working on VPP as a data plane for SONIC. 
Can you please share your timelines when you plan to make the code available ?
So that we need not spend time duplicating the work.

Thanks and regards,
Nilesh Inamdar


Shashidhar Patil

unread,
Dec 14, 2022, 3:20:45 AM12/14/22
to Nilesh Inamdar, sonicproject
Hi Nilesh,
     We are still in development mode. The code will be made available , after due process, 3 months from now. Thanks.

-Shashidhar

Nilesh Inamdar

unread,
Dec 14, 2022, 3:28:18 AM12/14/22
to Shashidhar Patil, sonicproject
Hi Shashidhar,

Thanks for sharing information.

Thanks
Nilesh Inamdar

Neil McKee

unread,
Feb 3, 2023, 2:43:32 PM2/3/23
to Nilesh Inamdar, Shashidhar Patil, sonicproject
I know this is not likely to be part of any first-pass implementation,  but just wanted to add that I have started working on a sFlow plugin to the VPP dataplane.
There is a learning curve -- still more questions than answers -- but it looks like it is going to perform well:

The sflow configuration is currently passed to hsflowd via redis.  It consists of both interface sampling rates and collector targets.  The vpp dataplane just needs to know the interfaces and their sampling rates ("sflow enable <interface> <sampling_N>").  VPP then sends samples to the standard Linux PSAMPLE netlink channel just like, say, the Broadcom or Mellanox ASIC driver.  That should mean the SAI -> vppctrl mappings for sFlow will be straightforward.

One thing to watch out for is the mapping between SONiC ifIndex numbers,  Linux ifIndex numbers,  and VPPs internal "software ifindex number".  I think it would be better for VPP if it was never expected to deal with the SONiC ifIndex numbers.  Looking at how others have done this (https://github.com/pimvanpelt/lcpng), it seems you will want to create a "tap" interface corresponding to each physical switch port even if VPP has taken over that port (NIC) over with the dpdk driver.  That way what VPP sees as the "hardware ifindex number" will be the Linux ifIndex number that is required for PSAMPLE.  Does this make sense?

I appreciate that this might be a distraction for now,  but please keep me in the loop when the time comes.

Neil

------
Neil McKee
InMon Corp.



You received this message because you are subscribed to the Google Groups "sonicproject" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonicproject...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonicproject/CAMF7kZbYKdaw%3DkAqnZ1aDv%3D7LMWEd20cak%3DAC3QuLeSSj4aFDg%40mail.gmail.com.

Shashidhar Patil

unread,
Feb 6, 2023, 3:14:35 AM2/6/23
to Neil McKee, Nilesh Inamdar, sonicproject
Hi Neil,
     There is one-to-one correspondence between SONiC and VPP data plane interfaces. Ethernet0(sonic) ---> host-eth0 (vpp).
The saivpp layer maintains this ifindex mapping. The API translation layer will duly pass the require ifindex to vpp. So VPP
is oblivious to SONiC side of logic.

Thanks
-Shashidhar

Neil McKee

unread,
Feb 6, 2023, 12:02:20 PM2/6/23
to Shashidhar Patil, Nilesh Inamdar, sonicproject
Sounds good, but does the VPP data plane also know the underlying Linux ifIndex numbers?

------
Neil McKee
InMon Corp.


Amit Limaye

unread,
Mar 15, 2023, 1:36:39 PM3/15/23
to sonicproject
Hey Shashidhar,
                       have you guys made any progress on open sourcing the code. 

marcos...@gmail.com

unread,
Apr 26, 2023, 1:09:24 AM4/26/23
to sonicproject
It was finally published last month: https://github.com/sonic-net/sonic-platform-vpp

Aakash Kumar.S

unread,
Jun 8, 2023, 5:59:27 AM6/8/23
to sonicproject
Hi,
Is there a plan or an ongoing activity to support DASH APIs under sonic-platform-vpp ?

Shashidhar Patil

unread,
Jun 8, 2023, 11:25:35 AM6/8/23
to Aakash Kumar.S, sonicproject
Hi Aakash,
    There is no plan yet to support DASH APIs/features in VPP. We will support dash in the future.
That said the saivpp accepts the API requests but does not act on them.

The features mentioned in the linke below are planned (Phase 2 onwards).


Thanks

You received this message because you are subscribed to the Google Groups "sonicproject" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonicproject...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonicproject/426b1aa1-0c85-4811-a412-c0a9976afb0dn%40googlegroups.com.

Aakash Kumar.S

unread,
Jun 8, 2023, 11:56:07 AM6/8/23
to sonicproject
Hi  Shashidhar,
Thanks for the reply. I had gone through that link. But the features mentioned ( i.e Phase 2 onwards) doesn't talk about DASH objects. Hence the question.

Thanks,
Aakash

Aakash Kumar.S

unread,
Jun 9, 2023, 12:50:32 AM6/9/23
to sonicproject
Hi Shashidhar,
Maybe i understood differently earlier. Are you trying to say the DASH support would be planned post completion of phase4 ? 
If that's the case (and I know its might be too early to ask, but) do we have a tentative timeline when DASH support would be planned ?

Thanks,
Aakash

Reply all
Reply to author
Forward
0 new messages