Jump to: navigation, search

Difference between revisions of "Juno-SR-IOV"

(Exclude VFs)
(Replaced content with "Refer to this page: https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking")
 
(16 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:
 
neutron-sriov-nic-agent --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
 
 
 
====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:<br />
 
 
 
'''Example:''' exclude_devices = eth1:0000:07:00.2; 0000:07:00.3
 

Latest revision as of 13:14, 15 September 2014

Refer to this page: https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking