Hi Ying,

Thanks for the reviewing the series. I will do the required updates and post v2
soon.

Regards Partha


On 08/03/2016 10:59 AM, Xue, Ying wrote:
> Hi Partha,
>
> Thanks, it's really a good job!
>
> Each of patch in the series is very clean, and easily understandable.
>
> I have reviewed all of patches. Except for some minor comments, I have no 
> other objections. 
>
> Please add my reviewed-by tag if you want.
>
> Regards,
> Ying
>
> -----Original Message-----
> From: Parthasarathy Bhuvaragan [mailto:parthasarathy.bhuvara...@ericsson.com] 
> Sent: Monday, July 25, 2016 8:25 PM
> To: tipc-discussion@lists.sourceforge.net; jon.ma...@ericsson.com; 
> ma...@donjonn.com; Xue, Ying; erik.hu...@gmail.com
> Subject: [RFC PATCH v1 00/12] tipc: create socket FSM using sk_state only
>
> The following issues with the current socket layer hinders socket diagnostics 
> implementation, which led to this patch series.
>
> 1. tipc socket state is derived from multiple variables like
>    sock->state, tsk->probing_state and tsk->connected. This style forces
>    us to export multiple attributes to the user space, which has to be
>    backward compatible.
>
> 2. Abuse of sock->state cannot be exported to user-space without
>    requiring tipc specific hacks in the user-space.
>    - For connection less (CL) sockets sock->state is overloaded to
>      tipc state SS_READY.
>    - For connection oriented (CO) listening socket sock->state is
>      overloaded to tipc state SS_LISTEN.
>
> This series is split into three:
> 1. A bug fix in patch-1
> 2. Express all tipc states using a single variable. This is done in patch#2-5.
> 3. Migrate the new tipc states to sk->sk_state. This is done in patch#6-12.
>
> The figures below represents the FSM after this series:
>
> Unconnected Sockets:
> +------------------+        +--------------------+
> | TIPC_UNCONNECTED |------->| TIPC_DISCONNECTING |
> +------------------+        +--------------------+
>
> Stream Server Listening Socket:
> +------------------+        +-------------+
> | TIPC_UNCONNECTED |------->| TIPC_LISTEN |
> +------------------+        +-------------+
>                                   |
> +--------------------+            |
> | TIPC_DISCONNECTING |<-----------+
> +--------------------+
>
> Stream Server Data Socket:
> +-----------------+        +------------------+
> |TIPC_UNCONNECTED |------> | TIPC_ESTABLISHED |<---+
> +-----------------+        +------------------+    |
>                                ^   |    |          |
>                                |   |    +----------+
>                                |   v
> +------------------+      +-------------+
> |TIPC_DISCONNECTING|<-----|TIPC_PROBING |
> +------------------+      +-------------+
>
> Stream Socket Client:
> +-----------------+       +-----------------+
> |TIPC_UNCONNECTED |------>| TIPC_CONNECTING |
> +-----------------+       +-----------------+
>                                   |
>                                   |
>                                   v
>                           +------------------+
>                           | TIPC_ESTABLISHED |<---+
>                           +------------------+    |
>                                ^   |    |         |
>                                |   |    +---------+
>                                |   v
> +------------------+      +-------------+
> |TIPC_DISCONNECTING|<-----|TIPC_PROBING |
> +------------------+      +-------------+
>
> NOTE:
> This is just a base refractoring required for socket diagnostics.
> The patches for socket diagnostics will be sent when they are ready.
>
> Parthasarathy Bhuvaragan (12):
>   tipc: set kern=0 in sk_alloc() during tipc_accept()
>   tipc: rename tsk->remote to tsk->peer for consistent naming
>   tipc: remove tsk->connected for connection less sockets
>   tipc: remove tsk->connected from tipc_sock
>   tipc: remove probing_intv from tipc_sock
>   tipc: remove socket state SS_READY
>   tipc: create TIPC_LISTEN as a new sk_state
>   tipc: create TIPC_PROBING/TIPC_ESTABLISHED as new sk_states
>   tipc: create TIPC_UNCONNECTED as a new sk_state
>   tipc: create TIPC_DISCONNECTING as a new sk_state
>   tipc: create TIPC_CONNECTING as a new sk_state
>   tipc: remove SS_CONNECTED sock state
>
>  include/uapi/linux/tipc.h |  12 ++
>  net/tipc/socket.c         | 344 
> ++++++++++++++++++++++++++--------------------
>  2 files changed, 207 insertions(+), 149 deletions(-)
>
> --
> 2.1.4
>

------------------------------------------------------------------------------
_______________________________________________
tipc-discussion mailing list
tipc-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to