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

Build sonic-vpp from sonic-buildimage #123

Merged
merged 11 commits into from
Oct 28, 2024

Conversation

yue-fred-gao
Copy link
Contributor

@yue-fred-gao yue-fred-gao commented Oct 21, 2024

Why

Today sonic-vpp is built by replacing sonic-vs. This requires a lot of patching. For details, please see sonic-vpp-setup.sh. There are a few issues in this approach.

  1. sonic base version is fixed until upgraded explicitly with PR. This can be seen in the above script.
  2. Upgrading sonic is not trivial because we have to resolve conflicts in above patching process.

What does it do

  • Remove platform/vpp from directory hierarchy.
  • Various header changes to remove meta/ because those headers are not private to sonic-sairedis. See PR Adding vpp platform sonic-sairedis#1424.
  • Add sonic-platform-modules-vpp to install VPP specific files
  • Add platform_setup.sh to tweak sonic-device-data before build
  • Add vpp-port-config.service to run vpp_ports_setup.sh for changing
    the driver of data ports to dpdk
  • Move .mk and .dep to rules directory

NOTE: single container build is not supported at this point. To build single container image, use prior-to-build-change branch for now.

1. Build vpp
2. Build saivpp
3. Build vppcfgd
4. Build syncd
5. Build hwsku
6. Install scripts
7. Build image
 - about to create a libsaivppstub to break the circular dependency
 - Add sonic-platform-modules-vpp to install VPP specific files
 - Add platform_setup.sh to tweak sonic-device-data before build
 - Add vpp-port-config.service to run vpp_ports_setup.sh for changing
   the driver of data ports to dpdk
 - Move .mk and .dep to rules directory
 - Status: ping is working
 - Remove SAI submodule and share the one in sairedis. It needs to be in sync with sairedis.
 - Update saivpp due to SAI changes
 - Remove buildinfo from docker-syncd-vpp. It is produced by docker build.
@yue-fred-gao yue-fred-gao requested a review from abdbaig October 21, 2024 20:55
Copy link
Contributor

@linqingxuan linqingxuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code structure of this submitted project is more reasonable

@yue-fred-gao yue-fred-gao merged commit 0023aba into sonic-net:main Oct 28, 2024
1 check passed
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

Successfully merging this pull request may close these issues.

3 participants