diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-08-19 12:50:29 +0300 | 
|---|---|---|
| committer | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-08-19 12:50:29 +0300 | 
| commit | 2d7cdc5b2282e8114c59d8ad795b8c9f19bb8bb7 (patch) | |
| tree | ca46c8bcba88bce24cbe4062253cea09c7148492 /bgpd/bgp_ecommunity.c | |
| parent | 2c61dd7313980ee961a03fa5650e2f537f3cb5e0 (diff) | |
bgpd: Rename ecomm_intersect() to ecommunity_include()
Makes more sense.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Diffstat (limited to 'bgpd/bgp_ecommunity.c')
| -rw-r--r-- | bgpd/bgp_ecommunity.c | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/bgpd/bgp_ecommunity.c b/bgpd/bgp_ecommunity.c index 4120524e63..3f627521e7 100644 --- a/bgpd/bgp_ecommunity.c +++ b/bgpd/bgp_ecommunity.c @@ -1188,6 +1188,23 @@ char *ecommunity_ecom2str(struct ecommunity *ecom, int format, int filter)  	return str_buf;  } +bool ecommunity_include(struct ecommunity *e1, struct ecommunity *e2) +{ +	uint32_t i, j; + +	if (!e1 || !e2) +		return false; +	for (i = 0; i < e1->size; ++i) { +		for (j = 0; j < e2->size; ++j) { +			if (!memcmp(e1->val + (i * e1->unit_size), +				    e2->val + (j * e2->unit_size), +				    e1->unit_size)) +				return true; +		} +	} +	return false; +} +  bool ecommunity_match(const struct ecommunity *ecom1,  		      const struct ecommunity *ecom2)  {  | 
