interface: set interface in TEARDOWN state when checking link state
authorHans dedecker <dedeckeh@gmail.com>
Mon, 1 Apr 2019 08:34:26 +0000 (10:34 +0200)
committerHans Dedecker <dedeckeh@gmail.com>
Mon, 1 Apr 2019 20:55:46 +0000 (22:55 +0200)
commita97297d83e427685d316a170b769922083c02794
tree25959c9c07a4cdd1ec23cdd8b055eff932f82802
parent34a70b62694cdaf9acb70202e3910bf23e0ab81a
interface: set interface in TEARDOWN state when checking link state

When launching PROTO_CMD_TEARDOWN in interface_check_state() the interface
was set in IFS_DOWN state. In case an interface is now brought into IFS_SETUP
state in __interface_set_up() it will launch PROTO_CMD_SETUP trying to
bring the proto shell handler in S_SETUP state which will fail as the proto
shell handler is still in the S_TEARDOWN state.

Fix this by setting the interface in IFS_TEARDOWN state when the PROTO_CMD_TEARDOWN
event is launched which will prevent the interface being brought into IFS_SETUP state
as long as it's not in the IFS_DOWN state.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
interface.c