I have a customer that is getting a new 1Gbps ISP connection and wants his servers connected across two switches for redundancy and protection from:

* failure of a router port
* failure of a network cable
* failure of a switch
* failure of a power supply to a switch

Network architecture:

[![Dual LAN with HA](https://i.stack.imgur.com/kaKNw.png)](https://i.stack.imgur.com/kaKNw.png)

The router is a Cisco ISR4451X with latest IOS 16.7.1, the switches are Netgear GS724Tv4 and the servers are modern Dell boxes running Ubuntu 16.04 LTS.

The Ubuntu boxes uses the 'bonding' driver with the two gigabit interfaces (eth0, eth1) providing a bonded/teamed interface bond0. The bonding interface is configured for high availability, not throughput.

The network has to run dual stack with public IPv4 and IPv6 but there is no requirement for VLANs.

What's the best approach to configure this on the ISR4451X? The obvious choices appear to be:

1. Redundant interface (but we're going into different switches)
2. Port-Channel
3. Bridge Domain Interface (BDI)
4. Bridge Virtual Interface (BVI)

The goal is to protect against all of the failure modes and avoid MAC address flapping. It shouldn't matter which leg of the bond0 interface the Linux box uses to communicate the packet should find its way back without duplication or drops.

The connections between the ISR4451X and each GS724Tv4 will use the SFP ports (port 23) and the interconnect between the switches can use SFP on port 24. These connections can be in access port or trunk port mode and with or without LACP.

Can someone recommend the best approach?

Mike