iproute2: separate tc into tiny and full variants
authorTony Ambardar <itugrok@yahoo.com>
Tue, 2 Mar 2021 01:14:50 +0000 (17:14 -0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 19 Mar 2021 14:30:01 +0000 (15:30 +0100)
commit72885e9608d9c0fa06abce6bdb6dd054c2116eb7
treedc55bb812a1145f78328f8240f8cbf42d9243c64
parent863ce4f15f74a674f01ab47f445b362c113b113b
iproute2: separate tc into tiny and full variants

This change was investigated previously [1] but not deemed necessary. With
the recent addition [2] of modern BPF loader support, however, tc gained
dependencies on libelf and libbpf, with a larger installation footprint.

Similar to ip-tiny/ip-full, split tc into tc-full and tc-tiny variants,
where the latter excludes the eBPF loader, uses a smaller executable, and
avoids libelf and libbpf package dependencies. Both variants provide the
'tc' virtual package, with tc-tiny as the default.

The previous tc package included a loadable module for iptables actions.
Separate this out into a common package, tc-mod-iptables, which both
variants depend on. Some package sizes on mips_24kc:

Before:
  148343  tc_5.11.0-1_mips_24kc.ipk

After:
  144833  tc-full_5.11.0-2_mips_24kc.ipk
  138430  tc-tiny_5.11.0-2_mips_24kc.ipk  (and no libelf or libbpf)
    4115  tc-mod-iptables_5.11.0-2_mips_24kc.ipk

Also fix up some Makefile indentation.

[1] https://github.com/openwrt/openwrt/pull/1627#issuecomment-447619962
[2] b048a305a3d3 ("iproute2: update to 5.11.0")

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
package/network/utils/iproute2/Makefile