From a0fb0eaa6780e60b7c5434dfe0e2ed402e5a4ea4 Mon Sep 17 00:00:00 2001 From: "katerina.kubecova" Date: Tue, 19 Sep 2023 11:11:24 +0200 Subject: BGP: Setting and unsetting unknown attributes All these must be declared as bytestring. Allows operators to delete unwanted attributes breaking the Internet: https://blog.benjojo.co.uk/post/bgp-path-attributes-grave-error-handling --- doc/bird.sgml | 7 +++++++ filter/data.h | 1 + filter/f-inst.c | 2 +- filter/f-inst.h | 15 +++++++++++++++ proto/bgp/config.Y | 11 ++++++++++- 5 files changed, 34 insertions(+), 2 deletions(-) diff --git a/doc/bird.sgml b/doc/bird.sgml index 3be266cb..366797ba 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -3287,6 +3287,13 @@ some of them (marked with ` is configured it set automatically. +

For attributes unknown by BIRD, the user can assign a name (on top level) +to an attribute by its number. This defined name can be used then to both set +(by a bytestring literal, transitive) or unset the given attribute even though +BIRD knows nothing about it: + +