Re: [PATCH v7 5/8] thunderbolt: Networking state machine

From: Greg KH
Date: Tue Sep 27 2016 - 10:14:15 EST


On Tue, Sep 27, 2016 at 04:43:38PM +0300, Amir Levy wrote:
> This patch builds the peer to peer communication path.
> Communication is established by a negotiation process whereby messages are
> sent back and forth between the peers until a connection is established.
> This includes the Thunderbolt Network driver communication with the second
> peer via Intel Connection Manager(ICM) firmware.
> +--------------------+ +--------------------+
> |Host 1 | |Host 2 |
> | | | |
> | +-----------+ | | +-----------+ |
> | |Thunderbolt| | | |Thunderbolt| |
> | |Networking | | | |Networking | |
> | |Driver | | | |Driver | |
> | +-----------+ | | +-----------+ |
> | ^ | | ^ |
> | | | | | |
> | +------------+---+ | | +------------+---+ |
> | |Thunderbolt | | | | |Thunderbolt | | |
> | |Controller v | | | |Controller v | |
> | | +---+ | | | | +---+ | |
> | | |ICM|<-+-+------------+-+-------->|ICM| | |
> | | +---+ | | | | +---+ | |
> | +----------------+ | | +----------------+ |
> +--------------------+ +--------------------+
> Note that this patch only establishes the link between the two hosts and
> not Network Packet handling - this is dealt with in the next patch.
>
> Signed-off-by: Amir Levy <amir.jer.levy@xxxxxxxxx>
> ---
> drivers/thunderbolt/icm/Makefile | 2 +-
> drivers/thunderbolt/icm/icm_nhi.c | 303 ++++++++++++++-
> drivers/thunderbolt/icm/net.c | 793 ++++++++++++++++++++++++++++++++++++++
> drivers/thunderbolt/icm/net.h | 70 ++++
> 4 files changed, 1157 insertions(+), 11 deletions(-)
> create mode 100644 drivers/thunderbolt/icm/net.c
>
> diff --git a/drivers/thunderbolt/icm/Makefile b/drivers/thunderbolt/icm/Makefile
> index f0d0fbb..94a2797 100644
> --- a/drivers/thunderbolt/icm/Makefile
> +++ b/drivers/thunderbolt/icm/Makefile
> @@ -1,2 +1,2 @@
> obj-${CONFIG_THUNDERBOLT_ICM} += thunderbolt-icm.o
> -thunderbolt-icm-objs := icm_nhi.o
> +thunderbolt-icm-objs := icm_nhi.o net.o
> diff --git a/drivers/thunderbolt/icm/icm_nhi.c b/drivers/thunderbolt/icm/icm_nhi.c
> index 984aa7c..578eb14 100644
> --- a/drivers/thunderbolt/icm/icm_nhi.c
> +++ b/drivers/thunderbolt/icm/icm_nhi.c
> @@ -74,6 +74,12 @@ static const struct nla_policy nhi_genl_policy[NHI_ATTR_MAX + 1] = {
> .len = TBT_ICM_RING_MAX_FRAME_SIZE },
> [NHI_ATTR_MSG_FROM_ICM] = { .type = NLA_BINARY,
> .len = TBT_ICM_RING_MAX_FRAME_SIZE },
> + [NHI_ATTR_LOCAL_ROUTE_STRING] = {.len = sizeof(struct route_string)},
> + [NHI_ATTR_LOCAL_UUID] = { .len = sizeof(uuid_be) },
> + [NHI_ATTR_REMOTE_UUID] = { .len = sizeof(uuid_be) },

Be consistent in your choice of whitespace please.