]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Treat as4-path (17) attribute as withdraw if malformed
authorDonatas Abraitis <donatas@opensourcerouting.org>
Fri, 1 Sep 2023 14:10:12 +0000 (17:10 +0300)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Tue, 5 Sep 2023 12:33:54 +0000 (12:33 +0000)
rfc7606 defines:

Attributes 17 (AS4_PATH), 18 (AS4_AGGREGATOR), 22 (PMSI_TUNNEL), 23 (Tunnel
   Encapsulation Attribute), 26 (AIGP), 27 (PE Distinguisher Labels),
   and 29 (BGP-LS Attribute) do have error handling consistent with
   Section 8 and thus are not further discussed herein.

Section 8 defines:

The "treat-as-withdraw" approach is generally
   preferred and the "session reset" approach is discouraged.
For any malformed attribute that is handled by the "attribute
   discard" instead of the "treat-as-withdraw" approach, it is critical
   to consider the potential impact of doing so.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit e8cac071fb9106cbe235d3ff1f4dd9bfbd6c4cef)

bgpd/bgp_attr.c

index 698e09db99d12bbbf2645070bac2847977a1ab69..6be69bd2381c899db9eee9b0d7b8df822b6c24a4 100644 (file)
@@ -1391,6 +1391,7 @@ bgp_attr_malformed(struct bgp_attr_parser_args *args, uint8_t subcode,
         */
        case BGP_ATTR_ORIGIN:
        case BGP_ATTR_AS_PATH:
+       case BGP_ATTR_AS4_PATH:
        case BGP_ATTR_NEXT_HOP:
        case BGP_ATTR_MULTI_EXIT_DISC:
        case BGP_ATTR_LOCAL_PREF: