Hi Iwase Thanks for the explanation. That's exactly what I was suggesting. I'm glad it's part of your patch.
What's next? Do you plan to submit a pull request so that your patch can become part of the master branch? thanks again for working on this so diligently, aman -----Original Message----- From: Iwase Yusuke [mailto:iwase.yusu...@gmail.com] Sent: Tuesday, February 6, 2018 6:25 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, Oops, I had put another project's mail address on "reply-to". Sorry, please ignore it. > I have a question though. If the code is able to request a new MPLS > allocation > from Zebra when range-size is 1, what would it take to make it > more generic? > By generic, I mean that for any mpls-label-range-size, the code requests an > > MPLS allocation when it runs out of existing chunk of labels? I should have more explained more clearly. This patch can request labels when running out the allocated chunk of labels. I mean if "mpls-label-range-size = 1" makes GoBGP to "always" request a new label because the request chunk size is 1. If you specify "mpls-label-range-size" to other than 1, GoBGP will request a new chunk of labels with the given size. e.g.) with "mpls-label-range-size = 3" create VRF_A ---> request 3 labels ---> label=16 (for example) create VRF_B ---> label=17 delete VRF_A ---> label=16 is released create VRF_C ---> label=16 create VRF_D ---> label=18 create VRF_E ---> request 3 labels ---> label=19 ... Thanks, Iwase On 2018年02月07日 00:55, SHAIKH, AMAN (AMAN) wrote: > > Thanks Iwase for working on this. I understand this makes things more > complicated, but I appreciate the changes you have made. I have a question > though. If the code is able to request a new MPLS allocation from Zebra when > range-size is 1, what would it take to make it more generic? By generic, I > mean that for any mpls-label-range-size, the code requests an MPLS allocation > when it runs out of existing chunk of labels? > > thx > aman > > PS: I am yet to try out your changes, but hope to do it later today. > > > > -----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_iwasey > usuke_gobgp_compare_master...iwaseyusuke-3Azclient-2DEnable-5Fto-5Freq > uest-5FMPLS-5Flabel-5Frange&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL > 83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=TdGJjOKuBMLxHOPXehiGl4RRoFxfLc > 4RqJAkSHslcKg&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-5 >> F >> MPLS-5Flabel-5Frange&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfO >> E >> oCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=a8uZ5z9JfpkdyduLAq0G3l3bbd-0glNdqNKi >> E 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_FRRo >>> u >>> t >>> ing_frr_issues_1207&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfO >>> E >>> o >>> CVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=a8uZ5z9JfpkdyduLAq0G3l3bbd-0glNdqNKi >>> E 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_os >>>>> r >>>>> g >>>>> _g >>>>> obgp_commit_c7653aa9d4276098a7a6b5ade5ffce5bf5d089e8&d=DwIFaQ&c=LF >>>>> Y >>>>> Z >>>>> -o >>>>> 9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7 >>>>> V >>>>> c >>>>> 8Y >>>>> RSyefU_kBjFkPq3yBYho_aHr7X9aghZ6ZihzSk&s=MTpXR6wkh_EDImcmDx-f18aa4 >>>>> n >>>>> 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_FRR >>>> o >>>> u >>>> ting_frr_blob_master_zebra_label-5Fmanager.c&d=DwIFaQ&c=LFYZ-o9_HUM >>>> e >>>> M >>>> TSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=yeOT6hlwH >>>> b >>>> 4 >>>> kNO7lFNfwiwLIf-w7HvCWRF0ciwQ4a6U&s=yYPnxj35T53xtHwdhn1kQ1X2NUdDnZHN >>>> w >>>> 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_o >>>>>> s >>>>>> 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_2UmL83HQ >>>>>> f >>>>>> O >>>>>> Eo >>>>>> C >>>>>> VzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBYho_aHr7X9ag >>>>>> h 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_2UmL83HQfOE >>>>>>> o >>>>>>> C >>>>>>> Vz >>>>>>> C >>>>>>> hS_fiJdy8vxHF4_JM0AhcKK4Y&m=XsNqliUbM-wXJ4BIRg17Ql3I4zlbKtrslZXu >>>>>>> w 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_sla >>>>>>> s >>>>>>> h >>>>>>> do >>>>>>> t >>>>>>> &d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8 >>>>>>> v >>>>>>> x >>>>>>> HF >>>>>>> 4 >>>>>>> _JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBYho_aHr7X9aghZ6ZihzSk&s=ZKSx >>>>>>> l 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.sourc >>>>>>> e >>>>>>> f >>>>>>> or >>>>>>> g >>>>>>> e.net_lists_listinfo_gobgp-2Ddevel&d=DwIFaQ&c=LFYZ-o9_HUMeMTSQic >>>>>>> v >>>>>>> j >>>>>>> Ig >>>>>>> & >>>>>>> r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjF >>>>>>> k >>>>>>> P >>>>>>> q3 >>>>>>> y >>>>>>> BYho_aHr7X9aghZ6ZihzSk&s=aHmtUI0UsXL4J3DAQXvNeholruVqcnCoSMjhNN6 >>>>>>> s >>>>>>> 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_slas >>>>>> h >>>>>> d >>>>>> ot >>>>>> & >>>>>> d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vx >>>>>> H >>>>>> F >>>>>> 4_ >>>>>> J >>>>>> M0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBYho_aHr7X9aghZ6ZihzSk&s=ZKSxlJk >>>>>> c >>>>>> 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.source >>>>>> f >>>>>> o >>>>>> rg >>>>>> e >>>>>> .net_lists_listinfo_gobgp-2Ddevel&d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvj >>>>>> I >>>>>> g >>>>>> &r >>>>>> = >>>>>> I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq >>>>>> 3 >>>>>> 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_slashd >>>> o >>>> t >>>> &d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxH >>>> F >>>> 4 >>>> _JM0AhcKK4Y&m=a8uZ5z9JfpkdyduLAq0G3l3bbd-0glNdqNKiEgMSu1U&s=BBVDLw6 >>>> 6 >>>> 0 juZnrLPKS1kIFaB2_HV34rj6zDYJyZOe3U&e= >>>> _______________________________________________ >>>> gobgp-devel mailing list >>>> gobgp-devel@lists.sourceforge.net >>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourcefo >>>> r >>>> g >>>> e.net_lists_listinfo_gobgp-2Ddevel&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjI >>>> g >>>> & >>>> r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=a8uZ5z9JfpkdyduLAq0 >>>> G >>>> 3 >>>> l3bbd-0glNdqNKiEgMSu1U&s=P0epHjnmGV3uE28Rfi1Qg7FQVYzWUhc8nkqaq_br6i >>>> I >>>> & >>>> 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=8wrxv3qSSEZ >> K >> XvD16KqNTTT_0Mwc2J95BbEVCp0EiCM&e= >> _______________________________________________ >> gobgp-devel mailing list >> gobgp-devel@lists.sourceforge.net >> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourceforg >> e >> .net_lists_listinfo_gobgp-2Ddevel&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r >> = >> I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=TdGJjOKuBMLxHOPXehiGl4R >> R >> oFxfLc4RqJAkSHslcKg&s=SoQIHnhhY7WMLVMHINZWoZVwQ0eM2U8WvcX_eFJpcSk&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=VghQHBPegbSJzmJCR-T-2YI2T4swV1WvtE4rZcxeX9w&s=gGdWttSvlFbR > f7Xn8OdJrISkAWsv8Daq5z6G6WXnT-4&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=VghQHBPegbSJzmJCR-T-2YI2 > T4swV1WvtE4rZcxeX9w&s=IeBS1wWRFsoac7r0eLb4Wl-t4lDmnIv5_uUnp0I6M8M&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