Hi Iwase

I checked latest patch in the zclient-Enable_to_request_MPLS_label_range branch 
of your gobgp fork. It works as expected. See 

[ashaikh@vsp-vpe-west ~]$ gobgp global rib -a vpnv4
   Network              Labels     Next Hop             AS_PATH              
Age        Attrs
*> 100:1:192.168.0.0/24 [16]       10.200.0.2           65001                
00:10:49   [{Origin: i} {Med: 0} {Extcomms: [100:1]}]

I have a follow-up question though. I don't see any route in the default MPLS 
FIB which instructs Linux kernel to direct incoming traffic with label 16 to be 
forwarded to the blue VRF (or appropriate table-id). I'd expect to see 
something akin to this.

[ashaikh@vsp-vpe-west ~]$ ip -f mpls route
16 dev blue                                                          <= 
expected entry for the route above...

I believe that to achieve this, you will have to push such an MPLS route to the 
Zebra daemon. Let me know your thoughts.  

thx
aman

-----Original Message-----
From: Iwase Yusuke [mailto:iwase.yusu...@gmail.com] 
Sent: Monday, February 5, 2018 11:06 PM
To: SHAIKH, AMAN (AMAN) <asha...@research.att.com>
Cc: gobgp-devel@lists.sourceforge.net
Subject: Re: [GoBGP-devel] MPLS label issue with VPNv4 routes

Hi Aman,

Hmmmm... it might be complicated some though, how about the following?
With "mpls-label-range-size = 1" option, GoBGP should request a MPLS allocation 
every time when adding VRF.
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_iwaseyusuke_gobgp_compare_master...iwaseyusuke-3Azclient-2DEnable-5Fto-5Frequest-5FMPLS-5Flabel-5Frange&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=TdGJjOKuBMLxHOPXehiGl4RRoFxfLc4RqJAkSHslcKg&s=rZVh23aOLleOYpYr_kFWlQkzupE8ATC0NTlkhVa-Ucw&e=
 

Thanks,
Iwase

