Commit Graph

68 Commits

Author SHA1 Message Date
Ghanshyam Mann 6ed93f8448 Retire Tripleo: remove repo content
TripleO project is retiring
- https://review.opendev.org/c/openstack/governance/+/905145

this commit remove the content of this project repo

Change-Id: I9da248ee774c038c99bf452898ac8658aa337aad
2024-02-24 11:41:53 -08:00
Karthik S c99f19ce78 Add ethtool_opts config for sriov VF
SR-IOV VFs used for NIC partitioning shall include ethtool_opts
configuration as well.

Change-Id: Ia5e95daac6d8766a222d8bdde3e233475e203fa9
2022-12-13 12:58:02 +00:00
Zuul f97f3f1102 Merge "For linux bond over VFs, disable spoofcheck by default" 2022-01-31 11:08:14 +00:00
Zuul 617d954eea Merge "ovs-dpdk: Add support for n_rxq_desc and n_txq_desc" 2022-01-29 04:52:07 +00:00
Karthik S 404bafa095 For linux bond over VFs, disable spoofcheck by default
In case of linux bonds using NIC Partitioning, the spoofcheck shall
be disabled for it to work well with mellanox cards as well as
intel cards.

Change-Id: Ib3cc7e3287e6332b0ab11e3a227396f9dd62ee51
2022-01-28 06:26:29 +00:00
waleedm 7c7b3267a8 Adding steering_mode config to sriov_pf object
The Current behavioure is to enable smfs software steering
by default when moving to switchdev, in some cases we need
it to be in dmfs mode (FW steering), so adding steering_mode
config to sriov_pf object to make it configrable

Change-Id: If607c83c4309c636ccbe03789410f2a2301258d2
2022-01-19 08:37:46 +00:00
Takashi Kajinami 5945c73882 ovs-dpdk: Add support for n_rxq_desc and n_txq_desc
This change introduces support for n_rxq_desc and n_txq_desc for
ovs dpdk interface and ovs dpdk bond, so that users can customize
these queue size parameters.

Change-Id: I35ae1aa25566f7820e30d3d527affcd80c052aa9
2021-12-14 18:38:57 +09:00
waleedm 78089ca531 Change the pkey_id type from string to int
Change-Id: I29e899b50d8a51432de8dc35382940293ce4d037
2021-10-28 16:32:14 +00:00
David Vallee Delisle baab05e9bb vdpa: Introducing the vdpa PF flag
Now that nova supports vDPA interfaces, we need to configure them using
os_net_config for tripleo consumption.

Related: https://review.opendev.org/c/openstack/tripleo-docs/+/798237/
Related: https://bugzilla.redhat.com/1956297
Change-Id: I202fe57360cca79883457444bdae2cf41ba25798
2021-07-08 08:25:39 -04:00
shrike da7614bc48 basic support for Linux tap devices
our project needs to deploy taps using os-net-config utility. leverage
a dedicated type from ifcfg implementation.

Change-Id: Iaf4294bec6c21f130c7a149d0f45d3be53c1c9cc
2021-01-12 09:28:22 +00:00
Christophe Fontaine 78c7b1317d SRIOV VF: Add min_tx_rate and max_tx_rate
Add missing options to configure min_tx_rate and max_tx_rate
for virtual functions.

Change-Id: I34a0c3a86114aefbdcd68ddc187dd3e7566a66d9
Signed-off-by: Christophe Fontaine <cfontain@redhat.com>
2020-04-02 11:03:28 +02:00
abdallahyas fd9be8fdb5 Adding IPoIB child interfaces to the os-net-config
This patch adds support for implementing IPoIB child interfaces using
the os-net-config. It allows the user to create persistent IB childs
using ifcfg implementation. It adds the type ib_child_interface to the
os-net-config interfaces which needs the parent interface and the pkey
id as required fields. The IPoIB child interface should be a seperate
interface from the parent interface.

