There are apparently three approaches to trafficking between VRF's.

- configuration route leakage, static routes, route-maps and whatnot

All hacks in my opinion.

- physical crossover between two devices, vrf A in device A becomes vrf B in device B

Which is actually a degenerate or optimized instance of the following:

- crossover in the same device

This can be done as per your tunnel example.

You can also do this with physical ports, with a l2/l3 switch architecture its not as conveniently done however, since you would need to cross connect one access port in one vlan to another access port in another vlan.

For router ports, you can use dot1q and have many different crossovers.

I have been doing this for quite some time, as some may note, there are issues you may run across that require static arp entries to workaround.

In my opinion, there is significant design benefits in using an interface to traffic between vrf's, such as using routing protocols, nat, firewall, security features and everything else designed to work at interface level.

However, the downside is processing the packet twice.

(if you use tunnels, you should try to ensure that the tunnel MTU allows 1500 unfragmented)

I think it would be worthwhile to lab the two approaches, tunnel and physical crossover and compare it with configuration leaking to come up with some performance numbers.

<wishlisting>

In my opinion, this would be best served by a dedicated tunnel type, allowing the device to optimize the path but still providing the same benefits.

Something like:

ip vrf RED
ip vrf BLUE

int t0
ip vrf forwarding RED
ip address 10.1.1.1 255.255.255.252
tunnel source vrf RED
tunnel destination vrf BLUE
tunnel mode vrf-connect

int t1
ip vrf forwarding BLUE
ip address 10.1.1.2 255.255.255.252
tunnel source vrf BLUE
tunnel destination vrf RED
tunnel mode vrf-connect

Or Maybe:

ip vrf RED
rd 1:1
ip vrf BLUE
rf 1:2

int VRF1.1
ip address 10.1.1.1 255.255.255.252
xconnect vrf rd 1:1 rd 1:2
int VRF1.2
ip address 10.1.1.2 255.255.255.252
xconnect vrf rd 1:2 rd 1:1


Also, while in wishlisting mode, it would be nice if you could policy route in a vrf (the most likely reason why the software doesnt allow you to is that vrf processing is the same code/feature path as policy routing)

</wishlisting>

Joe


Luan Nguyen wrote:
Instead of an external link with 2 physical ports, you could try to create a
GRE tunnel with 2 loopback interfaces.

interface Loopback0
 ip address 10.10.10.1 255.255.255.0
!
interface Loopback10
 ip address 10.10.100.1 255.255.255.0
!
interface Tunnel1
 ip vrf forwarding NSP
 ip address 172.16.1.1 255.255.255.0
 tunnel source Loopback0
 tunnel destination 10.10.100.1
!
interface Tunnel2
 ip address 172.16.1.2 255.255.255.0
 tunnel source Loopback10
 tunnel destination 10.10.10.1


Then run OSPF...etc.  I haven't try static route, but pretty sure it would
work.

router ospf 100 vrf NSP
 router-id 10.10.10.1
 log-adjacency-changes
 redistribute bgp 65535 subnets
 network 10.10.10.1 0.0.0.0 area 0
 network 172.16.1.1 0.0.0.0 area 0
!
router ospf 1
 router-id 10.10.100.1
 log-adjacency-changes
 network 10.10.100.1 0.0.0.0 area 0
 network 172.16.1.2 0.0.0.0 area 0

Regards,

++++++++++++++++++++++++++++++++++++++++++++++++
Luan Nguyen
Chesapeake NetCraftsmen, LLC.
[Web] http://www.netcraftsmen.net
[Blog] http://cnc-networksecurity.blogspot.com/
[Mobile] 703-953-9116
+++++++++++++++++++++++++++++++++++++++++++++++++

-----Original Message-----
From: cisco-nsp-boun...@puck.nether.net
[mailto:cisco-nsp-boun...@puck.nether.net] On Behalf Of Jeff Fitzwater
Sent: Monday, February 23, 2009 10:56 AM
To: cisco-nsp@puck.nether.net
Subject: [c-nsp] VRF and STATIC ROUTE to GLOBAL

This question was posted earlier, before I opened ticket with CISCO.

Router is 6500 with 720-CXL running SXI code.


1. I have router "A" which is used to connect to our three ISPs ( two I1s and one I2 connection with full BGP), and also receives all our internal campus traffic via RIP default path. Router "A" announces default to campus.

2. I now need to add a new special ESNET.GOV ISP which cannot be used by the majority of our campus except for two subnets. These two subnets will still have access to the other three ISPs for normal path selection but have the option of choosing an ESNET route if needed.

3. So the original thinking was to create the VRF for ESNET which would have its own ESNET route table and tell the two special subnets (using route-map match subs, set vrf ) to check the ESNET table first and if route is not in table then fall thru to global.

4. I can't just have one route table that includes the ESNET routes, because ESNET announces some more specific routes and there may be hosts that normally use the I1 path to these DSTs, but now see a more specific path and try to use it and fail because it is not allowed by ESNET outbound ACL.



I have BGP peering working in VRF ( can see prefixes from ESNET in VRF table), but cannot announce our two subnet prefixes because they do not show up in VRF route table. So getting static back to global would fix this and other issue with DEFAULT to global. When I try to add static routes they never show up because the next hop is not present in VRF table or the command fails stating that... "Invalid next-hop address (it's this router)".



I was hoping that just adding a static DEFAULT in VRF pointing to global would do everything I needed, but cannot get it to work even after trying all permutations of the command. "ip route vrf vrf-esnet 0.0.0.0 0.0.0.0 0.0.0.0 global"



Also tried "ip route vrf vrf-esnet 0.0.0.0 0.0.0.0 loopback3 10.10.10.10 global" Loopback3 was created with RFC-1918 IP and had "vrf forwarding" added on this loopback. This also failed.


Creating an internal path between the VRF router and the global router is stopping all this from working.

I have a ticket open with CISCO but they are saying I have to add an external link with two physical ports on vrf. This will not work for us.


Does anybody know how to get statics working between VRF and global table, if its even possible.


Really stuck!



Jeff Fitzwater
OIT Network Systems
Princeton University

_______________________________________________
cisco-nsp mailing list  cisco-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/

_______________________________________________
cisco-nsp mailing list  cisco-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/


_______________________________________________
cisco-nsp mailing list  cisco-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/

Reply via email to