summaryrefslogtreecommitdiff
path: root/bgpd/bgp_mplsvpn.h
diff options
context:
space:
mode:
authorRyoga Saito <contact@proelbtn.com>2021-08-31 06:31:44 +0000
committerRyoga Saito <contact@proelbtn.com>2021-09-03 01:18:50 +0000
commita45cd34e544ed3b3d342cc57e8fa5fa0832764c0 (patch)
treee249c3fd7d4ebf2b1357f3909423e1d642b86c3e /bgpd/bgp_mplsvpn.h
parent2dc1fa13226b820f972a54d2b805dfc53ab25fd0 (diff)
bgpd: introduce new alloc algorithm for SRv6 SID
Current implementation of SRv6 SID allocation algorithm sets most least 2 bytes. But, according to RFC8986, function bits is located in the next to locator. New allocation alogirithm respects this format. Signed-off-by: Ryoga Saito <contact@proelbtn.com>
Diffstat (limited to 'bgpd/bgp_mplsvpn.h')
-rw-r--r--bgpd/bgp_mplsvpn.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/bgpd/bgp_mplsvpn.h b/bgpd/bgp_mplsvpn.h
index 38193721b3..8e286527d9 100644
--- a/bgpd/bgp_mplsvpn.h
+++ b/bgpd/bgp_mplsvpn.h
@@ -81,6 +81,8 @@ extern void vpn_leak_zebra_vrf_sid_update(struct bgp *bgp, afi_t afi);
extern void vpn_leak_zebra_vrf_sid_withdraw(struct bgp *bgp, afi_t afi);
extern int vpn_leak_label_callback(mpls_label_t label, void *lblid, bool alloc);
extern void ensure_vrf_tovpn_sid(struct bgp *vpn, struct bgp *vrf, afi_t afi);
+extern void transpose_sid(struct in6_addr *sid, uint32_t label, uint8_t offset,
+ uint8_t size);
extern void vrf_import_from_vrf(struct bgp *to_bgp, struct bgp *from_bgp,
afi_t afi, safi_t safi);
void vrf_unimport_from_vrf(struct bgp *to_bgp, struct bgp *from_bgp,