Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Cannot receive external multicast inside container #23659

@combitel

Description

@combitel

Output of docker version:

Client:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 21:23:39 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 21:23:39 2016
 OS/Arch:      linux/amd64

Output of docker info:

Containers: 4
 Running: 1
 Paused: 0
 Stopped: 3
Images: 2
Server Version: 1.11.2
Storage Driver: btrfs
 Build Version: Btrfs v3.17
 Library Version: 101
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: bridge null host
Kernel Version: 3.16.0-4-amd64
Operating System: Debian GNU/Linux 8 (jessie)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.964 GiB
Name: swarm-vm
ID: IYZD:UVUB:A3V7:3E2D:YQSY:CHHB:PMIC:QQAC:TQKU:BS4G:XGMP:LLWW
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No kernel memory limit support
WARNING: No oom kill disable support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
Labels:
 provider=generic

Steps to reproduce the issue:

  1. Start new container
    docker run -it --name node1 ubuntu:14.04 /bin/bash
  2. In container, install iperf and start multicast listener:
    apt-get update && apt-get install iperf
    iperf -s -u -B 224.0.55.55 -i 1
  3. On host, start multicast server:
    iperf -c 224.0.55.55 -u -T 32 -t 3 -i 1

Describe the results you received:
Multicast is not received by multicast listener inside container.

Describe the results you expected:
If application in container joins multicast group, then multicast traffic must be forwarded to container's NIC.

Additional information you deem important (e.g. issue happens only occasionally):
It works fine with --net host, but for various reasons it's not an option.
It looks like IGMP JOIN never leaves container's NIC. I checked it on host using tcpdump -i any host 224.0.55.55 and get 0 packets when container joins 224.0.55.55 group.

Any help or pointers is really appreciated.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions