It's a bug if LACP is configured with a system ID of zero. This
patch assert fails in this case.
void
lacp_configure(struct lacp *lacp, const struct lacp_settings *s)
{
+ assert(!eth_addr_is_zero(s->id));
+
if (!lacp->name || strcmp(s->name, lacp->name)) {
free(lacp->name);
lacp->name = xstrdup(s->name);
memcpy(s->id, port->bridge->ea, ETH_ADDR_LEN);
}
+ if (eth_addr_is_zero(s->id)) {
+ VLOG_WARN("port %s: Invalid zero LACP system ID.", port->name);
+ return NULL;
+ }
+
/* Prefer bondable links if unspecified. */
priority = atoi(get_port_other_config(port->cfg, "lacp-system-priority",
"0"));