Merge pull request #11480 from opensourcerouting/fix/peer_flags_luu

bgpd: Use uin64_t for peer->flags
This commit is contained in:
mobash-rasool 2022-06-28 12:08:09 +05:30 committed by GitHub
commit d942df2abf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 45 deletions

View File

@ -5135,7 +5135,7 @@ ALIAS_HIDDEN(no_neighbor_set_peer_group, no_neighbor_set_peer_group_hidden_cmd,
"Peer-group name\n") "Peer-group name\n")
static int peer_flag_modify_vty(struct vty *vty, const char *ip_str, static int peer_flag_modify_vty(struct vty *vty, const char *ip_str,
uint32_t flag, int set) uint64_t flag, int set)
{ {
int ret; int ret;
struct peer *peer; struct peer *peer;
@ -5166,13 +5166,13 @@ static int peer_flag_modify_vty(struct vty *vty, const char *ip_str,
return bgp_vty_return(vty, ret); return bgp_vty_return(vty, ret);
} }
static int peer_flag_set_vty(struct vty *vty, const char *ip_str, uint32_t flag) static int peer_flag_set_vty(struct vty *vty, const char *ip_str, uint64_t flag)
{ {
return peer_flag_modify_vty(vty, ip_str, flag, 1); return peer_flag_modify_vty(vty, ip_str, flag, 1);
} }
static int peer_flag_unset_vty(struct vty *vty, const char *ip_str, static int peer_flag_unset_vty(struct vty *vty, const char *ip_str,
uint32_t flag) uint64_t flag)
{ {
return peer_flag_modify_vty(vty, ip_str, flag, 0); return peer_flag_modify_vty(vty, ip_str, flag, 0);
} }
@ -16348,7 +16348,7 @@ static void bgp_config_write_redistribute(struct vty *vty, struct bgp *bgp,
/* peer-group helpers for config-write */ /* peer-group helpers for config-write */
static bool peergroup_flag_check(struct peer *peer, uint32_t flag) static bool peergroup_flag_check(struct peer *peer, uint64_t flag)
{ {
if (!peer_group_active(peer)) { if (!peer_group_active(peer)) {
if (CHECK_FLAG(peer->flags_invert, flag)) if (CHECK_FLAG(peer->flags_invert, flag))

View File

@ -967,7 +967,7 @@ static bool peer_hash_same(const void *p1, const void *p2)
== CHECK_FLAG(peer2->flags, PEER_FLAG_CONFIG_NODE)); == CHECK_FLAG(peer2->flags, PEER_FLAG_CONFIG_NODE));
} }
void peer_flag_inherit(struct peer *peer, uint32_t flag) void peer_flag_inherit(struct peer *peer, uint64_t flag)
{ {
bool group_val; bool group_val;
@ -4223,7 +4223,7 @@ void peer_change_action(struct peer *peer, afi_t afi, safi_t safi,
struct peer_flag_action { struct peer_flag_action {
/* Peer's flag. */ /* Peer's flag. */
uint32_t flag; uint64_t flag;
/* This flag can be set for peer-group member. */ /* This flag can be set for peer-group member. */
uint8_t not_for_member; uint8_t not_for_member;
@ -4292,7 +4292,7 @@ static const struct peer_flag_action peer_af_flag_action_list[] = {
/* Proper action set. */ /* Proper action set. */
static int peer_flag_action_set(const struct peer_flag_action *action_list, static int peer_flag_action_set(const struct peer_flag_action *action_list,
int size, struct peer_flag_action *action, int size, struct peer_flag_action *action,
uint32_t flag) uint64_t flag)
{ {
int i; int i;
int found = 0; int found = 0;
@ -4468,7 +4468,7 @@ void bgp_shutdown_disable(struct bgp *bgp)
} }
/* Change specified peer flag. */ /* Change specified peer flag. */
static int peer_flag_modify(struct peer *peer, uint32_t flag, int set) static int peer_flag_modify(struct peer *peer, uint64_t flag, int set)
{ {
int found; int found;
int size; int size;
@ -4579,12 +4579,12 @@ static int peer_flag_modify(struct peer *peer, uint32_t flag, int set)
return 0; return 0;
} }
int peer_flag_set(struct peer *peer, uint32_t flag) int peer_flag_set(struct peer *peer, uint64_t flag)
{ {
return peer_flag_modify(peer, flag, 1); return peer_flag_modify(peer, flag, 1);
} }
int peer_flag_unset(struct peer *peer, uint32_t flag) int peer_flag_unset(struct peer *peer, uint64_t flag)
{ {
return peer_flag_modify(peer, flag, 0); return peer_flag_modify(peer, flag, 0);
} }

View File

@ -1296,48 +1296,48 @@ struct peer {
* flags_invert) must be respected. * flags_invert) must be respected.
*/ */
uint64_t flags; uint64_t flags;
#define PEER_FLAG_PASSIVE (1U << 0) /* passive mode */ #define PEER_FLAG_PASSIVE (1ULL << 0) /* passive mode */
#define PEER_FLAG_SHUTDOWN (1U << 1) /* shutdown */ #define PEER_FLAG_SHUTDOWN (1ULL << 1) /* shutdown */
#define PEER_FLAG_DONT_CAPABILITY (1U << 2) /* dont-capability */ #define PEER_FLAG_DONT_CAPABILITY (1ULL << 2) /* dont-capability */
#define PEER_FLAG_OVERRIDE_CAPABILITY (1U << 3) /* override-capability */ #define PEER_FLAG_OVERRIDE_CAPABILITY (1ULL << 3) /* override-capability */
#define PEER_FLAG_STRICT_CAP_MATCH (1U << 4) /* strict-match */ #define PEER_FLAG_STRICT_CAP_MATCH (1ULL << 4) /* strict-match */
#define PEER_FLAG_DYNAMIC_CAPABILITY (1U << 5) /* dynamic capability */ #define PEER_FLAG_DYNAMIC_CAPABILITY (1ULL << 5) /* dynamic capability */
#define PEER_FLAG_DISABLE_CONNECTED_CHECK (1U << 6) /* disable-connected-check */ #define PEER_FLAG_DISABLE_CONNECTED_CHECK (1ULL << 6) /* disable-connected-check */
#define PEER_FLAG_LOCAL_AS_NO_PREPEND (1U << 7) /* local-as no-prepend */ #define PEER_FLAG_LOCAL_AS_NO_PREPEND (1ULL << 7) /* local-as no-prepend */
#define PEER_FLAG_LOCAL_AS_REPLACE_AS (1U << 8) /* local-as no-prepend replace-as */ #define PEER_FLAG_LOCAL_AS_REPLACE_AS (1ULL << 8) /* local-as no-prepend replace-as */
#define PEER_FLAG_DELETE (1U << 9) /* mark the peer for deleting */ #define PEER_FLAG_DELETE (1ULL << 9) /* mark the peer for deleting */
#define PEER_FLAG_CONFIG_NODE (1U << 10) /* the node to update configs on */ #define PEER_FLAG_CONFIG_NODE (1ULL << 10) /* the node to update configs on */
#define PEER_FLAG_LONESOUL (1U << 11) #define PEER_FLAG_LONESOUL (1ULL << 11)
#define PEER_FLAG_DYNAMIC_NEIGHBOR (1U << 12) /* dynamic neighbor */ #define PEER_FLAG_DYNAMIC_NEIGHBOR (1ULL << 12) /* dynamic neighbor */
#define PEER_FLAG_CAPABILITY_ENHE (1U << 13) /* Extended next-hop (rfc 5549)*/ #define PEER_FLAG_CAPABILITY_ENHE (1ULL << 13) /* Extended next-hop (rfc 5549)*/
#define PEER_FLAG_IFPEER_V6ONLY (1U << 14) /* if-based peer is v6 only */ #define PEER_FLAG_IFPEER_V6ONLY (1ULL << 14) /* if-based peer is v6 only */
#define PEER_FLAG_IS_RFAPI_HD (1U << 15) /* attached to rfapi HD */ #define PEER_FLAG_IS_RFAPI_HD (1ULL << 15) /* attached to rfapi HD */
#define PEER_FLAG_ENFORCE_FIRST_AS (1U << 16) /* enforce-first-as */ #define PEER_FLAG_ENFORCE_FIRST_AS (1ULL << 16) /* enforce-first-as */
#define PEER_FLAG_ROUTEADV (1U << 17) /* route advertise */ #define PEER_FLAG_ROUTEADV (1ULL << 17) /* route advertise */
#define PEER_FLAG_TIMER (1U << 18) /* keepalive & holdtime */ #define PEER_FLAG_TIMER (1ULL << 18) /* keepalive & holdtime */
#define PEER_FLAG_TIMER_CONNECT (1U << 19) /* connect timer */ #define PEER_FLAG_TIMER_CONNECT (1ULL << 19) /* connect timer */
#define PEER_FLAG_PASSWORD (1U << 20) /* password */ #define PEER_FLAG_PASSWORD (1ULL << 20) /* password */
#define PEER_FLAG_LOCAL_AS (1U << 21) /* local-as */ #define PEER_FLAG_LOCAL_AS (1ULL << 21) /* local-as */
#define PEER_FLAG_UPDATE_SOURCE (1U << 22) /* update-source */ #define PEER_FLAG_UPDATE_SOURCE (1ULL << 22) /* update-source */
/* BGP-GR Peer related flags */ /* BGP-GR Peer related flags */
#define PEER_FLAG_GRACEFUL_RESTART_HELPER (1U << 23) /* Helper */ #define PEER_FLAG_GRACEFUL_RESTART_HELPER (1ULL << 23) /* Helper */
#define PEER_FLAG_GRACEFUL_RESTART (1U << 24) /* Graceful Restart */ #define PEER_FLAG_GRACEFUL_RESTART (1ULL << 24) /* Graceful Restart */
#define PEER_FLAG_GRACEFUL_RESTART_GLOBAL_INHERIT (1U << 25) /* Global-Inherit */ #define PEER_FLAG_GRACEFUL_RESTART_GLOBAL_INHERIT (1ULL << 25) /* Global-Inherit */
#define PEER_FLAG_RTT_SHUTDOWN (1U << 26) /* shutdown rtt */ #define PEER_FLAG_RTT_SHUTDOWN (1ULL << 26) /* shutdown rtt */
#define PEER_FLAG_TIMER_DELAYOPEN (1U << 27) /* delayopen timer */ #define PEER_FLAG_TIMER_DELAYOPEN (1ULL << 27) /* delayopen timer */
#define PEER_FLAG_TCP_MSS (1U << 28) /* tcp-mss */ #define PEER_FLAG_TCP_MSS (1ULL << 28) /* tcp-mss */
/* Disable IEEE floating-point link bandwidth encoding in /* Disable IEEE floating-point link bandwidth encoding in
* extended communities. * extended communities.
*/ */
#define PEER_FLAG_DISABLE_LINK_BW_ENCODING_IEEE (1U << 29) #define PEER_FLAG_DISABLE_LINK_BW_ENCODING_IEEE (1ULL << 29)
/* force the extended format for Optional Parameters in OPEN message */ /* force the extended format for Optional Parameters in OPEN message */
#define PEER_FLAG_EXTENDED_OPT_PARAMS (1U << 30) #define PEER_FLAG_EXTENDED_OPT_PARAMS (1ULL << 30)
/* BGP Open Policy flags. /* BGP Open Policy flags.
* Enforce using roles on both sides * Enforce using roles on both sides
*/ */
#define PEER_FLAG_STRICT_MODE (1U << 31) #define PEER_FLAG_STRICT_MODE (1ULL << 31)
/* /*
*GR-Disabled mode means unset PEER_FLAG_GRACEFUL_RESTART *GR-Disabled mode means unset PEER_FLAG_GRACEFUL_RESTART
@ -2163,9 +2163,9 @@ extern int peer_deactivate(struct peer *, afi_t, safi_t);
extern int peer_group_bind(struct bgp *, union sockunion *, struct peer *, extern int peer_group_bind(struct bgp *, union sockunion *, struct peer *,
struct peer_group *, as_t *); struct peer_group *, as_t *);
extern int peer_flag_set(struct peer *, uint32_t); extern int peer_flag_set(struct peer *peer, uint64_t flag);
extern int peer_flag_unset(struct peer *, uint32_t); extern int peer_flag_unset(struct peer *peer, uint64_t flag);
extern void peer_flag_inherit(struct peer *peer, uint32_t flag); extern void peer_flag_inherit(struct peer *peer, uint64_t flag);
extern int peer_af_flag_set(struct peer *, afi_t, safi_t, uint32_t); extern int peer_af_flag_set(struct peer *, afi_t, safi_t, uint32_t);
extern int peer_af_flag_unset(struct peer *, afi_t, safi_t, uint32_t); extern int peer_af_flag_unset(struct peer *, afi_t, safi_t, uint32_t);