mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-19 17:11:03 +00:00
d6c31c1261
This patch changes B_UINT8 to u8 in cntrl_SignalingInterface.h. Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
311 lines
12 KiB
C
311 lines
12 KiB
C
#ifndef CNTRL_SIGNALING_INTERFACE_
|
|
#define CNTRL_SIGNALING_INTERFACE_
|
|
|
|
#define DSA_REQ 11
|
|
#define DSA_RSP 12
|
|
#define DSA_ACK 13
|
|
#define DSC_REQ 14
|
|
#define DSC_RSP 15
|
|
#define DSC_ACK 16
|
|
#define DSD_REQ 17
|
|
#define DSD_RSP 18
|
|
#define DSD_ACK 19
|
|
#define MAX_CLASSIFIERS_IN_SF 4
|
|
|
|
#define MAX_STRING_LEN 20
|
|
#define MAX_PHS_LENGTHS 255
|
|
#define VENDOR_PHS_PARAM_LENGTH 10
|
|
#define MAX_NUM_ACTIVE_BS 10
|
|
#define AUTH_TOKEN_LENGTH 10
|
|
#define NUM_HARQ_CHANNELS 16 /* Changed from 10 to 16 to accommodate all HARQ channels */
|
|
#define VENDOR_CLASSIFIER_PARAM_LENGTH 1 /* Changed the size to 1 byte since we dnt use it */
|
|
#define VENDOR_SPECIF_QOS_PARAM 1
|
|
#define VENDOR_PHS_PARAM_LENGTH 10
|
|
#define MBS_CONTENTS_ID_LENGTH 10
|
|
#define GLOBAL_SF_CLASSNAME_LENGTH 6
|
|
|
|
#define TYPE_OF_SERVICE_LENGTH 3
|
|
#define IP_MASKED_SRC_ADDRESS_LENGTH 32
|
|
#define IP_MASKED_DEST_ADDRESS_LENGTH 32
|
|
#define PROTOCOL_SRC_PORT_RANGE_LENGTH 4
|
|
#define PROTOCOL_DEST_PORT_RANGE_LENGTH 4
|
|
#define ETHERNET_DEST_MAC_ADDR_LENGTH 12
|
|
#define ETHERNET_SRC_MAC_ADDR_LENGTH 12
|
|
#define NUM_ETHERTYPE_BYTES 3
|
|
#define NUM_IPV6_FLOWLABLE_BYTES 3
|
|
|
|
struct bcm_packet_class_rules {
|
|
/* 16bit UserPriority Of The Service Flow */
|
|
u16 u16UserPriority;
|
|
/* 16bit VLANID Of The Service Flow */
|
|
u16 u16VLANID;
|
|
/* 16bit Packet Classification RuleIndex Of The Service Flow */
|
|
u16 u16PacketClassificationRuleIndex;
|
|
/* 8bit Classifier Rule Priority Of The Service Flow */
|
|
u8 u8ClassifierRulePriority;
|
|
/* Length of IP TypeOfService field */
|
|
u8 u8IPTypeOfServiceLength;
|
|
/* 3bytes IP TypeOfService */
|
|
u8 u8IPTypeOfService[TYPE_OF_SERVICE_LENGTH];
|
|
/* Protocol used in classification of Service Flow */
|
|
u8 u8Protocol;
|
|
/* Length of IP Masked Source Address */
|
|
u8 u8IPMaskedSourceAddressLength;
|
|
/* IP Masked Source Address used in classification for the Service Flow */
|
|
u8 u8IPMaskedSourceAddress[IP_MASKED_SRC_ADDRESS_LENGTH];
|
|
/* Length of IP Destination Address */
|
|
u8 u8IPDestinationAddressLength;
|
|
/* IP Destination Address used in classification for the Service Flow */
|
|
u8 u8IPDestinationAddress[IP_MASKED_DEST_ADDRESS_LENGTH];
|
|
/* Length of Protocol Source Port Range */
|
|
u8 u8ProtocolSourcePortRangeLength;
|
|
/* Protocol Source Port Range used in the Service Flow */
|
|
u8 u8ProtocolSourcePortRange[PROTOCOL_SRC_PORT_RANGE_LENGTH];
|
|
/* Length of Protocol Dest Port Range */
|
|
u8 u8ProtocolDestPortRangeLength;
|
|
/* Protocol Dest Port Range used in the Service Flow */
|
|
u8 u8ProtocolDestPortRange[PROTOCOL_DEST_PORT_RANGE_LENGTH];
|
|
/* Length of Ethernet Destination MAC Address */
|
|
u8 u8EthernetDestMacAddressLength;
|
|
/* Ethernet Destination MAC Address used in classification of the Service Flow */
|
|
u8 u8EthernetDestMacAddress[ETHERNET_DEST_MAC_ADDR_LENGTH];
|
|
/* Length of Ethernet Source MAC Address */
|
|
u8 u8EthernetSourceMACAddressLength;
|
|
/* Ethernet Source MAC Address used in classification of the Service Flow */
|
|
u8 u8EthernetSourceMACAddress[ETHERNET_SRC_MAC_ADDR_LENGTH];
|
|
/* Length of Ethertype */
|
|
u8 u8EthertypeLength;
|
|
/* 3bytes Ethertype Of The Service Flow */
|
|
u8 u8Ethertype[NUM_ETHERTYPE_BYTES];
|
|
/* 8bit Associated PHSI Of The Service Flow */
|
|
u8 u8AssociatedPHSI;
|
|
/* Length of Vendor Specific Classifier Param length Of The Service Flow */
|
|
u8 u8VendorSpecificClassifierParamLength;
|
|
/* Vendor Specific Classifier Param Of The Service Flow */
|
|
u8 u8VendorSpecificClassifierParam[VENDOR_CLASSIFIER_PARAM_LENGTH];
|
|
/* Length Of IPv6 Flow Lable of the Service Flow */
|
|
u8 u8IPv6FlowLableLength;
|
|
/* IPv6 Flow Lable Of The Service Flow */
|
|
u8 u8IPv6FlowLable[NUM_IPV6_FLOWLABLE_BYTES];
|
|
/* Action associated with the classifier rule */
|
|
u8 u8ClassifierActionRule;
|
|
u16 u16ValidityBitMap;
|
|
};
|
|
|
|
struct bcm_phs_rules {
|
|
/* 8bit PHS Index Of The Service Flow */
|
|
u8 u8PHSI;
|
|
/* PHSF Length Of The Service Flow */
|
|
u8 u8PHSFLength;
|
|
/* String of bytes containing header information to be suppressed by the sending CS and reconstructed by the receiving CS */
|
|
u8 u8PHSF[MAX_PHS_LENGTHS];
|
|
/* PHSM Length Of The Service Flow */
|
|
u8 u8PHSMLength;
|
|
/* PHS Mask for the SF */
|
|
u8 u8PHSM[MAX_PHS_LENGTHS];
|
|
/* 8bit Total number of bytes to be suppressed for the Service Flow */
|
|
u8 u8PHSS;
|
|
/* 8bit Indicates whether or not Packet Header contents need to be verified prior to suppression */
|
|
u8 u8PHSV;
|
|
/* Vendor Specific PHS param Length Of The Service Flow */
|
|
u8 u8VendorSpecificPHSParamsLength;
|
|
/* Vendor Specific PHS param Of The Service Flow */
|
|
u8 u8VendorSpecificPHSParams[VENDOR_PHS_PARAM_LENGTH];
|
|
u8 u8Padding[2];
|
|
};
|
|
|
|
struct bcm_convergence_types {
|
|
/* 8bit Phs Classfier Action Of The Service Flow */
|
|
u8 u8ClassfierDSCAction;
|
|
/* 8bit Phs DSC Action Of The Service Flow */
|
|
u8 u8PhsDSCAction;
|
|
/* 16bit Padding */
|
|
u8 u8Padding[2];
|
|
/* Packet classification rules structure */
|
|
struct bcm_packet_class_rules cCPacketClassificationRule;
|
|
/* Payload header suppression rules structure */
|
|
struct bcm_phs_rules cPhsRule;
|
|
};
|
|
|
|
struct bcm_connect_mgr_params {
|
|
/* 32bitSFID Of The Service Flow */
|
|
u32 u32SFID;
|
|
/* 32bit Maximum Sustained Traffic Rate of the Service Flow */
|
|
u32 u32MaxSustainedTrafficRate;
|
|
/* 32bit Maximum Traffic Burst allowed for the Service Flow */
|
|
u32 u32MaxTrafficBurst;
|
|
/* 32bit Minimum Reserved Traffic Rate of the Service Flow */
|
|
u32 u32MinReservedTrafficRate;
|
|
/* 32bit Tolerated Jitter of the Service Flow */
|
|
u32 u32ToleratedJitter;
|
|
/* 32bit Maximum Latency of the Service Flow */
|
|
u32 u32MaximumLatency;
|
|
/* 16bitCID Of The Service Flow */
|
|
u16 u16CID;
|
|
/* 16bit SAID on which the service flow being set up shall be mapped */
|
|
u16 u16TargetSAID;
|
|
/* 16bit ARQ window size negotiated */
|
|
u16 u16ARQWindowSize;
|
|
/* 16bit Total Tx delay incl sending, receiving & processing delays */
|
|
u16 u16ARQRetryTxTimeOut;
|
|
/* 16bit Total Rx delay incl sending, receiving & processing delays */
|
|
u16 u16ARQRetryRxTimeOut;
|
|
/* 16bit ARQ block lifetime */
|
|
u16 u16ARQBlockLifeTime;
|
|
/* 16bit ARQ Sync loss timeout */
|
|
u16 u16ARQSyncLossTimeOut;
|
|
/* 16bit ARQ Purge timeout */
|
|
u16 u16ARQRxPurgeTimeOut;
|
|
/* TODO::Remove this once we move to a new CORR2 driver
|
|
* brief Size of an ARQ block
|
|
*/
|
|
u16 u16ARQBlockSize;
|
|
/* #endif */
|
|
/* 16bit Nominal interval b/w consecutive SDU arrivals at MAC SAP */
|
|
u16 u16SDUInterArrivalTime;
|
|
/* 16bit Specifies the time base for rate measurement */
|
|
u16 u16TimeBase;
|
|
/* 16bit Interval b/w Successive Grant oppurtunities */
|
|
u16 u16UnsolicitedGrantInterval;
|
|
/* 16bit Interval b/w Successive Polling grant oppurtunities */
|
|
u16 u16UnsolicitedPollingInterval;
|
|
/* internal var to get the overhead */
|
|
u16 u16MacOverhead;
|
|
/* MBS contents Identifier */
|
|
u16 u16MBSContentsID[MBS_CONTENTS_ID_LENGTH];
|
|
/* MBS contents Identifier length */
|
|
u8 u8MBSContentsIDLength;
|
|
/* ServiceClassName Length Of The Service Flow */
|
|
u8 u8ServiceClassNameLength;
|
|
/* 32bytes ServiceClassName Of The Service Flow */
|
|
u8 u8ServiceClassName[32];
|
|
/* 8bit Indicates whether or not MBS service is requested for this Serivce Flow */
|
|
u8 u8MBSService;
|
|
/* 8bit QOS Parameter Set specifies proper application of QoS parameters to Provisioned, Admitted and Active sets */
|
|
u8 u8QosParamSet;
|
|
/* 8bit Traffic Priority Of the Service Flow */
|
|
u8 u8TrafficPriority;
|
|
/* 8bit Uplink Grant Scheduling Type of The Service Flow */
|
|
u8 u8ServiceFlowSchedulingType;
|
|
/* 8bit Request transmission Policy of the Service Flow */
|
|
u8 u8RequesttransmissionPolicy;
|
|
/* 8bit Specifies whether SDUs for this Service flow are of FixedLength or Variable length */
|
|
u8 u8FixedLengthVSVariableLengthSDUIndicator;
|
|
/* 8bit Length of the SDU for a fixed length SDU service flow */
|
|
u8 u8SDUSize;
|
|
/* 8bit Indicates whether or not ARQ is requested for this connection */
|
|
u8 u8ARQEnable;
|
|
/* < 8bit Indicates whether or not data has tobe delivered in order to higher layer */
|
|
u8 u8ARQDeliverInOrder;
|
|
/* 8bit Receiver ARQ ACK processing time */
|
|
u8 u8RxARQAckProcessingTime;
|
|
/* 8bit Convergence Sublayer Specification Of The Service Flow */
|
|
u8 u8CSSpecification;
|
|
/* 8 bit Type of data delivery service */
|
|
u8 u8TypeOfDataDeliveryService;
|
|
/* 8bit Specifies whether a service flow may generate Paging */
|
|
u8 u8PagingPreference;
|
|
/* 8bit Indicates the MBS Zone through which the connection or virtual connection is valid */
|
|
u8 u8MBSZoneIdentifierassignment;
|
|
/* 8bit Specifies whether traffic on SF should generate MOB_TRF_IND to MS in sleep mode */
|
|
u8 u8TrafficIndicationPreference;
|
|
/* 8bit Speciifes the length of predefined Global QoS parameter set encoding for this SF */
|
|
u8 u8GlobalServicesClassNameLength;
|
|
/* 6 byte Speciifes the predefined Global QoS parameter set encoding for this SF */
|
|
u8 u8GlobalServicesClassName[GLOBAL_SF_CLASSNAME_LENGTH];
|
|
/* 8bit Indicates whether or not SN feedback is enabled for the conn */
|
|
u8 u8SNFeedbackEnabled;
|
|
/* Indicates the size of the Fragment Sequence Number for the connection */
|
|
u8 u8FSNSize;
|
|
/* 8bit Number of CIDs in active BS list */
|
|
u8 u8CIDAllocation4activeBSsLength;
|
|
/* CIDs of BS in the active list */
|
|
u8 u8CIDAllocation4activeBSs[MAX_NUM_ACTIVE_BS];
|
|
/* Specifies if PDU extended subheader should be applied on every PDU on this conn */
|
|
u8 u8PDUSNExtendedSubheader4HarqReordering;
|
|
/* 8bit Specifies whether the connection uses HARQ or not */
|
|
u8 u8HARQServiceFlows;
|
|
/* Specifies the length of Authorization token */
|
|
u8 u8AuthTokenLength;
|
|
/* Specifies the Authorization token */
|
|
u8 u8AuthToken[AUTH_TOKEN_LENGTH];
|
|
/* specifes Number of HARQ channels used to carry data length */
|
|
u8 u8HarqChannelMappingLength;
|
|
/* specifes HARQ channels used to carry data */
|
|
u8 u8HARQChannelMapping[NUM_HARQ_CHANNELS];
|
|
/* 8bit Length of Vendor Specific QoS Params */
|
|
u8 u8VendorSpecificQoSParamLength;
|
|
/* 1byte Vendor Specific QoS Param Of The Service Flow */
|
|
u8 u8VendorSpecificQoSParam[VENDOR_SPECIF_QOS_PARAM];
|
|
/* indicates total classifiers in the SF */
|
|
u8 u8TotalClassifiers; /* < Total number of valid classifiers */
|
|
u8 bValid; /* < Validity flag */
|
|
u8 u8Padding; /* < Padding byte */
|
|
/*
|
|
* Structure for Convergence SubLayer Types with a maximum of 4 classifiers
|
|
*/
|
|
struct bcm_convergence_types cConvergenceSLTypes[MAX_CLASSIFIERS_IN_SF];
|
|
};
|
|
|
|
struct bcm_add_request {
|
|
u8 u8Type; /* < Type */
|
|
u8 eConnectionDir; /* < Connection direction */
|
|
/* brief 16 bit TID */
|
|
u16 u16TID; /* < 16bit TID */
|
|
/* brief 16bitCID */
|
|
u16 u16CID; /* < 16bit CID */
|
|
/* brief 16bitVCID */
|
|
u16 u16VCID; /* < 16bit VCID */
|
|
struct bcm_connect_mgr_params *psfParameterSet; /* < connection manager parameters */
|
|
};
|
|
|
|
struct bcm_add_indication {
|
|
u8 u8Type; /* < Type */
|
|
u8 eConnectionDir; /* < Connection Direction */
|
|
/* brief 16 bit TID */
|
|
u16 u16TID; /* < TID */
|
|
/* brief 16bitCID */
|
|
u16 u16CID; /* < 16bitCID */
|
|
/* brief 16bitVCID */
|
|
u16 u16VCID; /* < 16bitVCID */
|
|
struct bcm_connect_mgr_params *psfAuthorizedSet; /* Authorized set of connection manager parameters */
|
|
struct bcm_connect_mgr_params *psfAdmittedSet; /* Admitted set of connection manager parameters */
|
|
struct bcm_connect_mgr_params *psfActiveSet; /* Activeset of connection manager parameters */
|
|
u8 u8CC; /* <Confirmation Code */
|
|
u8 u8Padd; /* < 8-bit Padding */
|
|
u16 u16Padd; /* < 16 bit Padding */
|
|
};
|
|
|
|
struct bcm_del_request {
|
|
u8 u8Type; /* < Type */
|
|
u8 u8Padding; /* < Padding byte */
|
|
u16 u16TID; /* < TID */
|
|
/* brief 32bitSFID */
|
|
u32 u32SFID; /* < SFID */
|
|
};
|
|
|
|
struct bcm_del_indication {
|
|
u8 u8Type; /* < Type */
|
|
u8 u8Padding; /* < Padding */
|
|
u16 u16TID; /* < TID */
|
|
/* brief 16bitCID */
|
|
u16 u16CID; /* < CID */
|
|
/* brief 16bitVCID */
|
|
u16 u16VCID; /* < VCID */
|
|
/* brief 32bitSFID */
|
|
u32 u32SFID; /* < SFID */
|
|
/* brief 8bit Confirmation code */
|
|
u8 u8ConfirmationCode; /* < Confirmation code */
|
|
u8 u8Padding1[3]; /* < 3 byte Padding */
|
|
};
|
|
|
|
struct bcm_stim_sfhostnotify {
|
|
u32 SFID; /* SFID of the service flow */
|
|
u16 newCID; /* the new/changed CID */
|
|
u16 VCID; /* Get new Vcid if the flow has been made active in CID update TLV, but was inactive earlier or the orig vcid */
|
|
u8 RetainSF; /* Indication to Host if the SF is to be retained or deleted; if TRUE-retain else delete */
|
|
u8 QoSParamSet; /* QoS paramset of the retained SF */
|
|
u16 u16reserved; /* For byte alignment */
|
|
};
|
|
|
|
#endif
|