summaryrefslogtreecommitdiff
path: root/proto/bgp
diff options
context:
space:
mode:
authorJob Snijders <job@fastly.com>2024-02-18 09:00:10 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2024-02-18 09:06:52 +0100
commit44a16bff6cbf3f5ae8db21ffcec602bc51295d0a (patch)
treea9f08266f12063ce7ffe89938161e33781ab151a /proto/bgp
parentc3335b504403136ef8deb81cb034480a65ca2815 (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.
Diffstat (limited to 'proto/bgp')
-rw-r--r--proto/bgp/bgp.c7
-rw-r--r--proto/bgp/packets.c4
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] */
};
/**