Skip to content

[EVPN MH][CLI config][CLI show] add support for EVPN MH feature #3409

Open
dpolishchukgl wants to merge 1 commit intosonic-net:masterfrom
dpolishchukgl:vxlan-evpn-cmds
Open

[EVPN MH][CLI config][CLI show] add support for EVPN MH feature #3409
dpolishchukgl wants to merge 1 commit intosonic-net:masterfrom
dpolishchukgl:vxlan-evpn-cmds

Conversation

@dpolishchukgl
Copy link
Copy Markdown

@dpolishchukgl dpolishchukgl commented Jul 9, 2024

What I did

Added EVPN MH CLI as a part of implementation of EVPN MH feature

How I did it

  • added EVPN MH config commands
  • added EVPN MH show commands
  • added tests

How to verify it

config interface evpn-esi add PortChannel100 type-3 9
config interface sys-mac add PortChannel100 00:11:22:33:44:55
config interface evpn-df-pref add PortChannel100 2345
config interface evpn-uplink Ethernet4 enable 
config evpn-mh startup-delay add 7
config evpn-mh neigh-holdtime add 8
config evpn-mh mac-holdtime add 9

vtysh -c 'show run'
Building configuration...

Current configuration:
!
frr version 8.5.1
frr defaults traditional
hostname sonic
log syslog informational
log facility local4
evpn mh mac-holdtime 9
evpn mh neigh-holdtime 8
evpn mh startup-delay 7
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
password zebra
enable password zebra
!
interface Ethernet4
 evpn mh uplink
exit
!
interface PortChannel100
 evpn mh es-df-pref 2345
 evpn mh es-id 9
 evpn mh es-sys-mac 00:11:22:33:44:55
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

Previous command output (if the output of a command-line utility has changed)

New command output (if the output of a command-line utility has changed)

  • show vxlan ethernet-segment
+--------------+------+---------+-------+
| Interface    | DF   | Peers   |   NHG |
+==============+======+=========+=======+
| PortChannel5 | NDF  | 2.2.2.2 |    10 |
|              |      | 4.5.6.7 |       |
+--------------+------+---------+-------+
| PortChannel6 | DF   | 1.1.1.1 |    20 |
|              |      | 3.3.3.3 |       |
+--------------+------+---------+-------+
  • show vxlan l2-nexthop-group
+-------+-----------+----------------+
|   NHG | Tunnels   | LocalMembers   |
+=======+===========+================+
|    10 |           | 20,30,40       |
+-------+-----------+----------------+
|    20 | 2.3.4.5   | PortChannel5   |
+-------+-----------+----------------+
|    30 | 2.3.4.6   | PortChannel6   |
+-------+-----------+----------------+
  • show evpn route
Namespace: default
BGP table version is 9, local router ID is 10.127.127.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
EVPN type-1 prefix: [1]:[EthTag]:[ESI]:[IPlen]:[VTEP-IP]:[Frag-id]
EVPN type-2 prefix: [2]:[EthTag]:[MAClen]:[MAC]:[IPlen]:[IP]
EVPN type-3 prefix: [3]:[EthTag]:[IPlen]:[OrigIP]
EVPN type-4 prefix: [4]:[ESI]:[IPlen]:[OrigIP]
EVPN type-5 prefix: [5]:[EthTag]:[IPlen]:[IP]

   Network          Next Hop            Metric LocPrf Weight Path
                    Extended Community
Route Distinguisher: 10.127.127.1:2
 *> [1]:[0]:[03:00:11:22:33:44:55:00:00:64]:[128]:[::]:[0]
                    10.127.127.1                       32768 i
                    ET:8 RT:65100:1000
 *> [2]:[0]:[48]:[0c:fc:27:4c:00:00]
                    10.127.127.1                       32768 i
                    ET:8 RT:65100:1000
 *> [3]:[0]:[32]:[10.127.127.1]
                    10.127.127.1                       32768 i
                    ET:8 RT:65100:1000
