Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b226497 authored by Perry Hung's avatar Perry Hung Committed by Greg Kroah-Hartman
Browse files

greybus: svc: add flags and traffic class parameter to connection create op



The AP needs to be able to specify L4 CPort flags and traffic class
parameters on a connection-by-connection basis. Extend the connection
create operation to accept these. Since there's no policy to decide
these, fix them at TC0 with end-to-end-flow control, controlled segment
dropping, and CPort safety valve enabled.

Tested-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarPerry Hung <perry@leaflabs.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 75a60ed2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -606,6 +606,8 @@ struct gb_svc_conn_create_request {
	__u16	cport1_id;
	__u8	intf2_id;
	__u16	cport2_id;
	__u8	tc;
	__u8	flags;
};
/* connection create response has no payload */

+10 −0
Original line number Diff line number Diff line
@@ -9,6 +9,10 @@

#include "greybus.h"

#define CPORT_FLAGS_E2EFC       (1)
#define CPORT_FLAGS_CSD_N       (2)
#define CPORT_FLAGS_CSV_N       (4)

struct gb_svc {
	struct gb_connection	*connection;
	u8			version_major;
@@ -98,6 +102,12 @@ static int connection_create_operation(struct gb_svc *svc,
	request.cport1_id = cport1_id;
	request.intf2_id = intf2_id;
	request.cport2_id = cport2_id;
	/*
	 * XXX: fix connections paramaters to TC0 and all CPort flags
	 * for now.
	 */
	request.tc = 0;
	request.flags = CPORT_FLAGS_CSV_N | CPORT_FLAGS_E2EFC;

	return gb_operation_sync(svc->connection, GB_SVC_TYPE_CONN_CREATE,
				 &request, sizeof(request), NULL, 0);