Skip to content

Commit

Permalink
Feat(eos_designs): Enable KERNELFIB_PROGRAM_ALL_ECMP for all wan rout…
Browse files Browse the repository at this point in the history
…ers (#3689)
  • Loading branch information
ayushmittal-arista authored Mar 4, 2024
1 parent 86a1f45 commit fb69491
Show file tree
Hide file tree
Showing 36 changed files with 151 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
service routing protocols model multi-agent
!
hostname autovpn-edge-no-default-policy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
service routing protocols model multi-agent
!
hostname autovpn-edge
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
service routing protocols model multi-agent
!
hostname autovpn-rr1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
service routing protocols model multi-agent
!
hostname autovpn-rr2
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!RANCID-CONTENT-TYPE: arista
!
agent KernelFib environment KERNELFIB_PROGRAM_ALL_ECMP=1
!
flow tracking hardware
tracker WAN-FLOW-TRACKER
record export on inactive timeout 70000
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
ip_extcommunity_lists:
- name: ECL-EVPN-SOO
entries:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
ip_extcommunity_lists:
- name: ECL-EVPN-SOO
entries:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
ip_extcommunity_lists:
- name: ECL-EVPN-SOO
entries:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,11 @@ route_maps:
static_routes:
- destination_address_prefix: 0.0.0.0/0
gateway: 10.8.8.9
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
ip_extcommunity_lists:
- name: ECL-EVPN-SOO
entries:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,11 @@ static_routes:
- destination_address_prefix: 66.66.66.0/24
gateway: 172.17.0.0
vrf: default
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,11 @@ route_maps:
static_routes:
- destination_address_prefix: 0.0.0.0/0
gateway: 10.7.7.6
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,11 @@ route_maps:
type: permit
match:
- extcommunity ECL-EVPN-SOO
agents:
- name: KernelFib
environment_variables:
- name: KERNELFIB_PROGRAM_ALL_ECMP
value: '1'
flow_tracking:
hardware:
trackers:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Copyright (c) 2024 Arista Networks, Inc.
# Use of this source code is governed by the Apache License 2.0
# that can be found in the LICENSE file.
from __future__ import annotations

from functools import cached_property

from .utils import UtilsMixin


class AgentsMixin(UtilsMixin):
"""
Mixin Class used to generate structured config for one key.
Class should only be used as Mixin to a AvdStructuredConfig class
"""

@cached_property
def agents(self) -> dict | None:
"""
Return structured config for agents
"""

if not self.shared_utils.is_wan_router:
return None

agents = [
{"name": "KernelFib", "environment_variables": [{"name": "KERNELFIB_PROGRAM_ALL_ECMP", "value": "1"}]},
]

return agents
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# that can be found in the LICENSE file.
from ansible_collections.arista.avd.plugins.plugin_utils.avdfacts import AvdFacts

from .agents import AgentsMixin
from .as_path import AsPathMixin
from .ethernet_interfaces import EthernetInterfacesMixin
from .loopback_interfaces import LoopbackInterfacesMixin
Expand Down Expand Up @@ -37,6 +38,7 @@ class AvdStructuredConfigUnderlay(
StandardAccessListsMixin,
StaticRoutesMixin,
MplsMixin,
AgentsMixin,
):
"""
The AvdStructuredConfig Class is imported used "get_structured_config" to render parts of the structured config.
Expand Down

0 comments on commit fb69491

Please sign in to comment.