1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311
|
#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
|