]> git.puffer.fish Git - mirror/frr.git/commit
bgpd: Ignore handling NLRIs if we received MP_UNREACH_NLRI
authorDonatas Abraitis <donatas@opensourcerouting.org>
Sun, 29 Oct 2023 20:44:45 +0000 (22:44 +0200)
committerDavid Lamparter <equinox@opensourcerouting.org>
Mon, 6 May 2024 01:02:55 +0000 (03:02 +0200)
commitb21e7b8fe8c4970f2f6f794cb78bcc93057af94f
tree2c4d487fadd2f7fa201cb0b43509a5961e7f908c
parent3f79135cc7683f71732cfa24e05e4fe3eaf5df47
bgpd: Ignore handling NLRIs if we received MP_UNREACH_NLRI

If we receive MP_UNREACH_NLRI, we should stop handling remaining NLRIs if
no mandatory path attributes received.

In other words, if MP_UNREACH_NLRI received, the remaining NLRIs should be handled
as a new data, but without mandatory attributes, it's a malformed packet.

In normal case, this MUST not happen at all, but to avoid crashing bgpd, we MUST
handle that.

Reported-by: Iggy Frankovic <iggyfran@amazon.com>
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit c37119df45bbf4ef713bc10475af2ee06e12f3bf)
bgpd/bgp_attr.c
bgpd/bgp_attr.h
bgpd/bgp_packet.c