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

Incorporating sdk-sriov functionality into sdk-vpp xconnectns chain #314

Closed
edwarnicke opened this issue Jul 16, 2021 · 7 comments
Closed
Assignees

Comments

@edwarnicke
Copy link
Member

sdk-sriov is very exciting. It would be nice to be able to incorporate its functionality into cmd-vpp-forwarder.

I do understand there are some tricky bits to doing so. Lets scope them out here so we can sort them out.

@Bolodya1997
Copy link

@edwarnicke
I see here one little problem - currently we have some multiforwarder integration tests needed 2 different types of forwarders supporting different mechanisms. Integrating both existing forwarders to single one would make them not valid.
Would it be OK to rework these tests with custom endpoints validating the path and accepting Request only from special forwarder?

@Bolodya1997
Copy link

@edwarnicke
Do we need here to introduce new sriov-kernel mechanism? I suppose that there is some difference between the kernel interface backed by NIC VF and tap kernel interface but there is totally no chance for the user to request right type of kernel interface.
On the other hand we can additionally check if Request contains SR-IOV token ID and so understand it like requesting the VF backed kernel interface and return an error if we are failing to provide it.

What do you think?

@edwarnicke
Copy link
Member Author

On the other hand we can additionally check if Request contains SR-IOV token ID and so understand it like requesting the VF backed kernel interface and return an error if we are failing to provide it.

This seems like the better choice :)

@Bolodya1997
Copy link

Bolodya1997 commented Aug 20, 2021

Currently there are the following tasks needs to be finished to complete this task:

Merge forwarders:

  1. Add generic Forwarder chain - [sdk-vpp#314] Forwarder chain sdk#1045.
  2. Add labels to support complicated switchcase scenarios - [sdk-vpp#314] Add label chain elements and condition sdk#1047.
  3. Add SR-IOV token ID mechanism parameter on the API level - [sdk-vpp#314] Add SR-IOV token ID mechanism parameter for kernel, VFIO mechanisms api#110.
  4. Start using SR-IOV token ID mechanism parameter from the API in sdk-sriov (depends on [3]) - [sdk-vpp#314] Use token ID key from api sdk-sriov#227.
  5. Merge SR-IOV forwarder chain into the VPP forwarder chain (depends on [1, 2, 3, 4]) - [sdk-vpp#314] Incorporate SR-IOV forwarder chain into xconnectns #325.
  6. Rework cmd-forwarder-vpp to use new forwarder chain - (depends on [5]) - [sdk-vpp#314] SR-IOV forwarder cmd-forwarder-vpp#300.

Fix tests:

  1. Add reading opa.Policies from string to make possible forwarder selection from the Endpoint for multiforwarder test cases - [sdk-vpp#314] Add opa.Policies with reading from string sdk#1050.
  2. Configure opa.Policies from env to make possible ... (depends on [1]) - [sdk-vpp#314] Use OPA policies in config cmd-nse-icmp-responder#265.
  3. Rework all integration tests to the new forwarder (depends on [Merge forwarders, 2]) - [sdk-vpp#314] Update tests to new VPP forwarder deployments-k8s#2413.

@denis-tingaikin
Copy link
Member

@edwarnicke All PRs are merged. Can we close the issue?

@edwarnicke
Copy link
Member Author

@denis-tingaikin Is it being tested in integration?

@Bolodya1997
Copy link

Done and tested.

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

3 participants