diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h index 310fc0215d..e0dac354fb 100644 --- a/bgpd/bgp_attr.h +++ b/bgpd/bgp_attr.h @@ -163,7 +163,7 @@ struct attr unsigned long refcnt; /* Flag of attribute is set or not. */ - u_int32_t flag; + u_int64_t flag; /* Apart from in6_addr, the remaining static attributes */ struct in_addr nexthop; @@ -204,7 +204,7 @@ struct transit u_char *val; }; -#define ATTR_FLAG_BIT(X) (1 << ((X) - 1)) +#define ATTR_FLAG_BIT(X) (1ULL << ((X) - 1)) #define BGP_CLUSTER_LIST_LENGTH(attr) \ (((attr)->flag & ATTR_FLAG_BIT(BGP_ATTR_CLUSTER_LIST)) ? \