Skip to content

Commit

Permalink
Feat(eos_cli_config_gen): Add RADIUS Source-Interface (aristanetworks…
Browse files Browse the repository at this point in the history
  • Loading branch information
mthiel117 authored Jul 28, 2021
1 parent f73cfdc commit e0d10bb
Show file tree
Hide file tree
Showing 9 changed files with 190 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# ip-radius-source-interface
# Table of Contents
<!-- toc -->

- [Management](#management)
- [Management Interfaces](#management-interfaces)
- [Authentication](#authentication)
- [IP RADIUS Source Interfaces](#ip-radius-source-interfaces)
- [Monitoring](#monitoring)
- [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

## IP RADIUS Source Interfaces

### IP RADIUS Source Interfaces

| VRF | Source Interface Name |
| --- | --------------- |
| default | loopback1 |
| MGMT | Ma1 |
| default | loopback10 |

### IP SOURCE Source Interfaces Device Configuration

```eos
!
ip radius vrf default source-interface loopback1
!
ip radius vrf MGMT source-interface Ma1
!
ip radius source-interface loopback10
```

# Monitoring

# 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,21 @@
!RANCID-CONTENT-TYPE: arista
!
transceiver qsfp default-mode 4x10G
!
hostname ip-radius-source-interface
!
no aaa root
no enable password
!
interface Management1
description oob_management
vrf MGMT
ip address 10.73.255.122/24
!
ip radius vrf default source-interface loopback1
!
ip radius vrf MGMT source-interface Ma1
!
ip radius source-interface loopback10
!
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
### IP RADIUSsource interface ###

ip_radius_source_interfaces:
- vrf : default
name: loopback1
- vrf : MGMT
name: Ma1
- vrf :
name: loopback10
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ ip-dhcp-relay
ip-extended-community-lists
ip-extended-community-lists-regexp
ip-routing
ip-radius-source-interface
ip-tacacs-source-interface
ipv6-access-lists
ipv6-static-routes
Expand Down
11 changes: 11 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 @@ -20,6 +20,7 @@
- [AAA Root](#aaa-root)
- [AAA Server Groups](#aaa-server-groups)
- [Enable Password](#enable-password)
- [IP RADIUS Source Interfaces](#ip-radius-source-interfaces)
- [IP TACACS+ Source Interfaces](#ip-tacacs-source-interfaces)
- [Local Users](#local-users)
- [Radius Servers](#radius-servers)
Expand Down Expand Up @@ -329,6 +330,16 @@ enable_password:
key: "< hashed_password >"
```
#### IP RADIUS Source Interfaces
```yaml
ip_radius_source_interfaces:
- name: <interface_name_1 >
vrf: < vrf_name_1 >
- name: <interface_name_2 >
vrf: < vrf_name_2 >
```
#### IP TACACS+ Source Interfaces
```yaml
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{% if ip_radius_source_interfaces is defined and ip_radius_source_interfaces is not none %}

## IP RADIUS Source Interfaces

### IP RADIUS Source Interfaces

| VRF | Source Interface Name |
| --- | --------------- |
{% for ip_radius_source_interface in ip_radius_source_interfaces | arista.avd.natural_sort %}
| {{ ip_radius_source_interface['vrf'] | arista.avd.default('default') }} | {{ ip_radius_source_interface['name'] }} |
{% endfor %}

### IP SOURCE Source Interfaces Device Configuration

```eos
{% include 'eos/ip-radius-source-interfaces.j2' %}
```
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
{% include 'documentation/ip-tacacs-source-interfaces.j2' %}
{## RADIUS Servers #}
{% include 'documentation/radius-servers.j2' %}
{## IP RADIUS Source Interfaces #}
{% include 'documentation/ip-radius-source-interfaces.j2' %}
{## AAA Server Groups #}
{% include 'documentation/aaa-server-groups.j2' %}
{## AAA Authentication #}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,8 @@
{% include 'eos/queue-monitor-streaming.j2' %}
{# ip tacacs+ source interfaces #}
{% include 'eos/ip-tacacs-source-interfaces.j2' %}
{# ip radius source interfaces #}
{% include 'eos/ip-radius-source-interfaces.j2' %}
{# vmtracer sessions #}
{% include 'eos/vmtracer-sessions.j2' %}
{# traffic policies #}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{# eos - IP radius Source interfaces#}
{% for ip_radius_source_interface in ip_radius_source_interfaces | arista.avd.natural_sort %}
!
{% set ip_radius_cli = "ip radius" %}
{% if ip_radius_source_interface.vrf is arista.avd.defined %}
{% set ip_radius_cli = ip_radius_cli ~ " vrf " ~ ip_radius_source_interface.vrf %}
{% endif %}
{% if ip_radius_source_interface.name is arista.avd.defined %}
{% set ip_radius_cli = ip_radius_cli ~ " source-interface " ~ ip_radius_source_interface.name %}
{% endif %}
{{ ip_radius_cli }}
{% endfor %}

0 comments on commit e0d10bb

Please sign in to comment.