diff options
| -rw-r--r-- | bgpd/bgp_attr.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 5320a5f57e..6c886b0061 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -1398,6 +1398,7 @@ bgp_attr_malformed(struct bgp_attr_parser_args *args, uint8_t subcode,  	case BGP_ATTR_AS4_AGGREGATOR:  	case BGP_ATTR_AGGREGATOR:  	case BGP_ATTR_ATOMIC_AGGREGATE: +	case BGP_ATTR_PREFIX_SID:  		return BGP_ATTR_PARSE_PROCEED;  	/* Core attributes, particularly ones which may influence route @@ -3163,8 +3164,6 @@ enum bgp_attr_parse_ret bgp_attr_prefix_sid(struct bgp_attr_parser_args *args)  	struct attr *const attr = args->attr;  	enum bgp_attr_parse_ret ret; -	attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_PREFIX_SID); -  	uint8_t type;  	uint16_t length;  	size_t headersz = sizeof(type) + sizeof(length); @@ -3214,6 +3213,8 @@ enum bgp_attr_parse_ret bgp_attr_prefix_sid(struct bgp_attr_parser_args *args)  		}  	} +	SET_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_PREFIX_SID)); +  	return BGP_ATTR_PARSE_PROCEED;  }  | 
