ejabberd on IPv6 AND IPv4

Hi,

I'd like to setup ejabberd to run on both IPv6 and IPv4. I saw the "inet6" keyword that binds the port on ipv6 rather than ipv4. However, I'd like to have both on, not just one or the other.

Is that possible? If so, how?

Set on different port numbers

Unfortunately this is not possible:

  {5222, ejabberd_c2s,     []},
  {5222, ejabberd_c2s,     [inet6]},

But you can get IPv4 and IPv6 at the same time if you bind each listening socket to a different port number, like this:

  {5222, ejabberd_c2s,     []},
  {5224, ejabberd_c2s,     [inet6]},

I don't know the erlang

I don't know the erlang programming mode, but posix has the getaddrinfo call,
which allows transparent ipv6/ipv4 working.

Also, at least under linux (I think windows has a more complex process), listening
on "::5222" will give a socket that will accept ipv4 and ipv6 connections.

Related bug issue:

What does the IPv6 setting on

What does the IPv6 setting on my router do? I was just looking thru the settings of my Airport Extreme base station router and came across IPv6. There's a check in the box that says "Block Incoming IPv6 Connections". What exactly changes if I uncheck that box and allow the incoming connections? Are there certain internet applications that it would help or hinder? It says something about how IPv6 increases the address size or something?? Any networking pros please advise. Thanx!

Syndicate content