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

nixos/mptcp: multipath TCP module #68092

Closed
wants to merge 4 commits into from
Closed

Conversation

teto
Copy link
Member

@teto teto commented Sep 4, 2019

Sane defaults for configuration of MPTCP kernel.

Initial PR at #59342.
I have some trouble fixing the mptcp test (rather my changes to the network testing infrastructure) so that it doesn't break other tests. I do intend to fix this but it may take some time so I would like to merge the module first as it can be useful for others.

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @

}

(mkIf (!config.networking.networkmanager.enable) {
warnings = [ "You have `networkmanager` disabled. Expect things to break." ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe mention that this warning was caused by enabling mptcp. This is not apparent in the message alone.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right. I tweaked it a bit.

@danielfullmer
Copy link
Contributor

danielfullmer commented Jan 7, 2020

The dispatch script fails for me when bringing up an interface with DHCP:

Looking at the journal logs for NetworkManager-dispatcher.service:

Jan 06 18:10:03 bellman nm-dispatcher[1981]: + STATUS=up
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + RT_TABLE=/etc/iproute2/rt_tables
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + '[' enp5s0 = lo ']'
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + '[' -z enp5s0 ']'
Jan 06 18:10:03 bellman nm-dispatcher[1981]: ++ grep -c enp5s0 /etc/iproute2/rt_tables
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + '[' 0 -eq 0 ']'
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + echo 'Adding new routing table enp5s0'
Jan 06 18:10:03 bellman nm-dispatcher[1981]: Adding new routing table enp5s0
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + logger -p user.info -t mptcp 'Adding new routing table enp5s0'
Jan 06 18:10:03 bellman nm-dispatcher[1981]: ++ wc -l
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + NUM=13
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + echo -e '\n13  enp5s0'
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + '[' -n 192.168.0.104 ']'
Jan 06 18:10:03 bellman nm-dispatcher[1981]: ++ cut -d / -f 2
Jan 06 18:10:03 bellman nm-dispatcher[1981]: ++ echo 192.168.0.104/24 192.168.0.1
Jan 06 18:10:03 bellman nm-dispatcher[1981]: ++ cut -d ' ' -f 1
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + SUBNET=24
Jan 06 18:10:03 bellman nm-dispatcher[1981]: + ip route add to /24 dev enp5s0 scope link table enp5s0
Jan 06 18:10:03 bellman nm-dispatcher[1981]: Error: any valid prefix is expected rather than "/24".
Jan 06 18:10:03 bellman nm-dispatcher[1981]: req:4 'up' [enp5s0], "/etc/NetworkManager/dispatcher.d/03userscript0001": complete: failed with Script '/etc/NetworkManager/dispatcher.d/03userscript0001' exited with error status 1.

It appears that $DHCP4_NETWORK_NUMBER is not set. Moreover this script is being called on any change to the interface. It should probably be conditional on $NM_DISPATCHER_ACTION = "up". Finally, there isn't any mechanism to clean up the routing table / rules when an interface is brought down.

@stale
Copy link

stale bot commented Jul 5, 2020

Hello, I'm a bot and I thank you in the name of the community for your contributions.

Nixpkgs is a busy repository, and unfortunately sometimes PRs get left behind for too long. Nevertheless, we'd like to help committers reach the PRs that are still important. This PR has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human.

If this is still important to you and you'd like to remove the stale label, we ask that you leave a comment. Your comment can be as simple as "still important to me". But there's a bit more you can do:

If you received an approval by an unpriviledged maintainer and you are just waiting for a merge, you can @ mention someone with merge permissions and ask them to help. You might be able to find someone relevant by using Git blame on the relevant files, or via GitHub's web interface. You can see if someone's a member of the nixpkgs-committers team, by hovering with the mouse over their username on the web interface, or by searching them directly on the list.

If your PR wasn't reviewed at all, it might help to find someone who's perhaps a user of the package or module you are changing, or alternatively, ask once more for a review by the maintainer of the package/module this is about. If you don't know any, you can use Git blame on the relevant files, or GitHub's web interface to find someone who touched the relevant files in the past.

If your PR has had reviews and nevertheless got stale, make sure you've responded to all of the reviewer's requests / questions. Usually when PR authors show responsibility and dedication, reviewers (privileged or not) show dedication as well. If you've pushed a change, it's possible the reviewer wasn't notified about your push via email, so you can always officially request them for a review, or just @ mention them and say you've addressed their comments.

Lastly, you can always ask for help at our Discourse Forum, or more specifically, at this thread or at #nixos' IRC channel.

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jul 5, 2020
@teto teto closed this Dec 8, 2020
@teto teto deleted the mptcp_module_only branch December 31, 2023 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants