Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation Error On Raspbian custom kernel with mptcp support #10

Open
Dvineone opened this issue Dec 21, 2021 · 1 comment
Open

Compilation Error On Raspbian custom kernel with mptcp support #10

Dvineone opened this issue Dec 21, 2021 · 1 comment

Comments

@Dvineone
Copy link

Error when compiling on Raspbian. Custom compiled kernel.

Kernel Version: Linux raspberrypi 4.19.206-v7-MPTCP+ #3 SMP Thu Dec 16 13:35:09 CST 2021 armv7l GNU/Linux

OS Version:
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian

Error:
make[1]: Entering directory '/home/pi/iproute2/lib'
gcc -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wformat=2 -O2 -pipe -I../include -I../include/uapi -DRESOLVE_HOSTNAMES -DLIBDIR="/usr/lib" -DCONFDIR="/etc/iproute2" -DNETNS_RUN_DIR="/var/run/netns" -DNETNS_ETC_DIR="/etc/netns" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_SETNS -DNEED_STRLCPY -DHAVE_SETNS -DNEED_STRLCPY -fPIC -c -o libnetlink.o libnetlink.c
In file included from /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h:353,
from /usr/include/arm-linux-gnueabihf/bits/fcntl.h:54,
from /usr/include/fcntl.h:35,
from libnetlink.c:17:
/usr/include/linux/falloc.h:13:2: error: unknown type name ‘__s16’
13 | __s16 l_type;
| ^~~~~
/usr/include/linux/falloc.h:14:2: error: unknown type name ‘__s16’
14 | __s16 l_whence;
| ^~~~~
/usr/include/linux/falloc.h:15:2: error: unknown type name ‘__s64’
15 | __s64 l_start;
| ^~~~~
/usr/include/linux/falloc.h:16:2: error: unknown type name ‘__s64’
16 | __s64 l_len; /* len == 0 means until end of file /
| ^~~~~
/usr/include/linux/falloc.h:17:2: error: unknown type name ‘__s32’
17 | __s32 l_sysid;
| ^~~~~
/usr/include/linux/falloc.h:18:2: error: unknown type name ‘__u32’
18 | __u32 l_pid;
| ^~~~~
/usr/include/linux/falloc.h:19:2: error: unknown type name ‘__s32’
19 | __s32 l_pad[4]; /
reserved area */

@matttbe
Copy link
Member

matttbe commented Dec 29, 2021

Hi,

Which version of iproute2 did you compile?
Did you use the code from the master branch? https://github.com/multipath-tcp/iproute-mptcp/tree/master

Or mptcp_v0.96 branch?

This doesn't seem to be an issue due to the modifications done for MPTCP. Maybe a generic issue with an old version of iproute2 already fixed in master?

arter97 pushed a commit to arter97/iproute-mptcp that referenced this issue Jan 27, 2023
Petr Machata  says:

====================

A new rtnetlink message, RTM_SETSTATS, has been added recently in kernel
commit ca0a53dcec94 ("Merge branch 'net-hw-counters-for-soft-devices'").

At the same time, RTM_GETSTATS has been around for a while. The users of
this API are spread in a couple different places: "ip link xstats" reads
stats from the IFLA_STATS_LINK_XSTATS and _XSTATS_SLAVE subgroups, "ip
link afstats" then reads IFLA_STATS_AF_SPEC.

Finally, to read IFLA_STATS_LINK_OFFLOAD_XSTATS, one would use ifstats.
This does not seem to be a good fit for IFLA_OFFLOAD_XSTATS_HW_S_INFO in
particular.

The obvious place to expose all these offload stats suites would be
under a new link subcommand "ip link offload_xstats", or similar, which
would then have syntax for both showing stats and setting them.

However, this looks like a good opportunity to introduce a new top-level
command, "ip stats", that would be the go-to place to access anything
backed by RTM_GETSTATS and RTM_SETSTATS.

This patchset therefore does the following:

- It adds the new "stats" infrastructure

- It adds specifically the ability to toggle and show the suites that
  were recently added to Linux, IFLA_OFFLOAD_XSTATS_HW_S_INFO and
  IFLA_OFFLOAD_XSTATS_L3_STATS.

- It adds support to dump IFLA_OFFLOAD_XSTATS_CPU_HIT, which was not
  available under "ip" at all.

- Does all this in a way that is easy to extend for new stats suites.

The patchset proceeds as follows:

- Patches multipath-tcp#1 and multipath-tcp#2 lay some groundwork and tweak existing code.

- Patch multipath-tcp#3 adds the shell of the new "ip stats" command.

- Patch multipath-tcp#4 adds "ip stats set" and the ability to toggle l3_stats in
  particular.

- Patch multipath-tcp#5 adds "ip stats show", but no actual stats suites.

- Patches multipath-tcp#6-multipath-tcp#9 add support for showing individual stats suites:
  respectively, IFLA_STATS_LINK_64, IFLA_OFFLOAD_XSTATS_CPU_HIT,
  IFLA_OFFLOAD_XSTATS_HW_S_INFO and IFLA_OFFLOAD_XSTATS_L3_STATS.

- Patch multipath-tcp#10 adds support for monitoring stats events to "ip monitor".

- Patch #11 adds man page verbiage for the above.

The plan is to contribute support for afstats and xstats in a follow-up
patch set.

====================

Signed-off-by: David Ahern <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants