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

Fix MPTCP recipe #357

Merged
merged 3 commits into from
Jan 17, 2024
Merged

Fix MPTCP recipe #357

merged 3 commits into from
Jan 17, 2024

Commits on Jan 16, 2024

  1. MPTCPRecipe: Fix disabling rp_filter

    rp_filter (reverse path filtering) is responsible for not allowing
    responding to packets on a different interface than the packet appeared
    on. It has to be disabled for MPTCP on IPv4.
    
    IPv6 doesn't have rp_filter on sysfs, but firewalld or ip6tables might
    configure it themselves. We do not run testing on machines where
    firewalld is enabled, nor do we use ip6tables so no issues should
    appear.
    Kuba314 committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    f087250 View commit details
    Browse the repository at this point in the history
  2. Use dev in mptcp endpoint add

    Apparently there's a difference between "adding an mptcp endpoint" and
    "adding an mptcp endpoint to a device".
    
    pyroute doesn't support dev in the `mptcp endpoint add` call so we have
    to use a shell command. (svinota/pyroute2#782)
    Kuba314 committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    2ddc046 View commit details
    Browse the repository at this point in the history
  3. BaseFlowMeasurementGenerator: Do not use client port in mptcp

    We are binding the client port to be consistent in multi-flow scenarios.
    However, our mptcp scenario opens 2 additional ports and not one. Only
    the first one binds to the specified client port, the second one is
    random.
    
    This would be fine, but there's a bug where mptcp doesn't close ports
    immediately (RHEL-21492). This raises an "Address already in use" error
    when the client attempts to bind the client port. We don't bind the
    client port to mitigate this issue, but also because, as specified
    before, it doesn't matter whether it's bound or not.
    Kuba314 committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    c063c33 View commit details
    Browse the repository at this point in the history