networker050184 wrote: » All a VRF is is a logical separation of routing tables. For example if you create three VRFs you then have three unique routing tables that do not (by default) share routes.
johnifanx98 wrote: » The question is: since VRF allows same IP is configured on network interfaces belonging to separate VRF, then when an IP packet arrives at the IP module, how the IP module tells which VRF to use? I assume this feature is implemented in IP module, and IP module does not have knowledge which network interface this packet came from...
networker050184 wrote: » Interfaces are assigned to the VRF. If a packet arrives on one of these interfaces the route look up is performed in the segregated routing table. VRFs start to make much more sense when you start getting into MPLS and VPNs where you have label look ups etc.
Interfaces are assigned to the VRF.
networker050184 wrote: » I think you are looking far too deep into a simple process. The IP module does not need to know anything about VRFs. All that needs to be known is which routing table to look into for the next hop. The router knows this by which interface the packet is received on. There is nothing special about the IP lookup that differentiates it from any other IP packet.
networker050184 wrote: » It is the same simple logic as in a router with no VRF. The only difference is that a subset of destinations and next hops are available to the look up of this packet. When the VRF is created so is a separate routing/forwarding table. When an interface is assigned to the VRF route look ups for arriving packets are only performed on this particular table. Edit: If you want to get any deeper than that you are going to have to get into specific vendor hardware and software designs.
johnifanx98 wrote: » However, the VRF object does not have routing functions at all. The vendor simply wants to separate the traffics/network interfaces. The admin applications bind to admin network interface, and the data app binds to other network interfaces.