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

GRE Protocol Support #143

Open
drunkirishcoder opened this issue Jan 4, 2022 · 1 comment
Open

GRE Protocol Support #143

drunkirishcoder opened this issue Jan 4, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@drunkirishcoder
Copy link
Contributor

drunkirishcoder commented Jan 4, 2022

Add support for GRE tunnel protocol defined in RFC2890. Additional relevant information are in RFC2784 and RFC7676.

    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |C| |K|S| Reserved0       | Ver |         Protocol Type         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Checksum (optional)      |       Reserved1 (Optional)    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Key (optional)                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Sequence Number (Optional)                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

To implement GRE, need to add support for IPv4 and IPv6 encapsulation inside a tunnel protocol.

Not in scope are PPTP GRE and GRE-in-UDP. The former is a completely different variant of GRE. The latter introduces a complexity we can defer.

@drunkirishcoder drunkirishcoder added the enhancement New feature or request label Jan 4, 2022
@drunkirishcoder drunkirishcoder self-assigned this Jan 4, 2022
@drunkirishcoder
Copy link
Contributor Author

After some more research, tunnels can get pretty wild. The solution for GRE should allow for all these types of tunnels to be implemented with Capsule, while not break the type system we have.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

1 participant