Jon Paul Maloy
cda3696d3d
tipc: clean up socket layer message reception
...
When a message is received in a socket, one of the call chains
tipc_sk_rcv()->tipc_sk_enqueue()->filter_rcv()(->tipc_sk_proto_rcv())
or
tipc_sk_backlog_rcv()->filter_rcv()(->tipc_sk_proto_rcv())
are followed. At each of these levels we may encounter situations
where the message may need to be rejected, or a new message
produced for transfer back to the sender. Despite recent
improvements, the current code for doing this is perceived
as awkward and hard to follow.
Leveraging the two previous commits in this series, we now
introduce a more uniform handling of such situations. We
let each of the functions in the chain itself produce/reverse
the message to be returned to the sender, but also perform the
actual forwarding. This simplifies the necessary logics within
each function.
Reviewed-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-26 16:31:50 -07:00
..
addr.c
tipc: simplify include dependencies
2015-05-14 12:24:45 -04:00
addr.h
tipc: simplify include dependencies
2015-05-14 12:24:45 -04:00
bcast.c
tipc: reduce locking scope during packet reception
2015-07-20 20:41:16 -07:00
bcast.h
tipc: reduce locking scope during packet reception
2015-07-20 20:41:16 -07:00
bearer.c
tipc: make media xmit call outside node spinlock context
2015-07-20 20:41:15 -07:00
bearer.h
tipc: make media xmit call outside node spinlock context
2015-07-20 20:41:15 -07:00
core.c
tipc: rename functions defined in subscr.c
2015-05-04 15:04:00 -04:00
core.h
tipc: reduce locking scope during packet reception
2015-07-20 20:41:16 -07:00
discover.c
tipc: move link creation from neighbor discoverer to node
2015-07-20 20:41:14 -07:00
discover.h
tipc: involve namespace infrastructure
2015-01-12 16:24:32 -05:00
eth_media.c
tipc: make media address offset a common define
2015-02-27 18:18:48 -05:00
ib_media.c
tipc: rename media/msg related definitions
2015-02-27 18:18:48 -05:00
Kconfig
tipc: add ip/udp media type
2015-03-05 22:08:42 -05:00
link.c
tipc: fix compatibility bug
2015-07-21 16:23:50 -07:00
link.h
tipc: reduce locking scope during packet reception
2015-07-20 20:41:16 -07:00
Makefile
tipc: add ip/udp media type
2015-03-05 22:08:42 -05:00
msg.c
tipc: clean up socket layer message reception
2015-07-26 16:31:50 -07:00
msg.h
tipc: clean up socket layer message reception
2015-07-26 16:31:50 -07:00
name_distr.c
tipc: make media xmit call outside node spinlock context
2015-07-20 20:41:15 -07:00
name_distr.h
tipc: resolve race problem at unicast message reception
2015-02-05 16:00:02 -08:00
name_table.c
tipc: rename functions defined in subscr.c
2015-05-04 15:04:00 -04:00
name_table.h
tipc: convert legacy nl name table dump to nl compat
2015-02-09 13:20:48 -08:00
net.c
tipc: simplify include dependencies
2015-05-14 12:24:45 -04:00
net.h
tipc: make tipc node table aware of net namespace
2015-01-12 16:24:32 -05:00
netlink.c
tipc: move and rename the legacy nl api to "nl compat"
2015-02-09 13:20:47 -08:00
netlink.h
tipc: move and rename the legacy nl api to "nl compat"
2015-02-09 13:20:47 -08:00
netlink_compat.c
tipc: send explicit not supported error in nl compat
2015-05-09 16:40:03 -04:00
node.c
tipc: reduce locking scope during packet reception
2015-07-20 20:41:16 -07:00
node.h
tipc: reduce locking scope during packet reception
2015-07-20 20:41:16 -07:00
server.c
tipc: use sock_create_kern interface to create kernel socket
2015-05-14 13:39:33 -04:00
server.h
tipc: make subscriber server support net namespace
2015-01-12 16:24:33 -05:00
socket.c
tipc: clean up socket layer message reception
2015-07-26 16:31:50 -07:00
socket.h
tipc: clean up socket layer message reception
2015-07-26 16:31:50 -07:00
subscr.c
tipc: adjust locking policy of subscription
2015-05-04 15:04:01 -04:00
subscr.h
tipc: rename functions defined in subscr.c
2015-05-04 15:04:00 -04:00
sysctl.c
tipc: add name distributor resiliency queue
2014-09-01 17:51:48 -07:00
udp_media.c
udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb().
2015-04-07 15:29:08 -04:00