Skip to content

Commit

Permalink
Feat(eos_cli_config_gen): Support LACP global configuration parameters (
Browse files Browse the repository at this point in the history
#1301)

* Feat(eos_cli_config_gen): Support LACP global parameters

* Update README

* Upload artifacts
  • Loading branch information
tgodaA authored Nov 9, 2021
1 parent 1379586 commit 8a36671
Show file tree
Hide file tree
Showing 9 changed files with 195 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# lacp
# Table of Contents
<!-- toc -->

- [Management](#management)
- [Management Interfaces](#management-interfaces)
- [Authentication](#authentication)
- [Monitoring](#monitoring)
- [LACP](#lacp)
- [LACP Summary](#lacp-summary)
- [LACP Device Configuration](#lacp-device-configuration)
- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy)
- [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary)
- [Interfaces](#interfaces)
- [Routing](#routing)
- [IP Routing](#ip-routing)
- [IPv6 Routing](#ipv6-routing)
- [Multicast](#multicast)
- [Filters](#filters)
- [ACL](#acl)
- [Quality Of Service](#quality-of-service)

<!-- toc -->
# Management

## Management Interfaces

### Management Interfaces Summary

#### IPv4

| Management Interface | description | Type | VRF | IP Address | Gateway |
| -------------------- | ----------- | ---- | --- | ---------- | ------- |
| Management1 | oob_management | oob | MGMT | 10.73.255.122/24 | 10.73.255.2 |

#### IPv6

| Management Interface | description | Type | VRF | IPv6 Address | IPv6 Gateway |
| -------------------- | ----------- | ---- | --- | ------------ | ------------ |
| Management1 | oob_management | oob | MGMT | - | - |

### Management Interfaces Device Configuration

```eos
!
interface Management1
description oob_management
vrf MGMT
ip address 10.73.255.122/24
```

# Authentication

# Monitoring

# LACP

## LACP Summary

| Port-id range | Rate-limit default | System-priority |
| ------------- | ------------------ | --------------- |
| 1 - 128 | False | 0 |

## LACP Device Configuration

```eos
!
lacp port-id range 1 128
no lacp rate-limit default
lacp system-priority 0
```

# Internal VLAN Allocation Policy

## Internal VLAN Allocation Policy Summary

**Default Allocation Policy**

| Policy Allocation | Range Beginning | Range Ending |
| ------------------| --------------- | ------------ |
| ascending | 1006 | 4094 |

# Interfaces

# Routing

## IP Routing

### IP Routing Summary

| VRF | Routing Enabled |
| --- | --------------- |
| default | false|
### IP Routing Device Configuration

```eos
```
## IPv6 Routing

### IPv6 Routing Summary

| VRF | Routing Enabled |
| --- | --------------- |
| default | false |

# Multicast

# Filters

# ACL

# Quality Of Service
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
!RANCID-CONTENT-TYPE: arista
!
transceiver qsfp default-mode 4x10G
!
lacp port-id range 1 128
no lacp rate-limit default
lacp system-priority 0
!
hostname lacp
!
no aaa root
no enable password
!
interface Management1
description oob_management
vrf MGMT
ip address 10.73.255.122/24
!
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
lacp:
port_id:
range:
begin: 1
end: 128
rate_limit:
default: false
system_priority: 0
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ ip-http-client-source-interface
ip-ssh-client-source-interface
ipv6-access-lists
ipv6-static-routes
lacp
lldp
load-interval
logging-match-list
Expand Down
14 changes: 14 additions & 0 deletions ansible_collections/arista/avd/roles/eos_cli_config_gen/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
- [Internal VLAN Order](#internal-vlan-order)
- [IP DHCP Relay](#ip-dhcp-relay)
- [IP ICMP Redirect](#ip-icmp-redirect)
- [LACP](#lacp)
- [LLDP](#lldp)
- [MACsec](#macsec)
- [Maintenance Mode](#maintenance-mode)
Expand Down Expand Up @@ -1207,6 +1208,19 @@ ip_icmp_redirect: < true | false >
ipv6_icmp_redirect: < true | false >
```

### LACP

```yaml
lacp:
port_id:
range:
begin: < min_port >
end: < max_port >
rate_limit:
default: < true | false >
system_priority: < 0-65535 >
```

### LLDP

```yaml
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{% if lacp is arista.avd.defined %}

# LACP

## LACP Summary

| Port-id range | Rate-limit default | System-priority |
| ------------- | ------------------ | --------------- |
{% if lacp.port_id.range.begin is arista.avd.defined and lacp.port_id.range.end is arista.avd.defined %}
{% set row_range = lacp.port_id.range.begin ~ ' - ' ~ lacp.port_id.range.end %}
{% else %}
{% set row_range = '-' %}
{% endif %}
| {{ row_range }} | {{ lacp.rate_limit.default | arista.avd.default('-') }} | {{ lacp.system_priority | arista.avd.default('-') }} |

## LACP Device Configuration

```eos
{% include 'eos/lacp.j2' %}
```
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@
{% include 'documentation/tcam-profile.j2' %}
{# MLAG #}
{% include 'documentation/mlag-configuration.j2' %}
{# LACP #}
{% include 'documentation/lacp-configuration.j2' %}
{# Spanning Tree #}
{% include 'documentation/spanning-tree.j2' %}
{# Internal VLAN Allocation Policy #}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
{# ip dhcp relay #}
{% include 'eos/ip-dhcp-relay.j2' %}
{# switchport default #}
{% include 'eos/switchport-default.j2'%}
{% include 'eos/switchport-default.j2' %}
{# internal vlan allocation policy #}
{% include 'eos/vlan-internal-order.j2' %}
{# ip igmp snooping #}
Expand All @@ -40,6 +40,8 @@
{% include 'eos/queue-monitor-length.j2' %}
{# lldp #}
{% include 'eos/lldp.j2' %}
{# lacp #}
{% include 'eos/lacp.j2' %}
{# logging #}
{% include 'eos/logging.j2' %}
{# match-list #}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{# eos - lacp #}
{% if lacp is arista.avd.defined %}
!
{% if lacp.port_id.range.begin is arista.avd.defined and lacp.port_id.range.end is arista.avd.defined %}
lacp port-id range {{ lacp.port_id.range.begin }} {{ lacp.port_id.range.end }}
{% endif %}
{% if lacp.rate_limit.default is arista.avd.defined(true) %}
lacp rate-limit default
{% elif lacp.rate_limit.default is arista.avd.defined(false) %}
no lacp rate-limit default
{% endif %}
{% if lacp.system_priority is arista.avd.defined %}
lacp system-priority {{ lacp.system_priority }}
{% endif %}
{% endif %}

0 comments on commit 8a36671

Please sign in to comment.