diff options
author | Richard Alpe <richard.alpe@ericsson.com> | 2016-02-01 08:19:57 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-06 02:45:38 -0500 |
commit | 817298102b0bc936b08dfcc5fbcc2213157050f2 (patch) | |
tree | c434db2622b6f960a3594b08484336ba99580d72 | |
parent | d01332f1acacc0cb43a61f4244dd2b846d4cd585 (diff) | |
download | linux-stable-817298102b0bc936b08dfcc5fbcc2213157050f2.tar.gz linux-stable-817298102b0bc936b08dfcc5fbcc2213157050f2.tar.bz2 linux-stable-817298102b0bc936b08dfcc5fbcc2213157050f2.zip |
tipc: fix link priority propagation
Currently link priority changes isn't handled for active links. In
this patch we resolve this by changing our priority if the peer passes
a valid priority in a state message.
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: Richard Alpe <richard.alpe@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/tipc/link.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c index f15635391576..6f4a6d9b0149 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c @@ -1458,6 +1458,12 @@ static int tipc_link_proto_rcv(struct tipc_link *l, struct sk_buff *skb, if (in_range(peers_tol, TIPC_MIN_LINK_TOL, TIPC_MAX_LINK_TOL)) l->tolerance = peers_tol; + if (peers_prio && in_range(peers_prio, TIPC_MIN_LINK_PRI, + TIPC_MAX_LINK_PRI)) { + l->priority = peers_prio; + rc = tipc_link_fsm_evt(l, LINK_FAILURE_EVT); + } + l->silent_intv_cnt = 0; l->stats.recv_states++; if (msg_probe(hdr)) |