]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Make sure AIGP attribute is non-transitive
authorDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 8 May 2023 19:49:10 +0000 (22:49 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 8 May 2023 20:20:04 +0000 (23:20 +0300)
The AIGP attribute is an optional, non-transitive BGP path attribute.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_attr.c

index 5b06bc3913759f0483a8620ce73a35421e029d07..195298c81518ba455b712096e12ef865fe87688a 100644 (file)
@@ -1467,7 +1467,7 @@ const uint8_t attr_flags_values[] = {
        [BGP_ATTR_PREFIX_SID] = BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS,
        [BGP_ATTR_IPV6_EXT_COMMUNITIES] =
                BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS,
-       [BGP_ATTR_AIGP] = BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS,
+       [BGP_ATTR_AIGP] = BGP_ATTR_FLAG_OPTIONAL,
 };
 static const size_t attr_flags_values_max = array_size(attr_flags_values) - 1;
 
@@ -4740,7 +4740,7 @@ bgp_size_t bgp_packet_attribute(struct bgp *bgp, struct peer *peer,
                 */
                uint8_t attr_len = BGP_AIGP_TLV_METRIC_LEN;
 
-               stream_putc(s, BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS);
+               stream_putc(s, BGP_ATTR_FLAG_OPTIONAL);
                stream_putc(s, BGP_ATTR_AIGP);
                stream_putc(s, attr_len);
                stream_put_bgp_aigp_tlv_metric(s, bpi);