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

IPv6 by default. #58

Open
krisnova opened this issue Oct 19, 2022 · 1 comment
Open

IPv6 by default. #58

krisnova opened this issue Oct 19, 2022 · 1 comment
Assignees
Labels
Subsystem: Network Beeps and Boops #OnlyLANs

Comments

@krisnova
Copy link
Contributor

krisnova commented Oct 19, 2022

IPv6 is the future present.

IPv6 is now! The time has arrived! We are officially here 🎉

Can we place adopt IPv6 support for the networking subsystem by default? Additionally can we go a step further and adopt IPv6 for all of our documentation and code defaults moving forward. We should offer IPv4 documentation and code as a secondary example to the default IPv6 content.

More better 🎉

Here at Aurae we create a lo loopback device listening on localhost ::1 (or the IPv4 equivalent 127.0.0.1).

use std::net::TcpListener;

fn main() {

    let listener = TcpListener::bind([::1]:8080).unwrap();

    for stream in listener.incoming() {
        let stream = stream.unwrap();

        println!("Connection established!");
    }
}

Less better 😞

Here at Aurae we create a lo loopback device listening on localhost 127.0.0.1.

use std::net::TcpListener;

fn main() {

    let listener = TcpListener::bind(127.0.0.1:8080).unwrap();

    for stream in listener.incoming() {
        let stream = stream.unwrap();

        println!("Connection established!");
    }
}
@krisnova krisnova changed the title IPv6 by default. IPv6 is the ~~future~~ present. IPv6 by default. Oct 19, 2022
@MalteJ
Copy link
Contributor

MalteJ commented Oct 20, 2022

I like the direction.
But I think we need to be a little bit more specific. IPv6 by default. Does this mean IPv6 is enabled by default, like IPv4 is? Or do we use IPv6-only by default? Then we'd not go the Dual-Stack route.

There are good reasons not to do Dual-Stack. And if I'd build an infrastructure, I would either use IPv4 or IPv6. Having both brings a lot of trouble and additional work (e.g. you have to duplicate firewall rules for v4 and v6. And if you got a problem in one stack you get cool bug reports like "github does not work", when IPv4 is down).
At the edge (load balancers) you can then expose your service for IPv4 and IPv6.

So I would tighten up this statement a little bit and say "IPv6-only by default".

@MalteJ MalteJ self-assigned this Jan 23, 2024
@MalteJ MalteJ added the Subsystem: Network Beeps and Boops #OnlyLANs label Jan 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Subsystem: Network Beeps and Boops #OnlyLANs
Projects
None yet
Development

No branches or pull requests

2 participants