diff options
| author | Russ White <russ@riw.us> | 2024-11-05 10:16:07 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-05 10:16:07 -0500 | 
| commit | 318e983a59dbf67efbc3ecad8c29afefedec5760 (patch) | |
| tree | 014aad31d7fc94920e165190ff57bf6a22c7ef72 | |
| parent | f68d5b38110e0f59c5b00ef49dbef4ff9ea75023 (diff) | |
| parent | 4c1ee29116aff081f63b1fc7dad18cbfe1b8007f (diff) | |
Merge pull request #17305 from opensourcerouting/fix/bgp_community_list_numbered
bgpd: Treat numbered community-list only if it's in a range 1-500
| -rw-r--r-- | bgpd/bgp_clist.c | 2 | ||||
| -rw-r--r-- | bgpd/bgp_clist.h | 4 | 
2 files changed, 5 insertions, 1 deletions
diff --git a/bgpd/bgp_clist.c b/bgpd/bgp_clist.c index ad154e638b..61ba527498 100644 --- a/bgpd/bgp_clist.c +++ b/bgpd/bgp_clist.c @@ -182,7 +182,7 @@ community_list_insert(struct community_list_handler *ch, const char *name,  	}  	/* In case of name is all digit character */ -	if (i == strlen(name)) { +	if (i == strlen(name) && number <= COMMUNITY_LIST_NUMBER_MAX) {  		new->sort = COMMUNITY_LIST_NUMBER;  		/* Set access_list to number list. */ diff --git a/bgpd/bgp_clist.h b/bgpd/bgp_clist.h index 29bd880c93..7f35a6d53e 100644 --- a/bgpd/bgp_clist.h +++ b/bgpd/bgp_clist.h @@ -20,6 +20,10 @@  /* Number and string based community-list name.  */  #define COMMUNITY_LIST_STRING          0  #define COMMUNITY_LIST_NUMBER          1 +/* The numbered community-list (including large/ext communities) + * have a range between 1-500. + */ +#define COMMUNITY_LIST_NUMBER_MAX 500  #define COMMUNITY_SEQ_NUMBER_AUTO     -1  | 
