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://github.com/osrg/gobgp/compare/master...iwaseyusuke:zclient-Enable_to_request_MPLS_label_range

```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://github.com/FRRouting/frr/issues/1207


 > 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_osrg_g
obgp_commit_c7653aa9d4276098a7a6b5ade5ffce5bf5d089e8&d=DwIFaQ&c=LFYZ-o
9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8Y
RSyefU_kBjFkPq3yBYho_aHr7X9aghZ6ZihzSk&s=MTpXR6wkh_EDImcmDx-f18aa4nhlT
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_FRRouting_frr_blob_master_zebra_label-5Fmanager.c&d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=yeOT6hlwHb4kNO7lFNfwiwLIf-w7HvCWRF0ciwQ4a6U&s=yYPnxj35T53xtHwdhn1kQ1X2NUdDnZHNwBNnmUMeQIo&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_osrg_
g
obgp_compare_master...iwaseyusuke-3Aserver-2DAuto-5FMPLS-5Flabel-5Fas
s
ignment-5Fon-5FVRF&d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEo
C
VzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBYho_aHr7X9aghZ6Z
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 add
r1> red rd 65000:200 rt both 65000:200 gobgp neighbor update 10.0.0.2
r1> 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 -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 -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_osrg
_
gobgp_pull_366&d=DwIDaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVz
C
hS_fiJdy8vxHF4_JM0AhcKK4Y&m=XsNqliUbM-wXJ4BIRg17Ql3I4zlbKtrslZXuwiiS
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_slashdo
t
&d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF
4
_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBYho_aHr7X9aghZ6ZihzSk&s=ZKSxlJkc
a P-nUGEu2yJmVbKJfB2tr5-jz2ILYgjv300&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=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg
&
r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3
y
BYho_aHr7X9aghZ6ZihzSk&s=aHmtUI0UsXL4J3DAQXvNeholruVqcnCoSMjhNN6sRWs
&
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=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_
J
M0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBYho_aHr7X9aghZ6ZihzSk&s=ZKSxlJkcaP-
n
UGEu2yJmVbKJfB2tr5-jz2ILYgjv300&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=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r
=
I_2UmL83HQfOEoCVzChS_fiJdy8vxHF4_JM0AhcKK4Y&m=7Vc8YRSyefU_kBjFkPq3yBY
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! http://sdm.link/slashdot
_______________________________________________
gobgp-devel mailing list
gobgp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gobgp-devel


------------------------------------------------------------------------------
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