OpenNSL API Guide and Reference Manual
Welcome
OpenNSL Documentation
API Reference
Files
File List
Globals
include
opennsl
rx.h
Go to the documentation of this file.
1
4
/*****************************************************************************
5
*
6
* (C) Copyright Broadcom Corporation 2013-2016
7
*
8
* Licensed under the Apache License, Version 2.0 (the "License");
9
* you may not use this file except in compliance with the License.
10
*
11
* You may obtain a copy of the License at
12
* http://www.apache.org/licenses/LICENSE-2.0
13
*
14
* Unless required by applicable law or agreed to in writing, software
15
* distributed under the License is distributed on an "AS IS" BASIS,
16
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
* See the License for the specific language governing permissions and
18
* limitations under the License.
19
*
20
***************************************************************************/
24
#ifndef __OPENNSL_RX_H__
25
#define __OPENNSL_RX_H__
26
27
#include <
opennsl/types.h
>
28
#include <
opennsl/pkt.h
>
29
#include <
opennsl/tx.h
>
30
#include <
opennsl/mirror.h
>
31
32
#define OPENNSL_RX_CHANNELS 4
33
#define OPENNSL_CMICX_RX_CHANNELS 8
35
#define OPENNSL_RCO_F_COS_ACCEPT(cos) (1 << (cos))
36
#define OPENNSL_RCO_F_ALL_COS 0x40000000
37
38
typedef
enum
opennsl_rx_e
{
39
OPENNSL_RX_INVALID
= 0,
40
OPENNSL_RX_NOT_HANDLED
= 1,
41
OPENNSL_RX_HANDLED
= 2,
42
OPENNSL_RX_HANDLED_OWNED
= 3
43
}
opennsl_rx_t
;
44
/* __doxy_func_body_end__ */
45
46
typedef
opennsl_rx_t
(*
opennsl_rx_cb_f
)(
47
int
unit,
48
opennsl_pkt_t
*pkt,
49
void
*cookie);
50
51
typedef
int (*
opennsl_rx_alloc_f
)(
52
int
reserved1,
53
int
reserved2,
54
uint32
reserved3,
55
void
**reserved4);
56
57
typedef
int (*
opennsl_rx_free_f
)(
58
int
reserved1,
59
void
*reserved2);
60
75
typedef
struct
opennsl_rx_chan_cfg_s
{
76
int
chains
;
77
int
rate_pps
;
78
int
flags
;
79
uint32
cos_bmp
;
80
}
opennsl_rx_chan_cfg_t
;
81
/* __doxy_func_body_end__ */
82
84
typedef
struct
opennsl_rx_cfg_s
{
85
int
pkt_size
;
86
int
pkts_per_chain
;
87
int
global_pps
;
89
int
max_burst
;
91
opennsl_rx_chan_cfg_t
chan_cfg
[
OPENNSL_CMICX_RX_CHANNELS
];
92
opennsl_rx_alloc_f
rx_alloc
;
93
opennsl_rx_free_f
rx_free
;
94
int32
flags
;
95
int
num_of_cpu_addresses
;
98
int
*
cpu_address
;
100
}
opennsl_rx_cfg_t
;
101
/* __doxy_func_body_end__ */
102
103
#define OPENNSL_RX_REASON_NAMES_INITIALIZER _SHR_RX_REASON_NAMES_INITIALIZER
104
110
typedef
enum
opennsl_rx_reason_e
{
111
opennslRxReasonInvalid
=
_SHR_RX_INVALID
,
112
opennslRxReasonArp
=
_SHR_RX_ARP
,
113
opennslRxReasonBpdu
=
_SHR_RX_BPDU
,
114
opennslRxReasonBroadcast
=
_SHR_RX_BROADCAST
,
115
opennslRxReasonClassBasedMove
=
_SHR_RX_CLASS_BASED_MOVE
,
116
opennslRxReasonClassTagPackets
=
_SHR_RX_CLASS_TAG_PACKETS
,
117
opennslRxReasonControl
=
_SHR_RX_CONTROL
,
118
opennslRxReasonCpuLearn
=
_SHR_RX_CPU_LEARN
,
119
opennslRxReasonDestLookupFail
=
_SHR_RX_DEST_LOOKUP_FAIL
,
120
opennslRxReasonDhcp
=
_SHR_RX_DHCP
,
121
opennslRxReasonDosAttack
=
_SHR_RX_DOS_ATTACK
,
122
opennslRxReasonE2eHolIbp
=
_SHR_RX_E2E_HOL_IBP
,
123
opennslRxReasonEncapHigigError
=
_SHR_RX_ENCAP_HIGIG_ERROR
,
124
opennslRxReasonFilterMatch
=
_SHR_RX_FILTER_MATCH
,
125
opennslRxReasonGreChecksum
=
_SHR_RX_GRE_CHECKSUM
,
126
opennslRxReasonGreSourceRoute
=
_SHR_RX_GRE_SOURCE_ROUTE
,
127
opennslRxReasonHigigControl
=
_SHR_RX_HIGIG_CONTROL
,
128
opennslRxReasonHigigHdrError
=
_SHR_RX_HIGIG_HDR_ERROR
,
129
opennslRxReasonIcmpRedirect
=
_SHR_RX_ICMP_REDIRECT
,
130
opennslRxReasonIgmp
=
_SHR_RX_IGMP
,
131
opennslRxReasonIngressFilter
=
_SHR_RX_INGRESS_FILTER
,
132
opennslRxReasonIp
=
_SHR_RX_IP
,
133
opennslRxReasonIpfixRateViolation
=
_SHR_RX_IPFIX_RATE_VIOLATION
,
134
opennslRxReasonIpMcastMiss
=
_SHR_RX_IP_MCAST_MISS
,
135
opennslRxReasonIpmcReserved
=
_SHR_RX_IPMC_RSVD
,
136
opennslRxReasonIpOptionVersion
=
_SHR_RX_IP_OPTION_VERSION
,
137
opennslRxReasonIpmc
=
_SHR_RX_IPMC
,
138
opennslRxReasonL2Cpu
=
_SHR_RX_L2_CPU
,
139
opennslRxReasonL2DestMiss
=
_SHR_RX_L2_DEST_MISS
,
140
opennslRxReasonL2LearnLimit
=
_SHR_RX_L2_LEARN_LIMIT
,
141
opennslRxReasonL2Move
=
_SHR_RX_L2_MOVE
,
142
opennslRxReasonL2MtuFail
=
_SHR_RX_L2_MTU_FAIL
,
143
opennslRxReasonL2NonUnicastMiss
=
_SHR_RX_L2_NON_UNICAST_MISS
,
144
opennslRxReasonL2SourceMiss
=
_SHR_RX_L2_SOURCE_MISS
,
145
opennslRxReasonL3AddrBindFail
=
_SHR_RX_L3_ADDR_BIND_FAIL
,
146
opennslRxReasonL3DestMiss
=
_SHR_RX_L3_DEST_MISS
,
147
opennslRxReasonL3HeaderError
=
_SHR_RX_L3_HEADER_ERROR
,
148
opennslRxReasonL3MtuFail
=
_SHR_RX_L3_MTU_FAIL
,
149
opennslRxReasonL3Slowpath
=
_SHR_RX_L3_SLOW_PATH
,
150
opennslRxReasonL3SourceMiss
=
_SHR_RX_L3_SOURCE_MISS
,
151
opennslRxReasonL3SourceMove
=
_SHR_RX_L3_SOUCE_MOVE
,
152
opennslRxReasonMartianAddr
=
_SHR_RX_MARTIAN_ADDR
,
153
opennslRxReasonMcastIdxError
=
_SHR_RX_MCAST_IDX_ERROR
,
154
opennslRxReasonMcastMiss
=
_SHR_RX_MCAST_MISS
,
155
opennslRxReasonMimServiceError
=
_SHR_RX_MIM_SERVICE_ERROR
,
156
opennslRxReasonMplsCtrlWordError
=
_SHR_RX_MPLS_CTRL_WORD_ERROR
,
157
opennslRxReasonMplsError
=
_SHR_RX_MPLS_ERROR
,
158
opennslRxReasonMplsInvalidAction
=
_SHR_RX_MPLS_INVALID_ACTION
,
159
opennslRxReasonMplsInvalidPayload
=
_SHR_RX_MPLS_INVALID_PAYLOAD
,
160
opennslRxReasonMplsLabelMiss
=
_SHR_RX_MPLS_LABEL_MISS
,
161
opennslRxReasonMplsSequenceNumber
=
_SHR_RX_MPLS_SEQUENCE_NUMBER
,
162
opennslRxReasonMplsTtl
=
_SHR_RX_MPLS_TTL
,
163
opennslRxReasonMulticast
=
_SHR_RX_MULTICAST
,
164
opennslRxReasonNhop
=
_SHR_RX_NHOP
,
165
opennslRxReasonOAMError
=
_SHR_RX_OAM_ERROR
,
166
opennslRxReasonOAMSlowpath
=
_SHR_RX_OAM_SLOW_PATH
,
167
opennslRxReasonOAMLMDM
=
_SHR_RX_OAM_LMDM
,
168
opennslRxReasonParityError
=
_SHR_RX_PARITY_ERROR
,
169
opennslRxReasonProtocol
=
_SHR_RX_PROTOCOL
,
170
opennslRxReasonSampleDest
=
_SHR_RX_SAMPLE_DEST
,
171
opennslRxReasonSampleSource
=
_SHR_RX_SAMPLE_SOURCE
,
172
opennslRxReasonSharedVlanMismatch
=
_SHR_RX_SHARED_VLAN_MISMATCH
,
173
opennslRxReasonSourceRoute
=
_SHR_RX_SOURCE_ROUTE
,
174
opennslRxReasonTimeStamp
=
_SHR_RX_TIME_STAMP
,
175
opennslRxReasonTtl
=
_SHR_RX_TTL
,
176
opennslRxReasonTtl1
=
_SHR_RX_TTL1
,
177
opennslRxReasonTunnelError
=
_SHR_RX_TUNNEL_ERROR
,
178
opennslRxReasonUdpChecksum
=
_SHR_RX_UDP_CHECKSUM
,
179
opennslRxReasonUnknownVlan
=
_SHR_RX_UNKNOWN_VLAN
,
180
opennslRxReasonUrpfFail
=
_SHR_RX_URPF_FAIL
,
181
opennslRxReasonVcLabelMiss
=
_SHR_RX_VC_LABEL_MISS
,
182
opennslRxReasonVlanFilterMatch
=
_SHR_RX_VLAN_FILTER_MATCH
,
183
opennslRxReasonWlanClientError
=
_SHR_RX_WLAN_CLIENT_ERROR
,
184
opennslRxReasonWlanSlowpath
=
_SHR_RX_WLAN_SLOW_PATH
,
185
opennslRxReasonWlanDot1xDrop
=
_SHR_RX_WLAN_DOT1X_DROP
,
186
opennslRxReasonExceptionFlood
=
_SHR_RX_EXCEPTION_FLOOD
,
187
opennslRxReasonTimeSync
=
_SHR_RX_TIMESYNC
,
188
opennslRxReasonEAVData
=
_SHR_RX_EAV_DATA
,
189
opennslRxReasonSamePortBridge
=
_SHR_RX_SAME_PORT_BRIDGE
,
190
opennslRxReasonSplitHorizon
=
_SHR_RX_SPLIT_HORIZON
,
191
opennslRxReasonL4Error
=
_SHR_RX_L4_ERROR
,
192
opennslRxReasonStp
=
_SHR_RX_STP
,
193
opennslRxReasonEgressFilterRedirect
=
_SHR_RX_EGRESS_FILTER_REDIRECT
,
194
opennslRxReasonFilterRedirect
=
_SHR_RX_FILTER_REDIRECT
,
195
opennslRxReasonLoopback
=
_SHR_RX_LOOPBACK
,
196
opennslRxReasonVlanTranslate
=
_SHR_RX_VLAN_TRANSLATE
,
197
opennslRxReasonMmrp
=
_SHR_RX_MMRP
,
198
opennslRxReasonSrp
=
_SHR_RX_SRP
,
199
opennslRxReasonTunnelControl
=
_SHR_RX_TUNNEL_CONTROL
,
200
opennslRxReasonL2Marked
=
_SHR_RX_L2_MARKED
,
201
opennslRxReasonWlanSlowpathKeepalive
=
_SHR_RX_WLAN_SLOWPATH_KEEPALIVE
,
202
opennslRxReasonStation
=
_SHR_RX_STATION
,
203
opennslRxReasonNiv
=
_SHR_RX_NIV
,
204
opennslRxReasonNivPrioDrop
=
_SHR_RX_NIV_PRIO_DROP
,
205
opennslRxReasonNivInterfaceMiss
=
_SHR_RX_NIV_INTERFACE_MISS
,
206
opennslRxReasonNivRpfFail
=
_SHR_RX_NIV_RPF_FAIL
,
207
opennslRxReasonNivTagInvalid
=
_SHR_RX_NIV_TAG_INVALID
,
208
opennslRxReasonNivTagDrop
=
_SHR_RX_NIV_TAG_DROP
,
209
opennslRxReasonNivUntagDrop
=
_SHR_RX_NIV_UNTAG_DROP
,
210
opennslRxReasonTrill
=
_SHR_RX_TRILL
,
211
opennslRxReasonTrillInvalid
=
_SHR_RX_TRILL_INVALID
,
212
opennslRxReasonTrillMiss
=
_SHR_RX_TRILL_MISS
,
213
opennslRxReasonTrillRpfFail
=
_SHR_RX_TRILL_RPF_FAIL
,
214
opennslRxReasonTrillSlowpath
=
_SHR_RX_TRILL_SLOWPATH
,
215
opennslRxReasonTrillCoreIsIs
=
_SHR_RX_TRILL_CORE_IS_IS
,
216
opennslRxReasonTrillTtl
=
_SHR_RX_TRILL_TTL
,
217
opennslRxReasonTrillName
=
_SHR_RX_TRILL_NAME
,
218
opennslRxReasonBfdSlowpath
=
_SHR_RX_BFD_SLOWPATH
,
219
opennslRxReasonBfd
=
_SHR_RX_BFD_ERROR
,
220
opennslRxReasonMirror
=
_SHR_RX_MIRROR
,
221
opennslRxReasonRegexAction
=
_SHR_RX_REGEX_ACTION
,
222
opennslRxReasonRegexMatch
=
_SHR_RX_REGEX_MATCH
,
223
opennslRxReasonFailoverDrop
=
_SHR_RX_FAILOVER_DROP
,
224
opennslRxReasonWlanTunnelError
=
_SHR_RX_WLAN_TUNNEL_ERROR
,
225
opennslRxReasonCongestionCnmProxy
=
_SHR_RX_CONGESTION_CNM_PROXY
,
226
opennslRxReasonCongestionCnmProxyError
=
_SHR_RX_CONGESTION_CNM_PROXY_ERROR
,
227
opennslRxReasonCongestionCnm
=
_SHR_RX_CONGESTION_CNM
,
228
opennslRxReasonMplsUnknownAch
=
_SHR_RX_MPLS_UNKNOWN_ACH
,
229
opennslRxReasonMplsLookupsExceeded
=
_SHR_RX_MPLS_LOOKUPS_EXCEEDED
,
230
opennslRxReasonMplsReservedEntropyLabel
=
_SHR_RX_MPLS_RESERVED_ENTROPY_LABEL
,
231
opennslRxReasonMplsIllegalReservedLabel
=
_SHR_RX_MPLS_ILLEGAL_RESERVED_LABEL
,
232
opennslRxReasonMplsRouterAlertLabel
=
_SHR_RX_MPLS_ROUTER_ALERT_LABEL
,
233
opennslRxReasonNivPrune
=
_SHR_RX_NIV_PRUNE
,
234
opennslRxReasonVirtualPortPrune
=
_SHR_RX_VIRTUAL_PORT_PRUNE
,
235
opennslRxReasonNonUnicastDrop
=
_SHR_RX_NON_UNICAST_DROP
,
236
opennslRxReasonTrillPacketPortMismatch
=
_SHR_RX_TRILL_PACKET_PORT_MISMATCH
,
237
opennslRxReasonWlanClientMove
=
_SHR_RX_WLAN_CLIENT_MOVE
,
238
opennslRxReasonWlanSourcePortMiss
=
_SHR_RX_WLAN_SOURCE_PORT_MISS
,
239
opennslRxReasonWlanClientSourceMiss
=
_SHR_RX_WLAN_CLIENT_SOURCE_MISS
,
240
opennslRxReasonWlanClientDestMiss
=
_SHR_RX_WLAN_CLIENT_DEST_MISS
,
241
opennslRxReasonWlanMtu
=
_SHR_RX_WLAN_MTU
,
242
opennslRxReasonL2GreSipMiss
=
_SHR_RX_L2GRE_SIP_MISS
,
243
opennslRxReasonL2GreVpnIdMiss
=
_SHR_RX_L2GRE_VPN_ID_MISS
,
244
opennslRxReasonTimesyncUnknownVersion
=
_SHR_RX_TIMESYNC_UNKNOWN_VERSION
,
245
opennslRxReasonBfdUnknownVersion
=
_SHR_RX_BFD_UNKNOWN_VERSION
,
246
opennslRxReasonBfdInvalidVersion
=
_SHR_RX_BFD_INVALID_VERSION
,
247
opennslRxReasonBfdLookupFailure
=
_SHR_RX_BFD_LOOKUP_FAILURE
,
248
opennslRxReasonBfdInvalidPacket
=
_SHR_RX_BFD_INVALID_PACKET
,
249
opennslRxReasonVxlanSipMiss
=
_SHR_RX_VXLAN_SIP_MISS
,
250
opennslRxReasonVxlanVpnIdMiss
=
_SHR_RX_VXLAN_VPN_ID_MISS
,
251
opennslRxReasonFcoeZoneCheckFail
=
_SHR_RX_FCOE_ZONE_CHECK_FAIL
,
252
opennslRxReasonIpmcInterfaceMismatch
=
_SHR_RX_IPMC_INTERFACE_MISMATCH
,
253
opennslRxReasonNat
=
_SHR_RX_NAT
,
254
opennslRxReasonTcpUdpNatMiss
=
_SHR_RX_TCP_UDP_NAT_MISS
,
255
opennslRxReasonIcmpNatMiss
=
_SHR_RX_ICMP_NAT_MISS
,
256
opennslRxReasonNatFragment
=
_SHR_RX_NAT_FRAGMENT
,
257
opennslRxReasonNatMiss
=
_SHR_RX_NAT_MISS
,
258
opennslRxReasonOAMCCMSlowpath
=
_SHR_RX_OAM_CCM_SLOWPATH
,
259
opennslRxReasonBHHOAM
=
_SHR_RX_BHH_OAM_PACKET
,
260
opennslRxReasonUnknownSubtendingPort
=
_SHR_RX_UNKNOWN_SUBTENTING_PORT
,
261
opennslRxReasonReserved0
=
_SHR_RX_RESERVED_0
,
262
opennslRxReasonOAMMplsLmDm
=
_SHR_RX_OAM_MPLS_LMDM
,
263
opennslRxReasonSat
=
_SHR_RX_SAT
,
264
opennslRxReasonSampleSourceFlex
=
_SHR_RX_SAMPLE_SOURCE_FLEX
,
265
opennslRxReasonFlexSflow
=
_SHR_RX_FLEX_SFLOW
,
266
opennslRxReasonVxltMiss
=
_SHR_RX_VXLT_MISS
,
267
opennslRxReasonTunnelDecapEcnError
=
_SHR_RX_TUNNEL_DECAP_ECN_ERROR
,
268
opennslRxReasonTunnelObjectValidationFail
=
_SHR_RX_TUNNEL_OBJECT_VALIDATION_FAIL
,
269
opennslRxReasonL3Cpu
=
_SHR_RX_L3_CPU
,
270
opennslRxReasonTunnelAdaptLookupMiss
=
_SHR_RX_TUNNEL_ADAPT_LOOKUP_MISS
,
271
opennslRxReasonPacketFlowSelectMiss
=
_SHR_RX_PACKET_FLOW_SELECT_MISS
,
272
opennslRxReasonProtectionDataDrop
=
_SHR_RX_PROTECTION_DATA_DROP
,
273
opennslRxReasonPacketFlowSelect
=
_SHR_RX_PACKET_FLOW_SELECT
,
274
opennslRxReasonOtherLookupMiss
=
_SHR_RX_OTHER_LOOKUP_MISS
,
275
opennslRxReasonInvalidTpid
=
_SHR_RX_INVALID_TPID
,
276
opennslRxReasonMplsControlPacket
=
_SHR_RX_MPLS_CONTROL_PACKET
,
277
opennslRxReasonTunnelTtlError
=
_SHR_RX_TUNNEL_TTL_ERROR
,
278
opennslRxReasonL2HeaderError
=
_SHR_RX_L2_HEADER_ERROR
,
279
opennslRxReasonOtherLookupHit
=
_SHR_RX_OTHER_LOOKUP_HIT
,
280
opennslRxReasonL2SrcLookupMiss
=
_SHR_RX_L2_SRC_LOOKUP_MISS
,
281
opennslRxReasonL2SrcLookupHit
=
_SHR_RX_L2_SRC_LOOKUP_HIT
,
282
opennslRxReasonL2DstLookupMiss
=
_SHR_RX_L2_DST_LOOKUP_MISS
,
283
opennslRxReasonL2DstLookupHit
=
_SHR_RX_L2_DST_LOOKUP_HIT
,
284
opennslRxReasonL3SrcRouteLookupMiss
=
_SHR_RX_L3_SRC_ROUTE_LOOKUP_MISS
,
285
opennslRxReasonL3SrcHostLookupMiss
=
_SHR_RX_L3_SRC_HOST_LOOKUP_MISS
,
286
opennslRxReasonL3SrcRouteLookupHit
=
_SHR_RX_L3_SRC_ROUTE_LOOKUP_HIT
,
287
opennslRxReasonL3SrcHostLookupHit
=
_SHR_RX_L3_SRC_HOST_LOOKUP_HIT
,
288
opennslRxReasonL3DstRouteLookupMiss
=
_SHR_RX_L3_DST_ROUTE_LOOKUP_MISS
,
289
opennslRxReasonL3DstHostLookupMiss
=
_SHR_RX_L3_DST_HOST_LOOKUP_MISS
,
290
opennslRxReasonL3DstRouteLookupHit
=
_SHR_RX_L3_DST_ROUTE_LOOKUP_HIT
,
291
opennslRxReasonL3DstHostLookupHit
=
_SHR_RX_L3_DST_HOST_LOOKUP_HIT
,
292
opennslRxReasonVlanTranslate1Lookup1Miss
=
_SHR_RX_VLAN_TRANSLATE1_LOOKUP1_MISS
,
293
opennslRxReasonVlanTranslate1Lookup2Miss
=
_SHR_RX_VLAN_TRANSLATE1_LOOKUP2_MISS
,
294
opennslRxReasonMplsLookup1Miss
=
_SHR_RX_MPLS_LOOKUP1_MISS
,
295
opennslRxReasonMplsLookup2Miss
=
_SHR_RX_MPLS_LOOKUP2_MISS
,
296
opennslRxReasonL3TunnelLookupMiss
=
_SHR_RX_L3_TUNNEL_LOOKUP_MISS
,
297
opennslRxReasonVlanTranslate2Lookup1Miss
=
_SHR_RX_VLAN_TRANSLATE2_LOOKUP1_MISS
,
298
opennslRxReasonVlanTranslate2Lookup2Miss
=
_SHR_RX_VLAN_TRANSLATE2_LOOKUP2_MISS
,
299
opennslRxReasonL2StuFail
=
_SHR_RX_L2_STU_FAIL
,
300
opennslRxReasonSrCounterExceeded
=
_SHR_RX_SR_COUNTER_EXCEEDED
,
301
opennslRxReasonSrCopyToCpuBit0
=
_SHR_RX_SR_COPY_TO_CPU_BIT0
,
302
opennslRxReasonSrCopyToCpuBit1
=
_SHR_RX_SR_COPY_TO_CPU_BIT1
,
303
opennslRxReasonSrCopyToCpuBit2
=
_SHR_RX_SR_COPY_TO_CPU_BIT2
,
304
opennslRxReasonSrCopyToCpuBit3
=
_SHR_RX_SR_COPY_TO_CPU_BIT3
,
305
opennslRxReasonSrCopyToCpuBit4
=
_SHR_RX_SR_COPY_TO_CPU_BIT4
,
306
opennslRxReasonSrCopyToCpuBit5
=
_SHR_RX_SR_COPY_TO_CPU_BIT5
,
307
opennslRxReasonL3HeaderMismatch
=
_SHR_RX_L3_HEADER_MISMATCH
,
308
opennslRxReasonCount
=
_SHR_RX_REASON_COUNT
309
}
opennsl_rx_reason_t
;
310
/* __doxy_func_body_end__ */
311
312
#if defined(VENDOR_BROADCOM)
313
#endif
314
#define OPENNSL_RX_REASON_GET(_reasons, _reason) \
315
_SHR_RX_REASON_GET(_reasons, _reason)
316
#define OPENNSL_RX_REASON_SET(_reasons, _reason) \
317
_SHR_RX_REASON_SET(_reasons, _reason)
318
#define OPENNSL_RX_REASON_CLEAR_ALL(_reasons) \
319
_SHR_RX_REASON_CLEAR_ALL(_reasons)
320
#ifndef OPENNSL_HIDE_DISPATCHABLE
321
322
/***************************************************************************/
337
extern
int
opennsl_rx_cfg_init
(
338
int
unit)
LIB_DLL_EXPORTED
;
339
340
/***************************************************************************/
358
extern
int
opennsl_rx_start
(
359
int
unit,
360
opennsl_rx_cfg_t
*cfg)
LIB_DLL_EXPORTED
;
361
362
/***************************************************************************/
378
extern
int
opennsl_rx_stop
(
379
int
unit,
380
opennsl_rx_cfg_t
*cfg)
LIB_DLL_EXPORTED
;
381
382
/***************************************************************************/
399
extern
int
opennsl_rx_cfg_get
(
400
int
unit,
401
opennsl_rx_cfg_t
*cfg)
LIB_DLL_EXPORTED
;
402
403
/***************************************************************************/
412
extern
int
opennsl_rx_active
(
413
int
unit)
LIB_DLL_EXPORTED
;
414
415
/***************************************************************************/
425
extern
int
opennsl_rx_queue_max_get
(
426
int
unit,
427
opennsl_cos_queue_t
*cosq)
LIB_DLL_EXPORTED
;
428
429
/***************************************************************************/
461
extern
int
opennsl_rx_register
(
462
int
unit,
463
const
char
*name,
464
opennsl_rx_cb_f
callback,
465
uint8
priority,
466
void
*cookie,
467
uint32
flags)
LIB_DLL_EXPORTED
;
468
469
/***************************************************************************/
498
extern
int
opennsl_rx_unregister
(
499
int
unit,
500
opennsl_rx_cb_f
callback,
501
uint8
priority)
LIB_DLL_EXPORTED
;
502
503
#endif
/* OPENNSL_HIDE_DISPATCHABLE */
504
505
#ifndef OPENNSL_HIDE_DISPATCHABLE
506
507
/***************************************************************************/
523
extern
int
opennsl_rx_reasons_get
(
524
int
unit,
525
opennsl_rx_reasons_t
*reasons)
LIB_DLL_EXPORTED
;
526
527
/***************************************************************************/
542
extern
int
opennsl_rx_free
(
543
int
unit,
544
void
*pkt_data)
LIB_DLL_EXPORTED
;
545
546
#endif
/* OPENNSL_HIDE_DISPATCHABLE */
547
548
/***************************************************************************/
564
extern
void
opennsl_rx_cfg_t_init
(
565
opennsl_rx_cfg_t
*rx_cfg)
LIB_DLL_EXPORTED
;
566
567
#if defined(OPENNSL_RPC_SUPPORT) || defined(OPENNSL_RCPU_SUPPORT)
568
#endif
569
typedef
enum
opennsl_rx_control_e
{
570
opennslRxControlCRCStrip
= 0,
571
}
opennsl_rx_control_t
;
572
/* __doxy_func_body_end__ */
573
574
#ifndef OPENNSL_HIDE_DISPATCHABLE
575
576
/***************************************************************************/
594
extern
int
opennsl_rx_control_get
(
595
int
unit,
596
opennsl_rx_control_t
type,
597
int
*arg)
LIB_DLL_EXPORTED
;
598
599
/***************************************************************************/
617
extern
int
opennsl_rx_control_set
(
618
int
unit,
619
opennsl_rx_control_t
type,
620
int
arg)
LIB_DLL_EXPORTED
;
621
622
#endif
/* OPENNSL_HIDE_DISPATCHABLE */
623
624
#ifndef OPENNSL_HIDE_DISPATCHABLE
625
626
#endif
/* OPENNSL_HIDE_DISPATCHABLE */
627
628
#include <
opennsl/rxX.h
>
629
#endif
/* __OPENNSL_RX_H__ */
630
© 2016-17 by Broadcom Limited. All rights reserved.