Evelina Dumitrescu created MESOS-1957:
-----------------------------------------

             Summary: Port mapping IPv6 support
                 Key: MESOS-1957
                 URL: https://issues.apache.org/jira/browse/MESOS-1957
             Project: Mesos
          Issue Type: Task
          Components: containerization, isolation
            Reporter: Evelina Dumitrescu


It has to be investigated the best way for the port mapping module to know that 
it uses and IPv6 environment. Possible ways are:
          - by the IP address of the host eth0
          - passing a flag

A question that needs special attention is what should be done if eth0 or lo 
have both IPv4 and IPv6 addresses.

Also, it may be necessary to keep separate counters for IPv4/IPv6.

The LOOPBACK_IP is currently hardcoded to 127.0.0.1/8. In the case of an IPv6 
environment, owing to the fact that this variable is used only for services 
that run on a single node and might not be used in routing scenarios, it should 
be investigated keeping this value or adding another variable LOOPBACK_IPv6. 
This will affect the add/removeContainerIPFilters and add/removeHostIPFilters 
methods. 

Socket diagnosis needs to be done also for AF_INET6 family.

IPv6 disabling needs to be removed (eg:   script << "echo 1 > 
/proc/sys/net/ipv6/conf/all/disable_ipv6\n"; from 
PortMappingIsolatorProcess::scripts).

For IPv4 some functionalities are disabled(eg: 'rp_filter' and 'send_redirects' 
for lo) or enabled(eg: 'route_localnet' and 'accept_local' for lo). Other ones 
are inherited by the container from the host(eg: tcp_rmem, tcp_wmem).

The ephemeral port ranges can be different between IPv6 and IPv4(eg: 
os::read("/proc/sys/net/ipv4/ip_local_port_range");).

The same thing should be done for IPv6.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to