net/frr10: update to 10.2.1
Sponsored by: Netflix
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
PORTNAME= frr
|
||||
DISTVERSIONPREFIX= frr-
|
||||
DISTVERSION= 10.2
|
||||
DISTVERSION= 10.2.1
|
||||
CATEGORIES= net
|
||||
.if defined(PYTHONTOOLS)
|
||||
PKGNAMESUFFIX= 10-pythontools
|
||||
|
||||
+3
-3
@@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1732620979
|
||||
SHA256 (FRRouting-frr-frr-10.2_GH0.tar.gz) = f9212701a8bba9ce32b4f2d361149db7778bb7bdc053bfb27415ec1948d83a47
|
||||
SIZE (FRRouting-frr-frr-10.2_GH0.tar.gz) = 11173035
|
||||
TIMESTAMP = 1736186246
|
||||
SHA256 (FRRouting-frr-frr-10.2.1_GH0.tar.gz) = 6cbf142d0b12fb8679f5dc95f7638ba6faf848a44f38fd45bf9caeee8c12097c
|
||||
SIZE (FRRouting-frr-frr-10.2.1_GH0.tar.gz) = 11178677
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
--- lib/sockopt.c.orig 2024-11-12 16:20:46 UTC
|
||||
+++ lib/sockopt.c
|
||||
@@ -19,7 +19,7 @@
|
||||
#define HAVE_BSD_STRUCT_IP_MREQ_HACK
|
||||
#endif
|
||||
|
||||
-void setsockopt_so_recvbuf(int sock, int size)
|
||||
+int setsockopt_so_recvbuf(int sock, int size)
|
||||
{
|
||||
int orig_req = size;
|
||||
|
||||
@@ -34,9 +34,11 @@ void setsockopt_so_recvbuf(int sock, int size)
|
||||
flog_err(EC_LIB_SOCKET,
|
||||
"%s: fd %d: SO_RCVBUF set to %d (requested %d)",
|
||||
__func__, sock, size, orig_req);
|
||||
+
|
||||
+ return size;
|
||||
}
|
||||
|
||||
-void setsockopt_so_sendbuf(const int sock, int size)
|
||||
+int setsockopt_so_sendbuf(const int sock, int size)
|
||||
{
|
||||
int orig_req = size;
|
||||
|
||||
@@ -51,6 +53,8 @@ void setsockopt_so_sendbuf(const int sock, int size)
|
||||
flog_err(EC_LIB_SOCKET,
|
||||
"%s: fd %d: SO_SNDBUF set to %d (requested %d)",
|
||||
__func__, sock, size, orig_req);
|
||||
+
|
||||
+ return size;
|
||||
}
|
||||
|
||||
int getsockopt_so_sendbuf(const int sock)
|
||||
@@ -1,13 +0,0 @@
|
||||
--- lib/sockopt.h.orig 2024-11-12 16:20:46 UTC
|
||||
+++ lib/sockopt.h
|
||||
@@ -12,8 +12,8 @@ extern "C" {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-extern void setsockopt_so_recvbuf(int sock, int size);
|
||||
-extern void setsockopt_so_sendbuf(const int sock, int size);
|
||||
+extern int setsockopt_so_recvbuf(int sock, int size);
|
||||
+extern int setsockopt_so_sendbuf(const int sock, int size);
|
||||
extern int getsockopt_so_sendbuf(const int sock);
|
||||
extern int getsockopt_so_recvbuf(const int sock);
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
--- lib/vty.c.orig 2024-11-12 16:20:46 UTC
|
||||
+++ lib/vty.c
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "northbound_cli.h"
|
||||
#include "printfrr.h"
|
||||
#include "json.h"
|
||||
+#include "sockopt.h"
|
||||
|
||||
#include <arpa/telnet.h>
|
||||
#include <termios.h>
|
||||
@@ -352,7 +353,7 @@ int vty_out(struct vty *vty, const char *format, ...)
|
||||
* put the data of collective vty->obuf Linked List items on the
|
||||
* socket and free the vty->obuf data.
|
||||
*/
|
||||
- if (vty->vty_buf_size_accumulated >= VTY_MAX_INTERMEDIATE_FLUSH) {
|
||||
+ if (vty->vty_buf_size_accumulated >= vty->buf_size_intermediate) {
|
||||
vty->vty_buf_size_accumulated = 0;
|
||||
vtysh_flush(vty);
|
||||
}
|
||||
@@ -2157,15 +2158,15 @@ static void vtysh_accept(struct event *thread)
|
||||
* Increasing the SEND socket buffer size so that the socket can hold
|
||||
* before sending it to VTY shell.
|
||||
*/
|
||||
- ret = setsockopt(sock, SOL_SOCKET, SO_SNDBUF, (char *)&sndbufsize,
|
||||
- sizeof(sndbufsize));
|
||||
- if (ret < 0) {
|
||||
+ ret = setsockopt_so_sendbuf(sock, sndbufsize);
|
||||
+ if (ret <= 0) {
|
||||
flog_err(EC_LIB_SOCKET,
|
||||
"Cannot set socket %d send buffer size, %s", sock,
|
||||
safe_strerror(errno));
|
||||
close(sock);
|
||||
return;
|
||||
}
|
||||
+
|
||||
set_cloexec(sock);
|
||||
|
||||
#ifdef VTYSH_DEBUG
|
||||
@@ -2173,6 +2174,13 @@ static void vtysh_accept(struct event *thread)
|
||||
#endif /* VTYSH_DEBUG */
|
||||
|
||||
vty = vty_new();
|
||||
+
|
||||
+ vty->buf_size_set = ret;
|
||||
+ if (vty->buf_size_set < VTY_MAX_INTERMEDIATE_FLUSH)
|
||||
+ vty->buf_size_intermediate = vty->buf_size_set / 2;
|
||||
+ else
|
||||
+ vty->buf_size_intermediate = VTY_MAX_INTERMEDIATE_FLUSH;
|
||||
+
|
||||
vty->fd = sock;
|
||||
vty->wfd = sock;
|
||||
vty->type = VTY_SHELL_SERV;
|
||||
@@ -1,12 +0,0 @@
|
||||
--- lib/vty.h.orig 2024-11-12 16:20:46 UTC
|
||||
+++ lib/vty.h
|
||||
@@ -237,6 +237,9 @@ struct vty {
|
||||
bool mgmt_locked_candidate_ds;
|
||||
bool mgmt_locked_running_ds;
|
||||
uint64_t vty_buf_size_accumulated;
|
||||
+
|
||||
+ int buf_size_set;
|
||||
+ uint64_t buf_size_intermediate;
|
||||
};
|
||||
|
||||
static inline void vty_push_context(struct vty *vty, int node, uint64_t id)
|
||||
@@ -1,22 +0,0 @@
|
||||
--- vtysh/vtysh.c.orig 2024-11-12 16:20:46 UTC
|
||||
+++ vtysh/vtysh.c
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "frrstr.h"
|
||||
#include "json.h"
|
||||
#include "ferr.h"
|
||||
+#include "sockopt.h"
|
||||
|
||||
DEFINE_MTYPE_STATIC(MVTYSH, VTYSH_CMD, "Vtysh cmd copy");
|
||||
|
||||
@@ -4694,9 +4695,8 @@ static int vtysh_connect(struct vtysh_client *vclient)
|
||||
* Increasing the RECEIVE socket buffer size so that the socket can hold
|
||||
* after receving from other process.
|
||||
*/
|
||||
- ret = setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (char *)&rcvbufsize,
|
||||
- sizeof(rcvbufsize));
|
||||
- if (ret < 0) {
|
||||
+ ret = setsockopt_so_recvbuf(sock, rcvbufsize);
|
||||
+ if (ret <= 0) {
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "Cannot set socket %d rcv buffer size, %s\n",
|
||||
sock, safe_strerror(errno));
|
||||
Reference in New Issue
Block a user