6/28/2019

Arista EOS Tunneling Mechanism (5) - Hw Tunnel

Starting from 4.21.1F, hardware GRE tunnel is supported on Jericho-based platforms. Below is a typical setup of hw tunnel and configuration



You can see, configuration-wise it is just like the software tunnel. How to tell which mode, check "show interface tunnel". 

R1#sh int tu200
Tunnel200 is up, line protocol is up (connected)
...
  Tunnel TTL 10, Hardware forwarding enabled

Compared with software tunnel, the biggest difference is the hardware programming. 

1. TCAM:

R2(config)#sh platform fap tcam summary
            Tcam Allocation (Jericho0)
   Bank                      Used By    Reserved By
---------- ---------------------------- -----------
      0                       dbVTT0              -
     12                     dbSystem              -
..

Now configuring an up tunnel interface

R2(config)#int tu100
R2(config-if-Tu100)#tunnel source 100.2.2.2
R2(config-if-Tu100)#tunnel destination 100.3.3.3
R2(config-if-Tu100)#show ip int brief
Interface              IP Address         Status     Protocol         MTU
....
Tunnel100              unassigned         up         up              1476

Now you can see a new Tcam allocation named dbGreTunnel

R2#sh platform fap tcam summary
            Tcam Allocation (Jericho0)
   Bank                      Used By    Reserved By
---------- ---------------------------- -----------
      0                       dbVTT0              -
      2                  dbGreTunnel              -
     12                     dbSystem              -

2. Tunnel interface

R1#show platform fap eedb ip-tunnel gre interface tunnel 200
....
| Bank/   | OutLIF  | Next    | VSI   | Encap | TOS  | TTL  | Source   | Destination     | OamLIF | OutLIF  | Drop |
| Offset  |         | OutLIF  | LSB   | Mode  |      |      | IP       | IP              | Set    | Profile |      |
|-----------------------------------------------------------------------------------------------------------|
| 2/0     | 0x6000  | 0x4012  | 0     | 2     | 0    | 10   | 100.1.1.1  | 100.4.4.4       | No     | 0       | No   |

* Bank should match the bank# in "show plat fap tcam summary"

3. Ip route

Below show 220.4.4.0/24 is learned via Tu200

R1(config-if-Tu200)#sh ip route

VRF: default
 I L2     220.4.4.0/24 [115/20] via 200.1.4.4, Tunnel200, Static Interface GRE tunnel index 200, dst 100.4.4.4, src 100.1.1.1, TTL 10

R1(config-if-Tu200)#show platform fap ip route | egrep 'VRF|ID|220.4'
|VRF|   Destination    |     |                    |     |       |                   | ECMP|  FEC | Tunnel
| ID|      Subnet      | Cmd |     Destination    | VID |Outlif |   MAC / CPU Code  |Index| Index|T Value
|0  |220.4.4.0/24      |ROUTE| FEC 32773          |0    |  -    |                   |  -  |49160 |   -

4. FEC

R1(config-if-Tu200)#show platform fap fec all
.....
|     |      |     |                    |     |       |                   |
| ECMP|  FEC |     |                    |     |       |                   | Tunnel
|Index| Index| Cmd |     Destination    | VID |Outlif |   MAC / CPU Code  |T Value
 ----------------------------------------------------------------------------------
.....
|  -  |49160 |ROUTE| FEC 32773          |0    |  -    |                   |   -
|  -  |32773 |ROUTE| Et21               |12   |  -    | 44:4c:a8:c1:78:69 |T 100.4.4.4

Limitations:

In above TOI link, there is a list of hw tunnel limitations, for example:
  • Underlay endpoint (tunnel source/destination) must IPv4 address in default VRF. 
    • Even there is tunnel source/destination ipv6 address option, but not supported on this platform
  • Overlay can be IPv4/IPv6 under default or non-default VRF
  • No GRE KA, if one side has incorrect GRE configuration like missing tunnel source, the other end of GRE interface is still up. 

No comments:

Post a Comment