Skip to content

device: send ARP announcements when there is carrier

Beniamino Galvani requested to merge bg/rh1956793 into main

Previously we sent announcements immediately for non-controllers, or after the first port was attached for controllers.

This has two problems:

  • announcements can be sent when there is no carrier and they would be lost;

  • if a controller has a port, the port could be itself a controller; in that case we start sending ARPs with the fake address of the port. Later, when a leaf port is added to the second-level controller, the correct port MAC will be propagated by kernel up to both controllers.

To solve both problems, send ARP announcements only when the interface has carrier. This also solves the second issue because controllers created by NM have carrier only when there is a port with carrier.

Fixes: de102228 ('device: do ARP announcements only after masters have a slave')

Merge request reports