path->attr->med = newattr.med;
- if (path->attr->flag & ATTR_FLAG_BIT(BGP_ATTR_LOCAL_PREF))
+ if (CHECK_FLAG(path->attr->flag, ATTR_FLAG_BIT(BGP_ATTR_LOCAL_PREF)))
locpref = path->attr->local_pref;
if (locpref != newattr.local_pref) {
SET_FLAG(path->attr->flag,
afi);
if (ret < 0)
return RMAP_NOMATCH;
- if (api.match_bitmask & PREFIX_DST_PRESENT ||
- api.match_bitmask_iprule & PREFIX_DST_PRESENT) {
+ if (CHECK_FLAG(api.match_bitmask, PREFIX_DST_PRESENT) ||
+ CHECK_FLAG(api.match_bitmask_iprule, PREFIX_DST_PRESENT)) {
if (family2afi((&api.dst_prefix)->family) != afi)
return RMAP_NOMATCH;
return prefix_list_apply(plist, &api.dst_prefix) == PREFIX_DENY
? RMAP_NOMATCH
: RMAP_MATCH;
- } else if (api.match_bitmask & PREFIX_SRC_PRESENT ||
- api.match_bitmask_iprule & PREFIX_SRC_PRESENT) {
+ } else if (CHECK_FLAG(api.match_bitmask, PREFIX_SRC_PRESENT) ||
+ CHECK_FLAG(api.match_bitmask_iprule, PREFIX_SRC_PRESENT)) {
if (family2afi((&api.src_prefix)->family) != afi)
return RMAP_NOMATCH;
return (prefix_list_apply(plist, &api.src_prefix) == PREFIX_DENY
sockunion_family(peer->su_remote) == AF_INET) {
path->attr->nexthop.s_addr =
sockunion2ip(peer->su_remote);
- path->attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP);
+ SET_FLAG(path->attr->flag, ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP));
} else if (CHECK_FLAG(peer->rmap_type, PEER_RMAP_TYPE_OUT)) {
/* The next hop value will be set as part of
* packet rewrite. Set the flags here to indicate
}
} else {
/* Set next hop value. */
- path->attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP);
+ SET_FLAG(path->attr->flag, ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP));
path->attr->nexthop = *rins->address;
SET_FLAG(path->attr->rmap_change_flags,
BATTR_RMAP_IPV4_NHOP_CHANGED);
if (path->attr->local_pref)
locpref = path->attr->local_pref;
- path->attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_LOCAL_PREF);
+ SET_FLAG(path->attr->flag, ATTR_FLAG_BIT(BGP_ATTR_LOCAL_PREF));
path->attr->local_pref = route_value_adjust(rv, locpref, path);
return RMAP_OKAY;
rv = rule;
path = object;
- if (path->attr->flag & ATTR_FLAG_BIT(BGP_ATTR_MULTI_EXIT_DISC))
+ if (CHECK_FLAG(path->attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MULTI_EXIT_DISC)))
med = path->attr->med;
bgp_attr_set_med(path->attr, route_value_adjust(rv, med, path));
struct bgp_path_info *path;
path = object;
- path->attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_ATOMIC_AGGREGATE);
+ SET_FLAG(path->attr->flag, ATTR_FLAG_BIT(BGP_ATTR_ATOMIC_AGGREGATE));
return RMAP_OKAY;
}
path->attr->aggregator_as = aggregator->as;
path->attr->aggregator_addr = aggregator->address;
- path->attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_AGGREGATOR);
+ SET_FLAG(path->attr->flag, ATTR_FLAG_BIT(BGP_ATTR_AGGREGATOR));
return RMAP_OKAY;
}
label_index = rv->value;
if (label_index) {
path->attr->label_index = label_index;
- path->attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_PREFIX_SID);
+ SET_FLAG(path->attr->flag, ATTR_FLAG_BIT(BGP_ATTR_PREFIX_SID));
}
return RMAP_OKAY;
address = rule;
path = object;
- path->attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_ORIGINATOR_ID);
+ SET_FLAG(path->attr->flag, ATTR_FLAG_BIT(BGP_ATTR_ORIGINATOR_ID));
path->attr->originator_id = *address;
return RMAP_OKAY;