interface: Fix triggering of interface update event
authorHans Dedecker <dedeckeh@gmail.com>
Wed, 2 Nov 2016 08:22:10 +0000 (09:22 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 4 Nov 2016 12:24:02 +0000 (13:24 +0100)
commitb8ef742bd04ebef324ae11aee56c6e1d2cb7e0ad
treea7a50335577fef91f6e4fe23a926d89769f11a69
parentbf4cfc851d422c742e7c38bd552b792194655a7e
interface: Fix triggering of interface update event

In case the keep flag is set in proto_shell_update_link no interface
update event is triggered when IPv4/6 addresses/routes/... are updated
as the proto_event callback is not called due to keep being set.

Unconditionally call the proto_event callback handler in proto_shell_update_link
but let the proto_event callback handler; in this case interface_proto_event_cb,
decide which actions need to be taken dependant on the interface state.

In case the interface is already in the up state trigger an update event
only if the interface updated flag actually indicates either an IP address/
route/data change; before interface update events were actually sent wihtout
any parameter change.

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