summaryrefslogtreecommitdiff
path: root/bgpd/bgp_ecommunity.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2023-01-27 08:10:08 -0500
committerDonatas Abraitis <donatas@opensourcerouting.org>2023-01-31 21:04:42 +0200
commit125ef88d2946edadadfcc729000f122e04169a72 (patch)
tree7368136e298e08dce2eb4076a2433700f1fa6987 /bgpd/bgp_ecommunity.c
parent6520483a8fe923659186adeff2551de1bca248e4 (diff)
bgpd: ecommunity_token_rt6 is not handled
The function ecommunity_str2com_internal appears to want to handle the ecommunity_token_rt6 enum but skips over it. Commit 9a659715dfcb6c0b1e3ef8004b6c9d14c55f2081 tried to add this but I really don't see how this is going to behave correctly. Add the ecommunity_token_rt6 case to the switch statement so it is handled appropriately? Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'bgpd/bgp_ecommunity.c')
-rw-r--r--bgpd/bgp_ecommunity.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bgpd/bgp_ecommunity.c b/bgpd/bgp_ecommunity.c
index 62fba1f58e..04005884ae 100644
--- a/bgpd/bgp_ecommunity.c
+++ b/bgpd/bgp_ecommunity.c
@@ -699,6 +699,7 @@ static struct ecommunity *ecommunity_str2com_internal(const char *str, int type,
while ((str = ecommunity_gettoken(str, (void *)&eval, &token))) {
switch (token) {
case ecommunity_token_rt:
+ case ecommunity_token_rt6:
case ecommunity_token_soo:
if (!keyword_included || keyword) {
if (ecom)
@@ -746,7 +747,6 @@ static struct ecommunity *ecommunity_str2com_internal(const char *str, int type,
ecom->unit_size);
break;
case ecommunity_token_unknown:
- default:
if (ecom)
ecommunity_free(&ecom);
return NULL;