[PATCH net-next 00/13] net/smc: preparations for SMC-R link failover

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch series prepares the SMC code for the implementation of SMC-R link 
failover capabilities which are still missing to reach full compliance with 
RFC 7609.
The code changes are separated into 65 patches which together form the new
functionality. I tried to create meaningful patches which allow to follow the 
implementation.

Question: how to handle the remaining 52 patches? All of them are needed for 
link failover to work and should make it into the same merge window. 
Can I send them all together?

The SMC-R implementation will transparently make use of the link failover 
feature when matching RoCE devices are available, no special setup is required.
All RoCE devices with the same PNET ID as the TCP device (hardware-defined or 
user-defined via the smc_pnet tool) are candidates to get used to form a link 
in a link group. When at least 2 RoCE devices are available on both 
communication endpoints then a symmetric link group is formed, meaning the link 
group has 2 independent links. If one RoCE device goes down then all connections 
on this link are moved to the surviving link. Upon recovery of the failing 
device or availability of a new one, the symmetric link group will be restored.

Karsten Graul (13):
  net/smc: rework pnet table to support SMC-R failover
  net/smc: separate function for link initialization
  net/smc: introduce link_idx for link group array
  net/smc: convert static link ID to dynamic references
  net/smc: convert static link ID instances to support multiple links
  net/smc: multi-link support for smc_rmb_rtoken_handling()
  net/smc: add new link state and related helpers
  net/smc: move testlink work to system work queue
  net/smc: simplify link deactivation
  net/smc: use worker to process incoming llc messages
  net/smc: process llc responses in tasklet context
  net/smc: use mutex instead of rwlock_t to protect buffers
  net/smc: move llc layer related init and clear into smc_llc.c

 net/smc/af_smc.c   |  79 ++++---
 net/smc/smc.h      |   1 +
 net/smc/smc_cdc.c  |   8 +-
 net/smc/smc_clc.c  |  12 +-
 net/smc/smc_clc.h  |   1 +
 net/smc/smc_core.c | 542 +++++++++++++++++++++++++++++----------------
 net/smc/smc_core.h |  78 ++++---
 net/smc/smc_ib.c   |  63 +++---
 net/smc/smc_ib.h   |  10 +-
 net/smc/smc_ism.c  |   3 +-
 net/smc/smc_llc.c  | 396 ++++++++++++++++++---------------
 net/smc/smc_llc.h  |  16 +-
 net/smc/smc_pnet.c | 539 +++++++++++++++++++++++++-------------------
 net/smc/smc_pnet.h |   2 +
 net/smc/smc_tx.c   |  13 +-
 net/smc/smc_wr.c   |   2 +-
 16 files changed, 1063 insertions(+), 702 deletions(-)

-- 
2.17.1




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux