diff --git a/routeros/sw-core01/bonding.tf b/routeros/sw-core01/bonding.tf deleted file mode 100644 index 1948888..0000000 --- a/routeros/sw-core01/bonding.tf +++ /dev/null @@ -1,34 +0,0 @@ -# RouterOS rejects enslaving an interface that is still a bridge port -# ("already added as bridge port"). terraform-routeros v1.99.1 bonding -# Create is a plain REST POST (DefaultCreate); it does not remove the -# slaves from /interface/bridge/port first. depends_on cannot name the -# six sfp-sfpplus1..6 bridge-port resources this change deletes, and -# OpenTofu will not order those orphan destroys before these creates. -# Apply in two steps as described in README.md. - -resource "routeros_interface_bonding" "bond_lab01" { - name = "bond-lab01" - slaves = [routeros_interface_ethernet.sfp_sfpplus1.name, routeros_interface_ethernet.sfp_sfpplus2.name] - mode = "802.3ad" - transmit_hash_policy = "layer-3-and-4" - lacp_rate = "30secs" - comment = "lab01 SFP pair (PHY-012 + PHY-013)" -} - -resource "routeros_interface_bonding" "bond_lab02" { - name = "bond-lab02" - slaves = [routeros_interface_ethernet.sfp_sfpplus3.name, routeros_interface_ethernet.sfp_sfpplus4.name] - mode = "802.3ad" - transmit_hash_policy = "layer-3-and-4" - lacp_rate = "30secs" - comment = "lab02 SFP pair (PHY-014 + PHY-015)" -} - -resource "routeros_interface_bonding" "bond_lab03" { - name = "bond-lab03" - slaves = [routeros_interface_ethernet.sfp_sfpplus5.name, routeros_interface_ethernet.sfp_sfpplus6.name] - mode = "802.3ad" - transmit_hash_policy = "layer-3-and-4" - lacp_rate = "30secs" - comment = "lab03 SFP pair (PHY-016 + PHY-017)" -} diff --git a/routeros/sw-core01/bridge.tf b/routeros/sw-core01/bridge.tf index e21347f..6aa374c 100644 --- a/routeros/sw-core01/bridge.tf +++ b/routeros/sw-core01/bridge.tf @@ -3,23 +3,44 @@ resource "routeros_interface_bridge" "lab" { vlan_filtering = true } -resource "routeros_interface_bridge_port" "bond_lab01" { +resource "routeros_interface_bridge_port" "sfp_sfpplus1" { bridge = routeros_interface_bridge.lab.name - interface = routeros_interface_bonding.bond_lab01.name + interface = routeros_interface_ethernet.sfp_sfpplus1.name frame_types = "admit-only-vlan-tagged" ingress_filtering = true } -resource "routeros_interface_bridge_port" "bond_lab02" { +resource "routeros_interface_bridge_port" "sfp_sfpplus2" { bridge = routeros_interface_bridge.lab.name - interface = routeros_interface_bonding.bond_lab02.name + interface = routeros_interface_ethernet.sfp_sfpplus2.name frame_types = "admit-only-vlan-tagged" ingress_filtering = true } -resource "routeros_interface_bridge_port" "bond_lab03" { +resource "routeros_interface_bridge_port" "sfp_sfpplus3" { bridge = routeros_interface_bridge.lab.name - interface = routeros_interface_bonding.bond_lab03.name + interface = routeros_interface_ethernet.sfp_sfpplus3.name + frame_types = "admit-only-vlan-tagged" + ingress_filtering = true +} + +resource "routeros_interface_bridge_port" "sfp_sfpplus4" { + bridge = routeros_interface_bridge.lab.name + interface = routeros_interface_ethernet.sfp_sfpplus4.name + frame_types = "admit-only-vlan-tagged" + ingress_filtering = true +} + +resource "routeros_interface_bridge_port" "sfp_sfpplus5" { + bridge = routeros_interface_bridge.lab.name + interface = routeros_interface_ethernet.sfp_sfpplus5.name + frame_types = "admit-only-vlan-tagged" + ingress_filtering = true +} + +resource "routeros_interface_bridge_port" "sfp_sfpplus6" { + bridge = routeros_interface_bridge.lab.name + interface = routeros_interface_ethernet.sfp_sfpplus6.name frame_types = "admit-only-vlan-tagged" ingress_filtering = true } @@ -51,9 +72,12 @@ resource "routeros_interface_bridge_vlan" "vlan30" { bridge = routeros_interface_bridge.lab.name vlan_ids = ["30"] tagged = [ - routeros_interface_bonding.bond_lab01.name, - routeros_interface_bonding.bond_lab02.name, - routeros_interface_bonding.bond_lab03.name, + routeros_interface_ethernet.sfp_sfpplus1.name, + routeros_interface_ethernet.sfp_sfpplus2.name, + routeros_interface_ethernet.sfp_sfpplus3.name, + routeros_interface_ethernet.sfp_sfpplus4.name, + routeros_interface_ethernet.sfp_sfpplus5.name, + routeros_interface_ethernet.sfp_sfpplus6.name, routeros_interface_ethernet.sfp_sfpplus7.name, ] } diff --git a/routeros/sw-core01/tfplan-s1 b/routeros/sw-core01/tfplan-s1 new file mode 100644 index 0000000..eb13975 Binary files /dev/null and b/routeros/sw-core01/tfplan-s1 differ