diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-11-07 10:36:47 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-07 10:36:47 -0500 |
| commit | 306c4dab553443e3a3b106dd64c2f3ffcde3fbb0 (patch) | |
| tree | 1abbb56c3e70b950f8df432b39223cc2548f563f | |
| parent | 0ed33f4a4368f8006e6b67ba97014ee16e826886 (diff) | |
| parent | c6ca155d73585b1ca383facd74e9973c281f1f93 (diff) | |
Merge pull request #5278 from slankdev/slankdev-bgpd-fix-prefix-sid-fetch-errorbgp_ls
bgpd: skip unsupported PREFIX_SID sub-type
| -rw-r--r-- | bgpd/bgp_attr.c | 15 | ||||
| -rw-r--r-- | bgpd/bgp_attr.h | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 10e78cbc96..bfa578085d 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -2234,6 +2234,21 @@ static bgp_attr_parse_ret_t bgp_attr_psid_sub(int32_t type, } } + /* + * Placeholder code for Unsupported TLV + * - SRv6 L3 Service TLV (type5) + * - SRv6 L2 Service TLV (type6) + */ + else if (type == BGP_PREFIX_SID_SRV6_L3_SERVICE + || type == BGP_PREFIX_SID_SRV6_L2_SERVICE) { + if (bgp_debug_update(peer, NULL, NULL, 1)) + zlog_debug( + "%s attr Prefix-SID sub-type=%u is not supported, skipped", + peer->host, type); + for (int i = 0; i < length; i++) + stream_getc(peer->curr); + } + return BGP_ATTR_PARSE_PROCEED; } diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h index eacd37b652..42002bd378 100644 --- a/bgpd/bgp_attr.h +++ b/bgpd/bgp_attr.h @@ -62,6 +62,8 @@ #define BGP_PREFIX_SID_LABEL_INDEX 1 #define BGP_PREFIX_SID_IPV6 2 #define BGP_PREFIX_SID_ORIGINATOR_SRGB 3 +#define BGP_PREFIX_SID_SRV6_L3_SERVICE 5 +#define BGP_PREFIX_SID_SRV6_L2_SERVICE 6 #define BGP_PREFIX_SID_LABEL_INDEX_LENGTH 7 #define BGP_PREFIX_SID_IPV6_LENGTH 19 |
