Skip to content

Commit 42ece3b

Browse files
authored
Support LAG (802.3ad Aggregate Interfaces) (#42)
* Support LAG (aggregate interfaces) * fix: allow changing default fortilink IP
1 parent 4183d81 commit 42ece3b

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

dynamic-bgp-on-lo/01-Edge-Underlay.j2

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,20 @@ config system interface
7575
set interface {{ i.parent }}
7676
{% endif %}
7777

78+
{# Aggregate (LAG) #}
79+
{% set lag_members = [] %}
80+
{% if i.aggregate|default(false) %}
81+
set vdom "root"
82+
set type aggregate
83+
{% for j in project.profiles[profile].interfaces
84+
if j.role == 'lag_member' and
85+
j.parent == i.name and
86+
j.name is defined %}
87+
{{ lag_members.append(j.name) or "" }}
88+
{% endfor %}
89+
{{'un' if not lag_members}}set member {{ lag_members|join(' ') }}
90+
{% endif %}
91+
7892
{# FEX #}
7993
{% if i.fex|default(false) %}
8094
set type fext-wan
@@ -115,7 +129,7 @@ config system interface
115129
{% elif i.role == 'trunk' %}
116130
set trunk {{ 'enable' if vlan_switch else 'disable' }}
117131
{% endif %}
118-
{% if i.ip is defined %}
132+
{% if i.ip is defined and i.role in [ 'lan', 'wan' ] %}
119133
set allowaccess {{ 'ping' if not i.access|default(false) else i.access|join(' ') }}
120134
{% endif %}
121135
next

dynamic-bgp-on-lo/01-Hub-Underlay.j2

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,20 @@ config system interface
4747
set interface {{ i.parent }}
4848
{% endif %}
4949

50+
{# Aggregate (LAG) #}
51+
{% set lag_members = [] %}
52+
{% if i.aggregate|default(false) %}
53+
set vdom "root"
54+
set type aggregate
55+
{% for j in project.profiles[profile].interfaces
56+
if j.role == 'lag_member' and
57+
j.parent == i.name and
58+
j.name is defined %}
59+
{{ lag_members.append(j.name) or "" }}
60+
{% endfor %}
61+
{{'un' if not lag_members}}set member {{ lag_members|join(' ') }}
62+
{% endif %}
63+
5064
{# Other settings #}
5165
{% if i.role == 'wan' %}
5266
set role wan

0 commit comments

Comments
 (0)