initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -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
+12
View File
@@ -0,0 +1,12 @@
config BR2_PACKAGE_SMCROUTE
bool "smcroute"
depends on BR2_USE_MMU # fork()
help
SMCRoute is a command line tool to manipulate the multicast
routes of a UNIX kernel. It supports both IPv4 and IPv6
multicast routing. SMCRoute can be used as an alternative to
dynamic multicast routers like mrouted or pimd in setups
where static multicast routes should be maintained and/or no
proper IGMP or MLD signaling exists.
https://github.com/troglobit/smcroute
+48
View File
@@ -0,0 +1,48 @@
#!/bin/sh
NAME="smcroute"
DAEMON="smcrouted"
PIDFILE="/var/run/$NAME.pid"
# shellcheck source=/dev/null
[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME"
cmd()
{
start-stop-daemon -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" "$@"
status=$?
if [ $status -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return $status
}
case "$1" in
start)
printf 'Starting %s: ' "$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
cmd -S -- $SMCROUTED_ARGS
;;
stop)
printf 'Stopping %s: ' "$DAEMON"
cmd -K
;;
restart)
$0 stop
sleep 1
$0 start
;;
reload)
printf 'Reloading %s: ' "$DAEMON"
cmd -K -s HUP
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
+6
View File
@@ -0,0 +1,6 @@
# 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
+40
View File
@@ -0,0 +1,40 @@
################################################################################
#
# smcroute
#
################################################################################
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
SMCROUTE_CPE_ID_VENDOR = troglobit
SMCROUTE_CONF_OPTS = --enable-mrdisc
ifeq ($(BR2_PACKAGE_LIBCAP),y)
SMCROUTE_DEPENDENCIES += libcap
SMCROUTE_CONF_OPTS += --with-libcap
else
SMCROUTE_CONF_OPTS += --without-libcap
endif
define SMCROUTE_INSTALL_INIT_SYSV
$(INSTALL) -m 755 -D package/smcroute/S41smcroute \
$(TARGET_DIR)/etc/init.d/S41smcroute
endef
define SMCROUTE_PRUNE_COMPAT_SCRIPT
rm -f $(TARGET_DIR)/usr/sbin/smcroute
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 SMCROUTE_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_MULTICAST)
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_MROUTE)
endef
$(eval $(autotools-package))