||<#ee82ee>The following is solely authored by Jonathan Ferguson, and is henceforth referred to as Congruent Networksâ„ || <
>'''~+Ethernet Interconnections along with Private Interconnection+~''' <
> <
>'''The alternatives for Ethernet interface configuration are either __Repeater__ or __Link Aggregation Control Protocol__''' <
> <
>{{attachment:Ethernets.svg}} <
>A pictorial representation of the interface hierarchy for both methodologies <
> <
> <
>__~+Repeater+~__ <
> <
>Create the bonding interface and a bridge interface for each enslaved physical Ethernet interface: <
>`sudo nmcli connection add type bond con-name bond0 ifname bond0 mode broadcast ipv6.addr-gen-mode eui64 ipv6.ip6-privacy 0 ipv6.may-fail false autoconnect yes` <
>`sudo nmcli connection add type bridge con-name bridge0 ifname bridge0 bridge.multicast-querier yes bridge.stp yes stp yes multicast-snooping yes master bond0 autoconnect yes` <
>`sudo nmcli connection add type bridge con-name bridge1 ifname bridge1 bridge.multicast-querier yes bridge.stp yes stp yes multicast-snooping yes master bond0 autoconnect yes` <
>`sudo nmcli connection add type ethernet con-name `''eth__0__''` ifname `''eth__0__''` master bridge`__0__` autoconnect yes` <
>`sudo nmcli connection add type ethernet con-name `''eth__1__''` ifname `''eth__1__''` master bridge`__1__` autoconnect yes` <
> <
>Optional VLAN creation: <
>`sudo nmcli connection add type bridge con-name bond0.0 ifname bond0.0 bridge.multicast-querier yes bridge.stp yes stp yes multicast-snooping yes ipv6.addr-gen-mode eui64 ipv6.ip6-privacy 0 ipv6.may-fail false bridge.vlan-protocol 802.1ad bridge.vlan-stats-enabled true master bond0 slave-type bridge autoconnect yes` <
>`sudo nmcli connection add type bridge con-name bond0.0.0 ifname bond0.0.0 bridge.multicast-querier yes bridge.stp yes stp yes multicast-snooping yes ipv6.addr-gen-mode eui64 ipv6.ip6-privacy 0 ipv6.may-fail false bridge.vlan-protocol 802.1Q bridge.vlan-stats-enabled true master bond0.0 slave-type bridge autoconnect yes` <
>`sudo nano `[[attachment:bond0.0.netdev|/etc/systemd/network/bond0.0.netdev]] <
>`sudo nano `[[attachment:bond0.0.network|/etc/systemd/network/bond0.0.network]] <
>`sudo nano `[[attachment:bond0.0.0.netdev|/etc/systemd/network/bond0.0.0.netdev]] <
>`sudo nano `[[attachment:bond0.0.0.network|/etc/systemd/network/bond0.0.0.network]] <
> <
> <
>__~+Link Aggregation Control Protocol+~__ <
> <
>Create the bridging and bonding interfaces and enslave the physical Ethernet interfaces: <
>`sudo nmcli connection add type bridge con-name bridge0 ifname bridge0 bridge.multicast-querier yes bridge.stp yes stp yes multicast-snooping yes ipv6.addr-gen-mode eui64 ipv6.ip6-privacy 0 ipv6.may-fail false autoconnect yes` <
>`sudo nmcli connection add type bond con-name bond0 ifname bond0 mode 802.3ad master bridge0 autoconnect yes` <
>`sudo nmcli connection add type ethernet con-name `''eth0''` ifname `''eth0''` master bond0 autoconnect yes` <
>`sudo nmcli connection add type ethernet con-name `''eth1''` ifname `''eth1''` master bond0 autoconnect yes` <
> <
>Optional VLAN creation: <
>`sudo nmcli connection add type bridge con-name bridge0.0 ifname bridge0.0 bridge.multicast-querier yes bridge.stp yes stp yes multicast-snooping yes ipv6.addr-gen-mode eui64 ipv6.ip6-privacy 0 ipv6.may-fail false bridge.vlan-protocol 802.1ad bridge.vlan-stats-enabled true master bridge0 autoconnect yes` <
>`sudo nmcli connection add type bridge con-name bridge0.0.0 ifname bridge0.0.0 bridge.multicast-querier yes bridge.stp yes stp yes multicast-snooping yes ipv6.addr-gen-mode eui64 ipv6.ip6-privacy 0 ipv6.may-fail false bridge.vlan-protocol 802.1Q bridge.vlan-stats-enabled true master bridge0.0 autoconnect yes` <
>`sudo nano `[[attachment:bridge0.0.netdev|/etc/systemd/network/bridge0.0.netdev]] <
>`sudo nano `[[attachment:bridge0.0.network|/etc/systemd/network/bridge0.0.network]] <
>`sudo nano `[[attachment:bridge0.0.0.netdev|/etc/systemd/network/bridge0.0.0.netdev]] <
>`sudo nano `[[attachment:bridge0.0.0.network|/etc/systemd/network/bridge0.0.0.network]] <
> <
> <
>__~+Private Interconnection+~__ <
> <
>Pseudo Wire Emulation Edge-to-Edge configuration: — A work in progress <
>`sudo /sbin/modprobe -av nf_defrag_ipv4 nf_defrag_ipv6` <
>`sudo ip l2tp add tunnel encap udp name `''l2tp__eth2__''` tunnel_id `__1__` local `` udp_sport 1701 peer_tunnel_id `__1__` remote `` udp_dport 1701` <
>`sudo ip l2tp add session name `''l2tp__eth2__''` tunnel_id `__1__` session_id `__1__` peer_session_id `__1__ <
>`sudo /sbin/tc qdisc replace dev `''l2tp__eth2__''` root pfifo` <
>`sudo ip link set `''l2tp__eth2__''` master `` up` <
>`sudo nmcli connection reload` <
>Verify: <
>`lsmod | grep nf_defrag` <
>`lsmod | grep l2tp` <
>`sudo ip l2tp show tunnel` <
>`sudo ip l2tp show session` <
>`/sbin/bridge fdb show dev `''l2tp__eth2__'' <
>If you wish to bring down the Ethernet tunnel: <
>`sudo ip l2tp del session tunnel_id `__1__` session_id `__1__ <
>`sudo ip l2tp del tunnel tunnel_id `__1__ <
>Verify: <
>`sudo ip l2tp show session` <
>`sudo ip l2tp show tunnel` <
> <
>{{attachment:L2TPv3.svg}} <
>Neither the VLANs nor the PWE^3^ portions of this topology are reasonable propositions, unless your network and the Internet's interconnections are Fat Trees and until the availability of TRansparent Interconnection of Lots of Links. <
> <
> ---- ''[[http://Jonathan-Ferguson.tk/|Jonathan Ferguson]], [[https://wiki.edubuntu.org/JonathanFerguson|Ubuntu Wiki]], [[https://wiki.edubuntu.org/JonathanFerguson/EthernetInterconnections|Ethernet Interconnections]], [[https://wiki.edubuntu.org/JonathanFerguson/EthernetInterconnections]]'' ----