Ask HN: How to break down a bonded NIC pair in Linux?
Hackernews turned me onto a new bare metal hosting provider. (Thanks - great tip.) The default box comes with four Ethernet devices (2 Mellanox and 2 Intel cards). Two of them are bonded.
My goal:

* How can I reconfigure these four cards so that I still have a public IP, and a local (internal) IP but such that I can free up both of the mellanox cards or both of the Intel devices so I can use them for DPDK development?

I have no need for any high speed public connections. ssh is fine. It has a IPV6 local address; I don't about that either. All IPV4 is fine. DPDK requires the cards to be IP link down before use.

I've figured this out in Amazon EC2, however, the default NIC situation defaults much simpler than this. I'm just don't have any serious know-how in this particular kind of Linux-admin. And I've never bonded or unbounded a pair of NICs.

Details follow.

TIA

===================================

user@defaulthost:~# ifconfig -a

bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500

inet <public-IP-address> netmask 255.255.255.254 broadcast 255.255.255.255

inet6 xxxx:xxxx:xxxx:xxx::1 prefixlen 127 scopeid 0x0<global>

inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link>

ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)

bond0:0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500

inet <local-IP-address> netmask 255.255.255.254 broadcast 255.255.255.255

ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)

eno1: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)

eno2: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)

enp2s0f0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500

ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)

enp2s0f1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500

ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>

=================

user@defaulthost:~# dmesg | grep enp2

[ 6.331694] mlx5_core 0000:02:00.0 enp2s0f0np0: renamed from eth0

[ 6.372339] mlx5_core 0000:02:00.1 enp2s0f1np1: renamed from eth1

[ 9.429331] mlx5_core 0000:02:00.0 enp2s0f0: renamed from enp2s0f0np0

[ 9.484863] mlx5_core 0000:02:00.1 enp2s0f1: renamed from enp2s0f1np1

[ 11.548785] mlx5_core 0000:02:00.0 enp2s0f0: Link up

[ 11.553936] bond0: (slave enp2s0f0): Enslaving as a backup interface with an up link

[ 11.609695] bond0: (slave enp2s0f0): link status definitely up, 10000 Mbps full duplex

[ 15.421901] mlx5_core 0000:02:00.1 enp2s0f1: Link up

[ 15.429399] bond0: (slave enp2s0f1): Enslaving as a backup interface with an up link

[ 15.678759] bond0: (slave enp2s0f1): link status definitely up, 10000 Mbps full duplex

user@defaulthost:~# dmesg | grep eno

[ 2.036278] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)

[ 5.178678] igb 0000:04:00.0 eno1: renamed from eth0

[ 5.285816] igb 0000:05:00.0 eno2: renamed from eth1

==================

user@defaulthost:~# lspci | grep Eth

02:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

02:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

05:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)