Route Distinguisher: 10.127.127.1:3
 *> [1]:[4294967295]:[03:00:11:22:33:44:55:00:00:64]:[128]:[::]:[0]
                    10.127.127.1                       32768 i
                    ET:8 ESI-label-Rt:AA RT:65100:1000
 *> [4]:[03:00:11:22:33:44:55:00:00:64]:[32]:[10.127.127.1]
                    10.127.127.1                       32768 i
                    ET:8 ES-Import-Rt:00:11:22:33:44:55 DF: (alg: 2, pref: 32767)
Route Distinguisher: 10.127.127.3:2
 *>i[2]:[0]:[48]:[0c:ef:c9:7e:00:01]
                    10.127.127.3                  100      0 i
                    RT:65100:1000 ET:8
 *>i[2]:[0]:[48]:[0c:ef:c9:7e:00:01]:[128]:[fe80::eef:c9ff:fe7e:1]
                    10.127.127.3                  100      0 i
                    RT:65100:1000 ET:8
 *>i[3]:[0]:[32]:[10.127.127.3]
                    10.127.127.3                  100      0 i
                    RT:65100:1000 ET:8

Displayed 8 prefixes (8 paths)
  • show evpn es
Type: L local, R remote, N non-DF
ESI                            Type    ES Interface    status    Peers
-----------------------------  ------  --------------  --------  -------
00:11:22:33:44:55:66:77:88:99  R       -               down      1.1.1.1
                                                                 2.2.2.2
  • show evpn es-evi
Flags: L local, R remote, I inconsistent
VTEP-Flags: E EAD-per-ES, V EAD-per-EVI
VNI    ESI                            Flags    VTEPs
-----  -----------------------------  -------  -----------
1000   00:11:22:33:44:55:66:77:88:99  R        1.1.1.1(VE)
                                               2.2.2.2(VE)
  • show evpn es --detail
ESI: 00:11:22:33:44:55:66:77:88:99
 Type: Remote
 Interface: -
 State: down
 DF status: is DF
 DF preference: 0
 Nexthop group: 536870913
 VTEPs:
     1.1.1.1 df_alg: - df_pref: - nh: 268435458 
     2.2.2.2 df_alg: - df_pref: - nh: 268435459 
  • show evpn route --type 1
Namespace: default
BGP table version is 8, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
EVPN type-1 prefix: [1]:[EthTag]:[ESI]:[IPlen]:[VTEP-IP]:[Frag-id]
EVPN type-2 prefix: [2]:[EthTag]:[MAClen]:[MAC]:[IPlen]:[IP]
EVPN type-3 prefix: [3]:[EthTag]:[IPlen]:[OrigIP]
EVPN type-4 prefix: [4]:[ESI]:[IPlen]:[OrigIP]
EVPN type-5 prefix: [5]:[EthTag]:[IPlen]:[IP]

   Network          Next Hop            Metric LocPrf Weight Path
                    Extended Community
Route Distinguisher: 1.1.1.1:2
 *> [1]:[0]:[00:11:22:33:44:55:66:77:88:99]:[32]:[0.0.0.0]:[0]
                    1.1.1.1                                0 65100 64101 i
                    RT:64101:1000 ET:8
Route Distinguisher: 1.1.1.1:3
 *> [1]:[4294967295]:[00:11:22:33:44:55:66:77:88:99]:[32]:[0.0.0.0]:[0]
                    1.1.1.1                                0 65100 64101 i
                    RT:64101:1000 ET:8 ESI-label-Rt:AA
Route Distinguisher: 2.2.2.2:2
 *> [1]:[0]:[00:11:22:33:44:55:66:77:88:99]:[32]:[0.0.0.0]:[0]
                    2.2.2.2                                0 65100 64102 i
                    RT:64102:1000 ET:8
Route Distinguisher: 2.2.2.2:3
 *> [1]:[4294967295]:[00:11:22:33:44:55:66:77:88:99]:[32]:[0.0.0.0]:[0]
                    2.2.2.2                                0 65100 64102 i
                    RT:64102:1000 ET:8 ESI-label-Rt:AA

Displayed 4 prefixes (4 paths) (of requested type)

Depends on

sonic-net/sonic-buildimage#19491

@dpolishchukgl dpolishchukgl force-pushed the vxlan-evpn-cmds branch 4 times, most recently from a8cf9a5 to 0cc1a9a Compare July 9, 2024 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant