multipath-tcp / mptcpd

mptcpd is a daemon for Linux that performs Multipath TCP path management related operations in the user space 😈
https://mptcpd.mptcp.dev/
BSD 3-Clause "New" or "Revised" License
169 stars 36 forks source link

"Operation not permitted" messages logged after initialization #285

Open zim68 opened 7 months ago

zim68 commented 7 months ago

I want to establish an MPTCP connection between two servers with multiple subflows on each side.

Configuration of both servers

Configuration of server 1

Configuration of server 2

On both servers the mptcpd service could be started but logs "Operation not permitted" messages.

Service logs (reversed order) - mptcpd

12:11 PM add_addr: Operation not permitted 12:11 PM set_limits: Operation not permitted 12:11 PM add_addr: Operation not permitted 12:11 PM set_limits: Operation not permitted 12:11 PM add_addr: Operation not permitted 12:11 PM set_limits: Operation not permitted 12:11 PM add_addr: Operation not permitted 12:11 PM set_limits: Operation not permitted (2 occurrences) 12:11 PM MPTCP single-subflow-per-interface path manager initialized. 12:11 PM MPTCP address advertiser path manager initialized. 12:11 PM Started mptcp.service - Multipath TCP service.

Log message details

set_limits: Operation not permitted CODE_FILE commands.c CODE_FUNC mptcpd_check_genl_error CODE_LINE 71 PRIORITY 3 _BOOT_ID 271ac867969843c09c09ed3c84cfc958 _CAP_EFFECTIVE 1000 _CMDLINE /usr/libexec/mptcpd --log=journal _COMM mptcpd _EXE /usr/libexec/mptcpd _GID 62966 _HOSTNAME HP-DL380-1 _MACHINE_ID fbfba620f3184e6fb75ce66a4090bfe8 _PID 1784 _RUNTIME_SCOPE system _SELINUX_CONTEXT system_u:system_r:mptcpd_t:s0 _SOURCE_REALTIME_TIMESTAMP 1701343190958054 _SYSTEMD_CGROUP /system.slice/mptcp.service _SYSTEMD_INVOCATION_ID 9d552c1842244fda9d963265648ca149 _SYSTEMD_SLICE system.slice _SYSTEMD_UNIT mptcp.service _TRANSPORT journal _UID 62966 CURSOR s=c3ce83a68e9e4cc99c5dd7f4f91e3a23;i=77b46;b=271ac867969843c09c09ed3c84cfc958;m=17a557b;t=60b5cd489c412;x=80846d23a838ac4f MONOTONIC_TIMESTAMP 24794491 __REALTIME_TIMESTAMP 1701343190959122

add_addr: Operation not permitted CODE_FILE commands.c CODE_FUNC mptcpd_check_genl_error CODE_LINE 71 PRIORITY 3 _BOOT_ID 271ac867969843c09c09ed3c84cfc958 _CAP_EFFECTIVE 1000 _CMDLINE /usr/libexec/mptcpd --log=journal _COMM mptcpd _EXE /usr/libexec/mptcpd _GID 62966 _HOSTNAME HP-DL380-1 _MACHINE_ID fbfba620f3184e6fb75ce66a4090bfe8 _PID 1784 _RUNTIME_SCOPE system _SELINUX_CONTEXT system_u:system_r:mptcpd_t:s0 _SOURCE_REALTIME_TIMESTAMP 1701343199804620 _SYSTEMD_CGROUP /system.slice/mptcp.service _SYSTEMD_INVOCATION_ID 9d552c1842244fda9d963265648ca149 _SYSTEMD_SLICE system.slice _SYSTEMD_UNIT mptcp.service _TRANSPORT journal _UID 62966 CURSOR s=c3ce83a68e9e4cc99c5dd7f4f91e3a23;i=77c51;b=271ac867969843c09c09ed3c84cfc958;m=201533a;t=60b5cd510c1d1;x=ebc3b2a80e6ec26f MONOTONIC_TIMESTAMP 33641274 __REALTIME_TIMESTAMP 1701343199805905

Expected behavior

There are no errors/warnings after service mptcpd has been started and initialized.

zim68 commented 7 months ago

UPDATE: After deactivation of the plugin "addr_adv" in /etc/mptcp/mptcp.conf and restarting the service "mptcpd" the error messages will not print anymore.

log=stderr plugin-dir=/usr/lib64/mptcpd path-manager=sspi addr-flags=signal,subflow notify-flags=existing,skip_link_local,skip_loopback load-plugins=sspi

But that's not the goal to be achieved. So it is clear that this plugin triggers these error messages.

What did I configure incorrectly?