Skip to content

Commit

Permalink
bgpd: skip unsupported PREFIX_SID sub-type
Browse files Browse the repository at this point in the history
This commit make bgpd to skip and ignore unsupported
sub-type of PREFIX_SID. (especially new defined sub-type)
Current bgpd can't parase unsupported sub-type of PREFIX_SID.
PREFIX_SID is drafted on draft-ietf-idr-bgp-prefix-sid-27.
There are already new sub-type drafted on
draft-dawra-idr-srv6-vpn-05. (Type5,6 is new defined.)
This commit fix the problem reported as #5277 on GitBub.

Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
  • Loading branch information
slankdev committed Nov 5, 2019
1 parent e536181 commit c6ca155
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
15 changes: 15 additions & 0 deletions bgpd/bgp_attr.c
Expand Up @@ -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;
}

Expand Down
2 changes: 2 additions & 0 deletions bgpd/bgp_attr.h
Expand Up @@ -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
Expand Down

0 comments on commit c6ca155

Please sign in to comment.