diff options
author | Job Snijders <job@fastly.com> | 2024-02-18 09:00:10 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2024-02-18 09:06:52 +0100 |
commit | 44a16bff6cbf3f5ae8db21ffcec602bc51295d0a (patch) | |
tree | a9f08266f12063ce7ffe89938161e33781ab151a | |
parent | c3335b504403136ef8deb81cb034480a65ca2815 (diff) |
BGP: Update SendHoldTimer BGP Error code
IANA registered an "Early Allocation" BGP Error code for 'Send Hold
Timer Expired' event. Update BIRD to use that error code.
-rw-r--r-- | proto/bgp/bgp.c | 7 | ||||
-rw-r--r-- | proto/bgp/packets.c | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c index e97b45e6..bd6e90d6 100644 --- a/proto/bgp/bgp.c +++ b/proto/bgp/bgp.c @@ -1059,12 +1059,13 @@ bgp_send_hold_timeout(timer *t) struct bgp_conn *conn = t->data; struct bgp_proto *p = conn->bgp; + DBG("BGP: Send hold timeout\n"); + if (conn->state == BS_CLOSE) return; - /* Error codes not yet assigned by IANA */ - uint code = 4; - uint subcode = 1; + uint code = 8; + uint subcode = 0; /* Like bgp_error() but without NOTIFICATION */ bgp_log_error(p, BE_BGP_TX, "Error", code, subcode, NULL, 0); diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c index 18a226fb..f1e03621 100644 --- a/proto/bgp/packets.c +++ b/proto/bgp/packets.c @@ -3275,7 +3275,6 @@ static struct { { 3, 10, "Invalid network field" }, { 3, 11, "Malformed AS_PATH" }, { 4, 0, "Hold timer expired" }, - { 4, 1, "Send hold timer expired" }, /* Provisional [draft-ietf-idr-bgp-sendholdtimer] */ { 5, 0, "Finite state machine error" }, /* Subcodes are according to [RFC6608] */ { 5, 1, "Unexpected message in OpenSent state" }, { 5, 2, "Unexpected message in OpenConfirm state" }, @@ -3290,7 +3289,8 @@ static struct { { 6, 7, "Connection collision resolution" }, { 6, 8, "Out of Resources" }, { 7, 0, "Invalid ROUTE-REFRESH message" }, /* [RFC7313] */ - { 7, 1, "Invalid ROUTE-REFRESH message length" } /* [RFC7313] */ + { 7, 1, "Invalid ROUTE-REFRESH message length" }, /* [RFC7313] */ + { 8, 0, "Send hold timer expired" }, /* [draft-ietf-idr-bgp-sendholdtimer] */ }; /** |