package/smcroute: bump version to v2.5.3

- Upstream has .sha256 checksum files, drop redundant .md5 checksum
 - Backport upstream patch to silence bogus error message for loopback
 - SMCRoute is useless w/o kernel support, use same fixups as mrouted

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Joachim Wiberg 2021-09-28 11:43:22 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent b94c49ddcc
commit 3b2ce753bb
3 changed files with 62 additions and 4 deletions

View file

@ -0,0 +1,51 @@
From 8ce1d117a31e35d97fb955b82edf13514267eaab Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Tue, 28 Sep 2021 11:09:47 +0200
Subject: [PATCH] Avoid trying to delete inactive VIFs
Organization: Westermo Network Technologies AB
When probing interfaces at startup, there's a check for IFF_MULTICAST,
if this flag is not set we try to delete its corresponding VIF/MIF.
This is for hanlding .conf reload scenarios where an interface has had
its MULTICAST flag dropped.
However, when starting up on Linux systems, the loopback interface has
no MULTICAST flag set. This leads to the following bogus warning:
Failed deleting VIF for iface lo: Resource temporarily unavailable
This patch makes sure to check if we have a registered kernel VIF/MIF
for an interface before attempting to delete it.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
src/mroute.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/mroute.c b/src/mroute.c
index 291e9c4..6a80a47 100644
--- a/src/mroute.c
+++ b/src/mroute.c
@@ -298,6 +298,9 @@ static int mroute4_del_vif(struct iface *iface)
if (iface->mrdisc)
rc = mrdisc_deregister(iface->vif);
+ if (iface->vif == ALL_VIFS)
+ return 0;
+
if (kern_vif_del(iface)) {
switch (errno) {
case ENOENT:
@@ -910,6 +913,9 @@ static int mroute6_del_mif(struct iface *iface)
{
int rc = 0;
+ if (iface->mif == ALL_VIFS)
+ return 0;
+
if (kern_mif_del(iface) && errno != ENOENT) {
switch (errno) {
case ENOENT:
--
2.25.1

View file

@ -1,6 +1,6 @@
# Upstream .md5 and .sha256 from GitHub
sha256 7eca88389cc08cbfe75f787e02ab32a390ef806555069a08abe8d7fa925ed094 smcroute-2.5.2.tar.gz
md5 dc29e6bd3024a1ad3dd0f2d8c2aed16e smcroute-2.5.2.tar.gz
# Upstream .sha256 from GitHub
sha256 4342b95c99e410cab75e9ee80f20480e0170d8b07b8e31553ba1bec3e377fc56 smcroute-2.5.3.tar.gz
# Locally generated
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING
sha256 d260ea4b9d4b01317568850c3271e3923b546ea4ad57c899e79434f1cc8bcf0b 0001-Avoid-trying-to-delete-inactive-VIFs.patch

View file

@ -4,7 +4,7 @@
#
################################################################################
SMCROUTE_VERSION = 2.5.2
SMCROUTE_VERSION = 2.5.3
SMCROUTE_SITE = https://github.com/troglobit/smcroute/releases/download/$(SMCROUTE_VERSION)
SMCROUTE_LICENSE = GPL-2.0+
SMCROUTE_LICENSE_FILES = COPYING
@ -30,4 +30,11 @@ endef
SMCROUTE_POST_INSTALL_TARGET_HOOKS += SMCROUTE_PRUNE_COMPAT_SCRIPT
# We will asume that CONFIG_NET and CONFIG_INET are already
# set in the kernel configuration provided by the user.
define MROUTED_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_MULTICAST)
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_MROUTE)
endef
$(eval $(autotools-package))