Conversation
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.
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.
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.
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.
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.
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.
If these two are mutually exclusive, they should be marked as such either through PROVIDES or CONFLICTS.
There was a problem hiding this comment.
If these two are mutually exclusive, they should be marked as such either through
PROVIDESorCONFLICTS.
They are not mutually exclusive. I don't understand why anyone got that impression. User can happily use teamd and teamnl on the same team driver instance.
There was a problem hiding this comment.
@jpirko @GeorgeSapkin
By mutually exclusive, I mean users can only use either of them to control a single team device. The manpage of teamnl reads:
Note that it makes no sense to use this tool to change options on team device controlled by a teamd instance.
Users can still install both of them if they have multiple team devices.
There was a problem hiding this comment.
@jpirko @GeorgeSapkin By mutually exclusive, I mean users can only use either of them to control a single team device. The manpage of teamnl reads:
Note that it makes no sense to use this tool to change options on team device controlled by a teamd instance.
Users can still install both of them if they have multiple team devices.
- It is perfectly fine to use teamnl RO for low-level diagnostic purposes on a team instance with teamd running.
- I can imagine to use it for writing for in some debugging scenarios.
That is why I believe saying "mutually exclusive" is wrong.
There was a problem hiding this comment.
@jpirko I see. Thanks for the clarification. So it still makes sense to split it into packages, as teamnl is mainly for debugging purposes.
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? |
Should I enable all of them or just one? |
I would recommend all of them. The memory footprint is tiny for all of them, saving it does not top the possible bad user experience trying to make for example "lacp" (quite common case) work without kernel module. |
jpirko
left a comment
There was a problem hiding this comment.
From perspective of libteam, this looks fine. Note I know very little about OpenWRT :) Thanks!
libteam is a userspace tool to configure Linux network teaming. This consists of 5 packages: - libteam.so is a wrapper library to interface the Team Netlink API. - teamd is a service/daemon to control a team netdev using the libteam library. - teamdctl is a utility to alter teamd configuration at runtime. - libteamdctl.so is a library used by teamdctl. - teamnl is a utility mainly for debugging. Signed-off-by: Qingfang Deng <dqfext@gmail.com>
|
After merging, it looks like this one is failing according to buildbots: See: https://downloads.openwrt.org/snapshots/faillogs/aarch64_cortex-a53/packages/libteam/compile.txt |
|
Looks like automake automatically picked up buildbots' dbus and zmq library. They need to be explicitly disabled. |
📦 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.