When I built the EVPN VxLAN simulation environment in GNS3, I found that the learned overlay routing entries and underlay routing entries are as follows for SW-1:
SW-1# show ip route
Codes: K - kernel route, C - connected, S - static, B - BGP, O - OSPF
> - selected route, * - FIB route, q - queued route, r - rejected route, # - not installed in hardware
Destination Gateway Dist/Metric Uptime
-------------------------------------------------------------------------------------------------------------------
C>* 1.1.1.1/32 Direct Loopback0 0/0 00:10:24
B>* 2.2.2.2/32 via 10.1.0.5 Ethernet8 200/0 00:10:01
C>* 10.1.0.4/31 Direct Ethernet8 0/0 00:10:14
SW-1#
SW-1# show ip route vrf Vrf01
Codes: K - kernel route, C - connected, S - static, B - BGP, O - OSPF
> - selected route, * - FIB route, q - queued route, r - rejected route, # - not installed in hardware
Destination Gateway Dist/Metric Uptime
-------------------------------------------------------------------------------------------------------------------
C>* 192.168.1.0/24 Direct Vlan10 0/0 00:10:05
B>* 192.168.2.0/24 via 2.2.2.2 Vlan30 200/0 00:10:01
So can routes between different VRFs be shared?(192.168.2.0/24 -> 2.2.2.2/32)But what I know is that the routing entries for VRF are independent and can not be shared between different VRFs.
Is recursive routing lookup across VRFs legal in this case and how to explain it?
No, VRFs, by definition, are independent, so recursive look ups between them should not possible.