-
Notifications
You must be signed in to change notification settings - Fork 35
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
Add support for new upstream kernel PM commands. #199
Add support for new upstream kernel PM commands. #199
Commits on Jul 7, 2022
-
Configuration menu - View commit details
-
Copy full SHA for e8c69d8 - Browse repository at this point
Copy the full SHA e8c69d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for a93fd4e - Browse repository at this point
Copy the full SHA a93fd4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e3fe86 - Browse repository at this point
Copy the full SHA 2e3fe86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7006b41 - Browse repository at this point
Copy the full SHA 7006b41View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2983e45 - Browse repository at this point
Copy the full SHA 2983e45View commit details -
Configuration menu - View commit details
-
Copy full SHA for 026c1ae - Browse repository at this point
Copy the full SHA 026c1aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for d7629c7 - Browse repository at this point
Copy the full SHA d7629c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb9018b - Browse repository at this point
Copy the full SHA eb9018bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f86445e - Browse repository at this point
Copy the full SHA f86445eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fe1a35 - Browse repository at this point
Copy the full SHA 9fe1a35View commit details -
include: Update to latest <linux/mptcp.h>.
Update `mptcp_upstream.h' to the latest upstream version of <linux/mptcp.h>.
Configuration menu - View commit details
-
Copy full SHA for 2abcd4f - Browse repository at this point
Copy the full SHA 2abcd4fView commit details -
src: Reorder include directives to avoid conflict.
In `src/netlink_pm_upstream.c', include <mptcpd/addr_info.h> before <mptcpd/private/mptcp_upstream.h> to avoid redefinition of the same symbols. The symbols in question, such as struct in_addr, are found in both <netinet/in.h> and <linux/in.h>. The former is included in <mptcpd/addr_info.h> and the latter is included in a recent version of <linux/mptcp.h>. Reording the include directives allows the C library compatibility logic in <linux/libc-compat.h> included by <linux/in.h> to detect a previous include of <netinet/in.h> to avoid redefinition of symbols.
Configuration menu - View commit details
-
Copy full SHA for 50543d7 - Browse repository at this point
Copy the full SHA 50543d7View commit details -
src: Display support kernel in "--help" output.
Display the kernel supported by mptcpd in the "--help" command line option output, e.g.: Usage: mptcpd [OPTION...] Start the Multipath TCP daemon. ... -?, --help Give this help list --usage Give a short usage message -V, --version Print program version ... Supported Linux kernel: upstream ...
Configuration menu - View commit details
-
Copy full SHA for 1b3f097 - Browse repository at this point
Copy the full SHA 1b3f097View commit details -
Configuration menu - View commit details
-
Copy full SHA for c139636 - Browse repository at this point
Copy the full SHA c139636View commit details -
src: Add a MPTCP listener manager.
The MPTCP listener manager maps MPTCP local address IDs to a file descriptor for an open MPTCP listening socket.
Configuration menu - View commit details
-
Copy full SHA for b47c81f - Browse repository at this point
Copy the full SHA b47c81fView commit details -
Configuration menu - View commit details
-
Copy full SHA for d45500a - Browse repository at this point
Copy the full SHA d45500aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6273bbc - Browse repository at this point
Copy the full SHA 6273bbcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 769b0bc - Browse repository at this point
Copy the full SHA 769b0bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 14f9e58 - Browse repository at this point
Copy the full SHA 14f9e58View commit details -
Configuration menu - View commit details
-
Copy full SHA for a7c97de - Browse repository at this point
Copy the full SHA a7c97deView commit details
Commits on Jul 8, 2022
-
m4: Update upstream <linux/mptcp.h> detection.
Mptcpd now requires the MPTCP_ATTR_SERVER_SIDE enumerator to exist in the upstream kernel <linux/mptcp.h> header. Update the header detection logic accordingly.
Configuration menu - View commit details
-
Copy full SHA for 40cb8a5 - Browse repository at this point
Copy the full SHA 40cb8a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for cfa291f - Browse repository at this point
Copy the full SHA cfa291fView commit details -
plugin: Propagate server_side attribute to plugins
Propagate the MPTCP_ATTR_SERVER_SIDE attribute value to plugin new_connection and connection_established operations.
Configuration menu - View commit details
-
Copy full SHA for 81b615d - Browse repository at this point
Copy the full SHA 81b615dView commit details -
plugins: Update connection operations signatures.
Mptcpd plugin new_connection and connection_established operations now accept a boolean "server_side" parameter. Update mptcpd plugin implementations accordingly.
Configuration menu - View commit details
-
Copy full SHA for 38dce3a - Browse repository at this point
Copy the full SHA 38dce3aView commit details -
tests: Update test plugin infrastructure.
Add the new "server_side" argument to all calls to test plugin new_connection and connection_established operations.
Configuration menu - View commit details
-
Copy full SHA for a878e0b - Browse repository at this point
Copy the full SHA a878e0bView commit details -
tests: Clarify plugin call relationship.
Make the relationship between two duplicate sets of test plugin call arguments by initializing the second set in terms of the first rather than simple cut-n-paste initialization. This minimizes potential for argument mismatches between the two by only requiring changes to the arguments in one place instead of two. It also improve code self-documentation.
Configuration menu - View commit details
-
Copy full SHA for 587581f - Browse repository at this point
Copy the full SHA 587581fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c79001 - Browse repository at this point
Copy the full SHA 2c79001View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b0af5b - Browse repository at this point
Copy the full SHA 4b0af5bView commit details
Commits on Jul 13, 2022
-
lib: Refactor sockaddr hash code.
Move struct sockaddr hash code out of `id_manager.c' and in to a separate source and header file so that it may be used by other hash maps in libmptcpd.
Configuration menu - View commit details
-
Copy full SHA for 4e477ae - Browse repository at this point
Copy the full SHA 4e477aeView commit details -
tests: Add invalid MPTCP address ID test case.
Verify that mptcpd_idm_map_id() correctly rejects an invalid (zero) MPTCP address ID.
Configuration menu - View commit details
-
Copy full SHA for 671ad53 - Browse repository at this point
Copy the full SHA 671ad53View commit details -
Configuration menu - View commit details
-
Copy full SHA for 16e6f1c - Browse repository at this point
Copy the full SHA 16e6f1cView commit details
Commits on Jul 14, 2022
-
listener_manager: Map sockaddr to file descriptor.
Map sockaddrs to file descriptors instead of MPTCP address ID to file descriptor. Reference count listeners as well to allow sharing.
Configuration menu - View commit details
-
Copy full SHA for 7154fb8 - Browse repository at this point
Copy the full SHA 7154fb8View commit details -
Add sockaddr parameter to mptcpd_pm_remove_addr().
A sockaddr is now needed to close a listener. Add a sockaddr parameter to mptcpd_pm_remove_addr(), accordingly.
Configuration menu - View commit details
-
Copy full SHA for 6f2121f - Browse repository at this point
Copy the full SHA 6f2121fView commit details -
Configuration menu - View commit details
-
Copy full SHA for af5eee0 - Browse repository at this point
Copy the full SHA af5eee0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e8fcca - Browse repository at this point
Copy the full SHA 8e8fccaView commit details -
Configuration menu - View commit details
-
Copy full SHA for f62e212 - Browse repository at this point
Copy the full SHA f62e212View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72a25af - Browse repository at this point
Copy the full SHA 72a25afView commit details
Commits on Jul 17, 2022
-
hash_sockaddr: Include IP port as part of the key.
Hash the IP port as part of the key to ensure the resulting key hash is different between sockaddrs with the same IP address but different ports. This is necessary because the mptcpd listener manager would otherwise only create listeners for a given IP address once even if the port differs in subsequent mptcpd_lm_listen() calls.
Configuration menu - View commit details
-
Copy full SHA for 7dbc71c - Browse repository at this point
Copy the full SHA 7dbc71cView commit details -
hash_sockaddr: Simplify padding initialization.
Add an implicitly initialized dummy padding member to the hash key structures, and drop the unions. This is simpler than the previous union based approach.
Configuration menu - View commit details
-
Copy full SHA for b667955 - Browse repository at this point
Copy the full SHA b667955View commit details
Commits on Jul 18, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4827421 - Browse repository at this point
Copy the full SHA 4827421View commit details -
tests: Expand mptcpd_lm test cases.
Add test cases for non-zero IP ports to the test-listener-manager unit test.
Configuration menu - View commit details
-
Copy full SHA for 7d0d315 - Browse repository at this point
Copy the full SHA 7d0d315View commit details -
Configuration menu - View commit details
-
Copy full SHA for 89ae85c - Browse repository at this point
Copy the full SHA 89ae85cView commit details
Commits on Jul 19, 2022
-
test-id-manager: Add different port test case.
Verify that getting the MPTCP address ID for sockaddrs containing the same IP address but different ports results in the same ID. Only the IP address should be considered by the mptcpd ID manager.
Configuration menu - View commit details
-
Copy full SHA for ba87b88 - Browse repository at this point
Copy the full SHA ba87b88View commit details -
lib: Refactor sockaddr hashing to IDM and LM.
The mptcpd ID manager and listener manager each have specific sockaddr hashing requirements, where the former does not need the IP port and the latter does. Attempting to make a single hash implementation support both cases was clumsy. The mptcpd ID manager and listener manager will each implement their own hash functions. Common sockaddr hashing related functions still exist in hash_sockaddr.[hc].
Configuration menu - View commit details
-
Copy full SHA for dbd8dbd - Browse repository at this point
Copy the full SHA dbd8dbdView commit details
Commits on Jul 22, 2022
-
listener_manager: Make factory functions private.
Only one instance of a mptcpd listener manager should be created. That instance should be managed by the mptcpd core. Make the mptcpd_lm_create() and mptcpd_lm_destroy() part of the private mptcpd API.
Configuration menu - View commit details
-
Copy full SHA for 9a0cf49 - Browse repository at this point
Copy the full SHA 9a0cf49View commit details -
path_manager: Add mptcpd_pm_get_lm() accessor.
Allow the user to get access to the global mptcpd listener manager by adding a new mptcpd_pm_get_lm() function to the public API.
Configuration menu - View commit details
-
Copy full SHA for 2a5ace1 - Browse repository at this point
Copy the full SHA 2a5ace1View commit details -
Configuration menu - View commit details
-
Copy full SHA for b40f91f - Browse repository at this point
Copy the full SHA b40f91fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0208b79 - Browse repository at this point
Copy the full SHA 0208b79View commit details -
include: Clarify 'server_side' plugin ops param.
Co-authored-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Configuration menu - View commit details
-
Copy full SHA for 56d2922 - Browse repository at this point
Copy the full SHA 56d2922View commit details
Commits on Jul 25, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 96712be - Browse repository at this point
Copy the full SHA 96712beView commit details
Commits on Jul 26, 2022
-
Configuration menu - View commit details
-
Copy full SHA for f5eb494 - Browse repository at this point
Copy the full SHA f5eb494View commit details -
listener_manager: Track ephemeral ports.
Track the kernel assigned ephemeral port if the user provided a sockaddr with a zero port to mptcpd_lm_listen(), and return that port to the user. The user is expected to pass a sockaddr with the port returned from mptcpd_lm_listen() in a subsequent call to mptcpd_lm_close(). Passing a sockaddr with a zero port to mptcpd_lm_close() will result in failure since the listener manager now only tracks listeners with non-zero addresses.
Configuration menu - View commit details
-
Copy full SHA for f915775 - Browse repository at this point
Copy the full SHA f915775View commit details -
listener_manager: Reject unbound IP addresses.
Reject unbound IP addresses such as INADDR_ANY, INADDR_BROADCAST, and in6addr_any. The mptcpd listener manager requires addresses to be bound to a network interface.
Configuration menu - View commit details
-
Copy full SHA for 8022d4c - Browse repository at this point
Copy the full SHA 8022d4cView commit details -
test-listener-manager: Add bad address test cases.
Verify that the mptcpd listener manager rejects addresses that are not bound to a network interface, i.e. INADDR_ANY, INADDR_BROADCAST, and in6addr_any.
Configuration menu - View commit details
-
Copy full SHA for 9b82aff - Browse repository at this point
Copy the full SHA 9b82affView commit details -
Configuration menu - View commit details
-
Copy full SHA for f2b15a2 - Browse repository at this point
Copy the full SHA f2b15a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for daa13d4 - Browse repository at this point
Copy the full SHA daa13d4View commit details
Commits on Aug 3, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 47bafca - Browse repository at this point
Copy the full SHA 47bafcaView commit details -
Configuration menu - View commit details
-
Copy full SHA for eabb923 - Browse repository at this point
Copy the full SHA eabb923View commit details
Commits on Aug 4, 2022
-
Add mptcpd_sockaddr_copy() utility function.
In some cases it is useful to copy the contents of a sockaddr based on the address family. Add a new mptcpd_sockaddr_copy() function that does so. Only AF_INET and AF_INET6 address families are supported.
Configuration menu - View commit details
-
Copy full SHA for ffcb668 - Browse repository at this point
Copy the full SHA ffcb668View commit details -
sspi: Pass non-const addr to mptcpd_pm_add_addr().
The mptcpd_pm_add_addr() function now expects a pointer to a non-const struct sockaddr. Update the sspi plugin accordingly.
Configuration menu - View commit details
-
Copy full SHA for 0d3194e - Browse repository at this point
Copy the full SHA 0d3194eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0690d9f - Browse repository at this point
Copy the full SHA 0690d9fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a99543f - Browse repository at this point
Copy the full SHA a99543fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d4210c - Browse repository at this point
Copy the full SHA 0d4210cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b9cc84 - Browse repository at this point
Copy the full SHA 8b9cc84View commit details
Commits on Aug 5, 2022
-
tests: Overhaul test-commands unit test.
Overhaul the test-commands unit test with the following notable changes: * Use different addresses for user and kernel space address advertising related commands. This is needed to prevent listening on the same TCP address and port. * Use the same local and remote addresses for all user space subflow related commands. * Log addresses obtained from mptcpd_kpm_get_addr().
Configuration menu - View commit details
-
Copy full SHA for 73facae - Browse repository at this point
Copy the full SHA 73facaeView commit details -
Configuration menu - View commit details
-
Copy full SHA for cc7021e - Browse repository at this point
Copy the full SHA cc7021eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 087cb4a - Browse repository at this point
Copy the full SHA 087cb4aView commit details -
test-commands: Split kernel and user space cases.
Split kernel and user space test cases to make it easier to determine causes of failure. The code is also cleaner with the split.
Configuration menu - View commit details
-
Copy full SHA for dc40045 - Browse repository at this point
Copy the full SHA dc40045View commit details -
listener_manager: Return 0 or errno, not bool.
Propagate errors to callers by returning 0 on success, and -1 or errno on error. This allows for better error handling and diagnostics.
Configuration menu - View commit details
-
Copy full SHA for e80db71 - Browse repository at this point
Copy the full SHA e80db71View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e94d23 - Browse repository at this point
Copy the full SHA 3e94d23View commit details -
Configuration menu - View commit details
-
Copy full SHA for a7a9b90 - Browse repository at this point
Copy the full SHA a7a9b90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d64db8 - Browse repository at this point
Copy the full SHA 3d64db8View commit details -
test-commands: Ignore EADDRNOTAVAIL error.
The EADDRNOTAVAIL error will generally occur during a call to mptcpd_pm_add_addr() if the test is run without sufficient capabilities (CAP_NET_ADMIN) to set up the test addresses by associating them with a network interface. Ignore the failure for now.
Configuration menu - View commit details
-
Copy full SHA for c1883e4 - Browse repository at this point
Copy the full SHA c1883e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for bde4681 - Browse repository at this point
Copy the full SHA bde4681View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fed337 - Browse repository at this point
Copy the full SHA 9fed337View commit details