}
/* This function should be called whenever the carrier status of 'slave_' has
- * changed. */
+ * changed. If 'lacp' is null, this function has no effect.*/
void
lacp_slave_carrier_changed(const struct lacp *lacp, const void *slave_)
{
- struct slave *slave = slave_lookup(lacp, slave_);
+ if (lacp) {
+ struct slave *slave = slave_lookup(lacp, slave_);
- if (slave->status == LACP_CURRENT || slave->lacp->active) {
- slave_set_expired(slave);
+ if (slave->status == LACP_CURRENT || slave->lacp->active) {
+ slave_set_expired(slave);
+ }
}
}
if (argc > 1) {
lacp = lacp_find(argv[1]);
if (!lacp) {
- unixctl_command_reply(conn, 501, "no such lacp object");
+ unixctl_command_reply_error(conn, "no such lacp object");
return;
}
lacp_print_details(&ds, lacp);
}
}
- unixctl_command_reply(conn, 200, ds_cstr(&ds));
+ unixctl_command_reply(conn, ds_cstr(&ds));
ds_destroy(&ds);
}