|
|
| (18 intermediate revisions by 3 users not shown) |
| Line 1: |
Line 1: |
| − | =This Page is under construction=
| + | Refer to this page: https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking |
| − | Once it will be ready, the content might move to another location.
| |
| − | =SR-IOV in OpenStack Juno=
| |
| − | OpenStack Juno adds inbox support for SR-IOV ....
| |
| − | ==Nova==
| |
| − | Nova support for SR-IOV is ....
| |
| − | | |
| − | ==Neutron==
| |
| − | Neutron support for SR-IOV is ...
| |
| − | embedded NIC is ...
| |
| − | | |
| − | =SR-IOV Configuration=
| |
| − | | |
| − | | |
| − | ===Neutron Server===
| |
| − | Using ML2 Neutron plugin modify /etc/neutron/plugins/ml2/ml2_conf.ini:
| |
| − | | |
| − | [ml2]
| |
| − | tenant_network_types = vlan
| |
| − | type_drivers = vlan
| |
| − | mechanism_drivers = openvswitch,sriovnicswitch
| |
| − | [ml2_type_vlan]
| |
| − | network_vlan_ranges = default:2:100
| |
| − | [securitygroup]
| |
| − | firewall_driver = neutron.agent.firewall.NoopFirewallDriver
| |
| − | | |
| − | Make sure /etc/neutron/plugins/ml2/ml2_conf_sriov.ini has the following section:
| |
| − | | |
| − | [ml2_sriov]
| |
| − | agent_required = True
| |
| − | | |
| − | Neutron server should be run with the two configuration files /etc/neutron/plugins/ml2/ml2_conf.in and /etc/neutron/plugins/ml2/ml2_conf_sriov.ini
| |
| − | neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/plugins/ml2/ml2_conf_sriov.ini
| |
| − | | |
| − | | |
| − | ==Compute==
| |
| − | ===Nova===
| |
| − | On each compute you have to associate the Virtual Functions available to each Physical Network.
| |
| − | You do it by configuring pci_passthrough_whitelist in /etc/nova/noca.conf
| |
| − | | |
| − | For example: | |
| − | pci_passthrough_whitelist = {"address":"*:0a:00.*","physical_network":"physnet1"}
| |
| − | This will associate any VF with address that includes ':0a:00.' in it's address to the Physical network physnet1
| |
| − | | |
| − | After configuring the white list you have to restart nova-compute service.
| |
| − | | |
| − | ===Neutron===
| |
| − | If the hardware supports and and you want to enable changing the port admin_state you have to run the Neutron SR-IOV agent.<br />
| |
| − | | |
| − | '''Note:'''If you configured agent_required=True on the Neutron server you must run the Agent on each compute node.
| |
| − | | |
| − | Modify /etc/neutron/plugins/ml2/ml2_conf_sriov.ini as follows
| |
| − | | |
| − | [sriov_nic]
| |
| − | physical_device_mappings = physnet1:eth1
| |
| − | exclude_devices =
| |
| − | | |
| − | physnet1 is the physical network
| |
| − | eth1 if the Physical Function (PF)
| |
| − | exclude_devices is empty so All the VFs associated with eth1 are allowed to be configured by the agent.
| |
| − | | |
| − | After modifying the configuration file start the Neutron SR-IOV agent.
| |
| − | | |
| − | ====Exclude VFs====
| |
| − | If you want to exclude some of the VFs so the agent won't configure them you need to put list them in the sriov_nic section:
| |
| − | '''Example:'''exclude_devices = eth1:0000:07:00.2; 0000:07:00.3
| |