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>
Sat, 10 Apr 2021 12:22:28 +0000 (14:22 +0200)
commit3e9d639e8f8245e5acec707cfbef8788c8850d1b
treeb2c18233bfb533fcd65810f08db4aa34fd0e7ab2
parent0d5e308664ee2ee449e19d10d19427a4ea0dae4b
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>
(cherry picked from commit 72885e9608d9c0fa06abce6bdb6dd054c2116eb7)
package/network/utils/iproute2/Makefile