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

embed ipv4 source in ipv6 #372

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

candlerb
Copy link

@candlerb candlerb commented Mar 5, 2021

Proof-of-concept for #371: for review rather than actual merge.

Usage:

listen 0.0.0.0 443 {
    proto tls
    embed fd46:1::
}

If the inbound connection is IPv4, and the outbound connection is IPv6, then the incoming source IPv4 address is embedded in the low 32 bits of the outgoing IPv6 source.

Usage:

listen 0.0.0.0 443 {
    proto tls
    embed fd46:1::
}

If the inbound connection is IPv4, and the outbound connection is IPv6,
then the IPv4 address is embedded in the low 32 bits of the source.
@candlerb
Copy link
Author

candlerb commented Jan 31, 2022

I am now wondering if this would be more logical if configured as a per-backend option, like proxy_protocol. e.g.

embed_prefix fd46:1::

table foo {
    bar.example.net  *:4443  proxy_protocol
    baz.example.net  *       embed
}

(although the way I do it now is consistent with the "source" option on the listener)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant