-
Notifications
You must be signed in to change notification settings - Fork 11
Closed
Milestone
Description
spec:
subnet: "172.34.0.0/16"
ipam: |
{
"type": "multi-nic-ipam",
"hostBlock": 8,
"interfaceBlock": 2,
"vlanMode": "l2"
}
multiNICIPAM: true
plugin:
cniVersion: "0.3.0"
type: sriov
args:
numVfs: "2"
isRdma: "true"How it works?
Requires sriov-operator to operate configuration
Controller automatically generate NetworkAttachmentDefinition (NAD)
The important function is GetConfig function
It does the following steps:
-
- create a new SriovNetworkPolicy (new resource name generated from MultiNicNetwork name) if the
resourceNameis not defined inargs.- The policy is created from the provided args including priority, mtu, numVfs, isRdma, needVhostNet
- The policy will automatically add the rootDevices field from the network address defined in spec.masterNets if exists
- create a new SriovNetworkPolicy (new resource name generated from MultiNicNetwork name) if the
-
- create
SriovNetwork--> this SriovNetwork will be operated by sriov operator and generate a different NAD
- create
-
- render NAD from the sriovnet and add resource name from the step in annotations.
The key is step 1 and step 3.
Note that, step 2 might not require the creation to the API server. Need to check whether sriov operator does anything else more than just creating a NAD.
The functionalities of Muti-NIC CNI for SR-IoV use case is that,
- Auto generate sriovnetwork policy and corresponding NAD by list of network addresses (single point of definition)
- Apply Multi-NIC IPAM to compute host-interface range CIDR which allow applying L3 policy on each interface
Tasks
- Try sample SR-IOV MultiNicNetwork
- Check compatibility to SR-IOV operator
- Update controller or CNI as needed
- Add sample use case with predefined resource name and test
- Revisit this folder: https://github.com/foundation-model-stack/multi-nic-cni/tree/main/config/samples/sv-iov
Metadata
Metadata
Assignees
Labels
No labels