mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-01 02:48:48 +00:00
bgpd: changes for code maintainability
these changes are for improving the code maintainability and readability Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
This commit is contained in:
parent
571cca28c3
commit
72f5cb6c25
@ -515,7 +515,7 @@ static int ecommunity_encode_internal(uint8_t type, uint8_t sub_type,
|
|||||||
/* Fill in the values. */
|
/* Fill in the values. */
|
||||||
eval->val[0] = type;
|
eval->val[0] = type;
|
||||||
if (!trans)
|
if (!trans)
|
||||||
eval->val[0] |= ECOMMUNITY_FLAG_NON_TRANSITIVE;
|
SET_FLAG(eval->val[0], ECOMMUNITY_FLAG_NON_TRANSITIVE);
|
||||||
eval->val[1] = sub_type;
|
eval->val[1] = sub_type;
|
||||||
if (type == ECOMMUNITY_ENCODE_AS) {
|
if (type == ECOMMUNITY_ENCODE_AS) {
|
||||||
encode_route_target_as(as, val, eval, trans);
|
encode_route_target_as(as, val, eval, trans);
|
||||||
@ -1293,11 +1293,12 @@ char *ecommunity_ecom2str(struct ecommunity *ecom, int format, int filter)
|
|||||||
== ECOMMUNITY_EVPN_SUBTYPE_ESI_LABEL) {
|
== ECOMMUNITY_EVPN_SUBTYPE_ESI_LABEL) {
|
||||||
uint8_t flags = *++pnt;
|
uint8_t flags = *++pnt;
|
||||||
|
|
||||||
snprintf(encbuf,
|
snprintf(encbuf, sizeof(encbuf),
|
||||||
sizeof(encbuf), "ESI-label-Rt:%s",
|
"ESI-label-Rt:%s",
|
||||||
(flags &
|
CHECK_FLAG(flags,
|
||||||
ECOMMUNITY_EVPN_SUBTYPE_ESI_SA_FLAG) ?
|
ECOMMUNITY_EVPN_SUBTYPE_ESI_SA_FLAG)
|
||||||
"SA":"AA");
|
? "SA"
|
||||||
|
: "AA");
|
||||||
} else if (*pnt
|
} else if (*pnt
|
||||||
== ECOMMUNITY_EVPN_SUBTYPE_DF_ELECTION) {
|
== ECOMMUNITY_EVPN_SUBTYPE_DF_ELECTION) {
|
||||||
uint8_t alg;
|
uint8_t alg;
|
||||||
@ -1337,38 +1338,37 @@ char *ecommunity_ecom2str(struct ecommunity *ecom, int format, int filter)
|
|||||||
char buf[ECOMMUNITY_STRLEN];
|
char buf[ECOMMUNITY_STRLEN];
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
ecommunity_rt_soo_str_internal(buf, sizeof(buf),
|
ecommunity_rt_soo_str_internal(
|
||||||
(const uint8_t *)pnt,
|
buf, sizeof(buf), (const uint8_t *)pnt,
|
||||||
type &
|
CHECK_FLAG(type,
|
||||||
~ECOMMUNITY_ENCODE_TRANS_EXP,
|
~ECOMMUNITY_ENCODE_TRANS_EXP),
|
||||||
ECOMMUNITY_ROUTE_TARGET,
|
ECOMMUNITY_ROUTE_TARGET, format,
|
||||||
format,
|
ecom->unit_size);
|
||||||
ecom->unit_size);
|
|
||||||
snprintf(encbuf, sizeof(encbuf), "%s", buf);
|
snprintf(encbuf, sizeof(encbuf), "%s", buf);
|
||||||
} else if (sub_type ==
|
} else if (sub_type ==
|
||||||
ECOMMUNITY_FLOWSPEC_REDIRECT_IPV6) {
|
ECOMMUNITY_FLOWSPEC_REDIRECT_IPV6) {
|
||||||
char buf[64];
|
char buf[64];
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
ecommunity_rt_soo_str_internal(buf, sizeof(buf),
|
ecommunity_rt_soo_str_internal(
|
||||||
(const uint8_t *)pnt,
|
buf, sizeof(buf), (const uint8_t *)pnt,
|
||||||
type &
|
CHECK_FLAG(type,
|
||||||
~ECOMMUNITY_ENCODE_TRANS_EXP,
|
~ECOMMUNITY_ENCODE_TRANS_EXP),
|
||||||
ECOMMUNITY_ROUTE_TARGET,
|
ECOMMUNITY_ROUTE_TARGET,
|
||||||
ECOMMUNITY_FORMAT_DISPLAY,
|
ECOMMUNITY_FORMAT_DISPLAY,
|
||||||
ecom->unit_size);
|
ecom->unit_size);
|
||||||
snprintf(encbuf, sizeof(encbuf),
|
snprintf(encbuf, sizeof(encbuf),
|
||||||
"FS:redirect VRF %s", buf);
|
"FS:redirect VRF %s", buf);
|
||||||
} else if (sub_type == ECOMMUNITY_REDIRECT_VRF) {
|
} else if (sub_type == ECOMMUNITY_REDIRECT_VRF) {
|
||||||
char buf[16];
|
char buf[16];
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
ecommunity_rt_soo_str(buf, sizeof(buf),
|
ecommunity_rt_soo_str(
|
||||||
(const uint8_t *)pnt,
|
buf, sizeof(buf), (const uint8_t *)pnt,
|
||||||
type &
|
CHECK_FLAG(type,
|
||||||
~ECOMMUNITY_ENCODE_TRANS_EXP,
|
~ECOMMUNITY_ENCODE_TRANS_EXP),
|
||||||
ECOMMUNITY_ROUTE_TARGET,
|
ECOMMUNITY_ROUTE_TARGET,
|
||||||
ECOMMUNITY_FORMAT_DISPLAY);
|
ECOMMUNITY_FORMAT_DISPLAY);
|
||||||
snprintf(encbuf, sizeof(encbuf),
|
snprintf(encbuf, sizeof(encbuf),
|
||||||
"FS:redirect VRF %s", buf);
|
"FS:redirect VRF %s", buf);
|
||||||
snprintf(encbuf, sizeof(encbuf),
|
snprintf(encbuf, sizeof(encbuf),
|
||||||
@ -1640,12 +1640,13 @@ int ecommunity_fill_pbr_action(struct ecommunity_val *ecom_eval,
|
|||||||
} else if (ecom_eval->val[1] == ECOMMUNITY_TRAFFIC_ACTION) {
|
} else if (ecom_eval->val[1] == ECOMMUNITY_TRAFFIC_ACTION) {
|
||||||
api->action = ACTION_TRAFFIC_ACTION;
|
api->action = ACTION_TRAFFIC_ACTION;
|
||||||
/* else distribute code is set by default */
|
/* else distribute code is set by default */
|
||||||
if (ecom_eval->val[5] & (1 << FLOWSPEC_TRAFFIC_ACTION_TERMINAL))
|
if (CHECK_FLAG(ecom_eval->val[5],
|
||||||
api->u.za.filter |= TRAFFIC_ACTION_TERMINATE;
|
(1 << FLOWSPEC_TRAFFIC_ACTION_TERMINAL)))
|
||||||
|
SET_FLAG(api->u.za.filter, TRAFFIC_ACTION_TERMINATE);
|
||||||
else
|
else
|
||||||
api->u.za.filter |= TRAFFIC_ACTION_DISTRIBUTE;
|
SET_FLAG(api->u.za.filter, TRAFFIC_ACTION_DISTRIBUTE);
|
||||||
if (ecom_eval->val[5] == 1 << FLOWSPEC_TRAFFIC_ACTION_SAMPLE)
|
if (ecom_eval->val[5] == 1 << FLOWSPEC_TRAFFIC_ACTION_SAMPLE)
|
||||||
api->u.za.filter |= TRAFFIC_ACTION_SAMPLE;
|
SET_FLAG(api->u.za.filter, TRAFFIC_ACTION_SAMPLE);
|
||||||
|
|
||||||
} else if (ecom_eval->val[1] == ECOMMUNITY_TRAFFIC_MARKING) {
|
} else if (ecom_eval->val[1] == ECOMMUNITY_TRAFFIC_MARKING) {
|
||||||
api->action = ACTION_MARKING;
|
api->action = ACTION_MARKING;
|
||||||
@ -1940,7 +1941,7 @@ struct ecommunity *ecommunity_replace_linkbw(as_t as, struct ecommunity *ecom,
|
|||||||
return new;
|
return new;
|
||||||
|
|
||||||
type = *eval;
|
type = *eval;
|
||||||
if (type & ECOMMUNITY_FLAG_NON_TRANSITIVE)
|
if (CHECK_FLAG(type, ECOMMUNITY_FLAG_NON_TRANSITIVE))
|
||||||
return new;
|
return new;
|
||||||
|
|
||||||
/* Transitive link-bandwidth exists, replace with the passed
|
/* Transitive link-bandwidth exists, replace with the passed
|
||||||
|
Loading…
Reference in New Issue
Block a user