stratum / fabric-tna

The SD-Fabric data plane
https://docs.sd-fabric.org/
31 stars 15 forks source link

Issue with pushing pipeconfs #509

Closed hrezae2 closed 2 years ago

hrezae2 commented 2 years ago

Hi all, It may not be an issue with fabric-tna but I was hoping someone here can help me. I followed the instructions and everything works fine but I am not able to push pipeconfs to my onos host. When I check onos logs I see this: 2022-03-15T15:43:25,644 | ERROR | onos-gdp-8 | DeviceTaskExecutor | 228 - org.onosproject.onos-providers-general-device - 2.7.0 | Unable to complete task CONNECTION_SETUP for device:leaf-1: pipeconf org.stratumproject.fabric.mavericks_sde_9_7_0 not registered

I push pipeconfs to another server that hosts my onos: make pipeconf-install ONOS_HOST=192.168.137.52. Onos version = 2.7.0 Any ideas? Many thanks in advance!

Yi-Tseng commented 2 years ago

Hi, can you check the output of pipeconfs from the ONOS command line?

hrezae2 commented 2 years ago

@Yi-Tseng Thanks for your reply. Here is the output of pipeconfs command:

id=org.onosproject.pipelines.int, behaviors=[PiPipelineInterpreter, Pipeliner, PortStatisticsDiscovery, IntProgrammable], extensions=[P4_INFO_TEXT, BMV2_JSON] id=org.onosproject.pipelines.basic, behaviors=[PiPipelineInterpreter, Pipeliner, PortStatisticsDiscovery], extensions=[P4_INFO_TEXT, BMV2_JSON]

hrezae2 commented 2 years ago

@Yi-Tseng Let me add this that I have my SDE natively installed not in a docker container. Could this be the reason?

Yi-Tseng commented 2 years ago

Did you build the pipeline before you build the pipeconf?

make fabric
make pipeconf
hrezae2 commented 2 years ago

make fabric fails I think because I am not using a dockerized sde: "docker: Error response from daemon: unauthorized: unauthorized to access repository: bf-sde/bf-sde, action: pull: unauthorized to access repository: bf-sde/bf-sde, action: pull" But make pipeconf compiles successfully. Then I built the profiles. Do I need to change the path to bf-p4c in .env so that it points to the path in my local switch (not to a docker container)?

Yi-Tseng commented 2 years ago

We are using the containerized environment to build the P4 code. You need to create a container image with bf-p4c binary and related files(core.p4, tofino.p4...) installed.

If you want to use a local p4 compiler, you can modify the build.sh script to use bf-p4c instead of the container. https://github.com/stratum/fabric-tna/blob/main/p4src/tna/build.sh#L27-L29

hrezae2 commented 2 years ago

Yes, thanks! I wanted to post an update that I solved this issue by updating build.sh script and then I saw your message here! Many thanks for your help.