-
Notifications
You must be signed in to change notification settings - Fork 3.8k
libteam: new package #28045
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
libteam: new package #28045
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add package description.
Based on gut feeling, is it a better match for the routing repo?
Last tag is from 2 years ago. Is this being maintained?
Please rename your commit to: libteam: add new package
2ccc394 to
9981be3
Compare
Done
I don't think so. This is a utility/library to control the Team link aggregation device, and unrelated to routing.
This project is maintained by @jpirko
Done |
Low traffic at this point, I will probably do release soon. |
BKPepe
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a quick look. Shouldn't this package enable at least some kernel config, which you added to the main repo?
# CONFIG_NET_TEAM_MODE_ACTIVEBACKUP is not set
# CONFIG_NET_TEAM_MODE_BROADCAST is not set
# CONFIG_NET_TEAM_MODE_LOADBALANCE is not set
# CONFIG_NET_TEAM_MODE_RANDOM is not set
# CONFIG_NET_TEAM_MODE_ROUNDROBIN is not set
Without this enabled, this is not going to work, right?
| $(eval $(call BuildPackage,libteam)) | ||
| $(eval $(call BuildPackage,libteamdctl)) | ||
| $(eval $(call BuildPackage,teamd)) | ||
| $(eval $(call BuildPackage,teamdctl)) | ||
| $(eval $(call BuildPackage,teamnl)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You added 5 packages, but in the commit description and in the commit itself, you mentioned only one. Please try to describe a little bit more in your commit why do we need to have 5 packages, what is the size, etc. I think (maybe...) you splitted it into so many packages and it is not necessary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From Project Wiki and HOWTO
libteam.sois a wrapper library to interface the Team Netlink API.teamdis a service/daemon to control a team netdev using thelibteamlibrary.teamdctlis a utility to alterteamdconfiguration at runtime.libteamdctl.sois a library used byteamdctlteamnlis an alternative toteamd.
apk size on cortex-a53:
18703 libteam5-1.32-r1.apk
6250 libteamdctl0-1.32-r1.apk
48211 teamd-1.32-r1.apk
8970 teamdctl-1.32-r1.apk
6010 teamnl-1.32-r1.apk
Then I noticed all uncompressed ELF sizes (not just libteam, but other packages also) are multiple of 64KiB. Is that normal?
> ll /usr/bin/team*
-rwxr-xr-x 1 root root 131449 Dec 16 17:29 /usr/bin/teamd*
-rwxr-xr-x 1 root root 65499 Dec 16 17:29 /usr/bin/teamdctl*
-rwxr-xr-x 1 root root 65499 Dec 16 17:29 /usr/bin/teamnl*
> ll /usr/lib/libteam*
lrwxrwxrwx 1 root root 16 Dec 16 17:29 /usr/lib/libteam.so.5 -> libteam.so.5.6.2*
-rwxr-xr-x 1 root root 65539 Dec 16 17:29 /usr/lib/libteam.so.5.6.2*
lrwxrwxrwx 1 root root 20 Dec 16 17:29 /usr/lib/libteamdctl.so.0 -> libteamdctl.so.0.1.6*
-rwxr-xr-x 1 root root 65539 Dec 16 17:29 /usr/lib/libteamdctl.so.0.1.6*
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there has been a misunderstanding here. I was asking why we actually need 5 different packages, because when I look at https://repology.org/, I only see the libteam package there, not the others.
For example, in Debian, some of these tools are packaged as libteam-utils, while elsewhere they appear as libteam-tools. I would prefer not to reinvent the wheel here; I think we should follow what is done in other GNU/Linux distributions so we don't fragment it further or create something non-standard. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Debian is a desktop distro, while OpenWrt is not. We have size constraints.
teamd and teamnl are mutually exclusive, so I think it's better to split them. ALT Linux does that too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If these two are mutually exclusive, they should be marked as such either through PROVIDES or CONFLICTS.
libteam is a userspace tool to configure Linux network teaming. Signed-off-by: Qingfang Deng <[email protected]>
Users can choose one of them by installing |
|
I realize users can install it separately if they are aware of it. However, shouldn't the behavior be that installing any package from your Makefile automatically triggers a dependency on the kernel package? |
📦 Package Details
Maintainer: none (new package)
Description:
libteam is a userspace tool to configure Linux network teaming.
This depends on openwrt/openwrt#21120
🧪 Run Testing Details
✅ Formalities
If your PR contains a patch:
git am(e.g., subject line, commit description, etc.)
We must try to upstream patches to reduce maintenance burden.