-
Notifications
You must be signed in to change notification settings - Fork 19
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
implement resource pool client #176
Comments
Sounds good to me. @Bolodya1997 Looks like it is related to your owning component. Could you also take a look at the suggestion? |
We can extract some common logic and create a client chain element, but there is some basic problem with it.
With Endpoint there will be another scheme:
So the only way to pass IOMMU group back to the Endpoint is to make second Request from the Forwarder. And there is no way to make this selection before we get token ID from the Endpoint. @pperiyasamy is this a problem? Or probably you just don't want to pass something back to the Endpoint and so it is OK to you? |
@Bolodya1997 Good find! in case of smartnic scenario, the VF would be just a kernel interface (also can be used as a DPDK device) configured inside endpoint container with IP address and routes (though interface name is derived in the forwarder) sent by endpoint upon service request. I hope that would be sufficient for endpoint to figure out which interface belongs to which p2p network in case if that's needed by endpoint application, it also has to have extra logic to figure out pci address of the VF device in dpdk scenario. /cc @JanScheurich |
Mellanox SRIOV VFs are always bound to their mlx5_core kernel driver, so the netdev will be visible to the NSE pod. |
@JanScheurich A question (to make sure I understand :) ).
|
Yes
The SmartVF netdevs must be inserted into the NSE and NSC pod namespaces. Otherwise the NSC/NSE could not use it at all neither via kernel networking, nor as DPDK interface, nor as RDMA interface.
That's the job of the OVS forwarder. It injects in into the pod namespace and applies all the usual interface configuration for a kernel interface. |
@JanScheurich currently its not, but in case of ovs forwarder, let it create a service request with interface name in mechanism preference parameter and let NSE use it for mapping afterwards. but application have to find a way to retrieve PCI device address using interface name. |
Got it... that's answers my question... the way you had phrased it sounded like you expected it to already be there before the Forwarder did its work. Happy to have misunderstood there :) |
I believe there are lots of ways of retrieving the PCI information for an interface: $ ethtool -i eth0
driver: i40e
version: 1.5.16
firmware-version: 5.04 0x800024cd 0.0.0
bus-info: 0000:06:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes |
This repo contains resource pool server implementation which helps to select VF from right resource pool based on tokenID passed from client in the service request.
Can we also extend it to have client implementation so that VF attachment support available for endpoint container?
The text was updated successfully, but these errors were encountered: