[PATCH 1/2] libnl: add libnl-cli library

Pavel Šimerda code at simerda.eu
Fri Jan 15 18:23:01 EST 2021



On 1/14/21 1:10 PM, Adrian Schmutzler wrote:
>> -----Original Message-----
>> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
>> On Behalf Of Pavel Šimerda
>> Sent: Donnerstag, 14. Januar 2021 03:39
>> To: openwrt-devel at lists.openwrt.org
>> Cc: Pavel Šimerda <code at simerda.eu>
>> Subject: [PATCH 1/2] libnl: add libnl-cli library
> 
> Hi,
> 
> this has formal issues (like entirely missing commit message, missing SoB, ...). Please have another look at https://openwrt.org/submitting-patches
Hey,


thanks for your quick response to my first submission. I'll fix that.

> Apart from that, do we need this in the main repo or could it also go into packages?

Whether libteam belongs to the main repo or package may be subject to point of view.



My perspective is that we are working on *hardware enablement* here. At least some switch chips support Link Aggregation in addition to hardware switching and VLAN filtering. This will be handled by offloading the LAG configuration from the kernel team driver.



The intended functionality consists of:



   * Team module for netifd
  (package already in main)
       - Submitted: https://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033269.html

   * The libteam package to support the team module (new package)
       - Submitted in PATCH 2/2.

   * A change in libnl to support the libteam package (package already in main)
       - Submitted in PATCH 1/2.

   * The kernel team driver (already in kernel)
       - Works as expected.

   * Offloaded LAG confugration to a switch driver (to be done in kernel)
       - This is of course hardware specific.

I would rather see all support protocols for switch chip features (like RSTP and LACP) ready in the main repo and supported by netifd and the network UCI configuration. What is the motivation to keep these networking features separate?

Cheers

Pavel Šimerda

> Best
> 
> Adrian
> 
>>
>> ---
>>   package/libs/libnl/Makefile | 19 ++++++++++++++++++-
>>   1 file changed, 18 insertions(+), 1 deletion(-)
>>
>> diff --git a/package/libs/libnl/Makefile b/package/libs/libnl/Makefile index
>> db0c65c7a7..3b9bad4533 100644
>> --- a/package/libs/libnl/Makefile
>> +++ b/package/libs/libnl/Makefile
>> @@ -52,16 +52,26 @@ $(call Package/libnl/default)
>>     DEPENDS:=+libnl-route
>>   endef
>>
>> +define Package/libnl-cli
>> +$(call Package/libnl/default)
>> +  TITLE:=Netlink Library CLI
>> +  DEPENDS:=+libnl-genl +libnl-route +libnl-nf endef
>> +
>>   define Package/libnl
>>   $(call Package/libnl/default)
>>     TITLE:=Full Netlink Library
>> -  DEPENDS:=+libnl-genl +libnl-route +libnl-nf
>> +  DEPENDS:=+libnl-genl +libnl-route +libnl-nf +libnl-cli
>>   endef
>>
>>   define Package/libnl-core/description
>>    Common code for all netlink libraries
>>   endef
>>
>> +define Package/libnl-cli/description
>> + CLI Netlink Library Functions
>> +endef
>> +
>>   define Package/libnl-genl/description
>>    Generic Netlink Library Functions
>>   endef
>> @@ -92,6 +102,7 @@ define Build/InstallDev
>>
>>   	# Copy symlinks
>>   	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-3.so $(1)/usr/lib/libnl.so
>> +	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-cli-3.so $(1)/usr/lib/libnl.so
>>   	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-genl-3.so $(1)/usr/lib/libnl-
>> genl.so
>>   	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-nf-3.so $(1)/usr/lib/libnl-
>> nf.so
>>   	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route-3.so $(1)/usr/lib/libnl-
>> route.so @@ -102,6 +113,11 @@ define Package/libnl-core/install
>>   	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-3.so.* $(1)/usr/lib/  endef
>>
>> +define Package/libnl-cli/install
>> +	$(INSTALL_DIR) $(1)/usr/lib
>> +	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-cli-3.so.* $(1)/usr/lib/ endef
>> +
>>   define Package/libnl-genl/install
>>   	$(INSTALL_DIR) $(1)/usr/lib
>>   	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-genl-3.so.* $(1)/usr/lib/ @@
>> -122,6 +138,7 @@ define Package/libnl/install  endef
>>
>>   $(eval $(call BuildPackage,libnl-core))
>> +$(eval $(call BuildPackage,libnl-cli))
>>   $(eval $(call BuildPackage,libnl-genl))  $(eval $(call BuildPackage,libnl-route))
>> $(eval $(call BuildPackage,libnl-nf))
>> --
>> 2.29.2
>>
>>
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>>
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list