This configuration example begins with a SUSE Linux Enterprise Server 15 SP4 installed.
The Linux virtual networking described in this guide is one of many ways to configure a Linux NVMe/TCP host and is intended to provide guidance only.
lin02:/etc/sysconfig/network # cat ifcfg-eth0
IPADDR='100.67.126.120/24'
BOOTPROTO='static'
STARTMODE='auto'
ZONE=public
. . .
lin02:/etc/sysconfig/network # cat ifcfg-eth2
IPADDR='0.0.0.0'
MTU='9000'
BOOTPROTO='none'
STARTMODE='auto'
ZONE=public
lin02:/etc/sysconfig/network # cat ifcfg-eth3
IPADDR='0.0.0.0'
MTU='9000'
BOOTPROTO='none'
STARTMODE='auto'
ZONE=public
. . .
lin02:/etc/sysconfig/network # cat ifcfg-vlan1821
IPADDR='172.18.21.110/24'
MTU='9000'
BOOTPROTO='static'
STARTMODE='auto'
ZONE=public
ETHERDEVICE='eth2'
VLAN_ID='1821'
lin02:/etc/sysconfig/network # cat ifcfg-vlan1822
IPADDR='172.18.22.110/24'
MTU='9000'
BOOTPROTO='static'
STARTMODE='auto'
ZONE=public
ETHERDEVICE='eth3'
VLAN_ID='1822'
lin02:/etc/sysconfig/network # cat ifroute-eth0
default 100.67.126.254 - eth0
Verify network connectivity for all interfaces using the ip a command:
lin02:/ # ip a
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether e4:3d:1a:01:aa:20 brd ff:ff:ff:ff:ff:ff
altname enp59s0f0np0
inet 100.67.126.120/24 brd 100.67.126.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::e63d:1aff:fe01:aa20/64 scope link
valid_lft forever preferred_lft forever
: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
link/ether e4:3d:1a:03:14:60 brd ff:ff:ff:ff:ff:ff
altname enp94s0f0np0
: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
link/ether e4:3d:1a:03:14:61 brd ff:ff:ff:ff:ff:ff
altname enp94s0f1np1
. . .
: vlan1822@eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
link/ether e4:3d:1a:03:14:61 brd ff:ff:ff:ff:ff:ff
inet 172.18.22.110/24 brd 172.18.22.255 scope global vlan1822
valid_lft forever preferred_lft forever
inet6 fe80::e63d:1aff:fe03:1461/64 scope link
valid_lft forever preferred_lft forever
: vlan1821@eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
link/ether e4:3d:1a:03:14:60 brd ff:ff:ff:ff:ff:ff
inet 172.18.21.110/24 brd 172.18.21.255 scope global vlan1821
valid_lft forever preferred_lft forever
inet6 fe80::e63d:1aff:fe03:1460/64 scope link
valid_lft forever preferred_lft forever
lin02:~ # firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth2 eth3 eth5 vlan1821 vlan1822
sources:
services: dhcpv6-client mdns ssh
The best practice IO policy for NVMe/TCP is round robin. To ensure that any new and/or rebooted NVMe devices use round-robin, create udev rules for your Dell Technologies product. lin02:~ # vi /etc/udev/rules.d/71-nvmf-iopolicy-dell.rules
ACTION=="add", SUBSYSTEM=="nvme-subsystem", \ ATTR{model}=="EMC PowerMax_*|dellemc-powerstore|powerflex", \ ATTR{iopolicy}="round-robin"
lin02:~ # udevadm control --reload
lin02:~ # udevadm trigger --type=devices --action=add
For a host to connect to a CDC on a different subnet, and/or connect to a subsystem on a different subnet, static routing is required. On the Linux host, configure static routing to the CDC IPs and any subsystems on other subnets. Use Yast, or add the routes to the /etc/sysconfig/network/routes configuration file.