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: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Perry Hung <perry@leaflabs.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c
index b718a88..b94a84a 100644
--- a/drivers/staging/greybus/svc.c
+++ b/drivers/staging/greybus/svc.c
@@ -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 @@
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);