include $(TOPDIR)/rules.mk
PKG_NAME:=frr
-PKG_VERSION:=8.4.2
+PKG_VERSION:=8.5.1
PKG_RELEASE:=1
-PKG_SOURCE_DATE:=2023-02-17
+PKG_SOURCE_DATE:=2023-05-12
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
-PKG_SOURCE_VERSION:=410d78b7a4f2c8b4d4c3736c6d6cdb710287ca80
+PKG_SOURCE_VERSION:=05469ab2b553302c2a7032f4c89e4510dc3fa6d9
PKG_SOURCE_URL:=https://codeload.github.com/FRRouting/frr/tar.gz/$(PKG_SOURCE_VERSION)?
-PKG_HASH:=1334b050ea3d4144efeb7bdfe9c6976ebc91744810c5d8a7381a53fac2877ea9
+PKG_HASH:=caf3fcf1998ecd9a08e67373921a2d4bf49dbfc707008d20a1d38fd1606ef298
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
--- a/lib/thread.c
+++ b/lib/thread.c
-@@ -870,13 +870,9 @@ static void thread_free(struct thread_ma
+@@ -868,13 +868,9 @@ static void thread_free(struct thread_ma
XFREE(MTYPE_THREAD, thread);
}
/*
* If timer_wait is null here, that means poll() should block
* indefinitely, unless the thread_master has overridden it by setting
-@@ -907,58 +903,15 @@ static int fd_poll(struct thread_master
+@@ -905,58 +901,15 @@ static int fd_poll(struct thread_master
rcu_assert_read_unlocked();
/* add poll pipe poker */
while (read(m->io_pipe[0], &trash, sizeof(trash)) > 0)
;
-@@ -1768,7 +1721,7 @@ struct thread *thread_fetch(struct threa
+@@ -1766,7 +1719,7 @@ struct thread *thread_fetch(struct threa
struct timeval zerotime = {0, 0};
struct timeval tv;
struct timeval *tw = NULL;
int num = 0;
do {
-@@ -1844,14 +1797,14 @@ struct thread *thread_fetch(struct threa
+@@ -1842,14 +1795,14 @@ struct thread *thread_fetch(struct threa
pthread_mutex_unlock(&m->mtx);
{