tipc: optimize key switching time and logic
authorTuong Lien <tuong.t.lien@dektech.com.au>
Fri, 18 Sep 2020 01:17:26 +0000 (08:17 +0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Sep 2020 20:58:37 +0000 (13:58 -0700)
commitf779bf792284fed78fedee61b46df2d4652636d3
tree30feab7a1680d6e73d0ac9d93dff413ceb0bb1f8
parentcb589a55f45af3c96c4c828eeb78b52584d483e0
tipc: optimize key switching time and logic

We reduce the lasting time for a pending TX key to be active as well as
for a passive RX key to be freed which generally helps speed up the key
switching. It is not expected to be too fast but should not be too slow
either. Also the key handling logic is simplified that a pending RX key
will be removed automatically if it is found not working after a number
of times; the probing for a pending TX key is now carried on a specific
message user ('LINK_PROTOCOL' or 'LINK_CONFIG') which is more efficient
than using a timer on broadcast messages, the timer is reserved for use
later as needed.

The kernel logs or 'pr***()' are now made as clear as possible to user.
Some prints are added, removed or changed to the debug-level. The
'TIPC_CRYPTO_DEBUG' definition is removed, and the 'pr_debug()' is used
instead which will be much helpful in runtime.

Besides we also optimize the code in some other places as a preparation
for later commits.

v2: silent more kernel logs, also use 'info->extack' for a message
emitted due to netlink operations instead (- David's comments).

Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Tuong Lien <tuong.t.lien@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/crypto.c
net/tipc/crypto.h
net/tipc/node.c