Change-Id: I9ae739c892318c28ad6165a96644719fa1aa693d
2020-02-25 08:43:38 +00:00
Adrian Chiris 7668abb300 [FUP] Update sriov_pf.yaml samle with ethtool_opt
This change updates sriov_pf.yaml sample file with a
usage example of ethtool_opt attribute that was added
to sriov_pf port type.

Change-Id: Ib12901d5fad51ac40d2a9d8cdc13919b7d64c92e
2019-06-05 07:58:18 +00:00
Zuul b82730235e Merge "Add ovs_options and ovs_extra parameters to VLAN object" 2019-04-02 23:31:18 +00:00
Dan Sneddon dd1906f61f Add ovs_options and ovs_extra parameters to VLAN object
This patch adds the ovs_options and ovs_extra parameters to the
VLAN object, and OVS_OPTIONS/OVS_EXTRA to the OVS VLAN ifcfg.
An OVS VLAN is an internal port on the bridge, and when ifup
is run the ovs-vsctl command will be called with the commands
in OVS_OPTIONS and the list of commands in OVS_EXTRA. This
makes OVS VLANs work the same as other OVS object types.
These settings are ignored for VLANs not on an OVS bridge.

Change-Id: Ie1db61eea48e3426a59ae02b13dd8ab8ef85e851
Closes-bug: 1821816
2019-03-29 14:38:23 -07:00
GongYongSheng cdee5596e8 Replace use_dhcp6 with use_dhcpv6
Change-Id: Ic245a16bc22961479cc8aa3b83d01b241662caf8
Closes-Bug: #1819839
2019-03-19 12:10:22 +08:00
waleed mousa 3dcad07311 Configure switchdev mode in SR-IOV in os-net-config
While sriov vfs are created now using os-net-config,
so doing some modification to configure switchdev mode there

Change-Id: I7c85ab380dc4f0377a65fc954fcce3e3d39f5029
Closes-Bug: #1818034
2019-02-28 10:01:42 +00:00
Dan Sneddon 35832347e1 Add Policy Based Routing Support to os-net-config
Add support for routing tables and rules, as well as a
property to specify a routing table for each route to
the impl_ifcfg implementation.

This change adds a new top-level object in the
network_config with type "route_table" to specify
which route table IDs and names should be added to
the /etc/iproute2/rt_table file.

This change adds a "table" property to routes for each
interface type, that allows the selection of which
routing table to apply the route to.

This change also adds a "rules" property to each
interface type, which can be used to specify a list
of rules. Each rule contains a rule string and an
optional comment, both of which will be added to the
/etc/sysconfig/network-scripts/rule-<iface> file.

This change includes tests and changes to the schema
for validation.

Note that this change was based on the abandoned patch
https://review.openstack.org/#/c/575712
and was recreated when that patch diverged too far
from master branch.

Change-Id: I6906d3b6923845af177faba6579fa255a2195bec
Closes-bug: #1783297
2019-01-24 09:57:25 -08:00
Karthik S 13d42df431 Sample templates for linux_bond, ovs_bond, dpdkbond using VFs
1. Added sample templates and testcases for linux_bond, ovs_bond,
dpdkbond using VFs.
2. Set the default values for certain sriov_vf attributes when
its a member of ovs_bond, ovs_bridge
3. Set the default value of promisc for sriov_pf

Change-Id: Icdd2a077f6a996f409bbb2d82b0958b676bc5411
2018-12-10 01:56:36 -05:00
Karthik S d7436493aa Add sriov_vf type as member of ovs_dpdk_port
SR-IOV VF shall be bound to DPDK driver and added to
ovs_user_bridge

Implements: blueprint sriov-vfs-as-network-interface
Change-Id: Ia212ed153f4feb1e3a7fb48be95c1db63ee4b6f7
2018-07-13 23:41:25 -04:00
Karthik S dbeb6fe87b Adding VLAN support and other configs for sriov_vf
Allow additional settings for configuring sriov_vf types
such as vlan, qos, spoofcheck, trust mode, state control,
mac address, promisc.

