Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/caveats.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,12 @@ nodes:
* Arista EOS virtual machines and containers use [proprietary control-plane messages to indicate the loss of Ethernet line protocol](https://blog.ipspace.net/2025/03/arista-spooky-action-distance/). Set the **netlab_phy_control** node variable to *False* to disable this functionality.
* Device configurations that contain `no lldp transmit` or `no lldp receive` configuration command trigger configuration reload failures due to an Arista EOS bug ([more details](https://github.com/ipspace/netlab/issues/2577)). These commands are thus automatically removed from collected device configurations.

GRE tunnel caveats:

* OSPFv2 routing process does not use routes reachable over tunnel interfaces unless the **tunnel routes** parameter is configured. _netlab_ enables OSPFv2 tunnel routes, as no other routing protocol has a similar limitation, and Arista EOS documentation claims it's enabled by default (which is not the case).
* IS-IS does not work over GRE tunnels
* Arista cEOS might forward multiple copies of the packets received over GRE tunnels

(caveats-aruba)=
## Aruba AOS-CX

Expand Down
1 change: 1 addition & 0 deletions docs/plugins/tunnel.gre.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ The plugin includes Jinja2 templates for the following platforms:

| Operating system | GRE over<br>IPv4 | GRE over<br>IPv6 | Transport<br>VRF |
|--------------|:-:|:-:|:-:|
| Arista EOS | ✅ | ❌ | ✅ |
| Cisco IOS/XE[^18v] |✅|✅|✅|
| FRR |✅|✅|✅|
| Juniper vJunos-switch |✅|✅|✅|
Expand Down
1 change: 1 addition & 0 deletions netsim/ansible/templates/ospf/eos.ospfv2.j2
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ router ospf {{ ospf_pid }}
{% if ospf_data.router_id is defined %}
router-id {{ ospf_data.router_id }}
{% endif %}
tunnel routes
interface unnumbered hello mask tx 0.0.0.0
timers spf delay initial 100 200 500
timers lsa rx min interval 100
Expand Down
2 changes: 2 additions & 0 deletions netsim/devices/eos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ features:
supported_protocols: [ stp, rstp, mstp, pvrst ]
enable_per_port: True
port_type: True
tunnel:
gre: [ ipv4, vrf ]
vlan:
model: l3-switch
native_routed: true
Expand Down
12 changes: 12 additions & 0 deletions netsim/extra/tunnel/gre/eos.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{% for intf in netlab_interfaces if intf.tunnel.mode|default('') in ['gre'] %}
!
interface {{ intf.ifname }}
tunnel mode {{ intf.tunnel.mode }}
{% if intf.tunnel.vrf is defined %}
tunnel underlay vrf {{ intf.tunnel.vrf }}
{% endif %}
tunnel source {{ intf.tunnel._source[intf.tunnel.af] }}
tunnel destination {{ intf.tunnel._destination[intf.tunnel.af] }}
tunnel path-mtu-discovery
tunnel ttl 255
{% endfor %}