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

[syncd]: Generate syncd_dash #1377

Merged
merged 1 commit into from
May 10, 2024
Merged

Conversation

Pterosaur
Copy link
Contributor

Make original syncd-vs and syncd-dash co-exist.

Make original syncd-vs and syncd-dash co-exist.

Signed-off-by: Ze Gan <ganze718@gmail.com>
@Pterosaur Pterosaur requested a review from kcudnik May 9, 2024 04:07
@kcudnik
Copy link
Collaborator

kcudnik commented May 9, 2024

what's the reason to make this separate binaries ?

@Pterosaur
Copy link
Contributor Author

Pterosaur commented May 9, 2024

what's the reason to make this separate binaries ?

Guohan suggests to keep the dash sai and virtual sai in ONE image and we can toggle them at the runtime via command line instead of compiling time. So, The only method I thought is to keep separate binaries.

@Pterosaur Pterosaur merged commit 256ce7d into sonic-net:master May 10, 2024
17 checks passed
@Pterosaur Pterosaur deleted the syncd_dash branch May 10, 2024 00:32
lguohan pushed a commit to sonic-net/sonic-buildimage that referenced this pull request May 17, 2024
Why I did it
Provide POC for development and cooperation.
Test for CI (Azp)

Microsoft ADO (number only): 27515178

How I did it
HLD: sonic-net/SONiC#1634

How to verify it
Merge PR: sonic-net/sonic-sairedis#1377

Download the vsdpu image from Azp
check the syncd links to the correct DASH SAI
admin@vlab-01:~$ docker exec -ti syncd bash
root@vlab-01:/# dpkg -l | grep sai
ii  libsai                                 1.0.0                          amd64        This package contains DASH libsai
root@vlab-01:/# dpkg -L libsai
/.
/etc
/etc/dash
/etc/dash/dash_pipeline.json
/etc/dash/dash_pipeline_ir.json
/etc/dash/dash_pipeline_p4rt.json
/etc/dash/dash_pipeline_p4rt.txt
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libsai.so
root@vlab-01:/# which syncd_dash
/usr/bin/syncd_dash
root@vlab-01:/# ldd /usr/bin/syncd_dash | grep sai
        libsaimetadata.so.0 => /usr/lib/x86_64-linux-gnu/libsaimetadata.so.0 (0x00007f949e99b000)
        libsaimeta.so.0 => /usr/lib/x86_64-linux-gnu/libsaimeta.so.0 (0x00007f949e8ca000)
        libsai.so => /usr/lib/x86_64-linux-gnu/libsai.so (0x00007f949e417000)
root@vlab-01:/# md5sum /usr/lib/x86_64-linux-gnu/libsai.so
9e86fa2f49a824837064d1b8f95b7e48  /usr/lib/x86_64-linux-gnu/libsai.so
root@vlab-01:/# ls /etc/dash
dash_pipeline.json  dash_pipeline_ir.json  dash_pipeline_p4rt.json  dash_pipeline_p4rt.txt
Check the dash engine logs(BMv2) likes following
admin@vlab-01:~$ docker logs dash_engine
Calling target program-options parser
Adding interface eth1 as port 0
[11:20:12.458] [bmv2] [D] [thread 7] Adding interface eth1 as port 0
[11:20:12.500] [bmv2] [E] [thread 7] Add port operation failed
Adding interface eth2 as port 1
[11:20:12.500] [bmv2] [D] [thread 7] Adding interface eth2 as port 1
[11:20:12.556] [bmv2] [E] [thread 7] Add port operation failed
Server listening on 0.0.0.0:9559
[11:22:09.706] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_dash_pipeline241': dash_pipeline241 -
[11:22:09.706] [bmv2] [D] [thread 23] Set default default entry for table 'dash_ingress.vip': dash_ingress.deny -
[11:22:09.706] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_dash_pipeline247': dash_pipeline247 -
[11:22:09.706] [bmv2] [D] [thread 23] Set default default entry for table 'dash_ingress.direction_lookup_stage.direction_lookup': dash_ingress.direction_lookup_stage.set_inbound_direction -
[11:22:09.706] [bmv2] [D] [thread 23] Set default default entry for table 'dash_ingress.appliance': NoAction -
[11:22:09.706] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_eni_lookup33': eni_lookup33 -
[11:22:09.706] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_eni_lookup33_0': eni_lookup33_0 -
[11:22:09.706] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_eni_lookup33_1': eni_lookup33_1 -
[11:22:09.706] [bmv2] [D] [thread 23] Set default default entry for table 
...
[11:23:32.035] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_metering_update92': metering_update92 -
[11:23:32.035] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_metering_update94': metering_update94 -
[11:23:32.035] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_metering_update97': metering_update97 -
[11:23:32.035] [bmv2] [D] [thread 23] Set default default entry for table 'dash_ingress.metering_update_stage.meter_bucket': NoAction -
[11:23:32.035] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_metering_update103': metering_update103 -
[11:23:32.035] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_metering_update105': metering_update105 -
[11:23:32.035] [bmv2] [D] [thread 23] Set default default entry for table 'dash_ingress.metering_update_stage.eni_meter': NoAction -
[11:23:32.035] [bmv2] [D] [thread 23] Set default default entry for table 'tbl_drop_action': dash_ingress.drop_action -
[11:23:32.049] [bmv2] [D] [thread 23] simple_switch target has been notified of a config swap

Signed-off-by: Ze Gan <ganze718@gmail.com>
@lguohan
Copy link
Contributor

lguohan commented Jun 10, 2024

should b bmv2 sai, not dash sai. @Pterosaur

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