Implements: blueprint sriov-vfs-as-network-interface
Change-Id: I078a202b1f5769d8b18db2618914edb5ad836919
Signed-off-by: Karthik S <ksundara@redhat.com>
2018-07-10 01:19:04 -04:00
Zuul df049f9430 Merge "vlan and linux_bond members for contrail vrouter" 2018-07-09 12:26:12 +00:00
Michael Henkel 40ce571209 vlan and linux_bond members for contrail vrouter
Currently the contrail vrouter interface member interface can
only be of type interface. vlan and linux_bond are needed,

Change-Id: I3e7cf56b0c237a8b791fedbeb255beb60ce3d7c6
2018-07-02 12:35:06 +00:00
melissaml 9e670a0344 fix a typo on bond_mapped.yaml
Change-Id: Id9b39dd8d9144dfcce018f949da1ee0225042ff7
2018-03-23 08:32:46 +08:00
Karthik S 9e785a4ce0 Add network objects sriov_vf and sriov_pf
sriov_pf: configure numvfs of the device, create and enable
sriov_numvfs service for the persistence of the numvfs
configuration across reboots.
sriov_vf: configure the ifcfgs for the Vfs

Change-Id: I0e55d1556328fcb90b66c898c534b76e41ca9618
Implements: blueprint sriov-vfs-as-network-interface
2018-02-16 00:55:52 -05:00
Feng Pan 130e8dbb20 Add support for VPP Bond
Enable configuration for bonding of VPP interfaces in os-net-config.

Change-Id: Iaf2e13b460abbefad7b0f6e7cda21b7bbfba6591
Signed-off-by: Feng Pan <fpan@redhat.com>
2017-11-10 18:01:01 -05:00
Michael Henkel 0b8cd76dbd Added driver option for Contrail DPDK
With x710 NICs Contrail can make use of vfio driver.
uio_pci_generic is still default.

Change-Id: I23b173ea86d8f109da4059a3d3a1df6806e213be
2017-09-27 11:30:35 +02:00
Michael Henkel e1c9456768 This patch adds initial support for the Contrail vRouter interface
The patch introduces the Contrail vRouter interface object. It can be
configured as a kernel module or in dpdk mode. The parameters are:
bind_int (required): the interface the vRouter interface is bound to
dpdk (optional): boolean if dpdk or not

Closes bug: 1709862

Change-Id: Iecb739e3964bf5307b0605ea1d80d2369f60918b
2017-09-04 18:07:15 +03:00
Jenkins 314ce2dc86 Merge "Add NIC Mapping Reporting Feature" 2017-08-26 06:45:15 +00:00
Dan Sneddon ebc1c1bc80 Add NIC Mapping Reporting Feature
The -i or --interfaces flag will print out a dict of the NIC
mappings if no interfaces are specified, or it will print a
list of the real interface names that match the interfaces
given. If a real interface name is given, it will be returned
in the list without translation only if it is live.

It has always been technically possible to map an interface
using an alias that matches an inactive real interface. This
change preserves that functionality, but will prevent mapping
using the name of an active interface. A warning will be
printed if an alias matches an inactive inteface.

Also change _is_active_nic and _mapped_nics to public functions
since they are called outside of utils.

Change-Id: I74af5391165e10f04800ea05e4204a7d1f74f526
Closes-bug: 1713137
2017-08-25 19:23:14 +00:00
Michael Henkel 9e980f19bf Make onboot parameter for ifcfg configuration configurable
Currently the onboot parameter is hardcoded to YES, some
configurations need to disable it.

Change-Id: I139e8e9b2c8ff087ff1bf8daa8c902c4c0833d89
Close-Bug: 1705228
2017-08-08 13:30:46 +02:00
Jenkins 187c1e66d4 Merge "Multiqueue support for OvsDpdkBond" 2017-06-09 10:56:12 +00:00
Jenkins 9626b44cc9 Merge "Configure multi-queue value for DPDK Port" 2017-06-08 04:04:43 +00:00
Karthik S c8901b8ac3 Multiqueue support for OvsDpdkBond
This patch allows the Multiqueue setting for DPDK bonds. In case of DPDK
bonds, the Multiqueue setting needs to be done for each of the interfaces
attached to the bond.

