Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lacp not implemented #140

Open
linqingxuan opened this issue Nov 26, 2024 · 17 comments
Open

lacp not implemented #140

linqingxuan opened this issue Nov 26, 2024 · 17 comments

Comments

@linqingxuan
Copy link
Contributor

I found that lacp is not implemented on the vpp platform. How to implement teamd with vpp

@linqingxuan linqingxuan changed the title Lacp méiyǒu shíxiàn 8 / 5,000 lacp not implemented lacp not implemented Nov 26, 2024
@yue-fred-gao
Copy link
Contributor

LACP is tricky to support. SONIC implements LACP in control plane but vpp implements it in data plane. It doesn't punt LACP packets so SONIC will see LAG interface down because it is not receiving LACP packets. There is also complication involved the host path from vpp to kernel interface. @AkeelAli is investigating it.

@linqingxuan
Copy link
Contributor Author

I have also investigated this lacp problem recently. Now I feel that sonic needs to be modified less. The vpp plug-in to implement the new bond mainly has two aspects: 1. Support sai control up and down, 2. lacp message is sent to the physically mapped tap. But I just started to try to write this plug-in recently.

@linqingxuan
Copy link
Contributor Author

Hello @AkeelAli , I hope to help you in the lacp research and complete it together.

@AkeelAli
Copy link
Contributor

Hi @linqingxuan, we had a code-a-thon last week during which I was able to bring-up the PortChannel in sonic with LACP and ping between the interfaces. I had to modify the vpp linux-cp plugin to punt/inject lacp packets + modify SAI for IP config and forward packets from tap to PortChannel. Currently in prototype version, I intend to work on refining it in coming days.

@yue-fred-gao
Copy link
Contributor

Hi @AkeelAli, it is great you got it working. I think it might be a good idea to write a HLD about your approach. We can get some input from community, which may help in the final solution.

@AkeelAli
Copy link
Contributor

Sounds good, I will start an HLD to document this prototype version and raise a PR.

@bendrapubalareddy
Copy link
Contributor

bendrapubalareddy commented Dec 16, 2024 via email

@AkeelAli
Copy link
Contributor

AkeelAli commented Dec 16, 2024

@bendrapubalareddy Yes agreed. The LACP changes build on top of #91 so I think it can be committed. I will approve from my side. Note: I had to adapt them to latest as there were conflicts.

@AkeelAli
Copy link
Contributor

Hi @linqingxuan, I added the current LACP design details in #146. Will be adding to this PR as I continue my work. Please let me know how you would like to contribute.

@linqingxuan
Copy link
Contributor Author

Hello, I apologize that due to work reasons at the end of the year, I haven't paid attention to VPP for a long time. I'd like to know if there are any tasks now that I could help with

@yue-fred-gao
Copy link
Contributor

Hello, I apologize that due to work reasons at the end of the year, I haven't paid attention to VPP for a long time. I'd like to know if there are any tasks now that I could help with

hi @linqingxuan, thanks for offering help. If you are referring to LAG, @AkeelAli can share the current status. If you are talking about sonic-vpp in general, we are focusing on running sonic-mgmt T1 topo test with sonic-vpp. Have you run sonic-mgmt test before?

@AkeelAli
Copy link
Contributor

@linqingxuan
Copy link
Contributor Author

Hello, I apologize that due to work reasons at the end of the year, I haven't paid attention to VPP for a long time. I'd like to know if there are any tasks now that I could help with

hi @linqingxuan, thanks for offering help. If you are referring to LAG, @AkeelAli can share the current status. If you are talking about sonic-vpp in general, we are focusing on running sonic-mgmt T1 topo test with sonic-vpp. Have you run sonic-mgmt test before?

Having used sonic-mgmt, I find that I prefer a more hardware-centric approach utilizing Spirent traffic generators, physical vSwitch machines, and GNS3 simulators. This allows me to avoid potential compatibility concerns associated with software-based solutions like sonic-mgmt。If possible, I'd be happy to help with the relatively simple task of code testing. The following tests can be performed:

Sonic VPP on both ends.
Tofino on one end and VPP on the other.
Huawei on one end and VPP on the other.
MLAG on the remote end and PortChannel on the local VPP.
Some other tests.

I made a mistake when submitting. Can the administrator help me reopen it? I'm very sorry.

@linqingxuan
Copy link
Contributor Author

I will first complete a version of sonic-mgmt tests

@yue-fred-gao yue-fred-gao reopened this Jan 22, 2025
@yue-fred-gao
Copy link
Contributor

hardware based testing is definitely valuable. But vpp doesn't have much regressions. On the other hand, sonic-mgmt has lots of test cases and running sonic mgmt did uncover lots of issues. For example, issue #135 was found during sonic mgmt tests. I haven't got time to look at it. If you have some time, maybe you can start with that. You might be able to reproduce it by rebooting manually.

@linqingxuan
Copy link
Contributor Author

I will try to reproduce the issue and fix it. Has anyone set up our Azure Sonic-img pipeline yet? If not, I'd like to give it a shot.

@yue-fred-gao
Copy link
Contributor

I have a PR for a while but it is not merged yet: sonic-net/sonic-buildimage#21188. I will ping them. BTW, if you update platform/vpp submodule to the latest of sonic-net/sonic-platform-vpp, you need to patch above PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants