Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat(eos_cli_config_gen): Add IPv4 and IPv6 SR-TE address families #3217

Merged
merged 3 commits into from
Oct 10, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# router-bgp-v4-v6-sr-te

## Table of Contents

- [Management](#management)
- [Management Interfaces](#management-interfaces)
- [Routing](#routing)
- [Router BGP](#router-bgp)

## 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
```

## Routing

### Router BGP

#### Router BGP Summary

| BGP AS | Router ID |
| ------ | --------- |
| 65103 | 192.168.255.3 |

#### Router BGP Peer Groups

##### SR-TE-PG-1

| Settings | Value |
| -------- | ----- |
| Remote AS | 65000 |

##### SR-TE-PG-2

| Settings | Value |
| -------- | ----- |
| Remote AS | 65000 |

#### BGP Neighbors

| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive |
| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- |
| 192.168.42.42 | 65004 | default | - | - | - | - | - | - | - | - |
| 2001:db8::dead:beef:cafe | 65004 | default | - | - | - | - | - | - | - | - |

#### Router BGP IPv4 SR-TE Address Family

##### IPv4 SR-TE Neighbors

| Neighbor | Activate | Route-map In | Route-map Out |
| -------- | -------- | ------------ | ------------- |
| 192.168.42.42 | True | RM-SR-TE-PEER-IN4 | RM-SR-TE-PEER-OUT4 |

##### IPv4 SR-TE Peer Groups

| Peer Group | Activate | Route-map In | Route-map Out |
| ---------- | -------- | ------------ | ------------- |
| SR-TE-PG-1 | True | RM-SR-TE-PEER-IN4 | RM-SR-TE-PEER-OUT4 |

#### Router BGP IPv6 SR-TE Address Family

##### IPv6 SR-TE Neighbors

| Neighbor | Activate | Route-map In | Route-map Out |
| -------- | -------- | ------------ | ------------- |
| 2001:db8::dead:beef:cafe | True | RM-SR-TE-PEER-IN6 | RM-SR-TE-PEER-OUT6 |

##### IPv6 SR-TE Peer Groups

| Peer Group | Activate | Route-map In | Route-map Out |
| ---------- | -------- | ------------ | ------------- |
| SR-TE-PG-2 | True | RM-SR-TE-PEER-IN6 | RM-SR-TE-PEER-OUT6 |

#### Router BGP Device Configuration

```eos
!
router bgp 65103
router-id 192.168.255.3
neighbor SR-TE-PG-1 peer group
neighbor SR-TE-PG-1 remote-as 65000
neighbor SR-TE-PG-2 peer group
neighbor SR-TE-PG-2 remote-as 65000
neighbor 192.168.42.42 remote-as 65004
neighbor 2001:db8::dead:beef:cafe remote-as 65004
!
address-family ipv4 sr-te
neighbor SR-TE-PG-1 activate
neighbor SR-TE-PG-1 route-map RM-SR-TE-PEER-IN4 in
neighbor SR-TE-PG-1 route-map RM-SR-TE-PEER-OUT4 out
neighbor 192.168.42.42 activate
neighbor 192.168.42.42 route-map RM-SR-TE-PEER-IN4 in
neighbor 192.168.42.42 route-map RM-SR-TE-PEER-OUT4 out
!
address-family ipv6 sr-te
neighbor SR-TE-PG-2 activate
neighbor SR-TE-PG-2 route-map RM-SR-TE-PEER-IN6 in
neighbor SR-TE-PG-2 route-map RM-SR-TE-PEER-OUT6 out
neighbor 2001:db8::dead:beef:cafe activate
neighbor 2001:db8::dead:beef:cafe route-map RM-SR-TE-PEER-IN6 in
neighbor 2001:db8::dead:beef:cafe route-map RM-SR-TE-PEER-OUT6 out
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
!RANCID-CONTENT-TYPE: arista
!
transceiver qsfp default-mode 4x10G
!
hostname router-bgp-v4-v6-sr-te
!
no enable password
no aaa root
!
interface Management1
description oob_management
vrf MGMT
ip address 10.73.255.122/24
!
router bgp 65103
router-id 192.168.255.3
neighbor SR-TE-PG-1 peer group
neighbor SR-TE-PG-1 remote-as 65000
neighbor SR-TE-PG-2 peer group
neighbor SR-TE-PG-2 remote-as 65000
neighbor 192.168.42.42 remote-as 65004
neighbor 2001:db8::dead:beef:cafe remote-as 65004
!
address-family ipv4 sr-te
neighbor SR-TE-PG-1 activate
neighbor SR-TE-PG-1 route-map RM-SR-TE-PEER-IN4 in
neighbor SR-TE-PG-1 route-map RM-SR-TE-PEER-OUT4 out
neighbor 192.168.42.42 activate
neighbor 192.168.42.42 route-map RM-SR-TE-PEER-IN4 in
neighbor 192.168.42.42 route-map RM-SR-TE-PEER-OUT4 out
!
address-family ipv6 sr-te
neighbor SR-TE-PG-2 activate
neighbor SR-TE-PG-2 route-map RM-SR-TE-PEER-IN6 in
neighbor SR-TE-PG-2 route-map RM-SR-TE-PEER-OUT6 out
neighbor 2001:db8::dead:beef:cafe activate
neighbor 2001:db8::dead:beef:cafe route-map RM-SR-TE-PEER-IN6 in
neighbor 2001:db8::dead:beef:cafe route-map RM-SR-TE-PEER-OUT6 out
!
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
### Routing - BGP vpn-ipv4 ###
router_bgp:
as: 65103
router_id: 192.168.255.3
peer_groups:
- name: SR-TE-PG-1
remote_as: 65000
- name: SR-TE-PG-2
remote_as: 65000
neighbors:
- ip_address: 192.168.42.42
remote_as: 65004
- ip_address: 2001:db8::dead:beef:cafe
remote_as: 65004
address_family_ipv4_sr_te:
peer_groups:
- name: SR-TE-PG-1
activate: true
route_map_in: RM-SR-TE-PEER-IN4
route_map_out: RM-SR-TE-PEER-OUT4
neighbors:
- ip_address: 192.168.42.42
activate: true
route_map_in: RM-SR-TE-PEER-IN4
route_map_out: RM-SR-TE-PEER-OUT4
address_family_ipv6_sr_te:
peer_groups:
- name: SR-TE-PG-2
activate: true
route_map_in: RM-SR-TE-PEER-IN6
route_map_out: RM-SR-TE-PEER-OUT6
neighbors:
- ip_address: 2001:db8::dead:beef:cafe
activate: true
route_map_in: RM-SR-TE-PEER-IN6
route_map_out: RM-SR-TE-PEER-OUT6
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ router-bgp-evpn-mpls
router-bgp-rtc
router-bgp-v4-evpn
router-bgp-v4-v6-evpn
router-bgp-v4-v6-sr-te
router-bgp-vpn-ipv4-vpn-ipv6
router-bgp-vpws
router-bgp-vrf-address-families
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,17 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;redistribute_routes</samp>](## "router_bgp.address_family_ipv4_multicast.redistribute_routes") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- source_protocol</samp>](## "router_bgp.address_family_ipv4_multicast.redistribute_routes.[].source_protocol") | String | Required, Unique | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map</samp>](## "router_bgp.address_family_ipv4_multicast.redistribute_routes.[].route_map") | String | | | | |
| [<samp>&nbsp;&nbsp;address_family_ipv4_sr_te</samp>](## "router_bgp.address_family_ipv4_sr_te") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;neighbors</samp>](## "router_bgp.address_family_ipv4_sr_te.neighbors") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- ip_address</samp>](## "router_bgp.address_family_ipv4_sr_te.neighbors.[].ip_address") | String | Required, Unique | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;activate</samp>](## "router_bgp.address_family_ipv4_sr_te.neighbors.[].activate") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_in</samp>](## "router_bgp.address_family_ipv4_sr_te.neighbors.[].route_map_in") | String | | | | Inbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_out</samp>](## "router_bgp.address_family_ipv4_sr_te.neighbors.[].route_map_out") | String | | | | Outbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;peer_groups</samp>](## "router_bgp.address_family_ipv4_sr_te.peer_groups") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- name</samp>](## "router_bgp.address_family_ipv4_sr_te.peer_groups.[].name") | String | Required, Unique | | | Peer-group name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;activate</samp>](## "router_bgp.address_family_ipv4_sr_te.peer_groups.[].activate") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_in</samp>](## "router_bgp.address_family_ipv4_sr_te.peer_groups.[].route_map_in") | String | | | | Inbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_out</samp>](## "router_bgp.address_family_ipv4_sr_te.peer_groups.[].route_map_out") | String | | | | Outbound route-map name |
| [<samp>&nbsp;&nbsp;address_family_ipv6</samp>](## "router_bgp.address_family_ipv6") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;networks</samp>](## "router_bgp.address_family_ipv6.networks") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- prefix</samp>](## "router_bgp.address_family_ipv6.networks.[].prefix") | String | Required, Unique | | | IPv4 prefix "A.B.C.D/E" or IPv6 prefix "A:B:C:D:E:F:G:H/I" |
Expand Down Expand Up @@ -339,6 +350,17 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;networks</samp>](## "router_bgp.address_family_ipv6_multicast.networks") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- prefix</samp>](## "router_bgp.address_family_ipv6_multicast.networks.[].prefix") | String | Required, Unique | | | IPv6 prefix "A:B:C:D:E:F:G:H/I" |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map</samp>](## "router_bgp.address_family_ipv6_multicast.networks.[].route_map") | String | | | | |
| [<samp>&nbsp;&nbsp;address_family_ipv6_sr_te</samp>](## "router_bgp.address_family_ipv6_sr_te") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;neighbors</samp>](## "router_bgp.address_family_ipv6_sr_te.neighbors") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- ip_address</samp>](## "router_bgp.address_family_ipv6_sr_te.neighbors.[].ip_address") | String | Required, Unique | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;activate</samp>](## "router_bgp.address_family_ipv6_sr_te.neighbors.[].activate") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_in</samp>](## "router_bgp.address_family_ipv6_sr_te.neighbors.[].route_map_in") | String | | | | Inbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_out</samp>](## "router_bgp.address_family_ipv6_sr_te.neighbors.[].route_map_out") | String | | | | Outbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;peer_groups</samp>](## "router_bgp.address_family_ipv6_sr_te.peer_groups") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- name</samp>](## "router_bgp.address_family_ipv6_sr_te.peer_groups.[].name") | String | Required, Unique | | | Peer-group name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;activate</samp>](## "router_bgp.address_family_ipv6_sr_te.peer_groups.[].activate") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_in</samp>](## "router_bgp.address_family_ipv6_sr_te.peer_groups.[].route_map_in") | String | | | | Inbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_out</samp>](## "router_bgp.address_family_ipv6_sr_te.peer_groups.[].route_map_out") | String | | | | Outbound route-map name |
| [<samp>&nbsp;&nbsp;address_family_flow_spec_ipv4</samp>](## "router_bgp.address_family_flow_spec_ipv4") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;bgp</samp>](## "router_bgp.address_family_flow_spec_ipv4.bgp") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;missing_policy</samp>](## "router_bgp.address_family_flow_spec_ipv4.bgp.missing_policy") | Dictionary | | | | |
Expand Down Expand Up @@ -901,6 +923,17 @@
redistribute_routes:
- source_protocol: <str>
route_map: <str>
address_family_ipv4_sr_te:
neighbors:
- ip_address: <str>
activate: <bool>
route_map_in: <str>
route_map_out: <str>
peer_groups:
- name: <str>
activate: <bool>
route_map_in: <str>
route_map_out: <str>
address_family_ipv6:
networks:
- prefix: <str>
Expand Down Expand Up @@ -941,6 +974,17 @@
networks:
- prefix: <str>
route_map: <str>
address_family_ipv6_sr_te:
neighbors:
- ip_address: <str>
activate: <bool>
route_map_in: <str>
route_map_out: <str>
peer_groups:
- name: <str>
activate: <bool>
route_map_in: <str>
route_map_out: <str>
address_family_flow_spec_ipv4:
bgp:
missing_policy:
Expand Down
Loading