It seems that the Next hop IP resolution does not work correctly: Here is my Configuration:
# *set interface state GigabitEthernet4/0/0 up* # *set interface state GigabitEthernet4/0/1 up* #* ip table add 1 *(create Customer VRF) # *set interface ip table GigabitEthernet 4/0/0 1* (Customer VRF) # *set interface ip address GigabitEthernet4/0/0 192.168.12.2/24 <http://192.168.12.2/24>* (Toward Customer) # *set interface ip address GigabitEthernet4/0/1 192.168.23.2/24 <http://192.168.23.2/24>* (Toward Core) *** Now I want to add one of Customer's route into its VRF: # *ip route add 5.5.5.5/32 <http://5.5.5.5/32> table 1 via 192.168.23.3 next-hop-table 0 out-labels 40* in which :* 5.5.5.5/32 <http://5.5.5.5/32>* is the Customer's another site in somewhere else * table 1* is the customer's VRF *192.168.23.3* is the next hop which is in the core -> be resolved by Global VRF *next-hop-table 0* is the Global VRF to resolve 192.168.23.3 *out-labels 40 *is the VPN Label Now When I see the VRF 1 ("*show ip fib table 1*"), here is the output for 5.5.5.5/32 ipv4-VRF:1, fib_index:1, flow hash:[src dst sport dport proto ] locks:[src:CLI:2, ] .............. ............... ............ 192.168.12.0/24 unicast-ip4-chain [@0]: dpo-load-balance: [proto:ip4 index:14 buckets:1 uRPF:13 to:[0:0]] [0] [@4]: ipv4-glean: GigabitEthernet4/0/0: mtu:9000 ffffffffffffa0369f23aa780806 *5.5.5.5/32 <http://5.5.5.5/32> unicast-ip4-chain [@0]: dpo-load-balance: [proto:ip4 index:24 buckets:1 uRPF:25 to:[0:0]] [0] [@0]: dpo-drop ip4* Here is the VRF 0: ipv4-VRF:0, fib_index:0, flow hash:[src dst sport dport proto ] locks:[src:plugin-hi:2, src:default-route:1, ] .............. ............... ............ 192.168.23.0/24 unicast-ip4-chain [@0]: dpo-load-balance: [proto:ip4 index:18 buckets:1 uRPF:19 to:[0:0]] [0] [@4]: ipv4-glean: GigabitEthernet4/0/1: mtu:9000 ffffffffffffa0369f23aa7a0806 Question: why does it say Drop?? I expect to see something that shows next-hop is resolved in VRF 0. On Tue, Jul 31, 2018 at 4:18 PM, Neale Ranns (nranns) <[email protected]> wrote: > > > Hi, > > > > You are correct on all points. > > > > regards > > /neale > > > > *From: *Holoo Gulakh <[email protected]> > *Date: *Tuesday, 31 July 2018 at 12:19 > *To: *"Neale Ranns (nranns)" <[email protected]>, "[email protected]" < > [email protected]> > *Subject: *Re: [vpp-dev] L3VPN in VPP > > > > Hi, > > In order to have both VPLS and L3VPN works *concurrently * in a PE > router, I guess that I should do the following things: > > > > 1- Regardless of the type of service that whether it's *VPLS *,*L3VPN *or > *none*(e.g. a simple connectivity) , the core of the network works the > same, that is I should Insert everything about the core of the network in > the Global VRF i.e. *IP FIB 0* and *MPLS FIB 0 in VPP*. > > > > The above step is done before even providing any services. > > > > 2- *For the PW-Label of VPLS*, the task is delivered to the mpls tunnel > to put the PW-Label on the Packet (i.e. *mpls tunnel add l2-only > <PE-TARGET> out-labels<PW-LABEL>*) then to resolve the PE-TARGET IP > address the resolution is done by checking the Global VRF which contains > information about the core and at that stage the MPLS label is added to > packet. > > > > *For the VPN-Label of the L3VPN* the task of putting it on the packet > is delivered to the VRF associated with the incoming Interface (i.e. *#* *ip > route add <PE-TARGET> table <CUSTOMER-VRF> via <NEXT-HOP> out-labels > <VPN-LABEL>*) and then to resolve the NEXT-HOP IP address, Global VRF > must be checked since the routing information about the core is stored in > the Global VRF (i.e. IP FIB 0 and MPLS FIB 0 in VPP) > > but the problem is that the route store in the customer's VRF must use > Global VRF in order to resolve its NEXT-HOP. > > Searching VPP Doc, I confronted with a parameter that I can use to select > which VRF to use to resolve the next hop. > > so the *#* command must be modified by (*ip route add <PE-TARGET> table > <CUSTOMER-VRF> via <NEXT-HOP> next-hop-table <GLOBAL-VRF> out-labels > <VPN-LABEL>*) and then during the resolution of the PE-TARGET IP address > the MPLS Labels is added to the packet. > > > > *Question*: Am I right?? > > > > Excuse me for my questions ... most of the materials found in Internet are > about Cisco commands to run the service and they give my little insights on > what to do with lower level configurations. > > Thanks in advance > > > > On Mon, Jul 30, 2018 at 1:31 PM, Neale Ranns (nranns) <[email protected]> > wrote: > > Hi, > > > > Answers inline marked [nr] > > > > /neale > > > > *From: *<[email protected]> on behalf of Gulakh <[email protected]> > *Date: *Saturday, 28 July 2018 at 13:45 > *To: *"[email protected]" <[email protected]> > *Subject: *[vpp-dev] L3VPN in VPP > > > > Hi, > > I have setup a *VPLS *scenario successfully and now I want to setup a *L3VPN > *scenario in VPP (L3VPN topology is in attachment). > > > > My configuration for VPLS is some how like this link > <https://lists.fd.io/g/vpp-dev/topic/vpls_dev_in_vpp_1/18091281?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,18091281> > . > > > > As far as I searched Internet, L3VPN has a *VPN Label* that I think is > somehow like *PW Label* in VPLS with difference that *VPN Label is used > to select VRF* and *PW Label is used to select mpls tunnel *(hence > bridge). > > > > [nr] other label allocation schemes are available J > > > > =============================== > > *Part1:* > > I guess I should configure the *source PE* as follow: > > > > *In VPLS: mpls tunnel add l2-only via <PE-TARGET> out-labels > <PW-LABEL>* > > * ip route add <PE-TARGET> via <NEXT-HOP> out-labels > <MPLS-LABEL>* > > > > *In L3VPN: CMD1 ??????????????? (insert in customer VRF)* > > * ip route add <PE-TARGET> via <NEXT-HOP> out-labels > <MPLS-LABEL> (insert in GLOBAL VRF)* > > > > I don't know what command I should use for CMD1 ... This command must add > VPN-LABEL which is selected base on the customer's VRF to the packet and > then lookup the GLOBAL VRF to push the MPLS Label. just like VPLS that the > mpls tunnel first adds a PW Label and then in the destination IP > resolution, MPLS Label is added to packet. > > > > *Question1:* Am I right about the configurations in the source PE? > > > > > > [nr] ip route table <CUSTOMER> <PREFIX> via <PE-TARGET> out-labels > <CUSTOMER-VRF-LABEL> > > > > you could use PREFIX=0.0.0.0/0 or many more specifics > > > > and your route to the PE-TARGET would be better as a non-recursive route > (i.e. if it is learned via e.g. OSPF and this is not an inter-AS option C) > otherwise you’ll need another labelled route for the next-hop > > > > non-recursive means specify the next-hop and interface. > > > > > > ================================ > > *Part2:* > > I guess I should configure the *target PE* as follow: > > > > *In VPLS: mpls local-label add eos <PW-LABEL> via l2-input-on > <MPLS-TUNNEL>* > > > > * In L3VPN: mpls local-label add eos <VPN-LABEL> via > ip4-lookup-in-table <VRF-ID> (insert in GLOBAL VRF) * > > > > *Question2:* Am I right about the configurations in the target PE? > > > > [nr] Yes. The mpls label is added to the MPLS global table, i.e. there’s > no ‘insert in global-VRF’, since the instruction associated with the label > is to lookup the exposed IP destination address in the customer’s VRF/ > > > > ================================= > > *Part3:* > > In order to fill customer's VRF, I should use control plane's RouteTarget > (RT) to select the VRF ID and then use below command to fill the VRF: > > > > *ip route add <DESTIANTION> via <NEXT-HOP> <INTERFACE> table > <VRF-ID>* > > > > *Question3:* Am I right? > > > > [nr] yes. > > > > thanks in advance > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#9985): https://lists.fd.io/g/vpp-dev/message/9985 Mute This Topic: https://lists.fd.io/mt/23840657/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
