diff options
| author | Donatas Abraitis <donatas.abraitis@gmail.com> | 2020-05-06 12:55:55 +0300 |
|---|---|---|
| committer | Donatas Abraitis <donatas.abraitis@gmail.com> | 2020-05-06 12:55:55 +0300 |
| commit | cbfc39df11b496d74eb05da66a0933cd0282e794 (patch) | |
| tree | 45d7f9724f54108db80d704f21a777cc00e3c4f2 | |
| parent | 6ded3e181b99efd43049d07485371c8dbda22f45 (diff) | |
bgpd: Ignore aggregator attribute if it's malformed (0.0.0.0)
This is not the attribute involved in path selection and by rfc7606 it should
be just ignored.
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
| -rw-r--r-- | bgpd/bgp_attr.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 1ebba5f6b4..d8566fed9f 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -1669,13 +1669,10 @@ static int bgp_attr_aggregator(struct bgp_attr_parser_args *args) attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_AGGREGATOR); /* Codification of AS 0 Processing */ - if (aggregator_as == BGP_AS_ZERO) { + if (aggregator_as == BGP_AS_ZERO) flog_err(EC_BGP_ATTR_LEN, "AGGREGATOR AS number is 0 for aspath: %s", aspath_print(attr->aspath)); - return bgp_attr_malformed(args, BGP_NOTIFY_UPDATE_MAL_AS_PATH, - args->total); - } return BGP_ATTR_PARSE_PROCEED; } @@ -1705,13 +1702,10 @@ bgp_attr_as4_aggregator(struct bgp_attr_parser_args *args, attr->flag |= ATTR_FLAG_BIT(BGP_ATTR_AS4_AGGREGATOR); /* Codification of AS 0 Processing */ - if (aggregator_as == BGP_AS_ZERO) { + if (aggregator_as == BGP_AS_ZERO) flog_err(EC_BGP_ATTR_LEN, "AS4_AGGREGATOR AS number is 0 for aspath: %s", aspath_print(attr->aspath)); - return bgp_attr_malformed(args, BGP_NOTIFY_UPDATE_MAL_AS_PATH, - 0); - } return BGP_ATTR_PARSE_PROCEED; } |