On 2018年02月06日 02:00, SHAIKH, AMAN  (AMAN) wrote:
> Hi Iwase
> 
> Thanks for your patch. I will try out the patch in a day or two and let you 
> know how things go.
> 
> I have one suggestion though. The current patch asks zebra client ***only 
> once*** for a label allocation of configured size. Couldn't this be enhanced 
> where GoBGP can ask for more chunks of labels if it runs out of the most 
> recent chunk? This will be a more complete solution in my opinion.
> 
> thanks again for working on this Iwase...
> 
> aman
> 
> 
> -----Original Message-----
> From: Iwase Yusuke [mailto:iwase.yusu...@gmail.com]
> Sent: Sunday, February 4, 2018 11:42 PM
> To: SHAIKH, AMAN (AMAN) <asha...@research.att.com>
> Cc: gobgp-devel@lists.sourceforge.net
> Subject: Re: [GoBGP-devel] MPLS label issue with VPNv4 routes
> 
> Hi Aman,
> 
> With the following patches, I could get the allocated MPLS label range from 
> FRR/Zebra and assign a MPLS label per VRF.
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_osrg_g
> obgp_compare_master...iwaseyusuke-3Azclient-2DEnable-5Fto-5Frequest-5F
> MPLS-5Flabel-5Frange&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOE
> oCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=a8uZ5z9JfpkdyduLAq0G3l3bbd-0glNdqNKiE
> gMSu1U&s=lr7g09z0VZHzzbXuGw4IbW25nKsXwZLGTEDmhoSZZTk&e=
> 
> ```toml
> [zebra.config]
>     enabled = true
>     url = "unix:/var/run/frr/zserv.api"
>     redistribute-route-type-list = ["connect"]
>     version = 4
>     mpls-label-range-size = 100
> ```
> 
> $ gobgp vrf add VRF_A rd 65000:100 rt both 65000:100 $ gobgp vrf VRF_A rib 
> add 10.0.0.0/24 # "16" is MPLS label value which FRR/Zebra allocated $ gobgp 
> global rib -a vpnv4
>      Network               Labels     Next Hop             AS_PATH
> Age        Attrs
> *> 65000:100:10.0.0.0/24 [16]       0.0.0.0
> 00:00:00   [{Origin: ?} {Extcomms: [65000:100]}]
> 
> Could you try this patches?
> 
> Thanks,
> Iwase
> 
> 
> On 2018年02月05日 10:31, Iwase Yusuke wrote:
>> Hi Aman,
>>
>>
>>   > Thanks for the pointer. Can GoBGP communicate with FRR/Zebra for 
>> label  > assignment instead of assigning a label of 0 to VPNv4 routes?
>>
>> Currently, GoBGP does not have the feature to request the label 
>> allocation to FRR/Zebra, also the message implementation to send requests.
>> FYI, FRR/BGPd also does not have such:
>>     
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_FRRou
>> t 
>> ing_frr_issues_1207&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOE
>> o 
>> CVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=a8uZ5z9JfpkdyduLAq0G3l3bbd-0glNdqNKiE
>> g MSu1U&s=0FBImI3HgUJTVr5jHMwYcIY10fri5S7OpdbBrFNm_1Q&e=
>>
>>
>>   > One possibility is to communicate with FRR/Zebra at the time of 
>> VRF creation  > and deletion for label allocation and freeing respectively?
>>
>> I read some FRR/Zebra code, Zebra client should send request to 
>> allocate MPLS label as a chunk of MPLS label range, not per VRF create and 
>> deletion.
>> We need to some more implementation if need to support this feature.
>>
>>
>> Thanks,
>> Iwase
>>
>>
>> On 2018年02月01日 00:23, SHAIKH, AMAN  (AMAN) wrote:
>>>
>>> Hi Fujita
>>>
>>> -----Original Message-----
>>> From: FUJITA Tomonori [mailto:fujita.tomon...@gmail.com]
>>> Sent: Tuesday, January 30, 2018 6:38 PM
>>> To: SHAIKH, AMAN (AMAN) <asha...@research.att.com>
>>> Cc: gobgp-devel@lists.sourceforge.net
>>> Subject: Re: [GoBGP-devel] MPLS label issue with VPNv4 routes
>>>
>>> Hi,
>>>
>>> 2018-01-31 0:02 GMT+09:00 SHAIKH, AMAN  (AMAN) <asha...@research.att.com>:
>>>>
>>>>
>>>>> As on my previous mail, sorry I don't know why this PR was not accepted...
>>>>
>>>> GoBGP had the feature to allocate vpn labels but it was removed.
>>>>
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_osr
>>>> g
>>>> _g
>>>> obgp_commit_c7653aa9d4276098a7a6b5ade5ffce5bf5d089e8&d=DwIFaQ&c=LFY
>>>> Z
>>>> -o
>>>> 9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7V
>>>> c
>>>> 8Y
>>>> RSyefU_kBjFkPq3yBYho_aHr7X9aghZ6ZihzSk&s=MTpXR6wkh_EDImcmDx-f18aa4n
>>>> h
>>>> lT
>>>> Pz1PrhPbJ-oXYI&e=
>>>>
>>>> I assume that there is a label allocation component out of GoBGP.
>>>> For example, if you create MPLS VPN, you needs two types of labels, 
>>>> vpn label, and mpls label.
>>>> GoBGP needs to work with ldpd to avoid using the same label.
>>>>
>>>> -> The VPN label needs to be allocated by GoBGP. And this label can 
>>>> -> be same
>>>> as the PE (i.e., MPLS) label. It would be great if you can add the 
>>>> label allocation and assignment component back into GoBGP. Without 
>>>> this, it's impossible to use GoBGP with VPNv(4|6) and BGP-LU NLRIs.
>>>
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_FRRo
>>> u 
>>> ting_frr_blob_master_zebra_label-5Fmanager.c&d=DwIFaQ&c=LFYZ-o9_HUMe
>>> M
>>> TSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=yeOT6hlwHb
>>> 4 
>>> kNO7lFNfwiwLIf-w7HvCWRF0ciwQ4a6U&s=yYPnxj35T53xtHwdhn1kQ1X2NUdDnZHNw
>>> B
>>> NnmUMeQIo&e=
>>>
>>>
>>> As frr does, label users (including bgpd) ask a label manager to 
>>> allocate / free a label. I think that it's the appropriate approach.
>>>
>>> --> Thanks for the pointer. Can GoBGP communicate with FRR/Zebra for 
>>> --> label
>>> assignment instead of assigning a label of 0 to VPNv4 routes? One 
>>> possibility is to communicate with FRR/Zebra at the time of VRF 
>>> creation and deletion for label allocation and freeing respectively?
>>>
>>>>
>>>> aman
>>>>
>>>> 2018-01-29 16:04 GMT+09:00 Iwase Yusuke <iwase.yusu...@gmail.com>:
>>>>> Hi Aman,
>>>>>
>>>>> As on my previous mail, sorry I don't know why this PR was not accepted...
>>>>>
>>>>> But, your suggestion is reasonable to me.
>>>>> How about the following patches?
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_os
>>>>> r
>>>>> g_
>>>>> g
>>>>> obgp_compare_master...iwaseyusuke-3Aserver-2DAuto-5FMPLS-5Flabel-5
>>>>> F
>>>>> as
>>>>> s
>>>>> ignment-5Fon-5FVRF&d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQf
>>>>> O
>>>>> Eo
>>>>> C
>>>>> VzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBYho_aHr7X9agh
>>>>> Z 6Z i hzSk&s=NNBfvxFq2jodV04XmJD6uWtmUTkXfltpjRFKYgUJ-sY&e=
>>>>>
>>>>> The first patch does not directly fix this issue, but is 
>>>>> convenient to update neighbor settings, and with the second one, 
>>>>> you can configure VRF like;
>>>>>
>>>>> # Configure VRFs on router "10.0.0.1" (r1)
>>>>> r1> gobgp vrf add blue rd 65000:100 rt both 65000:100 gobgp vrf 
>>>>> r1> add red rd 65000:200 rt both 65000:200 gobgp neighbor update
>>>>> r1> 10.0.0.2 vrf blue gobgp neighbor update 10.0.0.3 vrf red
>>>>>
>>>>> # Add a prefix on router "10.0.0.2" (r2)
>>>>> r2> gobgp global rib -a ipv4 add 192.168.1.0/24 gobgp global rib 
>>>>> r2> -a
>>>>> r2> ipv4
>>>>>      Network              Next Hop             AS_PATH Age Attrs 
>>>>> *> 192.168.1.0/24       0.0.0.0
>>>>> 00:00:00
>>>>> [{Origin: ?}]
>>>>>
>>>>> # Add the same prefix on router "10.0.0.3" (r3)
>>>>> r3> gobgp global rib -a ipv4 add 192.168.1.0/24 gobgp global rib 
>>>>> r3> -a
>>>>> r3> ipv4
>>>>>      Network              Next Hop             AS_PATH Age Attrs 
>>>>> *> 192.168.1.0/24       0.0.0.0
>>>>> 00:00:00
>>>>> [{Origin: ?}]
>>>>>
>>>>> # Show VPN routes on r1
>>>>> r1> gobgp global rib -a vpnv4
>>>>>      Network                  Labels     Next Hop AS_PATH  Age 
>>>>> Attrs *> 65000:100:192.168.1.0/24 [1000]     10.0.0.2
>>>>> 00:00:00   [{Origin: ?}
>>>>> {LocalPref: 100} {Extcomms: [65000:100]}] *>
>>>>> 65000:200:192.168.1.0/24 [1001]     10.0.0.3 00:00:00   [{Origin:
>>>>> ?}
>>>>> {LocalPref: 100} {Extcomms: [65000:200]}]
>>>>>
>>>>> Thanks,
>>>>> Iwase
>>>>>
>>>>>
>>>>>
>>>>> On 2018年01月27日 06:28, SHAIKH, AMAN  (AMAN) wrote:
>>>>>>
>>>>>> Hi Iwase
>>>>>>
>>>>>> --> I looked at the PR in some detail. Seems quite reasonable to 
>>>>>> --> me in
>>>>>> terms of changes. Do you know the reason why it was not accepted?
>>>>>>
>>>>>> FYI, the auto assignment feature seems to be posted, but not merged.
>>>>>> (sorry, I don't know why...)
>>>>>>
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_o
>>>>>> s
>>>>>> rg
>>>>>> _
>>>>>> gobgp_pull_366&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEo
>>>>>> C
>>>>>> Vz
>>>>>> C
>>>>>> hS_fiJdy8vxHF4_JM0AhcKK4Y&m=XsNqliUbM-wXJ4BIRg17Ql3I4zlbKtrslZXuw
>>>>>> i iS S j0&s=BuzaMx-UPDZUk8TQkyyyrRJMDX5faq5YG3mVHMetuLs&e=
>>>>>>
>>>>>> thx
>>>>>> aman
>>>>>>
>>>>>> -----------------------------------------------------------------
>>>>>> -
>>>>>> --
>>>>>> -
>>>>>> --------- Check out the vibrant tech community on one of the 
>>>>>> world's most engaging tech sites, Slashdot.org!
>>>>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__sdm.link_slas
>>>>>> h
>>>>>> do
>>>>>> t
>>>>>> &d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8v
>>>>>> x
>>>>>> HF
>>>>>> 4
>>>>>> _JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBYho_aHr7X9aghZ6ZihzSk&s=ZKSxl
>>>>>> J kc a P-nUGEu2yJmVbKJfB2tr5-jz2ILYgjv300&e=
>>>>>> _______________________________________________
>>>>>> gobgp-devel mailing list
>>>>>> gobgp-devel@lists.sourceforge.net 
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.source
>>>>>> f
>>>>>> or
>>>>>> g
>>>>>> e.net_lists_listinfo_gobgp-2Ddevel&d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicv
>>>>>> j
>>>>>> Ig
>>>>>> &
>>>>>> r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFk
>>>>>> P
>>>>>> q3
>>>>>> y
>>>>>> BYho_aHr7X9aghZ6ZihzSk&s=aHmtUI0UsXL4J3DAQXvNeholruVqcnCoSMjhNN6s
>>>>>> R
>>>>>> Ws
>>>>>> &
>>>>>> e=
>>>>>>
>>>>>
>>>>> ------------------------------------------------------------------
>>>>> -
>>>>> --
>>>>> -
>>>>> -------- Check out the vibrant tech community on one of the 
>>>>> world's most engaging tech sites, Slashdot.org!
>>>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__sdm.link_slash
>>>>> d
>>>>> ot
>>>>> &
>>>>> d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxH
>>>>> F
>>>>> 4_
>>>>> J
>>>>> M0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBYho_aHr7X9aghZ6ZihzSk&s=ZKSxlJkc
>>>>> a
>>>>> P-
>>>>> n
>>>>> UGEu2yJmVbKJfB2tr5-jz2ILYgjv300&e=
>>>>> _______________________________________________
>>>>> gobgp-devel mailing list
>>>>> gobgp-devel@lists.sourceforge.net
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourcef
>>>>> o
>>>>> rg
>>>>> e
>>>>> .net_lists_listinfo_gobgp-2Ddevel&d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjI
>>>>> g
>>>>> &r
>>>>> =
>>>>> I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3
>>>>> y
>>>>> BY
>>>>> h
>>>>> o_aHr7X9aghZ6ZihzSk&s=aHmtUI0UsXL4J3DAQXvNeholruVqcnCoSMjhNN6sRWs&
>>>>> e
>>>>> =
>>>
>>> aman
>>> --------------------------------------------------------------------
>>> -
>>> --------- Check out the vibrant tech community on one of the world's 
>>> most engaging tech sites, Slashdot.org!
>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__sdm.link_slashdo
>>> t
>>> &d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF
>>> 4
>>> _JM0AhcKK4Y&m=a8uZ5z9JfpkdyduLAq0G3l3bbd-0glNdqNKiEgMSu1U&s=BBVDLw66
>>> 0 juZnrLPKS1kIFaB2_HV34rj6zDYJyZOe3U&e=
>>> _______________________________________________
>>> gobgp-devel mailing list
>>> gobgp-devel@lists.sourceforge.net
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourcefor
>>> g 
>>> e.net_lists_listinfo_gobgp-2Ddevel&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg
>>> &
>>> r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=a8uZ5z9JfpkdyduLAq0G
>>> 3 
>>> l3bbd-0glNdqNKiEgMSu1U&s=P0epHjnmGV3uE28Rfi1Qg7FQVYzWUhc8nkqaq_br6iI
>>> &
>>> e=
>>>
> ----------------------------------------------------------------------
> -------- Check out the vibrant tech community on one of the world's 
> most engaging tech sites, Slashdot.org! 
> https://urldefense.proofpoint.com/v2/url?u=http-3A__sdm.link_slashdot&;
> d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_J
> M0AhcKK4Y&m=TdGJjOKuBMLxHOPXehiGl4RRoFxfLc4RqJAkSHslcKg&s=8wrxv3qSSEZK
> XvD16KqNTTT_0Mwc2J95BbEVCp0EiCM&e=
> _______________________________________________
> gobgp-devel mailing list
> gobgp-devel@lists.sourceforge.net
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourceforge
> .net_lists_listinfo_gobgp-2Ddevel&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=
> I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=TdGJjOKuBMLxHOPXehiGl4RR
> oFxfLc4RqJAkSHslcKg&s=SoQIHnhhY7WMLVMHINZWoZVwQ0eM2U8WvcX_eFJpcSk&e=
> 
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
gobgp-devel mailing list
gobgp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gobgp-devel

Reply via email to