Implements: blueprint ovs-2-6-features-dpdk
Signed-off-by: Karthik S <ksundara@redhat.com>
Change-Id: I21b46cee902a17f13df51d456648368e468aadb7
2017-05-31 05:29:33 -04:00
Karthik S cc7ff987ca MTU setting for OVSDpdkBond
This patch allows the MTU setting for DPDK bonds. In case of DPDK
bonds, the MTU setting needs to be done for each of the interfaces
attached to the bond.

Change-Id: Ida627313d14a674430b2aff3644fd62b2e0bcab7
Implements: blueprint ovs-2-6-features-dpdk
Signed-off-by: Karthik S <ksundara@redhat.com>
2017-05-31 02:42:55 -04:00
Sanjay Upadhyay 2aa95a8810 Configure multi-queue value for DPDK Port
The multi-queue option for DPDK is applied via ovs-vsctl command
via ovs_extra params. This patch adds support for configuring the
rx_queue (multi-queue) value to the DPDK Ports.

Change-Id: Ib9faad5e9d49f78e3a0b45ef3ae0082f3e9d14a6
Co-Authored-By: Karthik S <ksundara@redhat.com>
implements: blueprint ovs-2-6-features-dpdk
2017-05-23 18:15:30 +05:30
Sanjay Upadhyay e5cf068ad1 Configure mtu value for DPDK port
MTU value is already written to ifcfg file if provided on the interface,
but for dpdk port, we have to apply this to ovs-vsctl command via ovs_extra.
This patch is adding the support to configure the given mtu vlaue to the
dpdk port using ovs_extra.

implements: blueprint ovs-2-6-features-dpdk

Change-Id: Ic01ed8cee2edbd648de0b64dc7f01da80c153d81
2017-04-28 20:38:03 +05:30
Saravanan KR ed0f6e61d2 Removed vlan port on ovs_user_bridge in dpdk bond samples
vlan port is not supported on the netdev bridges. But the
dpdk bond sample contains this wrong configuration. Removing
the vlan port on the ovs_user_bridge.
Closes-Bug: #1674280

Change-Id: I1acc8a3b8bbacc613344207b43684b0f86ff4a15
2017-04-11 16:52:54 +05:30
Feng Pan c5e11bbfcd Add support for VPP interface
Vector Packet Processing (VPP) is a high performance packet processing
stack that runs in user space in Linux. VPP is used as an alternative to
kernel networking stack for accelerated network data path. VPP uses DPDK
poll-mode drivers to bind system interfaces rather than kernel drivers.
VPP bound interfacees are not visible to kernel networking stack and
therefore require different configuration steps in os-net-config.

VPP interface will be used in Openstack by either Neutron ML2 driver
networking-vpp as an alternative to OVS, or by Opendaylight SDN
controller with Honeycomb agent.

This patch adds interface configuration support to os-net-config.
The kernel nic specified to be VPP interface type will be bound to
VPP with a DPDK poll-mode driver. Note that os-net-config will only
configure those settings that affect interface binding, all other
configurations for VPP will be configured throught TripleO Heat
Templates.

Implements: blueprint fdio-integration-tripleo

Change-Id: Iebb40b7c5b252c51e86b6f44bcf36ed206101390
Signed-off-by: Feng Pan <fpan@redhat.com>
2017-03-21 15:28:35 -04:00
Dan Sneddon 5f0145b885 Allow setting NM_CONTROLLED=yes in os-net-config ifcfg files
This change adds a flag to the base interface type, nm_controlled.
If this flag is true, the ifcfg file will contain NM_CONTROLLED=yes.
Since this flag is applied at the base it applies to any interface
type.

Note that not all interface types are supported by NetworkManager
at this time, so this option should be used with caution.

A demonstration of the usage is included in the
linux_bond_networkmanager.yaml file in the sample directory.

