Host Interface and Network Configuration

This guide describes the following:

Interface class configuration

The interface class to which the logical network interface is connected. Valid classes are:

platform

Can be one of the following:

  • mgmt: For the internal management network.

  • cluster-host: For the Kubernetes cluster network.

  • oam: For the OAM network.

  • pxeboot: For the PXE boot platform network.

data

Applicable only for StarlingX OpenStack. Used to indicate that the interface attaches to a data network providing the underlying network for OpenStack Neutron tenant networks.

pci-sriov

For a PCI SR-IOV interface or for an interface that can be used in either configuration (dual use).

pci-passthrough

For a PCI passthrough interface or for an interface that can be used in either configuration (dual use).

Interface configuration

When a host is added to StarlingX and initialized, Ethernet interfaces are created automatically for each detected physical port. Use system host-if-modify to configure an Ethernet interface.

LAG (Aggregated Ethernet) and VLAN interfaces must be created and configured using system host-if-add.

Ethernet interface configuration

Configure an Ethernet interface to a network using the following commands:

system host-if-modify -n IF_NAME -m MTU -c IF_CLASS HOST_NAME ETH_NAME [--ipv4-mode=IP4_MODE [ipv4-pool ADDR_POOL]] [--ipv6-mode=IP6_MODE [ipv6-pool ADDR_POOL]]

Replace parameters with values suitable to your installation. Parameters are:

IF_NAME

A name for the interface.

MTU

The MTU for the interface.

IF_CLASS

The class of the interface. Valid classes are platform, data, pci-sriov, and pci-passthrough.

HOST_NAME

The name or UUID of the host.

ETH_NAME

The name or UUID of the Ethernet interface to use.

IP4_MODE

The mode for assigning IPv4 addresses to a data interface (static or pool).

IP6_MODE

The mode for assigning IPv6 addresses to a data interface (static or pool).

ADDR_POOL

The name of an IPv4 or IPv6 address pool, for use with the pool mode of IP address assignment for data interfaces.

VLAN interface configuration

Create a VLAN interface with the system host-if-add command:

system host-if-add HOST_NAME -V VLAN_ID  -c IF_CLASS IF_NAME vlan ETH_NAME

Replace parameters with values suitable to your installation. Parameters are:

ETH_NAME

The name or UUID of the Ethernet interface to use.

HOST_NAME

The name or UUID of the host.

IF_CLASS

The class of the interface. Valid classes are platform, data, pci-sriov, and pci-passthrough.

IF_NAME

A name or UUID for the interface (required).

VLAN_ID

The VLAN identifier for the network.

LAG interface configuration

Create an aggregated Ethernet interface with the system host-if-add command:

system host-if-add HOST_NAME -m MTU  -a AEMODE -x TX_HASH_POLICY IF_NAME  ae ETH_NAME_1 ETH_NAME_2

Replace parameters with values suitable to your installation. Parameters are:

AEMODE

The link aggregation mode (active_standby, balanced, 802.3ad).

ETH_NAME_1, ETH_NAME_2

The names or UUIDs of the member Ethernet interfaces.

HOST_NAME

The name or UUID of the host.

IF_NAME

A name for the interface.

MTU

The MTU for the interface.

TX_HASH_POLICY

The balanced tx distribution hash policy (layer2, layer2+3, layer3+4).

Network configuration and assignment

Platform networks

The internal management network (mgmt) is required by all nodes in all deployment configurations for internal communication. In the AIO-Simplex configuration, the mgmt network is assigned to the loopback interface.

The pxeboot network is an optional network required in scenarios where the mgmt network cannot be used for PXE booting of hosts. For example, use the pxeboot network when the mgmt network needs to be IPv6 (not currently supported for PXE booting). In these scenarios, the PXE boot network uses a dedicated VLAN (port-based), and the mgmt network uses a separate dedicated VLAN (tagged) on the same port.

The cluster host network is required by all deployment configurations to support a Kubernetes cluster. It is used for private container-to-container networking within a cluster. It can be used for external connectivity of container workloads. If the cluster host network is not used for external connectivity of container workloads, then either the OAM port or other configured ports on both the controller and worker nodes can be used for connectivity to external networks.

The OAM network is required for external control and board management access. It can be used for container payload external connectivity, depending on container payload application network requirements.

Assign an interface to a platform network with the command:

system interface-network-assign HOST_NAME IF_NAME NETWORK

Replace parameters with values suitable to your installation. Parameters are:

HOST_NAME

The name or UUID of the host.

IF_NAME

A name for the interface.

NETWORK

The name or ID of the platform network to which the interface will be assigned.

Data networks

StarlingX allows you to model L2 networks that are attached to data, pci-sriov, and pci-passthrough class interfaces.

A data network represents a Layer 2 physical or virtual network, or a set of virtual networks used to provide the underlying network connectivity needed to support the application networks. Multiple data networks may be configured as required and realized over the same or different physical networks. Access to external networks is typically (although not always) granted to worker nodes using a data network. The extent of this connectivity, including access to the open Internet, is application-dependent.

Data networks are created by the administrator to make use of an underlying set of resources on a physical network.

Three types of data networks may be implemented in StarlingX:

  1. Flat network: A data network mapped entirely over the physical network.

  2. VLAN network: A data network implemented on a physical network using a VLAN identifier. This allows multiple data networks over the same physical network.

  3. VXLAN network: A data network implemented across non-contiguous physical networks connected by Layer 3 routers, using a VNI identifier. This allows multiple data networks over physically separated Layer 2 networks.

List the names of the data networks with the command:

system datanetwork-list

View details of a data network with the command:

system datanetwork-show DATA_NETWORK

Replace parameters with values suitable to your installation. Parameters are:

DATA_NETWORK

The name or UUID of the data network.

Add a data network with the command:

system datanetwork-add -d DESCRIPTION -m MTU -p PORT -g GROUP -t TTL -M MODE NAME TYPE

Replace parameters with values suitable to your installation. Parameters are:

DESCRIPTION

A description of the data network.

MTU

The MTU of the data network.

Note

To attach to the data network, data interfaces must be configured with an equal or larger MTU.

PORT

The port of the data network.

GROUP

The multicast group of the data network.

TTL

The time-to-live of the data network.

MODE

For networks of type vxlan only, mode can be either dynamic or static. If set to dynamic, group must also be specified.

NAME

The name assigned to the data network.

TYPE

The type of data network to be created (flat, vlan, or vxlan).

Assign an interface to a data network with the command:

system interface-datanetwork-assign HOST_NAME IF_NAME DATA_NETWORK

Replace parameters with values suitable to your installation. Parameters are:

HOST_NAME

The name or UUID of the host.

IF_NAME

A name for the interface.

DATA_NETWORK

The name or ID of the data network to which the interface will be assigned.