Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

architecture=”{hw_arch}",

version=”v1”,

Hpa-attribute-key

Hpa-attribute-value

pciVendorId

1234

pciDeviceId

5678

pciCount

1

cardType

interfaceType

SRIOV-NIC

providerNetwork

Physnet1


hpa-feature=”pciePassthrough”,

architecture=”{hw_arch}",

version=”v1”,

Hpa-attribute-key

Hpa-attribute-value

pciVendorId

2345

pciDeviceId

6789

pciCount

1

cardType

interfaceType

SRIOV-NIC

providerNetwork

Physnet2

1.3 SO call OOF

SO will get pciVendorId, pciDeviceId and interfaceType from CSAR file, then call to OOF. OOF will response homing information to SO, SO don't interpret it and pass through it to Multi-cloud.

1.4

...

VF-C call OOF

VF-C will get pciVendorId, pciDeviceId and interfaceType from CSAR file, then call to OOF. OOF will response homing information to VF-C.

1.5 OOF Response

As we known OOF just check /cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/flavors/flavor/{flavor-id}/hpa-capabilities

...

Seond,  we need to add some attributes in the response returning to SO and VF-C like below.

"oof_directives" : {
         "vnfc_directives":[
              "vnfc_id" "<ID of VNFC>" //Need not filled in today, but for future purposes
                "directives" : [
                  {"directive_name""<Name of directive,example flavor_directive>",
                   "attributes": [
                       {"attribute_name""<name of attribute, such as flavor label>""attribute_value":"<value such as cloud specific flavor>"},
  
                    ]
                  },
                  {"directive_name""<Name of directive,example vnic-info>",
                   "attributes": [
                       {"attribute_name""<name of attribute, such as vnic-type>""attribute_value":"<value such as direct/normal>"},
                       {"attribute_name":"<name of attribute, such as provider netweork>">, "attribute_value":"<value such as physnet>"
                    ]
                  }
                }
              ]
                      }.
         "vnf_directives": {
              "directives" : [
                  {"directive_name""<Name of directive>",
                   "attributes": [
                       {"attribute_name""<name of attribute>""attribute_value":"<value>"},
  
                    ]
                  },
                  {"directive_name""<Name of directive>",
                   "attributes": [
                       {"attribute_name""<name of attribute>""attribute_value":"<value >"},
                       {"attribute_name":"<name of attribute>">, "attribute_value":"<value >"
                    ]
                  }
          }
          
}


For examples: 

"oof_directives" : {
"vnfc_directives":[
     //Need not filled in today, but for future purposes
    ]
    "vnf_directives": {
     "directives" : [
         {

"directive_name""directive-sriov1",

                "attributes": [
                 {"attribute_name""vnic-type""attribute_value":"direct"},

{"attribute_name": "provider_network""attribute_value":"physnet1"
                ]
            },
            {"directive_name""directive-sriov2",
               "attributes": [
                    {"attribute_name""vnic-type""attribute_value":"direct"},
                    {"attribute_name": "provider_network""attribute_value":"physnet2"}
                ]
            }

]
}       
}

The vnic-type is converted from interfaceType in OOF.

If interfaceType is SRIOV-NIC, vnic-type is direct, If interfaceType is not SRIOV-NIC, vnic-type is normal.



4. ONAP Module Modify 

Module NameModificationstatusownercomments
SDCAdd SR-IOV NIC attributes.Completed

Alex

Lianhao


PolicyAdd SR-IOV NIC attributes.In Progress

VF-CAdd create port process.In ProgressHaibin
SOAdd create port process.In Progress

OOFAdd the process for cloud region HPA capabilitiesIn ProgessRuoyu
AAINothing, we just add one hpa-attribute-key and hpa-attribute-valueCompleted-now [A] API can support.
ESRAdd SR-IOV NIC info to cloud extra info.In ProgressHaibin
Multi-cloudRegister SR-IOV info to AAI.In ProgressHaibin
VIMConfig SR-IOV NIC and create network with SR-IOV NIC.In ProgressHaibin

...

Seond,  we need to add some attributes in the response returning to SO and VF-C like below.

"oof_directives" : {
         "vnfc_directives":[
              "vnfc_id" "<ID of VNFC>" //Need not filled in today, but for future purposes
                "directives" : [
                  {"directive_name""<Name of directive,example flavor_directive>",
                   "attributes": [
                       {"attribute_name""<name of attribute, such as flavor label>""attribute_value":"<value such as cloud specific flavor>"},
  
                    ]
                  },
                  {"directive_name""<Name of directive,example vnic-info>",
                   "attributes": [
                       {"attribute_name""<name of attribute, such as vnic-type>""attribute_value":"<value such as direct/normal>"},
                       {"attribute_name":"<name of attribute, such as provider netweork>">, "attribute_value":"<value such as physnet>"
                    ]
                  }
                }
              ]
                      }.
         "vnf_directives": {
              "directives" : [
                  {"directive_name""<Name of directive>",
                   "attributes": [
                       {"attribute_name""<name of attribute>""attribute_value":"<value>"},
  
                    ]
                  },
                  {"directive_name""<Name of directive>",
                   "attributes": [
                       {"attribute_name""<name of attribute>""attribute_value":"<value >"},
                       {"attribute_name":"<name of attribute>">, "attribute_value":"<value >"
                    ]
                  }
          }
          
}


SR-IOV NIC related Capability in Data model

...

Logical Node i/O Requirements


Capability Name

Capability Value

Descriptiopn

pciVendorId


PCI-SIG vendor ID for the device

pciDeviceId


PCI-SIG device ID for the device

pciNumDevices


Number of PCI devices required.

pciAddress


Geographic location of the PCI device via the standard PCI-SIG addressing model of Domain:Bus:device:function

pciDeviceLocalToNumaNode

required

notRequired

Determines if I/O device affinity is required.


Network Interface Requirements


Capability Name

Capability Value

Description

nicFeature

LSO, LRO, RSS, RDMA

Long list of NIC related items such as LSO, LRO, RSS, RDMA, etc.

dataProcessingAccelerationLibray

Dpdk_Version

Name and version of the data processing acceleration library required. Orchestration can match any NIC that is known to be compatible with the specified library.

interfaceType

Virtio,

PCI-Passthrough,

SR-IOV, E1000, RTL8139, PCNET

Network interface type

vendorSpecificNicFeature

TBA

List of vendor specific NIC related items.


Reference

https://docs.openstack.org/neutron/pike/admin/config-sriov.html

...