CAC: Inactive NIF with zero broadcast address triggers search requests on loopback
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Fix Released
|
Low
|
mdavidsaver | ||
3.14 |
Fix Released
|
Undecided
|
Unassigned | ||
3.15 |
Fix Released
|
Low
|
mdavidsaver | ||
3.16 |
Fix Released
|
Low
|
mdavidsaver |
Bug Description
Running the docker service - without starting any containers - on my Debian 8 box creates a virtual (bridge) NIF for the container communication that is partly configured and UP, but not RUNNING:
docker0: flags=4099<
inet 172.17.42.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:3d:f0:f5:a3 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
The CA client (no env configuration) discovers this IF and puts it in the search list for UDP. (Verified with "DEBUG=1" showing it as 0.0.0.0.)
When names are searched, the system interprets 0.0.0.0 wrong and sends out search messages on the loopback interface (verified with Wireshark as UDP/5064 packages from 127.0.0.1 to 127.0.0.1).
While this seems to be a bug in docker, I guess we could safely ignore NIFs with a broadcast address of 0.0.0.0 - can't we?
> While this seems to be a bug in docker, I guess we could safely ignore NIFs with a broadcast address of 0.0.0.0 - can't we?
I don't think that 0.0.0.0 is ever a valid broadcast address. I've added a condition which ignores 0.0.0.0 only.