summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* route: fix documentation comment for nl_nh_group_infoThomas Haller2023-08-171-2/+2
| | | | | | https://github.com/thom311/libnl/issues/356 Fixes: 780d06ae8bee ('route: add nh type')
* clang-format: add "-l" alias for option in "tools/clang-format.sh"Thomas Haller2023-08-171-11/+11
|
* clang-format: merge branch 'th/update-clang-format'Thomas Haller2023-08-1710-276/+279
|\
| * clang-format: ignore reformatting commit in ".git-blame-ignore-revs"Thomas Haller2023-08-171-0/+1
| |
| * clang-format: reformat files with new formatThomas Haller2023-08-178-255/+255
| | | | | | | | $ ./tools/clang-format.sh
| * clang-format: update ".clang-format" from linux kernelThomas Haller2023-08-171-21/+23
|/ | | | | | | Taken from linux kernel v6.4 at [1]. The file is unmodified, except for the "ForEachMacros". [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/.clang-format?id=6995e2de6891c724bfeb2db33d7b87775f913ad1
* include: use <linux/$file> instead of <linux-private/linux/$file>Thomas Haller2023-08-08122-147/+147
| | | | | | As we now copy all linux headers, and we have include/linux-private in our include search path, just include the linux headers as we commonly do.
* include/linux: add all linux headers that we useThomas Haller2023-08-0826-0/+4291
| | | | | | | | | | | | | | | | | | | | | | | It doesn't work well, to only include some parts of the linux headers. For example, <linux/ipv6.h> includes <linux/stddef.h>, which previously wasn't copied. Worse, <linux/ipv6.h> depends on some recent defines in <linux/stddef.h>, so we cannot just mix kernel headers from different versions. Import all the used <linux/*> kernel headers. Note that architecture specific headers from "<asm/*" and "<asm-generic/*" are not copied. Taken from v6.4 (6995e2de6891c724bfeb2db33d7b87775f913ad1). Reimport via cd /data/src/linux make headers_install ARCH=i386 INSTALL_HDR_PATH=/tmp/Linux/ cd /data/src/libnl3 for h in $(cd include/linux-private/; git ls-files .); do \ /bin/cp /tmp/Linux/include/$h include/linux-private/$h ; \ done
* include/linux: update all linux headersThomas Haller2023-08-0834-159/+1977
| | | | Taken from v6.4 (6995e2de6891c724bfeb2db33d7b87775f913ad1).
* include: add missing "extern "C"" specifier to public headersThomas Haller2023-08-076-0/+49
|
* all: drop "extern "C"" from internal codeThomas Haller2023-08-075-40/+0
| | | | | libnl3 itself needs to be build with a C compiler. Drop the unnecessary "extern "C"" parts from internal code.
* build: add "check-local-build-headers" test target to build public headersThomas Haller2023-08-071-0/+35
|
* build: add a "check-local" build targetThomas Haller2023-08-071-0/+3
| | | | This is currently unused.
* include: fix headers "include/netlink/route/{netconf.h,route/qdisc/red.h}" ↵Thomas Haller2023-08-072-0/+3
| | | | to be self-contained
* idiag: "fix" license for "idiag-socket-details" toolThomas Haller2023-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | This tool had a GPL-2.0-only license text when it was added. That is not what we require for libnl3 contributions. Since being added, the file was only touched by me (Thomas Haller) and Yegor Yefremov. Those are all trivial contributions. This leaves Joe Damato, who initially contributed the file. Joe agrees with this adjustment of the license (Thanks!!). Note that there is also a line: Copyright (c) 2013 Sassano Systems LLC <joe@sassanosystems.com> Apparently, the copyright for the contribution is also with Joe, so there is no further problem. Fixes: c97c8c2bfdb0 ('Add idiag-socket-details') https://github.com/thom311/libnl/pull/354
* github: test build on alpine:latest for muslThomas Haller2023-08-031-2/+62
|
* Revert "gitignore: ignore patch files"Thomas Haller2023-08-031-1/+0
| | | | | | I don't think we want to ignore patch files. Why should we? This reverts commit f55ef93d1eb9d792af2a3b79c055ee21bf14e9ea.
* github: add test for linking with mold and fail on unknown versionsThomas Haller2023-08-031-0/+13
|
* route/nh: drop not implemented "nh" API from headersThomas Haller2023-08-032-8/+0
| | | | Fixes: 780d06ae8bee ('route: add nh type')
* build: fix exporting symbol rtnl_link_info_ops_getThomas Haller2023-08-032-2/+1
| | | | | | | | | So "rtnl_link_info_ops_get" didn't actually work with libnl-3.7. Fix for 3.8. https://github.com/thom311/libnl/issues/350 Fixes: 2e0d7f85d2ae ('lib: add rtnl_link_info_ops_get() and take lock for rtnl_link_info_ops's io_refcnt')
* merge branch 'th/cleanup-includes-1'Thomas Haller2023-08-03128-203/+177
|\
| * include: don't explicitly include headers from "nl-default.h"Thomas Haller2023-08-0316-32/+0
| |
| * tests: cleanup include of netlink headersThomas Haller2023-08-031-3/+2
| | | | | | | | | | For no strong reason, we include the public netlink headers with <> instead of "". Be consistent.
| * build: cleanup default include list in Makefile.amThomas Haller2023-08-031-12/+13
| |
| * include: include private linux headers with explicit pathThomas Haller2023-08-03120-151/+153
| | | | | | | | | | | | | | We have copies of the linux headers in include/linux-private. For those files, include the copies explicitly. No practice there is no difference, since we build with :-Ilinux-private".
| * python: add make target for python buildThomas Haller2023-08-031-0/+4
| |
| * python: drop unused "python/netlink/fixes.h"Thomas Haller2023-08-032-2/+0
| |
| * gitignore: ignore python build artifactsThomas Haller2023-08-031-3/+2
| |
| * gitignore: ignore generated doc filesThomas Haller2023-08-031-0/+3
|/
* include: merge branch 'th/move-private-headers-3'Thomas Haller2023-08-02271-2155/+2758
|\
| * include: drop "netlink-private/netlink.h" and move declarationsThomas Haller2023-08-02152-517/+347
| |
| * all: cleanup includes and use "nm-default.h"Thomas Haller2023-08-02235-350/+985
| |
| * include: add "nl-default.h" headerThomas Haller2023-08-025-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | In an autotools project, <config.h> should be included as very first thing in almost all cases. We also want include other stuff, in particular "include/base", which contains our own extensions on top of plain C (it is thus applicable to all our C modules). Add a "nl-default.h", which can be included as first and prepares a base for each C source. Additionally, since header files are never compiled directly (only indirectly by being included), they can rely that "nl-default.h" is always available.
| * build: move "lib/defs.h" to "include/config.h"Thomas Haller2023-08-025-5/+8
| | | | | | | | | | | | | | It seems "config.h" is the more common name for the autotools generated header. In any case, it should not be under "lib", because lib is specifically about libnl-3 and similar libraries. It's awkward for modules under src to include from lib.
| * include: split and drop "netlink-private/types.h"Thomas Haller2023-08-02121-1512/+1634
| | | | | | | | | | Move all the declarations from "netlink-private/types.h" to places closer to where they are used.
| * include: rename "nl-shared-core" to "nl-priv-dynamic-core"Thomas Haller2023-08-027-8/+8
| | | | | | | | | | Naming is just so important to understand what this is. This name is better.
| * include: rename "nl-hidden-route" to "nl-priv-dynamic-route"Thomas Haller2023-08-029-9/+9
| | | | | | | | | | Naming is just so important to understand what this is. This name is better.
| * include: rename "nl-intern-route" to "nl-priv-static-route"Thomas Haller2023-08-025-5/+5
| | | | | | | | | | Naming is just so important to understand what this is. This name is better.
| * genl: rename private header "nl-priv-genl.h" to "nl-genl.h"Thomas Haller2023-08-027-6/+6
| | | | | | | | | | | | The filename is still unique (which is the important part). Otherwise, the "priv" is redundant, since the header being inside "lib/genl" is clearly private.
| * include: make "netlink/route/link/{inet,inet6}.h" self-containedThomas Haller2023-08-022-0/+2
|/
* route/tc: avoid unalinged access in rtnl_tc_msg_parse()Thomas Haller2023-08-021-14/+15
|
* add support for TC action statisticsDavide Caratti2023-08-021-0/+46
| | | | | | | | https://github.com/thom311/libnl/issues/343 Signed-off-by: Davide Caratti <dcaratti@redhat.com> https://github.com/thom311/libnl/pull/346
* include: merge branch 'th/move-private-headers-2'Thomas Haller2023-08-0173-251/+243
|\
| * lib: move "include/netlink-private/object-api" to include/nl-shared-coreThomas Haller2023-08-015-4/+4
| |
| * lib: move "include/netlink-private/cache-api" to include/nl-shared-coreThomas Haller2023-08-016-5/+11
| |
| * route: move "include/netlink-private/route/link/sriov.h" to ↵Thomas Haller2023-08-016-5/+5
| | | | | | | | lib/route/link-sriov.h
| * lib: move "include/netlink-private/socket.h" to lib/nl-core.hThomas Haller2023-08-015-15/+9
| |
| * route: move "include/netlink-private/route/nexthop-encap.h" to lib/routeThomas Haller2023-08-018-7/+9
| |
| * route: merge "include/netlink-private/tc.h" to lib/route/tc-api.hThomas Haller2023-08-0147-95/+33
| | | | | | | | | | It's a private header only for lib/route (libnl-route-3). We already have a similar header. Move the content to "lib/route/tc-api.h".
| * route: move rtnl_tc_build_rate_table() to "tc-api.h"Thomas Haller2023-08-013-5/+5
| | | | | | | | | | | | This symbols is (wronly) exposed on the ABI of libnl-route-3. Move the declaration to "tc-api.h", where there are similar symbols of this kind.