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

firewall: T4694: Adding GRE flags & fields matches to firewall rules #3637

Merged
merged 2 commits into from
Aug 5, 2024

Commits on Aug 4, 2024

  1. firewall: T4694: Adding GRE flags & fields matches to firewall rules

    * Only matching flags and fields used by modern RFC2890 "extended GRE" -
      this is backwards-compatible, but does not match all possible flags.
    * There are no nftables helpers for the GRE key field, which is critical
      to match individual tunnel sessions (more detail in the forum post)
      * nft expression syntax is not flexible enough for multiple field
        matches in a single rule and the key offset changes depending on flags.
      * Thus, clumsy compromise in requiring an explicit match on the "checksum"
        flag if a key is present, so we know where key will be. In most cases,
        nobody uses the checksum, but assuming it to be off or automatically
        adding a "not checksum" match unless told otherwise would be confusing
      * The automatic "flags key" check when specifying a key doesn't have similar
        validation, I added it first and it makes sense. I would still like
        to find a workaround to the "checksum" offset problem.
      * If we could add 2 rules from 1 config definition, we could match
        both cases with appropriate offsets, but this would break existing
        FW generation logic, logging, etc.
    * Added a "test_gre_match" smoketest
    talmakion committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    60b0614 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. Configuration menu
    Copy the full SHA
    d30646f View commit details
    Browse the repository at this point in the history