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>
This commit is contained in:
parent
9c1552d7c4
commit
e50b7be565
@ -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 */
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user