On Fri, Sep 1, 2023 at 12:56 PM Bjørn Mork <bjorn@mork.no> wrote:
Nick Hilliard <nick@foobar.org> writes:
Bjørn Mork wrote on 01/09/2023 08:17:
Sounds familiar.
https://supportportal.juniper.net/s/article/BGP-Malformed-AS-4-Byte-Transiti...
You'd think a lot of thought has gone into error handling for optional transitive attributes since then, but...
A good deal of thought has gone into the problem, and this is where rfc7606 came from. Treat-as-withdraw for the NLRI in question is the default option with this approach, and should be deployed universally.
Yes.
But there's obviously not been enough thought applied to realize that optional transitive attributes must be considered evil by default. They can only be used after extremely careful parsing.
Yeah, no. The logic is that if you understand them, you treat them according to whatever routing policy you have and then pass them along. If you don't, you just pass them along and that's it. Nothing more, nothing less.
This is the BGP version of
select * from mytable where field = $unvalidated_user_input;
No here as well. Because passing along a transitive attribute you don't understand does not affect you in any way. -e