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

Implement IS-IS as underlay option in eos_l3ls_evpn #184

Merged
merged 13 commits into from
Jul 9, 2020
Merged

Implement IS-IS as underlay option in eos_l3ls_evpn #184

merged 13 commits into from
Jul 9, 2020

Conversation

titom73
Copy link
Contributor

@titom73 titom73 commented Jul 9, 2020

Initial Implementation for ISIS as underlay (#127)

EOS_L3LS_EVPN

Inputs:

DC1_FABRIC.yml

underlay_routing_protocol: ISIS
isis_area_id: "49.0001"
isis_site_id: "0001"

Outputs:

  • Data structure compatible with eos_cli_config_gen role
router_isis:
    instance: EVPN_UNDERLAY
    net: 49.0001.0001.0001.0001.00
    router_id: 192.168.255.3
    no_passive_interfaces:
    - Ethernet1
    - Ethernet2
    - Vlan4093
    is_type: level-2
    address_family: ['ipv4 unicast']
    isis_af_defaults:
      - maximum-paths 2
  • Fabric documentation: List of CLNS addresses configured on devices.

EOS_CLI_CONFIG_GEN

Initial implementation of ISIS to support protocol as underlay in L3LS
environment.

Supported options:

  • ISIS Router options:
router_isis:
    instance: <ISIS Instance Name>
    net: < CLNS Address to run ISIS | format 49.0001.0001.0000.0001.00 >
    router_id: < IPv4_address >
    no_passive_interfaces: < List no-passive-interface >
    is_type: < level-1 | level-1-2 | level-2 >
    address_family: < List of Address Families >
    isis_af_defaults:
      - maximum-paths < Integer 1-64 >
  • ISIS Interface confituguration (Ethernet / Loopback / Vlans)
isis_enable: < ISIS Instance >
isis_passive: < boolean >
isis_metric: < integer >
isis_network_point_to_point: < boolean >

Outputs:

  • Device documentation
  • Device Configuration
interface Loopback0
    description EVPN_Overlay_Peering
    ip address 192.168.255.3/32
    isis enable EVPN_UNDERLAY
    isis passive
!
interface Vlan4093
    description MLAG_PEER_L3_PEERING
    ip address 10.255.251.0/31
    isis enable EVPN_UNDERLAY
    isis metric 50
    isis network point-to-point
!
router isis EVPN_UNDERLAY
    net 49.0001.0001.0001.0001.00
    is-type level-2
    router-id ipv4 192.168.255.3
    log-adjacency-changes
    !
    address-family ipv4 unicast
      maximum-paths 2
    !
!

Review

Initial implementation of ISIS to support protocol as underlay in L3LS
environement.

Supported options:
------------------
- ISIS Router options:

```
router_isis:
  instance: <ISIS Instance Name>
  net: < CLNS Address to run ISIS | format 49.0001.0001.0000.0001.00 >
  router_id: < IPv4_address >
  no_passive_interfaces: < List no-passive-interface >
  is_type: < level-1 | level-1-2 | level-2 >
  address_family: < List of Address Families >
```

- ISIS Interface confituguration (Ethernet / Loopback / Vlans)

```
isis_enable: < ISIS Instance >
isis_passive: < boolean >
isis_metric: < integer >
isis_network_point_to_point: < boolean >
```

Outputs:
--------

- Device documentation
- Device Configuration

```
interface Loopback0
   description EVPN_Overlay_Peering
   ip address 192.168.255.3/32
   isis enable EVPN_UNDERLAY
   isis passive
!
interface Vlan4093
   description MLAG_PEER_L3_PEERING
   ip address 10.255.251.0/31
   isis enable EVPN_UNDERLAY
   isis metric 50
   isis network point-to-point
!
router isis EVPN_UNDERLAY
   net 49.0001.0001.0001.0001.00
   is-type level-2
   router-id ipv4 192.168.255.3
   log-adjacency-changes
   !
   address-family ipv4 unicast
   !
!
```
Initial implementation of ISIS abstraction to run as underlay protocol.

Inputs:
-------

DC1_FABRIC.yml

```
underlay_routing_protocol: ISIS
isis_area_id: "49.0001"
isis_site_id: "0001"
```

Outputs:
--------

- Data structure compatible with eos_cli_config_gen role

```
router_isis:
  instance: EVPN_UNDERLAY
  net: 49.0001.0001.0001.0001.00
  router_id: 192.168.255.3
  no_passive_interfaces:
    - Ethernet1
    - Ethernet2
    - Vlan4093
  is_type: level-2
  address_family: ['ipv4 unicast']
```

- Fabric documentation: List of CLNS addresses configured on devices.
Implement initial scenario for ISIS underlay testing in CI
``
Add statement maximum-paths under isis/af-ipv4-unicast

Device data model:

```
  address_family: ['ipv4 unicast']
  isis_af_defaults:
    - maximum-paths {{ spine.nodes | length * max_l3leaf_to_spine_links }}
```

Configuration output

```
router isis EVPN_UNDERLAY
   net 49.0001.0001.0001.0001.00
   is-type level-2
   router-id ipv4 192.168.255.3
   log-adjacency-changes
   !
   address-family ipv4 unicast
      maximum-paths 2
   !
!
```
Create IS-IS configuration for Loopback1 to announce VTEP IP address
throughout fabric underlay.

Configuration is similar to loopback0:
- Enable on EVPN_UNDERLAY instance
- Run in passive mode
@titom73 titom73 requested a review from carlbuchmann July 9, 2020 06:33
@titom73 titom73 self-assigned this Jul 9, 2020
Copy link
Member

@carlbuchmann carlbuchmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM and tested with AVD reference topology.

@carlbuchmann carlbuchmann merged commit 094f029 into aristanetworks:devel Jul 9, 2020
@carlbuchmann carlbuchmann added this to the v1.1.0 milestone Jul 14, 2020
@carlbuchmann carlbuchmann added role: eos_cli_config_gen issue related to eos_cli_config_gen role role: eos_l3ls_evpn issue related to eos_l3ls_evpn role labels Jul 14, 2020
@titom73 titom73 deleted the features/underlay-isis branch October 23, 2020 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EVPN design guide role: eos_cli_config_gen issue related to eos_cli_config_gen role role: eos_l3ls_evpn issue related to eos_l3ls_evpn role type: enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants