Skip to content

Commit d94e9ae

Browse files
committed
libteam: new package
libteam is a userspace tool to configure Linux network teaming. Signed-off-by: Qingfang Deng <[email protected]>
1 parent d83488b commit d94e9ae

File tree

2 files changed

+129
-0
lines changed

2 files changed

+129
-0
lines changed

net/libteam/Makefile

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
include $(TOPDIR)/rules.mk
2+
3+
PKG_NAME:=libteam
4+
PKG_VERSION:=1.32
5+
PKG_RELEASE:=1
6+
7+
PKG_SOURCE_URL:=https://codeload.github.com/jpirko/libteam/tar.gz/refs/tags/v$(PKG_VERSION)?
8+
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
9+
PKG_HASH:=7ad90555db8aecdcaf002f543d330408501600edf7065e0ca398fce9b1e64820
10+
11+
PKG_FIXUP:=autoreconf
12+
PKG_INSTALL:=1
13+
PKG_BUILD_PARALLEL:=1
14+
PKG_BUILD_FLAGS:=lto
15+
16+
PKG_LICENSE:=LGPL-2.1-only
17+
PKG_LICENSE_FILES:=COPYING
18+
19+
PKG_MAINTAINER:=
20+
21+
include $(INCLUDE_DIR)/package.mk
22+
23+
CONFIGURE_ARGS+=--disable-static
24+
25+
define Package/libteam/default
26+
SECTION:=libs
27+
CATEGORY:=Libraries
28+
URL:=https://github.com/jpirko/libteam
29+
endef
30+
31+
define Package/libteam
32+
$(Package/libteam/default)
33+
TITLE:=Team common library
34+
DEPENDS:=+kmod-team +libnl-cli
35+
endef
36+
37+
define Package/libteamdctl
38+
$(Package/libteam/default)
39+
TITLE:=Team daemon control library
40+
endef
41+
42+
define Package/teamd/default
43+
SECTION:=net
44+
CATEGORY:=Network
45+
URL:=https://github.com/jpirko/libteam
46+
endef
47+
48+
define Package/teamd
49+
$(Package/teamd/default)
50+
TITLE:=Team daemon
51+
DEPENDS:=+libteam +libdaemon +jansson
52+
endef
53+
54+
define Package/teamdctl
55+
$(Package/teamd/default)
56+
TITLE:=Team daemon control tool
57+
DEPENDS:=+teamd +libteamdctl
58+
endef
59+
60+
define Package/teamnl
61+
$(Package/teamd/default)
62+
TITLE:=Team Netlink interface tool
63+
DEPENDS:=+libteam
64+
endef
65+
66+
define Package/libteam/install
67+
$(INSTALL_DIR) $(1)/usr/lib
68+
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libteam.so* $(1)/usr/lib/
69+
endef
70+
71+
define Package/libteamdctl/install
72+
$(INSTALL_DIR) $(1)/usr/lib
73+
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libteamdctl.so* $(1)/usr/lib/
74+
endef
75+
76+
define Package/teamd/install
77+
$(INSTALL_DIR) $(1)/usr/bin
78+
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/teamd $(1)/usr/bin/
79+
endef
80+
81+
define Package/teamdctl/install
82+
$(INSTALL_DIR) $(1)/usr/bin
83+
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/teamdctl $(1)/usr/bin/
84+
endef
85+
86+
define Package/teamnl/install
87+
$(INSTALL_DIR) $(1)/usr/bin
88+
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/teamnl $(1)/usr/bin/
89+
endef
90+
91+
$(eval $(call BuildPackage,libteam))
92+
$(eval $(call BuildPackage,libteamdctl))
93+
$(eval $(call BuildPackage,teamd))
94+
$(eval $(call BuildPackage,teamdctl))
95+
$(eval $(call BuildPackage,teamnl))
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
From 4eb54a811bef43da2be9cc84009567e5d6ca9741 Mon Sep 17 00:00:00 2001
2+
From: Khem Raj <[email protected]>
3+
Date: Sat, 11 May 2024 23:15:59 -0700
4+
Subject: [PATCH] teamd: Pass correct parameter type to accept API
5+
6+
accept() expects sockaddr as second parameter
7+
8+
int accept (int, struct sockaddr *__restrict, socklen_t *__restrict);
9+
10+
Fixes build with gcc-16 on musl systems
11+
| ../../git/teamd/teamd_usock.c: In function 'callback_usock':
12+
| ../../git/teamd/teamd_usock.c:280:40: error: passing argument 2 of 'accept' from incompatible pointer type [-Wincompatible-pointer-types]
13+
| 280 | sock = accept(ctx->usock.sock, &addr, &alen);
14+
| | ^~~~~
15+
| | |
16+
| | struct sockaddr_un *
17+
18+
Signed-off-by: Khem Raj <[email protected]>
19+
Signed-off-by: Jiri Pirko <[email protected]>
20+
---
21+
teamd/teamd_usock.c | 2 +-
22+
1 file changed, 1 insertion(+), 1 deletion(-)
23+
24+
--- a/teamd/teamd_usock.c
25+
+++ b/teamd/teamd_usock.c
26+
@@ -277,7 +277,7 @@ static int callback_usock(struct teamd_c
27+
int err;
28+
29+
alen = sizeof(addr);
30+
- sock = accept(ctx->usock.sock, &addr, &alen);
31+
+ sock = accept(ctx->usock.sock, (struct sockaddr *)&addr, &alen);
32+
if (sock == -1) {
33+
teamd_log_err("usock: Failed to accept connection.");
34+
return -errno;

0 commit comments

Comments
 (0)