Extended BGP Administrative Shutdown Communication (rfc9003):
Basically, shutdown message size is increased to 255 from 128.
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
return NULL;
uint8_t len = data[0];
- if (len > 128 || len > datalen - 1)
+ if (!len || len > datalen - 1)
return NULL;
return zlog_sanitize(buf, bufsz, data + 1, len);
if (BGP_IS_VALID_STATE_FOR_NOTIF(peer->status)) {
char *msg = peer->tx_shutdown_message;
size_t msglen;
+ uint8_t msgbuf[BGP_ADMIN_SHUTDOWN_MSG_LEN + 1];
if (!msg && peer_group_active(peer))
msg = peer->group->conf
->tx_shutdown_message;
msglen = msg ? strlen(msg) : 0;
- if (msglen > 128)
- msglen = 128;
+ if (msglen > BGP_ADMIN_SHUTDOWN_MSG_LEN)
+ msglen = BGP_ADMIN_SHUTDOWN_MSG_LEN;
if (msglen) {
- uint8_t msgbuf[129];
-
msgbuf[0] = msglen;
memcpy(msgbuf + 1, msg, msglen);
/* Default BGP port number. */
#define BGP_PORT_DEFAULT 179
+/* Extended BGP Administrative Shutdown Communication */
+#define BGP_ADMIN_SHUTDOWN_MSG_LEN 255
+
/* BGP minimum message size. */
#define BGP_MSG_OPEN_MIN_SIZE (BGP_HEADER_SIZE + 10)
#define BGP_MSG_UPDATE_MIN_SIZE (BGP_HEADER_SIZE + 4)