Change-Id: I2df6ce5b4bdb04651f27fc5daa64aa752e47f3b1
Closes-Bug: 1671888
2017-03-10 14:32:43 -08:00
Frank A. Zdarsky 8c841946d4 Add check that ovs_extra is passed as list
This patch adds a check that ensures the ovs_extra option, if present,
is passed in as list and raises an InvalidConfigException if not.
It addresses the issue that a user may mistakingly pass the value as
string, which would cause an error later when appending the failure
mode or when formatting the ovs_extra parameter.

Note: Also fixes a sample file in which ovs_extra was passed as string.

Change-Id: I9e8e47390b63d284de10d27b1db2c2cc54c86924
Closes-Bug: #1654196
2017-01-05 12:55:55 +01:00
Jenkins d929214c7a Merge "Add support for enabling hotplug on interfaces" 2017-01-03 21:24:55 +00:00
Brent Eagles 433a0f3cbe Add support for enabling hotplug on interfaces
This patch adds support for enabling hotplugging on interfaces (disabled
by default). This is useful for configuring SR-IOV root devices so that
they "return" to the system when no longer used by a VM.

Note: also updates an invalid value in the interface and ib_interface
sample files.

Partial-Bug: #1639901
Change-Id: Idfc17d6f20bb306271838895bc53f4b109dd664d
2016-11-18 14:38:45 -03:30
Brent Eagles 71ba53264d Add sample files for fail_mode and ovs_extra template
This patch adds sample json and yaml for:
- setting the OVS bridge fail mode using the new ovs_fail_mode option
- using the {name} replacement feature for ovs_extra data for inserting
  the bridge name in configuration data

Change-Id: I2af32edbba0b635207888ad0502b2296f502c274
2016-11-15 16:26:28 -03:30
Pierre Blanc 469c0ab91a Add support for ethtool_opts option
This patch add an optional option to specify
the ETHTOOL_OPTS for each interface.

ETHTOOL_OPTS option will be written to the ifcfg file.

Change-Id: I6b594e89ba6b4c17e8df79def997f6c9ea427a3a
2016-11-11 13:06:36 -05:00
Matthew Flusche 4fdb0a6a2b Add route_options parameter
route_options will append additional options
to route definitions.

Change-Id: I2b70efdd9c6df7ea252576e245fbc0e9c46ea4bd
2016-10-19 22:19:17 +00:00
Sarath Kumar 08590fc1a7 Add options attribute to NFVSwitch
Adding options to NFVSwitch type bridge will give flexibility and
avoid specific attributes like 'cpus' in the yaml file (which will now
be moved into the options)

Change-Id: I4d715b641c54de969b9195b1a4b16195b2d7e595
2016-09-27 11:12:37 -07:00
Saravanan KR f79d534c3e Supporting numbered nics for DPDK Port and DPDK Bond
Modified the sample code to use numbered nics instead of physical
device name and added test code for testing the numbered nic usecases.

Implements: blueprint tripleo-ovs-dpdk
Depends-On: If1c91402d2d393140dc1b4a678e68a1bcdbe81e4

Change-Id: Ifadb495be57fcef56a97250de0c52fd03f2dd817
2016-08-26 15:30:58 +05:30
Saravanan KR 9108fcb7bb Add support for OVS DPDK Bond
Add functionality to os-net-config to allow DPDK bonding of
interfaces, and implement support for parameters to be passed
by TripleO Heat Templates.

Implements: blueprint tripleo-ovs-dpdk
Depends-On: Id4a23ced28b92a642c180a35c55080e5f4e2e05d

Change-Id: If1c91402d2d393140dc1b4a678e68a1bcdbe81e4
2016-08-26 15:26:28 +05:30
Saravanan KR bb1fcc4e0d Add support for OVS DPDK Bridge and Port
Add support in os-net-config for DPDK ports and OVS user bridges,
and implement parameters which will be set by the TripleO Heat
Templates when using TripleO.

Implements: blueprint tripleo-ovs-dpdk

Change-Id: Id4a23ced28b92a642c180a35c55080e5f4e2e05d
2016-08-25 11:07:43 +05:30