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
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
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
our project needs to deploy taps using os-net-config utility. leverage
a dedicated type from ifcfg implementation.
Change-Id: Iaf4294bec6c21f130c7a149d0f45d3be53c1c9cc
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
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
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
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
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
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
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
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>
Currently the contrail vrouter interface member interface can
only be of type interface. vlan and linux_bond are needed,
Change-Id: I3e7cf56b0c237a8b791fedbeb255beb60ce3d7c6
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
Enable configuration for bonding of VPP interfaces in os-net-config.
Change-Id: Iaf2e13b460abbefad7b0f6e7cda21b7bbfba6591
Signed-off-by: Feng Pan <fpan@redhat.com>
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
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
Currently the onboot parameter is hardcoded to YES, some
configurations need to disable it.
Change-Id: I139e8e9b2c8ff087ff1bf8daa8c902c4c0833d89
Close-Bug: 1705228
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
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>
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
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
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
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>
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
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
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
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
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
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
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
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
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