Closed sandersaares closed 6 years ago
This looks like a duplicate of #21. Currently pimd needs to be restarted to see new interfaces. I have no idea how docker networking is integrated in Linux, so I cannot help you there.
Understood. Closing as duplicate then!
I have iterated further from the situation described in #121 and disabled the docker0 default bridge network and instead created a new Docker network. What I now observe is that after server restart, PIMD does not operate on this network. If I restart PIMD, it starts operating as expected.
On Ubuntu 16.04 I install Docker and then disable the default bridge network by adding
"bridge": "none"
to the Docker configuration. Then I create a new Docker network usingdocker network create --driver bridge --gateway 172.31.250.254 --subnet 172.31.250.0/24 asdf
.I also install pimd and keep its default configuration untouched.
After system restart, I currently manually execute
sudo iptables --policy FORWARD ACCEPT
as per #121 findings.What I observe on startup (with no containers running) is the following:
PIMD appears to be operating normally on eth0 (at least a bunch of entries from the LAN show up in
ip mroute
).Then I create a container. Ifconfig now has a new entry:
This interface appears to be the one used by Docker for communicating to the container. I have no understanding of how it works (it has no ipv4?) beyond the fact that I see the container's traffic if I monitor this interface (e.g. when I do
apt update
the HTTP traffic goes over this interface).I immediately notice that performing a packet capture on this new "veth" interface shows no PIM traffic. I would expect PIMD to start using this interface. When I start a listener, I see the listener's IGMP traffic but nothing from PIMD:
Indeed, PIMD is unaware of this join:
After restarting PIMD, it immediately starts operating normally on this interface:
I would expect PIMD to not require to be restarted in this situation. Is the behavior I observe normal? Do I need to perform some additional configuration to get it to automatically use this interface?
If I restart pimd before creating the container (before the "veth" network is created) it works fine immediately when I start the container. Perhaps the veth network is just a red herring and the key factor is something that happens earlier on startup (related to the Docker created
br-
network?).