bgpd: Do not compare attr again.

`same_attr` has been computed and `hook_call(bgp_process)` (calling
BMP module) would not change it. We could reuse the value to filter
same attribute updates, avoiding an extra comparison.

Signed-off-by: zyxwvu Shi <i@shiyc.cn>
This commit is contained in:
zyxwvu Shi 2021-02-08 20:09:02 +08:00
parent 658186e8b6
commit aeadbd9e19

View File

@ -3799,7 +3799,7 @@ int bgp_update(struct peer *peer, const struct prefix *p, uint32_t addpath_id,
/* Same attribute comes in. */
if (!CHECK_FLAG(pi->flags, BGP_PATH_REMOVED)
&& attrhash_cmp(pi->attr, attr_new)
&& same_attr
&& (!has_valid_label
|| memcmp(&(bgp_path_info_extra_get(pi))->label, label,
num_labels * sizeof(mpls_label_t))