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

Enable TCPMSS target iptables module for all boards #3739

Merged
merged 1 commit into from
Dec 12, 2024
Merged

Conversation

sairon
Copy link
Member

@sairon sairon commented Dec 12, 2024

The TCPMSS target module for iptables was enabled in some kernel defconfigs but not for all targets. It is used e.g. in default config of @bigmoby's WireGuard Client add-on. Enable it globally in the HAOS kernel config to make sure it's always present.

Fixes #3730

Summary by CodeRabbit

  • New Features

    • Enhanced kernel support for various USB drivers and functionalities.
    • Added support for multiple new sensors and advanced security features.
    • Expanded file system support, including BTRFS, F2FS, and NTFS3.
  • Bug Fixes

    • Removed deprecated TCP MSS clamping target configuration.

These updates improve hardware compatibility, memory management, and overall system security.

The TCPMSS target module for iptables was enabled in some kernel defconfigs but
not for all targets. It is used e.g. in default config of @bigmoby's WireGuard
Client add-on. Enable it globally in the HAOS kernel config to make sure it's
always present.

Fixes #3730
@sairon sairon added os linux Linux kernel related issue labels Dec 12, 2024
@sairon sairon requested a review from agners December 12, 2024 16:59
Copy link

coderabbitai bot commented Dec 12, 2024

📝 Walkthrough

Walkthrough

The changes in this pull request involve modifications to kernel configuration files across different builds. Notably, the CONFIG_NETFILTER_XT_TARGET_TCPMSS option has been removed from the buildroot-external/board/asus/tinker/kernel.config, while it has been added in the buildroot-external/kernel/v6.6.y/hassos.config. Additionally, the buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config has undergone extensive updates, introducing numerous new configurations related to device drivers, memory management, file systems, and security features.

Changes

File Path Change Summary
buildroot-external/board/asus/tinker/kernel.config Removed CONFIG_NETFILTER_XT_TARGET_TCPMSS.
buildroot-external/kernel/v6.6.y/hassos.config Added CONFIG_NETFILTER_XT_TARGET_TCPMSS=m.
buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config Added multiple configurations: CONFIG_USB_DWC3, CONFIG_USB_DWC2, CONFIG_SENSORS_BME680, CONFIG_SENSORS_HDC100X, CONFIG_IOMMU_IO_PGTABLE_ARMV7S, CONFIG_ARM_SMMU, CONFIG_VIRTIO_IOMMU, CONFIG_BTRFS_FS, CONFIG_F2FS_FS, CONFIG_NTFS3_FS, CONFIG_SECURITY_SELINUX, CONFIG_SECURITY_APPARMOR.

Assessment against linked issues

Objective Addressed Explanation
Add NETFILTER_XT_TARGET_TCPMSS kernel module (3730)

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Experiment)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (1)
buildroot-external/kernel/v6.6.y/hassos.config (1)

158-158: Configuration is well-integrated with the networking stack.

The TCPMSS target module is properly integrated within the broader networking configuration:

  • Sits correctly among other netfilter target modules
  • Complements existing WireGuard support (CONFIG_WIREGUARD=m)
  • All necessary networking features are enabled for proper operation

The modular approach (=m) allows for dynamic loading when needed, which is optimal for resource utilization.

Also applies to: 142-157, 159-171

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7031870 and 395dde5.

📒 Files selected for processing (3)
  • buildroot-external/board/asus/tinker/kernel.config (0 hunks)
  • buildroot-external/kernel/v6.6.y/hassos.config (1 hunks)
  • buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config (0 hunks)
💤 Files with no reviewable changes (2)
  • buildroot-external/board/asus/tinker/kernel.config
  • buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config
🔇 Additional comments (1)
buildroot-external/kernel/v6.6.y/hassos.config (1)

158-158: LGTM! The TCPMSS target configuration is correctly added.

The addition of CONFIG_NETFILTER_XT_TARGET_TCPMSS=m as a loadable module is properly placed in the netfilter configuration section and aligns with the PR's objective to enable TCPMSS target support across all boards.

Let's verify the configuration dependencies are met:

✅ Verification successful

TCPMSS target module is properly configured with all required dependencies

The verification confirms:

  • TCPMSS target is correctly set as a loadable module (CONFIG_NETFILTER_XT_TARGET_TCPMSS=m)
  • All required netfilter dependencies are present and properly configured
  • The configuration is consistent across board configs
  • Related networking features (WireGuard, IP sets, netfilter core) are properly enabled
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that all required dependencies for TCPMSS target are present
# Expected: Should find CONFIG_NETFILTER_XT_TARGET_TCPMSS and its dependencies

# Check for the main config and related networking configs
rg -A 5 'CONFIG_NETFILTER|CONFIG_IP_SET|CONFIG_WIREGUARD' buildroot-external/kernel/v6.6.y/hassos.config

# Check other board configs to ensure consistency
fd -e config -x rg 'CONFIG_NETFILTER_XT_TARGET_TCPMSS'

Length of output: 953

@sairon sairon merged commit 765f4da into dev Dec 12, 2024
3 checks passed
@sairon sairon deleted the add-nf-target-tcpmss branch December 12, 2024 19:44
This was referenced Dec 17, 2024
jens-maus added a commit to jens-maus/RaspberryMatic that referenced this pull request Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed linux Linux kernel related issue os
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Missing NETFILTER_XT_TARGET_TCPMSS kernel module on ODROID-N2
2 participants