
Albert Huang (1): net/smc: fix smc clc failed issue when netdevice not in init_net Allen Pais (1): net: smc: convert tasklets to use new tasklet_setup() API Christophe JAILLET (1): net/smc: Use the bitmap API when applicable Colin Ian King (1): net/smc: remove redundant re-assignment of pointer link D. Wythe (5): net/smc: Limit backlog connections net/smc: reduce unnecessary blocking in smcr_lgr_reg_rmbs() net/smc: fix potential panic dues to unprotected smc_llc_srv_add_link() net/smc: fix dangling sock under state SMC_APPFINCLOSEWAIT net/smc: return ETIMEDOUT when smc_connect_clc() timeout Dan Carpenter (2): net/smc: Fix an error code in smc_lgr_create() net/smc: delete pointless divide by one David Howells (1): smc: Drop smc_sendpage() in favour of smc_sendmsg() + MSG_SPLICE_PAGES Dmitry Antipov (1): net: smc: fix spurious error message from __sock_release() Dust Li (2): net/smc: add comments for smc_link_{usable|sendable} net/smc: return the right falback reason when prefix checks fail Eric Dumazet (2): net: inline sock_prot_inuse_add() net: make sock_inuse_add() available Gerd Bayer (2): net/smc: Fix dependency of SMC on ISM s390/ism: ism driver implies smc protocol Guangguan Wang (14): net/smc: support smc release version negotiation in clc handshake net/smc: add vendor unique experimental options area in clc handshake net/smc: support smc v2.x features validate net/smc: support max connections per lgr negotiation net/smc: support max links per lgr negotiation in clc handshake net/smc: Extend SMCR v2 linkgroup netlink attribute net/smc: set rmb's SG_MAX_SINGLE_ALLOC limitation only when CONFIG_ARCH_NO_SG_CHAIN is defined net/smc: protect link down work from execute after lgr freed net/smc: check sndbuf_space again after NOSPACE flag is set in smc_poll net/smc: check v2_ext_offset/eid_cnt/ism_gid_cnt when receiving proposal msg net/smc: check smcd_v2_ext_offset when receiving proposal msg net/smc: check return value of sock_recvmsg when draining clc data net/smc: fix data error when recvmsg with MSG_PEEK flag net/smc: use the correct ndev to find pnetid by pnetid table Gustavo A. R. Silva (1): net/smc: Avoid -Wflex-array-member-not-at-end warnings Guvenc Gulce (1): net/smc: Use active link of the connection Heiko Carstens (1): net/smc: Eliminate struct smc_ism_position Jiapeng Chong (1): net/smc: Remove redundant assignment to rc Julian Ruess (2): s390/ism: Fix trying to free already-freed IRQ by repeated ism_dev_exit() s390/ism: add release function for struct device Julian Wiedmann (1): net/smc: no need to flush smcd_dev's event_wq before destroying it Kai Shen (2): net/smc: Use percpu ref for wr tx reference net/smc: Fix memory leak when using percpu refs Karsten Graul (16): net/smc: improve return codes for SMC-Dv2 net/smc: use helper smc_conn_abort() in listen processing net/smc: avoid possible duplicate dmb unregistration net/smc: add support for user defined EIDs net/smc: keep static copy of system EID net/smc: add generic netlink support for system EID net/smc: save stack space and allocate smc_init_info net/smc: prepare for SMC-Rv2 connection net/smc: add SMC-Rv2 connection establishment net/smc: add listen processing for SMC-Rv2 net/smc: add v2 format of CLC decline message net/smc: retrieve v2 gid from IB device net/smc: add v2 support to the work request layer net/smc: extend LLC layer for SMC-Rv2 net/smc: add netlink support for SMC-Rv2 net/smc: stop links when their GID is removed Kuniyuki Iwashima (1): smc: Fix use-after-free in tcp_write_timer_handler(). Li RongQing (2): net/smc: remove unneeded atomic operations in smc_tx_sndbuf_nonempty net/smc: Fix searching in list of known pnetids in smc_pnet_add_pnetid Niklas Schnelle (3): s390/ism: Fix locking for forwarding of IRQs and events to clients s390/ism: Fix and simplify add()/remove() callback handling s390/ism: Do not unregister clients with registered DMBs Simon Horman (1): net/smc: Address spelling errors Stefan Raspl (11): s390/ism: Cleanups net/smc: Pass on DMBE bit mask in IRQ handler net/smc: Terminate connections prior to device removal s390/ism: Introduce struct ism_dmb net/ism: Add new API for client registration net/smc: Register SMC-D as ISM client net/smc: Separate SMC-D and ISM APIs s390/ism: Consolidate SMC-D-related code net/smc: De-tangle ism and smc device initialization net/smc: Fix device de-init sequence net/smc: Introduce explicit check for v2 support Tony Lu (6): net/smc: Clean up local struct sock variables net/smc: Introduce net namespace support for linkgroup net/smc: Print net namespace in log net/smc: Introduce TCP ULP support net/smc: Support SO_REUSEPORT net/smc: Fix cleanup when register ULP fails Wan Jiabing (1): net: smc: Remove repeated struct declaration Wen Gu (32): net/smc: Reset conn->lgr when link group registration fails net/smc: Remove unused function declaration net/smc: Reset connection when trying to use SMCRv2 fails. net/smc: Scan from current RMB list when no position specified net/smc: Don't use RMBs not mapped to new link in SMCRv2 ADD LINK net/smc: fix missing byte order conversion in CLC handshake net/smc: rename some 'fce' to 'fce_v2x' for clarity net/smc: introduce sub-functions for smc_clc_send_confirm_accept() net/smc: unify the structs of accept or confirm message for v1 and v2 net/smc: support SMCv2.x supplemental features negotiation net/smc: introduce virtual ISM device support feature net/smc: define a reserved CHID range for virtual ISM devices net/smc: compatible with 128-bits extended GID of virtual ISM device net/smc: support extended GID in SMC-D lgr netlink attribute net/smc: disable SEID on non-s390 archs where virtual ISM may be used net/smc: manage system EID in SMC stack instead of ISM driver net/smc: fix incorrect SMC-D link group matching logic net/smc: change the term virtual ISM to Emulated-ISM net/smc: decouple ism_client from SMC-D DMB registration net/smc: introduce loopback-ism for SMC intra-OS shortcut net/smc: implement ID-related operations of loopback-ism net/smc: implement DMB-related operations of loopback-ism net/smc: mark optional smcd_ops and check for support when called net/smc: ignore loopback-ism when dumping SMC-D devices net/smc: register loopback-ism into SMC-D device list net/smc: add operations to merge sndbuf with peer DMB net/smc: {at|de}tach sndbuf to peer DMB if supported net/smc: adapt cursor update when sndbuf and peer DMB are merged net/smc: implement DMB-merged operations of loopback-ism net/smc: fix neighbour and rtable leak in smc_ib_find_route() net/smc: avoid overwriting when adjusting sock bufsizes net/smc: fix LGR and link use-after-free issue Wenjia Zhang (1): net/smc: Fix lookup of netdev by using ib_device_get_netdev() Yue Haibing (1): net/smc: Remove unused function declarations Zhengchao Shao (6): net/smc: make smc_hash_sk/smc_unhash_sk static net/smc: remove unreferenced header in smc_loopback.h file net/smc: remove the fallback in __smc_connect net/smc: remove redundant code in smc_connect_check_aclc net/smc: remove unused input parameters in smcr_new_buf_create net/smc: add the max value of fallback reason count liuyacan (1): net/smc: set ini->smcrv2.ib_dev_v2 to NULL if SMC-Rv2 is unavailable drivers/s390/net/Kconfig | 5 +- drivers/s390/net/ism.h | 26 +- drivers/s390/net/ism_drv.c | 489 +++++++++++++----- include/linux/ism.h | 92 ++++ include/net/smc.h | 62 +-- include/net/sock.h | 24 +- include/uapi/linux/smc.h | 48 +- include/uapi/linux/smc_diag.h | 2 + net/core/sock.c | 21 - net/mptcp/subflow.c | 4 +- net/smc/Kconfig | 14 + net/smc/Makefile | 1 + net/smc/af_smc.c | 947 +++++++++++++++++++++++++--------- net/smc/smc.h | 53 +- net/smc/smc_cdc.c | 44 +- net/smc/smc_clc.c | 844 +++++++++++++++++++++++++----- net/smc/smc_clc.h | 192 +++++-- net/smc/smc_close.c | 6 +- net/smc/smc_core.c | 390 ++++++++++---- net/smc/smc_core.h | 129 ++++- net/smc/smc_diag.c | 20 +- net/smc/smc_ib.c | 171 +++++- net/smc/smc_ib.h | 24 +- net/smc/smc_ism.c | 318 ++++++++---- net/smc/smc_ism.h | 61 ++- net/smc/smc_llc.c | 670 +++++++++++++++++++----- net/smc/smc_llc.h | 12 +- net/smc/smc_loopback.c | 427 +++++++++++++++ net/smc/smc_loopback.h | 60 +++ net/smc/smc_netlink.c | 47 +- net/smc/smc_netlink.h | 2 + net/smc/smc_pnet.c | 120 +++-- net/smc/smc_rx.c | 39 +- net/smc/smc_rx.h | 8 +- net/smc/smc_stats.c | 2 +- net/smc/smc_stats.h | 3 +- net/smc/smc_tx.c | 56 +- net/smc/smc_tx.h | 2 - net/smc/smc_wr.c | 305 +++++++++-- net/smc/smc_wr.h | 17 +- 40 files changed, 4502 insertions(+), 1255 deletions(-) create mode 100644 include/linux/ism.h create mode 100644 net/smc/smc_loopback.c create mode 100644 net/smc/smc_loopback.h -- 2.34.1