openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

async_run.c (1484044B)


      1 /*
      2  * DO NOT EDIT THIS FILE!
      3  * This file is auto-generated.
      4  * Edits to this file will be lost when it is regenerated.
      5  *
      6  * 
      7  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      8  * 
      9  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
     10  *
     11  * File:	async_run.c
     12  * Purpose:	Async BCM - execute a request
     13  * Generator:	mkdispatch 1.54
     14  */
     15 
     16 #include <bcm/types.h>
     17 #include <bcm/async.h>
     18 #include <bcm/auth.h>
     19 #include <bcm/bcmi2c.h>
     20 #include <bcm/bfd.h>
     21 #include <bcm/bregex.h>
     22 #include <bcm/collector.h>
     23 #include <bcm/cosq.h>
     24 #include <bcm/cpri.h>
     25 #include <bcm/custom.h>
     26 #include <bcm/eav.h>
     27 #include <bcm/ecn.h>
     28 #include <bcm/error.h>
     29 #include <bcm/extender.h>
     30 #include <bcm/fabric.h>
     31 #include <bcm/failover.h>
     32 #include <bcm/fcmap.h>
     33 #include <bcm/fcoe.h>
     34 #include <bcm/field.h>
     35 #include <bcm/flow.h>
     36 #include <bcm/flowtracker.h>
     37 #include <bcm/gdpll.h>
     38 #include <bcm/hash.h>
     39 #include <bcm/ifa.h>
     40 #include <bcm/init.h>
     41 #include <bcm/instru.h>
     42 #include <bcm/int.h>
     43 #include <bcm/ipfix.h>
     44 #include <bcm/ipmc.h>
     45 #include <bcm/ipsec.h>
     46 #include <bcm/knet.h>
     47 #include <bcm/l2.h>
     48 #include <bcm/l2gre.h>
     49 #include <bcm/l3.h>
     50 #include <bcm/latency_monitor.h>
     51 #include <bcm/lb.h>
     52 #include <bcm/link.h>
     53 #include <bcm/macsec.h>
     54 #include <bcm/mcast.h>
     55 #include <bcm/mim.h>
     56 #include <bcm/mirror.h>
     57 #include <bcm/module.h>
     58 #include <bcm/mpls.h>
     59 #include <bcm/multicast.h>
     60 #include <bcm/nat.h>
     61 #include <bcm/niv.h>
     62 #include <bcm/oam.h>
     63 #include <bcm/oob.h>
     64 #include <bcm/pkt.h>
     65 #include <bcm/policer.h>
     66 #include <bcm/port.h>
     67 #include <bcm/proxy.h>
     68 #include <bcm/pstats.h>
     69 #include <bcm/ptp.h>
     70 #include <bcm/qos.h>
     71 #include <bcm/range.h>
     72 #include <bcm/rate.h>
     73 #include <bcm/rx.h>
     74 #include <bcm/sat.h>
     75 #include <bcm/srv6.h>
     76 #include <bcm/stack.h>
     77 #include <bcm/stat.h>
     78 #include <bcm/stg.h>
     79 #include <bcm/subport.h>
     80 #include <bcm/sum.h>
     81 #include <bcm/switch.h>
     82 #include <bcm/telemetry.h>
     83 #include <bcm/time.h>
     84 #include <bcm/topo.h>
     85 #include <bcm/trill.h>
     86 #include <bcm/trunk.h>
     87 #include <bcm/tsn.h>
     88 #include <bcm/tunnel.h>
     89 #include <bcm/tx.h>
     90 #include <bcm/txbeacon.h>
     91 #include <bcm/udf.h>
     92 #include <bcm/vlan.h>
     93 #include <bcm/vswitch.h>
     94 #include <bcm/vxlan.h>
     95 #include <bcm/wlan.h>
     96 #include <bcm/xflow_macsec.h>
     97 
     98 #include <bcm_int/async_req.h>
     99 #include <bcm_int/async_server.h>
    100 
    101 #include <shared/alloc.h>
    102 
    103 #ifdef	BCM_ASYNC_SUPPORT
    104 
    105 void
    106 bcm_async_run(bcm_async_req_t *req)
    107 {
    108 	int rv;
    109 
    110 	switch (req->type) {
    111 	case BCM_ASYNC_ENTRY_SHUTDOWN:
    112 		rv = _bcm_shutdown(
    113 			req->args._shutdown.unit);
    114 		break;
    115 	case BCM_ASYNC_ENTRY_ATTACH:
    116 		rv = bcm_attach(
    117 			req->args.attach.unit,
    118 			req->args.attach.type,
    119 			req->args.attach.subtype,
    120 			req->args.attach.remunit);
    121 		break;
    122 	case BCM_ASYNC_ENTRY_ATTACH_CHECK:
    123 		rv = bcm_attach_check(
    124 			req->args.attach_check.unit);
    125 		break;
    126 	case BCM_ASYNC_ENTRY_ATTACH_EARLY_TXRX:
    127 		rv = bcm_attach_early_txrx(
    128 			req->args.attach_early_txrx.unit,
    129 			req->args.attach_early_txrx.type,
    130 			req->args.attach_early_txrx.subtype,
    131 			req->args.attach_early_txrx.remunit);
    132 		break;
    133 	case BCM_ASYNC_ENTRY_ATTACH_MAX:
    134 		rv = bcm_attach_max(
    135 			req->args.attach_max.max_units);
    136 		break;
    137 	case BCM_ASYNC_ENTRY_ATTACH_REGISTER:
    138 		rv = bcm_attach_register(
    139 			req->args.attach_register.unit,
    140 			req->args.attach_register.cb,
    141 			req->args.attach_register.user_data);
    142 		break;
    143 	case BCM_ASYNC_ENTRY_ATTACH_UNREGISTER:
    144 		rv = bcm_attach_unregister(
    145 			req->args.attach_unregister.unit,
    146 			req->args.attach_unregister.cb,
    147 			req->args.attach_unregister.user_data);
    148 		break;
    149 	case BCM_ASYNC_ENTRY_AUTH_DETACH:
    150 		rv = bcm_auth_detach(
    151 			req->args.auth_detach.unit);
    152 		break;
    153 	case BCM_ASYNC_ENTRY_AUTH_EGRESS_GET:
    154 		rv = bcm_auth_egress_get(
    155 			req->args.auth_egress_get.unit,
    156 			req->args.auth_egress_get.port,
    157 			req->args.auth_egress_get.enable);
    158 		break;
    159 	case BCM_ASYNC_ENTRY_AUTH_EGRESS_SET:
    160 		rv = bcm_auth_egress_set(
    161 			req->args.auth_egress_set.unit,
    162 			req->args.auth_egress_set.port,
    163 			req->args.auth_egress_set.enable);
    164 		break;
    165 	case BCM_ASYNC_ENTRY_AUTH_INIT:
    166 		rv = bcm_auth_init(
    167 			req->args.auth_init.unit);
    168 		break;
    169 	case BCM_ASYNC_ENTRY_AUTH_MAC_ADD:
    170 		rv = bcm_auth_mac_add(
    171 			req->args.auth_mac_add.unit,
    172 			req->args.auth_mac_add.port,
    173 			req->args.auth_mac_add.mac);
    174 		break;
    175 	case BCM_ASYNC_ENTRY_AUTH_MAC_CONTROL_GET:
    176 		rv = bcm_auth_mac_control_get(
    177 			req->args.auth_mac_control_get.unit,
    178 			req->args.auth_mac_control_get.type,
    179 			req->args.auth_mac_control_get.value);
    180 		break;
    181 	case BCM_ASYNC_ENTRY_AUTH_MAC_CONTROL_SET:
    182 		rv = bcm_auth_mac_control_set(
    183 			req->args.auth_mac_control_set.unit,
    184 			req->args.auth_mac_control_set.type,
    185 			req->args.auth_mac_control_set.value);
    186 		break;
    187 	case BCM_ASYNC_ENTRY_AUTH_MAC_DELETE:
    188 		rv = bcm_auth_mac_delete(
    189 			req->args.auth_mac_delete.unit,
    190 			req->args.auth_mac_delete.port,
    191 			req->args.auth_mac_delete.mac);
    192 		break;
    193 	case BCM_ASYNC_ENTRY_AUTH_MAC_DELETE_ALL:
    194 		rv = bcm_auth_mac_delete_all(
    195 			req->args.auth_mac_delete_all.unit,
    196 			req->args.auth_mac_delete_all.port);
    197 		break;
    198 	case BCM_ASYNC_ENTRY_AUTH_MODE_GET:
    199 		rv = bcm_auth_mode_get(
    200 			req->args.auth_mode_get.unit,
    201 			req->args.auth_mode_get.port,
    202 			req->args.auth_mode_get.modep);
    203 		break;
    204 	case BCM_ASYNC_ENTRY_AUTH_MODE_SET:
    205 		rv = bcm_auth_mode_set(
    206 			req->args.auth_mode_set.unit,
    207 			req->args.auth_mode_set.port,
    208 			req->args.auth_mode_set.mode);
    209 		break;
    210 	case BCM_ASYNC_ENTRY_AUTH_UNAUTH_CALLBACK:
    211 		rv = bcm_auth_unauth_callback(
    212 			req->args.auth_unauth_callback.unit,
    213 			req->args.auth_unauth_callback.func,
    214 			req->args.auth_unauth_callback.cookie);
    215 		break;
    216 #ifdef	INCLUDE_BFD
    217 	case BCM_ASYNC_ENTRY_BFD_AUTH_SHA1_GET:
    218 		rv = bcm_bfd_auth_sha1_get(
    219 			req->args.bfd_auth_sha1_get.unit,
    220 			req->args.bfd_auth_sha1_get.index,
    221 			req->args.bfd_auth_sha1_get.sha1);
    222 		break;
    223 	case BCM_ASYNC_ENTRY_BFD_AUTH_SHA1_SET:
    224 		rv = bcm_bfd_auth_sha1_set(
    225 			req->args.bfd_auth_sha1_set.unit,
    226 			req->args.bfd_auth_sha1_set.index,
    227 			req->args.bfd_auth_sha1_set.sha1);
    228 		break;
    229 	case BCM_ASYNC_ENTRY_BFD_AUTH_SIMPLE_PASSWORD_GET:
    230 		rv = bcm_bfd_auth_simple_password_get(
    231 			req->args.bfd_auth_simple_password_get.unit,
    232 			req->args.bfd_auth_simple_password_get.index,
    233 			req->args.bfd_auth_simple_password_get.sp);
    234 		break;
    235 	case BCM_ASYNC_ENTRY_BFD_AUTH_SIMPLE_PASSWORD_SET:
    236 		rv = bcm_bfd_auth_simple_password_set(
    237 			req->args.bfd_auth_simple_password_set.unit,
    238 			req->args.bfd_auth_simple_password_set.index,
    239 			req->args.bfd_auth_simple_password_set.sp);
    240 		break;
    241 	case BCM_ASYNC_ENTRY_BFD_DETACH:
    242 		rv = bcm_bfd_detach(
    243 			req->args.bfd_detach.unit);
    244 		break;
    245 	case BCM_ASYNC_ENTRY_BFD_DISCARD_STAT_GET:
    246 		rv = bcm_bfd_discard_stat_get(
    247 			req->args.bfd_discard_stat_get.unit,
    248 			req->args.bfd_discard_stat_get.discarded_info);
    249 		break;
    250 	case BCM_ASYNC_ENTRY_BFD_DISCARD_STAT_SET:
    251 		rv = bcm_bfd_discard_stat_set(
    252 			req->args.bfd_discard_stat_set.unit,
    253 			req->args.bfd_discard_stat_set.discarded_info);
    254 		break;
    255 	case BCM_ASYNC_ENTRY_BFD_ENDPOINT_CREATE:
    256 		rv = bcm_bfd_endpoint_create(
    257 			req->args.bfd_endpoint_create.unit,
    258 			req->args.bfd_endpoint_create.endpoint_info);
    259 		break;
    260 	case BCM_ASYNC_ENTRY_BFD_ENDPOINT_DESTROY:
    261 		rv = bcm_bfd_endpoint_destroy(
    262 			req->args.bfd_endpoint_destroy.unit,
    263 			req->args.bfd_endpoint_destroy.endpoint);
    264 		break;
    265 	case BCM_ASYNC_ENTRY_BFD_ENDPOINT_DESTROY_ALL:
    266 		rv = bcm_bfd_endpoint_destroy_all(
    267 			req->args.bfd_endpoint_destroy_all.unit);
    268 		break;
    269 	case BCM_ASYNC_ENTRY_BFD_ENDPOINT_GET:
    270 		rv = bcm_bfd_endpoint_get(
    271 			req->args.bfd_endpoint_get.unit,
    272 			req->args.bfd_endpoint_get.endpoint,
    273 			req->args.bfd_endpoint_get.endpoint_info);
    274 		break;
    275 	case BCM_ASYNC_ENTRY_BFD_ENDPOINT_POLL:
    276 		rv = bcm_bfd_endpoint_poll(
    277 			req->args.bfd_endpoint_poll.unit,
    278 			req->args.bfd_endpoint_poll.endpoint);
    279 		break;
    280 	case BCM_ASYNC_ENTRY_BFD_ENDPOINT_STAT_GET:
    281 		rv = bcm_bfd_endpoint_stat_get(
    282 			req->args.bfd_endpoint_stat_get.unit,
    283 			req->args.bfd_endpoint_stat_get.endpoint,
    284 			req->args.bfd_endpoint_stat_get.ctr_info,
    285 			req->args.bfd_endpoint_stat_get.options);
    286 		break;
    287 	case BCM_ASYNC_ENTRY_BFD_EVENT_REGISTER:
    288 		rv = bcm_bfd_event_register(
    289 			req->args.bfd_event_register.unit,
    290 			req->args.bfd_event_register.event_types,
    291 			req->args.bfd_event_register.cb,
    292 			req->args.bfd_event_register.user_data);
    293 		break;
    294 	case BCM_ASYNC_ENTRY_BFD_EVENT_UNREGISTER:
    295 		rv = bcm_bfd_event_unregister(
    296 			req->args.bfd_event_unregister.unit,
    297 			req->args.bfd_event_unregister.event_types,
    298 			req->args.bfd_event_unregister.cb);
    299 		break;
    300 	case BCM_ASYNC_ENTRY_BFD_INIT:
    301 		rv = bcm_bfd_init(
    302 			req->args.bfd_init.unit);
    303 		break;
    304 	case BCM_ASYNC_ENTRY_BFD_STATUS_MULTI_GET:
    305 		rv = bcm_bfd_status_multi_get(
    306 			req->args.bfd_status_multi_get.unit,
    307 			req->args.bfd_status_multi_get.max_endpoints,
    308 			req->args.bfd_status_multi_get.status_arr,
    309 			req->args.bfd_status_multi_get.count);
    310 		break;
    311 	case BCM_ASYNC_ENTRY_BFD_TX_START:
    312 		rv = bcm_bfd_tx_start(
    313 			req->args.bfd_tx_start.unit);
    314 		break;
    315 	case BCM_ASYNC_ENTRY_BFD_TX_STOP:
    316 		rv = bcm_bfd_tx_stop(
    317 			req->args.bfd_tx_stop.unit);
    318 		break;
    319 #endif	/* INCLUDE_BFD */
    320 	case BCM_ASYNC_ENTRY_CLEAR:
    321 		rv = bcm_clear(
    322 			req->args.clear.unit);
    323 		break;
    324 	case BCM_ASYNC_ENTRY_COLLECTOR_CREATE:
    325 		rv = bcm_collector_create(
    326 			req->args.collector_create.unit,
    327 			req->args.collector_create.options,
    328 			req->args.collector_create.collector_id,
    329 			req->args.collector_create.collector_info);
    330 		break;
    331 	case BCM_ASYNC_ENTRY_COLLECTOR_DESTROY:
    332 		rv = bcm_collector_destroy(
    333 			req->args.collector_destroy.unit,
    334 			req->args.collector_destroy.id);
    335 		break;
    336 	case BCM_ASYNC_ENTRY_COLLECTOR_DETACH:
    337 		rv = bcm_collector_detach(
    338 			req->args.collector_detach.unit);
    339 		break;
    340 	case BCM_ASYNC_ENTRY_COLLECTOR_EXPORT_PROFILE_CREATE:
    341 		rv = bcm_collector_export_profile_create(
    342 			req->args.collector_export_profile_create.unit,
    343 			req->args.collector_export_profile_create.options,
    344 			req->args.collector_export_profile_create.export_profile_id,
    345 			req->args.collector_export_profile_create.export_profile_info);
    346 		break;
    347 	case BCM_ASYNC_ENTRY_COLLECTOR_EXPORT_PROFILE_DESTROY:
    348 		rv = bcm_collector_export_profile_destroy(
    349 			req->args.collector_export_profile_destroy.unit,
    350 			req->args.collector_export_profile_destroy.export_profile_id);
    351 		break;
    352 	case BCM_ASYNC_ENTRY_COLLECTOR_EXPORT_PROFILE_GET:
    353 		rv = bcm_collector_export_profile_get(
    354 			req->args.collector_export_profile_get.unit,
    355 			req->args.collector_export_profile_get.export_profile_id,
    356 			req->args.collector_export_profile_get.export_profile_info);
    357 		break;
    358 	case BCM_ASYNC_ENTRY_COLLECTOR_EXPORT_PROFILE_IDS_GET_ALL:
    359 		rv = bcm_collector_export_profile_ids_get_all(
    360 			req->args.collector_export_profile_ids_get_all.unit,
    361 			req->args.collector_export_profile_ids_get_all.max_size,
    362 			req->args.collector_export_profile_ids_get_all.export_profile_ids_list,
    363 			req->args.collector_export_profile_ids_get_all.list_size);
    364 		break;
    365 	case BCM_ASYNC_ENTRY_COLLECTOR_EXPORT_RECORD_REGISTER:
    366 		rv = bcm_collector_export_record_register(
    367 			req->args.collector_export_record_register.unit,
    368 			req->args.collector_export_record_register.collector_id,
    369 			req->args.collector_export_record_register.callback_options,
    370 			req->args.collector_export_record_register.callback_fn,
    371 			req->args.collector_export_record_register.userdata);
    372 		break;
    373 	case BCM_ASYNC_ENTRY_COLLECTOR_EXPORT_RECORD_UNREGISTER:
    374 		rv = bcm_collector_export_record_unregister(
    375 			req->args.collector_export_record_unregister.unit,
    376 			req->args.collector_export_record_unregister.collector_id,
    377 			req->args.collector_export_record_unregister.callback_options,
    378 			req->args.collector_export_record_unregister.callback_fn);
    379 		break;
    380 	case BCM_ASYNC_ENTRY_COLLECTOR_GET:
    381 		rv = bcm_collector_get(
    382 			req->args.collector_get.unit,
    383 			req->args.collector_get.id,
    384 			req->args.collector_get.collector_info);
    385 		break;
    386 	case BCM_ASYNC_ENTRY_COLLECTOR_GET_ALL:
    387 		rv = bcm_collector_get_all(
    388 			req->args.collector_get_all.unit,
    389 			req->args.collector_get_all.max_size,
    390 			req->args.collector_get_all.collector_list,
    391 			req->args.collector_get_all.list_size);
    392 		break;
    393 	case BCM_ASYNC_ENTRY_COLLECTOR_INIT:
    394 		rv = bcm_collector_init(
    395 			req->args.collector_init.unit);
    396 		break;
    397 	case BCM_ASYNC_ENTRY_COSQ_BANDWIDTH_FABRIC_ADJUST_GET:
    398 		rv = bcm_cosq_bandwidth_fabric_adjust_get(
    399 			req->args.cosq_bandwidth_fabric_adjust_get.unit,
    400 			req->args.cosq_bandwidth_fabric_adjust_get.flags,
    401 			req->args.cosq_bandwidth_fabric_adjust_get.key,
    402 			req->args.cosq_bandwidth_fabric_adjust_get.bandwidth);
    403 		break;
    404 	case BCM_ASYNC_ENTRY_COSQ_BANDWIDTH_FABRIC_ADJUST_SET:
    405 		rv = bcm_cosq_bandwidth_fabric_adjust_set(
    406 			req->args.cosq_bandwidth_fabric_adjust_set.unit,
    407 			req->args.cosq_bandwidth_fabric_adjust_set.flags,
    408 			req->args.cosq_bandwidth_fabric_adjust_set.key,
    409 			req->args.cosq_bandwidth_fabric_adjust_set.bandwidth);
    410 		break;
    411 	case BCM_ASYNC_ENTRY_COSQ_BST_MULTI_PROFILE_GET:
    412 		rv = bcm_cosq_bst_multi_profile_get(
    413 			req->args.cosq_bst_multi_profile_get.unit,
    414 			req->args.cosq_bst_multi_profile_get.gport,
    415 			req->args.cosq_bst_multi_profile_get.cosq,
    416 			req->args.cosq_bst_multi_profile_get.bid,
    417 			req->args.cosq_bst_multi_profile_get.array_size,
    418 			req->args.cosq_bst_multi_profile_get.profile_array,
    419 			req->args.cosq_bst_multi_profile_get.count);
    420 		break;
    421 	case BCM_ASYNC_ENTRY_COSQ_BST_MULTI_PROFILE_SET:
    422 		rv = bcm_cosq_bst_multi_profile_set(
    423 			req->args.cosq_bst_multi_profile_set.unit,
    424 			req->args.cosq_bst_multi_profile_set.gport,
    425 			req->args.cosq_bst_multi_profile_set.cosq,
    426 			req->args.cosq_bst_multi_profile_set.bid,
    427 			req->args.cosq_bst_multi_profile_set.array_size,
    428 			req->args.cosq_bst_multi_profile_set.profile_array);
    429 		break;
    430 	case BCM_ASYNC_ENTRY_COSQ_BST_PROFILE_GET:
    431 		rv = bcm_cosq_bst_profile_get(
    432 			req->args.cosq_bst_profile_get.unit,
    433 			req->args.cosq_bst_profile_get.gport,
    434 			req->args.cosq_bst_profile_get.cosq,
    435 			req->args.cosq_bst_profile_get.bid,
    436 			req->args.cosq_bst_profile_get.profile);
    437 		break;
    438 	case BCM_ASYNC_ENTRY_COSQ_BST_PROFILE_SET:
    439 		rv = bcm_cosq_bst_profile_set(
    440 			req->args.cosq_bst_profile_set.unit,
    441 			req->args.cosq_bst_profile_set.gport,
    442 			req->args.cosq_bst_profile_set.cosq,
    443 			req->args.cosq_bst_profile_set.bid,
    444 			req->args.cosq_bst_profile_set.profile);
    445 		break;
    446 	case BCM_ASYNC_ENTRY_COSQ_BST_STAT_CLEAR:
    447 		rv = bcm_cosq_bst_stat_clear(
    448 			req->args.cosq_bst_stat_clear.unit,
    449 			req->args.cosq_bst_stat_clear.gport,
    450 			req->args.cosq_bst_stat_clear.cosq,
    451 			req->args.cosq_bst_stat_clear.bid);
    452 		break;
    453 	case BCM_ASYNC_ENTRY_COSQ_BST_STAT_EXTENDED_CLEAR:
    454 		rv = bcm_cosq_bst_stat_extended_clear(
    455 			req->args.cosq_bst_stat_extended_clear.unit,
    456 			req->args.cosq_bst_stat_extended_clear.id,
    457 			req->args.cosq_bst_stat_extended_clear.bid);
    458 		break;
    459 	case BCM_ASYNC_ENTRY_COSQ_BST_STAT_EXTENDED_GET:
    460 		rv = bcm_cosq_bst_stat_extended_get(
    461 			req->args.cosq_bst_stat_extended_get.unit,
    462 			req->args.cosq_bst_stat_extended_get.id,
    463 			req->args.cosq_bst_stat_extended_get.bid,
    464 			req->args.cosq_bst_stat_extended_get.options,
    465 			req->args.cosq_bst_stat_extended_get.value);
    466 		break;
    467 	case BCM_ASYNC_ENTRY_COSQ_BST_STAT_EXTENDED_GET32:
    468 		rv = bcm_cosq_bst_stat_extended_get32(
    469 			req->args.cosq_bst_stat_extended_get32.unit,
    470 			req->args.cosq_bst_stat_extended_get32.id,
    471 			req->args.cosq_bst_stat_extended_get32.bid,
    472 			req->args.cosq_bst_stat_extended_get32.options,
    473 			req->args.cosq_bst_stat_extended_get32.value);
    474 		break;
    475 	case BCM_ASYNC_ENTRY_COSQ_BST_STAT_GET:
    476 		rv = bcm_cosq_bst_stat_get(
    477 			req->args.cosq_bst_stat_get.unit,
    478 			req->args.cosq_bst_stat_get.gport,
    479 			req->args.cosq_bst_stat_get.cosq,
    480 			req->args.cosq_bst_stat_get.bid,
    481 			req->args.cosq_bst_stat_get.options,
    482 			req->args.cosq_bst_stat_get.value);
    483 		break;
    484 	case BCM_ASYNC_ENTRY_COSQ_BST_STAT_GET32:
    485 		rv = bcm_cosq_bst_stat_get32(
    486 			req->args.cosq_bst_stat_get32.unit,
    487 			req->args.cosq_bst_stat_get32.gport,
    488 			req->args.cosq_bst_stat_get32.cosq,
    489 			req->args.cosq_bst_stat_get32.bid,
    490 			req->args.cosq_bst_stat_get32.options,
    491 			req->args.cosq_bst_stat_get32.value);
    492 		break;
    493 	case BCM_ASYNC_ENTRY_COSQ_BST_STAT_MULTI_GET:
    494 		rv = bcm_cosq_bst_stat_multi_get(
    495 			req->args.cosq_bst_stat_multi_get.unit,
    496 			req->args.cosq_bst_stat_multi_get.gport,
    497 			req->args.cosq_bst_stat_multi_get.cosq,
    498 			req->args.cosq_bst_stat_multi_get.options,
    499 			req->args.cosq_bst_stat_multi_get.max_values,
    500 			req->args.cosq_bst_stat_multi_get.id_list,
    501 			req->args.cosq_bst_stat_multi_get.values);
    502 		break;
    503 	case BCM_ASYNC_ENTRY_COSQ_BST_STAT_MULTI_GET32:
    504 		rv = bcm_cosq_bst_stat_multi_get32(
    505 			req->args.cosq_bst_stat_multi_get32.unit,
    506 			req->args.cosq_bst_stat_multi_get32.gport,
    507 			req->args.cosq_bst_stat_multi_get32.cosq,
    508 			req->args.cosq_bst_stat_multi_get32.options,
    509 			req->args.cosq_bst_stat_multi_get32.max_values,
    510 			req->args.cosq_bst_stat_multi_get32.id_list,
    511 			req->args.cosq_bst_stat_multi_get32.values);
    512 		break;
    513 	case BCM_ASYNC_ENTRY_COSQ_BST_STAT_SYNC:
    514 		rv = bcm_cosq_bst_stat_sync(
    515 			req->args.cosq_bst_stat_sync.unit,
    516 			req->args.cosq_bst_stat_sync.bid);
    517 		break;
    518 	case BCM_ASYNC_ENTRY_COSQ_BUFFER_ID_MULTI_GET:
    519 		rv = bcm_cosq_buffer_id_multi_get(
    520 			req->args.cosq_buffer_id_multi_get.unit,
    521 			req->args.cosq_buffer_id_multi_get.gport,
    522 			req->args.cosq_buffer_id_multi_get.cosq,
    523 			req->args.cosq_buffer_id_multi_get.direction,
    524 			req->args.cosq_buffer_id_multi_get.array_max,
    525 			req->args.cosq_buffer_id_multi_get.buf_id_array,
    526 			req->args.cosq_buffer_id_multi_get.array_count);
    527 		break;
    528 	case BCM_ASYNC_ENTRY_COSQ_BURST_MONITOR_DMA_CONFIG_GET:
    529 		rv = bcm_cosq_burst_monitor_dma_config_get(
    530 			req->args.cosq_burst_monitor_dma_config_get.unit,
    531 			req->args.cosq_burst_monitor_dma_config_get.host_mem_size,
    532 			req->args.cosq_burst_monitor_dma_config_get.host_mem_add);
    533 		break;
    534 	case BCM_ASYNC_ENTRY_COSQ_BURST_MONITOR_DMA_CONFIG_SET:
    535 		rv = bcm_cosq_burst_monitor_dma_config_set(
    536 			req->args.cosq_burst_monitor_dma_config_set.unit,
    537 			req->args.cosq_burst_monitor_dma_config_set.host_mem_size,
    538 			req->args.cosq_burst_monitor_dma_config_set.host_mem_add);
    539 		break;
    540 	case BCM_ASYNC_ENTRY_COSQ_BURST_MONITOR_GET:
    541 		rv = bcm_cosq_burst_monitor_get(
    542 			req->args.cosq_burst_monitor_get.unit,
    543 			req->args.cosq_burst_monitor_get.max_gports,
    544 			req->args.cosq_burst_monitor_get.gport_list,
    545 			req->args.cosq_burst_monitor_get.num_gports);
    546 		break;
    547 	case BCM_ASYNC_ENTRY_COSQ_BURST_MONITOR_SET:
    548 		rv = bcm_cosq_burst_monitor_set(
    549 			req->args.cosq_burst_monitor_set.unit,
    550 			req->args.cosq_burst_monitor_set.num_gports,
    551 			req->args.cosq_burst_monitor_set.gport_list);
    552 		break;
    553 	case BCM_ASYNC_ENTRY_COSQ_CLASSIFIER_CREATE:
    554 		rv = bcm_cosq_classifier_create(
    555 			req->args.cosq_classifier_create.unit,
    556 			req->args.cosq_classifier_create.classifier,
    557 			req->args.cosq_classifier_create.classifier_id);
    558 		break;
    559 	case BCM_ASYNC_ENTRY_COSQ_CLASSIFIER_DESTROY:
    560 		rv = bcm_cosq_classifier_destroy(
    561 			req->args.cosq_classifier_destroy.unit,
    562 			req->args.cosq_classifier_destroy.classifier_id);
    563 		break;
    564 	case BCM_ASYNC_ENTRY_COSQ_CLASSIFIER_GET:
    565 		rv = bcm_cosq_classifier_get(
    566 			req->args.cosq_classifier_get.unit,
    567 			req->args.cosq_classifier_get.classifier_id,
    568 			req->args.cosq_classifier_get.classifier);
    569 		break;
    570 	case BCM_ASYNC_ENTRY_COSQ_CLASSIFIER_ID_GET:
    571 		rv = bcm_cosq_classifier_id_get(
    572 			req->args.cosq_classifier_id_get.unit,
    573 			req->args.cosq_classifier_id_get.classifier,
    574 			req->args.cosq_classifier_id_get.array_count,
    575 			req->args.cosq_classifier_id_get.priority_array,
    576 			req->args.cosq_classifier_id_get.cosq_array,
    577 			req->args.cosq_classifier_id_get.classifier_id);
    578 		break;
    579 	case BCM_ASYNC_ENTRY_COSQ_CLASSIFIER_MAPPING_CLEAR:
    580 		rv = bcm_cosq_classifier_mapping_clear(
    581 			req->args.cosq_classifier_mapping_clear.unit,
    582 			req->args.cosq_classifier_mapping_clear.port,
    583 			req->args.cosq_classifier_mapping_clear.classifier_id);
    584 		break;
    585 	case BCM_ASYNC_ENTRY_COSQ_CLASSIFIER_MAPPING_GET:
    586 		rv = bcm_cosq_classifier_mapping_get(
    587 			req->args.cosq_classifier_mapping_get.unit,
    588 			req->args.cosq_classifier_mapping_get.port,
    589 			req->args.cosq_classifier_mapping_get.classifier_id,
    590 			req->args.cosq_classifier_mapping_get.queue_group,
    591 			req->args.cosq_classifier_mapping_get.priority,
    592 			req->args.cosq_classifier_mapping_get.cosq);
    593 		break;
    594 	case BCM_ASYNC_ENTRY_COSQ_CLASSIFIER_MAPPING_MULTI_GET:
    595 		rv = bcm_cosq_classifier_mapping_multi_get(
    596 			req->args.cosq_classifier_mapping_multi_get.unit,
    597 			req->args.cosq_classifier_mapping_multi_get.port,
    598 			req->args.cosq_classifier_mapping_multi_get.classifier_id,
    599 			req->args.cosq_classifier_mapping_multi_get.queue_group,
    600 			req->args.cosq_classifier_mapping_multi_get.array_max,
    601 			req->args.cosq_classifier_mapping_multi_get.priority_array,
    602 			req->args.cosq_classifier_mapping_multi_get.cosq_array,
    603 			req->args.cosq_classifier_mapping_multi_get.array_count);
    604 		break;
    605 	case BCM_ASYNC_ENTRY_COSQ_CLASSIFIER_MAPPING_MULTI_SET:
    606 		rv = bcm_cosq_classifier_mapping_multi_set(
    607 			req->args.cosq_classifier_mapping_multi_set.unit,
    608 			req->args.cosq_classifier_mapping_multi_set.port,
    609 			req->args.cosq_classifier_mapping_multi_set.classifier_id,
    610 			req->args.cosq_classifier_mapping_multi_set.queue_group,
    611 			req->args.cosq_classifier_mapping_multi_set.array_count,
    612 			req->args.cosq_classifier_mapping_multi_set.priority_array,
    613 			req->args.cosq_classifier_mapping_multi_set.cosq_array);
    614 		break;
    615 	case BCM_ASYNC_ENTRY_COSQ_CLASSIFIER_MAPPING_SET:
    616 		rv = bcm_cosq_classifier_mapping_set(
    617 			req->args.cosq_classifier_mapping_set.unit,
    618 			req->args.cosq_classifier_mapping_set.port,
    619 			req->args.cosq_classifier_mapping_set.classifier_id,
    620 			req->args.cosq_classifier_mapping_set.queue_group,
    621 			req->args.cosq_classifier_mapping_set.priority,
    622 			req->args.cosq_classifier_mapping_set.cosq);
    623 		break;
    624 	case BCM_ASYNC_ENTRY_COSQ_CONFIG_GET:
    625 		rv = bcm_cosq_config_get(
    626 			req->args.cosq_config_get.unit,
    627 			req->args.cosq_config_get.numq);
    628 		break;
    629 	case BCM_ASYNC_ENTRY_COSQ_CONFIG_SET:
    630 		rv = bcm_cosq_config_set(
    631 			req->args.cosq_config_set.unit,
    632 			req->args.cosq_config_set.numq);
    633 		break;
    634 	case BCM_ASYNC_ENTRY_COSQ_CONGESTION_MAPPING_GET:
    635 		rv = bcm_cosq_congestion_mapping_get(
    636 			req->args.cosq_congestion_mapping_get.unit,
    637 			req->args.cosq_congestion_mapping_get.fabric_modid,
    638 			req->args.cosq_congestion_mapping_get.mapping_info);
    639 		break;
    640 	case BCM_ASYNC_ENTRY_COSQ_CONGESTION_MAPPING_SET:
    641 		rv = bcm_cosq_congestion_mapping_set(
    642 			req->args.cosq_congestion_mapping_set.unit,
    643 			req->args.cosq_congestion_mapping_set.fabric_modid,
    644 			req->args.cosq_congestion_mapping_set.mapping_info);
    645 		break;
    646 	case BCM_ASYNC_ENTRY_COSQ_CONTROL_DYNAMIC_GET:
    647 		rv = bcm_cosq_control_dynamic_get(
    648 			req->args.cosq_control_dynamic_get.unit,
    649 			req->args.cosq_control_dynamic_get.type,
    650 			req->args.cosq_control_dynamic_get.dynamic);
    651 		break;
    652 	case BCM_ASYNC_ENTRY_COSQ_CONTROL_EXTENDED_GET:
    653 		rv = bcm_cosq_control_extended_get(
    654 			req->args.cosq_control_extended_get.unit,
    655 			req->args.cosq_control_extended_get.id,
    656 			req->args.cosq_control_extended_get.control);
    657 		break;
    658 	case BCM_ASYNC_ENTRY_COSQ_CONTROL_EXTENDED_SET:
    659 		rv = bcm_cosq_control_extended_set(
    660 			req->args.cosq_control_extended_set.unit,
    661 			req->args.cosq_control_extended_set.id,
    662 			req->args.cosq_control_extended_set.control);
    663 		break;
    664 	case BCM_ASYNC_ENTRY_COSQ_CONTROL_GET:
    665 		rv = bcm_cosq_control_get(
    666 			req->args.cosq_control_get.unit,
    667 			req->args.cosq_control_get.port,
    668 			req->args.cosq_control_get.cosq,
    669 			req->args.cosq_control_get.type,
    670 			req->args.cosq_control_get.arg);
    671 		break;
    672 	case BCM_ASYNC_ENTRY_COSQ_CONTROL_RANGE_GET:
    673 		rv = bcm_cosq_control_range_get(
    674 			req->args.cosq_control_range_get.unit,
    675 			req->args.cosq_control_range_get.port,
    676 			req->args.cosq_control_range_get.flags,
    677 			req->args.cosq_control_range_get.type,
    678 			req->args.cosq_control_range_get.range);
    679 		break;
    680 	case BCM_ASYNC_ENTRY_COSQ_CONTROL_RANGE_SET:
    681 		rv = bcm_cosq_control_range_set(
    682 			req->args.cosq_control_range_set.unit,
    683 			req->args.cosq_control_range_set.port,
    684 			req->args.cosq_control_range_set.flags,
    685 			req->args.cosq_control_range_set.type,
    686 			req->args.cosq_control_range_set.range);
    687 		break;
    688 	case BCM_ASYNC_ENTRY_COSQ_CONTROL_SET:
    689 		rv = bcm_cosq_control_set(
    690 			req->args.cosq_control_set.unit,
    691 			req->args.cosq_control_set.port,
    692 			req->args.cosq_control_set.cosq,
    693 			req->args.cosq_control_set.type,
    694 			req->args.cosq_control_set.arg);
    695 		break;
    696 	case BCM_ASYNC_ENTRY_COSQ_CPU_COSQ_ENABLE_GET:
    697 		rv = bcm_cosq_cpu_cosq_enable_get(
    698 			req->args.cosq_cpu_cosq_enable_get.unit,
    699 			req->args.cosq_cpu_cosq_enable_get.cosq,
    700 			req->args.cosq_cpu_cosq_enable_get.enable);
    701 		break;
    702 	case BCM_ASYNC_ENTRY_COSQ_CPU_COSQ_ENABLE_SET:
    703 		rv = bcm_cosq_cpu_cosq_enable_set(
    704 			req->args.cosq_cpu_cosq_enable_set.unit,
    705 			req->args.cosq_cpu_cosq_enable_set.cosq,
    706 			req->args.cosq_cpu_cosq_enable_set.enable);
    707 		break;
    708 	case BCM_ASYNC_ENTRY_COSQ_DELAY_TOLERANCE_LEVEL_GET:
    709 		rv = bcm_cosq_delay_tolerance_level_get(
    710 			req->args.cosq_delay_tolerance_level_get.unit,
    711 			req->args.cosq_delay_tolerance_level_get.delay_tolerance_level,
    712 			req->args.cosq_delay_tolerance_level_get.delay_tolerance);
    713 		break;
    714 	case BCM_ASYNC_ENTRY_COSQ_DELAY_TOLERANCE_LEVEL_SET:
    715 		rv = bcm_cosq_delay_tolerance_level_set(
    716 			req->args.cosq_delay_tolerance_level_set.unit,
    717 			req->args.cosq_delay_tolerance_level_set.delay_tolerance_level,
    718 			req->args.cosq_delay_tolerance_level_set.delay_tolerance);
    719 		break;
    720 	case BCM_ASYNC_ENTRY_COSQ_DELAY_TOLERANCE_PRESET_GET:
    721 		rv = bcm_cosq_delay_tolerance_preset_get(
    722 			req->args.cosq_delay_tolerance_preset_get.unit,
    723 			req->args.cosq_delay_tolerance_preset_get.preset_attr,
    724 			req->args.cosq_delay_tolerance_preset_get.delay_tolerance);
    725 		break;
    726 	case BCM_ASYNC_ENTRY_COSQ_DEST_CREDIT_SIZE_GET:
    727 		rv = bcm_cosq_dest_credit_size_get(
    728 			req->args.cosq_dest_credit_size_get.unit,
    729 			req->args.cosq_dest_credit_size_get.dest_modid,
    730 			req->args.cosq_dest_credit_size_get.credit_size);
    731 		break;
    732 	case BCM_ASYNC_ENTRY_COSQ_DEST_CREDIT_SIZE_SET:
    733 		rv = bcm_cosq_dest_credit_size_set(
    734 			req->args.cosq_dest_credit_size_set.unit,
    735 			req->args.cosq_dest_credit_size_set.dest_modid,
    736 			req->args.cosq_dest_credit_size_set.credit_size);
    737 		break;
    738 	case BCM_ASYNC_ENTRY_COSQ_DETACH:
    739 		rv = bcm_cosq_detach(
    740 			req->args.cosq_detach.unit);
    741 		break;
    742 	case BCM_ASYNC_ENTRY_COSQ_DISCARD_GET:
    743 		rv = bcm_cosq_discard_get(
    744 			req->args.cosq_discard_get.unit,
    745 			req->args.cosq_discard_get.flags);
    746 		break;
    747 	case BCM_ASYNC_ENTRY_COSQ_DISCARD_PORT_GET:
    748 		rv = bcm_cosq_discard_port_get(
    749 			req->args.cosq_discard_port_get.unit,
    750 			req->args.cosq_discard_port_get.port,
    751 			req->args.cosq_discard_port_get.cosq,
    752 			req->args.cosq_discard_port_get.color,
    753 			req->args.cosq_discard_port_get.drop_start,
    754 			req->args.cosq_discard_port_get.drop_slope,
    755 			req->args.cosq_discard_port_get.average_time);
    756 		break;
    757 	case BCM_ASYNC_ENTRY_COSQ_DISCARD_PORT_SET:
    758 		rv = bcm_cosq_discard_port_set(
    759 			req->args.cosq_discard_port_set.unit,
    760 			req->args.cosq_discard_port_set.port,
    761 			req->args.cosq_discard_port_set.cosq,
    762 			req->args.cosq_discard_port_set.color,
    763 			req->args.cosq_discard_port_set.drop_start,
    764 			req->args.cosq_discard_port_set.drop_slope,
    765 			req->args.cosq_discard_port_set.average_time);
    766 		break;
    767 	case BCM_ASYNC_ENTRY_COSQ_DISCARD_PROFILE_CREATE:
    768 		rv = bcm_cosq_discard_profile_create(
    769 			req->args.cosq_discard_profile_create.unit,
    770 			req->args.cosq_discard_profile_create.profile_id);
    771 		break;
    772 	case BCM_ASYNC_ENTRY_COSQ_DISCARD_PROFILE_DESTROY:
    773 		rv = bcm_cosq_discard_profile_destroy(
    774 			req->args.cosq_discard_profile_destroy.unit,
    775 			req->args.cosq_discard_profile_destroy.profile_id);
    776 		break;
    777 	case BCM_ASYNC_ENTRY_COSQ_DISCARD_PROFILE_GET:
    778 		rv = bcm_cosq_discard_profile_get(
    779 			req->args.cosq_discard_profile_get.unit,
    780 			req->args.cosq_discard_profile_get.profile_id,
    781 			req->args.cosq_discard_profile_get.max,
    782 			req->args.cosq_discard_profile_get.rule_array,
    783 			req->args.cosq_discard_profile_get.rule_count);
    784 		break;
    785 	case BCM_ASYNC_ENTRY_COSQ_DISCARD_PROFILE_UPDATE:
    786 		rv = bcm_cosq_discard_profile_update(
    787 			req->args.cosq_discard_profile_update.unit,
    788 			req->args.cosq_discard_profile_update.profile_id,
    789 			req->args.cosq_discard_profile_update.rule);
    790 		break;
    791 	case BCM_ASYNC_ENTRY_COSQ_DISCARD_SET:
    792 		rv = bcm_cosq_discard_set(
    793 			req->args.cosq_discard_set.unit,
    794 			req->args.cosq_discard_set.flags);
    795 		break;
    796 	case BCM_ASYNC_ENTRY_COSQ_EVENT_REGISTER:
    797 		rv = bcm_cosq_event_register(
    798 			req->args.cosq_event_register.unit,
    799 			req->args.cosq_event_register.event_types,
    800 			req->args.cosq_event_register.port,
    801 			req->args.cosq_event_register.cosq,
    802 			req->args.cosq_event_register.cb,
    803 			req->args.cosq_event_register.user_data);
    804 		break;
    805 	case BCM_ASYNC_ENTRY_COSQ_EVENT_UNREGISTER:
    806 		rv = bcm_cosq_event_unregister(
    807 			req->args.cosq_event_unregister.unit,
    808 			req->args.cosq_event_unregister.event_types,
    809 			req->args.cosq_event_unregister.port,
    810 			req->args.cosq_event_unregister.cosq,
    811 			req->args.cosq_event_unregister.cb);
    812 		break;
    813 	case BCM_ASYNC_ENTRY_COSQ_FC_PATH_ADD:
    814 		rv = bcm_cosq_fc_path_add(
    815 			req->args.cosq_fc_path_add.unit,
    816 			req->args.cosq_fc_path_add.fc_direction,
    817 			req->args.cosq_fc_path_add.source,
    818 			req->args.cosq_fc_path_add.target);
    819 		break;
    820 	case BCM_ASYNC_ENTRY_COSQ_FC_PATH_DELETE:
    821 		rv = bcm_cosq_fc_path_delete(
    822 			req->args.cosq_fc_path_delete.unit,
    823 			req->args.cosq_fc_path_delete.fc_direction,
    824 			req->args.cosq_fc_path_delete.source,
    825 			req->args.cosq_fc_path_delete.target);
    826 		break;
    827 	case BCM_ASYNC_ENTRY_COSQ_FC_PATH_GET:
    828 		rv = bcm_cosq_fc_path_get(
    829 			req->args.cosq_fc_path_get.unit,
    830 			req->args.cosq_fc_path_get.fc_direction,
    831 			req->args.cosq_fc_path_get.source,
    832 			req->args.cosq_fc_path_get.target_max,
    833 			req->args.cosq_fc_path_get.target,
    834 			req->args.cosq_fc_path_get.target_count);
    835 		break;
    836 	case BCM_ASYNC_ENTRY_COSQ_GENERIC_CONTROL_GET:
    837 		rv = bcm_cosq_generic_control_get(
    838 			req->args.cosq_generic_control_get.unit,
    839 			req->args.cosq_generic_control_get.flags,
    840 			req->args.cosq_generic_control_get.gport,
    841 			req->args.cosq_generic_control_get.key,
    842 			req->args.cosq_generic_control_get.type,
    843 			req->args.cosq_generic_control_get.arg);
    844 		break;
    845 	case BCM_ASYNC_ENTRY_COSQ_GENERIC_CONTROL_SET:
    846 		rv = bcm_cosq_generic_control_set(
    847 			req->args.cosq_generic_control_set.unit,
    848 			req->args.cosq_generic_control_set.flags,
    849 			req->args.cosq_generic_control_set.gport,
    850 			req->args.cosq_generic_control_set.key,
    851 			req->args.cosq_generic_control_set.type,
    852 			req->args.cosq_generic_control_set.arg);
    853 		break;
    854 	case BCM_ASYNC_ENTRY_COSQ_GPORT_ADD:
    855 		rv = bcm_cosq_gport_add(
    856 			req->args.cosq_gport_add.unit,
    857 			req->args.cosq_gport_add.port,
    858 			req->args.cosq_gport_add.numq,
    859 			req->args.cosq_gport_add.flags,
    860 			req->args.cosq_gport_add.gport);
    861 		break;
    862 	case BCM_ASYNC_ENTRY_COSQ_GPORT_ATTACH:
    863 		rv = bcm_cosq_gport_attach(
    864 			req->args.cosq_gport_attach.unit,
    865 			req->args.cosq_gport_attach.sched_port,
    866 			req->args.cosq_gport_attach.input_port,
    867 			req->args.cosq_gport_attach.cosq);
    868 		break;
    869 	case BCM_ASYNC_ENTRY_COSQ_GPORT_ATTACH_GET:
    870 		rv = bcm_cosq_gport_attach_get(
    871 			req->args.cosq_gport_attach_get.unit,
    872 			req->args.cosq_gport_attach_get.sched_port,
    873 			req->args.cosq_gport_attach_get.input_port,
    874 			req->args.cosq_gport_attach_get.cosq);
    875 		break;
    876 	case BCM_ASYNC_ENTRY_COSQ_GPORT_BANDWIDTH_GET:
    877 		rv = bcm_cosq_gport_bandwidth_get(
    878 			req->args.cosq_gport_bandwidth_get.unit,
    879 			req->args.cosq_gport_bandwidth_get.gport,
    880 			req->args.cosq_gport_bandwidth_get.cosq,
    881 			req->args.cosq_gport_bandwidth_get.kbits_sec_min,
    882 			req->args.cosq_gport_bandwidth_get.kbits_sec_max,
    883 			req->args.cosq_gport_bandwidth_get.flags);
    884 		break;
    885 	case BCM_ASYNC_ENTRY_COSQ_GPORT_BANDWIDTH_SET:
    886 		rv = bcm_cosq_gport_bandwidth_set(
    887 			req->args.cosq_gport_bandwidth_set.unit,
    888 			req->args.cosq_gport_bandwidth_set.gport,
    889 			req->args.cosq_gport_bandwidth_set.cosq,
    890 			req->args.cosq_gport_bandwidth_set.kbits_sec_min,
    891 			req->args.cosq_gport_bandwidth_set.kbits_sec_max,
    892 			req->args.cosq_gport_bandwidth_set.flags);
    893 		break;
    894 	case BCM_ASYNC_ENTRY_COSQ_GPORT_CHILD_GET:
    895 		rv = bcm_cosq_gport_child_get(
    896 			req->args.cosq_gport_child_get.unit,
    897 			req->args.cosq_gport_child_get.in_gport,
    898 			req->args.cosq_gport_child_get.cosq,
    899 			req->args.cosq_gport_child_get.out_gport);
    900 		break;
    901 	case BCM_ASYNC_ENTRY_COSQ_GPORT_COLOR_SIZE_GET:
    902 		rv = bcm_cosq_gport_color_size_get(
    903 			req->args.cosq_gport_color_size_get.unit,
    904 			req->args.cosq_gport_color_size_get.gport,
    905 			req->args.cosq_gport_color_size_get.cosq,
    906 			req->args.cosq_gport_color_size_get.color,
    907 			req->args.cosq_gport_color_size_get.flags,
    908 			req->args.cosq_gport_color_size_get.gport_size);
    909 		break;
    910 	case BCM_ASYNC_ENTRY_COSQ_GPORT_COLOR_SIZE_SET:
    911 		rv = bcm_cosq_gport_color_size_set(
    912 			req->args.cosq_gport_color_size_set.unit,
    913 			req->args.cosq_gport_color_size_set.gport,
    914 			req->args.cosq_gport_color_size_set.cosq,
    915 			req->args.cosq_gport_color_size_set.color,
    916 			req->args.cosq_gport_color_size_set.flags,
    917 			req->args.cosq_gport_color_size_set.gport_size);
    918 		break;
    919 	case BCM_ASYNC_ENTRY_COSQ_GPORT_CONGESTION_CONFIG_GET:
    920 		rv = bcm_cosq_gport_congestion_config_get(
    921 			req->args.cosq_gport_congestion_config_get.unit,
    922 			req->args.cosq_gport_congestion_config_get.gport,
    923 			req->args.cosq_gport_congestion_config_get.cosq,
    924 			req->args.cosq_gport_congestion_config_get.config);
    925 		break;
    926 	case BCM_ASYNC_ENTRY_COSQ_GPORT_CONGESTION_CONFIG_SET:
    927 		rv = bcm_cosq_gport_congestion_config_set(
    928 			req->args.cosq_gport_congestion_config_set.unit,
    929 			req->args.cosq_gport_congestion_config_set.gport,
    930 			req->args.cosq_gport_congestion_config_set.cosq,
    931 			req->args.cosq_gport_congestion_config_set.config);
    932 		break;
    933 	case BCM_ASYNC_ENTRY_COSQ_GPORT_CONNECTION_GET:
    934 		rv = bcm_cosq_gport_connection_get(
    935 			req->args.cosq_gport_connection_get.unit,
    936 			req->args.cosq_gport_connection_get.gport_connect);
    937 		break;
    938 	case BCM_ASYNC_ENTRY_COSQ_GPORT_CONNECTION_SET:
    939 		rv = bcm_cosq_gport_connection_set(
    940 			req->args.cosq_gport_connection_set.unit,
    941 			req->args.cosq_gport_connection_set.gport_connect);
    942 		break;
    943 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DELETE:
    944 		rv = bcm_cosq_gport_delete(
    945 			req->args.cosq_gport_delete.unit,
    946 			req->args.cosq_gport_delete.gport);
    947 		break;
    948 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DESTMOD_ATTACH:
    949 		rv = bcm_cosq_gport_destmod_attach(
    950 			req->args.cosq_gport_destmod_attach.unit,
    951 			req->args.cosq_gport_destmod_attach.gport,
    952 			req->args.cosq_gport_destmod_attach.ingress_port,
    953 			req->args.cosq_gport_destmod_attach.dest_modid,
    954 			req->args.cosq_gport_destmod_attach.fabric_egress_port);
    955 		break;
    956 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DESTMOD_DETACH:
    957 		rv = bcm_cosq_gport_destmod_detach(
    958 			req->args.cosq_gport_destmod_detach.unit,
    959 			req->args.cosq_gport_destmod_detach.gport,
    960 			req->args.cosq_gport_destmod_detach.ingress_port,
    961 			req->args.cosq_gport_destmod_detach.dest_modid,
    962 			req->args.cosq_gport_destmod_detach.fabric_egress_port);
    963 		break;
    964 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DETACH:
    965 		rv = bcm_cosq_gport_detach(
    966 			req->args.cosq_gport_detach.unit,
    967 			req->args.cosq_gport_detach.sched_port,
    968 			req->args.cosq_gport_detach.input_port,
    969 			req->args.cosq_gport_detach.cosq);
    970 		break;
    971 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DISCARD_EXTENDED_GET:
    972 		rv = bcm_cosq_gport_discard_extended_get(
    973 			req->args.cosq_gport_discard_extended_get.unit,
    974 			req->args.cosq_gport_discard_extended_get.id,
    975 			req->args.cosq_gport_discard_extended_get.discard);
    976 		break;
    977 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DISCARD_EXTENDED_SET:
    978 		rv = bcm_cosq_gport_discard_extended_set(
    979 			req->args.cosq_gport_discard_extended_set.unit,
    980 			req->args.cosq_gport_discard_extended_set.id,
    981 			req->args.cosq_gport_discard_extended_set.discard);
    982 		break;
    983 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DISCARD_GET:
    984 		rv = bcm_cosq_gport_discard_get(
    985 			req->args.cosq_gport_discard_get.unit,
    986 			req->args.cosq_gport_discard_get.gport,
    987 			req->args.cosq_gport_discard_get.cosq,
    988 			req->args.cosq_gport_discard_get.discard);
    989 		break;
    990 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DISCARD_SET:
    991 		rv = bcm_cosq_gport_discard_set(
    992 			req->args.cosq_gport_discard_set.unit,
    993 			req->args.cosq_gport_discard_set.gport,
    994 			req->args.cosq_gport_discard_set.cosq,
    995 			req->args.cosq_gport_discard_set.discard);
    996 		break;
    997 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DYNAMIC_SCHED_GET:
    998 		rv = bcm_cosq_gport_dynamic_sched_get(
    999 			req->args.cosq_gport_dynamic_sched_get.unit,
   1000 			req->args.cosq_gport_dynamic_sched_get.gport,
   1001 			req->args.cosq_gport_dynamic_sched_get.cosq,
   1002 			req->args.cosq_gport_dynamic_sched_get.state,
   1003 			req->args.cosq_gport_dynamic_sched_get.weight);
   1004 		break;
   1005 	case BCM_ASYNC_ENTRY_COSQ_GPORT_DYNAMIC_SCHED_SET:
   1006 		rv = bcm_cosq_gport_dynamic_sched_set(
   1007 			req->args.cosq_gport_dynamic_sched_set.unit,
   1008 			req->args.cosq_gport_dynamic_sched_set.gport,
   1009 			req->args.cosq_gport_dynamic_sched_set.cosq,
   1010 			req->args.cosq_gport_dynamic_sched_set.state,
   1011 			req->args.cosq_gport_dynamic_sched_set.weight);
   1012 		break;
   1013 	case BCM_ASYNC_ENTRY_COSQ_GPORT_EGRESS_MAP_GET:
   1014 		rv = bcm_cosq_gport_egress_map_get(
   1015 			req->args.cosq_gport_egress_map_get.unit,
   1016 			req->args.cosq_gport_egress_map_get.gport,
   1017 			req->args.cosq_gport_egress_map_get.ingress_pri,
   1018 			req->args.cosq_gport_egress_map_get.ingress_dp,
   1019 			req->args.cosq_gport_egress_map_get.offset);
   1020 		break;
   1021 	case BCM_ASYNC_ENTRY_COSQ_GPORT_EGRESS_MAP_SET:
   1022 		rv = bcm_cosq_gport_egress_map_set(
   1023 			req->args.cosq_gport_egress_map_set.unit,
   1024 			req->args.cosq_gport_egress_map_set.gport,
   1025 			req->args.cosq_gport_egress_map_set.ingress_pri,
   1026 			req->args.cosq_gport_egress_map_set.ingress_dp,
   1027 			req->args.cosq_gport_egress_map_set.offset);
   1028 		break;
   1029 	case BCM_ASYNC_ENTRY_COSQ_GPORT_EGRESS_MAPPING_GET:
   1030 		rv = bcm_cosq_gport_egress_mapping_get(
   1031 			req->args.cosq_gport_egress_mapping_get.unit,
   1032 			req->args.cosq_gport_egress_mapping_get.gport,
   1033 			req->args.cosq_gport_egress_mapping_get.int_pri,
   1034 			req->args.cosq_gport_egress_mapping_get.cos,
   1035 			req->args.cosq_gport_egress_mapping_get.flags);
   1036 		break;
   1037 	case BCM_ASYNC_ENTRY_COSQ_GPORT_EGRESS_MAPPING_SET:
   1038 		rv = bcm_cosq_gport_egress_mapping_set(
   1039 			req->args.cosq_gport_egress_mapping_set.unit,
   1040 			req->args.cosq_gport_egress_mapping_set.gport,
   1041 			req->args.cosq_gport_egress_mapping_set.int_pri,
   1042 			req->args.cosq_gport_egress_mapping_set.cos,
   1043 			req->args.cosq_gport_egress_mapping_set.flags);
   1044 		break;
   1045 	case BCM_ASYNC_ENTRY_COSQ_GPORT_EGRESS_MULTICAST_CONFIG_GET:
   1046 		rv = bcm_cosq_gport_egress_multicast_config_get(
   1047 			req->args.cosq_gport_egress_multicast_config_get.unit,
   1048 			req->args.cosq_gport_egress_multicast_config_get.gport,
   1049 			req->args.cosq_gport_egress_multicast_config_get.ingress_pri,
   1050 			req->args.cosq_gport_egress_multicast_config_get.ingress_dp,
   1051 			req->args.cosq_gport_egress_multicast_config_get.flags,
   1052 			req->args.cosq_gport_egress_multicast_config_get.config);
   1053 		break;
   1054 	case BCM_ASYNC_ENTRY_COSQ_GPORT_EGRESS_MULTICAST_CONFIG_SET:
   1055 		rv = bcm_cosq_gport_egress_multicast_config_set(
   1056 			req->args.cosq_gport_egress_multicast_config_set.unit,
   1057 			req->args.cosq_gport_egress_multicast_config_set.gport,
   1058 			req->args.cosq_gport_egress_multicast_config_set.ingress_pri,
   1059 			req->args.cosq_gport_egress_multicast_config_set.ingress_dp,
   1060 			req->args.cosq_gport_egress_multicast_config_set.flags,
   1061 			req->args.cosq_gport_egress_multicast_config_set.config);
   1062 		break;
   1063 	case BCM_ASYNC_ENTRY_COSQ_GPORT_ENABLE_GET:
   1064 		rv = bcm_cosq_gport_enable_get(
   1065 			req->args.cosq_gport_enable_get.unit,
   1066 			req->args.cosq_gport_enable_get.gport,
   1067 			req->args.cosq_gport_enable_get.cosq,
   1068 			req->args.cosq_gport_enable_get.enable);
   1069 		break;
   1070 	case BCM_ASYNC_ENTRY_COSQ_GPORT_ENABLE_SET:
   1071 		rv = bcm_cosq_gport_enable_set(
   1072 			req->args.cosq_gport_enable_set.unit,
   1073 			req->args.cosq_gport_enable_set.gport,
   1074 			req->args.cosq_gport_enable_set.cosq,
   1075 			req->args.cosq_gport_enable_set.enable);
   1076 		break;
   1077 	case BCM_ASYNC_ENTRY_COSQ_GPORT_FADT_THRESHOLD_GET:
   1078 		rv = bcm_cosq_gport_fadt_threshold_get(
   1079 			req->args.cosq_gport_fadt_threshold_get.unit,
   1080 			req->args.cosq_gport_fadt_threshold_get.flags,
   1081 			req->args.cosq_gport_fadt_threshold_get.fadt_info,
   1082 			req->args.cosq_gport_fadt_threshold_get.threshold);
   1083 		break;
   1084 	case BCM_ASYNC_ENTRY_COSQ_GPORT_FADT_THRESHOLD_SET:
   1085 		rv = bcm_cosq_gport_fadt_threshold_set(
   1086 			req->args.cosq_gport_fadt_threshold_set.unit,
   1087 			req->args.cosq_gport_fadt_threshold_set.flags,
   1088 			req->args.cosq_gport_fadt_threshold_set.fadt_info,
   1089 			req->args.cosq_gport_fadt_threshold_set.threshold);
   1090 		break;
   1091 	case BCM_ASYNC_ENTRY_COSQ_GPORT_FLOW_CONTROL_GET:
   1092 		rv = bcm_cosq_gport_flow_control_get(
   1093 			req->args.cosq_gport_flow_control_get.unit,
   1094 			req->args.cosq_gport_flow_control_get.port,
   1095 			req->args.cosq_gport_flow_control_get.int_pri,
   1096 			req->args.cosq_gport_flow_control_get.flow_control_mask);
   1097 		break;
   1098 	case BCM_ASYNC_ENTRY_COSQ_GPORT_FLOW_CONTROL_SET:
   1099 		rv = bcm_cosq_gport_flow_control_set(
   1100 			req->args.cosq_gport_flow_control_set.unit,
   1101 			req->args.cosq_gport_flow_control_set.port,
   1102 			req->args.cosq_gport_flow_control_set.int_pri,
   1103 			req->args.cosq_gport_flow_control_set.flow_control_mask);
   1104 		break;
   1105 	case BCM_ASYNC_ENTRY_COSQ_GPORT_GET:
   1106 		rv = bcm_cosq_gport_get(
   1107 			req->args.cosq_gport_get.unit,
   1108 			req->args.cosq_gport_get.gport,
   1109 			req->args.cosq_gport_get.physical_port,
   1110 			req->args.cosq_gport_get.num_cos_levels,
   1111 			req->args.cosq_gport_get.flags);
   1112 		break;
   1113 	case BCM_ASYNC_ENTRY_COSQ_GPORT_HANDLE_CORE_GET:
   1114 		rv = bcm_cosq_gport_handle_core_get(
   1115 			req->args.cosq_gport_handle_core_get.unit,
   1116 			req->args.cosq_gport_handle_core_get.core,
   1117 			req->args.cosq_gport_handle_core_get.gport_info,
   1118 			req->args.cosq_gport_handle_core_get.out_gport);
   1119 		break;
   1120 	case BCM_ASYNC_ENTRY_COSQ_GPORT_HANDLE_GET:
   1121 		rv = bcm_cosq_gport_handle_get(
   1122 			req->args.cosq_gport_handle_get.unit,
   1123 			req->args.cosq_gport_handle_get.gport_type,
   1124 			req->args.cosq_gport_handle_get.gport_info);
   1125 		break;
   1126 	case BCM_ASYNC_ENTRY_COSQ_GPORT_INFO_GET:
   1127 		rv = bcm_cosq_gport_info_get(
   1128 			req->args.cosq_gport_info_get.unit,
   1129 			req->args.cosq_gport_info_get.gport,
   1130 			req->args.cosq_gport_info_get.info);
   1131 		break;
   1132 	case BCM_ASYNC_ENTRY_COSQ_GPORT_MAPPING_GET:
   1133 		rv = bcm_cosq_gport_mapping_get(
   1134 			req->args.cosq_gport_mapping_get.unit,
   1135 			req->args.cosq_gport_mapping_get.ing_port,
   1136 			req->args.cosq_gport_mapping_get.int_pri,
   1137 			req->args.cosq_gport_mapping_get.flags,
   1138 			req->args.cosq_gport_mapping_get.gport,
   1139 			req->args.cosq_gport_mapping_get.cosq);
   1140 		break;
   1141 	case BCM_ASYNC_ENTRY_COSQ_GPORT_MAPPING_SET:
   1142 		rv = bcm_cosq_gport_mapping_set(
   1143 			req->args.cosq_gport_mapping_set.unit,
   1144 			req->args.cosq_gport_mapping_set.ing_port,
   1145 			req->args.cosq_gport_mapping_set.int_pri,
   1146 			req->args.cosq_gport_mapping_set.flags,
   1147 			req->args.cosq_gport_mapping_set.gport,
   1148 			req->args.cosq_gport_mapping_set.cosq);
   1149 		break;
   1150 	case BCM_ASYNC_ENTRY_COSQ_GPORT_MULTIPATH_ADD:
   1151 		rv = bcm_cosq_gport_multipath_add(
   1152 			req->args.cosq_gport_multipath_add.unit,
   1153 			req->args.cosq_gport_multipath_add.multipath_gport,
   1154 			req->args.cosq_gport_multipath_add.member_gport,
   1155 			req->args.cosq_gport_multipath_add.member_gport_cosq);
   1156 		break;
   1157 	case BCM_ASYNC_ENTRY_COSQ_GPORT_MULTIPATH_DELETE:
   1158 		rv = bcm_cosq_gport_multipath_delete(
   1159 			req->args.cosq_gport_multipath_delete.unit,
   1160 			req->args.cosq_gport_multipath_delete.multipath_gport,
   1161 			req->args.cosq_gport_multipath_delete.member_gport,
   1162 			req->args.cosq_gport_multipath_delete.member_gport_cosq);
   1163 		break;
   1164 	case BCM_ASYNC_ENTRY_COSQ_GPORT_MULTIPATH_GET:
   1165 		rv = bcm_cosq_gport_multipath_get(
   1166 			req->args.cosq_gport_multipath_get.unit,
   1167 			req->args.cosq_gport_multipath_get.multipath_gport,
   1168 			req->args.cosq_gport_multipath_get.member_gport_max,
   1169 			req->args.cosq_gport_multipath_get.member_gport_array,
   1170 			req->args.cosq_gport_multipath_get.member_gport_cosq_array,
   1171 			req->args.cosq_gport_multipath_get.member_gport_count);
   1172 		break;
   1173 	case BCM_ASYNC_ENTRY_COSQ_GPORT_PARENT_GET:
   1174 		rv = bcm_cosq_gport_parent_get(
   1175 			req->args.cosq_gport_parent_get.unit,
   1176 			req->args.cosq_gport_parent_get.child_port,
   1177 			req->args.cosq_gport_parent_get.cos,
   1178 			req->args.cosq_gport_parent_get.parent_port);
   1179 		break;
   1180 	case BCM_ASYNC_ENTRY_COSQ_GPORT_PKT_SIZE_ADJUST_GET:
   1181 		rv = bcm_cosq_gport_pkt_size_adjust_get(
   1182 			req->args.cosq_gport_pkt_size_adjust_get.unit,
   1183 			req->args.cosq_gport_pkt_size_adjust_get.adjust_info,
   1184 			req->args.cosq_gport_pkt_size_adjust_get.delta);
   1185 		break;
   1186 	case BCM_ASYNC_ENTRY_COSQ_GPORT_PKT_SIZE_ADJUST_SET:
   1187 		rv = bcm_cosq_gport_pkt_size_adjust_set(
   1188 			req->args.cosq_gport_pkt_size_adjust_set.unit,
   1189 			req->args.cosq_gport_pkt_size_adjust_set.adjust_info,
   1190 			req->args.cosq_gport_pkt_size_adjust_set.delta);
   1191 		break;
   1192 	case BCM_ASYNC_ENTRY_COSQ_GPORT_PON_LINK_SLA_GET:
   1193 		rv = bcm_cosq_gport_pon_link_sla_get(
   1194 			req->args.cosq_gport_pon_link_sla_get.unit,
   1195 			req->args.cosq_gport_pon_link_sla_get.gport,
   1196 			req->args.cosq_gport_pon_link_sla_get.link_sla);
   1197 		break;
   1198 	case BCM_ASYNC_ENTRY_COSQ_GPORT_PON_LINK_SLA_SET:
   1199 		rv = bcm_cosq_gport_pon_link_sla_set(
   1200 			req->args.cosq_gport_pon_link_sla_set.unit,
   1201 			req->args.cosq_gport_pon_link_sla_set.gport,
   1202 			req->args.cosq_gport_pon_link_sla_set.link_sla);
   1203 		break;
   1204 	case BCM_ASYNC_ENTRY_COSQ_GPORT_QUEUE_ATTACH:
   1205 		rv = bcm_cosq_gport_queue_attach(
   1206 			req->args.cosq_gport_queue_attach.unit,
   1207 			req->args.cosq_gport_queue_attach.flags,
   1208 			req->args.cosq_gport_queue_attach.ingress_queue,
   1209 			req->args.cosq_gport_queue_attach.ingress_int_pri,
   1210 			req->args.cosq_gport_queue_attach.egress_queue,
   1211 			req->args.cosq_gport_queue_attach.egress_int_pri,
   1212 			req->args.cosq_gport_queue_attach.attach_id);
   1213 		break;
   1214 	case BCM_ASYNC_ENTRY_COSQ_GPORT_QUEUE_ATTACH_GET:
   1215 		rv = bcm_cosq_gport_queue_attach_get(
   1216 			req->args.cosq_gport_queue_attach_get.unit,
   1217 			req->args.cosq_gport_queue_attach_get.ingress_queue,
   1218 			req->args.cosq_gport_queue_attach_get.ingress_int_pri,
   1219 			req->args.cosq_gport_queue_attach_get.egress_queue,
   1220 			req->args.cosq_gport_queue_attach_get.egress_int_pri,
   1221 			req->args.cosq_gport_queue_attach_get.attach_id);
   1222 		break;
   1223 	case BCM_ASYNC_ENTRY_COSQ_GPORT_QUEUE_DETACH:
   1224 		rv = bcm_cosq_gport_queue_detach(
   1225 			req->args.cosq_gport_queue_detach.unit,
   1226 			req->args.cosq_gport_queue_detach.ingress_queue,
   1227 			req->args.cosq_gport_queue_detach.ingress_int_pri,
   1228 			req->args.cosq_gport_queue_detach.attach_id);
   1229 		break;
   1230 	case BCM_ASYNC_ENTRY_COSQ_GPORT_RATE_CLASS_CREATE:
   1231 		rv = bcm_cosq_gport_rate_class_create(
   1232 			req->args.cosq_gport_rate_class_create.unit,
   1233 			req->args.cosq_gport_rate_class_create.gport,
   1234 			req->args.cosq_gport_rate_class_create.flags,
   1235 			req->args.cosq_gport_rate_class_create.create_info);
   1236 		break;
   1237 	case BCM_ASYNC_ENTRY_COSQ_GPORT_REATTACH:
   1238 		rv = bcm_cosq_gport_reattach(
   1239 			req->args.cosq_gport_reattach.unit,
   1240 			req->args.cosq_gport_reattach.sched_port,
   1241 			req->args.cosq_gport_reattach.input_port,
   1242 			req->args.cosq_gport_reattach.cosq);
   1243 		break;
   1244 	case BCM_ASYNC_ENTRY_COSQ_GPORT_REPORT_THRESHOLD_GET:
   1245 		rv = bcm_cosq_gport_report_threshold_get(
   1246 			req->args.cosq_gport_report_threshold_get.unit,
   1247 			req->args.cosq_gport_report_threshold_get.gport,
   1248 			req->args.cosq_gport_report_threshold_get.cosq,
   1249 			req->args.cosq_gport_report_threshold_get.threshold);
   1250 		break;
   1251 	case BCM_ASYNC_ENTRY_COSQ_GPORT_REPORT_THRESHOLD_SET:
   1252 		rv = bcm_cosq_gport_report_threshold_set(
   1253 			req->args.cosq_gport_report_threshold_set.unit,
   1254 			req->args.cosq_gport_report_threshold_set.gport,
   1255 			req->args.cosq_gport_report_threshold_set.cosq,
   1256 			req->args.cosq_gport_report_threshold_set.threshold);
   1257 		break;
   1258 	case BCM_ASYNC_ENTRY_COSQ_GPORT_SCHED_CONFIG_GET:
   1259 		rv = bcm_cosq_gport_sched_config_get(
   1260 			req->args.cosq_gport_sched_config_get.unit,
   1261 			req->args.cosq_gport_sched_config_get.gport,
   1262 			req->args.cosq_gport_sched_config_get.sched_mode,
   1263 			req->args.cosq_gport_sched_config_get.int_pri,
   1264 			req->args.cosq_gport_sched_config_get.flags);
   1265 		break;
   1266 	case BCM_ASYNC_ENTRY_COSQ_GPORT_SCHED_CONFIG_SET:
   1267 		rv = bcm_cosq_gport_sched_config_set(
   1268 			req->args.cosq_gport_sched_config_set.unit,
   1269 			req->args.cosq_gport_sched_config_set.gport,
   1270 			req->args.cosq_gport_sched_config_set.sched_mode,
   1271 			req->args.cosq_gport_sched_config_set.int_pri,
   1272 			req->args.cosq_gport_sched_config_set.flags);
   1273 		break;
   1274 	case BCM_ASYNC_ENTRY_COSQ_GPORT_SCHED_GET:
   1275 		rv = bcm_cosq_gport_sched_get(
   1276 			req->args.cosq_gport_sched_get.unit,
   1277 			req->args.cosq_gport_sched_get.gport,
   1278 			req->args.cosq_gport_sched_get.cosq,
   1279 			req->args.cosq_gport_sched_get.mode,
   1280 			req->args.cosq_gport_sched_get.weight);
   1281 		break;
   1282 	case BCM_ASYNC_ENTRY_COSQ_GPORT_SCHED_SET:
   1283 		rv = bcm_cosq_gport_sched_set(
   1284 			req->args.cosq_gport_sched_set.unit,
   1285 			req->args.cosq_gport_sched_set.gport,
   1286 			req->args.cosq_gport_sched_set.cosq,
   1287 			req->args.cosq_gport_sched_set.mode,
   1288 			req->args.cosq_gport_sched_set.weight);
   1289 		break;
   1290 	case BCM_ASYNC_ENTRY_COSQ_GPORT_SIZE_GET:
   1291 		rv = bcm_cosq_gport_size_get(
   1292 			req->args.cosq_gport_size_get.unit,
   1293 			req->args.cosq_gport_size_get.gport,
   1294 			req->args.cosq_gport_size_get.cosq,
   1295 			req->args.cosq_gport_size_get.bytes_min,
   1296 			req->args.cosq_gport_size_get.bytes_max);
   1297 		break;
   1298 	case BCM_ASYNC_ENTRY_COSQ_GPORT_SIZE_SET:
   1299 		rv = bcm_cosq_gport_size_set(
   1300 			req->args.cosq_gport_size_set.unit,
   1301 			req->args.cosq_gport_size_set.gport,
   1302 			req->args.cosq_gport_size_set.cosq,
   1303 			req->args.cosq_gport_size_set.bytes_min,
   1304 			req->args.cosq_gport_size_set.bytes_max);
   1305 		break;
   1306 	case BCM_ASYNC_ENTRY_COSQ_GPORT_STAT_ENABLE_GET:
   1307 		rv = bcm_cosq_gport_stat_enable_get(
   1308 			req->args.cosq_gport_stat_enable_get.unit,
   1309 			req->args.cosq_gport_stat_enable_get.gport,
   1310 			req->args.cosq_gport_stat_enable_get.enable);
   1311 		break;
   1312 	case BCM_ASYNC_ENTRY_COSQ_GPORT_STAT_ENABLE_SET:
   1313 		rv = bcm_cosq_gport_stat_enable_set(
   1314 			req->args.cosq_gport_stat_enable_set.unit,
   1315 			req->args.cosq_gport_stat_enable_set.gport,
   1316 			req->args.cosq_gport_stat_enable_set.enable);
   1317 		break;
   1318 	case BCM_ASYNC_ENTRY_COSQ_GPORT_STAT_GET:
   1319 		rv = bcm_cosq_gport_stat_get(
   1320 			req->args.cosq_gport_stat_get.unit,
   1321 			req->args.cosq_gport_stat_get.gport,
   1322 			req->args.cosq_gport_stat_get.cosq,
   1323 			req->args.cosq_gport_stat_get.stat,
   1324 			req->args.cosq_gport_stat_get.value);
   1325 		break;
   1326 	case BCM_ASYNC_ENTRY_COSQ_GPORT_STAT_SET:
   1327 		rv = bcm_cosq_gport_stat_set(
   1328 			req->args.cosq_gport_stat_set.unit,
   1329 			req->args.cosq_gport_stat_set.gport,
   1330 			req->args.cosq_gport_stat_set.cosq,
   1331 			req->args.cosq_gport_stat_set.stat,
   1332 			req->args.cosq_gport_stat_set.value);
   1333 		break;
   1334 	case BCM_ASYNC_ENTRY_COSQ_GPORT_STAT_SYNC_GET:
   1335 		rv = bcm_cosq_gport_stat_sync_get(
   1336 			req->args.cosq_gport_stat_sync_get.unit,
   1337 			req->args.cosq_gport_stat_sync_get.gport,
   1338 			req->args.cosq_gport_stat_sync_get.cosq,
   1339 			req->args.cosq_gport_stat_sync_get.stat,
   1340 			req->args.cosq_gport_stat_sync_get.value);
   1341 		break;
   1342 	case BCM_ASYNC_ENTRY_COSQ_GPORT_STATIC_THRESHOLD_GET:
   1343 		rv = bcm_cosq_gport_static_threshold_get(
   1344 			req->args.cosq_gport_static_threshold_get.unit,
   1345 			req->args.cosq_gport_static_threshold_get.flags,
   1346 			req->args.cosq_gport_static_threshold_get.thresh_info,
   1347 			req->args.cosq_gport_static_threshold_get.threshold);
   1348 		break;
   1349 	case BCM_ASYNC_ENTRY_COSQ_GPORT_STATIC_THRESHOLD_SET:
   1350 		rv = bcm_cosq_gport_static_threshold_set(
   1351 			req->args.cosq_gport_static_threshold_set.unit,
   1352 			req->args.cosq_gport_static_threshold_set.flags,
   1353 			req->args.cosq_gport_static_threshold_set.thresh_info,
   1354 			req->args.cosq_gport_static_threshold_set.threshold);
   1355 		break;
   1356 	case BCM_ASYNC_ENTRY_COSQ_GPORT_STATISTIC_MULTI_GET:
   1357 		rv = bcm_cosq_gport_statistic_multi_get(
   1358 			req->args.cosq_gport_statistic_multi_get.unit,
   1359 			req->args.cosq_gport_statistic_multi_get.gport,
   1360 			req->args.cosq_gport_statistic_multi_get.lgl_gport,
   1361 			req->args.cosq_gport_statistic_multi_get.cosq,
   1362 			req->args.cosq_gport_statistic_multi_get.stat_count,
   1363 			req->args.cosq_gport_statistic_multi_get.stats_array,
   1364 			req->args.cosq_gport_statistic_multi_get.value_count,
   1365 			req->args.cosq_gport_statistic_multi_get.value_array);
   1366 		break;
   1367 	case BCM_ASYNC_ENTRY_COSQ_GPORT_STATISTIC_MULTI_SET:
   1368 		rv = bcm_cosq_gport_statistic_multi_set(
   1369 			req->args.cosq_gport_statistic_multi_set.unit,
   1370 			req->args.cosq_gport_statistic_multi_set.gport,
   1371 			req->args.cosq_gport_statistic_multi_set.lgl_gport,
   1372 			req->args.cosq_gport_statistic_multi_set.cosq,
   1373 			req->args.cosq_gport_statistic_multi_set.stat_count,
   1374 			req->args.cosq_gport_statistic_multi_set.stats_array,
   1375 			req->args.cosq_gport_statistic_multi_set.value);
   1376 		break;
   1377 	case BCM_ASYNC_ENTRY_COSQ_GPORT_THRESHOLD_GET:
   1378 		rv = bcm_cosq_gport_threshold_get(
   1379 			req->args.cosq_gport_threshold_get.unit,
   1380 			req->args.cosq_gport_threshold_get.gport,
   1381 			req->args.cosq_gport_threshold_get.cosq,
   1382 			req->args.cosq_gport_threshold_get.threshold);
   1383 		break;
   1384 	case BCM_ASYNC_ENTRY_COSQ_GPORT_THRESHOLD_SET:
   1385 		rv = bcm_cosq_gport_threshold_set(
   1386 			req->args.cosq_gport_threshold_set.unit,
   1387 			req->args.cosq_gport_threshold_set.gport,
   1388 			req->args.cosq_gport_threshold_set.cosq,
   1389 			req->args.cosq_gport_threshold_set.threshold);
   1390 		break;
   1391 	case BCM_ASYNC_ENTRY_COSQ_GPORT_TRAVERSE:
   1392 		rv = bcm_cosq_gport_traverse(
   1393 			req->args.cosq_gport_traverse.unit,
   1394 			req->args.cosq_gport_traverse.cb,
   1395 			req->args.cosq_gport_traverse.user_data);
   1396 		break;
   1397 	case BCM_ASYNC_ENTRY_COSQ_GPORT_TRAVERSE_BY_PORT:
   1398 		rv = bcm_cosq_gport_traverse_by_port(
   1399 			req->args.cosq_gport_traverse_by_port.unit,
   1400 			req->args.cosq_gport_traverse_by_port.port,
   1401 			req->args.cosq_gport_traverse_by_port.cb,
   1402 			req->args.cosq_gport_traverse_by_port.user_data);
   1403 		break;
   1404 	case BCM_ASYNC_ENTRY_COSQ_GPORT_VSQ_ADD:
   1405 		rv = bcm_cosq_gport_vsq_add(
   1406 			req->args.cosq_gport_vsq_add.unit,
   1407 			req->args.cosq_gport_vsq_add.vsq,
   1408 			req->args.cosq_gport_vsq_add.queue,
   1409 			req->args.cosq_gport_vsq_add.cosq);
   1410 		break;
   1411 	case BCM_ASYNC_ENTRY_COSQ_GPORT_VSQ_CREATE:
   1412 		rv = bcm_cosq_gport_vsq_create(
   1413 			req->args.cosq_gport_vsq_create.unit,
   1414 			req->args.cosq_gport_vsq_create.vsq_info,
   1415 			req->args.cosq_gport_vsq_create.vsq_gport);
   1416 		break;
   1417 	case BCM_ASYNC_ENTRY_COSQ_GPORT_VSQ_DELETE:
   1418 		rv = bcm_cosq_gport_vsq_delete(
   1419 			req->args.cosq_gport_vsq_delete.unit,
   1420 			req->args.cosq_gport_vsq_delete.vsq,
   1421 			req->args.cosq_gport_vsq_delete.queue,
   1422 			req->args.cosq_gport_vsq_delete.cosq);
   1423 		break;
   1424 	case BCM_ASYNC_ENTRY_COSQ_GPORT_VSQ_DELETE_ALL:
   1425 		rv = bcm_cosq_gport_vsq_delete_all(
   1426 			req->args.cosq_gport_vsq_delete_all.unit,
   1427 			req->args.cosq_gport_vsq_delete_all.vsq);
   1428 		break;
   1429 	case BCM_ASYNC_ENTRY_COSQ_GPORT_VSQ_DESTROY:
   1430 		rv = bcm_cosq_gport_vsq_destroy(
   1431 			req->args.cosq_gport_vsq_destroy.unit,
   1432 			req->args.cosq_gport_vsq_destroy.vsq_gport);
   1433 		break;
   1434 	case BCM_ASYNC_ENTRY_COSQ_GPORT_VSQ_GET:
   1435 		rv = bcm_cosq_gport_vsq_get(
   1436 			req->args.cosq_gport_vsq_get.unit,
   1437 			req->args.cosq_gport_vsq_get.vsq,
   1438 			req->args.cosq_gport_vsq_get.queue_max,
   1439 			req->args.cosq_gport_vsq_get.queue_array,
   1440 			req->args.cosq_gport_vsq_get.cosq_array,
   1441 			req->args.cosq_gport_vsq_get.queue_count);
   1442 		break;
   1443 	case BCM_ASYNC_ENTRY_COSQ_HDRM_POOL_LIMIT_SET:
   1444 		rv = bcm_cosq_hdrm_pool_limit_set(
   1445 			req->args.cosq_hdrm_pool_limit_set.unit,
   1446 			req->args.cosq_hdrm_pool_limit_set.hdrm_pool,
   1447 			req->args.cosq_hdrm_pool_limit_set.num_lossless_class,
   1448 			req->args.cosq_hdrm_pool_limit_set.arr_size,
   1449 			req->args.cosq_hdrm_pool_limit_set.pkt_dist_array);
   1450 		break;
   1451 	case BCM_ASYNC_ENTRY_COSQ_ICGM_RESOURCE_STAT_GET:
   1452 		rv = bcm_cosq_icgm_resource_stat_get(
   1453 			req->args.cosq_icgm_resource_stat_get.unit,
   1454 			req->args.cosq_icgm_resource_stat_get.stat_key,
   1455 			req->args.cosq_icgm_resource_stat_get.value);
   1456 		break;
   1457 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_CONTROL_FRAME_GET:
   1458 		rv = bcm_cosq_ingress_port_drop_control_frame_get(
   1459 			req->args.cosq_ingress_port_drop_control_frame_get.unit,
   1460 			req->args.cosq_ingress_port_drop_control_frame_get.port,
   1461 			req->args.cosq_ingress_port_drop_control_frame_get.flags,
   1462 			req->args.cosq_ingress_port_drop_control_frame_get.control_frame_index,
   1463 			req->args.cosq_ingress_port_drop_control_frame_get.control_frame_config);
   1464 		break;
   1465 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_CONTROL_FRAME_SET:
   1466 		rv = bcm_cosq_ingress_port_drop_control_frame_set(
   1467 			req->args.cosq_ingress_port_drop_control_frame_set.unit,
   1468 			req->args.cosq_ingress_port_drop_control_frame_set.port,
   1469 			req->args.cosq_ingress_port_drop_control_frame_set.flags,
   1470 			req->args.cosq_ingress_port_drop_control_frame_set.control_frame_index,
   1471 			req->args.cosq_ingress_port_drop_control_frame_set.control_frame_config);
   1472 		break;
   1473 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_CUSTOM_ETHER_TYPE_GET:
   1474 		rv = bcm_cosq_ingress_port_drop_custom_ether_type_get(
   1475 			req->args.cosq_ingress_port_drop_custom_ether_type_get.unit,
   1476 			req->args.cosq_ingress_port_drop_custom_ether_type_get.port,
   1477 			req->args.cosq_ingress_port_drop_custom_ether_type_get.flags,
   1478 			req->args.cosq_ingress_port_drop_custom_ether_type_get.ether_type_code,
   1479 			req->args.cosq_ingress_port_drop_custom_ether_type_get.ether_type_val);
   1480 		break;
   1481 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_CUSTOM_ETHER_TYPE_SET:
   1482 		rv = bcm_cosq_ingress_port_drop_custom_ether_type_set(
   1483 			req->args.cosq_ingress_port_drop_custom_ether_type_set.unit,
   1484 			req->args.cosq_ingress_port_drop_custom_ether_type_set.port,
   1485 			req->args.cosq_ingress_port_drop_custom_ether_type_set.flags,
   1486 			req->args.cosq_ingress_port_drop_custom_ether_type_set.ether_type_code,
   1487 			req->args.cosq_ingress_port_drop_custom_ether_type_set.ether_type_val);
   1488 		break;
   1489 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_DEFAULT_PRIORITY_GET:
   1490 		rv = bcm_cosq_ingress_port_drop_default_priority_get(
   1491 			req->args.cosq_ingress_port_drop_default_priority_get.unit,
   1492 			req->args.cosq_ingress_port_drop_default_priority_get.port,
   1493 			req->args.cosq_ingress_port_drop_default_priority_get.flags,
   1494 			req->args.cosq_ingress_port_drop_default_priority_get.default_priority);
   1495 		break;
   1496 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_DEFAULT_PRIORITY_SET:
   1497 		rv = bcm_cosq_ingress_port_drop_default_priority_set(
   1498 			req->args.cosq_ingress_port_drop_default_priority_set.unit,
   1499 			req->args.cosq_ingress_port_drop_default_priority_set.port,
   1500 			req->args.cosq_ingress_port_drop_default_priority_set.flags,
   1501 			req->args.cosq_ingress_port_drop_default_priority_set.default_priority);
   1502 		break;
   1503 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_ENABLE_GET:
   1504 		rv = bcm_cosq_ingress_port_drop_enable_get(
   1505 			req->args.cosq_ingress_port_drop_enable_get.unit,
   1506 			req->args.cosq_ingress_port_drop_enable_get.port,
   1507 			req->args.cosq_ingress_port_drop_enable_get.flags,
   1508 			req->args.cosq_ingress_port_drop_enable_get.enable_mode);
   1509 		break;
   1510 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_ENABLE_SET:
   1511 		rv = bcm_cosq_ingress_port_drop_enable_set(
   1512 			req->args.cosq_ingress_port_drop_enable_set.unit,
   1513 			req->args.cosq_ingress_port_drop_enable_set.port,
   1514 			req->args.cosq_ingress_port_drop_enable_set.flags,
   1515 			req->args.cosq_ingress_port_drop_enable_set.enable_mode);
   1516 		break;
   1517 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_FLEX_KEY_CONSTRUCT_GET:
   1518 		rv = bcm_cosq_ingress_port_drop_flex_key_construct_get(
   1519 			req->args.cosq_ingress_port_drop_flex_key_construct_get.unit,
   1520 			req->args.cosq_ingress_port_drop_flex_key_construct_get.key_id,
   1521 			req->args.cosq_ingress_port_drop_flex_key_construct_get.flags,
   1522 			req->args.cosq_ingress_port_drop_flex_key_construct_get.flex_key_config);
   1523 		break;
   1524 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_FLEX_KEY_CONSTRUCT_SET:
   1525 		rv = bcm_cosq_ingress_port_drop_flex_key_construct_set(
   1526 			req->args.cosq_ingress_port_drop_flex_key_construct_set.unit,
   1527 			req->args.cosq_ingress_port_drop_flex_key_construct_set.key_id,
   1528 			req->args.cosq_ingress_port_drop_flex_key_construct_set.flags,
   1529 			req->args.cosq_ingress_port_drop_flex_key_construct_set.flex_key_config);
   1530 		break;
   1531 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_FLEX_KEY_ENTRY_GET:
   1532 		rv = bcm_cosq_ingress_port_drop_flex_key_entry_get(
   1533 			req->args.cosq_ingress_port_drop_flex_key_entry_get.unit,
   1534 			req->args.cosq_ingress_port_drop_flex_key_entry_get.port,
   1535 			req->args.cosq_ingress_port_drop_flex_key_entry_get.flags,
   1536 			req->args.cosq_ingress_port_drop_flex_key_entry_get.key_index,
   1537 			req->args.cosq_ingress_port_drop_flex_key_entry_get.flex_key_info);
   1538 		break;
   1539 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_FLEX_KEY_ENTRY_SET:
   1540 		rv = bcm_cosq_ingress_port_drop_flex_key_entry_set(
   1541 			req->args.cosq_ingress_port_drop_flex_key_entry_set.unit,
   1542 			req->args.cosq_ingress_port_drop_flex_key_entry_set.port,
   1543 			req->args.cosq_ingress_port_drop_flex_key_entry_set.flags,
   1544 			req->args.cosq_ingress_port_drop_flex_key_entry_set.key_index,
   1545 			req->args.cosq_ingress_port_drop_flex_key_entry_set.flex_key_info);
   1546 		break;
   1547 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_MAP_GET:
   1548 		rv = bcm_cosq_ingress_port_drop_map_get(
   1549 			req->args.cosq_ingress_port_drop_map_get.unit,
   1550 			req->args.cosq_ingress_port_drop_map_get.port,
   1551 			req->args.cosq_ingress_port_drop_map_get.flags,
   1552 			req->args.cosq_ingress_port_drop_map_get.map,
   1553 			req->args.cosq_ingress_port_drop_map_get.key,
   1554 			req->args.cosq_ingress_port_drop_map_get.priority);
   1555 		break;
   1556 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_MAP_SET:
   1557 		rv = bcm_cosq_ingress_port_drop_map_set(
   1558 			req->args.cosq_ingress_port_drop_map_set.unit,
   1559 			req->args.cosq_ingress_port_drop_map_set.port,
   1560 			req->args.cosq_ingress_port_drop_map_set.flags,
   1561 			req->args.cosq_ingress_port_drop_map_set.map,
   1562 			req->args.cosq_ingress_port_drop_map_set.key,
   1563 			req->args.cosq_ingress_port_drop_map_set.priority);
   1564 		break;
   1565 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_MPLS_SPECIAL_LABEL_GET:
   1566 		rv = bcm_cosq_ingress_port_drop_mpls_special_label_get(
   1567 			req->args.cosq_ingress_port_drop_mpls_special_label_get.unit,
   1568 			req->args.cosq_ingress_port_drop_mpls_special_label_get.port,
   1569 			req->args.cosq_ingress_port_drop_mpls_special_label_get.flags,
   1570 			req->args.cosq_ingress_port_drop_mpls_special_label_get.label_index,
   1571 			req->args.cosq_ingress_port_drop_mpls_special_label_get.label_config);
   1572 		break;
   1573 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_MPLS_SPECIAL_LABEL_SET:
   1574 		rv = bcm_cosq_ingress_port_drop_mpls_special_label_set(
   1575 			req->args.cosq_ingress_port_drop_mpls_special_label_set.unit,
   1576 			req->args.cosq_ingress_port_drop_mpls_special_label_set.port,
   1577 			req->args.cosq_ingress_port_drop_mpls_special_label_set.flags,
   1578 			req->args.cosq_ingress_port_drop_mpls_special_label_set.label_index,
   1579 			req->args.cosq_ingress_port_drop_mpls_special_label_set.label_config);
   1580 		break;
   1581 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_THRESHOLD_GET:
   1582 		rv = bcm_cosq_ingress_port_drop_threshold_get(
   1583 			req->args.cosq_ingress_port_drop_threshold_get.unit,
   1584 			req->args.cosq_ingress_port_drop_threshold_get.port,
   1585 			req->args.cosq_ingress_port_drop_threshold_get.flags,
   1586 			req->args.cosq_ingress_port_drop_threshold_get.priority,
   1587 			req->args.cosq_ingress_port_drop_threshold_get.value);
   1588 		break;
   1589 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_PORT_DROP_THRESHOLD_SET:
   1590 		rv = bcm_cosq_ingress_port_drop_threshold_set(
   1591 			req->args.cosq_ingress_port_drop_threshold_set.unit,
   1592 			req->args.cosq_ingress_port_drop_threshold_set.port,
   1593 			req->args.cosq_ingress_port_drop_threshold_set.flags,
   1594 			req->args.cosq_ingress_port_drop_threshold_set.priority,
   1595 			req->args.cosq_ingress_port_drop_threshold_set.value);
   1596 		break;
   1597 	case BCM_ASYNC_ENTRY_COSQ_INGRESS_QUEUE_BUNDLE_GPORT_ADD:
   1598 		rv = bcm_cosq_ingress_queue_bundle_gport_add(
   1599 			req->args.cosq_ingress_queue_bundle_gport_add.unit,
   1600 			req->args.cosq_ingress_queue_bundle_gport_add.config,
   1601 			req->args.cosq_ingress_queue_bundle_gport_add.gport);
   1602 		break;
   1603 	case BCM_ASYNC_ENTRY_COSQ_INIT:
   1604 		rv = bcm_cosq_init(
   1605 			req->args.cosq_init.unit);
   1606 		break;
   1607 	case BCM_ASYNC_ENTRY_COSQ_LATENCY_PROFILE_CREATE:
   1608 		rv = bcm_cosq_latency_profile_create(
   1609 			req->args.cosq_latency_profile_create.unit,
   1610 			req->args.cosq_latency_profile_create.flags,
   1611 			req->args.cosq_latency_profile_create.profile_gport);
   1612 		break;
   1613 	case BCM_ASYNC_ENTRY_COSQ_LATENCY_PROFILE_DESTROY:
   1614 		rv = bcm_cosq_latency_profile_destroy(
   1615 			req->args.cosq_latency_profile_destroy.unit,
   1616 			req->args.cosq_latency_profile_destroy.flags,
   1617 			req->args.cosq_latency_profile_destroy.profile_gport);
   1618 		break;
   1619 	case BCM_ASYNC_ENTRY_COSQ_MAPPING_GET:
   1620 		rv = bcm_cosq_mapping_get(
   1621 			req->args.cosq_mapping_get.unit,
   1622 			req->args.cosq_mapping_get.priority,
   1623 			req->args.cosq_mapping_get.cosq);
   1624 		break;
   1625 	case BCM_ASYNC_ENTRY_COSQ_MAPPING_SET:
   1626 		rv = bcm_cosq_mapping_set(
   1627 			req->args.cosq_mapping_set.unit,
   1628 			req->args.cosq_mapping_set.priority,
   1629 			req->args.cosq_mapping_set.cosq);
   1630 		break;
   1631 	case BCM_ASYNC_ENTRY_COSQ_MAX_LATENCY_PKTS_GET:
   1632 		rv = bcm_cosq_max_latency_pkts_get(
   1633 			req->args.cosq_max_latency_pkts_get.unit,
   1634 			req->args.cosq_max_latency_pkts_get.gport,
   1635 			req->args.cosq_max_latency_pkts_get.flags,
   1636 			req->args.cosq_max_latency_pkts_get.max_count,
   1637 			req->args.cosq_max_latency_pkts_get.max_latency_pkts,
   1638 			req->args.cosq_max_latency_pkts_get.actual_count);
   1639 		break;
   1640 	case BCM_ASYNC_ENTRY_COSQ_MIRROR_ON_DROP_GROUP_GET:
   1641 		rv = bcm_cosq_mirror_on_drop_group_get(
   1642 			req->args.cosq_mirror_on_drop_group_get.unit,
   1643 			req->args.cosq_mirror_on_drop_group_get.flags,
   1644 			req->args.cosq_mirror_on_drop_group_get.group_id,
   1645 			req->args.cosq_mirror_on_drop_group_get.group_info);
   1646 		break;
   1647 	case BCM_ASYNC_ENTRY_COSQ_MIRROR_ON_DROP_GROUP_SET:
   1648 		rv = bcm_cosq_mirror_on_drop_group_set(
   1649 			req->args.cosq_mirror_on_drop_group_set.unit,
   1650 			req->args.cosq_mirror_on_drop_group_set.flags,
   1651 			req->args.cosq_mirror_on_drop_group_set.group_id,
   1652 			req->args.cosq_mirror_on_drop_group_set.group_info);
   1653 		break;
   1654 	case BCM_ASYNC_ENTRY_COSQ_PFC_CLASS_CONFIG_PROFILE_GET:
   1655 		rv = bcm_cosq_pfc_class_config_profile_get(
   1656 			req->args.cosq_pfc_class_config_profile_get.unit,
   1657 			req->args.cosq_pfc_class_config_profile_get.profile_id,
   1658 			req->args.cosq_pfc_class_config_profile_get.max_count,
   1659 			req->args.cosq_pfc_class_config_profile_get.config_array,
   1660 			req->args.cosq_pfc_class_config_profile_get.count);
   1661 		break;
   1662 	case BCM_ASYNC_ENTRY_COSQ_PFC_CLASS_CONFIG_PROFILE_SET:
   1663 		rv = bcm_cosq_pfc_class_config_profile_set(
   1664 			req->args.cosq_pfc_class_config_profile_set.unit,
   1665 			req->args.cosq_pfc_class_config_profile_set.profile_id,
   1666 			req->args.cosq_pfc_class_config_profile_set.count,
   1667 			req->args.cosq_pfc_class_config_profile_set.config_array);
   1668 		break;
   1669 	case BCM_ASYNC_ENTRY_COSQ_PFC_CLASS_MAPPING_GET:
   1670 		rv = bcm_cosq_pfc_class_mapping_get(
   1671 			req->args.cosq_pfc_class_mapping_get.unit,
   1672 			req->args.cosq_pfc_class_mapping_get.port,
   1673 			req->args.cosq_pfc_class_mapping_get.array_max,
   1674 			req->args.cosq_pfc_class_mapping_get.mapping_array,
   1675 			req->args.cosq_pfc_class_mapping_get.array_count);
   1676 		break;
   1677 	case BCM_ASYNC_ENTRY_COSQ_PFC_CLASS_MAPPING_SET:
   1678 		rv = bcm_cosq_pfc_class_mapping_set(
   1679 			req->args.cosq_pfc_class_mapping_set.unit,
   1680 			req->args.cosq_pfc_class_mapping_set.port,
   1681 			req->args.cosq_pfc_class_mapping_set.array_count,
   1682 			req->args.cosq_pfc_class_mapping_set.mapping_array);
   1683 		break;
   1684 	case BCM_ASYNC_ENTRY_COSQ_PFC_CONFIG_GET:
   1685 		rv = bcm_cosq_pfc_config_get(
   1686 			req->args.cosq_pfc_config_get.unit,
   1687 			req->args.cosq_pfc_config_get.gport,
   1688 			req->args.cosq_pfc_config_get.cosq,
   1689 			req->args.cosq_pfc_config_get.flags,
   1690 			req->args.cosq_pfc_config_get.config);
   1691 		break;
   1692 	case BCM_ASYNC_ENTRY_COSQ_PFC_CONFIG_SET:
   1693 		rv = bcm_cosq_pfc_config_set(
   1694 			req->args.cosq_pfc_config_set.unit,
   1695 			req->args.cosq_pfc_config_set.gport,
   1696 			req->args.cosq_pfc_config_set.cosq,
   1697 			req->args.cosq_pfc_config_set.flags,
   1698 			req->args.cosq_pfc_config_set.config);
   1699 		break;
   1700 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_CONFIG_GET:
   1701 		rv = bcm_cosq_pfc_deadlock_config_get(
   1702 			req->args.cosq_pfc_deadlock_config_get.unit,
   1703 			req->args.cosq_pfc_deadlock_config_get.priority,
   1704 			req->args.cosq_pfc_deadlock_config_get.config);
   1705 		break;
   1706 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_CONFIG_SET:
   1707 		rv = bcm_cosq_pfc_deadlock_config_set(
   1708 			req->args.cosq_pfc_deadlock_config_set.unit,
   1709 			req->args.cosq_pfc_deadlock_config_set.priority,
   1710 			req->args.cosq_pfc_deadlock_config_set.config);
   1711 		break;
   1712 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_CONTROL_GET:
   1713 		rv = bcm_cosq_pfc_deadlock_control_get(
   1714 			req->args.cosq_pfc_deadlock_control_get.unit,
   1715 			req->args.cosq_pfc_deadlock_control_get.port,
   1716 			req->args.cosq_pfc_deadlock_control_get.pfc_priority,
   1717 			req->args.cosq_pfc_deadlock_control_get.type,
   1718 			req->args.cosq_pfc_deadlock_control_get.arg);
   1719 		break;
   1720 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_CONTROL_SET:
   1721 		rv = bcm_cosq_pfc_deadlock_control_set(
   1722 			req->args.cosq_pfc_deadlock_control_set.unit,
   1723 			req->args.cosq_pfc_deadlock_control_set.port,
   1724 			req->args.cosq_pfc_deadlock_control_set.pfc_priority,
   1725 			req->args.cosq_pfc_deadlock_control_set.type,
   1726 			req->args.cosq_pfc_deadlock_control_set.arg);
   1727 		break;
   1728 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_INFO_GET:
   1729 		rv = bcm_cosq_pfc_deadlock_info_get(
   1730 			req->args.cosq_pfc_deadlock_info_get.unit,
   1731 			req->args.cosq_pfc_deadlock_info_get.priority,
   1732 			req->args.cosq_pfc_deadlock_info_get.pfc_deadlock_info);
   1733 		break;
   1734 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_QUEUE_CONFIG_GET:
   1735 		rv = bcm_cosq_pfc_deadlock_queue_config_get(
   1736 			req->args.cosq_pfc_deadlock_queue_config_get.unit,
   1737 			req->args.cosq_pfc_deadlock_queue_config_get.gport,
   1738 			req->args.cosq_pfc_deadlock_queue_config_get.q_config);
   1739 		break;
   1740 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_QUEUE_CONFIG_SET:
   1741 		rv = bcm_cosq_pfc_deadlock_queue_config_set(
   1742 			req->args.cosq_pfc_deadlock_queue_config_set.unit,
   1743 			req->args.cosq_pfc_deadlock_queue_config_set.gport,
   1744 			req->args.cosq_pfc_deadlock_queue_config_set.q_config);
   1745 		break;
   1746 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_QUEUE_STATUS_GET:
   1747 		rv = bcm_cosq_pfc_deadlock_queue_status_get(
   1748 			req->args.cosq_pfc_deadlock_queue_status_get.unit,
   1749 			req->args.cosq_pfc_deadlock_queue_status_get.gport,
   1750 			req->args.cosq_pfc_deadlock_queue_status_get.deadlock_status);
   1751 		break;
   1752 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_RECOVERY_EVENT_REGISTER:
   1753 		rv = bcm_cosq_pfc_deadlock_recovery_event_register(
   1754 			req->args.cosq_pfc_deadlock_recovery_event_register.unit,
   1755 			req->args.cosq_pfc_deadlock_recovery_event_register.callback,
   1756 			req->args.cosq_pfc_deadlock_recovery_event_register.userdata);
   1757 		break;
   1758 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_RECOVERY_EVENT_UNREGISTER:
   1759 		rv = bcm_cosq_pfc_deadlock_recovery_event_unregister(
   1760 			req->args.cosq_pfc_deadlock_recovery_event_unregister.unit,
   1761 			req->args.cosq_pfc_deadlock_recovery_event_unregister.callback,
   1762 			req->args.cosq_pfc_deadlock_recovery_event_unregister.userdata);
   1763 		break;
   1764 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_RECOVERY_EXIT:
   1765 		rv = bcm_cosq_pfc_deadlock_recovery_exit(
   1766 			req->args.cosq_pfc_deadlock_recovery_exit.unit,
   1767 			req->args.cosq_pfc_deadlock_recovery_exit.port,
   1768 			req->args.cosq_pfc_deadlock_recovery_exit.cosq);
   1769 		break;
   1770 	case BCM_ASYNC_ENTRY_COSQ_PFC_DEADLOCK_RECOVERY_START:
   1771 		rv = bcm_cosq_pfc_deadlock_recovery_start(
   1772 			req->args.cosq_pfc_deadlock_recovery_start.unit,
   1773 			req->args.cosq_pfc_deadlock_recovery_start.port,
   1774 			req->args.cosq_pfc_deadlock_recovery_start.cosq);
   1775 		break;
   1776 	case BCM_ASYNC_ENTRY_COSQ_PKT_SIZE_ADJUST_DELTA_MAP_GET:
   1777 		rv = bcm_cosq_pkt_size_adjust_delta_map_get(
   1778 			req->args.cosq_pkt_size_adjust_delta_map_get.unit,
   1779 			req->args.cosq_pkt_size_adjust_delta_map_get.delta,
   1780 			req->args.cosq_pkt_size_adjust_delta_map_get.final_delta);
   1781 		break;
   1782 	case BCM_ASYNC_ENTRY_COSQ_PKT_SIZE_ADJUST_DELTA_MAP_SET:
   1783 		rv = bcm_cosq_pkt_size_adjust_delta_map_set(
   1784 			req->args.cosq_pkt_size_adjust_delta_map_set.unit,
   1785 			req->args.cosq_pkt_size_adjust_delta_map_set.delta,
   1786 			req->args.cosq_pkt_size_adjust_delta_map_set.final_delta);
   1787 		break;
   1788 	case BCM_ASYNC_ENTRY_COSQ_PORT_BANDWIDTH_GET:
   1789 		rv = bcm_cosq_port_bandwidth_get(
   1790 			req->args.cosq_port_bandwidth_get.unit,
   1791 			req->args.cosq_port_bandwidth_get.port,
   1792 			req->args.cosq_port_bandwidth_get.cosq,
   1793 			req->args.cosq_port_bandwidth_get.kbits_sec_min,
   1794 			req->args.cosq_port_bandwidth_get.kbits_sec_max,
   1795 			req->args.cosq_port_bandwidth_get.flags);
   1796 		break;
   1797 	case BCM_ASYNC_ENTRY_COSQ_PORT_BANDWIDTH_SET:
   1798 		rv = bcm_cosq_port_bandwidth_set(
   1799 			req->args.cosq_port_bandwidth_set.unit,
   1800 			req->args.cosq_port_bandwidth_set.port,
   1801 			req->args.cosq_port_bandwidth_set.cosq,
   1802 			req->args.cosq_port_bandwidth_set.kbits_sec_min,
   1803 			req->args.cosq_port_bandwidth_set.kbits_sec_max,
   1804 			req->args.cosq_port_bandwidth_set.flags);
   1805 		break;
   1806 	case BCM_ASYNC_ENTRY_COSQ_PORT_MAPPING_GET:
   1807 		rv = bcm_cosq_port_mapping_get(
   1808 			req->args.cosq_port_mapping_get.unit,
   1809 			req->args.cosq_port_mapping_get.port,
   1810 			req->args.cosq_port_mapping_get.priority,
   1811 			req->args.cosq_port_mapping_get.cosq);
   1812 		break;
   1813 	case BCM_ASYNC_ENTRY_COSQ_PORT_MAPPING_MULTI_GET:
   1814 		rv = bcm_cosq_port_mapping_multi_get(
   1815 			req->args.cosq_port_mapping_multi_get.unit,
   1816 			req->args.cosq_port_mapping_multi_get.port,
   1817 			req->args.cosq_port_mapping_multi_get.count,
   1818 			req->args.cosq_port_mapping_multi_get.priority_array,
   1819 			req->args.cosq_port_mapping_multi_get.cosq_array);
   1820 		break;
   1821 	case BCM_ASYNC_ENTRY_COSQ_PORT_MAPPING_MULTI_SET:
   1822 		rv = bcm_cosq_port_mapping_multi_set(
   1823 			req->args.cosq_port_mapping_multi_set.unit,
   1824 			req->args.cosq_port_mapping_multi_set.port,
   1825 			req->args.cosq_port_mapping_multi_set.count,
   1826 			req->args.cosq_port_mapping_multi_set.priority_array,
   1827 			req->args.cosq_port_mapping_multi_set.cosq_array);
   1828 		break;
   1829 	case BCM_ASYNC_ENTRY_COSQ_PORT_MAPPING_SET:
   1830 		rv = bcm_cosq_port_mapping_set(
   1831 			req->args.cosq_port_mapping_set.unit,
   1832 			req->args.cosq_port_mapping_set.port,
   1833 			req->args.cosq_port_mapping_set.priority,
   1834 			req->args.cosq_port_mapping_set.cosq);
   1835 		break;
   1836 	case BCM_ASYNC_ENTRY_COSQ_PORT_OPTIMIZED_PFC_GROUP_NUM_GET:
   1837 		rv = bcm_cosq_port_optimized_pfc_group_num_get(
   1838 			req->args.cosq_port_optimized_pfc_group_num_get.unit,
   1839 			req->args.cosq_port_optimized_pfc_group_num_get.port,
   1840 			req->args.cosq_port_optimized_pfc_group_num_get.arg);
   1841 		break;
   1842 	case BCM_ASYNC_ENTRY_COSQ_PORT_PRIGRP_HDRM_SET:
   1843 		rv = bcm_cosq_port_prigrp_hdrm_set(
   1844 			req->args.cosq_port_prigrp_hdrm_set.unit,
   1845 			req->args.cosq_port_prigrp_hdrm_set.port,
   1846 			req->args.cosq_port_prigrp_hdrm_set.pri_bmp,
   1847 			req->args.cosq_port_prigrp_hdrm_set.cable_len,
   1848 			req->args.cosq_port_prigrp_hdrm_set.arr_size,
   1849 			req->args.cosq_port_prigrp_hdrm_set.pkt_dist_array);
   1850 		break;
   1851 	case BCM_ASYNC_ENTRY_COSQ_PORT_PRIORITY_GROUP_PROPERTY_GET:
   1852 		rv = bcm_cosq_port_priority_group_property_get(
   1853 			req->args.cosq_port_priority_group_property_get.unit,
   1854 			req->args.cosq_port_priority_group_property_get.port,
   1855 			req->args.cosq_port_priority_group_property_get.priority_group_id,
   1856 			req->args.cosq_port_priority_group_property_get.type,
   1857 			req->args.cosq_port_priority_group_property_get.arg);
   1858 		break;
   1859 	case BCM_ASYNC_ENTRY_COSQ_PORT_PRIORITY_GROUP_PROPERTY_SET:
   1860 		rv = bcm_cosq_port_priority_group_property_set(
   1861 			req->args.cosq_port_priority_group_property_set.unit,
   1862 			req->args.cosq_port_priority_group_property_set.port,
   1863 			req->args.cosq_port_priority_group_property_set.priority_group_id,
   1864 			req->args.cosq_port_priority_group_property_set.type,
   1865 			req->args.cosq_port_priority_group_property_set.arg);
   1866 		break;
   1867 	case BCM_ASYNC_ENTRY_COSQ_PORT_PROFILE_GET:
   1868 		rv = bcm_cosq_port_profile_get(
   1869 			req->args.cosq_port_profile_get.unit,
   1870 			req->args.cosq_port_profile_get.port,
   1871 			req->args.cosq_port_profile_get.profile_type,
   1872 			req->args.cosq_port_profile_get.profile_id);
   1873 		break;
   1874 	case BCM_ASYNC_ENTRY_COSQ_PORT_PROFILE_SET:
   1875 		rv = bcm_cosq_port_profile_set(
   1876 			req->args.cosq_port_profile_set.unit,
   1877 			req->args.cosq_port_profile_set.port,
   1878 			req->args.cosq_port_profile_set.profile_type,
   1879 			req->args.cosq_port_profile_set.profile_id);
   1880 		break;
   1881 	case BCM_ASYNC_ENTRY_COSQ_PORT_SCHED_CONFIG_GET:
   1882 		rv = bcm_cosq_port_sched_config_get(
   1883 			req->args.cosq_port_sched_config_get.unit,
   1884 			req->args.cosq_port_sched_config_get.pbm,
   1885 			req->args.cosq_port_sched_config_get.weight_arr_size,
   1886 			req->args.cosq_port_sched_config_get.weights,
   1887 			req->args.cosq_port_sched_config_get.weight_arr_count,
   1888 			req->args.cosq_port_sched_config_get.mode);
   1889 		break;
   1890 	case BCM_ASYNC_ENTRY_COSQ_PORT_SCHED_CONFIG_SET:
   1891 		rv = bcm_cosq_port_sched_config_set(
   1892 			req->args.cosq_port_sched_config_set.unit,
   1893 			req->args.cosq_port_sched_config_set.pbm,
   1894 			req->args.cosq_port_sched_config_set.mode,
   1895 			req->args.cosq_port_sched_config_set.weight_arr_size,
   1896 			req->args.cosq_port_sched_config_set.weights);
   1897 		break;
   1898 	case BCM_ASYNC_ENTRY_COSQ_PORT_SCHED_GET:
   1899 		rv = bcm_cosq_port_sched_get(
   1900 			req->args.cosq_port_sched_get.unit,
   1901 			req->args.cosq_port_sched_get.pbm,
   1902 			req->args.cosq_port_sched_get.mode,
   1903 			req->args.cosq_port_sched_get.weights,
   1904 			req->args.cosq_port_sched_get.delay);
   1905 		break;
   1906 	case BCM_ASYNC_ENTRY_COSQ_PORT_SCHED_SET:
   1907 		rv = bcm_cosq_port_sched_set(
   1908 			req->args.cosq_port_sched_set.unit,
   1909 			req->args.cosq_port_sched_set.pbm,
   1910 			req->args.cosq_port_sched_set.mode,
   1911 			req->args.cosq_port_sched_set.weights,
   1912 			req->args.cosq_port_sched_set.delay);
   1913 		break;
   1914 	case BCM_ASYNC_ENTRY_COSQ_PRIORITY_GET:
   1915 		rv = bcm_cosq_priority_get(
   1916 			req->args.cosq_priority_get.unit,
   1917 			req->args.cosq_priority_get.start_queue,
   1918 			req->args.cosq_priority_get.end_queue,
   1919 			req->args.cosq_priority_get.pri_profile_id);
   1920 		break;
   1921 	case BCM_ASYNC_ENTRY_COSQ_PRIORITY_GROUP_MAPPING_PROFILE_GET:
   1922 		rv = bcm_cosq_priority_group_mapping_profile_get(
   1923 			req->args.cosq_priority_group_mapping_profile_get.unit,
   1924 			req->args.cosq_priority_group_mapping_profile_get.profile_index,
   1925 			req->args.cosq_priority_group_mapping_profile_get.type,
   1926 			req->args.cosq_priority_group_mapping_profile_get.array_max,
   1927 			req->args.cosq_priority_group_mapping_profile_get.arg,
   1928 			req->args.cosq_priority_group_mapping_profile_get.array_count);
   1929 		break;
   1930 	case BCM_ASYNC_ENTRY_COSQ_PRIORITY_GROUP_MAPPING_PROFILE_SET:
   1931 		rv = bcm_cosq_priority_group_mapping_profile_set(
   1932 			req->args.cosq_priority_group_mapping_profile_set.unit,
   1933 			req->args.cosq_priority_group_mapping_profile_set.profile_index,
   1934 			req->args.cosq_priority_group_mapping_profile_set.type,
   1935 			req->args.cosq_priority_group_mapping_profile_set.array_count,
   1936 			req->args.cosq_priority_group_mapping_profile_set.arg);
   1937 		break;
   1938 	case BCM_ASYNC_ENTRY_COSQ_PRIORITY_GROUP_PFC_PRIORITY_MAPPING_PROFILE_GET:
   1939 		rv = bcm_cosq_priority_group_pfc_priority_mapping_profile_get(
   1940 			req->args.cosq_priority_group_pfc_priority_mapping_profile_get.unit,
   1941 			req->args.cosq_priority_group_pfc_priority_mapping_profile_get.profile_id,
   1942 			req->args.cosq_priority_group_pfc_priority_mapping_profile_get.array_max,
   1943 			req->args.cosq_priority_group_pfc_priority_mapping_profile_get.pg_array,
   1944 			req->args.cosq_priority_group_pfc_priority_mapping_profile_get.array_count);
   1945 		break;
   1946 	case BCM_ASYNC_ENTRY_COSQ_PRIORITY_GROUP_PFC_PRIORITY_MAPPING_PROFILE_SET:
   1947 		rv = bcm_cosq_priority_group_pfc_priority_mapping_profile_set(
   1948 			req->args.cosq_priority_group_pfc_priority_mapping_profile_set.unit,
   1949 			req->args.cosq_priority_group_pfc_priority_mapping_profile_set.profile_id,
   1950 			req->args.cosq_priority_group_pfc_priority_mapping_profile_set.array_count,
   1951 			req->args.cosq_priority_group_pfc_priority_mapping_profile_set.pg_array);
   1952 		break;
   1953 	case BCM_ASYNC_ENTRY_COSQ_PRIORITY_MAPPING_GET_ALL:
   1954 		rv = bcm_cosq_priority_mapping_get_all(
   1955 			req->args.cosq_priority_mapping_get_all.unit,
   1956 			req->args.cosq_priority_mapping_get_all.gport,
   1957 			req->args.cosq_priority_mapping_get_all.index,
   1958 			req->args.cosq_priority_mapping_get_all.type,
   1959 			req->args.cosq_priority_mapping_get_all.pri_max,
   1960 			req->args.cosq_priority_mapping_get_all.pri_array,
   1961 			req->args.cosq_priority_mapping_get_all.pri_count);
   1962 		break;
   1963 	case BCM_ASYNC_ENTRY_COSQ_PRIORITY_PROFILE_GET:
   1964 		rv = bcm_cosq_priority_profile_get(
   1965 			req->args.cosq_priority_profile_get.unit,
   1966 			req->args.cosq_priority_profile_get.pri_profile_id,
   1967 			req->args.cosq_priority_profile_get.count,
   1968 			req->args.cosq_priority_profile_get.pri_profile);
   1969 		break;
   1970 	case BCM_ASYNC_ENTRY_COSQ_PRIORITY_PROFILE_SET:
   1971 		rv = bcm_cosq_priority_profile_set(
   1972 			req->args.cosq_priority_profile_set.unit,
   1973 			req->args.cosq_priority_profile_set.pri_profile_id,
   1974 			req->args.cosq_priority_profile_set.count,
   1975 			req->args.cosq_priority_profile_set.pri_profile);
   1976 		break;
   1977 	case BCM_ASYNC_ENTRY_COSQ_PRIORITY_SET:
   1978 		rv = bcm_cosq_priority_set(
   1979 			req->args.cosq_priority_set.unit,
   1980 			req->args.cosq_priority_set.start_queue,
   1981 			req->args.cosq_priority_set.end_queue,
   1982 			req->args.cosq_priority_set.pri_profile_id);
   1983 		break;
   1984 	case BCM_ASYNC_ENTRY_COSQ_PROFILE_INFO_INUSE_GET:
   1985 		rv = bcm_cosq_profile_info_inuse_get(
   1986 			req->args.cosq_profile_info_inuse_get.unit,
   1987 			req->args.cosq_profile_info_inuse_get.profile_type,
   1988 			req->args.cosq_profile_info_inuse_get.profile_id,
   1989 			req->args.cosq_profile_info_inuse_get.in_use);
   1990 		break;
   1991 	case BCM_ASYNC_ENTRY_COSQ_PROFILE_INFO_PORTLIST_GET:
   1992 		rv = bcm_cosq_profile_info_portlist_get(
   1993 			req->args.cosq_profile_info_portlist_get.unit,
   1994 			req->args.cosq_profile_info_portlist_get.profile_type,
   1995 			req->args.cosq_profile_info_portlist_get.profile_id,
   1996 			req->args.cosq_profile_info_portlist_get.max_port_count,
   1997 			req->args.cosq_profile_info_portlist_get.port_list,
   1998 			req->args.cosq_profile_info_portlist_get.port_count);
   1999 		break;
   2000 	case BCM_ASYNC_ENTRY_COSQ_PROFILE_MAPPING_GET:
   2001 		rv = bcm_cosq_profile_mapping_get(
   2002 			req->args.cosq_profile_mapping_get.unit,
   2003 			req->args.cosq_profile_mapping_get.gport_to_map,
   2004 			req->args.cosq_profile_mapping_get.cosq,
   2005 			req->args.cosq_profile_mapping_get.flags,
   2006 			req->args.cosq_profile_mapping_get.profile_mapping);
   2007 		break;
   2008 	case BCM_ASYNC_ENTRY_COSQ_PROFILE_MAPPING_SET:
   2009 		rv = bcm_cosq_profile_mapping_set(
   2010 			req->args.cosq_profile_mapping_set.unit,
   2011 			req->args.cosq_profile_mapping_set.gport_to_map,
   2012 			req->args.cosq_profile_mapping_set.cosq,
   2013 			req->args.cosq_profile_mapping_set.flags,
   2014 			req->args.cosq_profile_mapping_set.profile_mapping);
   2015 		break;
   2016 	case BCM_ASYNC_ENTRY_COSQ_PROFILE_PROPERTY_DYNAMIC_GET:
   2017 		rv = bcm_cosq_profile_property_dynamic_get(
   2018 			req->args.cosq_profile_property_dynamic_get.unit,
   2019 			req->args.cosq_profile_property_dynamic_get.profile_type,
   2020 			req->args.cosq_profile_property_dynamic_get.dynamic);
   2021 		break;
   2022 	case BCM_ASYNC_ENTRY_COSQ_QCN_CONFIG_GET:
   2023 		rv = bcm_cosq_qcn_config_get(
   2024 			req->args.cosq_qcn_config_get.unit,
   2025 			req->args.cosq_qcn_config_get.port,
   2026 			req->args.cosq_qcn_config_get.cosq,
   2027 			req->args.cosq_qcn_config_get.flags,
   2028 			req->args.cosq_qcn_config_get.config);
   2029 		break;
   2030 	case BCM_ASYNC_ENTRY_COSQ_QCN_CONFIG_SET:
   2031 		rv = bcm_cosq_qcn_config_set(
   2032 			req->args.cosq_qcn_config_set.unit,
   2033 			req->args.cosq_qcn_config_set.port,
   2034 			req->args.cosq_qcn_config_set.cosq,
   2035 			req->args.cosq_qcn_config_set.flags,
   2036 			req->args.cosq_qcn_config_set.config);
   2037 		break;
   2038 	case BCM_ASYNC_ENTRY_COSQ_RESOURCE_ALLOCATION_GET:
   2039 		rv = bcm_cosq_resource_allocation_get(
   2040 			req->args.cosq_resource_allocation_get.unit,
   2041 			req->args.cosq_resource_allocation_get.flags,
   2042 			req->args.cosq_resource_allocation_get.resource,
   2043 			req->args.cosq_resource_allocation_get.target,
   2044 			req->args.cosq_resource_allocation_get.amounts);
   2045 		break;
   2046 	case BCM_ASYNC_ENTRY_COSQ_RESOURCE_ALLOCATION_SET:
   2047 		rv = bcm_cosq_resource_allocation_set(
   2048 			req->args.cosq_resource_allocation_set.unit,
   2049 			req->args.cosq_resource_allocation_set.flags,
   2050 			req->args.cosq_resource_allocation_set.resource,
   2051 			req->args.cosq_resource_allocation_set.target,
   2052 			req->args.cosq_resource_allocation_set.amounts);
   2053 		break;
   2054 	case BCM_ASYNC_ENTRY_COSQ_SAFC_CLASS_MAPPING_GET:
   2055 		rv = bcm_cosq_safc_class_mapping_get(
   2056 			req->args.cosq_safc_class_mapping_get.unit,
   2057 			req->args.cosq_safc_class_mapping_get.port,
   2058 			req->args.cosq_safc_class_mapping_get.array_max,
   2059 			req->args.cosq_safc_class_mapping_get.mapping_array,
   2060 			req->args.cosq_safc_class_mapping_get.array_count);
   2061 		break;
   2062 	case BCM_ASYNC_ENTRY_COSQ_SAFC_CLASS_MAPPING_SET:
   2063 		rv = bcm_cosq_safc_class_mapping_set(
   2064 			req->args.cosq_safc_class_mapping_set.unit,
   2065 			req->args.cosq_safc_class_mapping_set.port,
   2066 			req->args.cosq_safc_class_mapping_set.array_count,
   2067 			req->args.cosq_safc_class_mapping_set.mapping_array);
   2068 		break;
   2069 	case BCM_ASYNC_ENTRY_COSQ_SCHED_CONFIG_GET:
   2070 		rv = bcm_cosq_sched_config_get(
   2071 			req->args.cosq_sched_config_get.unit,
   2072 			req->args.cosq_sched_config_get.weight_arr_size,
   2073 			req->args.cosq_sched_config_get.weights,
   2074 			req->args.cosq_sched_config_get.weight_arr_count,
   2075 			req->args.cosq_sched_config_get.mode);
   2076 		break;
   2077 	case BCM_ASYNC_ENTRY_COSQ_SCHED_CONFIG_SET:
   2078 		rv = bcm_cosq_sched_config_set(
   2079 			req->args.cosq_sched_config_set.unit,
   2080 			req->args.cosq_sched_config_set.mode,
   2081 			req->args.cosq_sched_config_set.weight_arr_size,
   2082 			req->args.cosq_sched_config_set.weights);
   2083 		break;
   2084 	case BCM_ASYNC_ENTRY_COSQ_SCHED_GET:
   2085 		rv = bcm_cosq_sched_get(
   2086 			req->args.cosq_sched_get.unit,
   2087 			req->args.cosq_sched_get.mode,
   2088 			req->args.cosq_sched_get.weights,
   2089 			req->args.cosq_sched_get.delay);
   2090 		break;
   2091 	case BCM_ASYNC_ENTRY_COSQ_SCHED_SET:
   2092 		rv = bcm_cosq_sched_set(
   2093 			req->args.cosq_sched_set.unit,
   2094 			req->args.cosq_sched_set.mode,
   2095 			req->args.cosq_sched_set.weights,
   2096 			req->args.cosq_sched_set.delay);
   2097 		break;
   2098 	case BCM_ASYNC_ENTRY_COSQ_SCHED_WEIGHT_MAX_GET:
   2099 		rv = bcm_cosq_sched_weight_max_get(
   2100 			req->args.cosq_sched_weight_max_get.unit,
   2101 			req->args.cosq_sched_weight_max_get.mode,
   2102 			req->args.cosq_sched_weight_max_get.weight_max);
   2103 		break;
   2104 	case BCM_ASYNC_ENTRY_COSQ_SCHEDQ_MAPPING_GET:
   2105 		rv = bcm_cosq_schedq_mapping_get(
   2106 			req->args.cosq_schedq_mapping_get.unit,
   2107 			req->args.cosq_schedq_mapping_get.profile_index,
   2108 			req->args.cosq_schedq_mapping_get.array_max,
   2109 			req->args.cosq_schedq_mapping_get.cosq_mapping_arr,
   2110 			req->args.cosq_schedq_mapping_get.size);
   2111 		break;
   2112 	case BCM_ASYNC_ENTRY_COSQ_SCHEDQ_MAPPING_SET:
   2113 		rv = bcm_cosq_schedq_mapping_set(
   2114 			req->args.cosq_schedq_mapping_set.unit,
   2115 			req->args.cosq_schedq_mapping_set.profile_index,
   2116 			req->args.cosq_schedq_mapping_set.size,
   2117 			req->args.cosq_schedq_mapping_set.cosq_mapping_arr);
   2118 		break;
   2119 	case BCM_ASYNC_ENTRY_COSQ_SCHEDULER_GPORT_ADD:
   2120 		rv = bcm_cosq_scheduler_gport_add(
   2121 			req->args.cosq_scheduler_gport_add.unit,
   2122 			req->args.cosq_scheduler_gport_add.flags,
   2123 			req->args.cosq_scheduler_gport_add.params,
   2124 			req->args.cosq_scheduler_gport_add.gport);
   2125 		break;
   2126 	case BCM_ASYNC_ENTRY_COSQ_SCHEDULER_GPORT_GET:
   2127 		rv = bcm_cosq_scheduler_gport_get(
   2128 			req->args.cosq_scheduler_gport_get.unit,
   2129 			req->args.cosq_scheduler_gport_get.flags,
   2130 			req->args.cosq_scheduler_gport_get.gport,
   2131 			req->args.cosq_scheduler_gport_get.params);
   2132 		break;
   2133 	case BCM_ASYNC_ENTRY_COSQ_SERVICE_POOL_GET:
   2134 		rv = bcm_cosq_service_pool_get(
   2135 			req->args.cosq_service_pool_get.unit,
   2136 			req->args.cosq_service_pool_get.id,
   2137 			req->args.cosq_service_pool_get.cosq_service_pool);
   2138 		break;
   2139 	case BCM_ASYNC_ENTRY_COSQ_SERVICE_POOL_OVERRIDE_GET:
   2140 		rv = bcm_cosq_service_pool_override_get(
   2141 			req->args.cosq_service_pool_override_get.unit,
   2142 			req->args.cosq_service_pool_override_get.type,
   2143 			req->args.cosq_service_pool_override_get.service_pool,
   2144 			req->args.cosq_service_pool_override_get.enable);
   2145 		break;
   2146 	case BCM_ASYNC_ENTRY_COSQ_SERVICE_POOL_OVERRIDE_SET:
   2147 		rv = bcm_cosq_service_pool_override_set(
   2148 			req->args.cosq_service_pool_override_set.unit,
   2149 			req->args.cosq_service_pool_override_set.type,
   2150 			req->args.cosq_service_pool_override_set.service_pool,
   2151 			req->args.cosq_service_pool_override_set.enable);
   2152 		break;
   2153 	case BCM_ASYNC_ENTRY_COSQ_SERVICE_POOL_SET:
   2154 		rv = bcm_cosq_service_pool_set(
   2155 			req->args.cosq_service_pool_set.unit,
   2156 			req->args.cosq_service_pool_set.id,
   2157 			req->args.cosq_service_pool_set.cosq_service_pool);
   2158 		break;
   2159 	case BCM_ASYNC_ENTRY_COSQ_SLOW_PROFILE_GET:
   2160 		rv = bcm_cosq_slow_profile_get(
   2161 			req->args.cosq_slow_profile_get.unit,
   2162 			req->args.cosq_slow_profile_get.slow_level,
   2163 			req->args.cosq_slow_profile_get.attr);
   2164 		break;
   2165 	case BCM_ASYNC_ENTRY_COSQ_SLOW_PROFILE_SET:
   2166 		rv = bcm_cosq_slow_profile_set(
   2167 			req->args.cosq_slow_profile_set.unit,
   2168 			req->args.cosq_slow_profile_set.slow_level,
   2169 			req->args.cosq_slow_profile_set.attr);
   2170 		break;
   2171 	case BCM_ASYNC_ENTRY_COSQ_SRC_VSQS_GPORT_ADD:
   2172 		rv = bcm_cosq_src_vsqs_gport_add(
   2173 			req->args.cosq_src_vsqs_gport_add.unit,
   2174 			req->args.cosq_src_vsqs_gport_add.port,
   2175 			req->args.cosq_src_vsqs_gport_add.config,
   2176 			req->args.cosq_src_vsqs_gport_add.src_port_vsq_gport,
   2177 			req->args.cosq_src_vsqs_gport_add.pg_base_vsq_gport);
   2178 		break;
   2179 	case BCM_ASYNC_ENTRY_COSQ_SRC_VSQS_GPORT_GET:
   2180 		rv = bcm_cosq_src_vsqs_gport_get(
   2181 			req->args.cosq_src_vsqs_gport_get.unit,
   2182 			req->args.cosq_src_vsqs_gport_get.port,
   2183 			req->args.cosq_src_vsqs_gport_get.config,
   2184 			req->args.cosq_src_vsqs_gport_get.src_port_vsq_gport,
   2185 			req->args.cosq_src_vsqs_gport_get.pg_base_vsq_gport);
   2186 		break;
   2187 	case BCM_ASYNC_ENTRY_COSQ_STAT_CONFIG_GET:
   2188 		rv = bcm_cosq_stat_config_get(
   2189 			req->args.cosq_stat_config_get.unit,
   2190 			req->args.cosq_stat_config_get.stat_count,
   2191 			req->args.cosq_stat_config_get.stat_array);
   2192 		break;
   2193 	case BCM_ASYNC_ENTRY_COSQ_STAT_CONFIG_SET:
   2194 		rv = bcm_cosq_stat_config_set(
   2195 			req->args.cosq_stat_config_set.unit,
   2196 			req->args.cosq_stat_config_set.stat_count,
   2197 			req->args.cosq_stat_config_set.stat_array);
   2198 		break;
   2199 	case BCM_ASYNC_ENTRY_COSQ_STAT_GET:
   2200 		rv = bcm_cosq_stat_get(
   2201 			req->args.cosq_stat_get.unit,
   2202 			req->args.cosq_stat_get.gport,
   2203 			req->args.cosq_stat_get.cosq,
   2204 			req->args.cosq_stat_get.stat,
   2205 			req->args.cosq_stat_get.value);
   2206 		break;
   2207 	case BCM_ASYNC_ENTRY_COSQ_STAT_GET32:
   2208 		rv = bcm_cosq_stat_get32(
   2209 			req->args.cosq_stat_get32.unit,
   2210 			req->args.cosq_stat_get32.gport,
   2211 			req->args.cosq_stat_get32.cosq,
   2212 			req->args.cosq_stat_get32.stat,
   2213 			req->args.cosq_stat_get32.value);
   2214 		break;
   2215 	case BCM_ASYNC_ENTRY_COSQ_STAT_INFO_GET:
   2216 		rv = bcm_cosq_stat_info_get(
   2217 			req->args.cosq_stat_info_get.unit,
   2218 			req->args.cosq_stat_info_get.flags,
   2219 			req->args.cosq_stat_info_get.key,
   2220 			req->args.cosq_stat_info_get.config);
   2221 		break;
   2222 	case BCM_ASYNC_ENTRY_COSQ_STAT_INFO_SET:
   2223 		rv = bcm_cosq_stat_info_set(
   2224 			req->args.cosq_stat_info_set.unit,
   2225 			req->args.cosq_stat_info_set.flags,
   2226 			req->args.cosq_stat_info_set.key,
   2227 			req->args.cosq_stat_info_set.config);
   2228 		break;
   2229 	case BCM_ASYNC_ENTRY_COSQ_STAT_OBJ_MAP_GET:
   2230 		rv = bcm_cosq_stat_obj_map_get(
   2231 			req->args.cosq_stat_obj_map_get.unit,
   2232 			req->args.cosq_stat_obj_map_get.flags,
   2233 			req->args.cosq_stat_obj_map_get.key,
   2234 			req->args.cosq_stat_obj_map_get.object_stat_id);
   2235 		break;
   2236 	case BCM_ASYNC_ENTRY_COSQ_STAT_OBJ_MAP_SET:
   2237 		rv = bcm_cosq_stat_obj_map_set(
   2238 			req->args.cosq_stat_obj_map_set.unit,
   2239 			req->args.cosq_stat_obj_map_set.flags,
   2240 			req->args.cosq_stat_obj_map_set.key,
   2241 			req->args.cosq_stat_obj_map_set.object_stat_id);
   2242 		break;
   2243 	case BCM_ASYNC_ENTRY_COSQ_STAT_SET:
   2244 		rv = bcm_cosq_stat_set(
   2245 			req->args.cosq_stat_set.unit,
   2246 			req->args.cosq_stat_set.gport,
   2247 			req->args.cosq_stat_set.cosq,
   2248 			req->args.cosq_stat_set.stat,
   2249 			req->args.cosq_stat_set.value);
   2250 		break;
   2251 	case BCM_ASYNC_ENTRY_COSQ_STAT_SET32:
   2252 		rv = bcm_cosq_stat_set32(
   2253 			req->args.cosq_stat_set32.unit,
   2254 			req->args.cosq_stat_set32.gport,
   2255 			req->args.cosq_stat_set32.cosq,
   2256 			req->args.cosq_stat_set32.stat,
   2257 			req->args.cosq_stat_set32.value);
   2258 		break;
   2259 	case BCM_ASYNC_ENTRY_COSQ_STAT_SYNC_GET:
   2260 		rv = bcm_cosq_stat_sync_get(
   2261 			req->args.cosq_stat_sync_get.unit,
   2262 			req->args.cosq_stat_sync_get.gport,
   2263 			req->args.cosq_stat_sync_get.cosq,
   2264 			req->args.cosq_stat_sync_get.stat,
   2265 			req->args.cosq_stat_sync_get.value);
   2266 		break;
   2267 	case BCM_ASYNC_ENTRY_COSQ_STAT_SYNC_GET32:
   2268 		rv = bcm_cosq_stat_sync_get32(
   2269 			req->args.cosq_stat_sync_get32.unit,
   2270 			req->args.cosq_stat_sync_get32.gport,
   2271 			req->args.cosq_stat_sync_get32.cosq,
   2272 			req->args.cosq_stat_sync_get32.stat,
   2273 			req->args.cosq_stat_sync_get32.value);
   2274 		break;
   2275 	case BCM_ASYNC_ENTRY_COSQ_STAT_SYNC_MULTI_GET:
   2276 		rv = bcm_cosq_stat_sync_multi_get(
   2277 			req->args.cosq_stat_sync_multi_get.unit,
   2278 			req->args.cosq_stat_sync_multi_get.gport,
   2279 			req->args.cosq_stat_sync_multi_get.cosq,
   2280 			req->args.cosq_stat_sync_multi_get.nstat,
   2281 			req->args.cosq_stat_sync_multi_get.stat_arr,
   2282 			req->args.cosq_stat_sync_multi_get.value_arr);
   2283 		break;
   2284 	case BCM_ASYNC_ENTRY_COSQ_STAT_SYNC_MULTI_GET32:
   2285 		rv = bcm_cosq_stat_sync_multi_get32(
   2286 			req->args.cosq_stat_sync_multi_get32.unit,
   2287 			req->args.cosq_stat_sync_multi_get32.gport,
   2288 			req->args.cosq_stat_sync_multi_get32.cosq,
   2289 			req->args.cosq_stat_sync_multi_get32.nstat,
   2290 			req->args.cosq_stat_sync_multi_get32.stat_arr,
   2291 			req->args.cosq_stat_sync_multi_get32.value_arr);
   2292 		break;
   2293 	case BCM_ASYNC_ENTRY_COSQ_SUBPORT_FLOW_CONTROL_GET:
   2294 		rv = bcm_cosq_subport_flow_control_get(
   2295 			req->args.cosq_subport_flow_control_get.unit,
   2296 			req->args.cosq_subport_flow_control_get.subport,
   2297 			req->args.cosq_subport_flow_control_get.sched_port);
   2298 		break;
   2299 	case BCM_ASYNC_ENTRY_COSQ_SUBPORT_FLOW_CONTROL_SET:
   2300 		rv = bcm_cosq_subport_flow_control_set(
   2301 			req->args.cosq_subport_flow_control_set.unit,
   2302 			req->args.cosq_subport_flow_control_set.subport,
   2303 			req->args.cosq_subport_flow_control_set.sched_port);
   2304 		break;
   2305 	case BCM_ASYNC_ENTRY_COSQ_SUBSCRIBER_MAP_ADD:
   2306 		rv = bcm_cosq_subscriber_map_add(
   2307 			req->args.cosq_subscriber_map_add.unit,
   2308 			req->args.cosq_subscriber_map_add.map);
   2309 		break;
   2310 	case BCM_ASYNC_ENTRY_COSQ_SUBSCRIBER_MAP_DELETE:
   2311 		rv = bcm_cosq_subscriber_map_delete(
   2312 			req->args.cosq_subscriber_map_delete.unit,
   2313 			req->args.cosq_subscriber_map_delete.map);
   2314 		break;
   2315 	case BCM_ASYNC_ENTRY_COSQ_SUBSCRIBER_MAP_DELETE_ALL:
   2316 		rv = bcm_cosq_subscriber_map_delete_all(
   2317 			req->args.cosq_subscriber_map_delete_all.unit);
   2318 		break;
   2319 	case BCM_ASYNC_ENTRY_COSQ_SUBSCRIBER_MAP_GET:
   2320 		rv = bcm_cosq_subscriber_map_get(
   2321 			req->args.cosq_subscriber_map_get.unit,
   2322 			req->args.cosq_subscriber_map_get.map);
   2323 		break;
   2324 	case BCM_ASYNC_ENTRY_COSQ_SUBSCRIBER_TRAVERSE:
   2325 		rv = bcm_cosq_subscriber_traverse(
   2326 			req->args.cosq_subscriber_traverse.unit,
   2327 			req->args.cosq_subscriber_traverse.cb,
   2328 			req->args.cosq_subscriber_traverse.user_data);
   2329 		break;
   2330 	case BCM_ASYNC_ENTRY_COSQ_SYSPORT_INGRESS_QUEUE_MAP_GET:
   2331 		rv = bcm_cosq_sysport_ingress_queue_map_get(
   2332 			req->args.cosq_sysport_ingress_queue_map_get.unit,
   2333 			req->args.cosq_sysport_ingress_queue_map_get.flags,
   2334 			req->args.cosq_sysport_ingress_queue_map_get.sysport,
   2335 			req->args.cosq_sysport_ingress_queue_map_get.ingress_queue);
   2336 		break;
   2337 	case BCM_ASYNC_ENTRY_COSQ_SYSPORT_INGRESS_QUEUE_MAP_SET:
   2338 		rv = bcm_cosq_sysport_ingress_queue_map_set(
   2339 			req->args.cosq_sysport_ingress_queue_map_set.unit,
   2340 			req->args.cosq_sysport_ingress_queue_map_set.flags,
   2341 			req->args.cosq_sysport_ingress_queue_map_set.sysport,
   2342 			req->args.cosq_sysport_ingress_queue_map_set.ingress_queue);
   2343 		break;
   2344 	case BCM_ASYNC_ENTRY_COSQ_TAS_CONTROL_GET:
   2345 		rv = bcm_cosq_tas_control_get(
   2346 			req->args.cosq_tas_control_get.unit,
   2347 			req->args.cosq_tas_control_get.port,
   2348 			req->args.cosq_tas_control_get.type,
   2349 			req->args.cosq_tas_control_get.arg);
   2350 		break;
   2351 	case BCM_ASYNC_ENTRY_COSQ_TAS_CONTROL_SET:
   2352 		rv = bcm_cosq_tas_control_set(
   2353 			req->args.cosq_tas_control_set.unit,
   2354 			req->args.cosq_tas_control_set.port,
   2355 			req->args.cosq_tas_control_set.type,
   2356 			req->args.cosq_tas_control_set.arg);
   2357 		break;
   2358 	case BCM_ASYNC_ENTRY_COSQ_TAS_PROFILE_COMMIT:
   2359 		rv = bcm_cosq_tas_profile_commit(
   2360 			req->args.cosq_tas_profile_commit.unit,
   2361 			req->args.cosq_tas_profile_commit.port,
   2362 			req->args.cosq_tas_profile_commit.pid);
   2363 		break;
   2364 	case BCM_ASYNC_ENTRY_COSQ_TAS_PROFILE_CREATE:
   2365 		rv = bcm_cosq_tas_profile_create(
   2366 			req->args.cosq_tas_profile_create.unit,
   2367 			req->args.cosq_tas_profile_create.port,
   2368 			req->args.cosq_tas_profile_create.profile,
   2369 			req->args.cosq_tas_profile_create.pid);
   2370 		break;
   2371 	case BCM_ASYNC_ENTRY_COSQ_TAS_PROFILE_DESTROY:
   2372 		rv = bcm_cosq_tas_profile_destroy(
   2373 			req->args.cosq_tas_profile_destroy.unit,
   2374 			req->args.cosq_tas_profile_destroy.port,
   2375 			req->args.cosq_tas_profile_destroy.pid);
   2376 		break;
   2377 	case BCM_ASYNC_ENTRY_COSQ_TAS_PROFILE_DESTROY_ALL:
   2378 		rv = bcm_cosq_tas_profile_destroy_all(
   2379 			req->args.cosq_tas_profile_destroy_all.unit,
   2380 			req->args.cosq_tas_profile_destroy_all.port);
   2381 		break;
   2382 	case BCM_ASYNC_ENTRY_COSQ_TAS_PROFILE_GET:
   2383 		rv = bcm_cosq_tas_profile_get(
   2384 			req->args.cosq_tas_profile_get.unit,
   2385 			req->args.cosq_tas_profile_get.port,
   2386 			req->args.cosq_tas_profile_get.pid,
   2387 			req->args.cosq_tas_profile_get.profile);
   2388 		break;
   2389 	case BCM_ASYNC_ENTRY_COSQ_TAS_PROFILE_SET:
   2390 		rv = bcm_cosq_tas_profile_set(
   2391 			req->args.cosq_tas_profile_set.unit,
   2392 			req->args.cosq_tas_profile_set.port,
   2393 			req->args.cosq_tas_profile_set.pid,
   2394 			req->args.cosq_tas_profile_set.profile);
   2395 		break;
   2396 	case BCM_ASYNC_ENTRY_COSQ_TAS_PROFILE_STATUS_GET:
   2397 		rv = bcm_cosq_tas_profile_status_get(
   2398 			req->args.cosq_tas_profile_status_get.unit,
   2399 			req->args.cosq_tas_profile_status_get.port,
   2400 			req->args.cosq_tas_profile_status_get.pid,
   2401 			req->args.cosq_tas_profile_status_get.status);
   2402 		break;
   2403 	case BCM_ASYNC_ENTRY_COSQ_TAS_PROFILE_TRAVERSE:
   2404 		rv = bcm_cosq_tas_profile_traverse(
   2405 			req->args.cosq_tas_profile_traverse.unit,
   2406 			req->args.cosq_tas_profile_traverse.port,
   2407 			req->args.cosq_tas_profile_traverse.cb,
   2408 			req->args.cosq_tas_profile_traverse.user_data);
   2409 		break;
   2410 	case BCM_ASYNC_ENTRY_COSQ_TAS_STATUS_GET:
   2411 		rv = bcm_cosq_tas_status_get(
   2412 			req->args.cosq_tas_status_get.unit,
   2413 			req->args.cosq_tas_status_get.port,
   2414 			req->args.cosq_tas_status_get.type,
   2415 			req->args.cosq_tas_status_get.arg);
   2416 		break;
   2417 #ifdef	INCLUDE_TCB
   2418 	case BCM_ASYNC_ENTRY_COSQ_TCB_BUFFER_MULTI_GET:
   2419 		rv = bcm_cosq_tcb_buffer_multi_get(
   2420 			req->args.cosq_tcb_buffer_multi_get.unit,
   2421 			req->args.cosq_tcb_buffer_multi_get.buffer_id,
   2422 			req->args.cosq_tcb_buffer_multi_get.array_max,
   2423 			req->args.cosq_tcb_buffer_multi_get.buffer_array,
   2424 			req->args.cosq_tcb_buffer_multi_get.array_count);
   2425 		break;
   2426 	case BCM_ASYNC_ENTRY_COSQ_TCB_CB_REGISTER:
   2427 		rv = bcm_cosq_tcb_cb_register(
   2428 			req->args.cosq_tcb_cb_register.unit,
   2429 			req->args.cosq_tcb_cb_register.fn,
   2430 			req->args.cosq_tcb_cb_register.user_data);
   2431 		break;
   2432 	case BCM_ASYNC_ENTRY_COSQ_TCB_CB_UNREGISTER:
   2433 		rv = bcm_cosq_tcb_cb_unregister(
   2434 			req->args.cosq_tcb_cb_unregister.unit,
   2435 			req->args.cosq_tcb_cb_unregister.fn);
   2436 		break;
   2437 	case BCM_ASYNC_ENTRY_COSQ_TCB_CONFIG_GET:
   2438 		rv = bcm_cosq_tcb_config_get(
   2439 			req->args.cosq_tcb_config_get.unit,
   2440 			req->args.cosq_tcb_config_get.buffer_id,
   2441 			req->args.cosq_tcb_config_get.config);
   2442 		break;
   2443 	case BCM_ASYNC_ENTRY_COSQ_TCB_CONFIG_SET:
   2444 		rv = bcm_cosq_tcb_config_set(
   2445 			req->args.cosq_tcb_config_set.unit,
   2446 			req->args.cosq_tcb_config_set.buffer_id,
   2447 			req->args.cosq_tcb_config_set.config);
   2448 		break;
   2449 	case BCM_ASYNC_ENTRY_COSQ_TCB_CONTROL_GET:
   2450 		rv = bcm_cosq_tcb_control_get(
   2451 			req->args.cosq_tcb_control_get.unit,
   2452 			req->args.cosq_tcb_control_get.buffer_id,
   2453 			req->args.cosq_tcb_control_get.type,
   2454 			req->args.cosq_tcb_control_get.arg);
   2455 		break;
   2456 	case BCM_ASYNC_ENTRY_COSQ_TCB_CONTROL_SET:
   2457 		rv = bcm_cosq_tcb_control_set(
   2458 			req->args.cosq_tcb_control_set.unit,
   2459 			req->args.cosq_tcb_control_set.buffer_id,
   2460 			req->args.cosq_tcb_control_set.type,
   2461 			req->args.cosq_tcb_control_set.arg);
   2462 		break;
   2463 	case BCM_ASYNC_ENTRY_COSQ_TCB_EVENT_MULTI_GET:
   2464 		rv = bcm_cosq_tcb_event_multi_get(
   2465 			req->args.cosq_tcb_event_multi_get.unit,
   2466 			req->args.cosq_tcb_event_multi_get.buffer_id,
   2467 			req->args.cosq_tcb_event_multi_get.array_max,
   2468 			req->args.cosq_tcb_event_multi_get.event_array,
   2469 			req->args.cosq_tcb_event_multi_get.array_count,
   2470 			req->args.cosq_tcb_event_multi_get.overflow_count);
   2471 		break;
   2472 	case BCM_ASYNC_ENTRY_COSQ_TCB_GPORT_THRESHOLD_MAPPING_GET:
   2473 		rv = bcm_cosq_tcb_gport_threshold_mapping_get(
   2474 			req->args.cosq_tcb_gport_threshold_mapping_get.unit,
   2475 			req->args.cosq_tcb_gport_threshold_mapping_get.id,
   2476 			req->args.cosq_tcb_gport_threshold_mapping_get.profile_index);
   2477 		break;
   2478 	case BCM_ASYNC_ENTRY_COSQ_TCB_GPORT_THRESHOLD_MAPPING_SET:
   2479 		rv = bcm_cosq_tcb_gport_threshold_mapping_set(
   2480 			req->args.cosq_tcb_gport_threshold_mapping_set.unit,
   2481 			req->args.cosq_tcb_gport_threshold_mapping_set.id,
   2482 			req->args.cosq_tcb_gport_threshold_mapping_set.profile_index);
   2483 		break;
   2484 	case BCM_ASYNC_ENTRY_COSQ_TCB_THRESHOLD_PROFILE_CREATE:
   2485 		rv = bcm_cosq_tcb_threshold_profile_create(
   2486 			req->args.cosq_tcb_threshold_profile_create.unit,
   2487 			req->args.cosq_tcb_threshold_profile_create.flags,
   2488 			req->args.cosq_tcb_threshold_profile_create.buffer_id,
   2489 			req->args.cosq_tcb_threshold_profile_create.threshold,
   2490 			req->args.cosq_tcb_threshold_profile_create.profile_index);
   2491 		break;
   2492 	case BCM_ASYNC_ENTRY_COSQ_TCB_THRESHOLD_PROFILE_DESTROY:
   2493 		rv = bcm_cosq_tcb_threshold_profile_destroy(
   2494 			req->args.cosq_tcb_threshold_profile_destroy.unit,
   2495 			req->args.cosq_tcb_threshold_profile_destroy.buffer_id,
   2496 			req->args.cosq_tcb_threshold_profile_destroy.profile_index);
   2497 		break;
   2498 	case BCM_ASYNC_ENTRY_COSQ_TCB_THRESHOLD_PROFILE_GET:
   2499 		rv = bcm_cosq_tcb_threshold_profile_get(
   2500 			req->args.cosq_tcb_threshold_profile_get.unit,
   2501 			req->args.cosq_tcb_threshold_profile_get.buffer_id,
   2502 			req->args.cosq_tcb_threshold_profile_get.profile_index,
   2503 			req->args.cosq_tcb_threshold_profile_get.threshold);
   2504 		break;
   2505 #endif	/* INCLUDE_TCB */
   2506 	case BCM_ASYNC_ENTRY_COSQ_VOQ_CONNECTOR_GPORT_ADD:
   2507 		rv = bcm_cosq_voq_connector_gport_add(
   2508 			req->args.cosq_voq_connector_gport_add.unit,
   2509 			req->args.cosq_voq_connector_gport_add.config,
   2510 			req->args.cosq_voq_connector_gport_add.gport);
   2511 		break;
   2512 	case BCM_ASYNC_ENTRY_CPRI_DECAP_PRESENTATION_TIME_CONFIG_GET:
   2513 		rv = bcm_cpri_decap_presentation_time_config_get(
   2514 			req->args.cpri_decap_presentation_time_config_get.unit,
   2515 			req->args.cpri_decap_presentation_time_config_get.port,
   2516 			req->args.cpri_decap_presentation_time_config_get.config);
   2517 		break;
   2518 	case BCM_ASYNC_ENTRY_CPRI_DECAP_PRESENTATION_TIME_CONFIG_SET:
   2519 		rv = bcm_cpri_decap_presentation_time_config_set(
   2520 			req->args.cpri_decap_presentation_time_config_set.unit,
   2521 			req->args.cpri_decap_presentation_time_config_set.port,
   2522 			req->args.cpri_decap_presentation_time_config_set.config);
   2523 		break;
   2524 	case BCM_ASYNC_ENTRY_CPRI_DETACH:
   2525 		rv = bcm_cpri_detach(
   2526 			req->args.cpri_detach.unit);
   2527 		break;
   2528 	case BCM_ASYNC_ENTRY_CPRI_ENCAP_CONTROL_QUEUE_TAG_TO_FLOW_ID_MAP_SET:
   2529 		rv = bcm_cpri_encap_control_queue_tag_to_flow_id_map_set(
   2530 			req->args.cpri_encap_control_queue_tag_to_flow_id_map_set.unit,
   2531 			req->args.cpri_encap_control_queue_tag_to_flow_id_map_set.port,
   2532 			req->args.cpri_encap_control_queue_tag_to_flow_id_map_set.tag_id,
   2533 			req->args.cpri_encap_control_queue_tag_to_flow_id_map_set.flow_id);
   2534 		break;
   2535 	case BCM_ASYNC_ENTRY_CPRI_ENCAP_PRESENTATION_TIME_CONFIG_GET:
   2536 		rv = bcm_cpri_encap_presentation_time_config_get(
   2537 			req->args.cpri_encap_presentation_time_config_get.unit,
   2538 			req->args.cpri_encap_presentation_time_config_get.port,
   2539 			req->args.cpri_encap_presentation_time_config_get.attribute,
   2540 			req->args.cpri_encap_presentation_time_config_get.time_offset);
   2541 		break;
   2542 	case BCM_ASYNC_ENTRY_CPRI_ENCAP_PRESENTATION_TIME_CONFIG_SET:
   2543 		rv = bcm_cpri_encap_presentation_time_config_set(
   2544 			req->args.cpri_encap_presentation_time_config_set.unit,
   2545 			req->args.cpri_encap_presentation_time_config_set.port,
   2546 			req->args.cpri_encap_presentation_time_config_set.attribute,
   2547 			req->args.cpri_encap_presentation_time_config_set.time);
   2548 		break;
   2549 	case BCM_ASYNC_ENTRY_CPRI_INIT:
   2550 		rv = bcm_cpri_init(
   2551 			req->args.cpri_init.unit);
   2552 		break;
   2553 	case BCM_ASYNC_ENTRY_CPRI_PORT_1588_TIMESTAMP_CAPTURE_CONFIG_GET:
   2554 		rv = bcm_cpri_port_1588_timestamp_capture_config_get(
   2555 			req->args.cpri_port_1588_timestamp_capture_config_get.unit,
   2556 			req->args.cpri_port_1588_timestamp_capture_config_get.port,
   2557 			req->args.cpri_port_1588_timestamp_capture_config_get.direction,
   2558 			req->args.cpri_port_1588_timestamp_capture_config_get.config);
   2559 		break;
   2560 	case BCM_ASYNC_ENTRY_CPRI_PORT_1588_TIMESTAMP_CAPTURE_CONFIG_SET:
   2561 		rv = bcm_cpri_port_1588_timestamp_capture_config_set(
   2562 			req->args.cpri_port_1588_timestamp_capture_config_set.unit,
   2563 			req->args.cpri_port_1588_timestamp_capture_config_set.port,
   2564 			req->args.cpri_port_1588_timestamp_capture_config_set.direction,
   2565 			req->args.cpri_port_1588_timestamp_capture_config_set.config);
   2566 		break;
   2567 	case BCM_ASYNC_ENTRY_CPRI_PORT_1588_TIMESTAMP_CONFIG_GET:
   2568 		rv = bcm_cpri_port_1588_timestamp_config_get(
   2569 			req->args.cpri_port_1588_timestamp_config_get.unit,
   2570 			req->args.cpri_port_1588_timestamp_config_get.port,
   2571 			req->args.cpri_port_1588_timestamp_config_get.direction,
   2572 			req->args.cpri_port_1588_timestamp_config_get.config);
   2573 		break;
   2574 	case BCM_ASYNC_ENTRY_CPRI_PORT_1588_TIMESTAMP_CONFIG_SET:
   2575 		rv = bcm_cpri_port_1588_timestamp_config_set(
   2576 			req->args.cpri_port_1588_timestamp_config_set.unit,
   2577 			req->args.cpri_port_1588_timestamp_config_set.port,
   2578 			req->args.cpri_port_1588_timestamp_config_set.direction,
   2579 			req->args.cpri_port_1588_timestamp_config_set.config);
   2580 		break;
   2581 	case BCM_ASYNC_ENTRY_CPRI_PORT_1588_TIMESTAMP_GET:
   2582 		rv = bcm_cpri_port_1588_timestamp_get(
   2583 			req->args.cpri_port_1588_timestamp_get.unit,
   2584 			req->args.cpri_port_1588_timestamp_get.port,
   2585 			req->args.cpri_port_1588_timestamp_get.direction,
   2586 			req->args.cpri_port_1588_timestamp_get.type,
   2587 			req->args.cpri_port_1588_timestamp_get.max_count,
   2588 			req->args.cpri_port_1588_timestamp_get.count,
   2589 			req->args.cpri_port_1588_timestamp_get.ts_list);
   2590 		break;
   2591 	case BCM_ASYNC_ENTRY_CPRI_PORT_1588_TIMESTAMP_TS_CONFIG_GET:
   2592 		rv = bcm_cpri_port_1588_timestamp_ts_config_get(
   2593 			req->args.cpri_port_1588_timestamp_ts_config_get.unit,
   2594 			req->args.cpri_port_1588_timestamp_ts_config_get.port,
   2595 			req->args.cpri_port_1588_timestamp_ts_config_get.direction,
   2596 			req->args.cpri_port_1588_timestamp_ts_config_get.type,
   2597 			req->args.cpri_port_1588_timestamp_ts_config_get.config);
   2598 		break;
   2599 	case BCM_ASYNC_ENTRY_CPRI_PORT_1588_TIMESTAMP_TS_CONFIG_SET:
   2600 		rv = bcm_cpri_port_1588_timestamp_ts_config_set(
   2601 			req->args.cpri_port_1588_timestamp_ts_config_set.unit,
   2602 			req->args.cpri_port_1588_timestamp_ts_config_set.port,
   2603 			req->args.cpri_port_1588_timestamp_ts_config_set.direction,
   2604 			req->args.cpri_port_1588_timestamp_ts_config_set.type,
   2605 			req->args.cpri_port_1588_timestamp_ts_config_set.config);
   2606 		break;
   2607 	case BCM_ASYNC_ENTRY_CPRI_PORT_AGNOSTIC_CONFIG_GET:
   2608 		rv = bcm_cpri_port_agnostic_config_get(
   2609 			req->args.cpri_port_agnostic_config_get.unit,
   2610 			req->args.cpri_port_agnostic_config_get.port,
   2611 			req->args.cpri_port_agnostic_config_get.dir,
   2612 			req->args.cpri_port_agnostic_config_get.enable,
   2613 			req->args.cpri_port_agnostic_config_get.config);
   2614 		break;
   2615 	case BCM_ASYNC_ENTRY_CPRI_PORT_AGNOSTIC_CONFIG_SET:
   2616 		rv = bcm_cpri_port_agnostic_config_set(
   2617 			req->args.cpri_port_agnostic_config_set.unit,
   2618 			req->args.cpri_port_agnostic_config_set.port,
   2619 			req->args.cpri_port_agnostic_config_set.dir,
   2620 			req->args.cpri_port_agnostic_config_set.enable,
   2621 			req->args.cpri_port_agnostic_config_set.config);
   2622 		break;
   2623 	case BCM_ASYNC_ENTRY_CPRI_PORT_COMPRESSION_LOOKUP_TABLE_GET:
   2624 		rv = bcm_cpri_port_compression_lookup_table_get(
   2625 			req->args.cpri_port_compression_lookup_table_get.unit,
   2626 			req->args.cpri_port_compression_lookup_table_get.port,
   2627 			req->args.cpri_port_compression_lookup_table_get.max_depth,
   2628 			req->args.cpri_port_compression_lookup_table_get.table_depth,
   2629 			req->args.cpri_port_compression_lookup_table_get.comp_table);
   2630 		break;
   2631 	case BCM_ASYNC_ENTRY_CPRI_PORT_COMPRESSION_LOOKUP_TABLE_SET:
   2632 		rv = bcm_cpri_port_compression_lookup_table_set(
   2633 			req->args.cpri_port_compression_lookup_table_set.unit,
   2634 			req->args.cpri_port_compression_lookup_table_set.port,
   2635 			req->args.cpri_port_compression_lookup_table_set.table_depth,
   2636 			req->args.cpri_port_compression_lookup_table_set.comp_table);
   2637 		break;
   2638 	case BCM_ASYNC_ENTRY_CPRI_PORT_COMPRESSION_SATURATION_CONFIG_GET:
   2639 		rv = bcm_cpri_port_compression_saturation_config_get(
   2640 			req->args.cpri_port_compression_saturation_config_get.unit,
   2641 			req->args.cpri_port_compression_saturation_config_get.port,
   2642 			req->args.cpri_port_compression_saturation_config_get.threshold_value);
   2643 		break;
   2644 	case BCM_ASYNC_ENTRY_CPRI_PORT_COMPRESSION_SATURATION_CONFIG_SET:
   2645 		rv = bcm_cpri_port_compression_saturation_config_set(
   2646 			req->args.cpri_port_compression_saturation_config_set.unit,
   2647 			req->args.cpri_port_compression_saturation_config_set.port,
   2648 			req->args.cpri_port_compression_saturation_config_set.threshold_value);
   2649 		break;
   2650 	case BCM_ASYNC_ENTRY_CPRI_PORT_CW_FAST_ETH_CONFIG_GET:
   2651 		rv = bcm_cpri_port_cw_fast_eth_config_get(
   2652 			req->args.cpri_port_cw_fast_eth_config_get.unit,
   2653 			req->args.cpri_port_cw_fast_eth_config_get.port,
   2654 			req->args.cpri_port_cw_fast_eth_config_get.config);
   2655 		break;
   2656 	case BCM_ASYNC_ENTRY_CPRI_PORT_CW_FAST_ETH_CONFIG_SET:
   2657 		rv = bcm_cpri_port_cw_fast_eth_config_set(
   2658 			req->args.cpri_port_cw_fast_eth_config_set.unit,
   2659 			req->args.cpri_port_cw_fast_eth_config_set.port,
   2660 			req->args.cpri_port_cw_fast_eth_config_set.config);
   2661 		break;
   2662 	case BCM_ASYNC_ENTRY_CPRI_PORT_CW_SLOW_HDLC_CONFIG_GET:
   2663 		rv = bcm_cpri_port_cw_slow_hdlc_config_get(
   2664 			req->args.cpri_port_cw_slow_hdlc_config_get.unit,
   2665 			req->args.cpri_port_cw_slow_hdlc_config_get.port,
   2666 			req->args.cpri_port_cw_slow_hdlc_config_get.config);
   2667 		break;
   2668 	case BCM_ASYNC_ENTRY_CPRI_PORT_CW_SLOW_HDLC_CONFIG_SET:
   2669 		rv = bcm_cpri_port_cw_slow_hdlc_config_set(
   2670 			req->args.cpri_port_cw_slow_hdlc_config_set.unit,
   2671 			req->args.cpri_port_cw_slow_hdlc_config_set.port,
   2672 			req->args.cpri_port_cw_slow_hdlc_config_set.config);
   2673 		break;
   2674 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_ETHERTYPE_GET:
   2675 		rv = bcm_cpri_port_decap_ethertype_get(
   2676 			req->args.cpri_port_decap_ethertype_get.unit,
   2677 			req->args.cpri_port_decap_ethertype_get.port,
   2678 			req->args.cpri_port_decap_ethertype_get.type,
   2679 			req->args.cpri_port_decap_ethertype_get.tpid);
   2680 		break;
   2681 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_ETHERTYPE_SET:
   2682 		rv = bcm_cpri_port_decap_ethertype_set(
   2683 			req->args.cpri_port_decap_ethertype_set.unit,
   2684 			req->args.cpri_port_decap_ethertype_set.port,
   2685 			req->args.cpri_port_decap_ethertype_set.type,
   2686 			req->args.cpri_port_decap_ethertype_set.tpid);
   2687 		break;
   2688 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_FLOW_CONFIG_GET:
   2689 		rv = bcm_cpri_port_decap_flow_config_get(
   2690 			req->args.cpri_port_decap_flow_config_get.unit,
   2691 			req->args.cpri_port_decap_flow_config_get.port,
   2692 			req->args.cpri_port_decap_flow_config_get.roe_subtype,
   2693 			req->args.cpri_port_decap_flow_config_get.config);
   2694 		break;
   2695 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_FLOW_CONFIG_SET:
   2696 		rv = bcm_cpri_port_decap_flow_config_set(
   2697 			req->args.cpri_port_decap_flow_config_set.unit,
   2698 			req->args.cpri_port_decap_flow_config_set.port,
   2699 			req->args.cpri_port_decap_flow_config_set.roe_subtype,
   2700 			req->args.cpri_port_decap_flow_config_set.config);
   2701 		break;
   2702 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_FLOW_TO_QUEUE_MAPPING_GET:
   2703 		rv = bcm_cpri_port_decap_flow_to_queue_mapping_get(
   2704 			req->args.cpri_port_decap_flow_to_queue_mapping_get.unit,
   2705 			req->args.cpri_port_decap_flow_to_queue_mapping_get.port,
   2706 			req->args.cpri_port_decap_flow_to_queue_mapping_get.flow_id,
   2707 			req->args.cpri_port_decap_flow_to_queue_mapping_get.queue_num);
   2708 		break;
   2709 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_FLOW_TO_QUEUE_MAPPING_SET:
   2710 		rv = bcm_cpri_port_decap_flow_to_queue_mapping_set(
   2711 			req->args.cpri_port_decap_flow_to_queue_mapping_set.unit,
   2712 			req->args.cpri_port_decap_flow_to_queue_mapping_set.port,
   2713 			req->args.cpri_port_decap_flow_to_queue_mapping_set.flow_id,
   2714 			req->args.cpri_port_decap_flow_to_queue_mapping_set.queue_num);
   2715 		break;
   2716 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_QUEUE_FLOW_CONTROL_GET:
   2717 		rv = bcm_cpri_port_decap_queue_flow_control_get(
   2718 			req->args.cpri_port_decap_queue_flow_control_get.unit,
   2719 			req->args.cpri_port_decap_queue_flow_control_get.port,
   2720 			req->args.cpri_port_decap_queue_flow_control_get.queue_num,
   2721 			req->args.cpri_port_decap_queue_flow_control_get.xon_threshold,
   2722 			req->args.cpri_port_decap_queue_flow_control_get.xoff_threshold,
   2723 			req->args.cpri_port_decap_queue_flow_control_get.enable);
   2724 		break;
   2725 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_QUEUE_FLOW_CONTROL_SET:
   2726 		rv = bcm_cpri_port_decap_queue_flow_control_set(
   2727 			req->args.cpri_port_decap_queue_flow_control_set.unit,
   2728 			req->args.cpri_port_decap_queue_flow_control_set.port,
   2729 			req->args.cpri_port_decap_queue_flow_control_set.queue_num,
   2730 			req->args.cpri_port_decap_queue_flow_control_set.xon_threshold,
   2731 			req->args.cpri_port_decap_queue_flow_control_set.xoff_threshold,
   2732 			req->args.cpri_port_decap_queue_flow_control_set.enable);
   2733 		break;
   2734 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_QUEUE_TO_ORDERING_INFO_INDEX_GET:
   2735 		rv = bcm_cpri_port_decap_queue_to_ordering_info_index_get(
   2736 			req->args.cpri_port_decap_queue_to_ordering_info_index_get.unit,
   2737 			req->args.cpri_port_decap_queue_to_ordering_info_index_get.port,
   2738 			req->args.cpri_port_decap_queue_to_ordering_info_index_get.queue_num,
   2739 			req->args.cpri_port_decap_queue_to_ordering_info_index_get.ordering_info_index);
   2740 		break;
   2741 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_QUEUE_TO_ORDERING_INFO_INDEX_SET:
   2742 		rv = bcm_cpri_port_decap_queue_to_ordering_info_index_set(
   2743 			req->args.cpri_port_decap_queue_to_ordering_info_index_set.unit,
   2744 			req->args.cpri_port_decap_queue_to_ordering_info_index_set.port,
   2745 			req->args.cpri_port_decap_queue_to_ordering_info_index_set.queue_num,
   2746 			req->args.cpri_port_decap_queue_to_ordering_info_index_set.ordering_info_index);
   2747 		break;
   2748 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_ROE_ORDERING_INFO_GET:
   2749 		rv = bcm_cpri_port_decap_roe_ordering_info_get(
   2750 			req->args.cpri_port_decap_roe_ordering_info_get.unit,
   2751 			req->args.cpri_port_decap_roe_ordering_info_get.port,
   2752 			req->args.cpri_port_decap_roe_ordering_info_get.index,
   2753 			req->args.cpri_port_decap_roe_ordering_info_get.ordering_info);
   2754 		break;
   2755 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_ROE_ORDERING_INFO_SET:
   2756 		rv = bcm_cpri_port_decap_roe_ordering_info_set(
   2757 			req->args.cpri_port_decap_roe_ordering_info_set.unit,
   2758 			req->args.cpri_port_decap_roe_ordering_info_set.port,
   2759 			req->args.cpri_port_decap_roe_ordering_info_set.index,
   2760 			req->args.cpri_port_decap_roe_ordering_info_set.ordering_info);
   2761 		break;
   2762 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_ROE_ORDERING_SEQUENCE_OFFSET_GET:
   2763 		rv = bcm_cpri_port_decap_roe_ordering_sequence_offset_get(
   2764 			req->args.cpri_port_decap_roe_ordering_sequence_offset_get.unit,
   2765 			req->args.cpri_port_decap_roe_ordering_sequence_offset_get.port,
   2766 			req->args.cpri_port_decap_roe_ordering_sequence_offset_get.queue,
   2767 			req->args.cpri_port_decap_roe_ordering_sequence_offset_get.seq_offset);
   2768 		break;
   2769 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_ROE_ORDERING_SEQUENCE_OFFSET_SET:
   2770 		rv = bcm_cpri_port_decap_roe_ordering_sequence_offset_set(
   2771 			req->args.cpri_port_decap_roe_ordering_sequence_offset_set.unit,
   2772 			req->args.cpri_port_decap_roe_ordering_sequence_offset_set.port,
   2773 			req->args.cpri_port_decap_roe_ordering_sequence_offset_set.queue,
   2774 			req->args.cpri_port_decap_roe_ordering_sequence_offset_set.seq_offset);
   2775 		break;
   2776 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_SECONDARY_KEY_TO_QUEUE_MAPPING_GET:
   2777 		rv = bcm_cpri_port_decap_secondary_key_to_queue_mapping_get(
   2778 			req->args.cpri_port_decap_secondary_key_to_queue_mapping_get.unit,
   2779 			req->args.cpri_port_decap_secondary_key_to_queue_mapping_get.port,
   2780 			req->args.cpri_port_decap_secondary_key_to_queue_mapping_get.secondary_key,
   2781 			req->args.cpri_port_decap_secondary_key_to_queue_mapping_get.queue_num);
   2782 		break;
   2783 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECAP_SECONDARY_KEY_TO_QUEUE_MAPPING_SET:
   2784 		rv = bcm_cpri_port_decap_secondary_key_to_queue_mapping_set(
   2785 			req->args.cpri_port_decap_secondary_key_to_queue_mapping_set.unit,
   2786 			req->args.cpri_port_decap_secondary_key_to_queue_mapping_set.port,
   2787 			req->args.cpri_port_decap_secondary_key_to_queue_mapping_set.secondary_key,
   2788 			req->args.cpri_port_decap_secondary_key_to_queue_mapping_set.queue_num);
   2789 		break;
   2790 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECOMPRESSION_LOOKUP_TABLE_GET:
   2791 		rv = bcm_cpri_port_decompression_lookup_table_get(
   2792 			req->args.cpri_port_decompression_lookup_table_get.unit,
   2793 			req->args.cpri_port_decompression_lookup_table_get.port,
   2794 			req->args.cpri_port_decompression_lookup_table_get.max_depth,
   2795 			req->args.cpri_port_decompression_lookup_table_get.table_depth,
   2796 			req->args.cpri_port_decompression_lookup_table_get.comp_table);
   2797 		break;
   2798 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECOMPRESSION_LOOKUP_TABLE_SET:
   2799 		rv = bcm_cpri_port_decompression_lookup_table_set(
   2800 			req->args.cpri_port_decompression_lookup_table_set.unit,
   2801 			req->args.cpri_port_decompression_lookup_table_set.port,
   2802 			req->args.cpri_port_decompression_lookup_table_set.table_depth,
   2803 			req->args.cpri_port_decompression_lookup_table_set.comp_table);
   2804 		break;
   2805 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECOMPRESSION_SATURATION_CONFIG_GET:
   2806 		rv = bcm_cpri_port_decompression_saturation_config_get(
   2807 			req->args.cpri_port_decompression_saturation_config_get.unit,
   2808 			req->args.cpri_port_decompression_saturation_config_get.port,
   2809 			req->args.cpri_port_decompression_saturation_config_get.sat_value);
   2810 		break;
   2811 	case BCM_ASYNC_ENTRY_CPRI_PORT_DECOMPRESSION_SATURATION_CONFIG_SET:
   2812 		rv = bcm_cpri_port_decompression_saturation_config_set(
   2813 			req->args.cpri_port_decompression_saturation_config_set.unit,
   2814 			req->args.cpri_port_decompression_saturation_config_set.port,
   2815 			req->args.cpri_port_decompression_saturation_config_set.sat_value);
   2816 		break;
   2817 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_GET:
   2818 		rv = bcm_cpri_port_encap_get(
   2819 			req->args.cpri_port_encap_get.unit,
   2820 			req->args.cpri_port_encap_get.port,
   2821 			req->args.cpri_port_encap_get.queue_num,
   2822 			req->args.cpri_port_encap_get.encap_config);
   2823 		break;
   2824 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ENTRY_MACDA_GET:
   2825 		rv = bcm_cpri_port_encap_roe_entry_macda_get(
   2826 			req->args.cpri_port_encap_roe_entry_macda_get.unit,
   2827 			req->args.cpri_port_encap_roe_entry_macda_get.port,
   2828 			req->args.cpri_port_encap_roe_entry_macda_get.index,
   2829 			req->args.cpri_port_encap_roe_entry_macda_get.macaddr);
   2830 		break;
   2831 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ENTRY_MACDA_SET:
   2832 		rv = bcm_cpri_port_encap_roe_entry_macda_set(
   2833 			req->args.cpri_port_encap_roe_entry_macda_set.unit,
   2834 			req->args.cpri_port_encap_roe_entry_macda_set.port,
   2835 			req->args.cpri_port_encap_roe_entry_macda_set.index,
   2836 			req->args.cpri_port_encap_roe_entry_macda_set.macaddr);
   2837 		break;
   2838 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ENTRY_MACSA_GET:
   2839 		rv = bcm_cpri_port_encap_roe_entry_macsa_get(
   2840 			req->args.cpri_port_encap_roe_entry_macsa_get.unit,
   2841 			req->args.cpri_port_encap_roe_entry_macsa_get.port,
   2842 			req->args.cpri_port_encap_roe_entry_macsa_get.index,
   2843 			req->args.cpri_port_encap_roe_entry_macsa_get.macaddr);
   2844 		break;
   2845 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ENTRY_MACSA_SET:
   2846 		rv = bcm_cpri_port_encap_roe_entry_macsa_set(
   2847 			req->args.cpri_port_encap_roe_entry_macsa_set.unit,
   2848 			req->args.cpri_port_encap_roe_entry_macsa_set.port,
   2849 			req->args.cpri_port_encap_roe_entry_macsa_set.index,
   2850 			req->args.cpri_port_encap_roe_entry_macsa_set.macaddr);
   2851 		break;
   2852 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ENTRY_VLAN_GET:
   2853 		rv = bcm_cpri_port_encap_roe_entry_vlan_get(
   2854 			req->args.cpri_port_encap_roe_entry_vlan_get.unit,
   2855 			req->args.cpri_port_encap_roe_entry_vlan_get.port,
   2856 			req->args.cpri_port_encap_roe_entry_vlan_get.flags,
   2857 			req->args.cpri_port_encap_roe_entry_vlan_get.index,
   2858 			req->args.cpri_port_encap_roe_entry_vlan_get.vlan_id);
   2859 		break;
   2860 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ENTRY_VLAN_SET:
   2861 		rv = bcm_cpri_port_encap_roe_entry_vlan_set(
   2862 			req->args.cpri_port_encap_roe_entry_vlan_set.unit,
   2863 			req->args.cpri_port_encap_roe_entry_vlan_set.port,
   2864 			req->args.cpri_port_encap_roe_entry_vlan_set.flags,
   2865 			req->args.cpri_port_encap_roe_entry_vlan_set.index,
   2866 			req->args.cpri_port_encap_roe_entry_vlan_set.vlan_id);
   2867 		break;
   2868 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ORDERING_INFO_GET:
   2869 		rv = bcm_cpri_port_encap_roe_ordering_info_get(
   2870 			req->args.cpri_port_encap_roe_ordering_info_get.unit,
   2871 			req->args.cpri_port_encap_roe_ordering_info_get.port,
   2872 			req->args.cpri_port_encap_roe_ordering_info_get.index,
   2873 			req->args.cpri_port_encap_roe_ordering_info_get.ordering_info);
   2874 		break;
   2875 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ORDERING_INFO_SET:
   2876 		rv = bcm_cpri_port_encap_roe_ordering_info_set(
   2877 			req->args.cpri_port_encap_roe_ordering_info_set.unit,
   2878 			req->args.cpri_port_encap_roe_ordering_info_set.port,
   2879 			req->args.cpri_port_encap_roe_ordering_info_set.index,
   2880 			req->args.cpri_port_encap_roe_ordering_info_set.ordering_info);
   2881 		break;
   2882 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ORDERING_SEQUENCE_OFFSET_GET:
   2883 		rv = bcm_cpri_port_encap_roe_ordering_sequence_offset_get(
   2884 			req->args.cpri_port_encap_roe_ordering_sequence_offset_get.unit,
   2885 			req->args.cpri_port_encap_roe_ordering_sequence_offset_get.port,
   2886 			req->args.cpri_port_encap_roe_ordering_sequence_offset_get.queue,
   2887 			req->args.cpri_port_encap_roe_ordering_sequence_offset_get.control,
   2888 			req->args.cpri_port_encap_roe_ordering_sequence_offset_get.seq_offset);
   2889 		break;
   2890 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_ROE_ORDERING_SEQUENCE_OFFSET_SET:
   2891 		rv = bcm_cpri_port_encap_roe_ordering_sequence_offset_set(
   2892 			req->args.cpri_port_encap_roe_ordering_sequence_offset_set.unit,
   2893 			req->args.cpri_port_encap_roe_ordering_sequence_offset_set.port,
   2894 			req->args.cpri_port_encap_roe_ordering_sequence_offset_set.queue,
   2895 			req->args.cpri_port_encap_roe_ordering_sequence_offset_set.control,
   2896 			req->args.cpri_port_encap_roe_ordering_sequence_offset_set.seq_offset);
   2897 		break;
   2898 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_SET:
   2899 		rv = bcm_cpri_port_encap_set(
   2900 			req->args.cpri_port_encap_set.unit,
   2901 			req->args.cpri_port_encap_set.port,
   2902 			req->args.cpri_port_encap_set.queue_num,
   2903 			req->args.cpri_port_encap_set.encap_config);
   2904 		break;
   2905 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_VLAN_CONFIG_GET:
   2906 		rv = bcm_cpri_port_encap_vlan_config_get(
   2907 			req->args.cpri_port_encap_vlan_config_get.unit,
   2908 			req->args.cpri_port_encap_vlan_config_get.port,
   2909 			req->args.cpri_port_encap_vlan_config_get.vlan_config);
   2910 		break;
   2911 	case BCM_ASYNC_ENTRY_CPRI_PORT_ENCAP_VLAN_CONFIG_SET:
   2912 		rv = bcm_cpri_port_encap_vlan_config_set(
   2913 			req->args.cpri_port_encap_vlan_config_set.unit,
   2914 			req->args.cpri_port_encap_vlan_config_set.port,
   2915 			req->args.cpri_port_encap_vlan_config_set.vlan_config);
   2916 		break;
   2917 	case BCM_ASYNC_ENTRY_CPRI_PORT_FEC_AUX_CONFIG_GET:
   2918 		rv = bcm_cpri_port_fec_aux_config_get(
   2919 			req->args.cpri_port_fec_aux_config_get.unit,
   2920 			req->args.cpri_port_fec_aux_config_get.port,
   2921 			req->args.cpri_port_fec_aux_config_get.param_id,
   2922 			req->args.cpri_port_fec_aux_config_get.value);
   2923 		break;
   2924 	case BCM_ASYNC_ENTRY_CPRI_PORT_FEC_AUX_CONFIG_SET:
   2925 		rv = bcm_cpri_port_fec_aux_config_set(
   2926 			req->args.cpri_port_fec_aux_config_set.unit,
   2927 			req->args.cpri_port_fec_aux_config_set.port,
   2928 			req->args.cpri_port_fec_aux_config_set.param_id,
   2929 			req->args.cpri_port_fec_aux_config_set.value);
   2930 		break;
   2931 	case BCM_ASYNC_ENTRY_CPRI_PORT_FEC_ENABLE_GET:
   2932 		rv = bcm_cpri_port_fec_enable_get(
   2933 			req->args.cpri_port_fec_enable_get.unit,
   2934 			req->args.cpri_port_fec_enable_get.port,
   2935 			req->args.cpri_port_fec_enable_get.dir,
   2936 			req->args.cpri_port_fec_enable_get.enable);
   2937 		break;
   2938 	case BCM_ASYNC_ENTRY_CPRI_PORT_FEC_ENABLE_SET:
   2939 		rv = bcm_cpri_port_fec_enable_set(
   2940 			req->args.cpri_port_fec_enable_set.unit,
   2941 			req->args.cpri_port_fec_enable_set.port,
   2942 			req->args.cpri_port_fec_enable_set.dir,
   2943 			req->args.cpri_port_fec_enable_set.enable);
   2944 		break;
   2945 	case BCM_ASYNC_ENTRY_CPRI_PORT_FEC_TIMESTAMP_CONFIG_GET:
   2946 		rv = bcm_cpri_port_fec_timestamp_config_get(
   2947 			req->args.cpri_port_fec_timestamp_config_get.unit,
   2948 			req->args.cpri_port_fec_timestamp_config_get.port,
   2949 			req->args.cpri_port_fec_timestamp_config_get.dir,
   2950 			req->args.cpri_port_fec_timestamp_config_get.config);
   2951 		break;
   2952 	case BCM_ASYNC_ENTRY_CPRI_PORT_FEC_TIMESTAMP_CONFIG_SET:
   2953 		rv = bcm_cpri_port_fec_timestamp_config_set(
   2954 			req->args.cpri_port_fec_timestamp_config_set.unit,
   2955 			req->args.cpri_port_fec_timestamp_config_set.port,
   2956 			req->args.cpri_port_fec_timestamp_config_set.dir,
   2957 			req->args.cpri_port_fec_timestamp_config_set.config);
   2958 		break;
   2959 	case BCM_ASYNC_ENTRY_CPRI_PORT_FRAME_CONFIG_SET:
   2960 		rv = bcm_cpri_port_frame_config_set(
   2961 			req->args.cpri_port_frame_config_set.unit,
   2962 			req->args.cpri_port_frame_config_set.port,
   2963 			req->args.cpri_port_frame_config_set.config);
   2964 		break;
   2965 	case BCM_ASYNC_ENTRY_CPRI_PORT_INTERRUPT_CALLBACK_REGISTER:
   2966 		rv = bcm_cpri_port_interrupt_callback_register(
   2967 			req->args.cpri_port_interrupt_callback_register.unit,
   2968 			req->args.cpri_port_interrupt_callback_register.cpri_intr_type,
   2969 			req->args.cpri_port_interrupt_callback_register.callback,
   2970 			req->args.cpri_port_interrupt_callback_register.user_data);
   2971 		break;
   2972 	case BCM_ASYNC_ENTRY_CPRI_PORT_INTERRUPT_CALLBACK_UNREGISTER:
   2973 		rv = bcm_cpri_port_interrupt_callback_unregister(
   2974 			req->args.cpri_port_interrupt_callback_unregister.unit,
   2975 			req->args.cpri_port_interrupt_callback_unregister.cpri_intr_type,
   2976 			req->args.cpri_port_interrupt_callback_unregister.callback);
   2977 		break;
   2978 	case BCM_ASYNC_ENTRY_CPRI_PORT_INTERRUPT_ENABLE_SET:
   2979 		rv = bcm_cpri_port_interrupt_enable_set(
   2980 			req->args.cpri_port_interrupt_enable_set.unit,
   2981 			req->args.cpri_port_interrupt_enable_set.port,
   2982 			req->args.cpri_port_interrupt_enable_set.cpri_intr_type,
   2983 			req->args.cpri_port_interrupt_enable_set.data,
   2984 			req->args.cpri_port_interrupt_enable_set.enable);
   2985 		break;
   2986 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_AGNOSTIC_MODE_CONFIG_GET:
   2987 		rv = bcm_cpri_port_rsvd4_agnostic_mode_config_get(
   2988 			req->args.cpri_port_rsvd4_agnostic_mode_config_get.unit,
   2989 			req->args.cpri_port_rsvd4_agnostic_mode_config_get.port,
   2990 			req->args.cpri_port_rsvd4_agnostic_mode_config_get.direction,
   2991 			req->args.cpri_port_rsvd4_agnostic_mode_config_get.enable,
   2992 			req->args.cpri_port_rsvd4_agnostic_mode_config_get.config);
   2993 		break;
   2994 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_AGNOSTIC_MODE_CONFIG_SET:
   2995 		rv = bcm_cpri_port_rsvd4_agnostic_mode_config_set(
   2996 			req->args.cpri_port_rsvd4_agnostic_mode_config_set.unit,
   2997 			req->args.cpri_port_rsvd4_agnostic_mode_config_set.port,
   2998 			req->args.cpri_port_rsvd4_agnostic_mode_config_set.direction,
   2999 			req->args.cpri_port_rsvd4_agnostic_mode_config_set.enable,
   3000 			req->args.cpri_port_rsvd4_agnostic_mode_config_set.config);
   3001 		break;
   3002 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_CM_FAST_ETH_CONFIG_SET:
   3003 		rv = bcm_cpri_port_rsvd4_cm_fast_eth_config_set(
   3004 			req->args.cpri_port_rsvd4_cm_fast_eth_config_set.unit,
   3005 			req->args.cpri_port_rsvd4_cm_fast_eth_config_set.port,
   3006 			req->args.cpri_port_rsvd4_cm_fast_eth_config_set.control_flow_id,
   3007 			req->args.cpri_port_rsvd4_cm_fast_eth_config_set.config);
   3008 		break;
   3009 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_DBM_ENTRY_CLEAR:
   3010 		rv = bcm_cpri_port_rsvd4_dbm_entry_clear(
   3011 			req->args.cpri_port_rsvd4_dbm_entry_clear.unit,
   3012 			req->args.cpri_port_rsvd4_dbm_entry_clear.port,
   3013 			req->args.cpri_port_rsvd4_dbm_entry_clear.index);
   3014 		break;
   3015 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_DBM_ENTRY_GET:
   3016 		rv = bcm_cpri_port_rsvd4_dbm_entry_get(
   3017 			req->args.cpri_port_rsvd4_dbm_entry_get.unit,
   3018 			req->args.cpri_port_rsvd4_dbm_entry_get.port,
   3019 			req->args.cpri_port_rsvd4_dbm_entry_get.index,
   3020 			req->args.cpri_port_rsvd4_dbm_entry_get.entry);
   3021 		break;
   3022 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_DBM_ENTRY_SET:
   3023 		rv = bcm_cpri_port_rsvd4_dbm_entry_set(
   3024 			req->args.cpri_port_rsvd4_dbm_entry_set.unit,
   3025 			req->args.cpri_port_rsvd4_dbm_entry_set.port,
   3026 			req->args.cpri_port_rsvd4_dbm_entry_set.index,
   3027 			req->args.cpri_port_rsvd4_dbm_entry_set.entry);
   3028 		break;
   3029 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_BFN_SYNC_CONFIG_SET:
   3030 		rv = bcm_cpri_port_rsvd4_rx_bfn_sync_config_set(
   3031 			req->args.cpri_port_rsvd4_rx_bfn_sync_config_set.unit,
   3032 			req->args.cpri_port_rsvd4_rx_bfn_sync_config_set.port,
   3033 			req->args.cpri_port_rsvd4_rx_bfn_sync_config_set.master_frame_count,
   3034 			req->args.cpri_port_rsvd4_rx_bfn_sync_config_set.master_frame_start);
   3035 		break;
   3036 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_CONTROL_FLOW_ADD:
   3037 		rv = bcm_cpri_port_rsvd4_rx_control_flow_add(
   3038 			req->args.cpri_port_rsvd4_rx_control_flow_add.unit,
   3039 			req->args.cpri_port_rsvd4_rx_control_flow_add.port,
   3040 			req->args.cpri_port_rsvd4_rx_control_flow_add.control_flow_id,
   3041 			req->args.cpri_port_rsvd4_rx_control_flow_add.config);
   3042 		break;
   3043 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_CONTROL_FLOW_DELETE:
   3044 		rv = bcm_cpri_port_rsvd4_rx_control_flow_delete(
   3045 			req->args.cpri_port_rsvd4_rx_control_flow_delete.unit,
   3046 			req->args.cpri_port_rsvd4_rx_control_flow_delete.port,
   3047 			req->args.cpri_port_rsvd4_rx_control_flow_delete.control_flow_id,
   3048 			req->args.cpri_port_rsvd4_rx_control_flow_delete.control_flow_cfg);
   3049 		break;
   3050 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_CURRENT_FRAME_SYNC_INFO_GET:
   3051 		rv = bcm_cpri_port_rsvd4_rx_current_frame_sync_info_get(
   3052 			req->args.cpri_port_rsvd4_rx_current_frame_sync_info_get.unit,
   3053 			req->args.cpri_port_rsvd4_rx_current_frame_sync_info_get.port,
   3054 			req->args.cpri_port_rsvd4_rx_current_frame_sync_info_get.frame_sync_info);
   3055 		break;
   3056 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_FLOW_ADD:
   3057 		rv = bcm_cpri_port_rsvd4_rx_flow_add(
   3058 			req->args.cpri_port_rsvd4_rx_flow_add.unit,
   3059 			req->args.cpri_port_rsvd4_rx_flow_add.port,
   3060 			req->args.cpri_port_rsvd4_rx_flow_add.flow_id,
   3061 			req->args.cpri_port_rsvd4_rx_flow_add.flow_info);
   3062 		break;
   3063 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_FLOW_DELETE:
   3064 		rv = bcm_cpri_port_rsvd4_rx_flow_delete(
   3065 			req->args.cpri_port_rsvd4_rx_flow_delete.unit,
   3066 			req->args.cpri_port_rsvd4_rx_flow_delete.port,
   3067 			req->args.cpri_port_rsvd4_rx_flow_delete.flow_id);
   3068 		break;
   3069 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_FRAME_CONFIG_DEBUG_SET:
   3070 		rv = bcm_cpri_port_rsvd4_rx_frame_config_debug_set(
   3071 			req->args.cpri_port_rsvd4_rx_frame_config_debug_set.unit,
   3072 			req->args.cpri_port_rsvd4_rx_frame_config_debug_set.port,
   3073 			req->args.cpri_port_rsvd4_rx_frame_config_debug_set.config_type,
   3074 			req->args.cpri_port_rsvd4_rx_frame_config_debug_set.value);
   3075 		break;
   3076 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_FRAME_CONFIG_GET:
   3077 		rv = bcm_cpri_port_rsvd4_rx_frame_config_get(
   3078 			req->args.cpri_port_rsvd4_rx_frame_config_get.unit,
   3079 			req->args.cpri_port_rsvd4_rx_frame_config_get.port,
   3080 			req->args.cpri_port_rsvd4_rx_frame_config_get.config);
   3081 		break;
   3082 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_FRAME_CONFIG_SET:
   3083 		rv = bcm_cpri_port_rsvd4_rx_frame_config_set(
   3084 			req->args.cpri_port_rsvd4_rx_frame_config_set.unit,
   3085 			req->args.cpri_port_rsvd4_rx_frame_config_set.port,
   3086 			req->args.cpri_port_rsvd4_rx_frame_config_set.config);
   3087 		break;
   3088 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_FSM_STATE_SET:
   3089 		rv = bcm_cpri_port_rsvd4_rx_fsm_state_set(
   3090 			req->args.cpri_port_rsvd4_rx_fsm_state_set.unit,
   3091 			req->args.cpri_port_rsvd4_rx_fsm_state_set.port,
   3092 			req->args.cpri_port_rsvd4_rx_fsm_state_set.state);
   3093 		break;
   3094 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_RX_OVERRIDE_SET:
   3095 		rv = bcm_cpri_port_rsvd4_rx_override_set(
   3096 			req->args.cpri_port_rsvd4_rx_override_set.unit,
   3097 			req->args.cpri_port_rsvd4_rx_override_set.port,
   3098 			req->args.cpri_port_rsvd4_rx_override_set.parameter,
   3099 			req->args.cpri_port_rsvd4_rx_override_set.enable,
   3100 			req->args.cpri_port_rsvd4_rx_override_set.value);
   3101 		break;
   3102 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_SECONDARY_DBM_ENTRY_CLEAR:
   3103 		rv = bcm_cpri_port_rsvd4_secondary_dbm_entry_clear(
   3104 			req->args.cpri_port_rsvd4_secondary_dbm_entry_clear.unit,
   3105 			req->args.cpri_port_rsvd4_secondary_dbm_entry_clear.port,
   3106 			req->args.cpri_port_rsvd4_secondary_dbm_entry_clear.index);
   3107 		break;
   3108 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_SECONDARY_DBM_ENTRY_GET:
   3109 		rv = bcm_cpri_port_rsvd4_secondary_dbm_entry_get(
   3110 			req->args.cpri_port_rsvd4_secondary_dbm_entry_get.unit,
   3111 			req->args.cpri_port_rsvd4_secondary_dbm_entry_get.port,
   3112 			req->args.cpri_port_rsvd4_secondary_dbm_entry_get.index,
   3113 			req->args.cpri_port_rsvd4_secondary_dbm_entry_get.entry);
   3114 		break;
   3115 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_SECONDARY_DBM_ENTRY_SET:
   3116 		rv = bcm_cpri_port_rsvd4_secondary_dbm_entry_set(
   3117 			req->args.cpri_port_rsvd4_secondary_dbm_entry_set.unit,
   3118 			req->args.cpri_port_rsvd4_secondary_dbm_entry_set.port,
   3119 			req->args.cpri_port_rsvd4_secondary_dbm_entry_set.index,
   3120 			req->args.cpri_port_rsvd4_secondary_dbm_entry_set.entry);
   3121 		break;
   3122 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_SYNC_PROFILE_ENTRY_GET:
   3123 		rv = bcm_cpri_port_rsvd4_sync_profile_entry_get(
   3124 			req->args.cpri_port_rsvd4_sync_profile_entry_get.unit,
   3125 			req->args.cpri_port_rsvd4_sync_profile_entry_get.port,
   3126 			req->args.cpri_port_rsvd4_sync_profile_entry_get.index,
   3127 			req->args.cpri_port_rsvd4_sync_profile_entry_get.config);
   3128 		break;
   3129 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_SYNC_PROFILE_ENTRY_SET:
   3130 		rv = bcm_cpri_port_rsvd4_sync_profile_entry_set(
   3131 			req->args.cpri_port_rsvd4_sync_profile_entry_set.unit,
   3132 			req->args.cpri_port_rsvd4_sync_profile_entry_set.port,
   3133 			req->args.cpri_port_rsvd4_sync_profile_entry_set.index,
   3134 			req->args.cpri_port_rsvd4_sync_profile_entry_set.config);
   3135 		break;
   3136 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_CM_ETH_CONFIG_SET:
   3137 		rv = bcm_cpri_port_rsvd4_tx_cm_eth_config_set(
   3138 			req->args.cpri_port_rsvd4_tx_cm_eth_config_set.unit,
   3139 			req->args.cpri_port_rsvd4_tx_cm_eth_config_set.port,
   3140 			req->args.cpri_port_rsvd4_tx_cm_eth_config_set.config);
   3141 		break;
   3142 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_CM_HDR_CONFIG_ENTRY_SET:
   3143 		rv = bcm_cpri_port_rsvd4_tx_cm_hdr_config_entry_set(
   3144 			req->args.cpri_port_rsvd4_tx_cm_hdr_config_entry_set.unit,
   3145 			req->args.cpri_port_rsvd4_tx_cm_hdr_config_entry_set.port,
   3146 			req->args.cpri_port_rsvd4_tx_cm_hdr_config_entry_set.index,
   3147 			req->args.cpri_port_rsvd4_tx_cm_hdr_config_entry_set.entry);
   3148 		break;
   3149 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_CM_HDR_LKUP_ENTRY_SET:
   3150 		rv = bcm_cpri_port_rsvd4_tx_cm_hdr_lkup_entry_set(
   3151 			req->args.cpri_port_rsvd4_tx_cm_hdr_lkup_entry_set.unit,
   3152 			req->args.cpri_port_rsvd4_tx_cm_hdr_lkup_entry_set.port,
   3153 			req->args.cpri_port_rsvd4_tx_cm_hdr_lkup_entry_set.flow_id,
   3154 			req->args.cpri_port_rsvd4_tx_cm_hdr_lkup_entry_set.header_index);
   3155 		break;
   3156 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_CM_RAW_CONFIG_SET:
   3157 		rv = bcm_cpri_port_rsvd4_tx_cm_raw_config_set(
   3158 			req->args.cpri_port_rsvd4_tx_cm_raw_config_set.unit,
   3159 			req->args.cpri_port_rsvd4_tx_cm_raw_config_set.port,
   3160 			req->args.cpri_port_rsvd4_tx_cm_raw_config_set.config);
   3161 		break;
   3162 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_CM_TUNNEL_CRC_CONFIG_SET:
   3163 		rv = bcm_cpri_port_rsvd4_tx_cm_tunnel_crc_config_set(
   3164 			req->args.cpri_port_rsvd4_tx_cm_tunnel_crc_config_set.unit,
   3165 			req->args.cpri_port_rsvd4_tx_cm_tunnel_crc_config_set.port,
   3166 			req->args.cpri_port_rsvd4_tx_cm_tunnel_crc_config_set.crc_option);
   3167 		break;
   3168 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_CONTROL_FLOW_ADD:
   3169 		rv = bcm_cpri_port_rsvd4_tx_control_flow_add(
   3170 			req->args.cpri_port_rsvd4_tx_control_flow_add.unit,
   3171 			req->args.cpri_port_rsvd4_tx_control_flow_add.port,
   3172 			req->args.cpri_port_rsvd4_tx_control_flow_add.control_flow_id,
   3173 			req->args.cpri_port_rsvd4_tx_control_flow_add.config);
   3174 		break;
   3175 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_CONTROL_FLOW_GROUP_MEMBER_ADD:
   3176 		rv = bcm_cpri_port_rsvd4_tx_control_flow_group_member_add(
   3177 			req->args.cpri_port_rsvd4_tx_control_flow_group_member_add.unit,
   3178 			req->args.cpri_port_rsvd4_tx_control_flow_group_member_add.port,
   3179 			req->args.cpri_port_rsvd4_tx_control_flow_group_member_add.group_num,
   3180 			req->args.cpri_port_rsvd4_tx_control_flow_group_member_add.config);
   3181 		break;
   3182 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_CONTROL_FLOW_GROUP_MEMBER_DELETE:
   3183 		rv = bcm_cpri_port_rsvd4_tx_control_flow_group_member_delete(
   3184 			req->args.cpri_port_rsvd4_tx_control_flow_group_member_delete.unit,
   3185 			req->args.cpri_port_rsvd4_tx_control_flow_group_member_delete.port,
   3186 			req->args.cpri_port_rsvd4_tx_control_flow_group_member_delete.group_num,
   3187 			req->args.cpri_port_rsvd4_tx_control_flow_group_member_delete.priority);
   3188 		break;
   3189 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_CURRENT_FRAME_SYNC_INFO_GET:
   3190 		rv = bcm_cpri_port_rsvd4_tx_current_frame_sync_info_get(
   3191 			req->args.cpri_port_rsvd4_tx_current_frame_sync_info_get.unit,
   3192 			req->args.cpri_port_rsvd4_tx_current_frame_sync_info_get.port,
   3193 			req->args.cpri_port_rsvd4_tx_current_frame_sync_info_get.frame_sync_info);
   3194 		break;
   3195 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_FLOW_ADD:
   3196 		rv = bcm_cpri_port_rsvd4_tx_flow_add(
   3197 			req->args.cpri_port_rsvd4_tx_flow_add.unit,
   3198 			req->args.cpri_port_rsvd4_tx_flow_add.port,
   3199 			req->args.cpri_port_rsvd4_tx_flow_add.flow_id,
   3200 			req->args.cpri_port_rsvd4_tx_flow_add.flow_info);
   3201 		break;
   3202 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_FLOW_DELETE:
   3203 		rv = bcm_cpri_port_rsvd4_tx_flow_delete(
   3204 			req->args.cpri_port_rsvd4_tx_flow_delete.unit,
   3205 			req->args.cpri_port_rsvd4_tx_flow_delete.port,
   3206 			req->args.cpri_port_rsvd4_tx_flow_delete.flow_id);
   3207 		break;
   3208 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_FRAME_CONFIG_DEBUG_SET:
   3209 		rv = bcm_cpri_port_rsvd4_tx_frame_config_debug_set(
   3210 			req->args.cpri_port_rsvd4_tx_frame_config_debug_set.unit,
   3211 			req->args.cpri_port_rsvd4_tx_frame_config_debug_set.port,
   3212 			req->args.cpri_port_rsvd4_tx_frame_config_debug_set.config_type,
   3213 			req->args.cpri_port_rsvd4_tx_frame_config_debug_set.value);
   3214 		break;
   3215 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_FRAME_CONFIG_GET:
   3216 		rv = bcm_cpri_port_rsvd4_tx_frame_config_get(
   3217 			req->args.cpri_port_rsvd4_tx_frame_config_get.unit,
   3218 			req->args.cpri_port_rsvd4_tx_frame_config_get.port,
   3219 			req->args.cpri_port_rsvd4_tx_frame_config_get.config);
   3220 		break;
   3221 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_FRAME_CONFIG_SET:
   3222 		rv = bcm_cpri_port_rsvd4_tx_frame_config_set(
   3223 			req->args.cpri_port_rsvd4_tx_frame_config_set.unit,
   3224 			req->args.cpri_port_rsvd4_tx_frame_config_set.port,
   3225 			req->args.cpri_port_rsvd4_tx_frame_config_set.config);
   3226 		break;
   3227 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_FSM_STATE_SET:
   3228 		rv = bcm_cpri_port_rsvd4_tx_fsm_state_set(
   3229 			req->args.cpri_port_rsvd4_tx_fsm_state_set.unit,
   3230 			req->args.cpri_port_rsvd4_tx_fsm_state_set.port,
   3231 			req->args.cpri_port_rsvd4_tx_fsm_state_set.state);
   3232 		break;
   3233 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_MODULO_RULE_ENTRY_GET:
   3234 		rv = bcm_cpri_port_rsvd4_tx_modulo_rule_entry_get(
   3235 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_get.unit,
   3236 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_get.port,
   3237 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_get.modulo_rule_num,
   3238 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_get.modulo_rule_type,
   3239 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_get.modulo_rule);
   3240 		break;
   3241 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_MODULO_RULE_ENTRY_SET:
   3242 		rv = bcm_cpri_port_rsvd4_tx_modulo_rule_entry_set(
   3243 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_set.unit,
   3244 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_set.port,
   3245 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_set.modulo_rule_num,
   3246 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_set.modulo_rule_type,
   3247 			req->args.cpri_port_rsvd4_tx_modulo_rule_entry_set.modulo_rule);
   3248 		break;
   3249 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_OVERRIDE_SET:
   3250 		rv = bcm_cpri_port_rsvd4_tx_override_set(
   3251 			req->args.cpri_port_rsvd4_tx_override_set.unit,
   3252 			req->args.cpri_port_rsvd4_tx_override_set.port,
   3253 			req->args.cpri_port_rsvd4_tx_override_set.parameter,
   3254 			req->args.cpri_port_rsvd4_tx_override_set.enable,
   3255 			req->args.cpri_port_rsvd4_tx_override_set.value);
   3256 		break;
   3257 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_POSITION_ENTRY_GET:
   3258 		rv = bcm_cpri_port_rsvd4_tx_position_entry_get(
   3259 			req->args.cpri_port_rsvd4_tx_position_entry_get.unit,
   3260 			req->args.cpri_port_rsvd4_tx_position_entry_get.port,
   3261 			req->args.cpri_port_rsvd4_tx_position_entry_get.pos_index,
   3262 			req->args.cpri_port_rsvd4_tx_position_entry_get.pos_entry);
   3263 		break;
   3264 	case BCM_ASYNC_ENTRY_CPRI_PORT_RSVD4_TX_POSITION_ENTRY_SET:
   3265 		rv = bcm_cpri_port_rsvd4_tx_position_entry_set(
   3266 			req->args.cpri_port_rsvd4_tx_position_entry_set.unit,
   3267 			req->args.cpri_port_rsvd4_tx_position_entry_set.port,
   3268 			req->args.cpri_port_rsvd4_tx_position_entry_set.pos_index,
   3269 			req->args.cpri_port_rsvd4_tx_position_entry_set.pos_entry);
   3270 		break;
   3271 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_AXC_FRAME_ADD:
   3272 		rv = bcm_cpri_port_rx_axc_frame_add(
   3273 			req->args.cpri_port_rx_axc_frame_add.unit,
   3274 			req->args.cpri_port_rx_axc_frame_add.port,
   3275 			req->args.cpri_port_rx_axc_frame_add.axc_id,
   3276 			req->args.cpri_port_rx_axc_frame_add.axc_info);
   3277 		break;
   3278 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_AXC_FRAME_DELETE:
   3279 		rv = bcm_cpri_port_rx_axc_frame_delete(
   3280 			req->args.cpri_port_rx_axc_frame_delete.unit,
   3281 			req->args.cpri_port_rx_axc_frame_delete.port,
   3282 			req->args.cpri_port_rx_axc_frame_delete.axc_id);
   3283 		break;
   3284 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_AXC_FRAME_GET:
   3285 		rv = bcm_cpri_port_rx_axc_frame_get(
   3286 			req->args.cpri_port_rx_axc_frame_get.unit,
   3287 			req->args.cpri_port_rx_axc_frame_get.port,
   3288 			req->args.cpri_port_rx_axc_frame_get.axc_id,
   3289 			req->args.cpri_port_rx_axc_frame_get.axc_info);
   3290 		break;
   3291 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_AXC_FRAME_GET_ALL:
   3292 		rv = bcm_cpri_port_rx_axc_frame_get_all(
   3293 			req->args.cpri_port_rx_axc_frame_get_all.unit,
   3294 			req->args.cpri_port_rx_axc_frame_get_all.port,
   3295 			req->args.cpri_port_rx_axc_frame_get_all.max_count,
   3296 			req->args.cpri_port_rx_axc_frame_get_all.axc_info_list,
   3297 			req->args.cpri_port_rx_axc_frame_get_all.axc_count);
   3298 		break;
   3299 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_GCW_CONFIG_GET:
   3300 		rv = bcm_cpri_port_rx_cw_gcw_config_get(
   3301 			req->args.cpri_port_rx_cw_gcw_config_get.unit,
   3302 			req->args.cpri_port_rx_cw_gcw_config_get.port,
   3303 			req->args.cpri_port_rx_cw_gcw_config_get.index,
   3304 			req->args.cpri_port_rx_cw_gcw_config_get.config);
   3305 		break;
   3306 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_GCW_CONFIG_SET:
   3307 		rv = bcm_cpri_port_rx_cw_gcw_config_set(
   3308 			req->args.cpri_port_rx_cw_gcw_config_set.unit,
   3309 			req->args.cpri_port_rx_cw_gcw_config_set.port,
   3310 			req->args.cpri_port_rx_cw_gcw_config_set.index,
   3311 			req->args.cpri_port_rx_cw_gcw_config_set.config);
   3312 		break;
   3313 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_GCW_WORD_GET:
   3314 		rv = bcm_cpri_port_rx_cw_gcw_word_get(
   3315 			req->args.cpri_port_rx_cw_gcw_word_get.unit,
   3316 			req->args.cpri_port_rx_cw_gcw_word_get.port,
   3317 			req->args.cpri_port_rx_cw_gcw_word_get.group_index,
   3318 			req->args.cpri_port_rx_cw_gcw_word_get.gcw_word);
   3319 		break;
   3320 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_L1_SIGNAL_INFO_GET:
   3321 		rv = bcm_cpri_port_rx_cw_l1_signal_info_get(
   3322 			req->args.cpri_port_rx_cw_l1_signal_info_get.unit,
   3323 			req->args.cpri_port_rx_cw_l1_signal_info_get.port,
   3324 			req->args.cpri_port_rx_cw_l1_signal_info_get.l1_info);
   3325 		break;
   3326 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_L1_SIGNAL_PROTECTION_GET:
   3327 		rv = bcm_cpri_port_rx_cw_l1_signal_protection_get(
   3328 			req->args.cpri_port_rx_cw_l1_signal_protection_get.unit,
   3329 			req->args.cpri_port_rx_cw_l1_signal_protection_get.port,
   3330 			req->args.cpri_port_rx_cw_l1_signal_protection_get.signal_map,
   3331 			req->args.cpri_port_rx_cw_l1_signal_protection_get.enable);
   3332 		break;
   3333 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_L1_SIGNAL_PROTECTION_SET:
   3334 		rv = bcm_cpri_port_rx_cw_l1_signal_protection_set(
   3335 			req->args.cpri_port_rx_cw_l1_signal_protection_set.unit,
   3336 			req->args.cpri_port_rx_cw_l1_signal_protection_set.port,
   3337 			req->args.cpri_port_rx_cw_l1_signal_protection_set.signal_map,
   3338 			req->args.cpri_port_rx_cw_l1_signal_protection_set.enable);
   3339 		break;
   3340 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_RSVD5_CONFIG_GET:
   3341 		rv = bcm_cpri_port_rx_cw_rsvd5_config_get(
   3342 			req->args.cpri_port_rx_cw_rsvd5_config_get.unit,
   3343 			req->args.cpri_port_rx_cw_rsvd5_config_get.port,
   3344 			req->args.cpri_port_rx_cw_rsvd5_config_get.config);
   3345 		break;
   3346 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_RSVD5_CONFIG_SET:
   3347 		rv = bcm_cpri_port_rx_cw_rsvd5_config_set(
   3348 			req->args.cpri_port_rx_cw_rsvd5_config_set.unit,
   3349 			req->args.cpri_port_rx_cw_rsvd5_config_set.port,
   3350 			req->args.cpri_port_rx_cw_rsvd5_config_set.config);
   3351 		break;
   3352 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_SYNC_INFO_GET:
   3353 		rv = bcm_cpri_port_rx_cw_sync_info_get(
   3354 			req->args.cpri_port_rx_cw_sync_info_get.unit,
   3355 			req->args.cpri_port_rx_cw_sync_info_get.port,
   3356 			req->args.cpri_port_rx_cw_sync_info_get.hyper_frame_num,
   3357 			req->args.cpri_port_rx_cw_sync_info_get.radio_frame_num);
   3358 		break;
   3359 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_VSD_CONFIG_GET:
   3360 		rv = bcm_cpri_port_rx_cw_vsd_config_get(
   3361 			req->args.cpri_port_rx_cw_vsd_config_get.unit,
   3362 			req->args.cpri_port_rx_cw_vsd_config_get.port,
   3363 			req->args.cpri_port_rx_cw_vsd_config_get.config);
   3364 		break;
   3365 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_VSD_CONFIG_SET:
   3366 		rv = bcm_cpri_port_rx_cw_vsd_config_set(
   3367 			req->args.cpri_port_rx_cw_vsd_config_set.unit,
   3368 			req->args.cpri_port_rx_cw_vsd_config_set.port,
   3369 			req->args.cpri_port_rx_cw_vsd_config_set.config);
   3370 		break;
   3371 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_VSD_CTRL_FLOW_ADD:
   3372 		rv = bcm_cpri_port_rx_cw_vsd_ctrl_flow_add(
   3373 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_add.unit,
   3374 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_add.port,
   3375 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_add.group_id,
   3376 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_add.config);
   3377 		break;
   3378 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_VSD_CTRL_FLOW_DELETE:
   3379 		rv = bcm_cpri_port_rx_cw_vsd_ctrl_flow_delete(
   3380 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_delete.unit,
   3381 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_delete.port,
   3382 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_delete.group_id);
   3383 		break;
   3384 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_VSD_CTRL_FLOW_GET:
   3385 		rv = bcm_cpri_port_rx_cw_vsd_ctrl_flow_get(
   3386 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_get.unit,
   3387 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_get.port,
   3388 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_get.group_id,
   3389 			req->args.cpri_port_rx_cw_vsd_ctrl_flow_get.config);
   3390 		break;
   3391 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_VSD_RAW_CONFIG_GET:
   3392 		rv = bcm_cpri_port_rx_cw_vsd_raw_config_get(
   3393 			req->args.cpri_port_rx_cw_vsd_raw_config_get.unit,
   3394 			req->args.cpri_port_rx_cw_vsd_raw_config_get.port,
   3395 			req->args.cpri_port_rx_cw_vsd_raw_config_get.vsd_raw_id,
   3396 			req->args.cpri_port_rx_cw_vsd_raw_config_get.config);
   3397 		break;
   3398 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_CW_VSD_RAW_CONFIG_SET:
   3399 		rv = bcm_cpri_port_rx_cw_vsd_raw_config_set(
   3400 			req->args.cpri_port_rx_cw_vsd_raw_config_set.unit,
   3401 			req->args.cpri_port_rx_cw_vsd_raw_config_set.port,
   3402 			req->args.cpri_port_rx_cw_vsd_raw_config_set.vsd_raw_id,
   3403 			req->args.cpri_port_rx_cw_vsd_raw_config_set.config);
   3404 		break;
   3405 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_SPEED_GET:
   3406 		rv = bcm_cpri_port_rx_speed_get(
   3407 			req->args.cpri_port_rx_speed_get.unit,
   3408 			req->args.cpri_port_rx_speed_get.port,
   3409 			req->args.cpri_port_rx_speed_get.port_type,
   3410 			req->args.cpri_port_rx_speed_get.speed);
   3411 		break;
   3412 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_SPEED_SET:
   3413 		rv = bcm_cpri_port_rx_speed_set(
   3414 			req->args.cpri_port_rx_speed_set.unit,
   3415 			req->args.cpri_port_rx_speed_set.port,
   3416 			req->args.cpri_port_rx_speed_set.port_type,
   3417 			req->args.cpri_port_rx_speed_set.speed);
   3418 		break;
   3419 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_TAG_CONFIG_SET:
   3420 		rv = bcm_cpri_port_rx_tag_config_set(
   3421 			req->args.cpri_port_rx_tag_config_set.unit,
   3422 			req->args.cpri_port_rx_tag_config_set.port,
   3423 			req->args.cpri_port_rx_tag_config_set.config);
   3424 		break;
   3425 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_TAG_ENTRY_ADD:
   3426 		rv = bcm_cpri_port_rx_tag_entry_add(
   3427 			req->args.cpri_port_rx_tag_entry_add.unit,
   3428 			req->args.cpri_port_rx_tag_entry_add.port,
   3429 			req->args.cpri_port_rx_tag_entry_add.config);
   3430 		break;
   3431 	case BCM_ASYNC_ENTRY_CPRI_PORT_RX_TAG_ENTRY_DELETE:
   3432 		rv = bcm_cpri_port_rx_tag_entry_delete(
   3433 			req->args.cpri_port_rx_tag_entry_delete.unit,
   3434 			req->args.cpri_port_rx_tag_entry_delete.port,
   3435 			req->args.cpri_port_rx_tag_entry_delete.config);
   3436 		break;
   3437 	case BCM_ASYNC_ENTRY_CPRI_PORT_STAT_GET:
   3438 		rv = bcm_cpri_port_stat_get(
   3439 			req->args.cpri_port_stat_get.unit,
   3440 			req->args.cpri_port_stat_get.port,
   3441 			req->args.cpri_port_stat_get.type,
   3442 			req->args.cpri_port_stat_get.val);
   3443 		break;
   3444 	case BCM_ASYNC_ENTRY_CPRI_PORT_TUNNEL_MODE_CONFIG_GET:
   3445 		rv = bcm_cpri_port_tunnel_mode_config_get(
   3446 			req->args.cpri_port_tunnel_mode_config_get.unit,
   3447 			req->args.cpri_port_tunnel_mode_config_get.port,
   3448 			req->args.cpri_port_tunnel_mode_config_get.direction,
   3449 			req->args.cpri_port_tunnel_mode_config_get.enable,
   3450 			req->args.cpri_port_tunnel_mode_config_get.config);
   3451 		break;
   3452 	case BCM_ASYNC_ENTRY_CPRI_PORT_TUNNEL_MODE_CONFIG_SET:
   3453 		rv = bcm_cpri_port_tunnel_mode_config_set(
   3454 			req->args.cpri_port_tunnel_mode_config_set.unit,
   3455 			req->args.cpri_port_tunnel_mode_config_set.port,
   3456 			req->args.cpri_port_tunnel_mode_config_set.direction,
   3457 			req->args.cpri_port_tunnel_mode_config_set.enable,
   3458 			req->args.cpri_port_tunnel_mode_config_set.config);
   3459 		break;
   3460 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_AXC_FRAME_ADD:
   3461 		rv = bcm_cpri_port_tx_axc_frame_add(
   3462 			req->args.cpri_port_tx_axc_frame_add.unit,
   3463 			req->args.cpri_port_tx_axc_frame_add.port,
   3464 			req->args.cpri_port_tx_axc_frame_add.axc_id,
   3465 			req->args.cpri_port_tx_axc_frame_add.axc_info);
   3466 		break;
   3467 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_AXC_FRAME_DELETE:
   3468 		rv = bcm_cpri_port_tx_axc_frame_delete(
   3469 			req->args.cpri_port_tx_axc_frame_delete.unit,
   3470 			req->args.cpri_port_tx_axc_frame_delete.port,
   3471 			req->args.cpri_port_tx_axc_frame_delete.axc_id);
   3472 		break;
   3473 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_AXC_FRAME_GET:
   3474 		rv = bcm_cpri_port_tx_axc_frame_get(
   3475 			req->args.cpri_port_tx_axc_frame_get.unit,
   3476 			req->args.cpri_port_tx_axc_frame_get.port,
   3477 			req->args.cpri_port_tx_axc_frame_get.axc_id,
   3478 			req->args.cpri_port_tx_axc_frame_get.axc_info);
   3479 		break;
   3480 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_AXC_FRAME_GET_ALL:
   3481 		rv = bcm_cpri_port_tx_axc_frame_get_all(
   3482 			req->args.cpri_port_tx_axc_frame_get_all.unit,
   3483 			req->args.cpri_port_tx_axc_frame_get_all.port,
   3484 			req->args.cpri_port_tx_axc_frame_get_all.max_count,
   3485 			req->args.cpri_port_tx_axc_frame_get_all.axc_info_list,
   3486 			req->args.cpri_port_tx_axc_frame_get_all.axc_count);
   3487 		break;
   3488 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_GCW_CONFIG_GET:
   3489 		rv = bcm_cpri_port_tx_cw_gcw_config_get(
   3490 			req->args.cpri_port_tx_cw_gcw_config_get.unit,
   3491 			req->args.cpri_port_tx_cw_gcw_config_get.port,
   3492 			req->args.cpri_port_tx_cw_gcw_config_get.index,
   3493 			req->args.cpri_port_tx_cw_gcw_config_get.config);
   3494 		break;
   3495 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_GCW_CONFIG_SET:
   3496 		rv = bcm_cpri_port_tx_cw_gcw_config_set(
   3497 			req->args.cpri_port_tx_cw_gcw_config_set.unit,
   3498 			req->args.cpri_port_tx_cw_gcw_config_set.port,
   3499 			req->args.cpri_port_tx_cw_gcw_config_set.index,
   3500 			req->args.cpri_port_tx_cw_gcw_config_set.config);
   3501 		break;
   3502 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_GCW_FILTER_GET:
   3503 		rv = bcm_cpri_port_tx_cw_gcw_filter_get(
   3504 			req->args.cpri_port_tx_cw_gcw_filter_get.unit,
   3505 			req->args.cpri_port_tx_cw_gcw_filter_get.port,
   3506 			req->args.cpri_port_tx_cw_gcw_filter_get.config);
   3507 		break;
   3508 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_GCW_FILTER_SET:
   3509 		rv = bcm_cpri_port_tx_cw_gcw_filter_set(
   3510 			req->args.cpri_port_tx_cw_gcw_filter_set.unit,
   3511 			req->args.cpri_port_tx_cw_gcw_filter_set.port,
   3512 			req->args.cpri_port_tx_cw_gcw_filter_set.config);
   3513 		break;
   3514 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_GCW_WORD_SET:
   3515 		rv = bcm_cpri_port_tx_cw_gcw_word_set(
   3516 			req->args.cpri_port_tx_cw_gcw_word_set.unit,
   3517 			req->args.cpri_port_tx_cw_gcw_word_set.port,
   3518 			req->args.cpri_port_tx_cw_gcw_word_set.group_index,
   3519 			req->args.cpri_port_tx_cw_gcw_word_set.gcw_word);
   3520 		break;
   3521 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_L1_CONFIG_SET:
   3522 		rv = bcm_cpri_port_tx_cw_l1_config_set(
   3523 			req->args.cpri_port_tx_cw_l1_config_set.unit,
   3524 			req->args.cpri_port_tx_cw_l1_config_set.port,
   3525 			req->args.cpri_port_tx_cw_l1_config_set.entry);
   3526 		break;
   3527 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_RSVD5_CONFIG_GET:
   3528 		rv = bcm_cpri_port_tx_cw_rsvd5_config_get(
   3529 			req->args.cpri_port_tx_cw_rsvd5_config_get.unit,
   3530 			req->args.cpri_port_tx_cw_rsvd5_config_get.port,
   3531 			req->args.cpri_port_tx_cw_rsvd5_config_get.config);
   3532 		break;
   3533 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_RSVD5_CONFIG_SET:
   3534 		rv = bcm_cpri_port_tx_cw_rsvd5_config_set(
   3535 			req->args.cpri_port_tx_cw_rsvd5_config_set.unit,
   3536 			req->args.cpri_port_tx_cw_rsvd5_config_set.port,
   3537 			req->args.cpri_port_tx_cw_rsvd5_config_set.config);
   3538 		break;
   3539 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_SYNC_INFO_GET:
   3540 		rv = bcm_cpri_port_tx_cw_sync_info_get(
   3541 			req->args.cpri_port_tx_cw_sync_info_get.unit,
   3542 			req->args.cpri_port_tx_cw_sync_info_get.port,
   3543 			req->args.cpri_port_tx_cw_sync_info_get.entry);
   3544 		break;
   3545 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_SYNC_INFO_SET:
   3546 		rv = bcm_cpri_port_tx_cw_sync_info_set(
   3547 			req->args.cpri_port_tx_cw_sync_info_set.unit,
   3548 			req->args.cpri_port_tx_cw_sync_info_set.port,
   3549 			req->args.cpri_port_tx_cw_sync_info_set.entry);
   3550 		break;
   3551 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_VSD_CONFIG_GET:
   3552 		rv = bcm_cpri_port_tx_cw_vsd_config_get(
   3553 			req->args.cpri_port_tx_cw_vsd_config_get.unit,
   3554 			req->args.cpri_port_tx_cw_vsd_config_get.port,
   3555 			req->args.cpri_port_tx_cw_vsd_config_get.entry);
   3556 		break;
   3557 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_VSD_CONFIG_SET:
   3558 		rv = bcm_cpri_port_tx_cw_vsd_config_set(
   3559 			req->args.cpri_port_tx_cw_vsd_config_set.unit,
   3560 			req->args.cpri_port_tx_cw_vsd_config_set.port,
   3561 			req->args.cpri_port_tx_cw_vsd_config_set.entry);
   3562 		break;
   3563 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_VSD_CTRL_FLOW_ADD:
   3564 		rv = bcm_cpri_port_tx_cw_vsd_ctrl_flow_add(
   3565 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_add.unit,
   3566 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_add.port,
   3567 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_add.group_id,
   3568 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_add.config);
   3569 		break;
   3570 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_VSD_CTRL_FLOW_DELETE:
   3571 		rv = bcm_cpri_port_tx_cw_vsd_ctrl_flow_delete(
   3572 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_delete.unit,
   3573 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_delete.port,
   3574 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_delete.group_id);
   3575 		break;
   3576 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_VSD_CTRL_FLOW_GET:
   3577 		rv = bcm_cpri_port_tx_cw_vsd_ctrl_flow_get(
   3578 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_get.unit,
   3579 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_get.port,
   3580 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_get.group_id,
   3581 			req->args.cpri_port_tx_cw_vsd_ctrl_flow_get.config);
   3582 		break;
   3583 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_VSD_RAW_FILTER_GET:
   3584 		rv = bcm_cpri_port_tx_cw_vsd_raw_filter_get(
   3585 			req->args.cpri_port_tx_cw_vsd_raw_filter_get.unit,
   3586 			req->args.cpri_port_tx_cw_vsd_raw_filter_get.port,
   3587 			req->args.cpri_port_tx_cw_vsd_raw_filter_get.config);
   3588 		break;
   3589 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_VSD_RAW_FILTER_SET:
   3590 		rv = bcm_cpri_port_tx_cw_vsd_raw_filter_set(
   3591 			req->args.cpri_port_tx_cw_vsd_raw_filter_set.unit,
   3592 			req->args.cpri_port_tx_cw_vsd_raw_filter_set.port,
   3593 			req->args.cpri_port_tx_cw_vsd_raw_filter_set.config);
   3594 		break;
   3595 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_VSD_RAW_FLOW_CONFIG_GET:
   3596 		rv = bcm_cpri_port_tx_cw_vsd_raw_flow_config_get(
   3597 			req->args.cpri_port_tx_cw_vsd_raw_flow_config_get.unit,
   3598 			req->args.cpri_port_tx_cw_vsd_raw_flow_config_get.port,
   3599 			req->args.cpri_port_tx_cw_vsd_raw_flow_config_get.index,
   3600 			req->args.cpri_port_tx_cw_vsd_raw_flow_config_get.config);
   3601 		break;
   3602 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_CW_VSD_RAW_FLOW_CONFIG_SET:
   3603 		rv = bcm_cpri_port_tx_cw_vsd_raw_flow_config_set(
   3604 			req->args.cpri_port_tx_cw_vsd_raw_flow_config_set.unit,
   3605 			req->args.cpri_port_tx_cw_vsd_raw_flow_config_set.port,
   3606 			req->args.cpri_port_tx_cw_vsd_raw_flow_config_set.index,
   3607 			req->args.cpri_port_tx_cw_vsd_raw_flow_config_set.config);
   3608 		break;
   3609 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_FRAME_TGEN_CONFIG_SET:
   3610 		rv = bcm_cpri_port_tx_frame_tgen_config_set(
   3611 			req->args.cpri_port_tx_frame_tgen_config_set.unit,
   3612 			req->args.cpri_port_tx_frame_tgen_config_set.port,
   3613 			req->args.cpri_port_tx_frame_tgen_config_set.enable,
   3614 			req->args.cpri_port_tx_frame_tgen_config_set.tgen_config);
   3615 		break;
   3616 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_SPEED_GET:
   3617 		rv = bcm_cpri_port_tx_speed_get(
   3618 			req->args.cpri_port_tx_speed_get.unit,
   3619 			req->args.cpri_port_tx_speed_get.port,
   3620 			req->args.cpri_port_tx_speed_get.port_type,
   3621 			req->args.cpri_port_tx_speed_get.speed);
   3622 		break;
   3623 	case BCM_ASYNC_ENTRY_CPRI_PORT_TX_SPEED_SET:
   3624 		rv = bcm_cpri_port_tx_speed_set(
   3625 			req->args.cpri_port_tx_speed_set.unit,
   3626 			req->args.cpri_port_tx_speed_set.port,
   3627 			req->args.cpri_port_tx_speed_set.port_type,
   3628 			req->args.cpri_port_tx_speed_set.speed);
   3629 		break;
   3630 	case BCM_ASYNC_ENTRY_CUSTOM_PORT_GET:
   3631 		rv = bcm_custom_port_get(
   3632 			req->args.custom_port_get.unit,
   3633 			req->args.custom_port_get.port,
   3634 			req->args.custom_port_get.type,
   3635 			req->args.custom_port_get.max_len,
   3636 			req->args.custom_port_get.args,
   3637 			req->args.custom_port_get.actual_len);
   3638 		break;
   3639 	case BCM_ASYNC_ENTRY_CUSTOM_PORT_SET:
   3640 		rv = bcm_custom_port_set(
   3641 			req->args.custom_port_set.unit,
   3642 			req->args.custom_port_set.port,
   3643 			req->args.custom_port_set.type,
   3644 			req->args.custom_port_set.len,
   3645 			req->args.custom_port_set.args);
   3646 		break;
   3647 	case BCM_ASYNC_ENTRY_CUSTOM_REGISTER:
   3648 		rv = bcm_custom_register(
   3649 			req->args.custom_register.unit,
   3650 			req->args.custom_register.func,
   3651 			req->args.custom_register.user_data);
   3652 		break;
   3653 	case BCM_ASYNC_ENTRY_CUSTOM_UNREGISTER:
   3654 		rv = bcm_custom_unregister(
   3655 			req->args.custom_unregister.unit);
   3656 		break;
   3657 	case BCM_ASYNC_ENTRY_DETACH:
   3658 		rv = bcm_detach(
   3659 			req->args.detach.unit);
   3660 		break;
   3661 	case BCM_ASYNC_ENTRY_DETACH_LATE_TXRX:
   3662 		rv = bcm_detach_late_txrx(
   3663 			req->args.detach_late_txrx.unit);
   3664 		break;
   3665 	case BCM_ASYNC_ENTRY_DETACH_RETRY_GET:
   3666 		rv = bcm_detach_retry_get(
   3667 			req->args.detach_retry_get.unit,
   3668 			req->args.detach_retry_get.retry);
   3669 		break;
   3670 	case BCM_ASYNC_ENTRY_DETACH_RETRY_SET:
   3671 		rv = bcm_detach_retry_set(
   3672 			req->args.detach_retry_set.unit,
   3673 			req->args.detach_retry_set.retry);
   3674 		break;
   3675 	case BCM_ASYNC_ENTRY_DEVICE_MEMBER_GET:
   3676 		rv = bcm_device_member_get(
   3677 			req->args.device_member_get.unit,
   3678 			req->args.device_member_get.flags,
   3679 			req->args.device_member_get.member_type,
   3680 			req->args.device_member_get.is_member);
   3681 		break;
   3682 	case BCM_ASYNC_ENTRY_EAV_BANDWIDTH_GET:
   3683 		rv = bcm_eav_bandwidth_get(
   3684 			req->args.eav_bandwidth_get.unit,
   3685 			req->args.eav_bandwidth_get.port,
   3686 			req->args.eav_bandwidth_get.type,
   3687 			req->args.eav_bandwidth_get.bytes_sec,
   3688 			req->args.eav_bandwidth_get.bytes_burst);
   3689 		break;
   3690 	case BCM_ASYNC_ENTRY_EAV_BANDWIDTH_SET:
   3691 		rv = bcm_eav_bandwidth_set(
   3692 			req->args.eav_bandwidth_set.unit,
   3693 			req->args.eav_bandwidth_set.port,
   3694 			req->args.eav_bandwidth_set.type,
   3695 			req->args.eav_bandwidth_set.bytes_sec,
   3696 			req->args.eav_bandwidth_set.bytes_burst);
   3697 		break;
   3698 	case BCM_ASYNC_ENTRY_EAV_CONTROL_GET:
   3699 		rv = bcm_eav_control_get(
   3700 			req->args.eav_control_get.unit,
   3701 			req->args.eav_control_get.type,
   3702 			req->args.eav_control_get.arg,
   3703 			req->args.eav_control_get.arg2);
   3704 		break;
   3705 	case BCM_ASYNC_ENTRY_EAV_CONTROL_SET:
   3706 		rv = bcm_eav_control_set(
   3707 			req->args.eav_control_set.unit,
   3708 			req->args.eav_control_set.type,
   3709 			req->args.eav_control_set.arg,
   3710 			req->args.eav_control_set.arg2);
   3711 		break;
   3712 	case BCM_ASYNC_ENTRY_EAV_INIT:
   3713 		rv = bcm_eav_init(
   3714 			req->args.eav_init.unit);
   3715 		break;
   3716 	case BCM_ASYNC_ENTRY_EAV_LINK_STATUS_GET:
   3717 		rv = bcm_eav_link_status_get(
   3718 			req->args.eav_link_status_get.unit,
   3719 			req->args.eav_link_status_get.port,
   3720 			req->args.eav_link_status_get.link);
   3721 		break;
   3722 	case BCM_ASYNC_ENTRY_EAV_LINK_STATUS_SET:
   3723 		rv = bcm_eav_link_status_set(
   3724 			req->args.eav_link_status_set.unit,
   3725 			req->args.eav_link_status_set.port,
   3726 			req->args.eav_link_status_set.link);
   3727 		break;
   3728 	case BCM_ASYNC_ENTRY_EAV_PCP_MAPPING_GET:
   3729 		rv = bcm_eav_pcp_mapping_get(
   3730 			req->args.eav_pcp_mapping_get.unit,
   3731 			req->args.eav_pcp_mapping_get.type,
   3732 			req->args.eav_pcp_mapping_get.pcp,
   3733 			req->args.eav_pcp_mapping_get.remapped_pcp);
   3734 		break;
   3735 	case BCM_ASYNC_ENTRY_EAV_PCP_MAPPING_SET:
   3736 		rv = bcm_eav_pcp_mapping_set(
   3737 			req->args.eav_pcp_mapping_set.unit,
   3738 			req->args.eav_pcp_mapping_set.type,
   3739 			req->args.eav_pcp_mapping_set.pcp,
   3740 			req->args.eav_pcp_mapping_set.remapped_pcp);
   3741 		break;
   3742 	case BCM_ASYNC_ENTRY_EAV_PORT_ENABLE_GET:
   3743 		rv = bcm_eav_port_enable_get(
   3744 			req->args.eav_port_enable_get.unit,
   3745 			req->args.eav_port_enable_get.port,
   3746 			req->args.eav_port_enable_get.enable);
   3747 		break;
   3748 	case BCM_ASYNC_ENTRY_EAV_PORT_ENABLE_SET:
   3749 		rv = bcm_eav_port_enable_set(
   3750 			req->args.eav_port_enable_set.unit,
   3751 			req->args.eav_port_enable_set.port,
   3752 			req->args.eav_port_enable_set.enable);
   3753 		break;
   3754 	case BCM_ASYNC_ENTRY_EAV_SRP_MAC_ETHERTYPE_GET:
   3755 		rv = bcm_eav_srp_mac_ethertype_get(
   3756 			req->args.eav_srp_mac_ethertype_get.unit,
   3757 			req->args.eav_srp_mac_ethertype_get.mac,
   3758 			req->args.eav_srp_mac_ethertype_get.ethertype);
   3759 		break;
   3760 	case BCM_ASYNC_ENTRY_EAV_SRP_MAC_ETHERTYPE_SET:
   3761 		rv = bcm_eav_srp_mac_ethertype_set(
   3762 			req->args.eav_srp_mac_ethertype_set.unit,
   3763 			req->args.eav_srp_mac_ethertype_set.mac,
   3764 			req->args.eav_srp_mac_ethertype_set.ethertype);
   3765 		break;
   3766 	case BCM_ASYNC_ENTRY_EAV_TIMESTAMP_GET:
   3767 		rv = bcm_eav_timestamp_get(
   3768 			req->args.eav_timestamp_get.unit,
   3769 			req->args.eav_timestamp_get.port,
   3770 			req->args.eav_timestamp_get.timestamp);
   3771 		break;
   3772 	case BCM_ASYNC_ENTRY_EAV_TIMESYNC_MAC_GET:
   3773 		rv = bcm_eav_timesync_mac_get(
   3774 			req->args.eav_timesync_mac_get.unit,
   3775 			req->args.eav_timesync_mac_get.eav_mac);
   3776 		break;
   3777 	case BCM_ASYNC_ENTRY_EAV_TIMESYNC_MAC_SET:
   3778 		rv = bcm_eav_timesync_mac_set(
   3779 			req->args.eav_timesync_mac_set.unit,
   3780 			req->args.eav_timesync_mac_set.eav_mac);
   3781 		break;
   3782 #ifdef	INCLUDE_L3
   3783 	case BCM_ASYNC_ENTRY_ECN_MAP_CREATE:
   3784 		rv = bcm_ecn_map_create(
   3785 			req->args.ecn_map_create.unit,
   3786 			req->args.ecn_map_create.flags,
   3787 			req->args.ecn_map_create.ecn_map_id);
   3788 		break;
   3789 	case BCM_ASYNC_ENTRY_ECN_MAP_DESTROY:
   3790 		rv = bcm_ecn_map_destroy(
   3791 			req->args.ecn_map_destroy.unit,
   3792 			req->args.ecn_map_destroy.ecn_map_id);
   3793 		break;
   3794 	case BCM_ASYNC_ENTRY_ECN_MAP_GET:
   3795 		rv = bcm_ecn_map_get(
   3796 			req->args.ecn_map_get.unit,
   3797 			req->args.ecn_map_get.ecn_map_id,
   3798 			req->args.ecn_map_get.ecn_map);
   3799 		break;
   3800 	case BCM_ASYNC_ENTRY_ECN_MAP_MODE_GET:
   3801 		rv = bcm_ecn_map_mode_get(
   3802 			req->args.ecn_map_mode_get.unit,
   3803 			req->args.ecn_map_mode_get.ecn_map_mode);
   3804 		break;
   3805 	case BCM_ASYNC_ENTRY_ECN_MAP_MODE_SET:
   3806 		rv = bcm_ecn_map_mode_set(
   3807 			req->args.ecn_map_mode_set.unit,
   3808 			req->args.ecn_map_mode_set.ecn_map_mode);
   3809 		break;
   3810 	case BCM_ASYNC_ENTRY_ECN_MAP_SET:
   3811 		rv = bcm_ecn_map_set(
   3812 			req->args.ecn_map_set.unit,
   3813 			req->args.ecn_map_set.options,
   3814 			req->args.ecn_map_set.ecn_map_id,
   3815 			req->args.ecn_map_set.ecn_map);
   3816 		break;
   3817 	case BCM_ASYNC_ENTRY_ECN_PORT_MAP_GET:
   3818 		rv = bcm_ecn_port_map_get(
   3819 			req->args.ecn_port_map_get.unit,
   3820 			req->args.ecn_port_map_get.port,
   3821 			req->args.ecn_port_map_get.ecn_map);
   3822 		break;
   3823 	case BCM_ASYNC_ENTRY_ECN_PORT_MAP_SET:
   3824 		rv = bcm_ecn_port_map_set(
   3825 			req->args.ecn_port_map_set.unit,
   3826 			req->args.ecn_port_map_set.port,
   3827 			req->args.ecn_port_map_set.ecn_map);
   3828 		break;
   3829 #endif	/* INCLUDE_L3 */
   3830 	case BCM_ASYNC_ENTRY_ECN_RESPONSIVE_PROTOCOL_GET:
   3831 		rv = bcm_ecn_responsive_protocol_get(
   3832 			req->args.ecn_responsive_protocol_get.unit,
   3833 			req->args.ecn_responsive_protocol_get.ip_proto,
   3834 			req->args.ecn_responsive_protocol_get.responsive);
   3835 		break;
   3836 	case BCM_ASYNC_ENTRY_ECN_RESPONSIVE_PROTOCOL_SET:
   3837 		rv = bcm_ecn_responsive_protocol_set(
   3838 			req->args.ecn_responsive_protocol_set.unit,
   3839 			req->args.ecn_responsive_protocol_set.ip_proto,
   3840 			req->args.ecn_responsive_protocol_set.responsive);
   3841 		break;
   3842 	case BCM_ASYNC_ENTRY_ECN_TRAFFIC_ACTION_CONFIG_GET:
   3843 		rv = bcm_ecn_traffic_action_config_get(
   3844 			req->args.ecn_traffic_action_config_get.unit,
   3845 			req->args.ecn_traffic_action_config_get.ecn_config);
   3846 		break;
   3847 	case BCM_ASYNC_ENTRY_ECN_TRAFFIC_ACTION_CONFIG_SET:
   3848 		rv = bcm_ecn_traffic_action_config_set(
   3849 			req->args.ecn_traffic_action_config_set.unit,
   3850 			req->args.ecn_traffic_action_config_set.ecn_config);
   3851 		break;
   3852 	case BCM_ASYNC_ENTRY_ECN_TRAFFIC_MAP_GET:
   3853 		rv = bcm_ecn_traffic_map_get(
   3854 			req->args.ecn_traffic_map_get.unit,
   3855 			req->args.ecn_traffic_map_get.map);
   3856 		break;
   3857 	case BCM_ASYNC_ENTRY_ECN_TRAFFIC_MAP_SET:
   3858 		rv = bcm_ecn_traffic_map_set(
   3859 			req->args.ecn_traffic_map_set.unit,
   3860 			req->args.ecn_traffic_map_set.map);
   3861 		break;
   3862 #ifdef	INCLUDE_PTP
   3863 	case BCM_ASYNC_ENTRY_ESMC_QL_SSM_MAP:
   3864 		rv = bcm_esmc_QL_SSM_map(
   3865 			req->args.esmc_QL_SSM_map.unit,
   3866 			req->args.esmc_QL_SSM_map.opt,
   3867 			req->args.esmc_QL_SSM_map.ql,
   3868 			req->args.esmc_QL_SSM_map.ssm_code);
   3869 		break;
   3870 	case BCM_ASYNC_ENTRY_ESMC_SSM_QL_MAP:
   3871 		rv = bcm_esmc_SSM_QL_map(
   3872 			req->args.esmc_SSM_QL_map.unit,
   3873 			req->args.esmc_SSM_QL_map.opt,
   3874 			req->args.esmc_SSM_QL_map.ssm_code,
   3875 			req->args.esmc_SSM_QL_map.ql);
   3876 		break;
   3877 	case BCM_ASYNC_ENTRY_ESMC_G781_OPTION_GET:
   3878 		rv = bcm_esmc_g781_option_get(
   3879 			req->args.esmc_g781_option_get.unit,
   3880 			req->args.esmc_g781_option_get.stack_id,
   3881 			req->args.esmc_g781_option_get.g781_option);
   3882 		break;
   3883 	case BCM_ASYNC_ENTRY_ESMC_G781_OPTION_SET:
   3884 		rv = bcm_esmc_g781_option_set(
   3885 			req->args.esmc_g781_option_set.unit,
   3886 			req->args.esmc_g781_option_set.stack_id,
   3887 			req->args.esmc_g781_option_set.g781_option);
   3888 		break;
   3889 	case BCM_ASYNC_ENTRY_ESMC_RX_CALLBACK_REGISTER:
   3890 		rv = bcm_esmc_rx_callback_register(
   3891 			req->args.esmc_rx_callback_register.unit,
   3892 			req->args.esmc_rx_callback_register.stack_id,
   3893 			req->args.esmc_rx_callback_register.rx_cb);
   3894 		break;
   3895 	case BCM_ASYNC_ENTRY_ESMC_RX_CALLBACK_UNREGISTER:
   3896 		rv = bcm_esmc_rx_callback_unregister(
   3897 			req->args.esmc_rx_callback_unregister.unit,
   3898 			req->args.esmc_rx_callback_unregister.stack_id);
   3899 		break;
   3900 	case BCM_ASYNC_ENTRY_ESMC_TUNNEL_GET:
   3901 		rv = bcm_esmc_tunnel_get(
   3902 			req->args.esmc_tunnel_get.unit,
   3903 			req->args.esmc_tunnel_get.stack_id,
   3904 			req->args.esmc_tunnel_get.enable);
   3905 		break;
   3906 	case BCM_ASYNC_ENTRY_ESMC_TUNNEL_SET:
   3907 		rv = bcm_esmc_tunnel_set(
   3908 			req->args.esmc_tunnel_set.unit,
   3909 			req->args.esmc_tunnel_set.stack_id,
   3910 			req->args.esmc_tunnel_set.enable);
   3911 		break;
   3912 	case BCM_ASYNC_ENTRY_ESMC_TX:
   3913 		rv = bcm_esmc_tx(
   3914 			req->args.esmc_tx.unit,
   3915 			req->args.esmc_tx.stack_id,
   3916 			req->args.esmc_tx.pbmp,
   3917 			req->args.esmc_tx.esmc_pdu_data);
   3918 		break;
   3919 #endif	/* INCLUDE_PTP */
   3920 #ifdef	INCLUDE_L3
   3921 	case BCM_ASYNC_ENTRY_EXTENDER_CLEANUP:
   3922 		rv = bcm_extender_cleanup(
   3923 			req->args.extender_cleanup.unit);
   3924 		break;
   3925 	case BCM_ASYNC_ENTRY_EXTENDER_EGRESS_ADD:
   3926 		rv = bcm_extender_egress_add(
   3927 			req->args.extender_egress_add.unit,
   3928 			req->args.extender_egress_add.extender_port,
   3929 			req->args.extender_egress_add.extender_egress);
   3930 		break;
   3931 	case BCM_ASYNC_ENTRY_EXTENDER_EGRESS_DELETE:
   3932 		rv = bcm_extender_egress_delete(
   3933 			req->args.extender_egress_delete.unit,
   3934 			req->args.extender_egress_delete.extender_port,
   3935 			req->args.extender_egress_delete.extender_egress);
   3936 		break;
   3937 	case BCM_ASYNC_ENTRY_EXTENDER_EGRESS_DELETE_ALL:
   3938 		rv = bcm_extender_egress_delete_all(
   3939 			req->args.extender_egress_delete_all.unit,
   3940 			req->args.extender_egress_delete_all.extender_port);
   3941 		break;
   3942 	case BCM_ASYNC_ENTRY_EXTENDER_EGRESS_GET:
   3943 		rv = bcm_extender_egress_get(
   3944 			req->args.extender_egress_get.unit,
   3945 			req->args.extender_egress_get.extender_port,
   3946 			req->args.extender_egress_get.extender_egress);
   3947 		break;
   3948 	case BCM_ASYNC_ENTRY_EXTENDER_EGRESS_GET_ALL:
   3949 		rv = bcm_extender_egress_get_all(
   3950 			req->args.extender_egress_get_all.unit,
   3951 			req->args.extender_egress_get_all.extender_port,
   3952 			req->args.extender_egress_get_all.array_size,
   3953 			req->args.extender_egress_get_all.extender_egress_array,
   3954 			req->args.extender_egress_get_all.count);
   3955 		break;
   3956 	case BCM_ASYNC_ENTRY_EXTENDER_EGRESS_SET:
   3957 		rv = bcm_extender_egress_set(
   3958 			req->args.extender_egress_set.unit,
   3959 			req->args.extender_egress_set.extender_port,
   3960 			req->args.extender_egress_set.array_size,
   3961 			req->args.extender_egress_set.extender_egress_array);
   3962 		break;
   3963 	case BCM_ASYNC_ENTRY_EXTENDER_ENCAP_CREATE:
   3964 		rv = bcm_extender_encap_create(
   3965 			req->args.extender_encap_create.unit,
   3966 			req->args.extender_encap_create.extender_encap);
   3967 		break;
   3968 	case BCM_ASYNC_ENTRY_EXTENDER_ENCAP_DESTROY:
   3969 		rv = bcm_extender_encap_destroy(
   3970 			req->args.extender_encap_destroy.unit,
   3971 			req->args.extender_encap_destroy.extender_encap_id);
   3972 		break;
   3973 	case BCM_ASYNC_ENTRY_EXTENDER_ENCAP_DESTROY_ALL:
   3974 		rv = bcm_extender_encap_destroy_all(
   3975 			req->args.extender_encap_destroy_all.unit);
   3976 		break;
   3977 	case BCM_ASYNC_ENTRY_EXTENDER_ENCAP_GET:
   3978 		rv = bcm_extender_encap_get(
   3979 			req->args.extender_encap_get.unit,
   3980 			req->args.extender_encap_get.extender_encap);
   3981 		break;
   3982 	case BCM_ASYNC_ENTRY_EXTENDER_ENCAP_TRAVERSE:
   3983 		rv = bcm_extender_encap_traverse(
   3984 			req->args.extender_encap_traverse.unit,
   3985 			req->args.extender_encap_traverse.cb,
   3986 			req->args.extender_encap_traverse.user_data);
   3987 		break;
   3988 	case BCM_ASYNC_ENTRY_EXTENDER_FORWARD_ADD:
   3989 		rv = bcm_extender_forward_add(
   3990 			req->args.extender_forward_add.unit,
   3991 			req->args.extender_forward_add.extender_forward_entry);
   3992 		break;
   3993 	case BCM_ASYNC_ENTRY_EXTENDER_FORWARD_DELETE:
   3994 		rv = bcm_extender_forward_delete(
   3995 			req->args.extender_forward_delete.unit,
   3996 			req->args.extender_forward_delete.extender_forward_entry);
   3997 		break;
   3998 	case BCM_ASYNC_ENTRY_EXTENDER_FORWARD_DELETE_ALL:
   3999 		rv = bcm_extender_forward_delete_all(
   4000 			req->args.extender_forward_delete_all.unit);
   4001 		break;
   4002 	case BCM_ASYNC_ENTRY_EXTENDER_FORWARD_GET:
   4003 		rv = bcm_extender_forward_get(
   4004 			req->args.extender_forward_get.unit,
   4005 			req->args.extender_forward_get.extender_forward_entry);
   4006 		break;
   4007 	case BCM_ASYNC_ENTRY_EXTENDER_FORWARD_TRAVERSE:
   4008 		rv = bcm_extender_forward_traverse(
   4009 			req->args.extender_forward_traverse.unit,
   4010 			req->args.extender_forward_traverse.cb,
   4011 			req->args.extender_forward_traverse.user_data);
   4012 		break;
   4013 	case BCM_ASYNC_ENTRY_EXTENDER_INIT:
   4014 		rv = bcm_extender_init(
   4015 			req->args.extender_init.unit);
   4016 		break;
   4017 	case BCM_ASYNC_ENTRY_EXTENDER_PORT_ADD:
   4018 		rv = bcm_extender_port_add(
   4019 			req->args.extender_port_add.unit,
   4020 			req->args.extender_port_add.extender_port);
   4021 		break;
   4022 	case BCM_ASYNC_ENTRY_EXTENDER_PORT_DELETE:
   4023 		rv = bcm_extender_port_delete(
   4024 			req->args.extender_port_delete.unit,
   4025 			req->args.extender_port_delete.extender_port_id);
   4026 		break;
   4027 	case BCM_ASYNC_ENTRY_EXTENDER_PORT_DELETE_ALL:
   4028 		rv = bcm_extender_port_delete_all(
   4029 			req->args.extender_port_delete_all.unit);
   4030 		break;
   4031 	case BCM_ASYNC_ENTRY_EXTENDER_PORT_GET:
   4032 		rv = bcm_extender_port_get(
   4033 			req->args.extender_port_get.unit,
   4034 			req->args.extender_port_get.extender_port);
   4035 		break;
   4036 	case BCM_ASYNC_ENTRY_EXTENDER_PORT_TRAVERSE:
   4037 		rv = bcm_extender_port_traverse(
   4038 			req->args.extender_port_traverse.unit,
   4039 			req->args.extender_port_traverse.cb,
   4040 			req->args.extender_port_traverse.user_data);
   4041 		break;
   4042 #endif	/* INCLUDE_L3 */
   4043 	case BCM_ASYNC_ENTRY_FABRIC_ACTION_CREATE:
   4044 		rv = bcm_fabric_action_create(
   4045 			req->args.fabric_action_create.unit,
   4046 			req->args.fabric_action_create.action_info,
   4047 			req->args.fabric_action_create.action_id);
   4048 		break;
   4049 	case BCM_ASYNC_ENTRY_FABRIC_ACTION_DESTROY:
   4050 		rv = bcm_fabric_action_destroy(
   4051 			req->args.fabric_action_destroy.unit,
   4052 			req->args.fabric_action_destroy.action_id);
   4053 		break;
   4054 	case BCM_ASYNC_ENTRY_FABRIC_ACTION_DESTROY_ALL:
   4055 		rv = bcm_fabric_action_destroy_all(
   4056 			req->args.fabric_action_destroy_all.unit);
   4057 		break;
   4058 	case BCM_ASYNC_ENTRY_FABRIC_ACTION_GET:
   4059 		rv = bcm_fabric_action_get(
   4060 			req->args.fabric_action_get.unit,
   4061 			req->args.fabric_action_get.action_id,
   4062 			req->args.fabric_action_get.action_info);
   4063 		break;
   4064 	case BCM_ASYNC_ENTRY_FABRIC_ACTION_TRAVERSE:
   4065 		rv = bcm_fabric_action_traverse(
   4066 			req->args.fabric_action_traverse.unit,
   4067 			req->args.fabric_action_traverse.cb,
   4068 			req->args.fabric_action_traverse.user_data);
   4069 		break;
   4070 	case BCM_ASYNC_ENTRY_FABRIC_BANDWIDTH_CORE_PROFILE_GET:
   4071 		rv = bcm_fabric_bandwidth_core_profile_get(
   4072 			req->args.fabric_bandwidth_core_profile_get.unit,
   4073 			req->args.fabric_bandwidth_core_profile_get.core,
   4074 			req->args.fabric_bandwidth_core_profile_get.flags,
   4075 			req->args.fabric_bandwidth_core_profile_get.profile_count,
   4076 			req->args.fabric_bandwidth_core_profile_get.profile_array);
   4077 		break;
   4078 	case BCM_ASYNC_ENTRY_FABRIC_BANDWIDTH_CORE_PROFILE_SET:
   4079 		rv = bcm_fabric_bandwidth_core_profile_set(
   4080 			req->args.fabric_bandwidth_core_profile_set.unit,
   4081 			req->args.fabric_bandwidth_core_profile_set.core,
   4082 			req->args.fabric_bandwidth_core_profile_set.flags,
   4083 			req->args.fabric_bandwidth_core_profile_set.profile_count,
   4084 			req->args.fabric_bandwidth_core_profile_set.profile_array);
   4085 		break;
   4086 	case BCM_ASYNC_ENTRY_FABRIC_BANDWIDTH_PROFILE_GET:
   4087 		rv = bcm_fabric_bandwidth_profile_get(
   4088 			req->args.fabric_bandwidth_profile_get.unit,
   4089 			req->args.fabric_bandwidth_profile_get.profile_count,
   4090 			req->args.fabric_bandwidth_profile_get.profile_array);
   4091 		break;
   4092 	case BCM_ASYNC_ENTRY_FABRIC_BANDWIDTH_PROFILE_SET:
   4093 		rv = bcm_fabric_bandwidth_profile_set(
   4094 			req->args.fabric_bandwidth_profile_set.unit,
   4095 			req->args.fabric_bandwidth_profile_set.profile_count,
   4096 			req->args.fabric_bandwidth_profile_set.profile_array);
   4097 		break;
   4098 	case BCM_ASYNC_ENTRY_FABRIC_CGM_CONTROL_GET:
   4099 		rv = bcm_fabric_cgm_control_get(
   4100 			req->args.fabric_cgm_control_get.unit,
   4101 			req->args.fabric_cgm_control_get.flags,
   4102 			req->args.fabric_cgm_control_get.control_type,
   4103 			req->args.fabric_cgm_control_get.control_id,
   4104 			req->args.fabric_cgm_control_get.value);
   4105 		break;
   4106 	case BCM_ASYNC_ENTRY_FABRIC_CGM_CONTROL_SET:
   4107 		rv = bcm_fabric_cgm_control_set(
   4108 			req->args.fabric_cgm_control_set.unit,
   4109 			req->args.fabric_cgm_control_set.flags,
   4110 			req->args.fabric_cgm_control_set.control_type,
   4111 			req->args.fabric_cgm_control_set.control_id,
   4112 			req->args.fabric_cgm_control_set.value);
   4113 		break;
   4114 	case BCM_ASYNC_ENTRY_FABRIC_CONFIG_DISCARD_GET:
   4115 		rv = bcm_fabric_config_discard_get(
   4116 			req->args.fabric_config_discard_get.unit,
   4117 			req->args.fabric_config_discard_get.discard);
   4118 		break;
   4119 	case BCM_ASYNC_ENTRY_FABRIC_CONFIG_DISCARD_SET:
   4120 		rv = bcm_fabric_config_discard_set(
   4121 			req->args.fabric_config_discard_set.unit,
   4122 			req->args.fabric_config_discard_set.discard);
   4123 		break;
   4124 	case BCM_ASYNC_ENTRY_FABRIC_CONTROL_GET:
   4125 		rv = bcm_fabric_control_get(
   4126 			req->args.fabric_control_get.unit,
   4127 			req->args.fabric_control_get.type,
   4128 			req->args.fabric_control_get.arg);
   4129 		break;
   4130 	case BCM_ASYNC_ENTRY_FABRIC_CONTROL_SET:
   4131 		rv = bcm_fabric_control_set(
   4132 			req->args.fabric_control_set.unit,
   4133 			req->args.fabric_control_set.type,
   4134 			req->args.fabric_control_set.arg);
   4135 		break;
   4136 	case BCM_ASYNC_ENTRY_FABRIC_DESTINATION_LINK_MIN_GET:
   4137 		rv = bcm_fabric_destination_link_min_get(
   4138 			req->args.fabric_destination_link_min_get.unit,
   4139 			req->args.fabric_destination_link_min_get.flags,
   4140 			req->args.fabric_destination_link_min_get.module_id,
   4141 			req->args.fabric_destination_link_min_get.num_of_links);
   4142 		break;
   4143 	case BCM_ASYNC_ENTRY_FABRIC_DESTINATION_LINK_MIN_SET:
   4144 		rv = bcm_fabric_destination_link_min_set(
   4145 			req->args.fabric_destination_link_min_set.unit,
   4146 			req->args.fabric_destination_link_min_set.flags,
   4147 			req->args.fabric_destination_link_min_set.module_id,
   4148 			req->args.fabric_destination_link_min_set.num_of_links);
   4149 		break;
   4150 	case BCM_ASYNC_ENTRY_FABRIC_INIT:
   4151 		rv = bcm_fabric_init(
   4152 			req->args.fabric_init.unit);
   4153 		break;
   4154 	case BCM_ASYNC_ENTRY_FABRIC_LINK_CONNECTIVITY_STATUS_GET:
   4155 		rv = bcm_fabric_link_connectivity_status_get(
   4156 			req->args.fabric_link_connectivity_status_get.unit,
   4157 			req->args.fabric_link_connectivity_status_get.link_partner_max,
   4158 			req->args.fabric_link_connectivity_status_get.link_partner_array,
   4159 			req->args.fabric_link_connectivity_status_get.link_partner_count);
   4160 		break;
   4161 	case BCM_ASYNC_ENTRY_FABRIC_LINK_CONNECTIVITY_STATUS_SINGLE_GET:
   4162 		rv = bcm_fabric_link_connectivity_status_single_get(
   4163 			req->args.fabric_link_connectivity_status_single_get.unit,
   4164 			req->args.fabric_link_connectivity_status_single_get.link_id,
   4165 			req->args.fabric_link_connectivity_status_single_get.link_partner_info);
   4166 		break;
   4167 	case BCM_ASYNC_ENTRY_FABRIC_LINK_CONTROL_GET:
   4168 		rv = bcm_fabric_link_control_get(
   4169 			req->args.fabric_link_control_get.unit,
   4170 			req->args.fabric_link_control_get.link,
   4171 			req->args.fabric_link_control_get.type,
   4172 			req->args.fabric_link_control_get.arg);
   4173 		break;
   4174 	case BCM_ASYNC_ENTRY_FABRIC_LINK_CONTROL_SET:
   4175 		rv = bcm_fabric_link_control_set(
   4176 			req->args.fabric_link_control_set.unit,
   4177 			req->args.fabric_link_control_set.link,
   4178 			req->args.fabric_link_control_set.type,
   4179 			req->args.fabric_link_control_set.arg);
   4180 		break;
   4181 	case BCM_ASYNC_ENTRY_FABRIC_LINK_PROFILE_GET:
   4182 		rv = bcm_fabric_link_profile_get(
   4183 			req->args.fabric_link_profile_get.unit,
   4184 			req->args.fabric_link_profile_get.profile_id,
   4185 			req->args.fabric_link_profile_get.flags,
   4186 			req->args.fabric_link_profile_get.links_count_max,
   4187 			req->args.fabric_link_profile_get.links_count,
   4188 			req->args.fabric_link_profile_get.links);
   4189 		break;
   4190 	case BCM_ASYNC_ENTRY_FABRIC_LINK_PROFILE_SET:
   4191 		rv = bcm_fabric_link_profile_set(
   4192 			req->args.fabric_link_profile_set.unit,
   4193 			req->args.fabric_link_profile_set.profile_id,
   4194 			req->args.fabric_link_profile_set.flags,
   4195 			req->args.fabric_link_profile_set.links_count,
   4196 			req->args.fabric_link_profile_set.links);
   4197 		break;
   4198 	case BCM_ASYNC_ENTRY_FABRIC_LINK_REMOTE_PIPE_MAPPING_GET:
   4199 		rv = bcm_fabric_link_remote_pipe_mapping_get(
   4200 			req->args.fabric_link_remote_pipe_mapping_get.unit,
   4201 			req->args.fabric_link_remote_pipe_mapping_get.port,
   4202 			req->args.fabric_link_remote_pipe_mapping_get.mapping_config);
   4203 		break;
   4204 	case BCM_ASYNC_ENTRY_FABRIC_LINK_REMOTE_PIPE_MAPPING_SET:
   4205 		rv = bcm_fabric_link_remote_pipe_mapping_set(
   4206 			req->args.fabric_link_remote_pipe_mapping_set.unit,
   4207 			req->args.fabric_link_remote_pipe_mapping_set.port,
   4208 			req->args.fabric_link_remote_pipe_mapping_set.mapping_config);
   4209 		break;
   4210 	case BCM_ASYNC_ENTRY_FABRIC_LINK_STATUS_GET:
   4211 		rv = bcm_fabric_link_status_get(
   4212 			req->args.fabric_link_status_get.unit,
   4213 			req->args.fabric_link_status_get.link_id,
   4214 			req->args.fabric_link_status_get.link_status,
   4215 			req->args.fabric_link_status_get.errored_token_count);
   4216 		break;
   4217 	case BCM_ASYNC_ENTRY_FABRIC_LINK_THRESHOLD_ADD:
   4218 		rv = bcm_fabric_link_threshold_add(
   4219 			req->args.fabric_link_threshold_add.unit,
   4220 			req->args.fabric_link_threshold_add.flags,
   4221 			req->args.fabric_link_threshold_add.fifo_type);
   4222 		break;
   4223 	case BCM_ASYNC_ENTRY_FABRIC_LINK_THRESHOLD_DELETE:
   4224 		rv = bcm_fabric_link_threshold_delete(
   4225 			req->args.fabric_link_threshold_delete.unit,
   4226 			req->args.fabric_link_threshold_delete.fifo_type);
   4227 		break;
   4228 	case BCM_ASYNC_ENTRY_FABRIC_LINK_THRESHOLDS_ATTACH:
   4229 		rv = bcm_fabric_link_thresholds_attach(
   4230 			req->args.fabric_link_thresholds_attach.unit,
   4231 			req->args.fabric_link_thresholds_attach.fifo_type,
   4232 			req->args.fabric_link_thresholds_attach.links_count,
   4233 			req->args.fabric_link_thresholds_attach.links);
   4234 		break;
   4235 	case BCM_ASYNC_ENTRY_FABRIC_LINK_THRESHOLDS_GET:
   4236 		rv = bcm_fabric_link_thresholds_get(
   4237 			req->args.fabric_link_thresholds_get.unit,
   4238 			req->args.fabric_link_thresholds_get.fifo_type,
   4239 			req->args.fabric_link_thresholds_get.count,
   4240 			req->args.fabric_link_thresholds_get.type,
   4241 			req->args.fabric_link_thresholds_get.value);
   4242 		break;
   4243 	case BCM_ASYNC_ENTRY_FABRIC_LINK_THRESHOLDS_PIPE_GET:
   4244 		rv = bcm_fabric_link_thresholds_pipe_get(
   4245 			req->args.fabric_link_thresholds_pipe_get.unit,
   4246 			req->args.fabric_link_thresholds_pipe_get.fifo_type,
   4247 			req->args.fabric_link_thresholds_pipe_get.pipe,
   4248 			req->args.fabric_link_thresholds_pipe_get.flags,
   4249 			req->args.fabric_link_thresholds_pipe_get.count,
   4250 			req->args.fabric_link_thresholds_pipe_get.type,
   4251 			req->args.fabric_link_thresholds_pipe_get.value);
   4252 		break;
   4253 	case BCM_ASYNC_ENTRY_FABRIC_LINK_THRESHOLDS_PIPE_SET:
   4254 		rv = bcm_fabric_link_thresholds_pipe_set(
   4255 			req->args.fabric_link_thresholds_pipe_set.unit,
   4256 			req->args.fabric_link_thresholds_pipe_set.fifo_type,
   4257 			req->args.fabric_link_thresholds_pipe_set.pipe,
   4258 			req->args.fabric_link_thresholds_pipe_set.flags,
   4259 			req->args.fabric_link_thresholds_pipe_set.count,
   4260 			req->args.fabric_link_thresholds_pipe_set.type,
   4261 			req->args.fabric_link_thresholds_pipe_set.value);
   4262 		break;
   4263 	case BCM_ASYNC_ENTRY_FABRIC_LINK_THRESHOLDS_RETRIEVE:
   4264 		rv = bcm_fabric_link_thresholds_retrieve(
   4265 			req->args.fabric_link_thresholds_retrieve.unit,
   4266 			req->args.fabric_link_thresholds_retrieve.fifo_type,
   4267 			req->args.fabric_link_thresholds_retrieve.links_count_max,
   4268 			req->args.fabric_link_thresholds_retrieve.links,
   4269 			req->args.fabric_link_thresholds_retrieve.links_count);
   4270 		break;
   4271 	case BCM_ASYNC_ENTRY_FABRIC_LINK_THRESHOLDS_SET:
   4272 		rv = bcm_fabric_link_thresholds_set(
   4273 			req->args.fabric_link_thresholds_set.unit,
   4274 			req->args.fabric_link_thresholds_set.fifo_type,
   4275 			req->args.fabric_link_thresholds_set.count,
   4276 			req->args.fabric_link_thresholds_set.type,
   4277 			req->args.fabric_link_thresholds_set.value);
   4278 		break;
   4279 	case BCM_ASYNC_ENTRY_FABRIC_LINK_TOPOLOGY_CONFIG_GET:
   4280 		rv = bcm_fabric_link_topology_config_get(
   4281 			req->args.fabric_link_topology_config_get.unit,
   4282 			req->args.fabric_link_topology_config_get.flags,
   4283 			req->args.fabric_link_topology_config_get.destination,
   4284 			req->args.fabric_link_topology_config_get.type,
   4285 			req->args.fabric_link_topology_config_get.links_count_max,
   4286 			req->args.fabric_link_topology_config_get.links_count,
   4287 			req->args.fabric_link_topology_config_get.links_array);
   4288 		break;
   4289 	case BCM_ASYNC_ENTRY_FABRIC_LINK_TOPOLOGY_CONFIG_SET:
   4290 		rv = bcm_fabric_link_topology_config_set(
   4291 			req->args.fabric_link_topology_config_set.unit,
   4292 			req->args.fabric_link_topology_config_set.flags,
   4293 			req->args.fabric_link_topology_config_set.destination,
   4294 			req->args.fabric_link_topology_config_set.type,
   4295 			req->args.fabric_link_topology_config_set.links_count,
   4296 			req->args.fabric_link_topology_config_set.links_array);
   4297 		break;
   4298 	case BCM_ASYNC_ENTRY_FABRIC_LINK_TOPOLOGY_GET:
   4299 		rv = bcm_fabric_link_topology_get(
   4300 			req->args.fabric_link_topology_get.unit,
   4301 			req->args.fabric_link_topology_get.destination,
   4302 			req->args.fabric_link_topology_get.max_links_count,
   4303 			req->args.fabric_link_topology_get.links_count,
   4304 			req->args.fabric_link_topology_get.links_array);
   4305 		break;
   4306 	case BCM_ASYNC_ENTRY_FABRIC_LINK_TOPOLOGY_SET:
   4307 		rv = bcm_fabric_link_topology_set(
   4308 			req->args.fabric_link_topology_set.unit,
   4309 			req->args.fabric_link_topology_set.destination,
   4310 			req->args.fabric_link_topology_set.links_count,
   4311 			req->args.fabric_link_topology_set.links_array);
   4312 		break;
   4313 	case BCM_ASYNC_ENTRY_FABRIC_MODID_GROUP_FIND:
   4314 		rv = bcm_fabric_modid_group_find(
   4315 			req->args.fabric_modid_group_find.unit,
   4316 			req->args.fabric_modid_group_find.modid,
   4317 			req->args.fabric_modid_group_find.group);
   4318 		break;
   4319 	case BCM_ASYNC_ENTRY_FABRIC_MODID_GROUP_GET:
   4320 		rv = bcm_fabric_modid_group_get(
   4321 			req->args.fabric_modid_group_get.unit,
   4322 			req->args.fabric_modid_group_get.group,
   4323 			req->args.fabric_modid_group_get.modid_max_count,
   4324 			req->args.fabric_modid_group_get.modid_array,
   4325 			req->args.fabric_modid_group_get.modid_count);
   4326 		break;
   4327 	case BCM_ASYNC_ENTRY_FABRIC_MODID_GROUP_SET:
   4328 		rv = bcm_fabric_modid_group_set(
   4329 			req->args.fabric_modid_group_set.unit,
   4330 			req->args.fabric_modid_group_set.group,
   4331 			req->args.fabric_modid_group_set.modid_count,
   4332 			req->args.fabric_modid_group_set.modid_array);
   4333 		break;
   4334 	case BCM_ASYNC_ENTRY_FABRIC_MODID_LOCAL_MAPPING_GET:
   4335 		rv = bcm_fabric_modid_local_mapping_get(
   4336 			req->args.fabric_modid_local_mapping_get.unit,
   4337 			req->args.fabric_modid_local_mapping_get.local_modid,
   4338 			req->args.fabric_modid_local_mapping_get.modid);
   4339 		break;
   4340 	case BCM_ASYNC_ENTRY_FABRIC_MODID_LOCAL_MAPPING_SET:
   4341 		rv = bcm_fabric_modid_local_mapping_set(
   4342 			req->args.fabric_modid_local_mapping_set.unit,
   4343 			req->args.fabric_modid_local_mapping_set.local_modid,
   4344 			req->args.fabric_modid_local_mapping_set.modid);
   4345 		break;
   4346 	case BCM_ASYNC_ENTRY_FABRIC_MODULE_CONTROL_GET:
   4347 		rv = bcm_fabric_module_control_get(
   4348 			req->args.fabric_module_control_get.unit,
   4349 			req->args.fabric_module_control_get.flags,
   4350 			req->args.fabric_module_control_get.modid,
   4351 			req->args.fabric_module_control_get.control,
   4352 			req->args.fabric_module_control_get.value);
   4353 		break;
   4354 	case BCM_ASYNC_ENTRY_FABRIC_MODULE_CONTROL_SET:
   4355 		rv = bcm_fabric_module_control_set(
   4356 			req->args.fabric_module_control_set.unit,
   4357 			req->args.fabric_module_control_set.flags,
   4358 			req->args.fabric_module_control_set.modid,
   4359 			req->args.fabric_module_control_set.control,
   4360 			req->args.fabric_module_control_set.value);
   4361 		break;
   4362 	case BCM_ASYNC_ENTRY_FABRIC_MULTICAST_GET:
   4363 		rv = bcm_fabric_multicast_get(
   4364 			req->args.fabric_multicast_get.unit,
   4365 			req->args.fabric_multicast_get.group,
   4366 			req->args.fabric_multicast_get.flags,
   4367 			req->args.fabric_multicast_get.destid_count_max,
   4368 			req->args.fabric_multicast_get.destid_count,
   4369 			req->args.fabric_multicast_get.destid_array);
   4370 		break;
   4371 	case BCM_ASYNC_ENTRY_FABRIC_MULTICAST_LOCAL_ROUTE_GET:
   4372 		rv = bcm_fabric_multicast_local_route_get(
   4373 			req->args.fabric_multicast_local_route_get.unit,
   4374 			req->args.fabric_multicast_local_route_get.flags,
   4375 			req->args.fabric_multicast_local_route_get.nof_groups,
   4376 			req->args.fabric_multicast_local_route_get.groups,
   4377 			req->args.fabric_multicast_local_route_get.enable);
   4378 		break;
   4379 	case BCM_ASYNC_ENTRY_FABRIC_MULTICAST_LOCAL_ROUTE_SET:
   4380 		rv = bcm_fabric_multicast_local_route_set(
   4381 			req->args.fabric_multicast_local_route_set.unit,
   4382 			req->args.fabric_multicast_local_route_set.flags,
   4383 			req->args.fabric_multicast_local_route_set.nof_groups,
   4384 			req->args.fabric_multicast_local_route_set.groups,
   4385 			req->args.fabric_multicast_local_route_set.enable);
   4386 		break;
   4387 	case BCM_ASYNC_ENTRY_FABRIC_MULTICAST_MULTI_GET:
   4388 		rv = bcm_fabric_multicast_multi_get(
   4389 			req->args.fabric_multicast_multi_get.unit,
   4390 			req->args.fabric_multicast_multi_get.flags,
   4391 			req->args.fabric_multicast_multi_get.ngroups,
   4392 			req->args.fabric_multicast_multi_get.groups,
   4393 			req->args.fabric_multicast_multi_get.dest_array);
   4394 		break;
   4395 	case BCM_ASYNC_ENTRY_FABRIC_MULTICAST_MULTI_SET:
   4396 		rv = bcm_fabric_multicast_multi_set(
   4397 			req->args.fabric_multicast_multi_set.unit,
   4398 			req->args.fabric_multicast_multi_set.flags,
   4399 			req->args.fabric_multicast_multi_set.ngroups,
   4400 			req->args.fabric_multicast_multi_set.groups,
   4401 			req->args.fabric_multicast_multi_set.dest_array);
   4402 		break;
   4403 	case BCM_ASYNC_ENTRY_FABRIC_MULTICAST_SET:
   4404 		rv = bcm_fabric_multicast_set(
   4405 			req->args.fabric_multicast_set.unit,
   4406 			req->args.fabric_multicast_set.group,
   4407 			req->args.fabric_multicast_set.flags,
   4408 			req->args.fabric_multicast_set.destid_count,
   4409 			req->args.fabric_multicast_set.destid_array);
   4410 		break;
   4411 	case BCM_ASYNC_ENTRY_FABRIC_PCP_DEST_MODE_CONFIG_GET:
   4412 		rv = bcm_fabric_pcp_dest_mode_config_get(
   4413 			req->args.fabric_pcp_dest_mode_config_get.unit,
   4414 			req->args.fabric_pcp_dest_mode_config_get.flags,
   4415 			req->args.fabric_pcp_dest_mode_config_get.modid,
   4416 			req->args.fabric_pcp_dest_mode_config_get.pcp_config);
   4417 		break;
   4418 	case BCM_ASYNC_ENTRY_FABRIC_PCP_DEST_MODE_CONFIG_SET:
   4419 		rv = bcm_fabric_pcp_dest_mode_config_set(
   4420 			req->args.fabric_pcp_dest_mode_config_set.unit,
   4421 			req->args.fabric_pcp_dest_mode_config_set.flags,
   4422 			req->args.fabric_pcp_dest_mode_config_set.modid,
   4423 			req->args.fabric_pcp_dest_mode_config_set.pcp_config);
   4424 		break;
   4425 	case BCM_ASYNC_ENTRY_FABRIC_PORT_CREATE:
   4426 		rv = bcm_fabric_port_create(
   4427 			req->args.fabric_port_create.unit,
   4428 			req->args.fabric_port_create.parent_port,
   4429 			req->args.fabric_port_create.offset,
   4430 			req->args.fabric_port_create.flags,
   4431 			req->args.fabric_port_create.port);
   4432 		break;
   4433 	case BCM_ASYNC_ENTRY_FABRIC_PORT_DESTROY:
   4434 		rv = bcm_fabric_port_destroy(
   4435 			req->args.fabric_port_destroy.unit,
   4436 			req->args.fabric_port_destroy.parent_port);
   4437 		break;
   4438 	case BCM_ASYNC_ENTRY_FABRIC_PORT_GET:
   4439 		rv = bcm_fabric_port_get(
   4440 			req->args.fabric_port_get.unit,
   4441 			req->args.fabric_port_get.child_port,
   4442 			req->args.fabric_port_get.flags,
   4443 			req->args.fabric_port_get.parent_port);
   4444 		break;
   4445 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_ACTION_CREATE:
   4446 		rv = bcm_fabric_predicate_action_create(
   4447 			req->args.fabric_predicate_action_create.unit,
   4448 			req->args.fabric_predicate_action_create.predicate_action,
   4449 			req->args.fabric_predicate_action_create.predicate_action_id);
   4450 		break;
   4451 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_ACTION_DESTROY:
   4452 		rv = bcm_fabric_predicate_action_destroy(
   4453 			req->args.fabric_predicate_action_destroy.unit,
   4454 			req->args.fabric_predicate_action_destroy.predicate_action_id);
   4455 		break;
   4456 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_ACTION_DESTROY_ALL:
   4457 		rv = bcm_fabric_predicate_action_destroy_all(
   4458 			req->args.fabric_predicate_action_destroy_all.unit);
   4459 		break;
   4460 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_ACTION_GET:
   4461 		rv = bcm_fabric_predicate_action_get(
   4462 			req->args.fabric_predicate_action_get.unit,
   4463 			req->args.fabric_predicate_action_get.predicate_action_id,
   4464 			req->args.fabric_predicate_action_get.predicate_action_info);
   4465 		break;
   4466 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_ACTION_TRAVERSE:
   4467 		rv = bcm_fabric_predicate_action_traverse(
   4468 			req->args.fabric_predicate_action_traverse.unit,
   4469 			req->args.fabric_predicate_action_traverse.cb,
   4470 			req->args.fabric_predicate_action_traverse.user_data);
   4471 		break;
   4472 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_CREATE:
   4473 		rv = bcm_fabric_predicate_create(
   4474 			req->args.fabric_predicate_create.unit,
   4475 			req->args.fabric_predicate_create.pred_info,
   4476 			req->args.fabric_predicate_create.pred_id);
   4477 		break;
   4478 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_DESTROY:
   4479 		rv = bcm_fabric_predicate_destroy(
   4480 			req->args.fabric_predicate_destroy.unit,
   4481 			req->args.fabric_predicate_destroy.pred_id);
   4482 		break;
   4483 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_DESTROY_ALL:
   4484 		rv = bcm_fabric_predicate_destroy_all(
   4485 			req->args.fabric_predicate_destroy_all.unit);
   4486 		break;
   4487 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_GET:
   4488 		rv = bcm_fabric_predicate_get(
   4489 			req->args.fabric_predicate_get.unit,
   4490 			req->args.fabric_predicate_get.pred_id,
   4491 			req->args.fabric_predicate_get.pred_info);
   4492 		break;
   4493 	case BCM_ASYNC_ENTRY_FABRIC_PREDICATE_TRAVERSE:
   4494 		rv = bcm_fabric_predicate_traverse(
   4495 			req->args.fabric_predicate_traverse.unit,
   4496 			req->args.fabric_predicate_traverse.cb,
   4497 			req->args.fabric_predicate_traverse.user_data);
   4498 		break;
   4499 	case BCM_ASYNC_ENTRY_FABRIC_PRIORITY_GET:
   4500 		rv = bcm_fabric_priority_get(
   4501 			req->args.fabric_priority_get.unit,
   4502 			req->args.fabric_priority_get.flags,
   4503 			req->args.fabric_priority_get.ingress_pri,
   4504 			req->args.fabric_priority_get.color,
   4505 			req->args.fabric_priority_get.fabric_priority);
   4506 		break;
   4507 	case BCM_ASYNC_ENTRY_FABRIC_PRIORITY_SET:
   4508 		rv = bcm_fabric_priority_set(
   4509 			req->args.fabric_priority_set.unit,
   4510 			req->args.fabric_priority_set.flags,
   4511 			req->args.fabric_priority_set.ingress_pri,
   4512 			req->args.fabric_priority_set.color,
   4513 			req->args.fabric_priority_set.fabric_priority);
   4514 		break;
   4515 	case BCM_ASYNC_ENTRY_FABRIC_PROFILE_THRESHOLD_GET:
   4516 		rv = bcm_fabric_profile_threshold_get(
   4517 			req->args.fabric_profile_threshold_get.unit,
   4518 			req->args.fabric_profile_threshold_get.profile_id,
   4519 			req->args.fabric_profile_threshold_get.threshold_id,
   4520 			req->args.fabric_profile_threshold_get.threshold_type,
   4521 			req->args.fabric_profile_threshold_get.flags,
   4522 			req->args.fabric_profile_threshold_get.value);
   4523 		break;
   4524 	case BCM_ASYNC_ENTRY_FABRIC_PROFILE_THRESHOLD_SET:
   4525 		rv = bcm_fabric_profile_threshold_set(
   4526 			req->args.fabric_profile_threshold_set.unit,
   4527 			req->args.fabric_profile_threshold_set.profile_id,
   4528 			req->args.fabric_profile_threshold_set.threshold_id,
   4529 			req->args.fabric_profile_threshold_set.threshold_type,
   4530 			req->args.fabric_profile_threshold_set.flags,
   4531 			req->args.fabric_profile_threshold_set.value);
   4532 		break;
   4533 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_CREATE:
   4534 		rv = bcm_fabric_qsel_create(
   4535 			req->args.fabric_qsel_create.unit,
   4536 			req->args.fabric_qsel_create.flags,
   4537 			req->args.fabric_qsel_create.base,
   4538 			req->args.fabric_qsel_create.count,
   4539 			req->args.fabric_qsel_create.qsel_id);
   4540 		break;
   4541 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_DESTROY:
   4542 		rv = bcm_fabric_qsel_destroy(
   4543 			req->args.fabric_qsel_destroy.unit,
   4544 			req->args.fabric_qsel_destroy.qsel_id);
   4545 		break;
   4546 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_DESTROY_ALL:
   4547 		rv = bcm_fabric_qsel_destroy_all(
   4548 			req->args.fabric_qsel_destroy_all.unit);
   4549 		break;
   4550 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_ENTRY_GET:
   4551 		rv = bcm_fabric_qsel_entry_get(
   4552 			req->args.fabric_qsel_entry_get.unit,
   4553 			req->args.fabric_qsel_entry_get.qsel_id,
   4554 			req->args.fabric_qsel_entry_get.offset,
   4555 			req->args.fabric_qsel_entry_get.queue,
   4556 			req->args.fabric_qsel_entry_get.qsel_offset_id);
   4557 		break;
   4558 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_ENTRY_MULTI_GET:
   4559 		rv = bcm_fabric_qsel_entry_multi_get(
   4560 			req->args.fabric_qsel_entry_multi_get.unit,
   4561 			req->args.fabric_qsel_entry_multi_get.qsel_id,
   4562 			req->args.fabric_qsel_entry_multi_get.offset,
   4563 			req->args.fabric_qsel_entry_multi_get.count,
   4564 			req->args.fabric_qsel_entry_multi_get.queue,
   4565 			req->args.fabric_qsel_entry_multi_get.qsel_offset_id);
   4566 		break;
   4567 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_ENTRY_MULTI_SET:
   4568 		rv = bcm_fabric_qsel_entry_multi_set(
   4569 			req->args.fabric_qsel_entry_multi_set.unit,
   4570 			req->args.fabric_qsel_entry_multi_set.qsel_id,
   4571 			req->args.fabric_qsel_entry_multi_set.offset,
   4572 			req->args.fabric_qsel_entry_multi_set.count,
   4573 			req->args.fabric_qsel_entry_multi_set.queue,
   4574 			req->args.fabric_qsel_entry_multi_set.qsel_offset_id);
   4575 		break;
   4576 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_ENTRY_SET:
   4577 		rv = bcm_fabric_qsel_entry_set(
   4578 			req->args.fabric_qsel_entry_set.unit,
   4579 			req->args.fabric_qsel_entry_set.qsel_id,
   4580 			req->args.fabric_qsel_entry_set.offset,
   4581 			req->args.fabric_qsel_entry_set.queue,
   4582 			req->args.fabric_qsel_entry_set.qsel_offset_id);
   4583 		break;
   4584 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_ENTRY_TRAVERSE:
   4585 		rv = bcm_fabric_qsel_entry_traverse(
   4586 			req->args.fabric_qsel_entry_traverse.unit,
   4587 			req->args.fabric_qsel_entry_traverse.qsel_id,
   4588 			req->args.fabric_qsel_entry_traverse.cb,
   4589 			req->args.fabric_qsel_entry_traverse.user_data);
   4590 		break;
   4591 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_GET:
   4592 		rv = bcm_fabric_qsel_get(
   4593 			req->args.fabric_qsel_get.unit,
   4594 			req->args.fabric_qsel_get.qsel_id,
   4595 			req->args.fabric_qsel_get.flags,
   4596 			req->args.fabric_qsel_get.base,
   4597 			req->args.fabric_qsel_get.count);
   4598 		break;
   4599 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_OFFSET_CREATE:
   4600 		rv = bcm_fabric_qsel_offset_create(
   4601 			req->args.fabric_qsel_offset_create.unit,
   4602 			req->args.fabric_qsel_offset_create.flags,
   4603 			req->args.fabric_qsel_offset_create.qsel_offset_id);
   4604 		break;
   4605 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_OFFSET_DESTROY:
   4606 		rv = bcm_fabric_qsel_offset_destroy(
   4607 			req->args.fabric_qsel_offset_destroy.unit,
   4608 			req->args.fabric_qsel_offset_destroy.qsel_offset_id);
   4609 		break;
   4610 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_OFFSET_DESTROY_ALL:
   4611 		rv = bcm_fabric_qsel_offset_destroy_all(
   4612 			req->args.fabric_qsel_offset_destroy_all.unit);
   4613 		break;
   4614 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_OFFSET_ENTRY_GET:
   4615 		rv = bcm_fabric_qsel_offset_entry_get(
   4616 			req->args.fabric_qsel_offset_entry_get.unit,
   4617 			req->args.fabric_qsel_offset_entry_get.qsel_offset_id,
   4618 			req->args.fabric_qsel_offset_entry_get.int_pri,
   4619 			req->args.fabric_qsel_offset_entry_get.offset);
   4620 		break;
   4621 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_OFFSET_ENTRY_SET:
   4622 		rv = bcm_fabric_qsel_offset_entry_set(
   4623 			req->args.fabric_qsel_offset_entry_set.unit,
   4624 			req->args.fabric_qsel_offset_entry_set.qsel_offset_id,
   4625 			req->args.fabric_qsel_offset_entry_set.int_pri,
   4626 			req->args.fabric_qsel_offset_entry_set.offset);
   4627 		break;
   4628 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_OFFSET_ENTRY_TRAVERSE:
   4629 		rv = bcm_fabric_qsel_offset_entry_traverse(
   4630 			req->args.fabric_qsel_offset_entry_traverse.unit,
   4631 			req->args.fabric_qsel_offset_entry_traverse.qsel_offset_id,
   4632 			req->args.fabric_qsel_offset_entry_traverse.cb,
   4633 			req->args.fabric_qsel_offset_entry_traverse.user_data);
   4634 		break;
   4635 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_OFFSET_TRAVERSE:
   4636 		rv = bcm_fabric_qsel_offset_traverse(
   4637 			req->args.fabric_qsel_offset_traverse.unit,
   4638 			req->args.fabric_qsel_offset_traverse.cb,
   4639 			req->args.fabric_qsel_offset_traverse.user_data);
   4640 		break;
   4641 	case BCM_ASYNC_ENTRY_FABRIC_QSEL_TRAVERSE:
   4642 		rv = bcm_fabric_qsel_traverse(
   4643 			req->args.fabric_qsel_traverse.unit,
   4644 			req->args.fabric_qsel_traverse.cb,
   4645 			req->args.fabric_qsel_traverse.user_data);
   4646 		break;
   4647 	case BCM_ASYNC_ENTRY_FABRIC_RCI_BIASING_PROBABILITY_GET:
   4648 		rv = bcm_fabric_rci_biasing_probability_get(
   4649 			req->args.fabric_rci_biasing_probability_get.unit,
   4650 			req->args.fabric_rci_biasing_probability_get.flags,
   4651 			req->args.fabric_rci_biasing_probability_get.probability_info,
   4652 			req->args.fabric_rci_biasing_probability_get.probability);
   4653 		break;
   4654 	case BCM_ASYNC_ENTRY_FABRIC_RCI_BIASING_PROBABILITY_SET:
   4655 		rv = bcm_fabric_rci_biasing_probability_set(
   4656 			req->args.fabric_rci_biasing_probability_set.unit,
   4657 			req->args.fabric_rci_biasing_probability_set.flags,
   4658 			req->args.fabric_rci_biasing_probability_set.probability_info,
   4659 			req->args.fabric_rci_biasing_probability_set.probability);
   4660 		break;
   4661 	case BCM_ASYNC_ENTRY_FABRIC_RCI_CONFIG_GET:
   4662 		rv = bcm_fabric_rci_config_get(
   4663 			req->args.fabric_rci_config_get.unit,
   4664 			req->args.fabric_rci_config_get.rci_config);
   4665 		break;
   4666 	case BCM_ASYNC_ENTRY_FABRIC_RCI_CONFIG_SET:
   4667 		rv = bcm_fabric_rci_config_set(
   4668 			req->args.fabric_rci_config_set.unit,
   4669 			req->args.fabric_rci_config_set.rci_config);
   4670 		break;
   4671 	case BCM_ASYNC_ENTRY_FABRIC_RCI_RESOLUTION_GET:
   4672 		rv = bcm_fabric_rci_resolution_get(
   4673 			req->args.fabric_rci_resolution_get.unit,
   4674 			req->args.fabric_rci_resolution_get.flags,
   4675 			req->args.fabric_rci_resolution_get.key,
   4676 			req->args.fabric_rci_resolution_get.config);
   4677 		break;
   4678 	case BCM_ASYNC_ENTRY_FABRIC_RCI_RESOLUTION_SET:
   4679 		rv = bcm_fabric_rci_resolution_set(
   4680 			req->args.fabric_rci_resolution_set.unit,
   4681 			req->args.fabric_rci_resolution_set.flags,
   4682 			req->args.fabric_rci_resolution_set.key,
   4683 			req->args.fabric_rci_resolution_set.config);
   4684 		break;
   4685 	case BCM_ASYNC_ENTRY_FABRIC_REACHABILITY_STATUS_GET:
   4686 		rv = bcm_fabric_reachability_status_get(
   4687 			req->args.fabric_reachability_status_get.unit,
   4688 			req->args.fabric_reachability_status_get.moduleid,
   4689 			req->args.fabric_reachability_status_get.links_max,
   4690 			req->args.fabric_reachability_status_get.links_array,
   4691 			req->args.fabric_reachability_status_get.links_count);
   4692 		break;
   4693 	case BCM_ASYNC_ENTRY_FABRIC_ROUTE_RX:
   4694 		rv = bcm_fabric_route_rx(
   4695 			req->args.fabric_route_rx.unit,
   4696 			req->args.fabric_route_rx.flags,
   4697 			req->args.fabric_route_rx.data_out_max_size,
   4698 			req->args.fabric_route_rx.data_out,
   4699 			req->args.fabric_route_rx.data_out_size);
   4700 		break;
   4701 	case BCM_ASYNC_ENTRY_FABRIC_ROUTE_TX:
   4702 		rv = bcm_fabric_route_tx(
   4703 			req->args.fabric_route_tx.unit,
   4704 			req->args.fabric_route_tx.flags,
   4705 			req->args.fabric_route_tx.route,
   4706 			req->args.fabric_route_tx.data_in_size,
   4707 			req->args.fabric_route_tx.data_in);
   4708 		break;
   4709 	case BCM_ASYNC_ENTRY_FABRIC_STATIC_REPLICATION_SET:
   4710 		rv = bcm_fabric_static_replication_set(
   4711 			req->args.fabric_static_replication_set.unit,
   4712 			req->args.fabric_static_replication_set.port,
   4713 			req->args.fabric_static_replication_set.flags,
   4714 			req->args.fabric_static_replication_set.destid_count,
   4715 			req->args.fabric_static_replication_set.destid_array);
   4716 		break;
   4717 	case BCM_ASYNC_ENTRY_FABRIC_TDM_DIRECT_ROUTING_GET:
   4718 		rv = bcm_fabric_tdm_direct_routing_get(
   4719 			req->args.fabric_tdm_direct_routing_get.unit,
   4720 			req->args.fabric_tdm_direct_routing_get.gport,
   4721 			req->args.fabric_tdm_direct_routing_get.routing_info);
   4722 		break;
   4723 	case BCM_ASYNC_ENTRY_FABRIC_TDM_DIRECT_ROUTING_SET:
   4724 		rv = bcm_fabric_tdm_direct_routing_set(
   4725 			req->args.fabric_tdm_direct_routing_set.unit,
   4726 			req->args.fabric_tdm_direct_routing_set.gport,
   4727 			req->args.fabric_tdm_direct_routing_set.routing_info);
   4728 		break;
   4729 	case BCM_ASYNC_ENTRY_FABRIC_TDM_EDITING_GET:
   4730 		rv = bcm_fabric_tdm_editing_get(
   4731 			req->args.fabric_tdm_editing_get.unit,
   4732 			req->args.fabric_tdm_editing_get.gport,
   4733 			req->args.fabric_tdm_editing_get.editing);
   4734 		break;
   4735 	case BCM_ASYNC_ENTRY_FABRIC_TDM_EDITING_SET:
   4736 		rv = bcm_fabric_tdm_editing_set(
   4737 			req->args.fabric_tdm_editing_set.unit,
   4738 			req->args.fabric_tdm_editing_set.gport,
   4739 			req->args.fabric_tdm_editing_set.editing);
   4740 		break;
   4741 #ifdef	INCLUDE_L3
   4742 	case BCM_ASYNC_ENTRY_FAILOVER_CLEANUP:
   4743 		rv = bcm_failover_cleanup(
   4744 			req->args.failover_cleanup.unit);
   4745 		break;
   4746 	case BCM_ASYNC_ENTRY_FAILOVER_CREATE:
   4747 		rv = bcm_failover_create(
   4748 			req->args.failover_create.unit,
   4749 			req->args.failover_create.flags,
   4750 			req->args.failover_create.failover_id);
   4751 		break;
   4752 	case BCM_ASYNC_ENTRY_FAILOVER_DESTROY:
   4753 		rv = bcm_failover_destroy(
   4754 			req->args.failover_destroy.unit,
   4755 			req->args.failover_destroy.failover_id);
   4756 		break;
   4757 	case BCM_ASYNC_ENTRY_FAILOVER_EGRESS_CLEAR:
   4758 		rv = bcm_failover_egress_clear(
   4759 			req->args.failover_egress_clear.unit,
   4760 			req->args.failover_egress_clear.intf);
   4761 		break;
   4762 	case BCM_ASYNC_ENTRY_FAILOVER_EGRESS_GET:
   4763 		rv = bcm_failover_egress_get(
   4764 			req->args.failover_egress_get.unit,
   4765 			req->args.failover_egress_get.intf,
   4766 			req->args.failover_egress_get.failover_egr);
   4767 		break;
   4768 	case BCM_ASYNC_ENTRY_FAILOVER_EGRESS_SET:
   4769 		rv = bcm_failover_egress_set(
   4770 			req->args.failover_egress_set.unit,
   4771 			req->args.failover_egress_set.intf,
   4772 			req->args.failover_egress_set.failover_egr);
   4773 		break;
   4774 	case BCM_ASYNC_ENTRY_FAILOVER_EGRESS_STATUS_GET:
   4775 		rv = bcm_failover_egress_status_get(
   4776 			req->args.failover_egress_status_get.unit,
   4777 			req->args.failover_egress_status_get.intf,
   4778 			req->args.failover_egress_status_get.enable);
   4779 		break;
   4780 	case BCM_ASYNC_ENTRY_FAILOVER_EGRESS_STATUS_SET:
   4781 		rv = bcm_failover_egress_status_set(
   4782 			req->args.failover_egress_status_set.unit,
   4783 			req->args.failover_egress_status_set.intf,
   4784 			req->args.failover_egress_status_set.enable);
   4785 		break;
   4786 	case BCM_ASYNC_ENTRY_FAILOVER_GET:
   4787 		rv = bcm_failover_get(
   4788 			req->args.failover_get.unit,
   4789 			req->args.failover_get.failover_id,
   4790 			req->args.failover_get.enable);
   4791 		break;
   4792 	case BCM_ASYNC_ENTRY_FAILOVER_INIT:
   4793 		rv = bcm_failover_init(
   4794 			req->args.failover_init.unit);
   4795 		break;
   4796 	case BCM_ASYNC_ENTRY_FAILOVER_MULTI_LEVEL_ATTACH:
   4797 		rv = bcm_failover_multi_level_attach(
   4798 			req->args.failover_multi_level_attach.unit,
   4799 			req->args.failover_multi_level_attach.multi_level_failover);
   4800 		break;
   4801 #endif	/* INCLUDE_L3 */
   4802 	case BCM_ASYNC_ENTRY_FAILOVER_RING_CONFIG_GET:
   4803 		rv = bcm_failover_ring_config_get(
   4804 			req->args.failover_ring_config_get.unit,
   4805 			req->args.failover_ring_config_get.failover_ring);
   4806 		break;
   4807 	case BCM_ASYNC_ENTRY_FAILOVER_RING_CONFIG_SET:
   4808 		rv = bcm_failover_ring_config_set(
   4809 			req->args.failover_ring_config_set.unit,
   4810 			req->args.failover_ring_config_set.failover_ring);
   4811 		break;
   4812 #ifdef	INCLUDE_L3
   4813 	case BCM_ASYNC_ENTRY_FAILOVER_SET:
   4814 		rv = bcm_failover_set(
   4815 			req->args.failover_set.unit,
   4816 			req->args.failover_set.failover_id,
   4817 			req->args.failover_set.enable);
   4818 		break;
   4819 	case BCM_ASYNC_ENTRY_FAILOVER_STATUS_GET:
   4820 		rv = bcm_failover_status_get(
   4821 			req->args.failover_status_get.unit,
   4822 			req->args.failover_status_get.failover,
   4823 			req->args.failover_status_get.enable);
   4824 		break;
   4825 	case BCM_ASYNC_ENTRY_FAILOVER_STATUS_SET:
   4826 		rv = bcm_failover_status_set(
   4827 			req->args.failover_status_set.unit,
   4828 			req->args.failover_status_set.failover,
   4829 			req->args.failover_status_set.enable);
   4830 		break;
   4831 #endif	/* INCLUDE_L3 */
   4832 #ifdef	INCLUDE_FCMAP
   4833 	case BCM_ASYNC_ENTRY_FCMAP_DIAG_GET:
   4834 		rv = bcm_fcmap_diag_get(
   4835 			req->args.fcmap_diag_get.unit,
   4836 			req->args.fcmap_diag_get.port,
   4837 			req->args.fcmap_diag_get.diag);
   4838 		break;
   4839 	case BCM_ASYNC_ENTRY_FCMAP_EVENT_ENABLE_GET:
   4840 		rv = bcm_fcmap_event_enable_get(
   4841 			req->args.fcmap_event_enable_get.unit,
   4842 			req->args.fcmap_event_enable_get.t,
   4843 			req->args.fcmap_event_enable_get.enable);
   4844 		break;
   4845 	case BCM_ASYNC_ENTRY_FCMAP_EVENT_ENABLE_SET:
   4846 		rv = bcm_fcmap_event_enable_set(
   4847 			req->args.fcmap_event_enable_set.unit,
   4848 			req->args.fcmap_event_enable_set.t,
   4849 			req->args.fcmap_event_enable_set.enable);
   4850 		break;
   4851 	case BCM_ASYNC_ENTRY_FCMAP_EVENT_REGISTER:
   4852 		rv = bcm_fcmap_event_register(
   4853 			req->args.fcmap_event_register.unit,
   4854 			req->args.fcmap_event_register.cb,
   4855 			req->args.fcmap_event_register.user_data);
   4856 		break;
   4857 	case BCM_ASYNC_ENTRY_FCMAP_EVENT_UNREGISTER:
   4858 		rv = bcm_fcmap_event_unregister(
   4859 			req->args.fcmap_event_unregister.unit,
   4860 			req->args.fcmap_event_unregister.cb);
   4861 		break;
   4862 	case BCM_ASYNC_ENTRY_FCMAP_LINKFAULT_TRIGGER_RC_GET:
   4863 		rv = bcm_fcmap_linkfault_trigger_rc_get(
   4864 			req->args.fcmap_linkfault_trigger_rc_get.unit,
   4865 			req->args.fcmap_linkfault_trigger_rc_get.port,
   4866 			req->args.fcmap_linkfault_trigger_rc_get.trigger,
   4867 			req->args.fcmap_linkfault_trigger_rc_get.rc);
   4868 		break;
   4869 	case BCM_ASYNC_ENTRY_FCMAP_PORT_ABILITY_ADVERT_GET:
   4870 		rv = bcm_fcmap_port_ability_advert_get(
   4871 			req->args.fcmap_port_ability_advert_get.unit,
   4872 			req->args.fcmap_port_ability_advert_get.port,
   4873 			req->args.fcmap_port_ability_advert_get.ability_mask);
   4874 		break;
   4875 	case BCM_ASYNC_ENTRY_FCMAP_PORT_ABILITY_ADVERT_SET:
   4876 		rv = bcm_fcmap_port_ability_advert_set(
   4877 			req->args.fcmap_port_ability_advert_set.unit,
   4878 			req->args.fcmap_port_ability_advert_set.port,
   4879 			req->args.fcmap_port_ability_advert_set.ability_mask);
   4880 		break;
   4881 	case BCM_ASYNC_ENTRY_FCMAP_PORT_CONFIG_GET:
   4882 		rv = bcm_fcmap_port_config_get(
   4883 			req->args.fcmap_port_config_get.unit,
   4884 			req->args.fcmap_port_config_get.port,
   4885 			req->args.fcmap_port_config_get.cfg);
   4886 		break;
   4887 	case BCM_ASYNC_ENTRY_FCMAP_PORT_CONFIG_SELECTIVE_GET:
   4888 		rv = bcm_fcmap_port_config_selective_get(
   4889 			req->args.fcmap_port_config_selective_get.unit,
   4890 			req->args.fcmap_port_config_selective_get.port,
   4891 			req->args.fcmap_port_config_selective_get.cfg);
   4892 		break;
   4893 	case BCM_ASYNC_ENTRY_FCMAP_PORT_CONFIG_SELECTIVE_SET:
   4894 		rv = bcm_fcmap_port_config_selective_set(
   4895 			req->args.fcmap_port_config_selective_set.unit,
   4896 			req->args.fcmap_port_config_selective_set.port,
   4897 			req->args.fcmap_port_config_selective_set.cfg);
   4898 		break;
   4899 	case BCM_ASYNC_ENTRY_FCMAP_PORT_CONFIG_SET:
   4900 		rv = bcm_fcmap_port_config_set(
   4901 			req->args.fcmap_port_config_set.unit,
   4902 			req->args.fcmap_port_config_set.port,
   4903 			req->args.fcmap_port_config_set.cfg);
   4904 		break;
   4905 	case BCM_ASYNC_ENTRY_FCMAP_PORT_ENABLE:
   4906 		rv = bcm_fcmap_port_enable(
   4907 			req->args.fcmap_port_enable.unit,
   4908 			req->args.fcmap_port_enable.port);
   4909 		break;
   4910 	case BCM_ASYNC_ENTRY_FCMAP_PORT_LINK_RESET:
   4911 		rv = bcm_fcmap_port_link_reset(
   4912 			req->args.fcmap_port_link_reset.unit,
   4913 			req->args.fcmap_port_link_reset.port);
   4914 		break;
   4915 	case BCM_ASYNC_ENTRY_FCMAP_PORT_SHUTDOWN:
   4916 		rv = bcm_fcmap_port_shutdown(
   4917 			req->args.fcmap_port_shutdown.unit,
   4918 			req->args.fcmap_port_shutdown.port);
   4919 		break;
   4920 	case BCM_ASYNC_ENTRY_FCMAP_PORT_SPEED_SET:
   4921 		rv = bcm_fcmap_port_speed_set(
   4922 			req->args.fcmap_port_speed_set.unit,
   4923 			req->args.fcmap_port_speed_set.port,
   4924 			req->args.fcmap_port_speed_set.speed);
   4925 		break;
   4926 	case BCM_ASYNC_ENTRY_FCMAP_PORT_TRAVERSE:
   4927 		rv = bcm_fcmap_port_traverse(
   4928 			req->args.fcmap_port_traverse.unit,
   4929 			req->args.fcmap_port_traverse.callbk,
   4930 			req->args.fcmap_port_traverse.user_data);
   4931 		break;
   4932 	case BCM_ASYNC_ENTRY_FCMAP_STAT_CLEAR:
   4933 		rv = bcm_fcmap_stat_clear(
   4934 			req->args.fcmap_stat_clear.unit,
   4935 			req->args.fcmap_stat_clear.port);
   4936 		break;
   4937 	case BCM_ASYNC_ENTRY_FCMAP_STAT_GET:
   4938 		rv = bcm_fcmap_stat_get(
   4939 			req->args.fcmap_stat_get.unit,
   4940 			req->args.fcmap_stat_get.port,
   4941 			req->args.fcmap_stat_get.stat,
   4942 			req->args.fcmap_stat_get.val);
   4943 		break;
   4944 	case BCM_ASYNC_ENTRY_FCMAP_STAT_GET32:
   4945 		rv = bcm_fcmap_stat_get32(
   4946 			req->args.fcmap_stat_get32.unit,
   4947 			req->args.fcmap_stat_get32.port,
   4948 			req->args.fcmap_stat_get32.stat,
   4949 			req->args.fcmap_stat_get32.val);
   4950 		break;
   4951 	case BCM_ASYNC_ENTRY_FCMAP_VLAN_MAP_ADD:
   4952 		rv = bcm_fcmap_vlan_map_add(
   4953 			req->args.fcmap_vlan_map_add.unit,
   4954 			req->args.fcmap_vlan_map_add.port,
   4955 			req->args.fcmap_vlan_map_add.vlan);
   4956 		break;
   4957 	case BCM_ASYNC_ENTRY_FCMAP_VLAN_MAP_DELETE:
   4958 		rv = bcm_fcmap_vlan_map_delete(
   4959 			req->args.fcmap_vlan_map_delete.unit,
   4960 			req->args.fcmap_vlan_map_delete.port,
   4961 			req->args.fcmap_vlan_map_delete.vlan);
   4962 		break;
   4963 	case BCM_ASYNC_ENTRY_FCMAP_VLAN_MAP_GET:
   4964 		rv = bcm_fcmap_vlan_map_get(
   4965 			req->args.fcmap_vlan_map_get.unit,
   4966 			req->args.fcmap_vlan_map_get.port,
   4967 			req->args.fcmap_vlan_map_get.vlan);
   4968 		break;
   4969 #endif	/* INCLUDE_FCMAP */
   4970 	case BCM_ASYNC_ENTRY_FCOE_CLEANUP:
   4971 		rv = bcm_fcoe_cleanup(
   4972 			req->args.fcoe_cleanup.unit);
   4973 		break;
   4974 	case BCM_ASYNC_ENTRY_FCOE_CONTROL_VSAN_GET:
   4975 		rv = bcm_fcoe_control_vsan_get(
   4976 			req->args.fcoe_control_vsan_get.unit,
   4977 			req->args.fcoe_control_vsan_get.vsan_id,
   4978 			req->args.fcoe_control_vsan_get.type,
   4979 			req->args.fcoe_control_vsan_get.arg);
   4980 		break;
   4981 	case BCM_ASYNC_ENTRY_FCOE_CONTROL_VSAN_SET:
   4982 		rv = bcm_fcoe_control_vsan_set(
   4983 			req->args.fcoe_control_vsan_set.unit,
   4984 			req->args.fcoe_control_vsan_set.vsan_id,
   4985 			req->args.fcoe_control_vsan_set.type,
   4986 			req->args.fcoe_control_vsan_set.arg);
   4987 		break;
   4988 	case BCM_ASYNC_ENTRY_FCOE_ENABLE_SET:
   4989 		rv = bcm_fcoe_enable_set(
   4990 			req->args.fcoe_enable_set.unit);
   4991 		break;
   4992 	case BCM_ASYNC_ENTRY_FCOE_FC_HEADER_TYPE_GET:
   4993 		rv = bcm_fcoe_fc_header_type_get(
   4994 			req->args.fcoe_fc_header_type_get.unit,
   4995 			req->args.fcoe_fc_header_type_get.flags,
   4996 			req->args.fcoe_fc_header_type_get.r_ctl,
   4997 			req->args.fcoe_fc_header_type_get.hdr_type);
   4998 		break;
   4999 	case BCM_ASYNC_ENTRY_FCOE_FC_HEADER_TYPE_SET:
   5000 		rv = bcm_fcoe_fc_header_type_set(
   5001 			req->args.fcoe_fc_header_type_set.unit,
   5002 			req->args.fcoe_fc_header_type_set.flags,
   5003 			req->args.fcoe_fc_header_type_set.r_ctl,
   5004 			req->args.fcoe_fc_header_type_set.hdr_type);
   5005 		break;
   5006 	case BCM_ASYNC_ENTRY_FCOE_INIT:
   5007 		rv = bcm_fcoe_init(
   5008 			req->args.fcoe_init.unit);
   5009 		break;
   5010 	case BCM_ASYNC_ENTRY_FCOE_INTF_CONFIG_GET:
   5011 		rv = bcm_fcoe_intf_config_get(
   5012 			req->args.fcoe_intf_config_get.unit,
   5013 			req->args.fcoe_intf_config_get.flags,
   5014 			req->args.fcoe_intf_config_get.intf,
   5015 			req->args.fcoe_intf_config_get.cfg);
   5016 		break;
   5017 	case BCM_ASYNC_ENTRY_FCOE_INTF_CONFIG_SET:
   5018 		rv = bcm_fcoe_intf_config_set(
   5019 			req->args.fcoe_intf_config_set.unit,
   5020 			req->args.fcoe_intf_config_set.flags,
   5021 			req->args.fcoe_intf_config_set.intf,
   5022 			req->args.fcoe_intf_config_set.cfg);
   5023 		break;
   5024 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_ADD:
   5025 		rv = bcm_fcoe_route_add(
   5026 			req->args.fcoe_route_add.unit,
   5027 			req->args.fcoe_route_add.route);
   5028 		break;
   5029 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_DELETE:
   5030 		rv = bcm_fcoe_route_delete(
   5031 			req->args.fcoe_route_delete.unit,
   5032 			req->args.fcoe_route_delete.route);
   5033 		break;
   5034 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_DELETE_ALL:
   5035 		rv = bcm_fcoe_route_delete_all(
   5036 			req->args.fcoe_route_delete_all.unit);
   5037 		break;
   5038 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_DELETE_BY_INTERFACE:
   5039 		rv = bcm_fcoe_route_delete_by_interface(
   5040 			req->args.fcoe_route_delete_by_interface.unit,
   5041 			req->args.fcoe_route_delete_by_interface.route);
   5042 		break;
   5043 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_DELETE_BY_PREFIX:
   5044 		rv = bcm_fcoe_route_delete_by_prefix(
   5045 			req->args.fcoe_route_delete_by_prefix.unit,
   5046 			req->args.fcoe_route_delete_by_prefix.route);
   5047 		break;
   5048 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_FIND:
   5049 		rv = bcm_fcoe_route_find(
   5050 			req->args.fcoe_route_find.unit,
   5051 			req->args.fcoe_route_find.route);
   5052 		break;
   5053 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_STAT_ATTACH:
   5054 		rv = bcm_fcoe_route_stat_attach(
   5055 			req->args.fcoe_route_stat_attach.unit,
   5056 			req->args.fcoe_route_stat_attach.route,
   5057 			req->args.fcoe_route_stat_attach.stat_counter_id);
   5058 		break;
   5059 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_STAT_COUNTER_GET:
   5060 		rv = bcm_fcoe_route_stat_counter_get(
   5061 			req->args.fcoe_route_stat_counter_get.unit,
   5062 			req->args.fcoe_route_stat_counter_get.route,
   5063 			req->args.fcoe_route_stat_counter_get.stat,
   5064 			req->args.fcoe_route_stat_counter_get.num_entries,
   5065 			req->args.fcoe_route_stat_counter_get.counter_indexes,
   5066 			req->args.fcoe_route_stat_counter_get.counter_values);
   5067 		break;
   5068 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_STAT_COUNTER_SET:
   5069 		rv = bcm_fcoe_route_stat_counter_set(
   5070 			req->args.fcoe_route_stat_counter_set.unit,
   5071 			req->args.fcoe_route_stat_counter_set.route,
   5072 			req->args.fcoe_route_stat_counter_set.stat,
   5073 			req->args.fcoe_route_stat_counter_set.num_entries,
   5074 			req->args.fcoe_route_stat_counter_set.counter_indexes,
   5075 			req->args.fcoe_route_stat_counter_set.counter_values);
   5076 		break;
   5077 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_STAT_COUNTER_SYNC_GET:
   5078 		rv = bcm_fcoe_route_stat_counter_sync_get(
   5079 			req->args.fcoe_route_stat_counter_sync_get.unit,
   5080 			req->args.fcoe_route_stat_counter_sync_get.route,
   5081 			req->args.fcoe_route_stat_counter_sync_get.stat,
   5082 			req->args.fcoe_route_stat_counter_sync_get.num_entries,
   5083 			req->args.fcoe_route_stat_counter_sync_get.counter_indexes,
   5084 			req->args.fcoe_route_stat_counter_sync_get.counter_values);
   5085 		break;
   5086 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_STAT_DETACH:
   5087 		rv = bcm_fcoe_route_stat_detach(
   5088 			req->args.fcoe_route_stat_detach.unit,
   5089 			req->args.fcoe_route_stat_detach.route);
   5090 		break;
   5091 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_STAT_ID_GET:
   5092 		rv = bcm_fcoe_route_stat_id_get(
   5093 			req->args.fcoe_route_stat_id_get.unit,
   5094 			req->args.fcoe_route_stat_id_get.route,
   5095 			req->args.fcoe_route_stat_id_get.stat,
   5096 			req->args.fcoe_route_stat_id_get.stat_counter_id);
   5097 		break;
   5098 	case BCM_ASYNC_ENTRY_FCOE_ROUTE_TRAVERSE:
   5099 		rv = bcm_fcoe_route_traverse(
   5100 			req->args.fcoe_route_traverse.unit,
   5101 			req->args.fcoe_route_traverse.flags,
   5102 			req->args.fcoe_route_traverse.trav_fn,
   5103 			req->args.fcoe_route_traverse.user_data);
   5104 		break;
   5105 	case BCM_ASYNC_ENTRY_FCOE_VSAN_CREATE:
   5106 		rv = bcm_fcoe_vsan_create(
   5107 			req->args.fcoe_vsan_create.unit,
   5108 			req->args.fcoe_vsan_create.options,
   5109 			req->args.fcoe_vsan_create.vsan,
   5110 			req->args.fcoe_vsan_create.vsan_id);
   5111 		break;
   5112 	case BCM_ASYNC_ENTRY_FCOE_VSAN_DESTROY:
   5113 		rv = bcm_fcoe_vsan_destroy(
   5114 			req->args.fcoe_vsan_destroy.unit,
   5115 			req->args.fcoe_vsan_destroy.vsan_id);
   5116 		break;
   5117 	case BCM_ASYNC_ENTRY_FCOE_VSAN_DESTROY_ALL:
   5118 		rv = bcm_fcoe_vsan_destroy_all(
   5119 			req->args.fcoe_vsan_destroy_all.unit);
   5120 		break;
   5121 	case BCM_ASYNC_ENTRY_FCOE_VSAN_GET:
   5122 		rv = bcm_fcoe_vsan_get(
   5123 			req->args.fcoe_vsan_get.unit,
   5124 			req->args.fcoe_vsan_get.vsan_id,
   5125 			req->args.fcoe_vsan_get.vsan);
   5126 		break;
   5127 	case BCM_ASYNC_ENTRY_FCOE_VSAN_SET:
   5128 		rv = bcm_fcoe_vsan_set(
   5129 			req->args.fcoe_vsan_set.unit,
   5130 			req->args.fcoe_vsan_set.vsan_id,
   5131 			req->args.fcoe_vsan_set.vsan);
   5132 		break;
   5133 	case BCM_ASYNC_ENTRY_FCOE_VSAN_STAT_ATTACH:
   5134 		rv = bcm_fcoe_vsan_stat_attach(
   5135 			req->args.fcoe_vsan_stat_attach.unit,
   5136 			req->args.fcoe_vsan_stat_attach.vsan,
   5137 			req->args.fcoe_vsan_stat_attach.stat_counter_id);
   5138 		break;
   5139 	case BCM_ASYNC_ENTRY_FCOE_VSAN_STAT_COUNTER_GET:
   5140 		rv = bcm_fcoe_vsan_stat_counter_get(
   5141 			req->args.fcoe_vsan_stat_counter_get.unit,
   5142 			req->args.fcoe_vsan_stat_counter_get.vsan,
   5143 			req->args.fcoe_vsan_stat_counter_get.stat,
   5144 			req->args.fcoe_vsan_stat_counter_get.num_entries,
   5145 			req->args.fcoe_vsan_stat_counter_get.counter_indexes,
   5146 			req->args.fcoe_vsan_stat_counter_get.counter_values);
   5147 		break;
   5148 	case BCM_ASYNC_ENTRY_FCOE_VSAN_STAT_COUNTER_SET:
   5149 		rv = bcm_fcoe_vsan_stat_counter_set(
   5150 			req->args.fcoe_vsan_stat_counter_set.unit,
   5151 			req->args.fcoe_vsan_stat_counter_set.vsan,
   5152 			req->args.fcoe_vsan_stat_counter_set.stat,
   5153 			req->args.fcoe_vsan_stat_counter_set.num_entries,
   5154 			req->args.fcoe_vsan_stat_counter_set.counter_indexes,
   5155 			req->args.fcoe_vsan_stat_counter_set.counter_values);
   5156 		break;
   5157 	case BCM_ASYNC_ENTRY_FCOE_VSAN_STAT_COUNTER_SYNC_GET:
   5158 		rv = bcm_fcoe_vsan_stat_counter_sync_get(
   5159 			req->args.fcoe_vsan_stat_counter_sync_get.unit,
   5160 			req->args.fcoe_vsan_stat_counter_sync_get.vsan,
   5161 			req->args.fcoe_vsan_stat_counter_sync_get.stat,
   5162 			req->args.fcoe_vsan_stat_counter_sync_get.num_entries,
   5163 			req->args.fcoe_vsan_stat_counter_sync_get.counter_indexes,
   5164 			req->args.fcoe_vsan_stat_counter_sync_get.counter_values);
   5165 		break;
   5166 	case BCM_ASYNC_ENTRY_FCOE_VSAN_STAT_DETACH:
   5167 		rv = bcm_fcoe_vsan_stat_detach(
   5168 			req->args.fcoe_vsan_stat_detach.unit,
   5169 			req->args.fcoe_vsan_stat_detach.vsan);
   5170 		break;
   5171 	case BCM_ASYNC_ENTRY_FCOE_VSAN_STAT_ID_GET:
   5172 		rv = bcm_fcoe_vsan_stat_id_get(
   5173 			req->args.fcoe_vsan_stat_id_get.unit,
   5174 			req->args.fcoe_vsan_stat_id_get.vsan,
   5175 			req->args.fcoe_vsan_stat_id_get.stat,
   5176 			req->args.fcoe_vsan_stat_id_get.stat_counter_id);
   5177 		break;
   5178 	case BCM_ASYNC_ENTRY_FCOE_VSAN_TRANSLATE_ACTION_ADD:
   5179 		rv = bcm_fcoe_vsan_translate_action_add(
   5180 			req->args.fcoe_vsan_translate_action_add.unit,
   5181 			req->args.fcoe_vsan_translate_action_add.key,
   5182 			req->args.fcoe_vsan_translate_action_add.action);
   5183 		break;
   5184 	case BCM_ASYNC_ENTRY_FCOE_VSAN_TRANSLATE_ACTION_DELETE:
   5185 		rv = bcm_fcoe_vsan_translate_action_delete(
   5186 			req->args.fcoe_vsan_translate_action_delete.unit,
   5187 			req->args.fcoe_vsan_translate_action_delete.key);
   5188 		break;
   5189 	case BCM_ASYNC_ENTRY_FCOE_VSAN_TRAVERSE:
   5190 		rv = bcm_fcoe_vsan_traverse(
   5191 			req->args.fcoe_vsan_traverse.unit,
   5192 			req->args.fcoe_vsan_traverse.flags,
   5193 			req->args.fcoe_vsan_traverse.trav_fn,
   5194 			req->args.fcoe_vsan_traverse.user_data);
   5195 		break;
   5196 	case BCM_ASYNC_ENTRY_FCOE_ZONE_ADD:
   5197 		rv = bcm_fcoe_zone_add(
   5198 			req->args.fcoe_zone_add.unit,
   5199 			req->args.fcoe_zone_add.zone);
   5200 		break;
   5201 	case BCM_ASYNC_ENTRY_FCOE_ZONE_DELETE:
   5202 		rv = bcm_fcoe_zone_delete(
   5203 			req->args.fcoe_zone_delete.unit,
   5204 			req->args.fcoe_zone_delete.zone);
   5205 		break;
   5206 	case BCM_ASYNC_ENTRY_FCOE_ZONE_DELETE_ALL:
   5207 		rv = bcm_fcoe_zone_delete_all(
   5208 			req->args.fcoe_zone_delete_all.unit);
   5209 		break;
   5210 	case BCM_ASYNC_ENTRY_FCOE_ZONE_DELETE_BY_DID:
   5211 		rv = bcm_fcoe_zone_delete_by_did(
   5212 			req->args.fcoe_zone_delete_by_did.unit,
   5213 			req->args.fcoe_zone_delete_by_did.zone);
   5214 		break;
   5215 	case BCM_ASYNC_ENTRY_FCOE_ZONE_DELETE_BY_SID:
   5216 		rv = bcm_fcoe_zone_delete_by_sid(
   5217 			req->args.fcoe_zone_delete_by_sid.unit,
   5218 			req->args.fcoe_zone_delete_by_sid.zone);
   5219 		break;
   5220 	case BCM_ASYNC_ENTRY_FCOE_ZONE_DELETE_BY_VSAN:
   5221 		rv = bcm_fcoe_zone_delete_by_vsan(
   5222 			req->args.fcoe_zone_delete_by_vsan.unit,
   5223 			req->args.fcoe_zone_delete_by_vsan.zone);
   5224 		break;
   5225 	case BCM_ASYNC_ENTRY_FCOE_ZONE_GET:
   5226 		rv = bcm_fcoe_zone_get(
   5227 			req->args.fcoe_zone_get.unit,
   5228 			req->args.fcoe_zone_get.zone);
   5229 		break;
   5230 	case BCM_ASYNC_ENTRY_FCOE_ZONE_TRAVERSE:
   5231 		rv = bcm_fcoe_zone_traverse(
   5232 			req->args.fcoe_zone_traverse.unit,
   5233 			req->args.fcoe_zone_traverse.flags,
   5234 			req->args.fcoe_zone_traverse.trav_fn,
   5235 			req->args.fcoe_zone_traverse.user_data);
   5236 		break;
   5237 	case BCM_ASYNC_ENTRY_FIELD_ACE_ENTRY_ADD:
   5238 		rv = bcm_field_ace_entry_add(
   5239 			req->args.field_ace_entry_add.unit,
   5240 			req->args.field_ace_entry_add.flags,
   5241 			req->args.field_ace_entry_add.ace_format_id,
   5242 			req->args.field_ace_entry_add.entry_info,
   5243 			req->args.field_ace_entry_add.entry_handle);
   5244 		break;
   5245 	case BCM_ASYNC_ENTRY_FIELD_ACE_ENTRY_DELETE:
   5246 		rv = bcm_field_ace_entry_delete(
   5247 			req->args.field_ace_entry_delete.unit,
   5248 			req->args.field_ace_entry_delete.entry_handle);
   5249 		break;
   5250 	case BCM_ASYNC_ENTRY_FIELD_ACE_ENTRY_INFO_GET:
   5251 		rv = bcm_field_ace_entry_info_get(
   5252 			req->args.field_ace_entry_info_get.unit,
   5253 			req->args.field_ace_entry_info_get.entry_handle,
   5254 			req->args.field_ace_entry_info_get.entry_info);
   5255 		break;
   5256 	case BCM_ASYNC_ENTRY_FIELD_ACE_FORMAT_ADD:
   5257 		rv = bcm_field_ace_format_add(
   5258 			req->args.field_ace_format_add.unit,
   5259 			req->args.field_ace_format_add.flags,
   5260 			req->args.field_ace_format_add.ace_format_info,
   5261 			req->args.field_ace_format_add.ace_format_id);
   5262 		break;
   5263 	case BCM_ASYNC_ENTRY_FIELD_ACE_FORMAT_DELETE:
   5264 		rv = bcm_field_ace_format_delete(
   5265 			req->args.field_ace_format_delete.unit,
   5266 			req->args.field_ace_format_delete.ace_format_id);
   5267 		break;
   5268 	case BCM_ASYNC_ENTRY_FIELD_ACE_FORMAT_INFO_GET:
   5269 		rv = bcm_field_ace_format_info_get(
   5270 			req->args.field_ace_format_info_get.unit,
   5271 			req->args.field_ace_format_info_get.ace_format_id,
   5272 			req->args.field_ace_format_info_get.ace_format_info);
   5273 		break;
   5274 	case BCM_ASYNC_ENTRY_FIELD_ACTION_ADD:
   5275 		rv = bcm_field_action_add(
   5276 			req->args.field_action_add.unit,
   5277 			req->args.field_action_add.entry,
   5278 			req->args.field_action_add.action,
   5279 			req->args.field_action_add.param0,
   5280 			req->args.field_action_add.param1);
   5281 		break;
   5282 	case BCM_ASYNC_ENTRY_FIELD_ACTION_CLASS_ADD:
   5283 		rv = bcm_field_action_class_add(
   5284 			req->args.field_action_class_add.unit,
   5285 			req->args.field_action_class_add.entry,
   5286 			req->args.field_action_class_add.class_info);
   5287 		break;
   5288 	case BCM_ASYNC_ENTRY_FIELD_ACTION_CLASS_GET:
   5289 		rv = bcm_field_action_class_get(
   5290 			req->args.field_action_class_get.unit,
   5291 			req->args.field_action_class_get.entry,
   5292 			req->args.field_action_class_get.class_info);
   5293 		break;
   5294 	case BCM_ASYNC_ENTRY_FIELD_ACTION_CONFIG_ADD:
   5295 		rv = bcm_field_action_config_add(
   5296 			req->args.field_action_config_add.unit,
   5297 			req->args.field_action_config_add.entry,
   5298 			req->args.field_action_config_add.action,
   5299 			req->args.field_action_config_add.core_config_arr_len,
   5300 			req->args.field_action_config_add.core_config_arr);
   5301 		break;
   5302 	case BCM_ASYNC_ENTRY_FIELD_ACTION_CONFIG_GET:
   5303 		rv = bcm_field_action_config_get(
   5304 			req->args.field_action_config_get.unit,
   5305 			req->args.field_action_config_get.entry,
   5306 			req->args.field_action_config_get.action,
   5307 			req->args.field_action_config_get.core_config_arr_len,
   5308 			req->args.field_action_config_get.core_config_arr);
   5309 		break;
   5310 	case BCM_ASYNC_ENTRY_FIELD_ACTION_CONFIG_INFO_ADD:
   5311 		rv = bcm_field_action_config_info_add(
   5312 			req->args.field_action_config_info_add.unit,
   5313 			req->args.field_action_config_info_add.entry,
   5314 			req->args.field_action_config_info_add.action,
   5315 			req->args.field_action_config_info_add.params,
   5316 			req->args.field_action_config_info_add.match_config);
   5317 		break;
   5318 	case BCM_ASYNC_ENTRY_FIELD_ACTION_CONFIG_INFO_GET:
   5319 		rv = bcm_field_action_config_info_get(
   5320 			req->args.field_action_config_info_get.unit,
   5321 			req->args.field_action_config_info_get.entry,
   5322 			req->args.field_action_config_info_get.action,
   5323 			req->args.field_action_config_info_get.params,
   5324 			req->args.field_action_config_info_get.match_config);
   5325 		break;
   5326 	case BCM_ASYNC_ENTRY_FIELD_ACTION_COPYTOCPU_CONFIG_GET:
   5327 		rv = bcm_field_action_copytocpu_config_get(
   5328 			req->args.field_action_copytocpu_config_get.unit,
   5329 			req->args.field_action_copytocpu_config_get.entry,
   5330 			req->args.field_action_copytocpu_config_get.CopyToCpu_config);
   5331 		break;
   5332 	case BCM_ASYNC_ENTRY_FIELD_ACTION_COPYTOCPU_CONFIG_SET:
   5333 		rv = bcm_field_action_copytocpu_config_set(
   5334 			req->args.field_action_copytocpu_config_set.unit,
   5335 			req->args.field_action_copytocpu_config_set.entry,
   5336 			req->args.field_action_copytocpu_config_set.CopyToCpu_config);
   5337 		break;
   5338 	case BCM_ASYNC_ENTRY_FIELD_ACTION_CREATE:
   5339 		rv = bcm_field_action_create(
   5340 			req->args.field_action_create.unit,
   5341 			req->args.field_action_create.flags,
   5342 			req->args.field_action_create.action_info,
   5343 			req->args.field_action_create.action_id);
   5344 		break;
   5345 	case BCM_ASYNC_ENTRY_FIELD_ACTION_DELETE:
   5346 		rv = bcm_field_action_delete(
   5347 			req->args.field_action_delete.unit,
   5348 			req->args.field_action_delete.entry,
   5349 			req->args.field_action_delete.action,
   5350 			req->args.field_action_delete.param0,
   5351 			req->args.field_action_delete.param1);
   5352 		break;
   5353 	case BCM_ASYNC_ENTRY_FIELD_ACTION_DESTROY:
   5354 		rv = bcm_field_action_destroy(
   5355 			req->args.field_action_destroy.unit,
   5356 			req->args.field_action_destroy.action_id);
   5357 		break;
   5358 	case BCM_ASYNC_ENTRY_FIELD_ACTION_GET:
   5359 		rv = bcm_field_action_get(
   5360 			req->args.field_action_get.unit,
   5361 			req->args.field_action_get.entry,
   5362 			req->args.field_action_get.action,
   5363 			req->args.field_action_get.param0,
   5364 			req->args.field_action_get.param1);
   5365 		break;
   5366 	case BCM_ASYNC_ENTRY_FIELD_ACTION_INFO_GET:
   5367 		rv = bcm_field_action_info_get(
   5368 			req->args.field_action_info_get.unit,
   5369 			req->args.field_action_info_get.action_id,
   5370 			req->args.field_action_info_get.stage,
   5371 			req->args.field_action_info_get.action_info);
   5372 		break;
   5373 	case BCM_ASYNC_ENTRY_FIELD_ACTION_MAC_ADD:
   5374 		rv = bcm_field_action_mac_add(
   5375 			req->args.field_action_mac_add.unit,
   5376 			req->args.field_action_mac_add.entry,
   5377 			req->args.field_action_mac_add.action,
   5378 			req->args.field_action_mac_add.mac);
   5379 		break;
   5380 	case BCM_ASYNC_ENTRY_FIELD_ACTION_MAC_GET:
   5381 		rv = bcm_field_action_mac_get(
   5382 			req->args.field_action_mac_get.unit,
   5383 			req->args.field_action_mac_get.entry,
   5384 			req->args.field_action_mac_get.action,
   5385 			req->args.field_action_mac_get.mac);
   5386 		break;
   5387 	case BCM_ASYNC_ENTRY_FIELD_ACTION_PORTS_ADD:
   5388 		rv = bcm_field_action_ports_add(
   5389 			req->args.field_action_ports_add.unit,
   5390 			req->args.field_action_ports_add.entry,
   5391 			req->args.field_action_ports_add.action,
   5392 			req->args.field_action_ports_add.pbmp);
   5393 		break;
   5394 	case BCM_ASYNC_ENTRY_FIELD_ACTION_PORTS_GET:
   5395 		rv = bcm_field_action_ports_get(
   5396 			req->args.field_action_ports_get.unit,
   5397 			req->args.field_action_ports_get.entry,
   5398 			req->args.field_action_ports_get.action,
   5399 			req->args.field_action_ports_get.pbmp);
   5400 		break;
   5401 	case BCM_ASYNC_ENTRY_FIELD_ACTION_REDIRECT_CONFIG_GET:
   5402 		rv = bcm_field_action_redirect_config_get(
   5403 			req->args.field_action_redirect_config_get.unit,
   5404 			req->args.field_action_redirect_config_get.entry,
   5405 			req->args.field_action_redirect_config_get.redirect_config);
   5406 		break;
   5407 	case BCM_ASYNC_ENTRY_FIELD_ACTION_REDIRECT_CONFIG_SET:
   5408 		rv = bcm_field_action_redirect_config_set(
   5409 			req->args.field_action_redirect_config_set.unit,
   5410 			req->args.field_action_redirect_config_set.entry,
   5411 			req->args.field_action_redirect_config_set.redirect_config);
   5412 		break;
   5413 	case BCM_ASYNC_ENTRY_FIELD_ACTION_REMOVE:
   5414 		rv = bcm_field_action_remove(
   5415 			req->args.field_action_remove.unit,
   5416 			req->args.field_action_remove.entry,
   5417 			req->args.field_action_remove.action);
   5418 		break;
   5419 	case BCM_ASYNC_ENTRY_FIELD_ACTION_REMOVE_ALL:
   5420 		rv = bcm_field_action_remove_all(
   5421 			req->args.field_action_remove_all.unit,
   5422 			req->args.field_action_remove_all.entry);
   5423 		break;
   5424 	case BCM_ASYNC_ENTRY_FIELD_ACTION_VALUE_MAP:
   5425 		rv = bcm_field_action_value_map(
   5426 			req->args.field_action_value_map.unit,
   5427 			req->args.field_action_value_map.stage,
   5428 			req->args.field_action_value_map.bcm_action,
   5429 			req->args.field_action_value_map.bcm_value,
   5430 			req->args.field_action_value_map.hw_value);
   5431 		break;
   5432 	case BCM_ASYNC_ENTRY_FIELD_ACTION_VLAN_ACTIONS_ADD:
   5433 		rv = bcm_field_action_vlan_actions_add(
   5434 			req->args.field_action_vlan_actions_add.unit,
   5435 			req->args.field_action_vlan_actions_add.entry,
   5436 			req->args.field_action_vlan_actions_add.action,
   5437 			req->args.field_action_vlan_actions_add.vlan_action_set);
   5438 		break;
   5439 	case BCM_ASYNC_ENTRY_FIELD_ACTION_VLAN_ACTIONS_GET:
   5440 		rv = bcm_field_action_vlan_actions_get(
   5441 			req->args.field_action_vlan_actions_get.unit,
   5442 			req->args.field_action_vlan_actions_get.entry,
   5443 			req->args.field_action_vlan_actions_get.action,
   5444 			req->args.field_action_vlan_actions_get.vlan_action_set);
   5445 		break;
   5446 	case BCM_ASYNC_ENTRY_FIELD_ACTION_WIDTH_GET:
   5447 		rv = bcm_field_action_width_get(
   5448 			req->args.field_action_width_get.unit,
   5449 			req->args.field_action_width_get.flags,
   5450 			req->args.field_action_width_get.internal_action,
   5451 			req->args.field_action_width_get.width_p);
   5452 		break;
   5453 	case BCM_ASYNC_ENTRY_FIELD_ACTION_WIDTH_SET:
   5454 		rv = bcm_field_action_width_set(
   5455 			req->args.field_action_width_set.unit,
   5456 			req->args.field_action_width_set.flags,
   5457 			req->args.field_action_width_set.internal_action,
   5458 			req->args.field_action_width_set.width);
   5459 		break;
   5460 	case BCM_ASYNC_ENTRY_FIELD_CLASS_MAP_GET:
   5461 		rv = bcm_field_class_map_get(
   5462 			req->args.field_class_map_get.unit,
   5463 			req->args.field_class_map_get.stage,
   5464 			req->args.field_class_map_get.qual,
   5465 			req->args.field_class_map_get.num_entries,
   5466 			req->args.field_class_map_get.orig_values_array,
   5467 			req->args.field_class_map_get.map_values_array);
   5468 		break;
   5469 	case BCM_ASYNC_ENTRY_FIELD_CLASS_MAP_SET:
   5470 		rv = bcm_field_class_map_set(
   5471 			req->args.field_class_map_set.unit,
   5472 			req->args.field_class_map_set.stage,
   5473 			req->args.field_class_map_set.qual,
   5474 			req->args.field_class_map_set.num_entries,
   5475 			req->args.field_class_map_set.orig_values_array,
   5476 			req->args.field_class_map_set.map_values_array);
   5477 		break;
   5478 	case BCM_ASYNC_ENTRY_FIELD_CLASS_SIZE_GET:
   5479 		rv = bcm_field_class_size_get(
   5480 			req->args.field_class_size_get.unit,
   5481 			req->args.field_class_size_get.qual,
   5482 			req->args.field_class_size_get.class_size);
   5483 		break;
   5484 	case BCM_ASYNC_ENTRY_FIELD_COMPARE_OPERAND_OFFSET_GET:
   5485 		rv = bcm_field_compare_operand_offset_get(
   5486 			req->args.field_compare_operand_offset_get.unit,
   5487 			req->args.field_compare_operand_offset_get.pair_id,
   5488 			req->args.field_compare_operand_offset_get.compare_operand,
   5489 			req->args.field_compare_operand_offset_get.offset);
   5490 		break;
   5491 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_COMPARE_CREATE:
   5492 		rv = bcm_field_context_compare_create(
   5493 			req->args.field_context_compare_create.unit,
   5494 			req->args.field_context_compare_create.flags,
   5495 			req->args.field_context_compare_create.stage,
   5496 			req->args.field_context_compare_create.context_id,
   5497 			req->args.field_context_compare_create.pair_id,
   5498 			req->args.field_context_compare_create.cmp_info);
   5499 		break;
   5500 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_COMPARE_DESTROY:
   5501 		rv = bcm_field_context_compare_destroy(
   5502 			req->args.field_context_compare_destroy.unit,
   5503 			req->args.field_context_compare_destroy.stage,
   5504 			req->args.field_context_compare_destroy.context_id,
   5505 			req->args.field_context_compare_destroy.pair_id);
   5506 		break;
   5507 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_COMPARE_INFO_GET:
   5508 		rv = bcm_field_context_compare_info_get(
   5509 			req->args.field_context_compare_info_get.unit,
   5510 			req->args.field_context_compare_info_get.stage,
   5511 			req->args.field_context_compare_info_get.context_id,
   5512 			req->args.field_context_compare_info_get.pair_id,
   5513 			req->args.field_context_compare_info_get.cmp_info);
   5514 		break;
   5515 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_CREATE:
   5516 		rv = bcm_field_context_create(
   5517 			req->args.field_context_create.unit,
   5518 			req->args.field_context_create.flags,
   5519 			req->args.field_context_create.stage,
   5520 			req->args.field_context_create.context_info,
   5521 			req->args.field_context_create.context_id);
   5522 		break;
   5523 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_DESTROY:
   5524 		rv = bcm_field_context_destroy(
   5525 			req->args.field_context_destroy.unit,
   5526 			req->args.field_context_destroy.stage,
   5527 			req->args.field_context_destroy.context_id);
   5528 		break;
   5529 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_HASH_CREATE:
   5530 		rv = bcm_field_context_hash_create(
   5531 			req->args.field_context_hash_create.unit,
   5532 			req->args.field_context_hash_create.flags,
   5533 			req->args.field_context_hash_create.stage,
   5534 			req->args.field_context_hash_create.context_id,
   5535 			req->args.field_context_hash_create.hash_info);
   5536 		break;
   5537 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_HASH_DESTROY:
   5538 		rv = bcm_field_context_hash_destroy(
   5539 			req->args.field_context_hash_destroy.unit,
   5540 			req->args.field_context_hash_destroy.stage,
   5541 			req->args.field_context_hash_destroy.context_id);
   5542 		break;
   5543 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_HASH_INFO_GET:
   5544 		rv = bcm_field_context_hash_info_get(
   5545 			req->args.field_context_hash_info_get.unit,
   5546 			req->args.field_context_hash_info_get.stage,
   5547 			req->args.field_context_hash_info_get.context_id,
   5548 			req->args.field_context_hash_info_get.hash_info);
   5549 		break;
   5550 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_INFO_GET:
   5551 		rv = bcm_field_context_info_get(
   5552 			req->args.field_context_info_get.unit,
   5553 			req->args.field_context_info_get.stage,
   5554 			req->args.field_context_info_get.context_id,
   5555 			req->args.field_context_info_get.context_info);
   5556 		break;
   5557 	case BCM_ASYNC_ENTRY_FIELD_CONTEXT_PARAM_SET:
   5558 		rv = bcm_field_context_param_set(
   5559 			req->args.field_context_param_set.unit,
   5560 			req->args.field_context_param_set.flags,
   5561 			req->args.field_context_param_set.stage,
   5562 			req->args.field_context_param_set.context_id,
   5563 			req->args.field_context_param_set.context_params);
   5564 		break;
   5565 	case BCM_ASYNC_ENTRY_FIELD_CONTROL_GET:
   5566 		rv = bcm_field_control_get(
   5567 			req->args.field_control_get.unit,
   5568 			req->args.field_control_get.control,
   5569 			req->args.field_control_get.state);
   5570 		break;
   5571 	case BCM_ASYNC_ENTRY_FIELD_CONTROL_SET:
   5572 		rv = bcm_field_control_set(
   5573 			req->args.field_control_set.unit,
   5574 			req->args.field_control_set.control,
   5575 			req->args.field_control_set.state);
   5576 		break;
   5577 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_CREATE:
   5578 		rv = bcm_field_data_qualifier_create(
   5579 			req->args.field_data_qualifier_create.unit,
   5580 			req->args.field_data_qualifier_create.data_qualifier);
   5581 		break;
   5582 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_DESTROY:
   5583 		rv = bcm_field_data_qualifier_destroy(
   5584 			req->args.field_data_qualifier_destroy.unit,
   5585 			req->args.field_data_qualifier_destroy.qual_id);
   5586 		break;
   5587 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_DESTROY_ALL:
   5588 		rv = bcm_field_data_qualifier_destroy_all(
   5589 			req->args.field_data_qualifier_destroy_all.unit);
   5590 		break;
   5591 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_ETHERTYPE_ADD:
   5592 		rv = bcm_field_data_qualifier_ethertype_add(
   5593 			req->args.field_data_qualifier_ethertype_add.unit,
   5594 			req->args.field_data_qualifier_ethertype_add.qual_id,
   5595 			req->args.field_data_qualifier_ethertype_add.etype);
   5596 		break;
   5597 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_ETHERTYPE_DELETE:
   5598 		rv = bcm_field_data_qualifier_ethertype_delete(
   5599 			req->args.field_data_qualifier_ethertype_delete.unit,
   5600 			req->args.field_data_qualifier_ethertype_delete.qual_id,
   5601 			req->args.field_data_qualifier_ethertype_delete.etype);
   5602 		break;
   5603 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_GET:
   5604 		rv = bcm_field_data_qualifier_get(
   5605 			req->args.field_data_qualifier_get.unit,
   5606 			req->args.field_data_qualifier_get.qual_id,
   5607 			req->args.field_data_qualifier_get.qual);
   5608 		break;
   5609 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_IP_PROTOCOL_ADD:
   5610 		rv = bcm_field_data_qualifier_ip_protocol_add(
   5611 			req->args.field_data_qualifier_ip_protocol_add.unit,
   5612 			req->args.field_data_qualifier_ip_protocol_add.qual_id,
   5613 			req->args.field_data_qualifier_ip_protocol_add.ip_protocol);
   5614 		break;
   5615 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_IP_PROTOCOL_DELETE:
   5616 		rv = bcm_field_data_qualifier_ip_protocol_delete(
   5617 			req->args.field_data_qualifier_ip_protocol_delete.unit,
   5618 			req->args.field_data_qualifier_ip_protocol_delete.qual_id,
   5619 			req->args.field_data_qualifier_ip_protocol_delete.ip_protocol);
   5620 		break;
   5621 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_MULTI_GET:
   5622 		rv = bcm_field_data_qualifier_multi_get(
   5623 			req->args.field_data_qualifier_multi_get.unit,
   5624 			req->args.field_data_qualifier_multi_get.qual_size,
   5625 			req->args.field_data_qualifier_multi_get.qual_array,
   5626 			req->args.field_data_qualifier_multi_get.qual_count);
   5627 		break;
   5628 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_PACKET_FORMAT_ADD:
   5629 		rv = bcm_field_data_qualifier_packet_format_add(
   5630 			req->args.field_data_qualifier_packet_format_add.unit,
   5631 			req->args.field_data_qualifier_packet_format_add.qual_id,
   5632 			req->args.field_data_qualifier_packet_format_add.packet_format);
   5633 		break;
   5634 	case BCM_ASYNC_ENTRY_FIELD_DATA_QUALIFIER_PACKET_FORMAT_DELETE:
   5635 		rv = bcm_field_data_qualifier_packet_format_delete(
   5636 			req->args.field_data_qualifier_packet_format_delete.unit,
   5637 			req->args.field_data_qualifier_packet_format_delete.qual_id,
   5638 			req->args.field_data_qualifier_packet_format_delete.packet_format);
   5639 		break;
   5640 	case BCM_ASYNC_ENTRY_FIELD_DETACH:
   5641 		rv = bcm_field_detach(
   5642 			req->args.field_detach.unit);
   5643 		break;
   5644 	case BCM_ASYNC_ENTRY_FIELD_DIRECT_EXTRACTION_ACTION_ADD:
   5645 		rv = bcm_field_direct_extraction_action_add(
   5646 			req->args.field_direct_extraction_action_add.unit,
   5647 			req->args.field_direct_extraction_action_add.entry,
   5648 			req->args.field_direct_extraction_action_add.action,
   5649 			req->args.field_direct_extraction_action_add.count,
   5650 			req->args.field_direct_extraction_action_add.extractions);
   5651 		break;
   5652 	case BCM_ASYNC_ENTRY_FIELD_DIRECT_EXTRACTION_ACTION_GET:
   5653 		rv = bcm_field_direct_extraction_action_get(
   5654 			req->args.field_direct_extraction_action_get.unit,
   5655 			req->args.field_direct_extraction_action_get.entry,
   5656 			req->args.field_direct_extraction_action_get.action,
   5657 			req->args.field_direct_extraction_action_get.max_count,
   5658 			req->args.field_direct_extraction_action_get.extractions,
   5659 			req->args.field_direct_extraction_action_get.actual_count);
   5660 		break;
   5661 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_ADD:
   5662 		rv = bcm_field_entry_add(
   5663 			req->args.field_entry_add.unit,
   5664 			req->args.field_entry_add.flags,
   5665 			req->args.field_entry_add.fg_id,
   5666 			req->args.field_entry_add.entry_info,
   5667 			req->args.field_entry_add.entry_handle);
   5668 		break;
   5669 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_CONFIG_COPY:
   5670 		rv = bcm_field_entry_config_copy(
   5671 			req->args.field_entry_config_copy.unit,
   5672 			req->args.field_entry_config_copy.src_entry,
   5673 			req->args.field_entry_config_copy.dst_entry,
   5674 			req->args.field_entry_config_copy.flags);
   5675 		break;
   5676 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_COPY:
   5677 		rv = bcm_field_entry_copy(
   5678 			req->args.field_entry_copy.unit,
   5679 			req->args.field_entry_copy.src_entry,
   5680 			req->args.field_entry_copy.dst_entry);
   5681 		break;
   5682 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_COPY_ID:
   5683 		rv = bcm_field_entry_copy_id(
   5684 			req->args.field_entry_copy_id.unit,
   5685 			req->args.field_entry_copy_id.src_entry,
   5686 			req->args.field_entry_copy_id.dst_entry);
   5687 		break;
   5688 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_CREATE:
   5689 		rv = bcm_field_entry_create(
   5690 			req->args.field_entry_create.unit,
   5691 			req->args.field_entry_create.group,
   5692 			req->args.field_entry_create.entry);
   5693 		break;
   5694 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_CREATE_ID:
   5695 		rv = bcm_field_entry_create_id(
   5696 			req->args.field_entry_create_id.unit,
   5697 			req->args.field_entry_create_id.group,
   5698 			req->args.field_entry_create_id.entry);
   5699 		break;
   5700 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_DELETE:
   5701 		rv = bcm_field_entry_delete(
   5702 			req->args.field_entry_delete.unit,
   5703 			req->args.field_entry_delete.fg_id,
   5704 			req->args.field_entry_delete.entry_qual_info,
   5705 			req->args.field_entry_delete.entry_handle);
   5706 		break;
   5707 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_DELETE_ALL:
   5708 		rv = bcm_field_entry_delete_all(
   5709 			req->args.field_entry_delete_all.unit);
   5710 		break;
   5711 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_DESTROY:
   5712 		rv = bcm_field_entry_destroy(
   5713 			req->args.field_entry_destroy.unit,
   5714 			req->args.field_entry_destroy.entry);
   5715 		break;
   5716 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_DESTROY_ALL:
   5717 		rv = bcm_field_entry_destroy_all(
   5718 			req->args.field_entry_destroy_all.unit);
   5719 		break;
   5720 #ifdef	BROADCOM_DEBUG
   5721 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_DUMP:
   5722 		rv = bcm_field_entry_dump(
   5723 			req->args.field_entry_dump.unit,
   5724 			req->args.field_entry_dump.entry);
   5725 		break;
   5726 #endif	/* BROADCOM_DEBUG */
   5727 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_ENABLE_GET:
   5728 		rv = bcm_field_entry_enable_get(
   5729 			req->args.field_entry_enable_get.unit,
   5730 			req->args.field_entry_enable_get.entry,
   5731 			req->args.field_entry_enable_get.enable_flag);
   5732 		break;
   5733 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_ENABLE_SET:
   5734 		rv = bcm_field_entry_enable_set(
   5735 			req->args.field_entry_enable_set.unit,
   5736 			req->args.field_entry_enable_set.entry,
   5737 			req->args.field_entry_enable_set.enable_flag);
   5738 		break;
   5739 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_HIT_FLUSH:
   5740 		rv = bcm_field_entry_hit_flush(
   5741 			req->args.field_entry_hit_flush.unit,
   5742 			req->args.field_entry_hit_flush.flags,
   5743 			req->args.field_entry_hit_flush.entry_handle);
   5744 		break;
   5745 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_HIT_GET:
   5746 		rv = bcm_field_entry_hit_get(
   5747 			req->args.field_entry_hit_get.unit,
   5748 			req->args.field_entry_hit_get.flags,
   5749 			req->args.field_entry_hit_get.entry_handle,
   5750 			req->args.field_entry_hit_get.entry_hit_core_bmp);
   5751 		break;
   5752 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_INFO_GET:
   5753 		rv = bcm_field_entry_info_get(
   5754 			req->args.field_entry_info_get.unit,
   5755 			req->args.field_entry_info_get.fg_id,
   5756 			req->args.field_entry_info_get.entry_handle,
   5757 			req->args.field_entry_info_get.entry_info);
   5758 		break;
   5759 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_INSTALL:
   5760 		rv = bcm_field_entry_install(
   5761 			req->args.field_entry_install.unit,
   5762 			req->args.field_entry_install.entry);
   5763 		break;
   5764 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_INSTALL_AND_HANDLER_UPDATE:
   5765 		rv = bcm_field_entry_install_and_handler_update(
   5766 			req->args.field_entry_install_and_handler_update.unit,
   5767 			req->args.field_entry_install_and_handler_update.entry,
   5768 			req->args.field_entry_install_and_handler_update.large_dt_entry);
   5769 		break;
   5770 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_MULTI_GET:
   5771 		rv = bcm_field_entry_multi_get(
   5772 			req->args.field_entry_multi_get.unit,
   5773 			req->args.field_entry_multi_get.group,
   5774 			req->args.field_entry_multi_get.entry_size,
   5775 			req->args.field_entry_multi_get.entry_array,
   5776 			req->args.field_entry_multi_get.entry_count);
   5777 		break;
   5778 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_OPERATION:
   5779 		rv = bcm_field_entry_operation(
   5780 			req->args.field_entry_operation.unit,
   5781 			req->args.field_entry_operation.entry_oper);
   5782 		break;
   5783 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_POLICER_ATTACH:
   5784 		rv = bcm_field_entry_policer_attach(
   5785 			req->args.field_entry_policer_attach.unit,
   5786 			req->args.field_entry_policer_attach.entry_id,
   5787 			req->args.field_entry_policer_attach.level,
   5788 			req->args.field_entry_policer_attach.policer_id);
   5789 		break;
   5790 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_POLICER_DETACH:
   5791 		rv = bcm_field_entry_policer_detach(
   5792 			req->args.field_entry_policer_detach.unit,
   5793 			req->args.field_entry_policer_detach.entry_id,
   5794 			req->args.field_entry_policer_detach.level);
   5795 		break;
   5796 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_POLICER_DETACH_ALL:
   5797 		rv = bcm_field_entry_policer_detach_all(
   5798 			req->args.field_entry_policer_detach_all.unit,
   5799 			req->args.field_entry_policer_detach_all.entry_id);
   5800 		break;
   5801 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_POLICER_GET:
   5802 		rv = bcm_field_entry_policer_get(
   5803 			req->args.field_entry_policer_get.unit,
   5804 			req->args.field_entry_policer_get.entry_id,
   5805 			req->args.field_entry_policer_get.level,
   5806 			req->args.field_entry_policer_get.policer_id);
   5807 		break;
   5808 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_PRIO_GET:
   5809 		rv = bcm_field_entry_prio_get(
   5810 			req->args.field_entry_prio_get.unit,
   5811 			req->args.field_entry_prio_get.entry,
   5812 			req->args.field_entry_prio_get.prio);
   5813 		break;
   5814 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_PRIO_SET:
   5815 		rv = bcm_field_entry_prio_set(
   5816 			req->args.field_entry_prio_set.unit,
   5817 			req->args.field_entry_prio_set.entry,
   5818 			req->args.field_entry_prio_set.prio);
   5819 		break;
   5820 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_REINSTALL:
   5821 		rv = bcm_field_entry_reinstall(
   5822 			req->args.field_entry_reinstall.unit,
   5823 			req->args.field_entry_reinstall.entry);
   5824 		break;
   5825 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_REMOVE:
   5826 		rv = bcm_field_entry_remove(
   5827 			req->args.field_entry_remove.unit,
   5828 			req->args.field_entry_remove.entry);
   5829 		break;
   5830 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_STAT_ATTACH:
   5831 		rv = bcm_field_entry_stat_attach(
   5832 			req->args.field_entry_stat_attach.unit,
   5833 			req->args.field_entry_stat_attach.entry,
   5834 			req->args.field_entry_stat_attach.stat_id);
   5835 		break;
   5836 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_STAT_DETACH:
   5837 		rv = bcm_field_entry_stat_detach(
   5838 			req->args.field_entry_stat_detach.unit,
   5839 			req->args.field_entry_stat_detach.entry,
   5840 			req->args.field_entry_stat_detach.stat_id);
   5841 		break;
   5842 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_STAT_EXTENDED_ATTACH:
   5843 		rv = bcm_field_entry_stat_extended_attach(
   5844 			req->args.field_entry_stat_extended_attach.unit,
   5845 			req->args.field_entry_stat_extended_attach.entry,
   5846 			req->args.field_entry_stat_extended_attach.stat_id,
   5847 			req->args.field_entry_stat_extended_attach.stat_action);
   5848 		break;
   5849 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_STAT_EXTENDED_GET:
   5850 		rv = bcm_field_entry_stat_extended_get(
   5851 			req->args.field_entry_stat_extended_get.unit,
   5852 			req->args.field_entry_stat_extended_get.entry,
   5853 			req->args.field_entry_stat_extended_get.stat_id,
   5854 			req->args.field_entry_stat_extended_get.stat_action);
   5855 		break;
   5856 	case BCM_ASYNC_ENTRY_FIELD_ENTRY_STAT_GET:
   5857 		rv = bcm_field_entry_stat_get(
   5858 			req->args.field_entry_stat_get.unit,
   5859 			req->args.field_entry_stat_get.entry,
   5860 			req->args.field_entry_stat_get.stat_id);
   5861 		break;
   5862 	case BCM_ASYNC_ENTRY_FIELD_FEM_ACTION_ADD:
   5863 		rv = bcm_field_fem_action_add(
   5864 			req->args.field_fem_action_add.unit,
   5865 			req->args.field_fem_action_add.flags,
   5866 			req->args.field_fem_action_add.fg_id,
   5867 			req->args.field_fem_action_add.encoded_position,
   5868 			req->args.field_fem_action_add.fem_action_info);
   5869 		break;
   5870 	case BCM_ASYNC_ENTRY_FIELD_FEM_ACTION_DELETE:
   5871 		rv = bcm_field_fem_action_delete(
   5872 			req->args.field_fem_action_delete.unit,
   5873 			req->args.field_fem_action_delete.fg_id,
   5874 			req->args.field_fem_action_delete.bcm_field_action_priority_t);
   5875 		break;
   5876 	case BCM_ASYNC_ENTRY_FIELD_FEM_ACTION_INFO_GET:
   5877 		rv = bcm_field_fem_action_info_get(
   5878 			req->args.field_fem_action_info_get.unit,
   5879 			req->args.field_fem_action_info_get.fg_id,
   5880 			req->args.field_fem_action_info_get.encoded_position,
   5881 			req->args.field_fem_action_info_get.fem_action_info);
   5882 		break;
   5883 	case BCM_ASYNC_ENTRY_FIELD_GROUP_ACTION_GET:
   5884 		rv = bcm_field_group_action_get(
   5885 			req->args.field_group_action_get.unit,
   5886 			req->args.field_group_action_get.group,
   5887 			req->args.field_group_action_get.aset);
   5888 		break;
   5889 	case BCM_ASYNC_ENTRY_FIELD_GROUP_ACTION_OFFSET_GET:
   5890 		rv = bcm_field_group_action_offset_get(
   5891 			req->args.field_group_action_offset_get.unit,
   5892 			req->args.field_group_action_offset_get.flags,
   5893 			req->args.field_group_action_offset_get.fg_id,
   5894 			req->args.field_group_action_offset_get.action,
   5895 			req->args.field_group_action_offset_get.offset);
   5896 		break;
   5897 	case BCM_ASYNC_ENTRY_FIELD_GROUP_ACTION_SET:
   5898 		rv = bcm_field_group_action_set(
   5899 			req->args.field_group_action_set.unit,
   5900 			req->args.field_group_action_set.group,
   5901 			req->args.field_group_action_set.aset);
   5902 		break;
   5903 	case BCM_ASYNC_ENTRY_FIELD_GROUP_ADD:
   5904 		rv = bcm_field_group_add(
   5905 			req->args.field_group_add.unit,
   5906 			req->args.field_group_add.flags,
   5907 			req->args.field_group_add.fg_info,
   5908 			req->args.field_group_add.fg_id);
   5909 		break;
   5910 	case BCM_ASYNC_ENTRY_FIELD_GROUP_COMPRESS:
   5911 		rv = bcm_field_group_compress(
   5912 			req->args.field_group_compress.unit,
   5913 			req->args.field_group_compress.group);
   5914 		break;
   5915 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CONFIG_CREATE:
   5916 		rv = bcm_field_group_config_create(
   5917 			req->args.field_group_config_create.unit,
   5918 			req->args.field_group_config_create.group_config);
   5919 		break;
   5920 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CONFIG_EXTENSION_CREATE:
   5921 		rv = bcm_field_group_config_extension_create(
   5922 			req->args.field_group_config_extension_create.unit,
   5923 			req->args.field_group_config_extension_create.group_config);
   5924 		break;
   5925 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CONFIG_VALIDATE:
   5926 		rv = bcm_field_group_config_validate(
   5927 			req->args.field_group_config_validate.unit,
   5928 			req->args.field_group_config_validate.group_config,
   5929 			req->args.field_group_config_validate.mode);
   5930 		break;
   5931 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CONTEXT_ATTACH:
   5932 		rv = bcm_field_group_context_attach(
   5933 			req->args.field_group_context_attach.unit,
   5934 			req->args.field_group_context_attach.flags,
   5935 			req->args.field_group_context_attach.fg_id,
   5936 			req->args.field_group_context_attach.context_id,
   5937 			req->args.field_group_context_attach.attach_info);
   5938 		break;
   5939 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CONTEXT_DETACH:
   5940 		rv = bcm_field_group_context_detach(
   5941 			req->args.field_group_context_detach.unit,
   5942 			req->args.field_group_context_detach.fg_id,
   5943 			req->args.field_group_context_detach.context_id);
   5944 		break;
   5945 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CONTEXT_INFO_GET:
   5946 		rv = bcm_field_group_context_info_get(
   5947 			req->args.field_group_context_info_get.unit,
   5948 			req->args.field_group_context_info_get.fg_id,
   5949 			req->args.field_group_context_info_get.context_id,
   5950 			req->args.field_group_context_info_get.attach_info);
   5951 		break;
   5952 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CREATE:
   5953 		rv = bcm_field_group_create(
   5954 			req->args.field_group_create.unit,
   5955 			req->args.field_group_create.qset,
   5956 			req->args.field_group_create.pri,
   5957 			req->args.field_group_create.group);
   5958 		break;
   5959 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CREATE_ID:
   5960 		rv = bcm_field_group_create_id(
   5961 			req->args.field_group_create_id.unit,
   5962 			req->args.field_group_create_id.qset,
   5963 			req->args.field_group_create_id.pri,
   5964 			req->args.field_group_create_id.group);
   5965 		break;
   5966 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CREATE_MODE:
   5967 		rv = bcm_field_group_create_mode(
   5968 			req->args.field_group_create_mode.unit,
   5969 			req->args.field_group_create_mode.qset,
   5970 			req->args.field_group_create_mode.pri,
   5971 			req->args.field_group_create_mode.mode,
   5972 			req->args.field_group_create_mode.group);
   5973 		break;
   5974 	case BCM_ASYNC_ENTRY_FIELD_GROUP_CREATE_MODE_ID:
   5975 		rv = bcm_field_group_create_mode_id(
   5976 			req->args.field_group_create_mode_id.unit,
   5977 			req->args.field_group_create_mode_id.qset,
   5978 			req->args.field_group_create_mode_id.pri,
   5979 			req->args.field_group_create_mode_id.mode,
   5980 			req->args.field_group_create_mode_id.group);
   5981 		break;
   5982 	case BCM_ASYNC_ENTRY_FIELD_GROUP_DEFAULT_ENTRY_GET:
   5983 		rv = bcm_field_group_default_entry_get(
   5984 			req->args.field_group_default_entry_get.unit,
   5985 			req->args.field_group_default_entry_get.group,
   5986 			req->args.field_group_default_entry_get.entry);
   5987 		break;
   5988 	case BCM_ASYNC_ENTRY_FIELD_GROUP_DEFAULT_ENTRY_SET:
   5989 		rv = bcm_field_group_default_entry_set(
   5990 			req->args.field_group_default_entry_set.unit,
   5991 			req->args.field_group_default_entry_set.group,
   5992 			req->args.field_group_default_entry_set.entry,
   5993 			req->args.field_group_default_entry_set.enable);
   5994 		break;
   5995 	case BCM_ASYNC_ENTRY_FIELD_GROUP_DELETE:
   5996 		rv = bcm_field_group_delete(
   5997 			req->args.field_group_delete.unit,
   5998 			req->args.field_group_delete.fg_id);
   5999 		break;
   6000 	case BCM_ASYNC_ENTRY_FIELD_GROUP_DESTROY:
   6001 		rv = bcm_field_group_destroy(
   6002 			req->args.field_group_destroy.unit,
   6003 			req->args.field_group_destroy.group);
   6004 		break;
   6005 #ifdef	BROADCOM_DEBUG
   6006 	case BCM_ASYNC_ENTRY_FIELD_GROUP_DUMP:
   6007 		rv = bcm_field_group_dump(
   6008 			req->args.field_group_dump.unit,
   6009 			req->args.field_group_dump.group);
   6010 		break;
   6011 #endif	/* BROADCOM_DEBUG */
   6012 	case BCM_ASYNC_ENTRY_FIELD_GROUP_ENABLE_GET:
   6013 		rv = bcm_field_group_enable_get(
   6014 			req->args.field_group_enable_get.unit,
   6015 			req->args.field_group_enable_get.group,
   6016 			req->args.field_group_enable_get.enable);
   6017 		break;
   6018 	case BCM_ASYNC_ENTRY_FIELD_GROUP_ENABLE_SET:
   6019 		rv = bcm_field_group_enable_set(
   6020 			req->args.field_group_enable_set.unit,
   6021 			req->args.field_group_enable_set.group,
   6022 			req->args.field_group_enable_set.enable);
   6023 		break;
   6024 	case BCM_ASYNC_ENTRY_FIELD_GROUP_EXPANSION_ENABLE_GET:
   6025 		rv = bcm_field_group_expansion_enable_get(
   6026 			req->args.field_group_expansion_enable_get.unit,
   6027 			req->args.field_group_expansion_enable_get.group,
   6028 			req->args.field_group_expansion_enable_get.enable);
   6029 		break;
   6030 	case BCM_ASYNC_ENTRY_FIELD_GROUP_EXPANSION_ENABLE_SET:
   6031 		rv = bcm_field_group_expansion_enable_set(
   6032 			req->args.field_group_expansion_enable_set.unit,
   6033 			req->args.field_group_expansion_enable_set.group,
   6034 			req->args.field_group_expansion_enable_set.enable);
   6035 		break;
   6036 	case BCM_ASYNC_ENTRY_FIELD_GROUP_FLUSH:
   6037 		rv = bcm_field_group_flush(
   6038 			req->args.field_group_flush.unit,
   6039 			req->args.field_group_flush.group);
   6040 		break;
   6041 	case BCM_ASYNC_ENTRY_FIELD_GROUP_GET:
   6042 		rv = bcm_field_group_get(
   6043 			req->args.field_group_get.unit,
   6044 			req->args.field_group_get.group,
   6045 			req->args.field_group_get.qset);
   6046 		break;
   6047 	case BCM_ASYNC_ENTRY_FIELD_GROUP_INFO_GET:
   6048 		rv = bcm_field_group_info_get(
   6049 			req->args.field_group_info_get.unit,
   6050 			req->args.field_group_info_get.fg_id,
   6051 			req->args.field_group_info_get.fg_info);
   6052 		break;
   6053 	case BCM_ASYNC_ENTRY_FIELD_GROUP_INSTALL:
   6054 		rv = bcm_field_group_install(
   6055 			req->args.field_group_install.unit,
   6056 			req->args.field_group_install.group);
   6057 		break;
   6058 	case BCM_ASYNC_ENTRY_FIELD_GROUP_MODE_GET:
   6059 		rv = bcm_field_group_mode_get(
   6060 			req->args.field_group_mode_get.unit,
   6061 			req->args.field_group_mode_get.group,
   6062 			req->args.field_group_mode_get.mode);
   6063 		break;
   6064 	case BCM_ASYNC_ENTRY_FIELD_GROUP_OPER_MODE_GET:
   6065 		rv = bcm_field_group_oper_mode_get(
   6066 			req->args.field_group_oper_mode_get.unit,
   6067 			req->args.field_group_oper_mode_get.stage,
   6068 			req->args.field_group_oper_mode_get.mode);
   6069 		break;
   6070 	case BCM_ASYNC_ENTRY_FIELD_GROUP_OPER_MODE_SET:
   6071 		rv = bcm_field_group_oper_mode_set(
   6072 			req->args.field_group_oper_mode_set.unit,
   6073 			req->args.field_group_oper_mode_set.stage,
   6074 			req->args.field_group_oper_mode_set.mode);
   6075 		break;
   6076 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PORT_CREATE_MODE:
   6077 		rv = bcm_field_group_port_create_mode(
   6078 			req->args.field_group_port_create_mode.unit,
   6079 			req->args.field_group_port_create_mode.port,
   6080 			req->args.field_group_port_create_mode.qset,
   6081 			req->args.field_group_port_create_mode.pri,
   6082 			req->args.field_group_port_create_mode.mode,
   6083 			req->args.field_group_port_create_mode.group);
   6084 		break;
   6085 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PORT_CREATE_MODE_ID:
   6086 		rv = bcm_field_group_port_create_mode_id(
   6087 			req->args.field_group_port_create_mode_id.unit,
   6088 			req->args.field_group_port_create_mode_id.port,
   6089 			req->args.field_group_port_create_mode_id.qset,
   6090 			req->args.field_group_port_create_mode_id.pri,
   6091 			req->args.field_group_port_create_mode_id.mode,
   6092 			req->args.field_group_port_create_mode_id.group);
   6093 		break;
   6094 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PORTS_ADD:
   6095 		rv = bcm_field_group_ports_add(
   6096 			req->args.field_group_ports_add.unit,
   6097 			req->args.field_group_ports_add.group,
   6098 			req->args.field_group_ports_add.pbmp);
   6099 		break;
   6100 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PORTS_CREATE_MODE:
   6101 		rv = bcm_field_group_ports_create_mode(
   6102 			req->args.field_group_ports_create_mode.unit,
   6103 			req->args.field_group_ports_create_mode.pbmp,
   6104 			req->args.field_group_ports_create_mode.qset,
   6105 			req->args.field_group_ports_create_mode.pri,
   6106 			req->args.field_group_ports_create_mode.mode,
   6107 			req->args.field_group_ports_create_mode.group);
   6108 		break;
   6109 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PORTS_CREATE_MODE_ID:
   6110 		rv = bcm_field_group_ports_create_mode_id(
   6111 			req->args.field_group_ports_create_mode_id.unit,
   6112 			req->args.field_group_ports_create_mode_id.pbmp,
   6113 			req->args.field_group_ports_create_mode_id.qset,
   6114 			req->args.field_group_ports_create_mode_id.pri,
   6115 			req->args.field_group_ports_create_mode_id.mode,
   6116 			req->args.field_group_ports_create_mode_id.group);
   6117 		break;
   6118 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PORTS_GET:
   6119 		rv = bcm_field_group_ports_get(
   6120 			req->args.field_group_ports_get.unit,
   6121 			req->args.field_group_ports_get.group,
   6122 			req->args.field_group_ports_get.pbmp);
   6123 		break;
   6124 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PORTS_REMOVE:
   6125 		rv = bcm_field_group_ports_remove(
   6126 			req->args.field_group_ports_remove.unit,
   6127 			req->args.field_group_ports_remove.group,
   6128 			req->args.field_group_ports_remove.pbmp);
   6129 		break;
   6130 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PRESEL_GET:
   6131 		rv = bcm_field_group_presel_get(
   6132 			req->args.field_group_presel_get.unit,
   6133 			req->args.field_group_presel_get.group,
   6134 			req->args.field_group_presel_get.presel);
   6135 		break;
   6136 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PRESEL_SET:
   6137 		rv = bcm_field_group_presel_set(
   6138 			req->args.field_group_presel_set.unit,
   6139 			req->args.field_group_presel_set.group,
   6140 			req->args.field_group_presel_set.presel);
   6141 		break;
   6142 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PRIORITY_GET:
   6143 		rv = bcm_field_group_priority_get(
   6144 			req->args.field_group_priority_get.unit,
   6145 			req->args.field_group_priority_get.group,
   6146 			req->args.field_group_priority_get.priority);
   6147 		break;
   6148 	case BCM_ASYNC_ENTRY_FIELD_GROUP_PRIORITY_SET:
   6149 		rv = bcm_field_group_priority_set(
   6150 			req->args.field_group_priority_set.unit,
   6151 			req->args.field_group_priority_set.group,
   6152 			req->args.field_group_priority_set.priority);
   6153 		break;
   6154 	case BCM_ASYNC_ENTRY_FIELD_GROUP_QUALIFIER_OFFSET_GET:
   6155 		rv = bcm_field_group_qualifier_offset_get(
   6156 			req->args.field_group_qualifier_offset_get.unit,
   6157 			req->args.field_group_qualifier_offset_get.flags,
   6158 			req->args.field_group_qualifier_offset_get.fg_id,
   6159 			req->args.field_group_qualifier_offset_get.qualifier,
   6160 			req->args.field_group_qualifier_offset_get.offset);
   6161 		break;
   6162 	case BCM_ASYNC_ENTRY_FIELD_GROUP_REMOVE:
   6163 		rv = bcm_field_group_remove(
   6164 			req->args.field_group_remove.unit,
   6165 			req->args.field_group_remove.group);
   6166 		break;
   6167 	case BCM_ASYNC_ENTRY_FIELD_GROUP_SET:
   6168 		rv = bcm_field_group_set(
   6169 			req->args.field_group_set.unit,
   6170 			req->args.field_group_set.group,
   6171 			req->args.field_group_set.qset);
   6172 		break;
   6173 	case BCM_ASYNC_ENTRY_FIELD_GROUP_STATUS_GET:
   6174 		rv = bcm_field_group_status_get(
   6175 			req->args.field_group_status_get.unit,
   6176 			req->args.field_group_status_get.group,
   6177 			req->args.field_group_status_get.status);
   6178 		break;
   6179 	case BCM_ASYNC_ENTRY_FIELD_GROUP_TRAVERSE:
   6180 		rv = bcm_field_group_traverse(
   6181 			req->args.field_group_traverse.unit,
   6182 			req->args.field_group_traverse.callback,
   6183 			req->args.field_group_traverse.user_data);
   6184 		break;
   6185 	case BCM_ASYNC_ENTRY_FIELD_GROUP_WLAN_CREATE_MODE:
   6186 		rv = bcm_field_group_wlan_create_mode(
   6187 			req->args.field_group_wlan_create_mode.unit,
   6188 			req->args.field_group_wlan_create_mode.qset,
   6189 			req->args.field_group_wlan_create_mode.pri,
   6190 			req->args.field_group_wlan_create_mode.mode,
   6191 			req->args.field_group_wlan_create_mode.group);
   6192 		break;
   6193 	case BCM_ASYNC_ENTRY_FIELD_GROUP_WLAN_CREATE_MODE_ID:
   6194 		rv = bcm_field_group_wlan_create_mode_id(
   6195 			req->args.field_group_wlan_create_mode_id.unit,
   6196 			req->args.field_group_wlan_create_mode_id.qset,
   6197 			req->args.field_group_wlan_create_mode_id.pri,
   6198 			req->args.field_group_wlan_create_mode_id.mode,
   6199 			req->args.field_group_wlan_create_mode_id.group);
   6200 		break;
   6201 	case BCM_ASYNC_ENTRY_FIELD_HINTS_ADD:
   6202 		rv = bcm_field_hints_add(
   6203 			req->args.field_hints_add.unit,
   6204 			req->args.field_hints_add.hint_id,
   6205 			req->args.field_hints_add.hint);
   6206 		break;
   6207 	case BCM_ASYNC_ENTRY_FIELD_HINTS_CREATE:
   6208 		rv = bcm_field_hints_create(
   6209 			req->args.field_hints_create.unit,
   6210 			req->args.field_hints_create.hint_id);
   6211 		break;
   6212 	case BCM_ASYNC_ENTRY_FIELD_HINTS_DELETE:
   6213 		rv = bcm_field_hints_delete(
   6214 			req->args.field_hints_delete.unit,
   6215 			req->args.field_hints_delete.hint_id,
   6216 			req->args.field_hints_delete.hint);
   6217 		break;
   6218 	case BCM_ASYNC_ENTRY_FIELD_HINTS_DELETE_ALL:
   6219 		rv = bcm_field_hints_delete_all(
   6220 			req->args.field_hints_delete_all.unit,
   6221 			req->args.field_hints_delete_all.hint_id);
   6222 		break;
   6223 	case BCM_ASYNC_ENTRY_FIELD_HINTS_DESTROY:
   6224 		rv = bcm_field_hints_destroy(
   6225 			req->args.field_hints_destroy.unit,
   6226 			req->args.field_hints_destroy.hint_id);
   6227 		break;
   6228 	case BCM_ASYNC_ENTRY_FIELD_HINTS_GET:
   6229 		rv = bcm_field_hints_get(
   6230 			req->args.field_hints_get.unit,
   6231 			req->args.field_hints_get.hint_id,
   6232 			req->args.field_hints_get.hint);
   6233 		break;
   6234 	case BCM_ASYNC_ENTRY_FIELD_INIT:
   6235 		rv = bcm_field_init(
   6236 			req->args.field_init.unit);
   6237 		break;
   6238 	case BCM_ASYNC_ENTRY_FIELD_INTERNAL_TO_BCM_ACTION_MAP:
   6239 		rv = bcm_field_internal_to_bcm_action_map(
   6240 			req->args.field_internal_to_bcm_action_map.unit,
   6241 			req->args.field_internal_to_bcm_action_map.flags,
   6242 			req->args.field_internal_to_bcm_action_map.internal_action,
   6243 			req->args.field_internal_to_bcm_action_map.bcm_action_size,
   6244 			req->args.field_internal_to_bcm_action_map.bcm_action_stage,
   6245 			req->args.field_internal_to_bcm_action_map.bcm_action_size_actual);
   6246 		break;
   6247 	case BCM_ASYNC_ENTRY_FIELD_MACSEC_DSTMACRANGE_GET:
   6248 		rv = bcm_field_macsec_DstMacRange_get(
   6249 			req->args.field_macsec_DstMacRange_get.unit,
   6250 			req->args.field_macsec_DstMacRange_get.lower_limit,
   6251 			req->args.field_macsec_DstMacRange_get.upper_limit);
   6252 		break;
   6253 	case BCM_ASYNC_ENTRY_FIELD_MACSEC_DSTMACRANGE_SET:
   6254 		rv = bcm_field_macsec_DstMacRange_set(
   6255 			req->args.field_macsec_DstMacRange_set.unit,
   6256 			req->args.field_macsec_DstMacRange_set.lower_limit,
   6257 			req->args.field_macsec_DstMacRange_set.upper_limit);
   6258 		break;
   6259 	case BCM_ASYNC_ENTRY_FIELD_OAM_STAT_ACTION_ADD:
   6260 		rv = bcm_field_oam_stat_action_add(
   6261 			req->args.field_oam_stat_action_add.unit,
   6262 			req->args.field_oam_stat_action_add.entry,
   6263 			req->args.field_oam_stat_action_add.oam_stat_action);
   6264 		break;
   6265 	case BCM_ASYNC_ENTRY_FIELD_OAM_STAT_ACTION_DELETE:
   6266 		rv = bcm_field_oam_stat_action_delete(
   6267 			req->args.field_oam_stat_action_delete.unit,
   6268 			req->args.field_oam_stat_action_delete.entry,
   6269 			req->args.field_oam_stat_action_delete.oam_stat_action);
   6270 		break;
   6271 	case BCM_ASYNC_ENTRY_FIELD_OAM_STAT_ACTION_DELETE_ALL:
   6272 		rv = bcm_field_oam_stat_action_delete_all(
   6273 			req->args.field_oam_stat_action_delete_all.unit,
   6274 			req->args.field_oam_stat_action_delete_all.entry);
   6275 		break;
   6276 	case BCM_ASYNC_ENTRY_FIELD_OAM_STAT_ACTION_GET:
   6277 		rv = bcm_field_oam_stat_action_get(
   6278 			req->args.field_oam_stat_action_get.unit,
   6279 			req->args.field_oam_stat_action_get.entry,
   6280 			req->args.field_oam_stat_action_get.oam_stat_action);
   6281 		break;
   6282 	case BCM_ASYNC_ENTRY_FIELD_OAM_STAT_ACTION_GET_ALL:
   6283 		rv = bcm_field_oam_stat_action_get_all(
   6284 			req->args.field_oam_stat_action_get_all.unit,
   6285 			req->args.field_oam_stat_action_get_all.entry,
   6286 			req->args.field_oam_stat_action_get_all.oam_stat_max,
   6287 			req->args.field_oam_stat_action_get_all.oam_stat_action,
   6288 			req->args.field_oam_stat_action_get_all.oam_stat_count);
   6289 		break;
   6290 	case BCM_ASYNC_ENTRY_FIELD_PRESEL_CONFIG_GET:
   6291 		rv = bcm_field_presel_config_get(
   6292 			req->args.field_presel_config_get.unit,
   6293 			req->args.field_presel_config_get.presel_id,
   6294 			req->args.field_presel_config_get.presel_config);
   6295 		break;
   6296 	case BCM_ASYNC_ENTRY_FIELD_PRESEL_CONFIG_SET:
   6297 		rv = bcm_field_presel_config_set(
   6298 			req->args.field_presel_config_set.unit,
   6299 			req->args.field_presel_config_set.presel_id,
   6300 			req->args.field_presel_config_set.presel_config);
   6301 		break;
   6302 	case BCM_ASYNC_ENTRY_FIELD_PRESEL_CREATE:
   6303 		rv = bcm_field_presel_create(
   6304 			req->args.field_presel_create.unit,
   6305 			req->args.field_presel_create.presel_id);
   6306 		break;
   6307 	case BCM_ASYNC_ENTRY_FIELD_PRESEL_CREATE_ID:
   6308 		rv = bcm_field_presel_create_id(
   6309 			req->args.field_presel_create_id.unit,
   6310 			req->args.field_presel_create_id.presel_id);
   6311 		break;
   6312 	case BCM_ASYNC_ENTRY_FIELD_PRESEL_CREATE_STAGE_ID:
   6313 		rv = bcm_field_presel_create_stage_id(
   6314 			req->args.field_presel_create_stage_id.unit,
   6315 			req->args.field_presel_create_stage_id.stage,
   6316 			req->args.field_presel_create_stage_id.presel_id);
   6317 		break;
   6318 	case BCM_ASYNC_ENTRY_FIELD_PRESEL_DESTROY:
   6319 		rv = bcm_field_presel_destroy(
   6320 			req->args.field_presel_destroy.unit,
   6321 			req->args.field_presel_destroy.presel_id);
   6322 		break;
   6323 	case BCM_ASYNC_ENTRY_FIELD_PRESEL_GET:
   6324 		rv = bcm_field_presel_get(
   6325 			req->args.field_presel_get.unit,
   6326 			req->args.field_presel_get.flags,
   6327 			req->args.field_presel_get.entry_id,
   6328 			req->args.field_presel_get.entry_data);
   6329 		break;
   6330 	case BCM_ASYNC_ENTRY_FIELD_PRESEL_SET:
   6331 		rv = bcm_field_presel_set(
   6332 			req->args.field_presel_set.unit,
   6333 			req->args.field_presel_set.flags,
   6334 			req->args.field_presel_set.entry_id,
   6335 			req->args.field_presel_set.entry_data);
   6336 		break;
   6337 	case BCM_ASYNC_ENTRY_FIELD_QSET_DATA_QUALIFIER_ADD:
   6338 		rv = bcm_field_qset_data_qualifier_add(
   6339 			req->args.field_qset_data_qualifier_add.unit,
   6340 			req->args.field_qset_data_qualifier_add.qset,
   6341 			req->args.field_qset_data_qualifier_add.qual_id);
   6342 		break;
   6343 	case BCM_ASYNC_ENTRY_FIELD_QSET_DATA_QUALIFIER_DELETE:
   6344 		rv = bcm_field_qset_data_qualifier_delete(
   6345 			req->args.field_qset_data_qualifier_delete.unit,
   6346 			req->args.field_qset_data_qualifier_delete.qset,
   6347 			req->args.field_qset_data_qualifier_delete.qual_id);
   6348 		break;
   6349 	case BCM_ASYNC_ENTRY_FIELD_QSET_DATA_QUALIFIER_GET:
   6350 		rv = bcm_field_qset_data_qualifier_get(
   6351 			req->args.field_qset_data_qualifier_get.unit,
   6352 			req->args.field_qset_data_qualifier_get.qset,
   6353 			req->args.field_qset_data_qualifier_get.qual_max,
   6354 			req->args.field_qset_data_qualifier_get.qual_arr,
   6355 			req->args.field_qset_data_qualifier_get.qual_count);
   6356 		break;
   6357 	case BCM_ASYNC_ENTRY_FIELD_QSET_ID_MULTI_DELETE:
   6358 		rv = bcm_field_qset_id_multi_delete(
   6359 			req->args.field_qset_id_multi_delete.unit,
   6360 			req->args.field_qset_id_multi_delete.qualifier,
   6361 			req->args.field_qset_id_multi_delete.num_objects,
   6362 			req->args.field_qset_id_multi_delete.object_list,
   6363 			req->args.field_qset_id_multi_delete.qset);
   6364 		break;
   6365 	case BCM_ASYNC_ENTRY_FIELD_QSET_ID_MULTI_GET:
   6366 		rv = bcm_field_qset_id_multi_get(
   6367 			req->args.field_qset_id_multi_get.unit,
   6368 			req->args.field_qset_id_multi_get.qset,
   6369 			req->args.field_qset_id_multi_get.qualifier,
   6370 			req->args.field_qset_id_multi_get.max_objects,
   6371 			req->args.field_qset_id_multi_get.object_list,
   6372 			req->args.field_qset_id_multi_get.count_objects);
   6373 		break;
   6374 	case BCM_ASYNC_ENTRY_FIELD_QSET_ID_MULTI_SET:
   6375 		rv = bcm_field_qset_id_multi_set(
   6376 			req->args.field_qset_id_multi_set.unit,
   6377 			req->args.field_qset_id_multi_set.qualifier,
   6378 			req->args.field_qset_id_multi_set.num_objects,
   6379 			req->args.field_qset_id_multi_set.object_list,
   6380 			req->args.field_qset_id_multi_set.qset);
   6381 		break;
   6382 	case BCM_ASYNC_ENTRY_FIELD_QUALIFIER_CREATE:
   6383 		rv = bcm_field_qualifier_create(
   6384 			req->args.field_qualifier_create.unit,
   6385 			req->args.field_qualifier_create.flags,
   6386 			req->args.field_qualifier_create.qual_info,
   6387 			req->args.field_qualifier_create.qual_id);
   6388 		break;
   6389 	case BCM_ASYNC_ENTRY_FIELD_QUALIFIER_DELETE:
   6390 		rv = bcm_field_qualifier_delete(
   6391 			req->args.field_qualifier_delete.unit,
   6392 			req->args.field_qualifier_delete.entry,
   6393 			req->args.field_qualifier_delete.qual_id);
   6394 		break;
   6395 	case BCM_ASYNC_ENTRY_FIELD_QUALIFIER_DESTROY:
   6396 		rv = bcm_field_qualifier_destroy(
   6397 			req->args.field_qualifier_destroy.unit,
   6398 			req->args.field_qualifier_destroy.qual_id);
   6399 		break;
   6400 	case BCM_ASYNC_ENTRY_FIELD_QUALIFIER_INFO_GET:
   6401 		rv = bcm_field_qualifier_info_get(
   6402 			req->args.field_qualifier_info_get.unit,
   6403 			req->args.field_qualifier_info_get.qual_id,
   6404 			req->args.field_qualifier_info_get.stage,
   6405 			req->args.field_qualifier_info_get.qual_info);
   6406 		break;
   6407 	case BCM_ASYNC_ENTRY_FIELD_QUALIFIER_VALUE_MAP:
   6408 		rv = bcm_field_qualifier_value_map(
   6409 			req->args.field_qualifier_value_map.unit,
   6410 			req->args.field_qualifier_value_map.stage,
   6411 			req->args.field_qualifier_value_map.bcm_qual,
   6412 			req->args.field_qualifier_value_map.bcm_value,
   6413 			req->args.field_qualifier_value_map.hw_value);
   6414 		break;
   6415 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_APPTYPE:
   6416 		rv = bcm_field_qualify_AppType(
   6417 			req->args.field_qualify_AppType.unit,
   6418 			req->args.field_qualify_AppType.entry,
   6419 			req->args.field_qualify_AppType.type);
   6420 		break;
   6421 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_APPTYPE_GET:
   6422 		rv = bcm_field_qualify_AppType_get(
   6423 			req->args.field_qualify_AppType_get.unit,
   6424 			req->args.field_qualify_AppType_get.entry,
   6425 			req->args.field_qualify_AppType_get.type);
   6426 		break;
   6427 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ARPOPCODE:
   6428 		rv = bcm_field_qualify_ArpOpcode(
   6429 			req->args.field_qualify_ArpOpcode.unit,
   6430 			req->args.field_qualify_ArpOpcode.entry,
   6431 			req->args.field_qualify_ArpOpcode.data);
   6432 		break;
   6433 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ARPOPCODE_GET:
   6434 		rv = bcm_field_qualify_ArpOpcode_get(
   6435 			req->args.field_qualify_ArpOpcode_get.unit,
   6436 			req->args.field_qualify_ArpOpcode_get.entry,
   6437 			req->args.field_qualify_ArpOpcode_get.data);
   6438 		break;
   6439 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ARPSENDERIP4:
   6440 		rv = bcm_field_qualify_ArpSenderIp4(
   6441 			req->args.field_qualify_ArpSenderIp4.unit,
   6442 			req->args.field_qualify_ArpSenderIp4.entry,
   6443 			req->args.field_qualify_ArpSenderIp4.data,
   6444 			req->args.field_qualify_ArpSenderIp4.mask);
   6445 		break;
   6446 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ARPSENDERIP4_GET:
   6447 		rv = bcm_field_qualify_ArpSenderIp4_get(
   6448 			req->args.field_qualify_ArpSenderIp4_get.unit,
   6449 			req->args.field_qualify_ArpSenderIp4_get.entry,
   6450 			req->args.field_qualify_ArpSenderIp4_get.data,
   6451 			req->args.field_qualify_ArpSenderIp4_get.mask);
   6452 		break;
   6453 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ARPTARGETIP4:
   6454 		rv = bcm_field_qualify_ArpTargetIp4(
   6455 			req->args.field_qualify_ArpTargetIp4.unit,
   6456 			req->args.field_qualify_ArpTargetIp4.entry,
   6457 			req->args.field_qualify_ArpTargetIp4.data,
   6458 			req->args.field_qualify_ArpTargetIp4.mask);
   6459 		break;
   6460 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ARPTARGETIP4_GET:
   6461 		rv = bcm_field_qualify_ArpTargetIp4_get(
   6462 			req->args.field_qualify_ArpTargetIp4_get.unit,
   6463 			req->args.field_qualify_ArpTargetIp4_get.entry,
   6464 			req->args.field_qualify_ArpTargetIp4_get.data,
   6465 			req->args.field_qualify_ArpTargetIp4_get.mask);
   6466 		break;
   6467 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BFDGOODPKT:
   6468 		rv = bcm_field_qualify_BfdGoodPkt(
   6469 			req->args.field_qualify_BfdGoodPkt.unit,
   6470 			req->args.field_qualify_BfdGoodPkt.entry,
   6471 			req->args.field_qualify_BfdGoodPkt.data,
   6472 			req->args.field_qualify_BfdGoodPkt.mask);
   6473 		break;
   6474 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BFDGOODPKT_GET:
   6475 		rv = bcm_field_qualify_BfdGoodPkt_get(
   6476 			req->args.field_qualify_BfdGoodPkt_get.unit,
   6477 			req->args.field_qualify_BfdGoodPkt_get.entry,
   6478 			req->args.field_qualify_BfdGoodPkt_get.data,
   6479 			req->args.field_qualify_BfdGoodPkt_get.mask);
   6480 		break;
   6481 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BFDPKTVERSIONONE:
   6482 		rv = bcm_field_qualify_BfdPktVersionOne(
   6483 			req->args.field_qualify_BfdPktVersionOne.unit,
   6484 			req->args.field_qualify_BfdPktVersionOne.entry,
   6485 			req->args.field_qualify_BfdPktVersionOne.data,
   6486 			req->args.field_qualify_BfdPktVersionOne.mask);
   6487 		break;
   6488 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BFDPKTVERSIONONE_GET:
   6489 		rv = bcm_field_qualify_BfdPktVersionOne_get(
   6490 			req->args.field_qualify_BfdPktVersionOne_get.unit,
   6491 			req->args.field_qualify_BfdPktVersionOne_get.entry,
   6492 			req->args.field_qualify_BfdPktVersionOne_get.data,
   6493 			req->args.field_qualify_BfdPktVersionOne_get.mask);
   6494 		break;
   6495 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BFDPKTWITHDSTIPLOOPBACKADDR:
   6496 		rv = bcm_field_qualify_BfdPktWithDstIpLoopbackAddr(
   6497 			req->args.field_qualify_BfdPktWithDstIpLoopbackAddr.unit,
   6498 			req->args.field_qualify_BfdPktWithDstIpLoopbackAddr.entry,
   6499 			req->args.field_qualify_BfdPktWithDstIpLoopbackAddr.data,
   6500 			req->args.field_qualify_BfdPktWithDstIpLoopbackAddr.mask);
   6501 		break;
   6502 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BFDPKTWITHDSTIPLOOPBACKADDR_GET:
   6503 		rv = bcm_field_qualify_BfdPktWithDstIpLoopbackAddr_get(
   6504 			req->args.field_qualify_BfdPktWithDstIpLoopbackAddr_get.unit,
   6505 			req->args.field_qualify_BfdPktWithDstIpLoopbackAddr_get.entry,
   6506 			req->args.field_qualify_BfdPktWithDstIpLoopbackAddr_get.data,
   6507 			req->args.field_qualify_BfdPktWithDstIpLoopbackAddr_get.mask);
   6508 		break;
   6509 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BFDYOURDISCRIMINATOR:
   6510 		rv = bcm_field_qualify_BfdYourDiscriminator(
   6511 			req->args.field_qualify_BfdYourDiscriminator.unit,
   6512 			req->args.field_qualify_BfdYourDiscriminator.entry,
   6513 			req->args.field_qualify_BfdYourDiscriminator.data,
   6514 			req->args.field_qualify_BfdYourDiscriminator.mask);
   6515 		break;
   6516 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BFDYOURDISCRIMINATOR_GET:
   6517 		rv = bcm_field_qualify_BfdYourDiscriminator_get(
   6518 			req->args.field_qualify_BfdYourDiscriminator_get.unit,
   6519 			req->args.field_qualify_BfdYourDiscriminator_get.entry,
   6520 			req->args.field_qualify_BfdYourDiscriminator_get.data,
   6521 			req->args.field_qualify_BfdYourDiscriminator_get.mask);
   6522 		break;
   6523 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BYPASSFILTER:
   6524 		rv = bcm_field_qualify_BypassFilter(
   6525 			req->args.field_qualify_BypassFilter.unit,
   6526 			req->args.field_qualify_BypassFilter.entry,
   6527 			req->args.field_qualify_BypassFilter.data,
   6528 			req->args.field_qualify_BypassFilter.mask);
   6529 		break;
   6530 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BYPASSFILTER32:
   6531 		rv = bcm_field_qualify_BypassFilter32(
   6532 			req->args.field_qualify_BypassFilter32.unit,
   6533 			req->args.field_qualify_BypassFilter32.entry,
   6534 			req->args.field_qualify_BypassFilter32.data,
   6535 			req->args.field_qualify_BypassFilter32.mask);
   6536 		break;
   6537 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BYPASSFILTER32_GET:
   6538 		rv = bcm_field_qualify_BypassFilter32_get(
   6539 			req->args.field_qualify_BypassFilter32_get.unit,
   6540 			req->args.field_qualify_BypassFilter32_get.entry,
   6541 			req->args.field_qualify_BypassFilter32_get.data,
   6542 			req->args.field_qualify_BypassFilter32_get.mask);
   6543 		break;
   6544 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BYPASSFILTER_GET:
   6545 		rv = bcm_field_qualify_BypassFilter_get(
   6546 			req->args.field_qualify_BypassFilter_get.unit,
   6547 			req->args.field_qualify_BypassFilter_get.entry,
   6548 			req->args.field_qualify_BypassFilter_get.data,
   6549 			req->args.field_qualify_BypassFilter_get.mask);
   6550 		break;
   6551 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BYPASSSRCMACFILTER:
   6552 		rv = bcm_field_qualify_BypassSrcMacFilter(
   6553 			req->args.field_qualify_BypassSrcMacFilter.unit,
   6554 			req->args.field_qualify_BypassSrcMacFilter.entry,
   6555 			req->args.field_qualify_BypassSrcMacFilter.data,
   6556 			req->args.field_qualify_BypassSrcMacFilter.mask);
   6557 		break;
   6558 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_BYPASSSRCMACFILTER_GET:
   6559 		rv = bcm_field_qualify_BypassSrcMacFilter_get(
   6560 			req->args.field_qualify_BypassSrcMacFilter_get.unit,
   6561 			req->args.field_qualify_BypassSrcMacFilter_get.entry,
   6562 			req->args.field_qualify_BypassSrcMacFilter_get.data,
   6563 			req->args.field_qualify_BypassSrcMacFilter_get.mask);
   6564 		break;
   6565 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPHDRRID:
   6566 		rv = bcm_field_qualify_CapwapHdrRid(
   6567 			req->args.field_qualify_CapwapHdrRid.unit,
   6568 			req->args.field_qualify_CapwapHdrRid.entry,
   6569 			req->args.field_qualify_CapwapHdrRid.data,
   6570 			req->args.field_qualify_CapwapHdrRid.mask);
   6571 		break;
   6572 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPHDRRID_GET:
   6573 		rv = bcm_field_qualify_CapwapHdrRid_get(
   6574 			req->args.field_qualify_CapwapHdrRid_get.unit,
   6575 			req->args.field_qualify_CapwapHdrRid_get.entry,
   6576 			req->args.field_qualify_CapwapHdrRid_get.data,
   6577 			req->args.field_qualify_CapwapHdrRid_get.mask);
   6578 		break;
   6579 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPHDRTYPE:
   6580 		rv = bcm_field_qualify_CapwapHdrType(
   6581 			req->args.field_qualify_CapwapHdrType.unit,
   6582 			req->args.field_qualify_CapwapHdrType.entry,
   6583 			req->args.field_qualify_CapwapHdrType.data,
   6584 			req->args.field_qualify_CapwapHdrType.mask);
   6585 		break;
   6586 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPHDRTYPE_GET:
   6587 		rv = bcm_field_qualify_CapwapHdrType_get(
   6588 			req->args.field_qualify_CapwapHdrType_get.unit,
   6589 			req->args.field_qualify_CapwapHdrType_get.entry,
   6590 			req->args.field_qualify_CapwapHdrType_get.data,
   6591 			req->args.field_qualify_CapwapHdrType_get.mask);
   6592 		break;
   6593 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADDIP:
   6594 		rv = bcm_field_qualify_CapwapPayloadDip(
   6595 			req->args.field_qualify_CapwapPayloadDip.unit,
   6596 			req->args.field_qualify_CapwapPayloadDip.entry,
   6597 			req->args.field_qualify_CapwapPayloadDip.data,
   6598 			req->args.field_qualify_CapwapPayloadDip.mask);
   6599 		break;
   6600 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADDIP6:
   6601 		rv = bcm_field_qualify_CapwapPayloadDip6(
   6602 			req->args.field_qualify_CapwapPayloadDip6.unit,
   6603 			req->args.field_qualify_CapwapPayloadDip6.entry,
   6604 			req->args.field_qualify_CapwapPayloadDip6.data,
   6605 			req->args.field_qualify_CapwapPayloadDip6.mask);
   6606 		break;
   6607 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADDIP6_GET:
   6608 		rv = bcm_field_qualify_CapwapPayloadDip6_get(
   6609 			req->args.field_qualify_CapwapPayloadDip6_get.unit,
   6610 			req->args.field_qualify_CapwapPayloadDip6_get.entry,
   6611 			req->args.field_qualify_CapwapPayloadDip6_get.data,
   6612 			req->args.field_qualify_CapwapPayloadDip6_get.mask);
   6613 		break;
   6614 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADDIP_GET:
   6615 		rv = bcm_field_qualify_CapwapPayloadDip_get(
   6616 			req->args.field_qualify_CapwapPayloadDip_get.unit,
   6617 			req->args.field_qualify_CapwapPayloadDip_get.entry,
   6618 			req->args.field_qualify_CapwapPayloadDip_get.data,
   6619 			req->args.field_qualify_CapwapPayloadDip_get.mask);
   6620 		break;
   6621 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADDSTMAC:
   6622 		rv = bcm_field_qualify_CapwapPayloadDstMac(
   6623 			req->args.field_qualify_CapwapPayloadDstMac.unit,
   6624 			req->args.field_qualify_CapwapPayloadDstMac.entry,
   6625 			req->args.field_qualify_CapwapPayloadDstMac.data,
   6626 			req->args.field_qualify_CapwapPayloadDstMac.mask);
   6627 		break;
   6628 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADDSTMAC_GET:
   6629 		rv = bcm_field_qualify_CapwapPayloadDstMac_get(
   6630 			req->args.field_qualify_CapwapPayloadDstMac_get.unit,
   6631 			req->args.field_qualify_CapwapPayloadDstMac_get.entry,
   6632 			req->args.field_qualify_CapwapPayloadDstMac_get.data,
   6633 			req->args.field_qualify_CapwapPayloadDstMac_get.mask);
   6634 		break;
   6635 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADETHERTYPE:
   6636 		rv = bcm_field_qualify_CapwapPayloadEtherType(
   6637 			req->args.field_qualify_CapwapPayloadEtherType.unit,
   6638 			req->args.field_qualify_CapwapPayloadEtherType.entry,
   6639 			req->args.field_qualify_CapwapPayloadEtherType.data,
   6640 			req->args.field_qualify_CapwapPayloadEtherType.mask);
   6641 		break;
   6642 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADETHERTYPE_GET:
   6643 		rv = bcm_field_qualify_CapwapPayloadEtherType_get(
   6644 			req->args.field_qualify_CapwapPayloadEtherType_get.unit,
   6645 			req->args.field_qualify_CapwapPayloadEtherType_get.entry,
   6646 			req->args.field_qualify_CapwapPayloadEtherType_get.data,
   6647 			req->args.field_qualify_CapwapPayloadEtherType_get.mask);
   6648 		break;
   6649 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADINNERVLAN:
   6650 		rv = bcm_field_qualify_CapwapPayloadInnerVlan(
   6651 			req->args.field_qualify_CapwapPayloadInnerVlan.unit,
   6652 			req->args.field_qualify_CapwapPayloadInnerVlan.entry,
   6653 			req->args.field_qualify_CapwapPayloadInnerVlan.data,
   6654 			req->args.field_qualify_CapwapPayloadInnerVlan.mask);
   6655 		break;
   6656 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADINNERVLANCFI:
   6657 		rv = bcm_field_qualify_CapwapPayloadInnerVlanCfi(
   6658 			req->args.field_qualify_CapwapPayloadInnerVlanCfi.unit,
   6659 			req->args.field_qualify_CapwapPayloadInnerVlanCfi.entry,
   6660 			req->args.field_qualify_CapwapPayloadInnerVlanCfi.data,
   6661 			req->args.field_qualify_CapwapPayloadInnerVlanCfi.mask);
   6662 		break;
   6663 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADINNERVLANCFI_GET:
   6664 		rv = bcm_field_qualify_CapwapPayloadInnerVlanCfi_get(
   6665 			req->args.field_qualify_CapwapPayloadInnerVlanCfi_get.unit,
   6666 			req->args.field_qualify_CapwapPayloadInnerVlanCfi_get.entry,
   6667 			req->args.field_qualify_CapwapPayloadInnerVlanCfi_get.data,
   6668 			req->args.field_qualify_CapwapPayloadInnerVlanCfi_get.mask);
   6669 		break;
   6670 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADINNERVLANID:
   6671 		rv = bcm_field_qualify_CapwapPayloadInnerVlanId(
   6672 			req->args.field_qualify_CapwapPayloadInnerVlanId.unit,
   6673 			req->args.field_qualify_CapwapPayloadInnerVlanId.entry,
   6674 			req->args.field_qualify_CapwapPayloadInnerVlanId.data,
   6675 			req->args.field_qualify_CapwapPayloadInnerVlanId.mask);
   6676 		break;
   6677 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADINNERVLANID_GET:
   6678 		rv = bcm_field_qualify_CapwapPayloadInnerVlanId_get(
   6679 			req->args.field_qualify_CapwapPayloadInnerVlanId_get.unit,
   6680 			req->args.field_qualify_CapwapPayloadInnerVlanId_get.entry,
   6681 			req->args.field_qualify_CapwapPayloadInnerVlanId_get.data,
   6682 			req->args.field_qualify_CapwapPayloadInnerVlanId_get.mask);
   6683 		break;
   6684 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADINNERVLANPRI:
   6685 		rv = bcm_field_qualify_CapwapPayloadInnerVlanPri(
   6686 			req->args.field_qualify_CapwapPayloadInnerVlanPri.unit,
   6687 			req->args.field_qualify_CapwapPayloadInnerVlanPri.entry,
   6688 			req->args.field_qualify_CapwapPayloadInnerVlanPri.data,
   6689 			req->args.field_qualify_CapwapPayloadInnerVlanPri.mask);
   6690 		break;
   6691 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADINNERVLANPRI_GET:
   6692 		rv = bcm_field_qualify_CapwapPayloadInnerVlanPri_get(
   6693 			req->args.field_qualify_CapwapPayloadInnerVlanPri_get.unit,
   6694 			req->args.field_qualify_CapwapPayloadInnerVlanPri_get.entry,
   6695 			req->args.field_qualify_CapwapPayloadInnerVlanPri_get.data,
   6696 			req->args.field_qualify_CapwapPayloadInnerVlanPri_get.mask);
   6697 		break;
   6698 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADINNERVLAN_GET:
   6699 		rv = bcm_field_qualify_CapwapPayloadInnerVlan_get(
   6700 			req->args.field_qualify_CapwapPayloadInnerVlan_get.unit,
   6701 			req->args.field_qualify_CapwapPayloadInnerVlan_get.entry,
   6702 			req->args.field_qualify_CapwapPayloadInnerVlan_get.data,
   6703 			req->args.field_qualify_CapwapPayloadInnerVlan_get.mask);
   6704 		break;
   6705 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADIPPROTOCOL:
   6706 		rv = bcm_field_qualify_CapwapPayloadIpProtocol(
   6707 			req->args.field_qualify_CapwapPayloadIpProtocol.unit,
   6708 			req->args.field_qualify_CapwapPayloadIpProtocol.entry,
   6709 			req->args.field_qualify_CapwapPayloadIpProtocol.data,
   6710 			req->args.field_qualify_CapwapPayloadIpProtocol.mask);
   6711 		break;
   6712 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADIPPROTOCOL_GET:
   6713 		rv = bcm_field_qualify_CapwapPayloadIpProtocol_get(
   6714 			req->args.field_qualify_CapwapPayloadIpProtocol_get.unit,
   6715 			req->args.field_qualify_CapwapPayloadIpProtocol_get.entry,
   6716 			req->args.field_qualify_CapwapPayloadIpProtocol_get.data,
   6717 			req->args.field_qualify_CapwapPayloadIpProtocol_get.mask);
   6718 		break;
   6719 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADL3HDRPARSEABLE:
   6720 		rv = bcm_field_qualify_CapwapPayloadL3HdrParseable(
   6721 			req->args.field_qualify_CapwapPayloadL3HdrParseable.unit,
   6722 			req->args.field_qualify_CapwapPayloadL3HdrParseable.entry,
   6723 			req->args.field_qualify_CapwapPayloadL3HdrParseable.data,
   6724 			req->args.field_qualify_CapwapPayloadL3HdrParseable.mask);
   6725 		break;
   6726 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADL3HDRPARSEABLE_GET:
   6727 		rv = bcm_field_qualify_CapwapPayloadL3HdrParseable_get(
   6728 			req->args.field_qualify_CapwapPayloadL3HdrParseable_get.unit,
   6729 			req->args.field_qualify_CapwapPayloadL3HdrParseable_get.entry,
   6730 			req->args.field_qualify_CapwapPayloadL3HdrParseable_get.data,
   6731 			req->args.field_qualify_CapwapPayloadL3HdrParseable_get.mask);
   6732 		break;
   6733 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADL4DSTPORT:
   6734 		rv = bcm_field_qualify_CapwapPayloadL4DstPort(
   6735 			req->args.field_qualify_CapwapPayloadL4DstPort.unit,
   6736 			req->args.field_qualify_CapwapPayloadL4DstPort.entry,
   6737 			req->args.field_qualify_CapwapPayloadL4DstPort.data,
   6738 			req->args.field_qualify_CapwapPayloadL4DstPort.mask);
   6739 		break;
   6740 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADL4DSTPORT_GET:
   6741 		rv = bcm_field_qualify_CapwapPayloadL4DstPort_get(
   6742 			req->args.field_qualify_CapwapPayloadL4DstPort_get.unit,
   6743 			req->args.field_qualify_CapwapPayloadL4DstPort_get.entry,
   6744 			req->args.field_qualify_CapwapPayloadL4DstPort_get.data,
   6745 			req->args.field_qualify_CapwapPayloadL4DstPort_get.mask);
   6746 		break;
   6747 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADL4HDRPARSEABLE:
   6748 		rv = bcm_field_qualify_CapwapPayloadL4HdrParseable(
   6749 			req->args.field_qualify_CapwapPayloadL4HdrParseable.unit,
   6750 			req->args.field_qualify_CapwapPayloadL4HdrParseable.entry,
   6751 			req->args.field_qualify_CapwapPayloadL4HdrParseable.data,
   6752 			req->args.field_qualify_CapwapPayloadL4HdrParseable.mask);
   6753 		break;
   6754 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADL4HDRPARSEABLE_GET:
   6755 		rv = bcm_field_qualify_CapwapPayloadL4HdrParseable_get(
   6756 			req->args.field_qualify_CapwapPayloadL4HdrParseable_get.unit,
   6757 			req->args.field_qualify_CapwapPayloadL4HdrParseable_get.entry,
   6758 			req->args.field_qualify_CapwapPayloadL4HdrParseable_get.data,
   6759 			req->args.field_qualify_CapwapPayloadL4HdrParseable_get.mask);
   6760 		break;
   6761 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADL4SRCPORT:
   6762 		rv = bcm_field_qualify_CapwapPayloadL4SrcPort(
   6763 			req->args.field_qualify_CapwapPayloadL4SrcPort.unit,
   6764 			req->args.field_qualify_CapwapPayloadL4SrcPort.entry,
   6765 			req->args.field_qualify_CapwapPayloadL4SrcPort.data,
   6766 			req->args.field_qualify_CapwapPayloadL4SrcPort.mask);
   6767 		break;
   6768 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADL4SRCPORT_GET:
   6769 		rv = bcm_field_qualify_CapwapPayloadL4SrcPort_get(
   6770 			req->args.field_qualify_CapwapPayloadL4SrcPort_get.unit,
   6771 			req->args.field_qualify_CapwapPayloadL4SrcPort_get.entry,
   6772 			req->args.field_qualify_CapwapPayloadL4SrcPort_get.data,
   6773 			req->args.field_qualify_CapwapPayloadL4SrcPort_get.mask);
   6774 		break;
   6775 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADOUTERVLAN:
   6776 		rv = bcm_field_qualify_CapwapPayloadOuterVlan(
   6777 			req->args.field_qualify_CapwapPayloadOuterVlan.unit,
   6778 			req->args.field_qualify_CapwapPayloadOuterVlan.entry,
   6779 			req->args.field_qualify_CapwapPayloadOuterVlan.data,
   6780 			req->args.field_qualify_CapwapPayloadOuterVlan.mask);
   6781 		break;
   6782 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADOUTERVLANCFI:
   6783 		rv = bcm_field_qualify_CapwapPayloadOuterVlanCfi(
   6784 			req->args.field_qualify_CapwapPayloadOuterVlanCfi.unit,
   6785 			req->args.field_qualify_CapwapPayloadOuterVlanCfi.entry,
   6786 			req->args.field_qualify_CapwapPayloadOuterVlanCfi.data,
   6787 			req->args.field_qualify_CapwapPayloadOuterVlanCfi.mask);
   6788 		break;
   6789 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADOUTERVLANCFI_GET:
   6790 		rv = bcm_field_qualify_CapwapPayloadOuterVlanCfi_get(
   6791 			req->args.field_qualify_CapwapPayloadOuterVlanCfi_get.unit,
   6792 			req->args.field_qualify_CapwapPayloadOuterVlanCfi_get.entry,
   6793 			req->args.field_qualify_CapwapPayloadOuterVlanCfi_get.data,
   6794 			req->args.field_qualify_CapwapPayloadOuterVlanCfi_get.mask);
   6795 		break;
   6796 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADOUTERVLANID:
   6797 		rv = bcm_field_qualify_CapwapPayloadOuterVlanId(
   6798 			req->args.field_qualify_CapwapPayloadOuterVlanId.unit,
   6799 			req->args.field_qualify_CapwapPayloadOuterVlanId.entry,
   6800 			req->args.field_qualify_CapwapPayloadOuterVlanId.data,
   6801 			req->args.field_qualify_CapwapPayloadOuterVlanId.mask);
   6802 		break;
   6803 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADOUTERVLANID_GET:
   6804 		rv = bcm_field_qualify_CapwapPayloadOuterVlanId_get(
   6805 			req->args.field_qualify_CapwapPayloadOuterVlanId_get.unit,
   6806 			req->args.field_qualify_CapwapPayloadOuterVlanId_get.entry,
   6807 			req->args.field_qualify_CapwapPayloadOuterVlanId_get.data,
   6808 			req->args.field_qualify_CapwapPayloadOuterVlanId_get.mask);
   6809 		break;
   6810 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADOUTERVLANPRI:
   6811 		rv = bcm_field_qualify_CapwapPayloadOuterVlanPri(
   6812 			req->args.field_qualify_CapwapPayloadOuterVlanPri.unit,
   6813 			req->args.field_qualify_CapwapPayloadOuterVlanPri.entry,
   6814 			req->args.field_qualify_CapwapPayloadOuterVlanPri.data,
   6815 			req->args.field_qualify_CapwapPayloadOuterVlanPri.mask);
   6816 		break;
   6817 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADOUTERVLANPRI_GET:
   6818 		rv = bcm_field_qualify_CapwapPayloadOuterVlanPri_get(
   6819 			req->args.field_qualify_CapwapPayloadOuterVlanPri_get.unit,
   6820 			req->args.field_qualify_CapwapPayloadOuterVlanPri_get.entry,
   6821 			req->args.field_qualify_CapwapPayloadOuterVlanPri_get.data,
   6822 			req->args.field_qualify_CapwapPayloadOuterVlanPri_get.mask);
   6823 		break;
   6824 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADOUTERVLAN_GET:
   6825 		rv = bcm_field_qualify_CapwapPayloadOuterVlan_get(
   6826 			req->args.field_qualify_CapwapPayloadOuterVlan_get.unit,
   6827 			req->args.field_qualify_CapwapPayloadOuterVlan_get.entry,
   6828 			req->args.field_qualify_CapwapPayloadOuterVlan_get.data,
   6829 			req->args.field_qualify_CapwapPayloadOuterVlan_get.mask);
   6830 		break;
   6831 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADSOF:
   6832 		rv = bcm_field_qualify_CapwapPayloadSOF(
   6833 			req->args.field_qualify_CapwapPayloadSOF.unit,
   6834 			req->args.field_qualify_CapwapPayloadSOF.entry,
   6835 			req->args.field_qualify_CapwapPayloadSOF.data,
   6836 			req->args.field_qualify_CapwapPayloadSOF.mask);
   6837 		break;
   6838 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADSOF_GET:
   6839 		rv = bcm_field_qualify_CapwapPayloadSOF_get(
   6840 			req->args.field_qualify_CapwapPayloadSOF_get.unit,
   6841 			req->args.field_qualify_CapwapPayloadSOF_get.entry,
   6842 			req->args.field_qualify_CapwapPayloadSOF_get.data,
   6843 			req->args.field_qualify_CapwapPayloadSOF_get.mask);
   6844 		break;
   6845 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADSIP:
   6846 		rv = bcm_field_qualify_CapwapPayloadSip(
   6847 			req->args.field_qualify_CapwapPayloadSip.unit,
   6848 			req->args.field_qualify_CapwapPayloadSip.entry,
   6849 			req->args.field_qualify_CapwapPayloadSip.data,
   6850 			req->args.field_qualify_CapwapPayloadSip.mask);
   6851 		break;
   6852 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADSIP6:
   6853 		rv = bcm_field_qualify_CapwapPayloadSip6(
   6854 			req->args.field_qualify_CapwapPayloadSip6.unit,
   6855 			req->args.field_qualify_CapwapPayloadSip6.entry,
   6856 			req->args.field_qualify_CapwapPayloadSip6.data,
   6857 			req->args.field_qualify_CapwapPayloadSip6.mask);
   6858 		break;
   6859 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADSIP6_GET:
   6860 		rv = bcm_field_qualify_CapwapPayloadSip6_get(
   6861 			req->args.field_qualify_CapwapPayloadSip6_get.unit,
   6862 			req->args.field_qualify_CapwapPayloadSip6_get.entry,
   6863 			req->args.field_qualify_CapwapPayloadSip6_get.data,
   6864 			req->args.field_qualify_CapwapPayloadSip6_get.mask);
   6865 		break;
   6866 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADSIP_GET:
   6867 		rv = bcm_field_qualify_CapwapPayloadSip_get(
   6868 			req->args.field_qualify_CapwapPayloadSip_get.unit,
   6869 			req->args.field_qualify_CapwapPayloadSip_get.entry,
   6870 			req->args.field_qualify_CapwapPayloadSip_get.data,
   6871 			req->args.field_qualify_CapwapPayloadSip_get.mask);
   6872 		break;
   6873 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADSRCMAC:
   6874 		rv = bcm_field_qualify_CapwapPayloadSrcMac(
   6875 			req->args.field_qualify_CapwapPayloadSrcMac.unit,
   6876 			req->args.field_qualify_CapwapPayloadSrcMac.entry,
   6877 			req->args.field_qualify_CapwapPayloadSrcMac.data,
   6878 			req->args.field_qualify_CapwapPayloadSrcMac.mask);
   6879 		break;
   6880 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADSRCMAC_GET:
   6881 		rv = bcm_field_qualify_CapwapPayloadSrcMac_get(
   6882 			req->args.field_qualify_CapwapPayloadSrcMac_get.unit,
   6883 			req->args.field_qualify_CapwapPayloadSrcMac_get.entry,
   6884 			req->args.field_qualify_CapwapPayloadSrcMac_get.data,
   6885 			req->args.field_qualify_CapwapPayloadSrcMac_get.mask);
   6886 		break;
   6887 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADTOS:
   6888 		rv = bcm_field_qualify_CapwapPayloadTos(
   6889 			req->args.field_qualify_CapwapPayloadTos.unit,
   6890 			req->args.field_qualify_CapwapPayloadTos.entry,
   6891 			req->args.field_qualify_CapwapPayloadTos.data,
   6892 			req->args.field_qualify_CapwapPayloadTos.mask);
   6893 		break;
   6894 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADTOS_GET:
   6895 		rv = bcm_field_qualify_CapwapPayloadTos_get(
   6896 			req->args.field_qualify_CapwapPayloadTos_get.unit,
   6897 			req->args.field_qualify_CapwapPayloadTos_get.entry,
   6898 			req->args.field_qualify_CapwapPayloadTos_get.data,
   6899 			req->args.field_qualify_CapwapPayloadTos_get.mask);
   6900 		break;
   6901 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADVLANFORMAT:
   6902 		rv = bcm_field_qualify_CapwapPayloadVlanFormat(
   6903 			req->args.field_qualify_CapwapPayloadVlanFormat.unit,
   6904 			req->args.field_qualify_CapwapPayloadVlanFormat.entry,
   6905 			req->args.field_qualify_CapwapPayloadVlanFormat.data,
   6906 			req->args.field_qualify_CapwapPayloadVlanFormat.mask);
   6907 		break;
   6908 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CAPWAPPAYLOADVLANFORMAT_GET:
   6909 		rv = bcm_field_qualify_CapwapPayloadVlanFormat_get(
   6910 			req->args.field_qualify_CapwapPayloadVlanFormat_get.unit,
   6911 			req->args.field_qualify_CapwapPayloadVlanFormat_get.entry,
   6912 			req->args.field_qualify_CapwapPayloadVlanFormat_get.data,
   6913 			req->args.field_qualify_CapwapPayloadVlanFormat_get.mask);
   6914 		break;
   6915 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CASCADEDKEYVALUE:
   6916 		rv = bcm_field_qualify_CascadedKeyValue(
   6917 			req->args.field_qualify_CascadedKeyValue.unit,
   6918 			req->args.field_qualify_CascadedKeyValue.entry,
   6919 			req->args.field_qualify_CascadedKeyValue.data,
   6920 			req->args.field_qualify_CascadedKeyValue.mask);
   6921 		break;
   6922 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CASCADEDKEYVALUE_GET:
   6923 		rv = bcm_field_qualify_CascadedKeyValue_get(
   6924 			req->args.field_qualify_CascadedKeyValue_get.unit,
   6925 			req->args.field_qualify_CascadedKeyValue_get.entry,
   6926 			req->args.field_qualify_CascadedKeyValue_get.data,
   6927 			req->args.field_qualify_CascadedKeyValue_get.mask);
   6928 		break;
   6929 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CLASSID:
   6930 		rv = bcm_field_qualify_ClassId(
   6931 			req->args.field_qualify_ClassId.unit,
   6932 			req->args.field_qualify_ClassId.entry,
   6933 			req->args.field_qualify_ClassId.data,
   6934 			req->args.field_qualify_ClassId.mask);
   6935 		break;
   6936 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CLASSID_GET:
   6937 		rv = bcm_field_qualify_ClassId_get(
   6938 			req->args.field_qualify_ClassId_get.unit,
   6939 			req->args.field_qualify_ClassId_get.entry,
   6940 			req->args.field_qualify_ClassId_get.data,
   6941 			req->args.field_qualify_ClassId_get.mask);
   6942 		break;
   6943 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CNTAG:
   6944 		rv = bcm_field_qualify_CnTag(
   6945 			req->args.field_qualify_CnTag.unit,
   6946 			req->args.field_qualify_CnTag.entry,
   6947 			req->args.field_qualify_CnTag.data,
   6948 			req->args.field_qualify_CnTag.mask);
   6949 		break;
   6950 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CNTAGPRESENT:
   6951 		rv = bcm_field_qualify_CnTagPresent(
   6952 			req->args.field_qualify_CnTagPresent.unit,
   6953 			req->args.field_qualify_CnTagPresent.entry,
   6954 			req->args.field_qualify_CnTagPresent.data,
   6955 			req->args.field_qualify_CnTagPresent.mask);
   6956 		break;
   6957 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CNTAGPRESENT_GET:
   6958 		rv = bcm_field_qualify_CnTagPresent_get(
   6959 			req->args.field_qualify_CnTagPresent_get.unit,
   6960 			req->args.field_qualify_CnTagPresent_get.entry,
   6961 			req->args.field_qualify_CnTagPresent_get.data,
   6962 			req->args.field_qualify_CnTagPresent_get.mask);
   6963 		break;
   6964 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CNTAG_GET:
   6965 		rv = bcm_field_qualify_CnTag_get(
   6966 			req->args.field_qualify_CnTag_get.unit,
   6967 			req->args.field_qualify_CnTag_get.entry,
   6968 			req->args.field_qualify_CnTag_get.data,
   6969 			req->args.field_qualify_CnTag_get.mask);
   6970 		break;
   6971 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_COLOR:
   6972 		rv = bcm_field_qualify_Color(
   6973 			req->args.field_qualify_Color.unit,
   6974 			req->args.field_qualify_Color.entry,
   6975 			req->args.field_qualify_Color.color);
   6976 		break;
   6977 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_COLOR_GET:
   6978 		rv = bcm_field_qualify_Color_get(
   6979 			req->args.field_qualify_Color_get.unit,
   6980 			req->args.field_qualify_Color_get.entry,
   6981 			req->args.field_qualify_Color_get.color);
   6982 		break;
   6983 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CONTAINER:
   6984 		rv = bcm_field_qualify_Container(
   6985 			req->args.field_qualify_Container.unit,
   6986 			req->args.field_qualify_Container.entry,
   6987 			req->args.field_qualify_Container.data,
   6988 			req->args.field_qualify_Container.mask);
   6989 		break;
   6990 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CONTAINER_GET:
   6991 		rv = bcm_field_qualify_Container_get(
   6992 			req->args.field_qualify_Container_get.unit,
   6993 			req->args.field_qualify_Container_get.entry,
   6994 			req->args.field_qualify_Container_get.data,
   6995 			req->args.field_qualify_Container_get.mask);
   6996 		break;
   6997 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_COSMAPSELECT:
   6998 		rv = bcm_field_qualify_CosMapSelect(
   6999 			req->args.field_qualify_CosMapSelect.unit,
   7000 			req->args.field_qualify_CosMapSelect.entry,
   7001 			req->args.field_qualify_CosMapSelect.cos_map_select);
   7002 		break;
   7003 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_COSMAPSELECT_GET:
   7004 		rv = bcm_field_qualify_CosMapSelect_get(
   7005 			req->args.field_qualify_CosMapSelect_get.unit,
   7006 			req->args.field_qualify_CosMapSelect_get.entry,
   7007 			req->args.field_qualify_CosMapSelect_get.cos_map_select);
   7008 		break;
   7009 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CPUQUEUE:
   7010 		rv = bcm_field_qualify_CpuQueue(
   7011 			req->args.field_qualify_CpuQueue.unit,
   7012 			req->args.field_qualify_CpuQueue.entry,
   7013 			req->args.field_qualify_CpuQueue.data,
   7014 			req->args.field_qualify_CpuQueue.mask);
   7015 		break;
   7016 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CPUQUEUE_GET:
   7017 		rv = bcm_field_qualify_CpuQueue_get(
   7018 			req->args.field_qualify_CpuQueue_get.unit,
   7019 			req->args.field_qualify_CpuQueue_get.entry,
   7020 			req->args.field_qualify_CpuQueue_get.data,
   7021 			req->args.field_qualify_CpuQueue_get.mask);
   7022 		break;
   7023 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CPUVISIBILITYPACKET:
   7024 		rv = bcm_field_qualify_CpuVisibilityPacket(
   7025 			req->args.field_qualify_CpuVisibilityPacket.unit,
   7026 			req->args.field_qualify_CpuVisibilityPacket.entry,
   7027 			req->args.field_qualify_CpuVisibilityPacket.data,
   7028 			req->args.field_qualify_CpuVisibilityPacket.mask);
   7029 		break;
   7030 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CPUVISIBILITYPACKET_GET:
   7031 		rv = bcm_field_qualify_CpuVisibilityPacket_get(
   7032 			req->args.field_qualify_CpuVisibilityPacket_get.unit,
   7033 			req->args.field_qualify_CpuVisibilityPacket_get.entry,
   7034 			req->args.field_qualify_CpuVisibilityPacket_get.data,
   7035 			req->args.field_qualify_CpuVisibilityPacket_get.mask);
   7036 		break;
   7037 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CUSTOMHEADERDATA:
   7038 		rv = bcm_field_qualify_CustomHeaderData(
   7039 			req->args.field_qualify_CustomHeaderData.unit,
   7040 			req->args.field_qualify_CustomHeaderData.entry,
   7041 			req->args.field_qualify_CustomHeaderData.data,
   7042 			req->args.field_qualify_CustomHeaderData.mask);
   7043 		break;
   7044 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CUSTOMHEADERDATA_GET:
   7045 		rv = bcm_field_qualify_CustomHeaderData_get(
   7046 			req->args.field_qualify_CustomHeaderData_get.unit,
   7047 			req->args.field_qualify_CustomHeaderData_get.entry,
   7048 			req->args.field_qualify_CustomHeaderData_get.data,
   7049 			req->args.field_qualify_CustomHeaderData_get.mask);
   7050 		break;
   7051 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CUSTOMHEADERPKT:
   7052 		rv = bcm_field_qualify_CustomHeaderPkt(
   7053 			req->args.field_qualify_CustomHeaderPkt.unit,
   7054 			req->args.field_qualify_CustomHeaderPkt.entry,
   7055 			req->args.field_qualify_CustomHeaderPkt.data,
   7056 			req->args.field_qualify_CustomHeaderPkt.mask);
   7057 		break;
   7058 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CUSTOMHEADERPKT_GET:
   7059 		rv = bcm_field_qualify_CustomHeaderPkt_get(
   7060 			req->args.field_qualify_CustomHeaderPkt_get.unit,
   7061 			req->args.field_qualify_CustomHeaderPkt_get.entry,
   7062 			req->args.field_qualify_CustomHeaderPkt_get.data,
   7063 			req->args.field_qualify_CustomHeaderPkt_get.mask);
   7064 		break;
   7065 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSCP:
   7066 		rv = bcm_field_qualify_DSCP(
   7067 			req->args.field_qualify_DSCP.unit,
   7068 			req->args.field_qualify_DSCP.entry,
   7069 			req->args.field_qualify_DSCP.data,
   7070 			req->args.field_qualify_DSCP.mask);
   7071 		break;
   7072 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSCP_GET:
   7073 		rv = bcm_field_qualify_DSCP_get(
   7074 			req->args.field_qualify_DSCP_get.unit,
   7075 			req->args.field_qualify_DSCP_get.entry,
   7076 			req->args.field_qualify_DSCP_get.data,
   7077 			req->args.field_qualify_DSCP_get.mask);
   7078 		break;
   7079 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DECAP:
   7080 		rv = bcm_field_qualify_Decap(
   7081 			req->args.field_qualify_Decap.unit,
   7082 			req->args.field_qualify_Decap.entry,
   7083 			req->args.field_qualify_Decap.decap);
   7084 		break;
   7085 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DECAP_GET:
   7086 		rv = bcm_field_qualify_Decap_get(
   7087 			req->args.field_qualify_Decap_get.unit,
   7088 			req->args.field_qualify_Decap_get.entry,
   7089 			req->args.field_qualify_Decap_get.decap);
   7090 		break;
   7091 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DESTVIRTUALPORTVALID:
   7092 		rv = bcm_field_qualify_DestVirtualPortValid(
   7093 			req->args.field_qualify_DestVirtualPortValid.unit,
   7094 			req->args.field_qualify_DestVirtualPortValid.entry,
   7095 			req->args.field_qualify_DestVirtualPortValid.data,
   7096 			req->args.field_qualify_DestVirtualPortValid.mask);
   7097 		break;
   7098 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DESTVIRTUALPORTVALID_GET:
   7099 		rv = bcm_field_qualify_DestVirtualPortValid_get(
   7100 			req->args.field_qualify_DestVirtualPortValid_get.unit,
   7101 			req->args.field_qualify_DestVirtualPortValid_get.entry,
   7102 			req->args.field_qualify_DestVirtualPortValid_get.data,
   7103 			req->args.field_qualify_DestVirtualPortValid_get.mask);
   7104 		break;
   7105 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DEVICEPORTBITMAP:
   7106 		rv = bcm_field_qualify_DevicePortBitmap(
   7107 			req->args.field_qualify_DevicePortBitmap.unit,
   7108 			req->args.field_qualify_DevicePortBitmap.entry,
   7109 			req->args.field_qualify_DevicePortBitmap.data,
   7110 			req->args.field_qualify_DevicePortBitmap.mask);
   7111 		break;
   7112 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DEVICEPORTBITMAP_GET:
   7113 		rv = bcm_field_qualify_DevicePortBitmap_get(
   7114 			req->args.field_qualify_DevicePortBitmap_get.unit,
   7115 			req->args.field_qualify_DevicePortBitmap_get.entry,
   7116 			req->args.field_qualify_DevicePortBitmap_get.data,
   7117 			req->args.field_qualify_DevicePortBitmap_get.mask);
   7118 		break;
   7119 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DHCP:
   7120 		rv = bcm_field_qualify_Dhcp(
   7121 			req->args.field_qualify_Dhcp.unit,
   7122 			req->args.field_qualify_Dhcp.entry,
   7123 			req->args.field_qualify_Dhcp.data,
   7124 			req->args.field_qualify_Dhcp.mask);
   7125 		break;
   7126 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DHCP_GET:
   7127 		rv = bcm_field_qualify_Dhcp_get(
   7128 			req->args.field_qualify_Dhcp_get.unit,
   7129 			req->args.field_qualify_Dhcp_get.entry,
   7130 			req->args.field_qualify_Dhcp_get.data,
   7131 			req->args.field_qualify_Dhcp_get.mask);
   7132 		break;
   7133 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DOSATTACK:
   7134 		rv = bcm_field_qualify_DosAttack(
   7135 			req->args.field_qualify_DosAttack.unit,
   7136 			req->args.field_qualify_DosAttack.entry,
   7137 			req->args.field_qualify_DosAttack.data,
   7138 			req->args.field_qualify_DosAttack.mask);
   7139 		break;
   7140 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DOSATTACKEVENTS:
   7141 		rv = bcm_field_qualify_DosAttackEvents(
   7142 			req->args.field_qualify_DosAttackEvents.unit,
   7143 			req->args.field_qualify_DosAttackEvents.entry,
   7144 			req->args.field_qualify_DosAttackEvents.data,
   7145 			req->args.field_qualify_DosAttackEvents.mask);
   7146 		break;
   7147 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DOSATTACKEVENTS_GET:
   7148 		rv = bcm_field_qualify_DosAttackEvents_get(
   7149 			req->args.field_qualify_DosAttackEvents_get.unit,
   7150 			req->args.field_qualify_DosAttackEvents_get.entry,
   7151 			req->args.field_qualify_DosAttackEvents_get.data,
   7152 			req->args.field_qualify_DosAttackEvents_get.mask);
   7153 		break;
   7154 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DOSATTACK_GET:
   7155 		rv = bcm_field_qualify_DosAttack_get(
   7156 			req->args.field_qualify_DosAttack_get.unit,
   7157 			req->args.field_qualify_DosAttack_get.entry,
   7158 			req->args.field_qualify_DosAttack_get.data,
   7159 			req->args.field_qualify_DosAttack_get.mask);
   7160 		break;
   7161 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DOWNMEPSATTERMINATED:
   7162 		rv = bcm_field_qualify_DownMepSatTerminated(
   7163 			req->args.field_qualify_DownMepSatTerminated.unit,
   7164 			req->args.field_qualify_DownMepSatTerminated.entry,
   7165 			req->args.field_qualify_DownMepSatTerminated.data,
   7166 			req->args.field_qualify_DownMepSatTerminated.mask);
   7167 		break;
   7168 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DOWNMEPSATTERMINATED_GET:
   7169 		rv = bcm_field_qualify_DownMepSatTerminated_get(
   7170 			req->args.field_qualify_DownMepSatTerminated_get.unit,
   7171 			req->args.field_qualify_DownMepSatTerminated_get.entry,
   7172 			req->args.field_qualify_DownMepSatTerminated_get.data,
   7173 			req->args.field_qualify_DownMepSatTerminated_get.mask);
   7174 		break;
   7175 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DROP:
   7176 		rv = bcm_field_qualify_Drop(
   7177 			req->args.field_qualify_Drop.unit,
   7178 			req->args.field_qualify_Drop.entry,
   7179 			req->args.field_qualify_Drop.data,
   7180 			req->args.field_qualify_Drop.mask);
   7181 		break;
   7182 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DROP_GET:
   7183 		rv = bcm_field_qualify_Drop_get(
   7184 			req->args.field_qualify_Drop_get.unit,
   7185 			req->args.field_qualify_Drop_get.entry,
   7186 			req->args.field_qualify_Drop_get.data,
   7187 			req->args.field_qualify_Drop_get.mask);
   7188 		break;
   7189 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTCLASSFIELD:
   7190 		rv = bcm_field_qualify_DstClassField(
   7191 			req->args.field_qualify_DstClassField.unit,
   7192 			req->args.field_qualify_DstClassField.entry,
   7193 			req->args.field_qualify_DstClassField.data,
   7194 			req->args.field_qualify_DstClassField.mask);
   7195 		break;
   7196 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTCLASSFIELD_GET:
   7197 		rv = bcm_field_qualify_DstClassField_get(
   7198 			req->args.field_qualify_DstClassField_get.unit,
   7199 			req->args.field_qualify_DstClassField_get.entry,
   7200 			req->args.field_qualify_DstClassField_get.data,
   7201 			req->args.field_qualify_DstClassField_get.mask);
   7202 		break;
   7203 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTCLASSL2:
   7204 		rv = bcm_field_qualify_DstClassL2(
   7205 			req->args.field_qualify_DstClassL2.unit,
   7206 			req->args.field_qualify_DstClassL2.entry,
   7207 			req->args.field_qualify_DstClassL2.data,
   7208 			req->args.field_qualify_DstClassL2.mask);
   7209 		break;
   7210 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTCLASSL2_GET:
   7211 		rv = bcm_field_qualify_DstClassL2_get(
   7212 			req->args.field_qualify_DstClassL2_get.unit,
   7213 			req->args.field_qualify_DstClassL2_get.entry,
   7214 			req->args.field_qualify_DstClassL2_get.data,
   7215 			req->args.field_qualify_DstClassL2_get.mask);
   7216 		break;
   7217 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTCLASSL3:
   7218 		rv = bcm_field_qualify_DstClassL3(
   7219 			req->args.field_qualify_DstClassL3.unit,
   7220 			req->args.field_qualify_DstClassL3.entry,
   7221 			req->args.field_qualify_DstClassL3.data,
   7222 			req->args.field_qualify_DstClassL3.mask);
   7223 		break;
   7224 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTCLASSL3_GET:
   7225 		rv = bcm_field_qualify_DstClassL3_get(
   7226 			req->args.field_qualify_DstClassL3_get.unit,
   7227 			req->args.field_qualify_DstClassL3_get.entry,
   7228 			req->args.field_qualify_DstClassL3_get.data,
   7229 			req->args.field_qualify_DstClassL3_get.mask);
   7230 		break;
   7231 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTGPORT:
   7232 		rv = bcm_field_qualify_DstGport(
   7233 			req->args.field_qualify_DstGport.unit,
   7234 			req->args.field_qualify_DstGport.entry,
   7235 			req->args.field_qualify_DstGport.port_id);
   7236 		break;
   7237 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTGPORT_GET:
   7238 		rv = bcm_field_qualify_DstGport_get(
   7239 			req->args.field_qualify_DstGport_get.unit,
   7240 			req->args.field_qualify_DstGport_get.entry,
   7241 			req->args.field_qualify_DstGport_get.port_id);
   7242 		break;
   7243 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTGPORTS:
   7244 		rv = bcm_field_qualify_DstGports(
   7245 			req->args.field_qualify_DstGports.unit,
   7246 			req->args.field_qualify_DstGports.entry,
   7247 			req->args.field_qualify_DstGports.port_id,
   7248 			req->args.field_qualify_DstGports.port_mask);
   7249 		break;
   7250 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTGPORTS_GET:
   7251 		rv = bcm_field_qualify_DstGports_get(
   7252 			req->args.field_qualify_DstGports_get.unit,
   7253 			req->args.field_qualify_DstGports_get.entry,
   7254 			req->args.field_qualify_DstGports_get.port_id,
   7255 			req->args.field_qualify_DstGports_get.port_mask);
   7256 		break;
   7257 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTHIGIG:
   7258 		rv = bcm_field_qualify_DstHiGig(
   7259 			req->args.field_qualify_DstHiGig.unit,
   7260 			req->args.field_qualify_DstHiGig.entry,
   7261 			req->args.field_qualify_DstHiGig.data,
   7262 			req->args.field_qualify_DstHiGig.mask);
   7263 		break;
   7264 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTHIGIG_GET:
   7265 		rv = bcm_field_qualify_DstHiGig_get(
   7266 			req->args.field_qualify_DstHiGig_get.unit,
   7267 			req->args.field_qualify_DstHiGig_get.entry,
   7268 			req->args.field_qualify_DstHiGig_get.data,
   7269 			req->args.field_qualify_DstHiGig_get.mask);
   7270 		break;
   7271 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP:
   7272 		rv = bcm_field_qualify_DstIp(
   7273 			req->args.field_qualify_DstIp.unit,
   7274 			req->args.field_qualify_DstIp.entry,
   7275 			req->args.field_qualify_DstIp.data,
   7276 			req->args.field_qualify_DstIp.mask);
   7277 		break;
   7278 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6:
   7279 		rv = bcm_field_qualify_DstIp6(
   7280 			req->args.field_qualify_DstIp6.unit,
   7281 			req->args.field_qualify_DstIp6.entry,
   7282 			req->args.field_qualify_DstIp6.data,
   7283 			req->args.field_qualify_DstIp6.mask);
   7284 		break;
   7285 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6CLASS:
   7286 		rv = bcm_field_qualify_DstIp6Class(
   7287 			req->args.field_qualify_DstIp6Class.unit,
   7288 			req->args.field_qualify_DstIp6Class.entry,
   7289 			req->args.field_qualify_DstIp6Class.data,
   7290 			req->args.field_qualify_DstIp6Class.mask);
   7291 		break;
   7292 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6CLASSLOWER:
   7293 		rv = bcm_field_qualify_DstIp6ClassLower(
   7294 			req->args.field_qualify_DstIp6ClassLower.unit,
   7295 			req->args.field_qualify_DstIp6ClassLower.entry,
   7296 			req->args.field_qualify_DstIp6ClassLower.data,
   7297 			req->args.field_qualify_DstIp6ClassLower.mask);
   7298 		break;
   7299 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6CLASSLOWER_GET:
   7300 		rv = bcm_field_qualify_DstIp6ClassLower_get(
   7301 			req->args.field_qualify_DstIp6ClassLower_get.unit,
   7302 			req->args.field_qualify_DstIp6ClassLower_get.entry,
   7303 			req->args.field_qualify_DstIp6ClassLower_get.data,
   7304 			req->args.field_qualify_DstIp6ClassLower_get.mask);
   7305 		break;
   7306 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6CLASSMSBNIBBLE:
   7307 		rv = bcm_field_qualify_DstIp6ClassMsbNibble(
   7308 			req->args.field_qualify_DstIp6ClassMsbNibble.unit,
   7309 			req->args.field_qualify_DstIp6ClassMsbNibble.entry,
   7310 			req->args.field_qualify_DstIp6ClassMsbNibble.data,
   7311 			req->args.field_qualify_DstIp6ClassMsbNibble.mask);
   7312 		break;
   7313 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6CLASSMSBNIBBLE_GET:
   7314 		rv = bcm_field_qualify_DstIp6ClassMsbNibble_get(
   7315 			req->args.field_qualify_DstIp6ClassMsbNibble_get.unit,
   7316 			req->args.field_qualify_DstIp6ClassMsbNibble_get.entry,
   7317 			req->args.field_qualify_DstIp6ClassMsbNibble_get.data,
   7318 			req->args.field_qualify_DstIp6ClassMsbNibble_get.mask);
   7319 		break;
   7320 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6CLASSUPPER:
   7321 		rv = bcm_field_qualify_DstIp6ClassUpper(
   7322 			req->args.field_qualify_DstIp6ClassUpper.unit,
   7323 			req->args.field_qualify_DstIp6ClassUpper.entry,
   7324 			req->args.field_qualify_DstIp6ClassUpper.data,
   7325 			req->args.field_qualify_DstIp6ClassUpper.mask);
   7326 		break;
   7327 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6CLASSUPPER_GET:
   7328 		rv = bcm_field_qualify_DstIp6ClassUpper_get(
   7329 			req->args.field_qualify_DstIp6ClassUpper_get.unit,
   7330 			req->args.field_qualify_DstIp6ClassUpper_get.entry,
   7331 			req->args.field_qualify_DstIp6ClassUpper_get.data,
   7332 			req->args.field_qualify_DstIp6ClassUpper_get.mask);
   7333 		break;
   7334 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6CLASS_GET:
   7335 		rv = bcm_field_qualify_DstIp6Class_get(
   7336 			req->args.field_qualify_DstIp6Class_get.unit,
   7337 			req->args.field_qualify_DstIp6Class_get.entry,
   7338 			req->args.field_qualify_DstIp6Class_get.data,
   7339 			req->args.field_qualify_DstIp6Class_get.mask);
   7340 		break;
   7341 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6HIGH:
   7342 		rv = bcm_field_qualify_DstIp6High(
   7343 			req->args.field_qualify_DstIp6High.unit,
   7344 			req->args.field_qualify_DstIp6High.entry,
   7345 			req->args.field_qualify_DstIp6High.data,
   7346 			req->args.field_qualify_DstIp6High.mask);
   7347 		break;
   7348 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6HIGH_GET:
   7349 		rv = bcm_field_qualify_DstIp6High_get(
   7350 			req->args.field_qualify_DstIp6High_get.unit,
   7351 			req->args.field_qualify_DstIp6High_get.entry,
   7352 			req->args.field_qualify_DstIp6High_get.data,
   7353 			req->args.field_qualify_DstIp6High_get.mask);
   7354 		break;
   7355 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6LOW:
   7356 		rv = bcm_field_qualify_DstIp6Low(
   7357 			req->args.field_qualify_DstIp6Low.unit,
   7358 			req->args.field_qualify_DstIp6Low.entry,
   7359 			req->args.field_qualify_DstIp6Low.data,
   7360 			req->args.field_qualify_DstIp6Low.mask);
   7361 		break;
   7362 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6LOW_GET:
   7363 		rv = bcm_field_qualify_DstIp6Low_get(
   7364 			req->args.field_qualify_DstIp6Low_get.unit,
   7365 			req->args.field_qualify_DstIp6Low_get.entry,
   7366 			req->args.field_qualify_DstIp6Low_get.data,
   7367 			req->args.field_qualify_DstIp6Low_get.mask);
   7368 		break;
   7369 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP6_GET:
   7370 		rv = bcm_field_qualify_DstIp6_get(
   7371 			req->args.field_qualify_DstIp6_get.unit,
   7372 			req->args.field_qualify_DstIp6_get.entry,
   7373 			req->args.field_qualify_DstIp6_get.data,
   7374 			req->args.field_qualify_DstIp6_get.mask);
   7375 		break;
   7376 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPCLASS:
   7377 		rv = bcm_field_qualify_DstIpClass(
   7378 			req->args.field_qualify_DstIpClass.unit,
   7379 			req->args.field_qualify_DstIpClass.entry,
   7380 			req->args.field_qualify_DstIpClass.data,
   7381 			req->args.field_qualify_DstIpClass.mask);
   7382 		break;
   7383 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPCLASSLOWER:
   7384 		rv = bcm_field_qualify_DstIpClassLower(
   7385 			req->args.field_qualify_DstIpClassLower.unit,
   7386 			req->args.field_qualify_DstIpClassLower.entry,
   7387 			req->args.field_qualify_DstIpClassLower.data,
   7388 			req->args.field_qualify_DstIpClassLower.mask);
   7389 		break;
   7390 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPCLASSLOWER_GET:
   7391 		rv = bcm_field_qualify_DstIpClassLower_get(
   7392 			req->args.field_qualify_DstIpClassLower_get.unit,
   7393 			req->args.field_qualify_DstIpClassLower_get.entry,
   7394 			req->args.field_qualify_DstIpClassLower_get.data,
   7395 			req->args.field_qualify_DstIpClassLower_get.mask);
   7396 		break;
   7397 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPCLASSMSBNIBBLE:
   7398 		rv = bcm_field_qualify_DstIpClassMsbNibble(
   7399 			req->args.field_qualify_DstIpClassMsbNibble.unit,
   7400 			req->args.field_qualify_DstIpClassMsbNibble.entry,
   7401 			req->args.field_qualify_DstIpClassMsbNibble.data,
   7402 			req->args.field_qualify_DstIpClassMsbNibble.mask);
   7403 		break;
   7404 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPCLASSMSBNIBBLE_GET:
   7405 		rv = bcm_field_qualify_DstIpClassMsbNibble_get(
   7406 			req->args.field_qualify_DstIpClassMsbNibble_get.unit,
   7407 			req->args.field_qualify_DstIpClassMsbNibble_get.entry,
   7408 			req->args.field_qualify_DstIpClassMsbNibble_get.data,
   7409 			req->args.field_qualify_DstIpClassMsbNibble_get.mask);
   7410 		break;
   7411 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPCLASSUPPER:
   7412 		rv = bcm_field_qualify_DstIpClassUpper(
   7413 			req->args.field_qualify_DstIpClassUpper.unit,
   7414 			req->args.field_qualify_DstIpClassUpper.entry,
   7415 			req->args.field_qualify_DstIpClassUpper.data,
   7416 			req->args.field_qualify_DstIpClassUpper.mask);
   7417 		break;
   7418 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPCLASSUPPER_GET:
   7419 		rv = bcm_field_qualify_DstIpClassUpper_get(
   7420 			req->args.field_qualify_DstIpClassUpper_get.unit,
   7421 			req->args.field_qualify_DstIpClassUpper_get.entry,
   7422 			req->args.field_qualify_DstIpClassUpper_get.data,
   7423 			req->args.field_qualify_DstIpClassUpper_get.mask);
   7424 		break;
   7425 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPCLASS_GET:
   7426 		rv = bcm_field_qualify_DstIpClass_get(
   7427 			req->args.field_qualify_DstIpClass_get.unit,
   7428 			req->args.field_qualify_DstIpClass_get.entry,
   7429 			req->args.field_qualify_DstIpClass_get.data,
   7430 			req->args.field_qualify_DstIpClass_get.mask);
   7431 		break;
   7432 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPLOCAL:
   7433 		rv = bcm_field_qualify_DstIpLocal(
   7434 			req->args.field_qualify_DstIpLocal.unit,
   7435 			req->args.field_qualify_DstIpLocal.entry,
   7436 			req->args.field_qualify_DstIpLocal.data,
   7437 			req->args.field_qualify_DstIpLocal.mask);
   7438 		break;
   7439 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIPLOCAL_GET:
   7440 		rv = bcm_field_qualify_DstIpLocal_get(
   7441 			req->args.field_qualify_DstIpLocal_get.unit,
   7442 			req->args.field_qualify_DstIpLocal_get.entry,
   7443 			req->args.field_qualify_DstIpLocal_get.data,
   7444 			req->args.field_qualify_DstIpLocal_get.mask);
   7445 		break;
   7446 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTIP_GET:
   7447 		rv = bcm_field_qualify_DstIp_get(
   7448 			req->args.field_qualify_DstIp_get.unit,
   7449 			req->args.field_qualify_DstIp_get.entry,
   7450 			req->args.field_qualify_DstIp_get.data,
   7451 			req->args.field_qualify_DstIp_get.mask);
   7452 		break;
   7453 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL2MULTICASTGROUP:
   7454 		rv = bcm_field_qualify_DstL2MulticastGroup(
   7455 			req->args.field_qualify_DstL2MulticastGroup.unit,
   7456 			req->args.field_qualify_DstL2MulticastGroup.entry,
   7457 			req->args.field_qualify_DstL2MulticastGroup.group,
   7458 			req->args.field_qualify_DstL2MulticastGroup.mask);
   7459 		break;
   7460 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL2MULTICASTGROUP_GET:
   7461 		rv = bcm_field_qualify_DstL2MulticastGroup_get(
   7462 			req->args.field_qualify_DstL2MulticastGroup_get.unit,
   7463 			req->args.field_qualify_DstL2MulticastGroup_get.entry,
   7464 			req->args.field_qualify_DstL2MulticastGroup_get.group,
   7465 			req->args.field_qualify_DstL2MulticastGroup_get.mask);
   7466 		break;
   7467 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3EGRESS:
   7468 		rv = bcm_field_qualify_DstL3Egress(
   7469 			req->args.field_qualify_DstL3Egress.unit,
   7470 			req->args.field_qualify_DstL3Egress.entry,
   7471 			req->args.field_qualify_DstL3Egress.if_id);
   7472 		break;
   7473 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3EGRESSNEXTHOPS:
   7474 		rv = bcm_field_qualify_DstL3EgressNextHops(
   7475 			req->args.field_qualify_DstL3EgressNextHops.unit,
   7476 			req->args.field_qualify_DstL3EgressNextHops.entry,
   7477 			req->args.field_qualify_DstL3EgressNextHops.data,
   7478 			req->args.field_qualify_DstL3EgressNextHops.mask);
   7479 		break;
   7480 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3EGRESSNEXTHOPSUNDERLAY:
   7481 		rv = bcm_field_qualify_DstL3EgressNextHopsUnderlay(
   7482 			req->args.field_qualify_DstL3EgressNextHopsUnderlay.unit,
   7483 			req->args.field_qualify_DstL3EgressNextHopsUnderlay.entry,
   7484 			req->args.field_qualify_DstL3EgressNextHopsUnderlay.data,
   7485 			req->args.field_qualify_DstL3EgressNextHopsUnderlay.mask);
   7486 		break;
   7487 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3EGRESSNEXTHOPSUNDERLAY_GET:
   7488 		rv = bcm_field_qualify_DstL3EgressNextHopsUnderlay_get(
   7489 			req->args.field_qualify_DstL3EgressNextHopsUnderlay_get.unit,
   7490 			req->args.field_qualify_DstL3EgressNextHopsUnderlay_get.entry,
   7491 			req->args.field_qualify_DstL3EgressNextHopsUnderlay_get.data,
   7492 			req->args.field_qualify_DstL3EgressNextHopsUnderlay_get.mask);
   7493 		break;
   7494 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3EGRESSNEXTHOPS_GET:
   7495 		rv = bcm_field_qualify_DstL3EgressNextHops_get(
   7496 			req->args.field_qualify_DstL3EgressNextHops_get.unit,
   7497 			req->args.field_qualify_DstL3EgressNextHops_get.entry,
   7498 			req->args.field_qualify_DstL3EgressNextHops_get.data,
   7499 			req->args.field_qualify_DstL3EgressNextHops_get.mask);
   7500 		break;
   7501 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3EGRESSUNDERLAY:
   7502 		rv = bcm_field_qualify_DstL3EgressUnderlay(
   7503 			req->args.field_qualify_DstL3EgressUnderlay.unit,
   7504 			req->args.field_qualify_DstL3EgressUnderlay.entry,
   7505 			req->args.field_qualify_DstL3EgressUnderlay.if_id);
   7506 		break;
   7507 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3EGRESSUNDERLAY_GET:
   7508 		rv = bcm_field_qualify_DstL3EgressUnderlay_get(
   7509 			req->args.field_qualify_DstL3EgressUnderlay_get.unit,
   7510 			req->args.field_qualify_DstL3EgressUnderlay_get.entry,
   7511 			req->args.field_qualify_DstL3EgressUnderlay_get.if_id);
   7512 		break;
   7513 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3EGRESS_GET:
   7514 		rv = bcm_field_qualify_DstL3Egress_get(
   7515 			req->args.field_qualify_DstL3Egress_get.unit,
   7516 			req->args.field_qualify_DstL3Egress_get.entry,
   7517 			req->args.field_qualify_DstL3Egress_get.if_id);
   7518 		break;
   7519 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3MULTICASTGROUP:
   7520 		rv = bcm_field_qualify_DstL3MulticastGroup(
   7521 			req->args.field_qualify_DstL3MulticastGroup.unit,
   7522 			req->args.field_qualify_DstL3MulticastGroup.entry,
   7523 			req->args.field_qualify_DstL3MulticastGroup.group,
   7524 			req->args.field_qualify_DstL3MulticastGroup.mask);
   7525 		break;
   7526 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTL3MULTICASTGROUP_GET:
   7527 		rv = bcm_field_qualify_DstL3MulticastGroup_get(
   7528 			req->args.field_qualify_DstL3MulticastGroup_get.unit,
   7529 			req->args.field_qualify_DstL3MulticastGroup_get.entry,
   7530 			req->args.field_qualify_DstL3MulticastGroup_get.group,
   7531 			req->args.field_qualify_DstL3MulticastGroup_get.mask);
   7532 		break;
   7533 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMAC:
   7534 		rv = bcm_field_qualify_DstMac(
   7535 			req->args.field_qualify_DstMac.unit,
   7536 			req->args.field_qualify_DstMac.entry,
   7537 			req->args.field_qualify_DstMac.data,
   7538 			req->args.field_qualify_DstMac.mask);
   7539 		break;
   7540 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMAC_GET:
   7541 		rv = bcm_field_qualify_DstMac_get(
   7542 			req->args.field_qualify_DstMac_get.unit,
   7543 			req->args.field_qualify_DstMac_get.entry,
   7544 			req->args.field_qualify_DstMac_get.data,
   7545 			req->args.field_qualify_DstMac_get.mask);
   7546 		break;
   7547 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMIMGPORT:
   7548 		rv = bcm_field_qualify_DstMimGport(
   7549 			req->args.field_qualify_DstMimGport.unit,
   7550 			req->args.field_qualify_DstMimGport.entry,
   7551 			req->args.field_qualify_DstMimGport.mim_port_id);
   7552 		break;
   7553 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMIMGPORT_GET:
   7554 		rv = bcm_field_qualify_DstMimGport_get(
   7555 			req->args.field_qualify_DstMimGport_get.unit,
   7556 			req->args.field_qualify_DstMimGport_get.entry,
   7557 			req->args.field_qualify_DstMimGport_get.mim_port_id);
   7558 		break;
   7559 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMIMGPORTS:
   7560 		rv = bcm_field_qualify_DstMimGports(
   7561 			req->args.field_qualify_DstMimGports.unit,
   7562 			req->args.field_qualify_DstMimGports.entry,
   7563 			req->args.field_qualify_DstMimGports.mim_port_id,
   7564 			req->args.field_qualify_DstMimGports.mim_port_mask);
   7565 		break;
   7566 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMIMGPORTS_GET:
   7567 		rv = bcm_field_qualify_DstMimGports_get(
   7568 			req->args.field_qualify_DstMimGports_get.unit,
   7569 			req->args.field_qualify_DstMimGports_get.entry,
   7570 			req->args.field_qualify_DstMimGports_get.mim_port_id,
   7571 			req->args.field_qualify_DstMimGports_get.mim_port_mask);
   7572 		break;
   7573 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMPLSGPORT:
   7574 		rv = bcm_field_qualify_DstMplsGport(
   7575 			req->args.field_qualify_DstMplsGport.unit,
   7576 			req->args.field_qualify_DstMplsGport.entry,
   7577 			req->args.field_qualify_DstMplsGport.mpls_port_id);
   7578 		break;
   7579 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMPLSGPORT_GET:
   7580 		rv = bcm_field_qualify_DstMplsGport_get(
   7581 			req->args.field_qualify_DstMplsGport_get.unit,
   7582 			req->args.field_qualify_DstMplsGport_get.entry,
   7583 			req->args.field_qualify_DstMplsGport_get.mpls_port_id);
   7584 		break;
   7585 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMPLSGPORTS:
   7586 		rv = bcm_field_qualify_DstMplsGports(
   7587 			req->args.field_qualify_DstMplsGports.unit,
   7588 			req->args.field_qualify_DstMplsGports.entry,
   7589 			req->args.field_qualify_DstMplsGports.mpls_port_id,
   7590 			req->args.field_qualify_DstMplsGports.mpls_port_mask);
   7591 		break;
   7592 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMPLSGPORTS_GET:
   7593 		rv = bcm_field_qualify_DstMplsGports_get(
   7594 			req->args.field_qualify_DstMplsGports_get.unit,
   7595 			req->args.field_qualify_DstMplsGports_get.entry,
   7596 			req->args.field_qualify_DstMplsGports_get.mpls_port_id,
   7597 			req->args.field_qualify_DstMplsGports_get.mpls_port_mask);
   7598 		break;
   7599 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTICASTGROUP:
   7600 		rv = bcm_field_qualify_DstMulticastGroup(
   7601 			req->args.field_qualify_DstMulticastGroup.unit,
   7602 			req->args.field_qualify_DstMulticastGroup.entry,
   7603 			req->args.field_qualify_DstMulticastGroup.group);
   7604 		break;
   7605 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTICASTGROUP_GET:
   7606 		rv = bcm_field_qualify_DstMulticastGroup_get(
   7607 			req->args.field_qualify_DstMulticastGroup_get.unit,
   7608 			req->args.field_qualify_DstMulticastGroup_get.entry,
   7609 			req->args.field_qualify_DstMulticastGroup_get.group);
   7610 		break;
   7611 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTICASTGROUPS:
   7612 		rv = bcm_field_qualify_DstMulticastGroups(
   7613 			req->args.field_qualify_DstMulticastGroups.unit,
   7614 			req->args.field_qualify_DstMulticastGroups.entry,
   7615 			req->args.field_qualify_DstMulticastGroups.group,
   7616 			req->args.field_qualify_DstMulticastGroups.mask);
   7617 		break;
   7618 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTICASTGROUPS_GET:
   7619 		rv = bcm_field_qualify_DstMulticastGroups_get(
   7620 			req->args.field_qualify_DstMulticastGroups_get.unit,
   7621 			req->args.field_qualify_DstMulticastGroups_get.entry,
   7622 			req->args.field_qualify_DstMulticastGroups_get.group,
   7623 			req->args.field_qualify_DstMulticastGroups_get.mask);
   7624 		break;
   7625 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTIPATH:
   7626 		rv = bcm_field_qualify_DstMultipath(
   7627 			req->args.field_qualify_DstMultipath.unit,
   7628 			req->args.field_qualify_DstMultipath.entry,
   7629 			req->args.field_qualify_DstMultipath.mpintf);
   7630 		break;
   7631 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTIPATHOVERLAY:
   7632 		rv = bcm_field_qualify_DstMultipathOverlay(
   7633 			req->args.field_qualify_DstMultipathOverlay.unit,
   7634 			req->args.field_qualify_DstMultipathOverlay.entry,
   7635 			req->args.field_qualify_DstMultipathOverlay.data,
   7636 			req->args.field_qualify_DstMultipathOverlay.mask);
   7637 		break;
   7638 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTIPATHOVERLAY_GET:
   7639 		rv = bcm_field_qualify_DstMultipathOverlay_get(
   7640 			req->args.field_qualify_DstMultipathOverlay_get.unit,
   7641 			req->args.field_qualify_DstMultipathOverlay_get.entry,
   7642 			req->args.field_qualify_DstMultipathOverlay_get.data,
   7643 			req->args.field_qualify_DstMultipathOverlay_get.mask);
   7644 		break;
   7645 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTIPATHUNDERLAY:
   7646 		rv = bcm_field_qualify_DstMultipathUnderlay(
   7647 			req->args.field_qualify_DstMultipathUnderlay.unit,
   7648 			req->args.field_qualify_DstMultipathUnderlay.entry,
   7649 			req->args.field_qualify_DstMultipathUnderlay.data,
   7650 			req->args.field_qualify_DstMultipathUnderlay.mask);
   7651 		break;
   7652 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTIPATHUNDERLAY_GET:
   7653 		rv = bcm_field_qualify_DstMultipathUnderlay_get(
   7654 			req->args.field_qualify_DstMultipathUnderlay_get.unit,
   7655 			req->args.field_qualify_DstMultipathUnderlay_get.entry,
   7656 			req->args.field_qualify_DstMultipathUnderlay_get.data,
   7657 			req->args.field_qualify_DstMultipathUnderlay_get.mask);
   7658 		break;
   7659 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTMULTIPATH_GET:
   7660 		rv = bcm_field_qualify_DstMultipath_get(
   7661 			req->args.field_qualify_DstMultipath_get.unit,
   7662 			req->args.field_qualify_DstMultipath_get.entry,
   7663 			req->args.field_qualify_DstMultipath_get.mpintf);
   7664 		break;
   7665 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTNIVGPORT:
   7666 		rv = bcm_field_qualify_DstNivGport(
   7667 			req->args.field_qualify_DstNivGport.unit,
   7668 			req->args.field_qualify_DstNivGport.entry,
   7669 			req->args.field_qualify_DstNivGport.niv_port_id);
   7670 		break;
   7671 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTNIVGPORT_GET:
   7672 		rv = bcm_field_qualify_DstNivGport_get(
   7673 			req->args.field_qualify_DstNivGport_get.unit,
   7674 			req->args.field_qualify_DstNivGport_get.entry,
   7675 			req->args.field_qualify_DstNivGport_get.niv_port_id);
   7676 		break;
   7677 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTNIVGPORTS:
   7678 		rv = bcm_field_qualify_DstNivGports(
   7679 			req->args.field_qualify_DstNivGports.unit,
   7680 			req->args.field_qualify_DstNivGports.entry,
   7681 			req->args.field_qualify_DstNivGports.niv_port_id,
   7682 			req->args.field_qualify_DstNivGports.niv_port_mask);
   7683 		break;
   7684 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTNIVGPORTS_GET:
   7685 		rv = bcm_field_qualify_DstNivGports_get(
   7686 			req->args.field_qualify_DstNivGports_get.unit,
   7687 			req->args.field_qualify_DstNivGports_get.entry,
   7688 			req->args.field_qualify_DstNivGports_get.niv_port_id,
   7689 			req->args.field_qualify_DstNivGports_get.niv_port_mask);
   7690 		break;
   7691 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORT:
   7692 		rv = bcm_field_qualify_DstPort(
   7693 			req->args.field_qualify_DstPort.unit,
   7694 			req->args.field_qualify_DstPort.entry,
   7695 			req->args.field_qualify_DstPort.data_modid,
   7696 			req->args.field_qualify_DstPort.mask_modid,
   7697 			req->args.field_qualify_DstPort.data_port,
   7698 			req->args.field_qualify_DstPort.mask_port);
   7699 		break;
   7700 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRLANID:
   7701 		rv = bcm_field_qualify_DstPortSRLanId(
   7702 			req->args.field_qualify_DstPortSRLanId.unit,
   7703 			req->args.field_qualify_DstPortSRLanId.entry,
   7704 			req->args.field_qualify_DstPortSRLanId.lan_id);
   7705 		break;
   7706 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRLANID_GET:
   7707 		rv = bcm_field_qualify_DstPortSRLanId_get(
   7708 			req->args.field_qualify_DstPortSRLanId_get.unit,
   7709 			req->args.field_qualify_DstPortSRLanId_get.entry,
   7710 			req->args.field_qualify_DstPortSRLanId_get.lan_id);
   7711 		break;
   7712 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRMODE:
   7713 		rv = bcm_field_qualify_DstPortSRMode(
   7714 			req->args.field_qualify_DstPortSRMode.unit,
   7715 			req->args.field_qualify_DstPortSRMode.entry,
   7716 			req->args.field_qualify_DstPortSRMode.type,
   7717 			req->args.field_qualify_DstPortSRMode.mask);
   7718 		break;
   7719 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRMODE_GET:
   7720 		rv = bcm_field_qualify_DstPortSRMode_get(
   7721 			req->args.field_qualify_DstPortSRMode_get.unit,
   7722 			req->args.field_qualify_DstPortSRMode_get.entry,
   7723 			req->args.field_qualify_DstPortSRMode_get.type,
   7724 			req->args.field_qualify_DstPortSRMode_get.mask);
   7725 		break;
   7726 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRNETID:
   7727 		rv = bcm_field_qualify_DstPortSRNetId(
   7728 			req->args.field_qualify_DstPortSRNetId.unit,
   7729 			req->args.field_qualify_DstPortSRNetId.entry,
   7730 			req->args.field_qualify_DstPortSRNetId.net_id,
   7731 			req->args.field_qualify_DstPortSRNetId.mask);
   7732 		break;
   7733 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRNETID_GET:
   7734 		rv = bcm_field_qualify_DstPortSRNetId_get(
   7735 			req->args.field_qualify_DstPortSRNetId_get.unit,
   7736 			req->args.field_qualify_DstPortSRNetId_get.entry,
   7737 			req->args.field_qualify_DstPortSRNetId_get.net_id,
   7738 			req->args.field_qualify_DstPortSRNetId_get.mask);
   7739 		break;
   7740 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRROLEINTERLINK:
   7741 		rv = bcm_field_qualify_DstPortSRRoleInterlink(
   7742 			req->args.field_qualify_DstPortSRRoleInterlink.unit,
   7743 			req->args.field_qualify_DstPortSRRoleInterlink.entry,
   7744 			req->args.field_qualify_DstPortSRRoleInterlink.data);
   7745 		break;
   7746 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRROLEINTERLINK_GET:
   7747 		rv = bcm_field_qualify_DstPortSRRoleInterlink_get(
   7748 			req->args.field_qualify_DstPortSRRoleInterlink_get.unit,
   7749 			req->args.field_qualify_DstPortSRRoleInterlink_get.entry,
   7750 			req->args.field_qualify_DstPortSRRoleInterlink_get.data);
   7751 		break;
   7752 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRTYPE:
   7753 		rv = bcm_field_qualify_DstPortSRType(
   7754 			req->args.field_qualify_DstPortSRType.unit,
   7755 			req->args.field_qualify_DstPortSRType.entry,
   7756 			req->args.field_qualify_DstPortSRType.type);
   7757 		break;
   7758 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORTSRTYPE_GET:
   7759 		rv = bcm_field_qualify_DstPortSRType_get(
   7760 			req->args.field_qualify_DstPortSRType_get.unit,
   7761 			req->args.field_qualify_DstPortSRType_get.entry,
   7762 			req->args.field_qualify_DstPortSRType_get.type);
   7763 		break;
   7764 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTPORT_GET:
   7765 		rv = bcm_field_qualify_DstPort_get(
   7766 			req->args.field_qualify_DstPort_get.unit,
   7767 			req->args.field_qualify_DstPort_get.entry,
   7768 			req->args.field_qualify_DstPort_get.data_modid,
   7769 			req->args.field_qualify_DstPort_get.mask_modid,
   7770 			req->args.field_qualify_DstPort_get.data_port,
   7771 			req->args.field_qualify_DstPort_get.mask_port);
   7772 		break;
   7773 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTRPFGPORT:
   7774 		rv = bcm_field_qualify_DstRpfGport(
   7775 			req->args.field_qualify_DstRpfGport.unit,
   7776 			req->args.field_qualify_DstRpfGport.entry,
   7777 			req->args.field_qualify_DstRpfGport.data);
   7778 		break;
   7779 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTRPFGPORT_GET:
   7780 		rv = bcm_field_qualify_DstRpfGport_get(
   7781 			req->args.field_qualify_DstRpfGport_get.unit,
   7782 			req->args.field_qualify_DstRpfGport_get.entry,
   7783 			req->args.field_qualify_DstRpfGport_get.data);
   7784 		break;
   7785 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTSYSPORTEXT:
   7786 		rv = bcm_field_qualify_DstSysPortExt(
   7787 			req->args.field_qualify_DstSysPortExt.unit,
   7788 			req->args.field_qualify_DstSysPortExt.entry,
   7789 			req->args.field_qualify_DstSysPortExt.data,
   7790 			req->args.field_qualify_DstSysPortExt.mask);
   7791 		break;
   7792 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTSYSPORTEXT_GET:
   7793 		rv = bcm_field_qualify_DstSysPortExt_get(
   7794 			req->args.field_qualify_DstSysPortExt_get.unit,
   7795 			req->args.field_qualify_DstSysPortExt_get.entry,
   7796 			req->args.field_qualify_DstSysPortExt_get.data,
   7797 			req->args.field_qualify_DstSysPortExt_get.mask);
   7798 		break;
   7799 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTTRUNK:
   7800 		rv = bcm_field_qualify_DstTrunk(
   7801 			req->args.field_qualify_DstTrunk.unit,
   7802 			req->args.field_qualify_DstTrunk.entry,
   7803 			req->args.field_qualify_DstTrunk.data,
   7804 			req->args.field_qualify_DstTrunk.mask);
   7805 		break;
   7806 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTTRUNK_GET:
   7807 		rv = bcm_field_qualify_DstTrunk_get(
   7808 			req->args.field_qualify_DstTrunk_get.unit,
   7809 			req->args.field_qualify_DstTrunk_get.entry,
   7810 			req->args.field_qualify_DstTrunk_get.data,
   7811 			req->args.field_qualify_DstTrunk_get.mask);
   7812 		break;
   7813 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTVLANGPORT:
   7814 		rv = bcm_field_qualify_DstVlanGport(
   7815 			req->args.field_qualify_DstVlanGport.unit,
   7816 			req->args.field_qualify_DstVlanGport.entry,
   7817 			req->args.field_qualify_DstVlanGport.vlan_port_id);
   7818 		break;
   7819 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTVLANGPORT_GET:
   7820 		rv = bcm_field_qualify_DstVlanGport_get(
   7821 			req->args.field_qualify_DstVlanGport_get.unit,
   7822 			req->args.field_qualify_DstVlanGport_get.entry,
   7823 			req->args.field_qualify_DstVlanGport_get.vlan_port_id);
   7824 		break;
   7825 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTVLANGPORTS:
   7826 		rv = bcm_field_qualify_DstVlanGports(
   7827 			req->args.field_qualify_DstVlanGports.unit,
   7828 			req->args.field_qualify_DstVlanGports.entry,
   7829 			req->args.field_qualify_DstVlanGports.vlan_port_id,
   7830 			req->args.field_qualify_DstVlanGports.vlan_port_mask);
   7831 		break;
   7832 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTVLANGPORTS_GET:
   7833 		rv = bcm_field_qualify_DstVlanGports_get(
   7834 			req->args.field_qualify_DstVlanGports_get.unit,
   7835 			req->args.field_qualify_DstVlanGports_get.entry,
   7836 			req->args.field_qualify_DstVlanGports_get.vlan_port_id,
   7837 			req->args.field_qualify_DstVlanGports_get.vlan_port_mask);
   7838 		break;
   7839 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTVXLANGPORT:
   7840 		rv = bcm_field_qualify_DstVxlanGport(
   7841 			req->args.field_qualify_DstVxlanGport.unit,
   7842 			req->args.field_qualify_DstVxlanGport.entry,
   7843 			req->args.field_qualify_DstVxlanGport.vxlan_port_id);
   7844 		break;
   7845 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTVXLANGPORT_GET:
   7846 		rv = bcm_field_qualify_DstVxlanGport_get(
   7847 			req->args.field_qualify_DstVxlanGport_get.unit,
   7848 			req->args.field_qualify_DstVxlanGport_get.entry,
   7849 			req->args.field_qualify_DstVxlanGport_get.vxlan_port_id);
   7850 		break;
   7851 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTVXLANGPORTS:
   7852 		rv = bcm_field_qualify_DstVxlanGports(
   7853 			req->args.field_qualify_DstVxlanGports.unit,
   7854 			req->args.field_qualify_DstVxlanGports.entry,
   7855 			req->args.field_qualify_DstVxlanGports.vxlan_port_id,
   7856 			req->args.field_qualify_DstVxlanGports.vxlan_port_mask);
   7857 		break;
   7858 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTVXLANGPORTS_GET:
   7859 		rv = bcm_field_qualify_DstVxlanGports_get(
   7860 			req->args.field_qualify_DstVxlanGports_get.unit,
   7861 			req->args.field_qualify_DstVxlanGports_get.entry,
   7862 			req->args.field_qualify_DstVxlanGports_get.vxlan_port_id,
   7863 			req->args.field_qualify_DstVxlanGports_get.vxlan_port_mask);
   7864 		break;
   7865 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTWLANGPORT:
   7866 		rv = bcm_field_qualify_DstWlanGport(
   7867 			req->args.field_qualify_DstWlanGport.unit,
   7868 			req->args.field_qualify_DstWlanGport.entry,
   7869 			req->args.field_qualify_DstWlanGport.wlan_port_id);
   7870 		break;
   7871 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTWLANGPORT_GET:
   7872 		rv = bcm_field_qualify_DstWlanGport_get(
   7873 			req->args.field_qualify_DstWlanGport_get.unit,
   7874 			req->args.field_qualify_DstWlanGport_get.entry,
   7875 			req->args.field_qualify_DstWlanGport_get.wlan_port_id);
   7876 		break;
   7877 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTWLANGPORTS:
   7878 		rv = bcm_field_qualify_DstWlanGports(
   7879 			req->args.field_qualify_DstWlanGports.unit,
   7880 			req->args.field_qualify_DstWlanGports.entry,
   7881 			req->args.field_qualify_DstWlanGports.wlan_port_id,
   7882 			req->args.field_qualify_DstWlanGports.wlan_port_mask);
   7883 		break;
   7884 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DSTWLANGPORTS_GET:
   7885 		rv = bcm_field_qualify_DstWlanGports_get(
   7886 			req->args.field_qualify_DstWlanGports_get.unit,
   7887 			req->args.field_qualify_DstWlanGports_get.entry,
   7888 			req->args.field_qualify_DstWlanGports_get.wlan_port_id,
   7889 			req->args.field_qualify_DstWlanGports_get.wlan_port_mask);
   7890 		break;
   7891 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ECID:
   7892 		rv = bcm_field_qualify_ECid(
   7893 			req->args.field_qualify_ECid.unit,
   7894 			req->args.field_qualify_ECid.entry,
   7895 			req->args.field_qualify_ECid.data,
   7896 			req->args.field_qualify_ECid.mask);
   7897 		break;
   7898 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ECID_GET:
   7899 		rv = bcm_field_qualify_ECid_get(
   7900 			req->args.field_qualify_ECid_get.unit,
   7901 			req->args.field_qualify_ECid_get.entry,
   7902 			req->args.field_qualify_ECid_get.data,
   7903 			req->args.field_qualify_ECid_get.mask);
   7904 		break;
   7905 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETAG:
   7906 		rv = bcm_field_qualify_ETag(
   7907 			req->args.field_qualify_ETag.unit,
   7908 			req->args.field_qualify_ETag.entry,
   7909 			req->args.field_qualify_ETag.data,
   7910 			req->args.field_qualify_ETag.mask);
   7911 		break;
   7912 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETAG_GET:
   7913 		rv = bcm_field_qualify_ETag_get(
   7914 			req->args.field_qualify_ETag_get.unit,
   7915 			req->args.field_qualify_ETag_get.entry,
   7916 			req->args.field_qualify_ETag_get.data,
   7917 			req->args.field_qualify_ETag_get.mask);
   7918 		break;
   7919 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ECNVALUE:
   7920 		rv = bcm_field_qualify_EcnValue(
   7921 			req->args.field_qualify_EcnValue.unit,
   7922 			req->args.field_qualify_EcnValue.entry,
   7923 			req->args.field_qualify_EcnValue.data,
   7924 			req->args.field_qualify_EcnValue.mask);
   7925 		break;
   7926 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ECNVALUE_GET:
   7927 		rv = bcm_field_qualify_EcnValue_get(
   7928 			req->args.field_qualify_EcnValue_get.unit,
   7929 			req->args.field_qualify_EcnValue_get.entry,
   7930 			req->args.field_qualify_EcnValue_get.data,
   7931 			req->args.field_qualify_EcnValue_get.mask);
   7932 		break;
   7933 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASS:
   7934 		rv = bcm_field_qualify_EgressClass(
   7935 			req->args.field_qualify_EgressClass.unit,
   7936 			req->args.field_qualify_EgressClass.entry,
   7937 			req->args.field_qualify_EgressClass.data,
   7938 			req->args.field_qualify_EgressClass.mask);
   7939 		break;
   7940 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSL2GRE:
   7941 		rv = bcm_field_qualify_EgressClassL2Gre(
   7942 			req->args.field_qualify_EgressClassL2Gre.unit,
   7943 			req->args.field_qualify_EgressClassL2Gre.entry,
   7944 			req->args.field_qualify_EgressClassL2Gre.data,
   7945 			req->args.field_qualify_EgressClassL2Gre.mask);
   7946 		break;
   7947 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSL2GRE_GET:
   7948 		rv = bcm_field_qualify_EgressClassL2Gre_get(
   7949 			req->args.field_qualify_EgressClassL2Gre_get.unit,
   7950 			req->args.field_qualify_EgressClassL2Gre_get.entry,
   7951 			req->args.field_qualify_EgressClassL2Gre_get.data,
   7952 			req->args.field_qualify_EgressClassL2Gre_get.mask);
   7953 		break;
   7954 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSL3INTERFACE:
   7955 		rv = bcm_field_qualify_EgressClassL3Interface(
   7956 			req->args.field_qualify_EgressClassL3Interface.unit,
   7957 			req->args.field_qualify_EgressClassL3Interface.entry,
   7958 			req->args.field_qualify_EgressClassL3Interface.data,
   7959 			req->args.field_qualify_EgressClassL3Interface.mask);
   7960 		break;
   7961 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSL3INTERFACETUNNEL:
   7962 		rv = bcm_field_qualify_EgressClassL3InterfaceTunnel(
   7963 			req->args.field_qualify_EgressClassL3InterfaceTunnel.unit,
   7964 			req->args.field_qualify_EgressClassL3InterfaceTunnel.entry,
   7965 			req->args.field_qualify_EgressClassL3InterfaceTunnel.data,
   7966 			req->args.field_qualify_EgressClassL3InterfaceTunnel.mask);
   7967 		break;
   7968 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSL3INTERFACETUNNEL_GET:
   7969 		rv = bcm_field_qualify_EgressClassL3InterfaceTunnel_get(
   7970 			req->args.field_qualify_EgressClassL3InterfaceTunnel_get.unit,
   7971 			req->args.field_qualify_EgressClassL3InterfaceTunnel_get.entry,
   7972 			req->args.field_qualify_EgressClassL3InterfaceTunnel_get.data,
   7973 			req->args.field_qualify_EgressClassL3InterfaceTunnel_get.mask);
   7974 		break;
   7975 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSL3INTERFACE_GET:
   7976 		rv = bcm_field_qualify_EgressClassL3Interface_get(
   7977 			req->args.field_qualify_EgressClassL3Interface_get.unit,
   7978 			req->args.field_qualify_EgressClassL3Interface_get.entry,
   7979 			req->args.field_qualify_EgressClassL3Interface_get.data,
   7980 			req->args.field_qualify_EgressClassL3Interface_get.mask);
   7981 		break;
   7982 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSPORT:
   7983 		rv = bcm_field_qualify_EgressClassPort(
   7984 			req->args.field_qualify_EgressClassPort.unit,
   7985 			req->args.field_qualify_EgressClassPort.entry,
   7986 			req->args.field_qualify_EgressClassPort.data,
   7987 			req->args.field_qualify_EgressClassPort.mask);
   7988 		break;
   7989 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSPORT_GET:
   7990 		rv = bcm_field_qualify_EgressClassPort_get(
   7991 			req->args.field_qualify_EgressClassPort_get.unit,
   7992 			req->args.field_qualify_EgressClassPort_get.entry,
   7993 			req->args.field_qualify_EgressClassPort_get.data,
   7994 			req->args.field_qualify_EgressClassPort_get.mask);
   7995 		break;
   7996 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSTRILL:
   7997 		rv = bcm_field_qualify_EgressClassTrill(
   7998 			req->args.field_qualify_EgressClassTrill.unit,
   7999 			req->args.field_qualify_EgressClassTrill.entry,
   8000 			req->args.field_qualify_EgressClassTrill.data,
   8001 			req->args.field_qualify_EgressClassTrill.mask);
   8002 		break;
   8003 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSTRILL_GET:
   8004 		rv = bcm_field_qualify_EgressClassTrill_get(
   8005 			req->args.field_qualify_EgressClassTrill_get.unit,
   8006 			req->args.field_qualify_EgressClassTrill_get.entry,
   8007 			req->args.field_qualify_EgressClassTrill_get.data,
   8008 			req->args.field_qualify_EgressClassTrill_get.mask);
   8009 		break;
   8010 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSTUNNEL:
   8011 		rv = bcm_field_qualify_EgressClassTunnel(
   8012 			req->args.field_qualify_EgressClassTunnel.unit,
   8013 			req->args.field_qualify_EgressClassTunnel.entry,
   8014 			req->args.field_qualify_EgressClassTunnel.data,
   8015 			req->args.field_qualify_EgressClassTunnel.mask);
   8016 		break;
   8017 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSTUNNEL_GET:
   8018 		rv = bcm_field_qualify_EgressClassTunnel_get(
   8019 			req->args.field_qualify_EgressClassTunnel_get.unit,
   8020 			req->args.field_qualify_EgressClassTunnel_get.entry,
   8021 			req->args.field_qualify_EgressClassTunnel_get.data,
   8022 			req->args.field_qualify_EgressClassTunnel_get.mask);
   8023 		break;
   8024 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSVXLAN:
   8025 		rv = bcm_field_qualify_EgressClassVxlan(
   8026 			req->args.field_qualify_EgressClassVxlan.unit,
   8027 			req->args.field_qualify_EgressClassVxlan.entry,
   8028 			req->args.field_qualify_EgressClassVxlan.data,
   8029 			req->args.field_qualify_EgressClassVxlan.mask);
   8030 		break;
   8031 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSVXLAN_GET:
   8032 		rv = bcm_field_qualify_EgressClassVxlan_get(
   8033 			req->args.field_qualify_EgressClassVxlan_get.unit,
   8034 			req->args.field_qualify_EgressClassVxlan_get.entry,
   8035 			req->args.field_qualify_EgressClassVxlan_get.data,
   8036 			req->args.field_qualify_EgressClassVxlan_get.mask);
   8037 		break;
   8038 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSWLAN:
   8039 		rv = bcm_field_qualify_EgressClassWlan(
   8040 			req->args.field_qualify_EgressClassWlan.unit,
   8041 			req->args.field_qualify_EgressClassWlan.entry,
   8042 			req->args.field_qualify_EgressClassWlan.data,
   8043 			req->args.field_qualify_EgressClassWlan.mask);
   8044 		break;
   8045 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASSWLAN_GET:
   8046 		rv = bcm_field_qualify_EgressClassWlan_get(
   8047 			req->args.field_qualify_EgressClassWlan_get.unit,
   8048 			req->args.field_qualify_EgressClassWlan_get.entry,
   8049 			req->args.field_qualify_EgressClassWlan_get.data,
   8050 			req->args.field_qualify_EgressClassWlan_get.mask);
   8051 		break;
   8052 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSCLASS_GET:
   8053 		rv = bcm_field_qualify_EgressClass_get(
   8054 			req->args.field_qualify_EgressClass_get.unit,
   8055 			req->args.field_qualify_EgressClass_get.entry,
   8056 			req->args.field_qualify_EgressClass_get.data,
   8057 			req->args.field_qualify_EgressClass_get.mask);
   8058 		break;
   8059 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSFORWARDINGCLASSID:
   8060 		rv = bcm_field_qualify_EgressForwardingClassId(
   8061 			req->args.field_qualify_EgressForwardingClassId.unit,
   8062 			req->args.field_qualify_EgressForwardingClassId.entry,
   8063 			req->args.field_qualify_EgressForwardingClassId.data,
   8064 			req->args.field_qualify_EgressForwardingClassId.mask);
   8065 		break;
   8066 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EGRESSFORWARDINGCLASSID_GET:
   8067 		rv = bcm_field_qualify_EgressForwardingClassId_get(
   8068 			req->args.field_qualify_EgressForwardingClassId_get.unit,
   8069 			req->args.field_qualify_EgressForwardingClassId_get.entry,
   8070 			req->args.field_qualify_EgressForwardingClassId_get.data,
   8071 			req->args.field_qualify_EgressForwardingClassId_get.mask);
   8072 		break;
   8073 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERTYPE:
   8074 		rv = bcm_field_qualify_EtherType(
   8075 			req->args.field_qualify_EtherType.unit,
   8076 			req->args.field_qualify_EtherType.entry,
   8077 			req->args.field_qualify_EtherType.data,
   8078 			req->args.field_qualify_EtherType.mask);
   8079 		break;
   8080 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERTYPECLASS:
   8081 		rv = bcm_field_qualify_EtherTypeClass(
   8082 			req->args.field_qualify_EtherTypeClass.unit,
   8083 			req->args.field_qualify_EtherTypeClass.entry,
   8084 			req->args.field_qualify_EtherTypeClass.data,
   8085 			req->args.field_qualify_EtherTypeClass.mask);
   8086 		break;
   8087 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERTYPECLASS_GET:
   8088 		rv = bcm_field_qualify_EtherTypeClass_get(
   8089 			req->args.field_qualify_EtherTypeClass_get.unit,
   8090 			req->args.field_qualify_EtherTypeClass_get.entry,
   8091 			req->args.field_qualify_EtherTypeClass_get.data,
   8092 			req->args.field_qualify_EtherTypeClass_get.mask);
   8093 		break;
   8094 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERTYPE_GET:
   8095 		rv = bcm_field_qualify_EtherType_get(
   8096 			req->args.field_qualify_EtherType_get.unit,
   8097 			req->args.field_qualify_EtherType_get.entry,
   8098 			req->args.field_qualify_EtherType_get.data,
   8099 			req->args.field_qualify_EtherType_get.mask);
   8100 		break;
   8101 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMCLASSVLANTRANSLATEKEYFIRST:
   8102 		rv = bcm_field_qualify_EthernetOamClassVlanTranslateKeyFirst(
   8103 			req->args.field_qualify_EthernetOamClassVlanTranslateKeyFirst.unit,
   8104 			req->args.field_qualify_EthernetOamClassVlanTranslateKeyFirst.entry,
   8105 			req->args.field_qualify_EthernetOamClassVlanTranslateKeyFirst.data,
   8106 			req->args.field_qualify_EthernetOamClassVlanTranslateKeyFirst.mask);
   8107 		break;
   8108 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMCLASSVLANTRANSLATEKEYFIRST_GET:
   8109 		rv = bcm_field_qualify_EthernetOamClassVlanTranslateKeyFirst_get(
   8110 			req->args.field_qualify_EthernetOamClassVlanTranslateKeyFirst_get.unit,
   8111 			req->args.field_qualify_EthernetOamClassVlanTranslateKeyFirst_get.entry,
   8112 			req->args.field_qualify_EthernetOamClassVlanTranslateKeyFirst_get.data,
   8113 			req->args.field_qualify_EthernetOamClassVlanTranslateKeyFirst_get.mask);
   8114 		break;
   8115 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMCLASSVLANTRANSLATEKEYSECOND:
   8116 		rv = bcm_field_qualify_EthernetOamClassVlanTranslateKeySecond(
   8117 			req->args.field_qualify_EthernetOamClassVlanTranslateKeySecond.unit,
   8118 			req->args.field_qualify_EthernetOamClassVlanTranslateKeySecond.entry,
   8119 			req->args.field_qualify_EthernetOamClassVlanTranslateKeySecond.data,
   8120 			req->args.field_qualify_EthernetOamClassVlanTranslateKeySecond.mask);
   8121 		break;
   8122 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMCLASSVLANTRANSLATEKEYSECOND_GET:
   8123 		rv = bcm_field_qualify_EthernetOamClassVlanTranslateKeySecond_get(
   8124 			req->args.field_qualify_EthernetOamClassVlanTranslateKeySecond_get.unit,
   8125 			req->args.field_qualify_EthernetOamClassVlanTranslateKeySecond_get.entry,
   8126 			req->args.field_qualify_EthernetOamClassVlanTranslateKeySecond_get.data,
   8127 			req->args.field_qualify_EthernetOamClassVlanTranslateKeySecond_get.mask);
   8128 		break;
   8129 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMCLASSVPN:
   8130 		rv = bcm_field_qualify_EthernetOamClassVpn(
   8131 			req->args.field_qualify_EthernetOamClassVpn.unit,
   8132 			req->args.field_qualify_EthernetOamClassVpn.entry,
   8133 			req->args.field_qualify_EthernetOamClassVpn.data,
   8134 			req->args.field_qualify_EthernetOamClassVpn.mask);
   8135 		break;
   8136 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMCLASSVPN_GET:
   8137 		rv = bcm_field_qualify_EthernetOamClassVpn_get(
   8138 			req->args.field_qualify_EthernetOamClassVpn_get.unit,
   8139 			req->args.field_qualify_EthernetOamClassVpn_get.entry,
   8140 			req->args.field_qualify_EthernetOamClassVpn_get.data,
   8141 			req->args.field_qualify_EthernetOamClassVpn_get.mask);
   8142 		break;
   8143 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMDSTCLASSL2:
   8144 		rv = bcm_field_qualify_EthernetOamDstClassL2(
   8145 			req->args.field_qualify_EthernetOamDstClassL2.unit,
   8146 			req->args.field_qualify_EthernetOamDstClassL2.entry,
   8147 			req->args.field_qualify_EthernetOamDstClassL2.data,
   8148 			req->args.field_qualify_EthernetOamDstClassL2.mask);
   8149 		break;
   8150 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMDSTCLASSL2_GET:
   8151 		rv = bcm_field_qualify_EthernetOamDstClassL2_get(
   8152 			req->args.field_qualify_EthernetOamDstClassL2_get.unit,
   8153 			req->args.field_qualify_EthernetOamDstClassL2_get.entry,
   8154 			req->args.field_qualify_EthernetOamDstClassL2_get.data,
   8155 			req->args.field_qualify_EthernetOamDstClassL2_get.mask);
   8156 		break;
   8157 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMHEADERBITS0_31:
   8158 		rv = bcm_field_qualify_EthernetOamHeaderBits0_31(
   8159 			req->args.field_qualify_EthernetOamHeaderBits0_31.unit,
   8160 			req->args.field_qualify_EthernetOamHeaderBits0_31.entry,
   8161 			req->args.field_qualify_EthernetOamHeaderBits0_31.data,
   8162 			req->args.field_qualify_EthernetOamHeaderBits0_31.mask);
   8163 		break;
   8164 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMHEADERBITS0_31_GET:
   8165 		rv = bcm_field_qualify_EthernetOamHeaderBits0_31_get(
   8166 			req->args.field_qualify_EthernetOamHeaderBits0_31_get.unit,
   8167 			req->args.field_qualify_EthernetOamHeaderBits0_31_get.entry,
   8168 			req->args.field_qualify_EthernetOamHeaderBits0_31_get.data,
   8169 			req->args.field_qualify_EthernetOamHeaderBits0_31_get.mask);
   8170 		break;
   8171 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMHEADERBITS32_63:
   8172 		rv = bcm_field_qualify_EthernetOamHeaderBits32_63(
   8173 			req->args.field_qualify_EthernetOamHeaderBits32_63.unit,
   8174 			req->args.field_qualify_EthernetOamHeaderBits32_63.entry,
   8175 			req->args.field_qualify_EthernetOamHeaderBits32_63.data,
   8176 			req->args.field_qualify_EthernetOamHeaderBits32_63.mask);
   8177 		break;
   8178 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMHEADERBITS32_63_GET:
   8179 		rv = bcm_field_qualify_EthernetOamHeaderBits32_63_get(
   8180 			req->args.field_qualify_EthernetOamHeaderBits32_63_get.unit,
   8181 			req->args.field_qualify_EthernetOamHeaderBits32_63_get.entry,
   8182 			req->args.field_qualify_EthernetOamHeaderBits32_63_get.data,
   8183 			req->args.field_qualify_EthernetOamHeaderBits32_63_get.mask);
   8184 		break;
   8185 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSMIM:
   8186 		rv = bcm_field_qualify_EthernetOamInterfaceClassMim(
   8187 			req->args.field_qualify_EthernetOamInterfaceClassMim.unit,
   8188 			req->args.field_qualify_EthernetOamInterfaceClassMim.entry,
   8189 			req->args.field_qualify_EthernetOamInterfaceClassMim.data,
   8190 			req->args.field_qualify_EthernetOamInterfaceClassMim.mask);
   8191 		break;
   8192 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSMIM_GET:
   8193 		rv = bcm_field_qualify_EthernetOamInterfaceClassMim_get(
   8194 			req->args.field_qualify_EthernetOamInterfaceClassMim_get.unit,
   8195 			req->args.field_qualify_EthernetOamInterfaceClassMim_get.entry,
   8196 			req->args.field_qualify_EthernetOamInterfaceClassMim_get.data,
   8197 			req->args.field_qualify_EthernetOamInterfaceClassMim_get.mask);
   8198 		break;
   8199 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSMPLS:
   8200 		rv = bcm_field_qualify_EthernetOamInterfaceClassMpls(
   8201 			req->args.field_qualify_EthernetOamInterfaceClassMpls.unit,
   8202 			req->args.field_qualify_EthernetOamInterfaceClassMpls.entry,
   8203 			req->args.field_qualify_EthernetOamInterfaceClassMpls.data,
   8204 			req->args.field_qualify_EthernetOamInterfaceClassMpls.mask);
   8205 		break;
   8206 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSMPLS_GET:
   8207 		rv = bcm_field_qualify_EthernetOamInterfaceClassMpls_get(
   8208 			req->args.field_qualify_EthernetOamInterfaceClassMpls_get.unit,
   8209 			req->args.field_qualify_EthernetOamInterfaceClassMpls_get.entry,
   8210 			req->args.field_qualify_EthernetOamInterfaceClassMpls_get.data,
   8211 			req->args.field_qualify_EthernetOamInterfaceClassMpls_get.mask);
   8212 		break;
   8213 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSNIV:
   8214 		rv = bcm_field_qualify_EthernetOamInterfaceClassNiv(
   8215 			req->args.field_qualify_EthernetOamInterfaceClassNiv.unit,
   8216 			req->args.field_qualify_EthernetOamInterfaceClassNiv.entry,
   8217 			req->args.field_qualify_EthernetOamInterfaceClassNiv.data,
   8218 			req->args.field_qualify_EthernetOamInterfaceClassNiv.mask);
   8219 		break;
   8220 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSNIV_GET:
   8221 		rv = bcm_field_qualify_EthernetOamInterfaceClassNiv_get(
   8222 			req->args.field_qualify_EthernetOamInterfaceClassNiv_get.unit,
   8223 			req->args.field_qualify_EthernetOamInterfaceClassNiv_get.entry,
   8224 			req->args.field_qualify_EthernetOamInterfaceClassNiv_get.data,
   8225 			req->args.field_qualify_EthernetOamInterfaceClassNiv_get.mask);
   8226 		break;
   8227 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSPORT:
   8228 		rv = bcm_field_qualify_EthernetOamInterfaceClassPort(
   8229 			req->args.field_qualify_EthernetOamInterfaceClassPort.unit,
   8230 			req->args.field_qualify_EthernetOamInterfaceClassPort.entry,
   8231 			req->args.field_qualify_EthernetOamInterfaceClassPort.data,
   8232 			req->args.field_qualify_EthernetOamInterfaceClassPort.mask);
   8233 		break;
   8234 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSPORT_GET:
   8235 		rv = bcm_field_qualify_EthernetOamInterfaceClassPort_get(
   8236 			req->args.field_qualify_EthernetOamInterfaceClassPort_get.unit,
   8237 			req->args.field_qualify_EthernetOamInterfaceClassPort_get.entry,
   8238 			req->args.field_qualify_EthernetOamInterfaceClassPort_get.data,
   8239 			req->args.field_qualify_EthernetOamInterfaceClassPort_get.mask);
   8240 		break;
   8241 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSVLAN:
   8242 		rv = bcm_field_qualify_EthernetOamInterfaceClassVlan(
   8243 			req->args.field_qualify_EthernetOamInterfaceClassVlan.unit,
   8244 			req->args.field_qualify_EthernetOamInterfaceClassVlan.entry,
   8245 			req->args.field_qualify_EthernetOamInterfaceClassVlan.data,
   8246 			req->args.field_qualify_EthernetOamInterfaceClassVlan.mask);
   8247 		break;
   8248 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSVLAN_GET:
   8249 		rv = bcm_field_qualify_EthernetOamInterfaceClassVlan_get(
   8250 			req->args.field_qualify_EthernetOamInterfaceClassVlan_get.unit,
   8251 			req->args.field_qualify_EthernetOamInterfaceClassVlan_get.entry,
   8252 			req->args.field_qualify_EthernetOamInterfaceClassVlan_get.data,
   8253 			req->args.field_qualify_EthernetOamInterfaceClassVlan_get.mask);
   8254 		break;
   8255 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSVXLAN:
   8256 		rv = bcm_field_qualify_EthernetOamInterfaceClassVxlan(
   8257 			req->args.field_qualify_EthernetOamInterfaceClassVxlan.unit,
   8258 			req->args.field_qualify_EthernetOamInterfaceClassVxlan.entry,
   8259 			req->args.field_qualify_EthernetOamInterfaceClassVxlan.data,
   8260 			req->args.field_qualify_EthernetOamInterfaceClassVxlan.mask);
   8261 		break;
   8262 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMINTERFACECLASSVXLAN_GET:
   8263 		rv = bcm_field_qualify_EthernetOamInterfaceClassVxlan_get(
   8264 			req->args.field_qualify_EthernetOamInterfaceClassVxlan_get.unit,
   8265 			req->args.field_qualify_EthernetOamInterfaceClassVxlan_get.entry,
   8266 			req->args.field_qualify_EthernetOamInterfaceClassVxlan_get.data,
   8267 			req->args.field_qualify_EthernetOamInterfaceClassVxlan_get.mask);
   8268 		break;
   8269 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMTXPKTUPMEP:
   8270 		rv = bcm_field_qualify_EthernetOamTxPktUPMEP(
   8271 			req->args.field_qualify_EthernetOamTxPktUPMEP.unit,
   8272 			req->args.field_qualify_EthernetOamTxPktUPMEP.entry,
   8273 			req->args.field_qualify_EthernetOamTxPktUPMEP.data,
   8274 			req->args.field_qualify_EthernetOamTxPktUPMEP.mask);
   8275 		break;
   8276 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ETHERNETOAMTXPKTUPMEP_GET:
   8277 		rv = bcm_field_qualify_EthernetOamTxPktUPMEP_get(
   8278 			req->args.field_qualify_EthernetOamTxPktUPMEP_get.unit,
   8279 			req->args.field_qualify_EthernetOamTxPktUPMEP_get.entry,
   8280 			req->args.field_qualify_EthernetOamTxPktUPMEP_get.data,
   8281 			req->args.field_qualify_EthernetOamTxPktUPMEP_get.mask);
   8282 		break;
   8283 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXACTMATCHACTIONCLASSID:
   8284 		rv = bcm_field_qualify_ExactMatchActionClassId(
   8285 			req->args.field_qualify_ExactMatchActionClassId.unit,
   8286 			req->args.field_qualify_ExactMatchActionClassId.entry,
   8287 			req->args.field_qualify_ExactMatchActionClassId.group_pri,
   8288 			req->args.field_qualify_ExactMatchActionClassId.data,
   8289 			req->args.field_qualify_ExactMatchActionClassId.mask);
   8290 		break;
   8291 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXACTMATCHACTIONCLASSID_GET:
   8292 		rv = bcm_field_qualify_ExactMatchActionClassId_get(
   8293 			req->args.field_qualify_ExactMatchActionClassId_get.unit,
   8294 			req->args.field_qualify_ExactMatchActionClassId_get.entry,
   8295 			req->args.field_qualify_ExactMatchActionClassId_get.group_pri,
   8296 			req->args.field_qualify_ExactMatchActionClassId_get.data,
   8297 			req->args.field_qualify_ExactMatchActionClassId_get.mask);
   8298 		break;
   8299 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXACTMATCHGROUPCLASSID:
   8300 		rv = bcm_field_qualify_ExactMatchGroupClassId(
   8301 			req->args.field_qualify_ExactMatchGroupClassId.unit,
   8302 			req->args.field_qualify_ExactMatchGroupClassId.entry,
   8303 			req->args.field_qualify_ExactMatchGroupClassId.group_pri,
   8304 			req->args.field_qualify_ExactMatchGroupClassId.group);
   8305 		break;
   8306 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXACTMATCHGROUPCLASSID_GET:
   8307 		rv = bcm_field_qualify_ExactMatchGroupClassId_get(
   8308 			req->args.field_qualify_ExactMatchGroupClassId_get.unit,
   8309 			req->args.field_qualify_ExactMatchGroupClassId_get.entry,
   8310 			req->args.field_qualify_ExactMatchGroupClassId_get.group_pri,
   8311 			req->args.field_qualify_ExactMatchGroupClassId_get.group);
   8312 		break;
   8313 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXACTMATCHHITSTATUS:
   8314 		rv = bcm_field_qualify_ExactMatchHitStatus(
   8315 			req->args.field_qualify_ExactMatchHitStatus.unit,
   8316 			req->args.field_qualify_ExactMatchHitStatus.entry,
   8317 			req->args.field_qualify_ExactMatchHitStatus.group_pri,
   8318 			req->args.field_qualify_ExactMatchHitStatus.data,
   8319 			req->args.field_qualify_ExactMatchHitStatus.mask);
   8320 		break;
   8321 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXACTMATCHHITSTATUS_GET:
   8322 		rv = bcm_field_qualify_ExactMatchHitStatus_get(
   8323 			req->args.field_qualify_ExactMatchHitStatus_get.unit,
   8324 			req->args.field_qualify_ExactMatchHitStatus_get.entry,
   8325 			req->args.field_qualify_ExactMatchHitStatus_get.group_pri,
   8326 			req->args.field_qualify_ExactMatchHitStatus_get.data,
   8327 			req->args.field_qualify_ExactMatchHitStatus_get.mask);
   8328 		break;
   8329 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTENSIONHEADER2TYPE:
   8330 		rv = bcm_field_qualify_ExtensionHeader2Type(
   8331 			req->args.field_qualify_ExtensionHeader2Type.unit,
   8332 			req->args.field_qualify_ExtensionHeader2Type.entry,
   8333 			req->args.field_qualify_ExtensionHeader2Type.data,
   8334 			req->args.field_qualify_ExtensionHeader2Type.mask);
   8335 		break;
   8336 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTENSIONHEADER2TYPE_GET:
   8337 		rv = bcm_field_qualify_ExtensionHeader2Type_get(
   8338 			req->args.field_qualify_ExtensionHeader2Type_get.unit,
   8339 			req->args.field_qualify_ExtensionHeader2Type_get.entry,
   8340 			req->args.field_qualify_ExtensionHeader2Type_get.data,
   8341 			req->args.field_qualify_ExtensionHeader2Type_get.mask);
   8342 		break;
   8343 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTENSIONHEADERSUBCODE:
   8344 		rv = bcm_field_qualify_ExtensionHeaderSubCode(
   8345 			req->args.field_qualify_ExtensionHeaderSubCode.unit,
   8346 			req->args.field_qualify_ExtensionHeaderSubCode.entry,
   8347 			req->args.field_qualify_ExtensionHeaderSubCode.data,
   8348 			req->args.field_qualify_ExtensionHeaderSubCode.mask);
   8349 		break;
   8350 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTENSIONHEADERSUBCODE_GET:
   8351 		rv = bcm_field_qualify_ExtensionHeaderSubCode_get(
   8352 			req->args.field_qualify_ExtensionHeaderSubCode_get.unit,
   8353 			req->args.field_qualify_ExtensionHeaderSubCode_get.entry,
   8354 			req->args.field_qualify_ExtensionHeaderSubCode_get.data,
   8355 			req->args.field_qualify_ExtensionHeaderSubCode_get.mask);
   8356 		break;
   8357 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTENSIONHEADERTYPE:
   8358 		rv = bcm_field_qualify_ExtensionHeaderType(
   8359 			req->args.field_qualify_ExtensionHeaderType.unit,
   8360 			req->args.field_qualify_ExtensionHeaderType.entry,
   8361 			req->args.field_qualify_ExtensionHeaderType.data,
   8362 			req->args.field_qualify_ExtensionHeaderType.mask);
   8363 		break;
   8364 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTENSIONHEADERTYPE_GET:
   8365 		rv = bcm_field_qualify_ExtensionHeaderType_get(
   8366 			req->args.field_qualify_ExtensionHeaderType_get.unit,
   8367 			req->args.field_qualify_ExtensionHeaderType_get.entry,
   8368 			req->args.field_qualify_ExtensionHeaderType_get.data,
   8369 			req->args.field_qualify_ExtensionHeaderType_get.mask);
   8370 		break;
   8371 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT0:
   8372 		rv = bcm_field_qualify_ExternalHit0(
   8373 			req->args.field_qualify_ExternalHit0.unit,
   8374 			req->args.field_qualify_ExternalHit0.entry,
   8375 			req->args.field_qualify_ExternalHit0.data,
   8376 			req->args.field_qualify_ExternalHit0.mask);
   8377 		break;
   8378 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT0_GET:
   8379 		rv = bcm_field_qualify_ExternalHit0_get(
   8380 			req->args.field_qualify_ExternalHit0_get.unit,
   8381 			req->args.field_qualify_ExternalHit0_get.entry,
   8382 			req->args.field_qualify_ExternalHit0_get.data,
   8383 			req->args.field_qualify_ExternalHit0_get.mask);
   8384 		break;
   8385 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT1:
   8386 		rv = bcm_field_qualify_ExternalHit1(
   8387 			req->args.field_qualify_ExternalHit1.unit,
   8388 			req->args.field_qualify_ExternalHit1.entry,
   8389 			req->args.field_qualify_ExternalHit1.data,
   8390 			req->args.field_qualify_ExternalHit1.mask);
   8391 		break;
   8392 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT1_GET:
   8393 		rv = bcm_field_qualify_ExternalHit1_get(
   8394 			req->args.field_qualify_ExternalHit1_get.unit,
   8395 			req->args.field_qualify_ExternalHit1_get.entry,
   8396 			req->args.field_qualify_ExternalHit1_get.data,
   8397 			req->args.field_qualify_ExternalHit1_get.mask);
   8398 		break;
   8399 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT2:
   8400 		rv = bcm_field_qualify_ExternalHit2(
   8401 			req->args.field_qualify_ExternalHit2.unit,
   8402 			req->args.field_qualify_ExternalHit2.entry,
   8403 			req->args.field_qualify_ExternalHit2.data,
   8404 			req->args.field_qualify_ExternalHit2.mask);
   8405 		break;
   8406 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT2_GET:
   8407 		rv = bcm_field_qualify_ExternalHit2_get(
   8408 			req->args.field_qualify_ExternalHit2_get.unit,
   8409 			req->args.field_qualify_ExternalHit2_get.entry,
   8410 			req->args.field_qualify_ExternalHit2_get.data,
   8411 			req->args.field_qualify_ExternalHit2_get.mask);
   8412 		break;
   8413 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT3:
   8414 		rv = bcm_field_qualify_ExternalHit3(
   8415 			req->args.field_qualify_ExternalHit3.unit,
   8416 			req->args.field_qualify_ExternalHit3.entry,
   8417 			req->args.field_qualify_ExternalHit3.data,
   8418 			req->args.field_qualify_ExternalHit3.mask);
   8419 		break;
   8420 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT3_GET:
   8421 		rv = bcm_field_qualify_ExternalHit3_get(
   8422 			req->args.field_qualify_ExternalHit3_get.unit,
   8423 			req->args.field_qualify_ExternalHit3_get.entry,
   8424 			req->args.field_qualify_ExternalHit3_get.data,
   8425 			req->args.field_qualify_ExternalHit3_get.mask);
   8426 		break;
   8427 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT4:
   8428 		rv = bcm_field_qualify_ExternalHit4(
   8429 			req->args.field_qualify_ExternalHit4.unit,
   8430 			req->args.field_qualify_ExternalHit4.entry,
   8431 			req->args.field_qualify_ExternalHit4.data,
   8432 			req->args.field_qualify_ExternalHit4.mask);
   8433 		break;
   8434 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT4_GET:
   8435 		rv = bcm_field_qualify_ExternalHit4_get(
   8436 			req->args.field_qualify_ExternalHit4_get.unit,
   8437 			req->args.field_qualify_ExternalHit4_get.entry,
   8438 			req->args.field_qualify_ExternalHit4_get.data,
   8439 			req->args.field_qualify_ExternalHit4_get.mask);
   8440 		break;
   8441 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT5:
   8442 		rv = bcm_field_qualify_ExternalHit5(
   8443 			req->args.field_qualify_ExternalHit5.unit,
   8444 			req->args.field_qualify_ExternalHit5.entry,
   8445 			req->args.field_qualify_ExternalHit5.data,
   8446 			req->args.field_qualify_ExternalHit5.mask);
   8447 		break;
   8448 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT5_GET:
   8449 		rv = bcm_field_qualify_ExternalHit5_get(
   8450 			req->args.field_qualify_ExternalHit5_get.unit,
   8451 			req->args.field_qualify_ExternalHit5_get.entry,
   8452 			req->args.field_qualify_ExternalHit5_get.data,
   8453 			req->args.field_qualify_ExternalHit5_get.mask);
   8454 		break;
   8455 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT6:
   8456 		rv = bcm_field_qualify_ExternalHit6(
   8457 			req->args.field_qualify_ExternalHit6.unit,
   8458 			req->args.field_qualify_ExternalHit6.entry,
   8459 			req->args.field_qualify_ExternalHit6.data,
   8460 			req->args.field_qualify_ExternalHit6.mask);
   8461 		break;
   8462 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT6_GET:
   8463 		rv = bcm_field_qualify_ExternalHit6_get(
   8464 			req->args.field_qualify_ExternalHit6_get.unit,
   8465 			req->args.field_qualify_ExternalHit6_get.entry,
   8466 			req->args.field_qualify_ExternalHit6_get.data,
   8467 			req->args.field_qualify_ExternalHit6_get.mask);
   8468 		break;
   8469 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT7:
   8470 		rv = bcm_field_qualify_ExternalHit7(
   8471 			req->args.field_qualify_ExternalHit7.unit,
   8472 			req->args.field_qualify_ExternalHit7.entry,
   8473 			req->args.field_qualify_ExternalHit7.data,
   8474 			req->args.field_qualify_ExternalHit7.mask);
   8475 		break;
   8476 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALHIT7_GET:
   8477 		rv = bcm_field_qualify_ExternalHit7_get(
   8478 			req->args.field_qualify_ExternalHit7_get.unit,
   8479 			req->args.field_qualify_ExternalHit7_get.entry,
   8480 			req->args.field_qualify_ExternalHit7_get.data,
   8481 			req->args.field_qualify_ExternalHit7_get.mask);
   8482 		break;
   8483 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE0:
   8484 		rv = bcm_field_qualify_ExternalValue0(
   8485 			req->args.field_qualify_ExternalValue0.unit,
   8486 			req->args.field_qualify_ExternalValue0.entry,
   8487 			req->args.field_qualify_ExternalValue0.data,
   8488 			req->args.field_qualify_ExternalValue0.mask);
   8489 		break;
   8490 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE0_GET:
   8491 		rv = bcm_field_qualify_ExternalValue0_get(
   8492 			req->args.field_qualify_ExternalValue0_get.unit,
   8493 			req->args.field_qualify_ExternalValue0_get.entry,
   8494 			req->args.field_qualify_ExternalValue0_get.data,
   8495 			req->args.field_qualify_ExternalValue0_get.mask);
   8496 		break;
   8497 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE1:
   8498 		rv = bcm_field_qualify_ExternalValue1(
   8499 			req->args.field_qualify_ExternalValue1.unit,
   8500 			req->args.field_qualify_ExternalValue1.entry,
   8501 			req->args.field_qualify_ExternalValue1.data,
   8502 			req->args.field_qualify_ExternalValue1.mask);
   8503 		break;
   8504 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE1_GET:
   8505 		rv = bcm_field_qualify_ExternalValue1_get(
   8506 			req->args.field_qualify_ExternalValue1_get.unit,
   8507 			req->args.field_qualify_ExternalValue1_get.entry,
   8508 			req->args.field_qualify_ExternalValue1_get.data,
   8509 			req->args.field_qualify_ExternalValue1_get.mask);
   8510 		break;
   8511 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE2:
   8512 		rv = bcm_field_qualify_ExternalValue2(
   8513 			req->args.field_qualify_ExternalValue2.unit,
   8514 			req->args.field_qualify_ExternalValue2.entry,
   8515 			req->args.field_qualify_ExternalValue2.data,
   8516 			req->args.field_qualify_ExternalValue2.mask);
   8517 		break;
   8518 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE2_GET:
   8519 		rv = bcm_field_qualify_ExternalValue2_get(
   8520 			req->args.field_qualify_ExternalValue2_get.unit,
   8521 			req->args.field_qualify_ExternalValue2_get.entry,
   8522 			req->args.field_qualify_ExternalValue2_get.data,
   8523 			req->args.field_qualify_ExternalValue2_get.mask);
   8524 		break;
   8525 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE3:
   8526 		rv = bcm_field_qualify_ExternalValue3(
   8527 			req->args.field_qualify_ExternalValue3.unit,
   8528 			req->args.field_qualify_ExternalValue3.entry,
   8529 			req->args.field_qualify_ExternalValue3.data,
   8530 			req->args.field_qualify_ExternalValue3.mask);
   8531 		break;
   8532 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE3_GET:
   8533 		rv = bcm_field_qualify_ExternalValue3_get(
   8534 			req->args.field_qualify_ExternalValue3_get.unit,
   8535 			req->args.field_qualify_ExternalValue3_get.entry,
   8536 			req->args.field_qualify_ExternalValue3_get.data,
   8537 			req->args.field_qualify_ExternalValue3_get.mask);
   8538 		break;
   8539 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE4:
   8540 		rv = bcm_field_qualify_ExternalValue4(
   8541 			req->args.field_qualify_ExternalValue4.unit,
   8542 			req->args.field_qualify_ExternalValue4.entry,
   8543 			req->args.field_qualify_ExternalValue4.data,
   8544 			req->args.field_qualify_ExternalValue4.mask);
   8545 		break;
   8546 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE4_GET:
   8547 		rv = bcm_field_qualify_ExternalValue4_get(
   8548 			req->args.field_qualify_ExternalValue4_get.unit,
   8549 			req->args.field_qualify_ExternalValue4_get.entry,
   8550 			req->args.field_qualify_ExternalValue4_get.data,
   8551 			req->args.field_qualify_ExternalValue4_get.mask);
   8552 		break;
   8553 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE5:
   8554 		rv = bcm_field_qualify_ExternalValue5(
   8555 			req->args.field_qualify_ExternalValue5.unit,
   8556 			req->args.field_qualify_ExternalValue5.entry,
   8557 			req->args.field_qualify_ExternalValue5.data,
   8558 			req->args.field_qualify_ExternalValue5.mask);
   8559 		break;
   8560 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE5_GET:
   8561 		rv = bcm_field_qualify_ExternalValue5_get(
   8562 			req->args.field_qualify_ExternalValue5_get.unit,
   8563 			req->args.field_qualify_ExternalValue5_get.entry,
   8564 			req->args.field_qualify_ExternalValue5_get.data,
   8565 			req->args.field_qualify_ExternalValue5_get.mask);
   8566 		break;
   8567 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE6:
   8568 		rv = bcm_field_qualify_ExternalValue6(
   8569 			req->args.field_qualify_ExternalValue6.unit,
   8570 			req->args.field_qualify_ExternalValue6.entry,
   8571 			req->args.field_qualify_ExternalValue6.data,
   8572 			req->args.field_qualify_ExternalValue6.mask);
   8573 		break;
   8574 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE6_GET:
   8575 		rv = bcm_field_qualify_ExternalValue6_get(
   8576 			req->args.field_qualify_ExternalValue6_get.unit,
   8577 			req->args.field_qualify_ExternalValue6_get.entry,
   8578 			req->args.field_qualify_ExternalValue6_get.data,
   8579 			req->args.field_qualify_ExternalValue6_get.mask);
   8580 		break;
   8581 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE7:
   8582 		rv = bcm_field_qualify_ExternalValue7(
   8583 			req->args.field_qualify_ExternalValue7.unit,
   8584 			req->args.field_qualify_ExternalValue7.entry,
   8585 			req->args.field_qualify_ExternalValue7.data,
   8586 			req->args.field_qualify_ExternalValue7.mask);
   8587 		break;
   8588 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_EXTERNALVALUE7_GET:
   8589 		rv = bcm_field_qualify_ExternalValue7_get(
   8590 			req->args.field_qualify_ExternalValue7_get.unit,
   8591 			req->args.field_qualify_ExternalValue7_get.entry,
   8592 			req->args.field_qualify_ExternalValue7_get.data,
   8593 			req->args.field_qualify_ExternalValue7_get.mask);
   8594 		break;
   8595 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FABRICQUEUETAG:
   8596 		rv = bcm_field_qualify_FabricQueueTag(
   8597 			req->args.field_qualify_FabricQueueTag.unit,
   8598 			req->args.field_qualify_FabricQueueTag.entry,
   8599 			req->args.field_qualify_FabricQueueTag.data,
   8600 			req->args.field_qualify_FabricQueueTag.mask);
   8601 		break;
   8602 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FABRICQUEUETAG_GET:
   8603 		rv = bcm_field_qualify_FabricQueueTag_get(
   8604 			req->args.field_qualify_FabricQueueTag_get.unit,
   8605 			req->args.field_qualify_FabricQueueTag_get.entry,
   8606 			req->args.field_qualify_FabricQueueTag_get.data,
   8607 			req->args.field_qualify_FabricQueueTag_get.mask);
   8608 		break;
   8609 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOEOXID:
   8610 		rv = bcm_field_qualify_FcoeOxID(
   8611 			req->args.field_qualify_FcoeOxID.unit,
   8612 			req->args.field_qualify_FcoeOxID.entry,
   8613 			req->args.field_qualify_FcoeOxID.data,
   8614 			req->args.field_qualify_FcoeOxID.mask);
   8615 		break;
   8616 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOEOXIDCLASS:
   8617 		rv = bcm_field_qualify_FcoeOxIDClass(
   8618 			req->args.field_qualify_FcoeOxIDClass.unit,
   8619 			req->args.field_qualify_FcoeOxIDClass.entry,
   8620 			req->args.field_qualify_FcoeOxIDClass.data,
   8621 			req->args.field_qualify_FcoeOxIDClass.mask);
   8622 		break;
   8623 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOEOXIDCLASS_GET:
   8624 		rv = bcm_field_qualify_FcoeOxIDClass_get(
   8625 			req->args.field_qualify_FcoeOxIDClass_get.unit,
   8626 			req->args.field_qualify_FcoeOxIDClass_get.entry,
   8627 			req->args.field_qualify_FcoeOxIDClass_get.data,
   8628 			req->args.field_qualify_FcoeOxIDClass_get.mask);
   8629 		break;
   8630 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOEOXID_GET:
   8631 		rv = bcm_field_qualify_FcoeOxID_get(
   8632 			req->args.field_qualify_FcoeOxID_get.unit,
   8633 			req->args.field_qualify_FcoeOxID_get.entry,
   8634 			req->args.field_qualify_FcoeOxID_get.data,
   8635 			req->args.field_qualify_FcoeOxID_get.mask);
   8636 		break;
   8637 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOERXID:
   8638 		rv = bcm_field_qualify_FcoeRxID(
   8639 			req->args.field_qualify_FcoeRxID.unit,
   8640 			req->args.field_qualify_FcoeRxID.entry,
   8641 			req->args.field_qualify_FcoeRxID.data,
   8642 			req->args.field_qualify_FcoeRxID.mask);
   8643 		break;
   8644 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOERXIDCLASS:
   8645 		rv = bcm_field_qualify_FcoeRxIDClass(
   8646 			req->args.field_qualify_FcoeRxIDClass.unit,
   8647 			req->args.field_qualify_FcoeRxIDClass.entry,
   8648 			req->args.field_qualify_FcoeRxIDClass.data,
   8649 			req->args.field_qualify_FcoeRxIDClass.mask);
   8650 		break;
   8651 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOERXIDCLASS_GET:
   8652 		rv = bcm_field_qualify_FcoeRxIDClass_get(
   8653 			req->args.field_qualify_FcoeRxIDClass_get.unit,
   8654 			req->args.field_qualify_FcoeRxIDClass_get.entry,
   8655 			req->args.field_qualify_FcoeRxIDClass_get.data,
   8656 			req->args.field_qualify_FcoeRxIDClass_get.mask);
   8657 		break;
   8658 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOERXID_GET:
   8659 		rv = bcm_field_qualify_FcoeRxID_get(
   8660 			req->args.field_qualify_FcoeRxID_get.unit,
   8661 			req->args.field_qualify_FcoeRxID_get.entry,
   8662 			req->args.field_qualify_FcoeRxID_get.data,
   8663 			req->args.field_qualify_FcoeRxID_get.mask);
   8664 		break;
   8665 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOESOF:
   8666 		rv = bcm_field_qualify_FcoeSOF(
   8667 			req->args.field_qualify_FcoeSOF.unit,
   8668 			req->args.field_qualify_FcoeSOF.entry,
   8669 			req->args.field_qualify_FcoeSOF.data,
   8670 			req->args.field_qualify_FcoeSOF.mask);
   8671 		break;
   8672 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOESOF_GET:
   8673 		rv = bcm_field_qualify_FcoeSOF_get(
   8674 			req->args.field_qualify_FcoeSOF_get.unit,
   8675 			req->args.field_qualify_FcoeSOF_get.entry,
   8676 			req->args.field_qualify_FcoeSOF_get.data,
   8677 			req->args.field_qualify_FcoeSOF_get.mask);
   8678 		break;
   8679 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOEVERSIONISZERO:
   8680 		rv = bcm_field_qualify_FcoeVersionIsZero(
   8681 			req->args.field_qualify_FcoeVersionIsZero.unit,
   8682 			req->args.field_qualify_FcoeVersionIsZero.entry,
   8683 			req->args.field_qualify_FcoeVersionIsZero.data,
   8684 			req->args.field_qualify_FcoeVersionIsZero.mask);
   8685 		break;
   8686 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FCOEVERSIONISZERO_GET:
   8687 		rv = bcm_field_qualify_FcoeVersionIsZero_get(
   8688 			req->args.field_qualify_FcoeVersionIsZero_get.unit,
   8689 			req->args.field_qualify_FcoeVersionIsZero_get.entry,
   8690 			req->args.field_qualify_FcoeVersionIsZero_get.data,
   8691 			req->args.field_qualify_FcoeVersionIsZero_get.mask);
   8692 		break;
   8693 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FHEI:
   8694 		rv = bcm_field_qualify_Fhei(
   8695 			req->args.field_qualify_Fhei.unit,
   8696 			req->args.field_qualify_Fhei.entry,
   8697 			req->args.field_qualify_Fhei.data,
   8698 			req->args.field_qualify_Fhei.mask);
   8699 		break;
   8700 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FHEISIZE:
   8701 		rv = bcm_field_qualify_FheiSize(
   8702 			req->args.field_qualify_FheiSize.unit,
   8703 			req->args.field_qualify_FheiSize.entry,
   8704 			req->args.field_qualify_FheiSize.data,
   8705 			req->args.field_qualify_FheiSize.mask);
   8706 		break;
   8707 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FHEISIZE_GET:
   8708 		rv = bcm_field_qualify_FheiSize_get(
   8709 			req->args.field_qualify_FheiSize_get.unit,
   8710 			req->args.field_qualify_FheiSize_get.entry,
   8711 			req->args.field_qualify_FheiSize_get.data,
   8712 			req->args.field_qualify_FheiSize_get.mask);
   8713 		break;
   8714 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FHEI_GET:
   8715 		rv = bcm_field_qualify_Fhei_get(
   8716 			req->args.field_qualify_Fhei_get.unit,
   8717 			req->args.field_qualify_Fhei_get.entry,
   8718 			req->args.field_qualify_Fhei_get.data,
   8719 			req->args.field_qualify_Fhei_get.mask);
   8720 		break;
   8721 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANCSCTL:
   8722 		rv = bcm_field_qualify_FibreChanCSCtl(
   8723 			req->args.field_qualify_FibreChanCSCtl.unit,
   8724 			req->args.field_qualify_FibreChanCSCtl.entry,
   8725 			req->args.field_qualify_FibreChanCSCtl.data,
   8726 			req->args.field_qualify_FibreChanCSCtl.mask);
   8727 		break;
   8728 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANCSCTL_GET:
   8729 		rv = bcm_field_qualify_FibreChanCSCtl_get(
   8730 			req->args.field_qualify_FibreChanCSCtl_get.unit,
   8731 			req->args.field_qualify_FibreChanCSCtl_get.entry,
   8732 			req->args.field_qualify_FibreChanCSCtl_get.data,
   8733 			req->args.field_qualify_FibreChanCSCtl_get.mask);
   8734 		break;
   8735 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDFCTL:
   8736 		rv = bcm_field_qualify_FibreChanDFCtl(
   8737 			req->args.field_qualify_FibreChanDFCtl.unit,
   8738 			req->args.field_qualify_FibreChanDFCtl.entry,
   8739 			req->args.field_qualify_FibreChanDFCtl.data,
   8740 			req->args.field_qualify_FibreChanDFCtl.mask);
   8741 		break;
   8742 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDFCTL_GET:
   8743 		rv = bcm_field_qualify_FibreChanDFCtl_get(
   8744 			req->args.field_qualify_FibreChanDFCtl_get.unit,
   8745 			req->args.field_qualify_FibreChanDFCtl_get.entry,
   8746 			req->args.field_qualify_FibreChanDFCtl_get.data,
   8747 			req->args.field_qualify_FibreChanDFCtl_get.mask);
   8748 		break;
   8749 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTID:
   8750 		rv = bcm_field_qualify_FibreChanDstId(
   8751 			req->args.field_qualify_FibreChanDstId.unit,
   8752 			req->args.field_qualify_FibreChanDstId.entry,
   8753 			req->args.field_qualify_FibreChanDstId.data,
   8754 			req->args.field_qualify_FibreChanDstId.mask);
   8755 		break;
   8756 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTIDCLASS:
   8757 		rv = bcm_field_qualify_FibreChanDstIdClass(
   8758 			req->args.field_qualify_FibreChanDstIdClass.unit,
   8759 			req->args.field_qualify_FibreChanDstIdClass.entry,
   8760 			req->args.field_qualify_FibreChanDstIdClass.data,
   8761 			req->args.field_qualify_FibreChanDstIdClass.mask);
   8762 		break;
   8763 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTIDCLASSLOWER:
   8764 		rv = bcm_field_qualify_FibreChanDstIdClassLower(
   8765 			req->args.field_qualify_FibreChanDstIdClassLower.unit,
   8766 			req->args.field_qualify_FibreChanDstIdClassLower.entry,
   8767 			req->args.field_qualify_FibreChanDstIdClassLower.data,
   8768 			req->args.field_qualify_FibreChanDstIdClassLower.mask);
   8769 		break;
   8770 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTIDCLASSLOWER_GET:
   8771 		rv = bcm_field_qualify_FibreChanDstIdClassLower_get(
   8772 			req->args.field_qualify_FibreChanDstIdClassLower_get.unit,
   8773 			req->args.field_qualify_FibreChanDstIdClassLower_get.entry,
   8774 			req->args.field_qualify_FibreChanDstIdClassLower_get.data,
   8775 			req->args.field_qualify_FibreChanDstIdClassLower_get.mask);
   8776 		break;
   8777 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTIDCLASSMSBNIBBLE:
   8778 		rv = bcm_field_qualify_FibreChanDstIdClassMsbNibble(
   8779 			req->args.field_qualify_FibreChanDstIdClassMsbNibble.unit,
   8780 			req->args.field_qualify_FibreChanDstIdClassMsbNibble.entry,
   8781 			req->args.field_qualify_FibreChanDstIdClassMsbNibble.data,
   8782 			req->args.field_qualify_FibreChanDstIdClassMsbNibble.mask);
   8783 		break;
   8784 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTIDCLASSMSBNIBBLE_GET:
   8785 		rv = bcm_field_qualify_FibreChanDstIdClassMsbNibble_get(
   8786 			req->args.field_qualify_FibreChanDstIdClassMsbNibble_get.unit,
   8787 			req->args.field_qualify_FibreChanDstIdClassMsbNibble_get.entry,
   8788 			req->args.field_qualify_FibreChanDstIdClassMsbNibble_get.data,
   8789 			req->args.field_qualify_FibreChanDstIdClassMsbNibble_get.mask);
   8790 		break;
   8791 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTIDCLASSUPPER:
   8792 		rv = bcm_field_qualify_FibreChanDstIdClassUpper(
   8793 			req->args.field_qualify_FibreChanDstIdClassUpper.unit,
   8794 			req->args.field_qualify_FibreChanDstIdClassUpper.entry,
   8795 			req->args.field_qualify_FibreChanDstIdClassUpper.data,
   8796 			req->args.field_qualify_FibreChanDstIdClassUpper.mask);
   8797 		break;
   8798 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTIDCLASSUPPER_GET:
   8799 		rv = bcm_field_qualify_FibreChanDstIdClassUpper_get(
   8800 			req->args.field_qualify_FibreChanDstIdClassUpper_get.unit,
   8801 			req->args.field_qualify_FibreChanDstIdClassUpper_get.entry,
   8802 			req->args.field_qualify_FibreChanDstIdClassUpper_get.data,
   8803 			req->args.field_qualify_FibreChanDstIdClassUpper_get.mask);
   8804 		break;
   8805 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTIDCLASS_GET:
   8806 		rv = bcm_field_qualify_FibreChanDstIdClass_get(
   8807 			req->args.field_qualify_FibreChanDstIdClass_get.unit,
   8808 			req->args.field_qualify_FibreChanDstIdClass_get.entry,
   8809 			req->args.field_qualify_FibreChanDstIdClass_get.data,
   8810 			req->args.field_qualify_FibreChanDstIdClass_get.mask);
   8811 		break;
   8812 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANDSTID_GET:
   8813 		rv = bcm_field_qualify_FibreChanDstId_get(
   8814 			req->args.field_qualify_FibreChanDstId_get.unit,
   8815 			req->args.field_qualify_FibreChanDstId_get.entry,
   8816 			req->args.field_qualify_FibreChanDstId_get.data,
   8817 			req->args.field_qualify_FibreChanDstId_get.mask);
   8818 		break;
   8819 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANFCTL:
   8820 		rv = bcm_field_qualify_FibreChanFCtl(
   8821 			req->args.field_qualify_FibreChanFCtl.unit,
   8822 			req->args.field_qualify_FibreChanFCtl.entry,
   8823 			req->args.field_qualify_FibreChanFCtl.data,
   8824 			req->args.field_qualify_FibreChanFCtl.mask);
   8825 		break;
   8826 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANFCTL_GET:
   8827 		rv = bcm_field_qualify_FibreChanFCtl_get(
   8828 			req->args.field_qualify_FibreChanFCtl_get.unit,
   8829 			req->args.field_qualify_FibreChanFCtl_get.entry,
   8830 			req->args.field_qualify_FibreChanFCtl_get.data,
   8831 			req->args.field_qualify_FibreChanFCtl_get.mask);
   8832 		break;
   8833 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANINNER:
   8834 		rv = bcm_field_qualify_FibreChanInner(
   8835 			req->args.field_qualify_FibreChanInner.unit,
   8836 			req->args.field_qualify_FibreChanInner.entry,
   8837 			req->args.field_qualify_FibreChanInner.fibre_chan_type);
   8838 		break;
   8839 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANINNER_GET:
   8840 		rv = bcm_field_qualify_FibreChanInner_get(
   8841 			req->args.field_qualify_FibreChanInner_get.unit,
   8842 			req->args.field_qualify_FibreChanInner_get.entry,
   8843 			req->args.field_qualify_FibreChanInner_get.fibre_chan_type);
   8844 		break;
   8845 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANOUTER:
   8846 		rv = bcm_field_qualify_FibreChanOuter(
   8847 			req->args.field_qualify_FibreChanOuter.unit,
   8848 			req->args.field_qualify_FibreChanOuter.entry,
   8849 			req->args.field_qualify_FibreChanOuter.fibre_chan_type);
   8850 		break;
   8851 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANOUTER_GET:
   8852 		rv = bcm_field_qualify_FibreChanOuter_get(
   8853 			req->args.field_qualify_FibreChanOuter_get.unit,
   8854 			req->args.field_qualify_FibreChanOuter_get.entry,
   8855 			req->args.field_qualify_FibreChanOuter_get.fibre_chan_type);
   8856 		break;
   8857 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANRCTL:
   8858 		rv = bcm_field_qualify_FibreChanRCtl(
   8859 			req->args.field_qualify_FibreChanRCtl.unit,
   8860 			req->args.field_qualify_FibreChanRCtl.entry,
   8861 			req->args.field_qualify_FibreChanRCtl.data,
   8862 			req->args.field_qualify_FibreChanRCtl.mask);
   8863 		break;
   8864 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANRCTL_GET:
   8865 		rv = bcm_field_qualify_FibreChanRCtl_get(
   8866 			req->args.field_qualify_FibreChanRCtl_get.unit,
   8867 			req->args.field_qualify_FibreChanRCtl_get.entry,
   8868 			req->args.field_qualify_FibreChanRCtl_get.data,
   8869 			req->args.field_qualify_FibreChanRCtl_get.mask);
   8870 		break;
   8871 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCBINDCHECK:
   8872 		rv = bcm_field_qualify_FibreChanSrcBindCheck(
   8873 			req->args.field_qualify_FibreChanSrcBindCheck.unit,
   8874 			req->args.field_qualify_FibreChanSrcBindCheck.entry,
   8875 			req->args.field_qualify_FibreChanSrcBindCheck.data,
   8876 			req->args.field_qualify_FibreChanSrcBindCheck.mask);
   8877 		break;
   8878 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCBINDCHECK_GET:
   8879 		rv = bcm_field_qualify_FibreChanSrcBindCheck_get(
   8880 			req->args.field_qualify_FibreChanSrcBindCheck_get.unit,
   8881 			req->args.field_qualify_FibreChanSrcBindCheck_get.entry,
   8882 			req->args.field_qualify_FibreChanSrcBindCheck_get.data,
   8883 			req->args.field_qualify_FibreChanSrcBindCheck_get.mask);
   8884 		break;
   8885 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCFPMACHECK:
   8886 		rv = bcm_field_qualify_FibreChanSrcFpmaCheck(
   8887 			req->args.field_qualify_FibreChanSrcFpmaCheck.unit,
   8888 			req->args.field_qualify_FibreChanSrcFpmaCheck.entry,
   8889 			req->args.field_qualify_FibreChanSrcFpmaCheck.data,
   8890 			req->args.field_qualify_FibreChanSrcFpmaCheck.mask);
   8891 		break;
   8892 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCFPMACHECK_GET:
   8893 		rv = bcm_field_qualify_FibreChanSrcFpmaCheck_get(
   8894 			req->args.field_qualify_FibreChanSrcFpmaCheck_get.unit,
   8895 			req->args.field_qualify_FibreChanSrcFpmaCheck_get.entry,
   8896 			req->args.field_qualify_FibreChanSrcFpmaCheck_get.data,
   8897 			req->args.field_qualify_FibreChanSrcFpmaCheck_get.mask);
   8898 		break;
   8899 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCID:
   8900 		rv = bcm_field_qualify_FibreChanSrcId(
   8901 			req->args.field_qualify_FibreChanSrcId.unit,
   8902 			req->args.field_qualify_FibreChanSrcId.entry,
   8903 			req->args.field_qualify_FibreChanSrcId.data,
   8904 			req->args.field_qualify_FibreChanSrcId.mask);
   8905 		break;
   8906 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCIDCLASS:
   8907 		rv = bcm_field_qualify_FibreChanSrcIdClass(
   8908 			req->args.field_qualify_FibreChanSrcIdClass.unit,
   8909 			req->args.field_qualify_FibreChanSrcIdClass.entry,
   8910 			req->args.field_qualify_FibreChanSrcIdClass.data,
   8911 			req->args.field_qualify_FibreChanSrcIdClass.mask);
   8912 		break;
   8913 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCIDCLASSLOWER:
   8914 		rv = bcm_field_qualify_FibreChanSrcIdClassLower(
   8915 			req->args.field_qualify_FibreChanSrcIdClassLower.unit,
   8916 			req->args.field_qualify_FibreChanSrcIdClassLower.entry,
   8917 			req->args.field_qualify_FibreChanSrcIdClassLower.data,
   8918 			req->args.field_qualify_FibreChanSrcIdClassLower.mask);
   8919 		break;
   8920 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCIDCLASSLOWER_GET:
   8921 		rv = bcm_field_qualify_FibreChanSrcIdClassLower_get(
   8922 			req->args.field_qualify_FibreChanSrcIdClassLower_get.unit,
   8923 			req->args.field_qualify_FibreChanSrcIdClassLower_get.entry,
   8924 			req->args.field_qualify_FibreChanSrcIdClassLower_get.data,
   8925 			req->args.field_qualify_FibreChanSrcIdClassLower_get.mask);
   8926 		break;
   8927 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCIDCLASSMSBNIBBLE:
   8928 		rv = bcm_field_qualify_FibreChanSrcIdClassMsbNibble(
   8929 			req->args.field_qualify_FibreChanSrcIdClassMsbNibble.unit,
   8930 			req->args.field_qualify_FibreChanSrcIdClassMsbNibble.entry,
   8931 			req->args.field_qualify_FibreChanSrcIdClassMsbNibble.data,
   8932 			req->args.field_qualify_FibreChanSrcIdClassMsbNibble.mask);
   8933 		break;
   8934 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCIDCLASSMSBNIBBLE_GET:
   8935 		rv = bcm_field_qualify_FibreChanSrcIdClassMsbNibble_get(
   8936 			req->args.field_qualify_FibreChanSrcIdClassMsbNibble_get.unit,
   8937 			req->args.field_qualify_FibreChanSrcIdClassMsbNibble_get.entry,
   8938 			req->args.field_qualify_FibreChanSrcIdClassMsbNibble_get.data,
   8939 			req->args.field_qualify_FibreChanSrcIdClassMsbNibble_get.mask);
   8940 		break;
   8941 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCIDCLASSUPPER:
   8942 		rv = bcm_field_qualify_FibreChanSrcIdClassUpper(
   8943 			req->args.field_qualify_FibreChanSrcIdClassUpper.unit,
   8944 			req->args.field_qualify_FibreChanSrcIdClassUpper.entry,
   8945 			req->args.field_qualify_FibreChanSrcIdClassUpper.data,
   8946 			req->args.field_qualify_FibreChanSrcIdClassUpper.mask);
   8947 		break;
   8948 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCIDCLASSUPPER_GET:
   8949 		rv = bcm_field_qualify_FibreChanSrcIdClassUpper_get(
   8950 			req->args.field_qualify_FibreChanSrcIdClassUpper_get.unit,
   8951 			req->args.field_qualify_FibreChanSrcIdClassUpper_get.entry,
   8952 			req->args.field_qualify_FibreChanSrcIdClassUpper_get.data,
   8953 			req->args.field_qualify_FibreChanSrcIdClassUpper_get.mask);
   8954 		break;
   8955 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCIDCLASS_GET:
   8956 		rv = bcm_field_qualify_FibreChanSrcIdClass_get(
   8957 			req->args.field_qualify_FibreChanSrcIdClass_get.unit,
   8958 			req->args.field_qualify_FibreChanSrcIdClass_get.entry,
   8959 			req->args.field_qualify_FibreChanSrcIdClass_get.data,
   8960 			req->args.field_qualify_FibreChanSrcIdClass_get.mask);
   8961 		break;
   8962 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANSRCID_GET:
   8963 		rv = bcm_field_qualify_FibreChanSrcId_get(
   8964 			req->args.field_qualify_FibreChanSrcId_get.unit,
   8965 			req->args.field_qualify_FibreChanSrcId_get.entry,
   8966 			req->args.field_qualify_FibreChanSrcId_get.data,
   8967 			req->args.field_qualify_FibreChanSrcId_get.mask);
   8968 		break;
   8969 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANTYPE:
   8970 		rv = bcm_field_qualify_FibreChanType(
   8971 			req->args.field_qualify_FibreChanType.unit,
   8972 			req->args.field_qualify_FibreChanType.entry,
   8973 			req->args.field_qualify_FibreChanType.data,
   8974 			req->args.field_qualify_FibreChanType.mask);
   8975 		break;
   8976 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANTYPE_GET:
   8977 		rv = bcm_field_qualify_FibreChanType_get(
   8978 			req->args.field_qualify_FibreChanType_get.unit,
   8979 			req->args.field_qualify_FibreChanType_get.entry,
   8980 			req->args.field_qualify_FibreChanType_get.data,
   8981 			req->args.field_qualify_FibreChanType_get.mask);
   8982 		break;
   8983 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTFABRICID:
   8984 		rv = bcm_field_qualify_FibreChanVFTFabricId(
   8985 			req->args.field_qualify_FibreChanVFTFabricId.unit,
   8986 			req->args.field_qualify_FibreChanVFTFabricId.entry,
   8987 			req->args.field_qualify_FibreChanVFTFabricId.data,
   8988 			req->args.field_qualify_FibreChanVFTFabricId.mask);
   8989 		break;
   8990 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTFABRICID_GET:
   8991 		rv = bcm_field_qualify_FibreChanVFTFabricId_get(
   8992 			req->args.field_qualify_FibreChanVFTFabricId_get.unit,
   8993 			req->args.field_qualify_FibreChanVFTFabricId_get.entry,
   8994 			req->args.field_qualify_FibreChanVFTFabricId_get.data,
   8995 			req->args.field_qualify_FibreChanVFTFabricId_get.mask);
   8996 		break;
   8997 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTHOPCOUNT:
   8998 		rv = bcm_field_qualify_FibreChanVFTHopCount(
   8999 			req->args.field_qualify_FibreChanVFTHopCount.unit,
   9000 			req->args.field_qualify_FibreChanVFTHopCount.entry,
   9001 			req->args.field_qualify_FibreChanVFTHopCount.data,
   9002 			req->args.field_qualify_FibreChanVFTHopCount.mask);
   9003 		break;
   9004 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTHOPCOUNT_GET:
   9005 		rv = bcm_field_qualify_FibreChanVFTHopCount_get(
   9006 			req->args.field_qualify_FibreChanVFTHopCount_get.unit,
   9007 			req->args.field_qualify_FibreChanVFTHopCount_get.entry,
   9008 			req->args.field_qualify_FibreChanVFTHopCount_get.data,
   9009 			req->args.field_qualify_FibreChanVFTHopCount_get.mask);
   9010 		break;
   9011 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTPRI:
   9012 		rv = bcm_field_qualify_FibreChanVFTPri(
   9013 			req->args.field_qualify_FibreChanVFTPri.unit,
   9014 			req->args.field_qualify_FibreChanVFTPri.entry,
   9015 			req->args.field_qualify_FibreChanVFTPri.data,
   9016 			req->args.field_qualify_FibreChanVFTPri.mask);
   9017 		break;
   9018 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTPRI_GET:
   9019 		rv = bcm_field_qualify_FibreChanVFTPri_get(
   9020 			req->args.field_qualify_FibreChanVFTPri_get.unit,
   9021 			req->args.field_qualify_FibreChanVFTPri_get.entry,
   9022 			req->args.field_qualify_FibreChanVFTPri_get.data,
   9023 			req->args.field_qualify_FibreChanVFTPri_get.mask);
   9024 		break;
   9025 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTVALID:
   9026 		rv = bcm_field_qualify_FibreChanVFTValid(
   9027 			req->args.field_qualify_FibreChanVFTValid.unit,
   9028 			req->args.field_qualify_FibreChanVFTValid.entry,
   9029 			req->args.field_qualify_FibreChanVFTValid.data,
   9030 			req->args.field_qualify_FibreChanVFTValid.mask);
   9031 		break;
   9032 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTVALID_GET:
   9033 		rv = bcm_field_qualify_FibreChanVFTValid_get(
   9034 			req->args.field_qualify_FibreChanVFTValid_get.unit,
   9035 			req->args.field_qualify_FibreChanVFTValid_get.entry,
   9036 			req->args.field_qualify_FibreChanVFTValid_get.data,
   9037 			req->args.field_qualify_FibreChanVFTValid_get.mask);
   9038 		break;
   9039 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTVERSION:
   9040 		rv = bcm_field_qualify_FibreChanVFTVersion(
   9041 			req->args.field_qualify_FibreChanVFTVersion.unit,
   9042 			req->args.field_qualify_FibreChanVFTVersion.entry,
   9043 			req->args.field_qualify_FibreChanVFTVersion.data,
   9044 			req->args.field_qualify_FibreChanVFTVersion.mask);
   9045 		break;
   9046 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTVERSION_GET:
   9047 		rv = bcm_field_qualify_FibreChanVFTVersion_get(
   9048 			req->args.field_qualify_FibreChanVFTVersion_get.unit,
   9049 			req->args.field_qualify_FibreChanVFTVersion_get.entry,
   9050 			req->args.field_qualify_FibreChanVFTVersion_get.data,
   9051 			req->args.field_qualify_FibreChanVFTVersion_get.mask);
   9052 		break;
   9053 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTVSANID:
   9054 		rv = bcm_field_qualify_FibreChanVFTVsanId(
   9055 			req->args.field_qualify_FibreChanVFTVsanId.unit,
   9056 			req->args.field_qualify_FibreChanVFTVsanId.entry,
   9057 			req->args.field_qualify_FibreChanVFTVsanId.data,
   9058 			req->args.field_qualify_FibreChanVFTVsanId.mask);
   9059 		break;
   9060 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTVSANID_GET:
   9061 		rv = bcm_field_qualify_FibreChanVFTVsanId_get(
   9062 			req->args.field_qualify_FibreChanVFTVsanId_get.unit,
   9063 			req->args.field_qualify_FibreChanVFTVsanId_get.entry,
   9064 			req->args.field_qualify_FibreChanVFTVsanId_get.data,
   9065 			req->args.field_qualify_FibreChanVFTVsanId_get.mask);
   9066 		break;
   9067 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTVSANPRI:
   9068 		rv = bcm_field_qualify_FibreChanVFTVsanPri(
   9069 			req->args.field_qualify_FibreChanVFTVsanPri.unit,
   9070 			req->args.field_qualify_FibreChanVFTVsanPri.entry,
   9071 			req->args.field_qualify_FibreChanVFTVsanPri.data,
   9072 			req->args.field_qualify_FibreChanVFTVsanPri.mask);
   9073 		break;
   9074 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANVFTVSANPRI_GET:
   9075 		rv = bcm_field_qualify_FibreChanVFTVsanPri_get(
   9076 			req->args.field_qualify_FibreChanVFTVsanPri_get.unit,
   9077 			req->args.field_qualify_FibreChanVFTVsanPri_get.entry,
   9078 			req->args.field_qualify_FibreChanVFTVsanPri_get.data,
   9079 			req->args.field_qualify_FibreChanVFTVsanPri_get.mask);
   9080 		break;
   9081 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANZONECHECK:
   9082 		rv = bcm_field_qualify_FibreChanZoneCheck(
   9083 			req->args.field_qualify_FibreChanZoneCheck.unit,
   9084 			req->args.field_qualify_FibreChanZoneCheck.entry,
   9085 			req->args.field_qualify_FibreChanZoneCheck.data,
   9086 			req->args.field_qualify_FibreChanZoneCheck.mask);
   9087 		break;
   9088 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FIBRECHANZONECHECK_GET:
   9089 		rv = bcm_field_qualify_FibreChanZoneCheck_get(
   9090 			req->args.field_qualify_FibreChanZoneCheck_get.unit,
   9091 			req->args.field_qualify_FibreChanZoneCheck_get.entry,
   9092 			req->args.field_qualify_FibreChanZoneCheck_get.data,
   9093 			req->args.field_qualify_FibreChanZoneCheck_get.mask);
   9094 		break;
   9095 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWCONTROLTYPE:
   9096 		rv = bcm_field_qualify_FlowControlType(
   9097 			req->args.field_qualify_FlowControlType.unit,
   9098 			req->args.field_qualify_FlowControlType.entry,
   9099 			req->args.field_qualify_FlowControlType.fc_type);
   9100 		break;
   9101 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWCONTROLTYPE_GET:
   9102 		rv = bcm_field_qualify_FlowControlType_get(
   9103 			req->args.field_qualify_FlowControlType_get.unit,
   9104 			req->args.field_qualify_FlowControlType_get.entry,
   9105 			req->args.field_qualify_FlowControlType_get.fc_type);
   9106 		break;
   9107 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWID:
   9108 		rv = bcm_field_qualify_FlowId(
   9109 			req->args.field_qualify_FlowId.unit,
   9110 			req->args.field_qualify_FlowId.entry,
   9111 			req->args.field_qualify_FlowId.data,
   9112 			req->args.field_qualify_FlowId.mask);
   9113 		break;
   9114 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWID_GET:
   9115 		rv = bcm_field_qualify_FlowId_get(
   9116 			req->args.field_qualify_FlowId_get.unit,
   9117 			req->args.field_qualify_FlowId_get.entry,
   9118 			req->args.field_qualify_FlowId_get.data,
   9119 			req->args.field_qualify_FlowId_get.mask);
   9120 		break;
   9121 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERCHECK:
   9122 		rv = bcm_field_qualify_FlowtrackerCheck(
   9123 			req->args.field_qualify_FlowtrackerCheck.unit,
   9124 			req->args.field_qualify_FlowtrackerCheck.entry,
   9125 			req->args.field_qualify_FlowtrackerCheck.flow_group_id,
   9126 			req->args.field_qualify_FlowtrackerCheck.num_checks,
   9127 			req->args.field_qualify_FlowtrackerCheck.list_of_check_ids);
   9128 		break;
   9129 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERCHECK_GET:
   9130 		rv = bcm_field_qualify_FlowtrackerCheck_get(
   9131 			req->args.field_qualify_FlowtrackerCheck_get.unit,
   9132 			req->args.field_qualify_FlowtrackerCheck_get.entry,
   9133 			req->args.field_qualify_FlowtrackerCheck_get.flow_group_id,
   9134 			req->args.field_qualify_FlowtrackerCheck_get.num_checks,
   9135 			req->args.field_qualify_FlowtrackerCheck_get.list_of_check_ids,
   9136 			req->args.field_qualify_FlowtrackerCheck_get.actual_num_checks);
   9137 		break;
   9138 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERCLASSID:
   9139 		rv = bcm_field_qualify_FlowtrackerClassId(
   9140 			req->args.field_qualify_FlowtrackerClassId.unit,
   9141 			req->args.field_qualify_FlowtrackerClassId.entry,
   9142 			req->args.field_qualify_FlowtrackerClassId.data,
   9143 			req->args.field_qualify_FlowtrackerClassId.mask);
   9144 		break;
   9145 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERCLASSID_GET:
   9146 		rv = bcm_field_qualify_FlowtrackerClassId_get(
   9147 			req->args.field_qualify_FlowtrackerClassId_get.unit,
   9148 			req->args.field_qualify_FlowtrackerClassId_get.entry,
   9149 			req->args.field_qualify_FlowtrackerClassId_get.data,
   9150 			req->args.field_qualify_FlowtrackerClassId_get.mask);
   9151 		break;
   9152 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERCOLLECTORCOPY:
   9153 		rv = bcm_field_qualify_FlowtrackerCollectorCopy(
   9154 			req->args.field_qualify_FlowtrackerCollectorCopy.unit,
   9155 			req->args.field_qualify_FlowtrackerCollectorCopy.entry,
   9156 			req->args.field_qualify_FlowtrackerCollectorCopy.data,
   9157 			req->args.field_qualify_FlowtrackerCollectorCopy.mask);
   9158 		break;
   9159 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERCOLLECTORCOPY_GET:
   9160 		rv = bcm_field_qualify_FlowtrackerCollectorCopy_get(
   9161 			req->args.field_qualify_FlowtrackerCollectorCopy_get.unit,
   9162 			req->args.field_qualify_FlowtrackerCollectorCopy_get.entry,
   9163 			req->args.field_qualify_FlowtrackerCollectorCopy_get.data,
   9164 			req->args.field_qualify_FlowtrackerCollectorCopy_get.mask);
   9165 		break;
   9166 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERDISABLED:
   9167 		rv = bcm_field_qualify_FlowtrackerDisabled(
   9168 			req->args.field_qualify_FlowtrackerDisabled.unit,
   9169 			req->args.field_qualify_FlowtrackerDisabled.entry,
   9170 			req->args.field_qualify_FlowtrackerDisabled.data,
   9171 			req->args.field_qualify_FlowtrackerDisabled.mask);
   9172 		break;
   9173 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERDISABLED_GET:
   9174 		rv = bcm_field_qualify_FlowtrackerDisabled_get(
   9175 			req->args.field_qualify_FlowtrackerDisabled_get.unit,
   9176 			req->args.field_qualify_FlowtrackerDisabled_get.entry,
   9177 			req->args.field_qualify_FlowtrackerDisabled_get.data,
   9178 			req->args.field_qualify_FlowtrackerDisabled_get.mask);
   9179 		break;
   9180 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKEREXPORTQUEUEFULL:
   9181 		rv = bcm_field_qualify_FlowtrackerExportQueueFull(
   9182 			req->args.field_qualify_FlowtrackerExportQueueFull.unit,
   9183 			req->args.field_qualify_FlowtrackerExportQueueFull.entry,
   9184 			req->args.field_qualify_FlowtrackerExportQueueFull.data,
   9185 			req->args.field_qualify_FlowtrackerExportQueueFull.mask);
   9186 		break;
   9187 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKEREXPORTQUEUEFULL_GET:
   9188 		rv = bcm_field_qualify_FlowtrackerExportQueueFull_get(
   9189 			req->args.field_qualify_FlowtrackerExportQueueFull_get.unit,
   9190 			req->args.field_qualify_FlowtrackerExportQueueFull_get.entry,
   9191 			req->args.field_qualify_FlowtrackerExportQueueFull_get.data,
   9192 			req->args.field_qualify_FlowtrackerExportQueueFull_get.mask);
   9193 		break;
   9194 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERFLOWTABLEFULL:
   9195 		rv = bcm_field_qualify_FlowtrackerFlowTableFull(
   9196 			req->args.field_qualify_FlowtrackerFlowTableFull.unit,
   9197 			req->args.field_qualify_FlowtrackerFlowTableFull.entry,
   9198 			req->args.field_qualify_FlowtrackerFlowTableFull.data,
   9199 			req->args.field_qualify_FlowtrackerFlowTableFull.mask);
   9200 		break;
   9201 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERFLOWTABLEFULL_GET:
   9202 		rv = bcm_field_qualify_FlowtrackerFlowTableFull_get(
   9203 			req->args.field_qualify_FlowtrackerFlowTableFull_get.unit,
   9204 			req->args.field_qualify_FlowtrackerFlowTableFull_get.entry,
   9205 			req->args.field_qualify_FlowtrackerFlowTableFull_get.data,
   9206 			req->args.field_qualify_FlowtrackerFlowTableFull_get.mask);
   9207 		break;
   9208 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERGROUPFLOWEXCEEDED:
   9209 		rv = bcm_field_qualify_FlowtrackerGroupFlowExceeded(
   9210 			req->args.field_qualify_FlowtrackerGroupFlowExceeded.unit,
   9211 			req->args.field_qualify_FlowtrackerGroupFlowExceeded.entry,
   9212 			req->args.field_qualify_FlowtrackerGroupFlowExceeded.data,
   9213 			req->args.field_qualify_FlowtrackerGroupFlowExceeded.mask);
   9214 		break;
   9215 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERGROUPFLOWEXCEEDED_GET:
   9216 		rv = bcm_field_qualify_FlowtrackerGroupFlowExceeded_get(
   9217 			req->args.field_qualify_FlowtrackerGroupFlowExceeded_get.unit,
   9218 			req->args.field_qualify_FlowtrackerGroupFlowExceeded_get.entry,
   9219 			req->args.field_qualify_FlowtrackerGroupFlowExceeded_get.data,
   9220 			req->args.field_qualify_FlowtrackerGroupFlowExceeded_get.mask);
   9221 		break;
   9222 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERGROUPID:
   9223 		rv = bcm_field_qualify_FlowtrackerGroupId(
   9224 			req->args.field_qualify_FlowtrackerGroupId.unit,
   9225 			req->args.field_qualify_FlowtrackerGroupId.entry,
   9226 			req->args.field_qualify_FlowtrackerGroupId.data,
   9227 			req->args.field_qualify_FlowtrackerGroupId.mask);
   9228 		break;
   9229 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERGROUPID_GET:
   9230 		rv = bcm_field_qualify_FlowtrackerGroupId_get(
   9231 			req->args.field_qualify_FlowtrackerGroupId_get.unit,
   9232 			req->args.field_qualify_FlowtrackerGroupId_get.entry,
   9233 			req->args.field_qualify_FlowtrackerGroupId_get.data,
   9234 			req->args.field_qualify_FlowtrackerGroupId_get.mask);
   9235 		break;
   9236 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERGROUPVALID:
   9237 		rv = bcm_field_qualify_FlowtrackerGroupValid(
   9238 			req->args.field_qualify_FlowtrackerGroupValid.unit,
   9239 			req->args.field_qualify_FlowtrackerGroupValid.entry,
   9240 			req->args.field_qualify_FlowtrackerGroupValid.data,
   9241 			req->args.field_qualify_FlowtrackerGroupValid.mask);
   9242 		break;
   9243 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERGROUPVALID_GET:
   9244 		rv = bcm_field_qualify_FlowtrackerGroupValid_get(
   9245 			req->args.field_qualify_FlowtrackerGroupValid_get.unit,
   9246 			req->args.field_qualify_FlowtrackerGroupValid_get.entry,
   9247 			req->args.field_qualify_FlowtrackerGroupValid_get.data,
   9248 			req->args.field_qualify_FlowtrackerGroupValid_get.mask);
   9249 		break;
   9250 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERLEARN:
   9251 		rv = bcm_field_qualify_FlowtrackerLearn(
   9252 			req->args.field_qualify_FlowtrackerLearn.unit,
   9253 			req->args.field_qualify_FlowtrackerLearn.entry,
   9254 			req->args.field_qualify_FlowtrackerLearn.data,
   9255 			req->args.field_qualify_FlowtrackerLearn.mask);
   9256 		break;
   9257 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERLEARN_GET:
   9258 		rv = bcm_field_qualify_FlowtrackerLearn_get(
   9259 			req->args.field_qualify_FlowtrackerLearn_get.unit,
   9260 			req->args.field_qualify_FlowtrackerLearn_get.entry,
   9261 			req->args.field_qualify_FlowtrackerLearn_get.data,
   9262 			req->args.field_qualify_FlowtrackerLearn_get.mask);
   9263 		break;
   9264 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERMETERINGEXCEEDED:
   9265 		rv = bcm_field_qualify_FlowtrackerMeteringExceeded(
   9266 			req->args.field_qualify_FlowtrackerMeteringExceeded.unit,
   9267 			req->args.field_qualify_FlowtrackerMeteringExceeded.entry,
   9268 			req->args.field_qualify_FlowtrackerMeteringExceeded.data,
   9269 			req->args.field_qualify_FlowtrackerMeteringExceeded.mask);
   9270 		break;
   9271 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FLOWTRACKERMETERINGEXCEEDED_GET:
   9272 		rv = bcm_field_qualify_FlowtrackerMeteringExceeded_get(
   9273 			req->args.field_qualify_FlowtrackerMeteringExceeded_get.unit,
   9274 			req->args.field_qualify_FlowtrackerMeteringExceeded_get.entry,
   9275 			req->args.field_qualify_FlowtrackerMeteringExceeded_get.data,
   9276 			req->args.field_qualify_FlowtrackerMeteringExceeded_get.mask);
   9277 		break;
   9278 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDCOPY:
   9279 		rv = bcm_field_qualify_ForwardCopy(
   9280 			req->args.field_qualify_ForwardCopy.unit,
   9281 			req->args.field_qualify_ForwardCopy.entry,
   9282 			req->args.field_qualify_ForwardCopy.data,
   9283 			req->args.field_qualify_ForwardCopy.mask);
   9284 		break;
   9285 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDCOPY_GET:
   9286 		rv = bcm_field_qualify_ForwardCopy_get(
   9287 			req->args.field_qualify_ForwardCopy_get.unit,
   9288 			req->args.field_qualify_ForwardCopy_get.entry,
   9289 			req->args.field_qualify_ForwardCopy_get.data,
   9290 			req->args.field_qualify_ForwardCopy_get.mask);
   9291 		break;
   9292 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDHDRDSTMAC:
   9293 		rv = bcm_field_qualify_ForwardHdrDstMac(
   9294 			req->args.field_qualify_ForwardHdrDstMac.unit,
   9295 			req->args.field_qualify_ForwardHdrDstMac.entry,
   9296 			req->args.field_qualify_ForwardHdrDstMac.data,
   9297 			req->args.field_qualify_ForwardHdrDstMac.mask);
   9298 		break;
   9299 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDHDRDSTMAC_GET:
   9300 		rv = bcm_field_qualify_ForwardHdrDstMac_get(
   9301 			req->args.field_qualify_ForwardHdrDstMac_get.unit,
   9302 			req->args.field_qualify_ForwardHdrDstMac_get.entry,
   9303 			req->args.field_qualify_ForwardHdrDstMac_get.data,
   9304 			req->args.field_qualify_ForwardHdrDstMac_get.mask);
   9305 		break;
   9306 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDHDRSRCMAC:
   9307 		rv = bcm_field_qualify_ForwardHdrSrcMac(
   9308 			req->args.field_qualify_ForwardHdrSrcMac.unit,
   9309 			req->args.field_qualify_ForwardHdrSrcMac.entry,
   9310 			req->args.field_qualify_ForwardHdrSrcMac.data,
   9311 			req->args.field_qualify_ForwardHdrSrcMac.mask);
   9312 		break;
   9313 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDHDRSRCMAC_GET:
   9314 		rv = bcm_field_qualify_ForwardHdrSrcMac_get(
   9315 			req->args.field_qualify_ForwardHdrSrcMac_get.unit,
   9316 			req->args.field_qualify_ForwardHdrSrcMac_get.entry,
   9317 			req->args.field_qualify_ForwardHdrSrcMac_get.data,
   9318 			req->args.field_qualify_ForwardHdrSrcMac_get.mask);
   9319 		break;
   9320 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDHDRVLANID:
   9321 		rv = bcm_field_qualify_ForwardHdrVlanId(
   9322 			req->args.field_qualify_ForwardHdrVlanId.unit,
   9323 			req->args.field_qualify_ForwardHdrVlanId.entry,
   9324 			req->args.field_qualify_ForwardHdrVlanId.data,
   9325 			req->args.field_qualify_ForwardHdrVlanId.mask);
   9326 		break;
   9327 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDHDRVLANID_GET:
   9328 		rv = bcm_field_qualify_ForwardHdrVlanId_get(
   9329 			req->args.field_qualify_ForwardHdrVlanId_get.unit,
   9330 			req->args.field_qualify_ForwardHdrVlanId_get.entry,
   9331 			req->args.field_qualify_ForwardHdrVlanId_get.data,
   9332 			req->args.field_qualify_ForwardHdrVlanId_get.mask);
   9333 		break;
   9334 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDINGHEADEROFFSET:
   9335 		rv = bcm_field_qualify_ForwardingHeaderOffset(
   9336 			req->args.field_qualify_ForwardingHeaderOffset.unit,
   9337 			req->args.field_qualify_ForwardingHeaderOffset.entry,
   9338 			req->args.field_qualify_ForwardingHeaderOffset.base_header,
   9339 			req->args.field_qualify_ForwardingHeaderOffset.data,
   9340 			req->args.field_qualify_ForwardingHeaderOffset.mask);
   9341 		break;
   9342 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDINGHEADEROFFSET_GET:
   9343 		rv = bcm_field_qualify_ForwardingHeaderOffset_get(
   9344 			req->args.field_qualify_ForwardingHeaderOffset_get.unit,
   9345 			req->args.field_qualify_ForwardingHeaderOffset_get.entry,
   9346 			req->args.field_qualify_ForwardingHeaderOffset_get.base_header,
   9347 			req->args.field_qualify_ForwardingHeaderOffset_get.data,
   9348 			req->args.field_qualify_ForwardingHeaderOffset_get.mask);
   9349 		break;
   9350 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDINGTYPE:
   9351 		rv = bcm_field_qualify_ForwardingType(
   9352 			req->args.field_qualify_ForwardingType.unit,
   9353 			req->args.field_qualify_ForwardingType.entry,
   9354 			req->args.field_qualify_ForwardingType.type);
   9355 		break;
   9356 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDINGTYPE_GET:
   9357 		rv = bcm_field_qualify_ForwardingType_get(
   9358 			req->args.field_qualify_ForwardingType_get.unit,
   9359 			req->args.field_qualify_ForwardingType_get.entry,
   9360 			req->args.field_qualify_ForwardingType_get.type);
   9361 		break;
   9362 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDINGVLANID:
   9363 		rv = bcm_field_qualify_ForwardingVlanId(
   9364 			req->args.field_qualify_ForwardingVlanId.unit,
   9365 			req->args.field_qualify_ForwardingVlanId.entry,
   9366 			req->args.field_qualify_ForwardingVlanId.data,
   9367 			req->args.field_qualify_ForwardingVlanId.mask);
   9368 		break;
   9369 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDINGVLANID_GET:
   9370 		rv = bcm_field_qualify_ForwardingVlanId_get(
   9371 			req->args.field_qualify_ForwardingVlanId_get.unit,
   9372 			req->args.field_qualify_ForwardingVlanId_get.entry,
   9373 			req->args.field_qualify_ForwardingVlanId_get.data,
   9374 			req->args.field_qualify_ForwardingVlanId_get.mask);
   9375 		break;
   9376 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDINGVLANVALID:
   9377 		rv = bcm_field_qualify_ForwardingVlanValid(
   9378 			req->args.field_qualify_ForwardingVlanValid.unit,
   9379 			req->args.field_qualify_ForwardingVlanValid.entry,
   9380 			req->args.field_qualify_ForwardingVlanValid.data,
   9381 			req->args.field_qualify_ForwardingVlanValid.mask);
   9382 		break;
   9383 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FORWARDINGVLANVALID_GET:
   9384 		rv = bcm_field_qualify_ForwardingVlanValid_get(
   9385 			req->args.field_qualify_ForwardingVlanValid_get.unit,
   9386 			req->args.field_qualify_ForwardingVlanValid_get.entry,
   9387 			req->args.field_qualify_ForwardingVlanValid_get.data,
   9388 			req->args.field_qualify_ForwardingVlanValid_get.mask);
   9389 		break;
   9390 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FROMMACSECPORT:
   9391 		rv = bcm_field_qualify_FromMacSecPort(
   9392 			req->args.field_qualify_FromMacSecPort.unit,
   9393 			req->args.field_qualify_FromMacSecPort.entry,
   9394 			req->args.field_qualify_FromMacSecPort.data,
   9395 			req->args.field_qualify_FromMacSecPort.mask);
   9396 		break;
   9397 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FROMMACSECPORT_GET:
   9398 		rv = bcm_field_qualify_FromMacSecPort_get(
   9399 			req->args.field_qualify_FromMacSecPort_get.unit,
   9400 			req->args.field_qualify_FromMacSecPort_get.entry,
   9401 			req->args.field_qualify_FromMacSecPort_get.data,
   9402 			req->args.field_qualify_FromMacSecPort_get.mask);
   9403 		break;
   9404 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FRONTPANELPKT:
   9405 		rv = bcm_field_qualify_FrontPanelPkt(
   9406 			req->args.field_qualify_FrontPanelPkt.unit,
   9407 			req->args.field_qualify_FrontPanelPkt.entry,
   9408 			req->args.field_qualify_FrontPanelPkt.data,
   9409 			req->args.field_qualify_FrontPanelPkt.mask);
   9410 		break;
   9411 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_FRONTPANELPKT_GET:
   9412 		rv = bcm_field_qualify_FrontPanelPkt_get(
   9413 			req->args.field_qualify_FrontPanelPkt_get.unit,
   9414 			req->args.field_qualify_FrontPanelPkt_get.entry,
   9415 			req->args.field_qualify_FrontPanelPkt_get.data,
   9416 			req->args.field_qualify_FrontPanelPkt_get.mask);
   9417 		break;
   9418 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GBPDSTID:
   9419 		rv = bcm_field_qualify_GbpDstId(
   9420 			req->args.field_qualify_GbpDstId.unit,
   9421 			req->args.field_qualify_GbpDstId.entry,
   9422 			req->args.field_qualify_GbpDstId.data,
   9423 			req->args.field_qualify_GbpDstId.mask);
   9424 		break;
   9425 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GBPDSTID_GET:
   9426 		rv = bcm_field_qualify_GbpDstId_get(
   9427 			req->args.field_qualify_GbpDstId_get.unit,
   9428 			req->args.field_qualify_GbpDstId_get.entry,
   9429 			req->args.field_qualify_GbpDstId_get.data,
   9430 			req->args.field_qualify_GbpDstId_get.mask);
   9431 		break;
   9432 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GBPPRESENT:
   9433 		rv = bcm_field_qualify_GbpPresent(
   9434 			req->args.field_qualify_GbpPresent.unit,
   9435 			req->args.field_qualify_GbpPresent.entry,
   9436 			req->args.field_qualify_GbpPresent.data,
   9437 			req->args.field_qualify_GbpPresent.mask);
   9438 		break;
   9439 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GBPPRESENT_GET:
   9440 		rv = bcm_field_qualify_GbpPresent_get(
   9441 			req->args.field_qualify_GbpPresent_get.unit,
   9442 			req->args.field_qualify_GbpPresent_get.entry,
   9443 			req->args.field_qualify_GbpPresent_get.data,
   9444 			req->args.field_qualify_GbpPresent_get.mask);
   9445 		break;
   9446 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GBPSRCID:
   9447 		rv = bcm_field_qualify_GbpSrcId(
   9448 			req->args.field_qualify_GbpSrcId.unit,
   9449 			req->args.field_qualify_GbpSrcId.entry,
   9450 			req->args.field_qualify_GbpSrcId.data,
   9451 			req->args.field_qualify_GbpSrcId.mask);
   9452 		break;
   9453 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GBPSRCID_GET:
   9454 		rv = bcm_field_qualify_GbpSrcId_get(
   9455 			req->args.field_qualify_GbpSrcId_get.unit,
   9456 			req->args.field_qualify_GbpSrcId_get.entry,
   9457 			req->args.field_qualify_GbpSrcId_get.data,
   9458 			req->args.field_qualify_GbpSrcId_get.mask);
   9459 		break;
   9460 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GENERATEDTTL:
   9461 		rv = bcm_field_qualify_GeneratedTtl(
   9462 			req->args.field_qualify_GeneratedTtl.unit,
   9463 			req->args.field_qualify_GeneratedTtl.entry,
   9464 			req->args.field_qualify_GeneratedTtl.data,
   9465 			req->args.field_qualify_GeneratedTtl.mask);
   9466 		break;
   9467 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GENERATEDTTL_GET:
   9468 		rv = bcm_field_qualify_GeneratedTtl_get(
   9469 			req->args.field_qualify_GeneratedTtl_get.unit,
   9470 			req->args.field_qualify_GeneratedTtl_get.entry,
   9471 			req->args.field_qualify_GeneratedTtl_get.data,
   9472 			req->args.field_qualify_GeneratedTtl_get.mask);
   9473 		break;
   9474 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GENERICASSOCIATEDCHANNELLABELVALID:
   9475 		rv = bcm_field_qualify_GenericAssociatedChannelLabelValid(
   9476 			req->args.field_qualify_GenericAssociatedChannelLabelValid.unit,
   9477 			req->args.field_qualify_GenericAssociatedChannelLabelValid.entry,
   9478 			req->args.field_qualify_GenericAssociatedChannelLabelValid.data,
   9479 			req->args.field_qualify_GenericAssociatedChannelLabelValid.mask);
   9480 		break;
   9481 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GENERICASSOCIATEDCHANNELLABELVALID_GET:
   9482 		rv = bcm_field_qualify_GenericAssociatedChannelLabelValid_get(
   9483 			req->args.field_qualify_GenericAssociatedChannelLabelValid_get.unit,
   9484 			req->args.field_qualify_GenericAssociatedChannelLabelValid_get.entry,
   9485 			req->args.field_qualify_GenericAssociatedChannelLabelValid_get.data,
   9486 			req->args.field_qualify_GenericAssociatedChannelLabelValid_get.mask);
   9487 		break;
   9488 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GENEVEPKTVERSIONZERO:
   9489 		rv = bcm_field_qualify_GenevePktVersionZero(
   9490 			req->args.field_qualify_GenevePktVersionZero.unit,
   9491 			req->args.field_qualify_GenevePktVersionZero.entry,
   9492 			req->args.field_qualify_GenevePktVersionZero.data,
   9493 			req->args.field_qualify_GenevePktVersionZero.mask);
   9494 		break;
   9495 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GENEVEPKTVERSIONZERO_GET:
   9496 		rv = bcm_field_qualify_GenevePktVersionZero_get(
   9497 			req->args.field_qualify_GenevePktVersionZero_get.unit,
   9498 			req->args.field_qualify_GenevePktVersionZero_get.entry,
   9499 			req->args.field_qualify_GenevePktVersionZero_get.data,
   9500 			req->args.field_qualify_GenevePktVersionZero_get.mask);
   9501 		break;
   9502 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GENEVEPKTWITHOAM:
   9503 		rv = bcm_field_qualify_GenevePktWithOam(
   9504 			req->args.field_qualify_GenevePktWithOam.unit,
   9505 			req->args.field_qualify_GenevePktWithOam.entry,
   9506 			req->args.field_qualify_GenevePktWithOam.data,
   9507 			req->args.field_qualify_GenevePktWithOam.mask);
   9508 		break;
   9509 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GENEVEPKTWITHOAM_GET:
   9510 		rv = bcm_field_qualify_GenevePktWithOam_get(
   9511 			req->args.field_qualify_GenevePktWithOam_get.unit,
   9512 			req->args.field_qualify_GenevePktWithOam_get.entry,
   9513 			req->args.field_qualify_GenevePktWithOam_get.data,
   9514 			req->args.field_qualify_GenevePktWithOam_get.mask);
   9515 		break;
   9516 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GPEPKTVERSIONZERO:
   9517 		rv = bcm_field_qualify_GpePktVersionZero(
   9518 			req->args.field_qualify_GpePktVersionZero.unit,
   9519 			req->args.field_qualify_GpePktVersionZero.entry,
   9520 			req->args.field_qualify_GpePktVersionZero.data,
   9521 			req->args.field_qualify_GpePktVersionZero.mask);
   9522 		break;
   9523 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GPEPKTVERSIONZERO_GET:
   9524 		rv = bcm_field_qualify_GpePktVersionZero_get(
   9525 			req->args.field_qualify_GpePktVersionZero_get.unit,
   9526 			req->args.field_qualify_GpePktVersionZero_get.entry,
   9527 			req->args.field_qualify_GpePktVersionZero_get.data,
   9528 			req->args.field_qualify_GpePktVersionZero_get.mask);
   9529 		break;
   9530 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GPEPKTWITHOAM:
   9531 		rv = bcm_field_qualify_GpePktWithOam(
   9532 			req->args.field_qualify_GpePktWithOam.unit,
   9533 			req->args.field_qualify_GpePktWithOam.entry,
   9534 			req->args.field_qualify_GpePktWithOam.data,
   9535 			req->args.field_qualify_GpePktWithOam.mask);
   9536 		break;
   9537 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GPEPKTWITHOAM_GET:
   9538 		rv = bcm_field_qualify_GpePktWithOam_get(
   9539 			req->args.field_qualify_GpePktWithOam_get.unit,
   9540 			req->args.field_qualify_GpePktWithOam_get.entry,
   9541 			req->args.field_qualify_GpePktWithOam_get.data,
   9542 			req->args.field_qualify_GpePktWithOam_get.mask);
   9543 		break;
   9544 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GROUPCLASS:
   9545 		rv = bcm_field_qualify_GroupClass(
   9546 			req->args.field_qualify_GroupClass.unit,
   9547 			req->args.field_qualify_GroupClass.entry,
   9548 			req->args.field_qualify_GroupClass.data,
   9549 			req->args.field_qualify_GroupClass.mask);
   9550 		break;
   9551 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_GROUPCLASS_GET:
   9552 		rv = bcm_field_qualify_GroupClass_get(
   9553 			req->args.field_qualify_GroupClass_get.unit,
   9554 			req->args.field_qualify_GroupClass_get.entry,
   9555 			req->args.field_qualify_GroupClass_get.data,
   9556 			req->args.field_qualify_GroupClass_get.mask);
   9557 		break;
   9558 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HEADERFORMAT:
   9559 		rv = bcm_field_qualify_HeaderFormat(
   9560 			req->args.field_qualify_HeaderFormat.unit,
   9561 			req->args.field_qualify_HeaderFormat.entry,
   9562 			req->args.field_qualify_HeaderFormat.header_format);
   9563 		break;
   9564 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HEADERFORMATEXTENSION:
   9565 		rv = bcm_field_qualify_HeaderFormatExtension(
   9566 			req->args.field_qualify_HeaderFormatExtension.unit,
   9567 			req->args.field_qualify_HeaderFormatExtension.entry,
   9568 			req->args.field_qualify_HeaderFormatExtension.header_format_extension);
   9569 		break;
   9570 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HEADERFORMATEXTENSION_GET:
   9571 		rv = bcm_field_qualify_HeaderFormatExtension_get(
   9572 			req->args.field_qualify_HeaderFormatExtension_get.unit,
   9573 			req->args.field_qualify_HeaderFormatExtension_get.entry,
   9574 			req->args.field_qualify_HeaderFormatExtension_get.header_format_extension);
   9575 		break;
   9576 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HEADERFORMATSET:
   9577 		rv = bcm_field_qualify_HeaderFormatSet(
   9578 			req->args.field_qualify_HeaderFormatSet.unit,
   9579 			req->args.field_qualify_HeaderFormatSet.entry,
   9580 			req->args.field_qualify_HeaderFormatSet.header_format_set);
   9581 		break;
   9582 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HEADERFORMATSET_GET:
   9583 		rv = bcm_field_qualify_HeaderFormatSet_get(
   9584 			req->args.field_qualify_HeaderFormatSet_get.unit,
   9585 			req->args.field_qualify_HeaderFormatSet_get.entry,
   9586 			req->args.field_qualify_HeaderFormatSet_get.header_format_set);
   9587 		break;
   9588 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HEADERFORMAT_GET:
   9589 		rv = bcm_field_qualify_HeaderFormat_get(
   9590 			req->args.field_qualify_HeaderFormat_get.unit,
   9591 			req->args.field_qualify_HeaderFormat_get.entry,
   9592 			req->args.field_qualify_HeaderFormat_get.header_format);
   9593 		break;
   9594 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIG:
   9595 		rv = bcm_field_qualify_HiGig(
   9596 			req->args.field_qualify_HiGig.unit,
   9597 			req->args.field_qualify_HiGig.entry,
   9598 			req->args.field_qualify_HiGig.data,
   9599 			req->args.field_qualify_HiGig.mask);
   9600 		break;
   9601 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGCOLOR:
   9602 		rv = bcm_field_qualify_HiGigColor(
   9603 			req->args.field_qualify_HiGigColor.unit,
   9604 			req->args.field_qualify_HiGigColor.entry,
   9605 			req->args.field_qualify_HiGigColor.color);
   9606 		break;
   9607 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGCOLOR_GET:
   9608 		rv = bcm_field_qualify_HiGigColor_get(
   9609 			req->args.field_qualify_HiGigColor_get.unit,
   9610 			req->args.field_qualify_HiGigColor_get.entry,
   9611 			req->args.field_qualify_HiGigColor_get.color);
   9612 		break;
   9613 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDONOTFLAGS:
   9614 		rv = bcm_field_qualify_HiGigDoNotFlags(
   9615 			req->args.field_qualify_HiGigDoNotFlags.unit,
   9616 			req->args.field_qualify_HiGigDoNotFlags.entry,
   9617 			req->args.field_qualify_HiGigDoNotFlags.data,
   9618 			req->args.field_qualify_HiGigDoNotFlags.mask);
   9619 		break;
   9620 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDONOTFLAGS_GET:
   9621 		rv = bcm_field_qualify_HiGigDoNotFlags_get(
   9622 			req->args.field_qualify_HiGigDoNotFlags_get.unit,
   9623 			req->args.field_qualify_HiGigDoNotFlags_get.entry,
   9624 			req->args.field_qualify_HiGigDoNotFlags_get.data,
   9625 			req->args.field_qualify_HiGigDoNotFlags_get.mask);
   9626 		break;
   9627 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTGPORT:
   9628 		rv = bcm_field_qualify_HiGigDstGport(
   9629 			req->args.field_qualify_HiGigDstGport.unit,
   9630 			req->args.field_qualify_HiGigDstGport.entry,
   9631 			req->args.field_qualify_HiGigDstGport.port_id,
   9632 			req->args.field_qualify_HiGigDstGport.port_mask);
   9633 		break;
   9634 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTGPORT_GET:
   9635 		rv = bcm_field_qualify_HiGigDstGport_get(
   9636 			req->args.field_qualify_HiGigDstGport_get.unit,
   9637 			req->args.field_qualify_HiGigDstGport_get.entry,
   9638 			req->args.field_qualify_HiGigDstGport_get.port_id,
   9639 			req->args.field_qualify_HiGigDstGport_get.port_mask);
   9640 		break;
   9641 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTMODPORTGPORT:
   9642 		rv = bcm_field_qualify_HiGigDstModPortGport(
   9643 			req->args.field_qualify_HiGigDstModPortGport.unit,
   9644 			req->args.field_qualify_HiGigDstModPortGport.entry,
   9645 			req->args.field_qualify_HiGigDstModPortGport.port_id,
   9646 			req->args.field_qualify_HiGigDstModPortGport.port_mask);
   9647 		break;
   9648 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTMODPORTGPORT_GET:
   9649 		rv = bcm_field_qualify_HiGigDstModPortGport_get(
   9650 			req->args.field_qualify_HiGigDstModPortGport_get.unit,
   9651 			req->args.field_qualify_HiGigDstModPortGport_get.entry,
   9652 			req->args.field_qualify_HiGigDstModPortGport_get.port_id,
   9653 			req->args.field_qualify_HiGigDstModPortGport_get.port_mask);
   9654 		break;
   9655 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTMODULEGPORT:
   9656 		rv = bcm_field_qualify_HiGigDstModuleGport(
   9657 			req->args.field_qualify_HiGigDstModuleGport.unit,
   9658 			req->args.field_qualify_HiGigDstModuleGport.entry,
   9659 			req->args.field_qualify_HiGigDstModuleGport.port_id,
   9660 			req->args.field_qualify_HiGigDstModuleGport.port_mask);
   9661 		break;
   9662 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTMODULEGPORT_GET:
   9663 		rv = bcm_field_qualify_HiGigDstModuleGport_get(
   9664 			req->args.field_qualify_HiGigDstModuleGport_get.unit,
   9665 			req->args.field_qualify_HiGigDstModuleGport_get.entry,
   9666 			req->args.field_qualify_HiGigDstModuleGport_get.port_id,
   9667 			req->args.field_qualify_HiGigDstModuleGport_get.port_mask);
   9668 		break;
   9669 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTMULTICAST:
   9670 		rv = bcm_field_qualify_HiGigDstMulticast(
   9671 			req->args.field_qualify_HiGigDstMulticast.unit,
   9672 			req->args.field_qualify_HiGigDstMulticast.entry,
   9673 			req->args.field_qualify_HiGigDstMulticast.data,
   9674 			req->args.field_qualify_HiGigDstMulticast.mask);
   9675 		break;
   9676 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTMULTICASTGROUPID:
   9677 		rv = bcm_field_qualify_HiGigDstMulticastGroupId(
   9678 			req->args.field_qualify_HiGigDstMulticastGroupId.unit,
   9679 			req->args.field_qualify_HiGigDstMulticastGroupId.entry,
   9680 			req->args.field_qualify_HiGigDstMulticastGroupId.group,
   9681 			req->args.field_qualify_HiGigDstMulticastGroupId.mask);
   9682 		break;
   9683 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTMULTICASTGROUPID_GET:
   9684 		rv = bcm_field_qualify_HiGigDstMulticastGroupId_get(
   9685 			req->args.field_qualify_HiGigDstMulticastGroupId_get.unit,
   9686 			req->args.field_qualify_HiGigDstMulticastGroupId_get.entry,
   9687 			req->args.field_qualify_HiGigDstMulticastGroupId_get.group,
   9688 			req->args.field_qualify_HiGigDstMulticastGroupId_get.mask);
   9689 		break;
   9690 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTMULTICAST_GET:
   9691 		rv = bcm_field_qualify_HiGigDstMulticast_get(
   9692 			req->args.field_qualify_HiGigDstMulticast_get.unit,
   9693 			req->args.field_qualify_HiGigDstMulticast_get.entry,
   9694 			req->args.field_qualify_HiGigDstMulticast_get.data,
   9695 			req->args.field_qualify_HiGigDstMulticast_get.mask);
   9696 		break;
   9697 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTPORTGPORT:
   9698 		rv = bcm_field_qualify_HiGigDstPortGport(
   9699 			req->args.field_qualify_HiGigDstPortGport.unit,
   9700 			req->args.field_qualify_HiGigDstPortGport.entry,
   9701 			req->args.field_qualify_HiGigDstPortGport.port_id,
   9702 			req->args.field_qualify_HiGigDstPortGport.mask);
   9703 		break;
   9704 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTPORTGPORT_GET:
   9705 		rv = bcm_field_qualify_HiGigDstPortGport_get(
   9706 			req->args.field_qualify_HiGigDstPortGport_get.unit,
   9707 			req->args.field_qualify_HiGigDstPortGport_get.entry,
   9708 			req->args.field_qualify_HiGigDstPortGport_get.port_id,
   9709 			req->args.field_qualify_HiGigDstPortGport_get.port_mask);
   9710 		break;
   9711 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTTRUNK:
   9712 		rv = bcm_field_qualify_HiGigDstTrunk(
   9713 			req->args.field_qualify_HiGigDstTrunk.unit,
   9714 			req->args.field_qualify_HiGigDstTrunk.entry,
   9715 			req->args.field_qualify_HiGigDstTrunk.data,
   9716 			req->args.field_qualify_HiGigDstTrunk.mask);
   9717 		break;
   9718 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTTRUNKID:
   9719 		rv = bcm_field_qualify_HiGigDstTrunkId(
   9720 			req->args.field_qualify_HiGigDstTrunkId.unit,
   9721 			req->args.field_qualify_HiGigDstTrunkId.entry,
   9722 			req->args.field_qualify_HiGigDstTrunkId.data,
   9723 			req->args.field_qualify_HiGigDstTrunkId.mask);
   9724 		break;
   9725 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTTRUNKID_GET:
   9726 		rv = bcm_field_qualify_HiGigDstTrunkId_get(
   9727 			req->args.field_qualify_HiGigDstTrunkId_get.unit,
   9728 			req->args.field_qualify_HiGigDstTrunkId_get.entry,
   9729 			req->args.field_qualify_HiGigDstTrunkId_get.data,
   9730 			req->args.field_qualify_HiGigDstTrunkId_get.mask);
   9731 		break;
   9732 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTTRUNK_GET:
   9733 		rv = bcm_field_qualify_HiGigDstTrunk_get(
   9734 			req->args.field_qualify_HiGigDstTrunk_get.unit,
   9735 			req->args.field_qualify_HiGigDstTrunk_get.entry,
   9736 			req->args.field_qualify_HiGigDstTrunk_get.data,
   9737 			req->args.field_qualify_HiGigDstTrunk_get.mask);
   9738 		break;
   9739 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTTYPE:
   9740 		rv = bcm_field_qualify_HiGigDstType(
   9741 			req->args.field_qualify_HiGigDstType.unit,
   9742 			req->args.field_qualify_HiGigDstType.entry,
   9743 			req->args.field_qualify_HiGigDstType.data,
   9744 			req->args.field_qualify_HiGigDstType.mask);
   9745 		break;
   9746 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGDSTTYPE_GET:
   9747 		rv = bcm_field_qualify_HiGigDstType_get(
   9748 			req->args.field_qualify_HiGigDstType_get.unit,
   9749 			req->args.field_qualify_HiGigDstType_get.entry,
   9750 			req->args.field_qualify_HiGigDstType_get.data,
   9751 			req->args.field_qualify_HiGigDstType_get.mask);
   9752 		break;
   9753 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGEGRESSMCAST:
   9754 		rv = bcm_field_qualify_HiGigEgressMcast(
   9755 			req->args.field_qualify_HiGigEgressMcast.unit,
   9756 			req->args.field_qualify_HiGigEgressMcast.entry,
   9757 			req->args.field_qualify_HiGigEgressMcast.data,
   9758 			req->args.field_qualify_HiGigEgressMcast.mask);
   9759 		break;
   9760 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGEGRESSMCAST_GET:
   9761 		rv = bcm_field_qualify_HiGigEgressMcast_get(
   9762 			req->args.field_qualify_HiGigEgressMcast_get.unit,
   9763 			req->args.field_qualify_HiGigEgressMcast_get.entry,
   9764 			req->args.field_qualify_HiGigEgressMcast_get.data,
   9765 			req->args.field_qualify_HiGigEgressMcast_get.mask);
   9766 		break;
   9767 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGEXTENDEDHEADERPRESENT:
   9768 		rv = bcm_field_qualify_HiGigExtendedHeaderPresent(
   9769 			req->args.field_qualify_HiGigExtendedHeaderPresent.unit,
   9770 			req->args.field_qualify_HiGigExtendedHeaderPresent.entry,
   9771 			req->args.field_qualify_HiGigExtendedHeaderPresent.data,
   9772 			req->args.field_qualify_HiGigExtendedHeaderPresent.mask);
   9773 		break;
   9774 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGEXTENDEDHEADERPRESENT_GET:
   9775 		rv = bcm_field_qualify_HiGigExtendedHeaderPresent_get(
   9776 			req->args.field_qualify_HiGigExtendedHeaderPresent_get.unit,
   9777 			req->args.field_qualify_HiGigExtendedHeaderPresent_get.entry,
   9778 			req->args.field_qualify_HiGigExtendedHeaderPresent_get.data,
   9779 			req->args.field_qualify_HiGigExtendedHeaderPresent_get.mask);
   9780 		break;
   9781 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGFORWARDINGTYPE:
   9782 		rv = bcm_field_qualify_HiGigForwardingType(
   9783 			req->args.field_qualify_HiGigForwardingType.unit,
   9784 			req->args.field_qualify_HiGigForwardingType.entry,
   9785 			req->args.field_qualify_HiGigForwardingType.type);
   9786 		break;
   9787 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGFORWARDINGTYPE_GET:
   9788 		rv = bcm_field_qualify_HiGigForwardingType_get(
   9789 			req->args.field_qualify_HiGigForwardingType_get.unit,
   9790 			req->args.field_qualify_HiGigForwardingType_get.entry,
   9791 			req->args.field_qualify_HiGigForwardingType_get.type);
   9792 		break;
   9793 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGGBPPRESENT:
   9794 		rv = bcm_field_qualify_HiGigGbpPresent(
   9795 			req->args.field_qualify_HiGigGbpPresent.unit,
   9796 			req->args.field_qualify_HiGigGbpPresent.entry,
   9797 			req->args.field_qualify_HiGigGbpPresent.data,
   9798 			req->args.field_qualify_HiGigGbpPresent.mask);
   9799 		break;
   9800 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGGBPPRESENT_GET:
   9801 		rv = bcm_field_qualify_HiGigGbpPresent_get(
   9802 			req->args.field_qualify_HiGigGbpPresent_get.unit,
   9803 			req->args.field_qualify_HiGigGbpPresent_get.entry,
   9804 			req->args.field_qualify_HiGigGbpPresent_get.data,
   9805 			req->args.field_qualify_HiGigGbpPresent_get.mask);
   9806 		break;
   9807 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGGBPSRCID:
   9808 		rv = bcm_field_qualify_HiGigGbpSrcId(
   9809 			req->args.field_qualify_HiGigGbpSrcId.unit,
   9810 			req->args.field_qualify_HiGigGbpSrcId.entry,
   9811 			req->args.field_qualify_HiGigGbpSrcId.data,
   9812 			req->args.field_qualify_HiGigGbpSrcId.mask);
   9813 		break;
   9814 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGGBPSRCID_GET:
   9815 		rv = bcm_field_qualify_HiGigGbpSrcId_get(
   9816 			req->args.field_qualify_HiGigGbpSrcId_get.unit,
   9817 			req->args.field_qualify_HiGigGbpSrcId_get.entry,
   9818 			req->args.field_qualify_HiGigGbpSrcId_get.data,
   9819 			req->args.field_qualify_HiGigGbpSrcId_get.mask);
   9820 		break;
   9821 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGINGRESSCLASSIFICATIONTAG:
   9822 		rv = bcm_field_qualify_HiGigIngressClassificationTag(
   9823 			req->args.field_qualify_HiGigIngressClassificationTag.unit,
   9824 			req->args.field_qualify_HiGigIngressClassificationTag.entry,
   9825 			req->args.field_qualify_HiGigIngressClassificationTag.data,
   9826 			req->args.field_qualify_HiGigIngressClassificationTag.mask);
   9827 		break;
   9828 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGINGRESSCLASSIFICATIONTAG_GET:
   9829 		rv = bcm_field_qualify_HiGigIngressClassificationTag_get(
   9830 			req->args.field_qualify_HiGigIngressClassificationTag_get.unit,
   9831 			req->args.field_qualify_HiGigIngressClassificationTag_get.entry,
   9832 			req->args.field_qualify_HiGigIngressClassificationTag_get.data,
   9833 			req->args.field_qualify_HiGigIngressClassificationTag_get.mask);
   9834 		break;
   9835 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGINGRESSL3SWITCHPKT:
   9836 		rv = bcm_field_qualify_HiGigIngressL3SwitchPkt(
   9837 			req->args.field_qualify_HiGigIngressL3SwitchPkt.unit,
   9838 			req->args.field_qualify_HiGigIngressL3SwitchPkt.entry,
   9839 			req->args.field_qualify_HiGigIngressL3SwitchPkt.data,
   9840 			req->args.field_qualify_HiGigIngressL3SwitchPkt.mask);
   9841 		break;
   9842 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGINGRESSL3SWITCHPKT_GET:
   9843 		rv = bcm_field_qualify_HiGigIngressL3SwitchPkt_get(
   9844 			req->args.field_qualify_HiGigIngressL3SwitchPkt_get.unit,
   9845 			req->args.field_qualify_HiGigIngressL3SwitchPkt_get.entry,
   9846 			req->args.field_qualify_HiGigIngressL3SwitchPkt_get.data,
   9847 			req->args.field_qualify_HiGigIngressL3SwitchPkt_get.mask);
   9848 		break;
   9849 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGINGRESSTAGGED:
   9850 		rv = bcm_field_qualify_HiGigIngressTagged(
   9851 			req->args.field_qualify_HiGigIngressTagged.unit,
   9852 			req->args.field_qualify_HiGigIngressTagged.entry,
   9853 			req->args.field_qualify_HiGigIngressTagged.data,
   9854 			req->args.field_qualify_HiGigIngressTagged.mask);
   9855 		break;
   9856 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGINGRESSTAGGED_GET:
   9857 		rv = bcm_field_qualify_HiGigIngressTagged_get(
   9858 			req->args.field_qualify_HiGigIngressTagged_get.unit,
   9859 			req->args.field_qualify_HiGigIngressTagged_get.entry,
   9860 			req->args.field_qualify_HiGigIngressTagged_get.data,
   9861 			req->args.field_qualify_HiGigIngressTagged_get.mask);
   9862 		break;
   9863 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGINTCONGESTIONNOTIFICATION:
   9864 		rv = bcm_field_qualify_HiGigIntCongestionNotification(
   9865 			req->args.field_qualify_HiGigIntCongestionNotification.unit,
   9866 			req->args.field_qualify_HiGigIntCongestionNotification.entry,
   9867 			req->args.field_qualify_HiGigIntCongestionNotification.data,
   9868 			req->args.field_qualify_HiGigIntCongestionNotification.mask);
   9869 		break;
   9870 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGINTCONGESTIONNOTIFICATION_GET:
   9871 		rv = bcm_field_qualify_HiGigIntCongestionNotification_get(
   9872 			req->args.field_qualify_HiGigIntCongestionNotification_get.unit,
   9873 			req->args.field_qualify_HiGigIntCongestionNotification_get.entry,
   9874 			req->args.field_qualify_HiGigIntCongestionNotification_get.data,
   9875 			req->args.field_qualify_HiGigIntCongestionNotification_get.mask);
   9876 		break;
   9877 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGLABEL:
   9878 		rv = bcm_field_qualify_HiGigLabel(
   9879 			req->args.field_qualify_HiGigLabel.unit,
   9880 			req->args.field_qualify_HiGigLabel.entry,
   9881 			req->args.field_qualify_HiGigLabel.data,
   9882 			req->args.field_qualify_HiGigLabel.mask);
   9883 		break;
   9884 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGLABELTYPE:
   9885 		rv = bcm_field_qualify_HiGigLabelType(
   9886 			req->args.field_qualify_HiGigLabelType.unit,
   9887 			req->args.field_qualify_HiGigLabelType.entry,
   9888 			req->args.field_qualify_HiGigLabelType.data,
   9889 			req->args.field_qualify_HiGigLabelType.mask);
   9890 		break;
   9891 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGLABELTYPE_GET:
   9892 		rv = bcm_field_qualify_HiGigLabelType_get(
   9893 			req->args.field_qualify_HiGigLabelType_get.unit,
   9894 			req->args.field_qualify_HiGigLabelType_get.entry,
   9895 			req->args.field_qualify_HiGigLabelType_get.data,
   9896 			req->args.field_qualify_HiGigLabelType_get.mask);
   9897 		break;
   9898 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGLABEL_GET:
   9899 		rv = bcm_field_qualify_HiGigLabel_get(
   9900 			req->args.field_qualify_HiGigLabel_get.unit,
   9901 			req->args.field_qualify_HiGigLabel_get.entry,
   9902 			req->args.field_qualify_HiGigLabel_get.data,
   9903 			req->args.field_qualify_HiGigLabel_get.mask);
   9904 		break;
   9905 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGLOADBALANCEID:
   9906 		rv = bcm_field_qualify_HiGigLoadBalanceID(
   9907 			req->args.field_qualify_HiGigLoadBalanceID.unit,
   9908 			req->args.field_qualify_HiGigLoadBalanceID.entry,
   9909 			req->args.field_qualify_HiGigLoadBalanceID.data,
   9910 			req->args.field_qualify_HiGigLoadBalanceID.mask);
   9911 		break;
   9912 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGLOADBALANCEID_GET:
   9913 		rv = bcm_field_qualify_HiGigLoadBalanceID_get(
   9914 			req->args.field_qualify_HiGigLoadBalanceID_get.unit,
   9915 			req->args.field_qualify_HiGigLoadBalanceID_get.entry,
   9916 			req->args.field_qualify_HiGigLoadBalanceID_get.data,
   9917 			req->args.field_qualify_HiGigLoadBalanceID_get.mask);
   9918 		break;
   9919 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGMIRRORORSWITCHPKT:
   9920 		rv = bcm_field_qualify_HiGigMirrorOrSwitchPkt(
   9921 			req->args.field_qualify_HiGigMirrorOrSwitchPkt.unit,
   9922 			req->args.field_qualify_HiGigMirrorOrSwitchPkt.entry,
   9923 			req->args.field_qualify_HiGigMirrorOrSwitchPkt.data,
   9924 			req->args.field_qualify_HiGigMirrorOrSwitchPkt.mask);
   9925 		break;
   9926 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGMIRRORORSWITCHPKT_GET:
   9927 		rv = bcm_field_qualify_HiGigMirrorOrSwitchPkt_get(
   9928 			req->args.field_qualify_HiGigMirrorOrSwitchPkt_get.unit,
   9929 			req->args.field_qualify_HiGigMirrorOrSwitchPkt_get.entry,
   9930 			req->args.field_qualify_HiGigMirrorOrSwitchPkt_get.data,
   9931 			req->args.field_qualify_HiGigMirrorOrSwitchPkt_get.mask);
   9932 		break;
   9933 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGMIRRORTOVP:
   9934 		rv = bcm_field_qualify_HiGigMirrorToVp(
   9935 			req->args.field_qualify_HiGigMirrorToVp.unit,
   9936 			req->args.field_qualify_HiGigMirrorToVp.entry,
   9937 			req->args.field_qualify_HiGigMirrorToVp.data,
   9938 			req->args.field_qualify_HiGigMirrorToVp.mask);
   9939 		break;
   9940 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGMIRRORTOVP_GET:
   9941 		rv = bcm_field_qualify_HiGigMirrorToVp_get(
   9942 			req->args.field_qualify_HiGigMirrorToVp_get.unit,
   9943 			req->args.field_qualify_HiGigMirrorToVp_get.entry,
   9944 			req->args.field_qualify_HiGigMirrorToVp_get.data,
   9945 			req->args.field_qualify_HiGigMirrorToVp_get.mask);
   9946 		break;
   9947 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGMPLSPKT:
   9948 		rv = bcm_field_qualify_HiGigMplsPkt(
   9949 			req->args.field_qualify_HiGigMplsPkt.unit,
   9950 			req->args.field_qualify_HiGigMplsPkt.entry,
   9951 			req->args.field_qualify_HiGigMplsPkt.data,
   9952 			req->args.field_qualify_HiGigMplsPkt.mask);
   9953 		break;
   9954 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGMPLSPKT_GET:
   9955 		rv = bcm_field_qualify_HiGigMplsPkt_get(
   9956 			req->args.field_qualify_HiGigMplsPkt_get.unit,
   9957 			req->args.field_qualify_HiGigMplsPkt_get.entry,
   9958 			req->args.field_qualify_HiGigMplsPkt_get.data,
   9959 			req->args.field_qualify_HiGigMplsPkt_get.mask);
   9960 		break;
   9961 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGMULTICASTINDEX:
   9962 		rv = bcm_field_qualify_HiGigMulticastIndex(
   9963 			req->args.field_qualify_HiGigMulticastIndex.unit,
   9964 			req->args.field_qualify_HiGigMulticastIndex.entry,
   9965 			req->args.field_qualify_HiGigMulticastIndex.data,
   9966 			req->args.field_qualify_HiGigMulticastIndex.mask);
   9967 		break;
   9968 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGMULTICASTINDEX_GET:
   9969 		rv = bcm_field_qualify_HiGigMulticastIndex_get(
   9970 			req->args.field_qualify_HiGigMulticastIndex_get.unit,
   9971 			req->args.field_qualify_HiGigMulticastIndex_get.entry,
   9972 			req->args.field_qualify_HiGigMulticastIndex_get.data,
   9973 			req->args.field_qualify_HiGigMulticastIndex_get.mask);
   9974 		break;
   9975 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINECLASSIFICATIONTAG:
   9976 		rv = bcm_field_qualify_HiGigOffloadEngineClassificationTag(
   9977 			req->args.field_qualify_HiGigOffloadEngineClassificationTag.unit,
   9978 			req->args.field_qualify_HiGigOffloadEngineClassificationTag.entry,
   9979 			req->args.field_qualify_HiGigOffloadEngineClassificationTag.data,
   9980 			req->args.field_qualify_HiGigOffloadEngineClassificationTag.mask);
   9981 		break;
   9982 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINECLASSIFICATIONTAG_GET:
   9983 		rv = bcm_field_qualify_HiGigOffloadEngineClassificationTag_get(
   9984 			req->args.field_qualify_HiGigOffloadEngineClassificationTag_get.unit,
   9985 			req->args.field_qualify_HiGigOffloadEngineClassificationTag_get.entry,
   9986 			req->args.field_qualify_HiGigOffloadEngineClassificationTag_get.data,
   9987 			req->args.field_qualify_HiGigOffloadEngineClassificationTag_get.mask);
   9988 		break;
   9989 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEDEFERREDFLAGS:
   9990 		rv = bcm_field_qualify_HiGigOffloadEngineDeferredFlags(
   9991 			req->args.field_qualify_HiGigOffloadEngineDeferredFlags.unit,
   9992 			req->args.field_qualify_HiGigOffloadEngineDeferredFlags.entry,
   9993 			req->args.field_qualify_HiGigOffloadEngineDeferredFlags.data,
   9994 			req->args.field_qualify_HiGigOffloadEngineDeferredFlags.mask);
   9995 		break;
   9996 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEDEFERREDFLAGS_GET:
   9997 		rv = bcm_field_qualify_HiGigOffloadEngineDeferredFlags_get(
   9998 			req->args.field_qualify_HiGigOffloadEngineDeferredFlags_get.unit,
   9999 			req->args.field_qualify_HiGigOffloadEngineDeferredFlags_get.entry,
  10000 			req->args.field_qualify_HiGigOffloadEngineDeferredFlags_get.data,
  10001 			req->args.field_qualify_HiGigOffloadEngineDeferredFlags_get.mask);
  10002 		break;
  10003 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEDSCPNEW:
  10004 		rv = bcm_field_qualify_HiGigOffloadEngineDscpNew(
  10005 			req->args.field_qualify_HiGigOffloadEngineDscpNew.unit,
  10006 			req->args.field_qualify_HiGigOffloadEngineDscpNew.entry,
  10007 			req->args.field_qualify_HiGigOffloadEngineDscpNew.data,
  10008 			req->args.field_qualify_HiGigOffloadEngineDscpNew.mask);
  10009 		break;
  10010 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEDSCPNEW_GET:
  10011 		rv = bcm_field_qualify_HiGigOffloadEngineDscpNew_get(
  10012 			req->args.field_qualify_HiGigOffloadEngineDscpNew_get.unit,
  10013 			req->args.field_qualify_HiGigOffloadEngineDscpNew_get.entry,
  10014 			req->args.field_qualify_HiGigOffloadEngineDscpNew_get.data,
  10015 			req->args.field_qualify_HiGigOffloadEngineDscpNew_get.mask);
  10016 		break;
  10017 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEPKTPRINEW:
  10018 		rv = bcm_field_qualify_HiGigOffloadEnginePktPriNew(
  10019 			req->args.field_qualify_HiGigOffloadEnginePktPriNew.unit,
  10020 			req->args.field_qualify_HiGigOffloadEnginePktPriNew.entry,
  10021 			req->args.field_qualify_HiGigOffloadEnginePktPriNew.data,
  10022 			req->args.field_qualify_HiGigOffloadEnginePktPriNew.mask);
  10023 		break;
  10024 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEPKTPRINEW_GET:
  10025 		rv = bcm_field_qualify_HiGigOffloadEnginePktPriNew_get(
  10026 			req->args.field_qualify_HiGigOffloadEnginePktPriNew_get.unit,
  10027 			req->args.field_qualify_HiGigOffloadEnginePktPriNew_get.entry,
  10028 			req->args.field_qualify_HiGigOffloadEnginePktPriNew_get.data,
  10029 			req->args.field_qualify_HiGigOffloadEnginePktPriNew_get.mask);
  10030 		break;
  10031 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEPRESERVEDOT1P:
  10032 		rv = bcm_field_qualify_HiGigOffloadEnginePreserveDot1p(
  10033 			req->args.field_qualify_HiGigOffloadEnginePreserveDot1p.unit,
  10034 			req->args.field_qualify_HiGigOffloadEnginePreserveDot1p.entry,
  10035 			req->args.field_qualify_HiGigOffloadEnginePreserveDot1p.data,
  10036 			req->args.field_qualify_HiGigOffloadEnginePreserveDot1p.mask);
  10037 		break;
  10038 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEPRESERVEDOT1P_GET:
  10039 		rv = bcm_field_qualify_HiGigOffloadEnginePreserveDot1p_get(
  10040 			req->args.field_qualify_HiGigOffloadEnginePreserveDot1p_get.unit,
  10041 			req->args.field_qualify_HiGigOffloadEnginePreserveDot1p_get.entry,
  10042 			req->args.field_qualify_HiGigOffloadEnginePreserveDot1p_get.data,
  10043 			req->args.field_qualify_HiGigOffloadEnginePreserveDot1p_get.mask);
  10044 		break;
  10045 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEPRESERVEDSCP:
  10046 		rv = bcm_field_qualify_HiGigOffloadEnginePreserveDscp(
  10047 			req->args.field_qualify_HiGigOffloadEnginePreserveDscp.unit,
  10048 			req->args.field_qualify_HiGigOffloadEnginePreserveDscp.entry,
  10049 			req->args.field_qualify_HiGigOffloadEnginePreserveDscp.data,
  10050 			req->args.field_qualify_HiGigOffloadEnginePreserveDscp.mask);
  10051 		break;
  10052 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEPRESERVEDSCP_GET:
  10053 		rv = bcm_field_qualify_HiGigOffloadEnginePreserveDscp_get(
  10054 			req->args.field_qualify_HiGigOffloadEnginePreserveDscp_get.unit,
  10055 			req->args.field_qualify_HiGigOffloadEnginePreserveDscp_get.entry,
  10056 			req->args.field_qualify_HiGigOffloadEnginePreserveDscp_get.data,
  10057 			req->args.field_qualify_HiGigOffloadEnginePreserveDscp_get.mask);
  10058 		break;
  10059 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINESRCTYPE:
  10060 		rv = bcm_field_qualify_HiGigOffloadEngineSrcType(
  10061 			req->args.field_qualify_HiGigOffloadEngineSrcType.unit,
  10062 			req->args.field_qualify_HiGigOffloadEngineSrcType.entry,
  10063 			req->args.field_qualify_HiGigOffloadEngineSrcType.data,
  10064 			req->args.field_qualify_HiGigOffloadEngineSrcType.mask);
  10065 		break;
  10066 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINESRCTYPE_GET:
  10067 		rv = bcm_field_qualify_HiGigOffloadEngineSrcType_get(
  10068 			req->args.field_qualify_HiGigOffloadEngineSrcType_get.unit,
  10069 			req->args.field_qualify_HiGigOffloadEngineSrcType_get.entry,
  10070 			req->args.field_qualify_HiGigOffloadEngineSrcType_get.data,
  10071 			req->args.field_qualify_HiGigOffloadEngineSrcType_get.mask);
  10072 		break;
  10073 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEVXLTSTATUS:
  10074 		rv = bcm_field_qualify_HiGigOffloadEngineVxltStatus(
  10075 			req->args.field_qualify_HiGigOffloadEngineVxltStatus.unit,
  10076 			req->args.field_qualify_HiGigOffloadEngineVxltStatus.entry,
  10077 			req->args.field_qualify_HiGigOffloadEngineVxltStatus.data,
  10078 			req->args.field_qualify_HiGigOffloadEngineVxltStatus.mask);
  10079 		break;
  10080 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGOFFLOADENGINEVXLTSTATUS_GET:
  10081 		rv = bcm_field_qualify_HiGigOffloadEngineVxltStatus_get(
  10082 			req->args.field_qualify_HiGigOffloadEngineVxltStatus_get.unit,
  10083 			req->args.field_qualify_HiGigOffloadEngineVxltStatus_get.entry,
  10084 			req->args.field_qualify_HiGigOffloadEngineVxltStatus_get.data,
  10085 			req->args.field_qualify_HiGigOffloadEngineVxltStatus_get.mask);
  10086 		break;
  10087 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPORTFILTERINGMODE:
  10088 		rv = bcm_field_qualify_HiGigPortFilteringMode(
  10089 			req->args.field_qualify_HiGigPortFilteringMode.unit,
  10090 			req->args.field_qualify_HiGigPortFilteringMode.entry,
  10091 			req->args.field_qualify_HiGigPortFilteringMode.data,
  10092 			req->args.field_qualify_HiGigPortFilteringMode.mask);
  10093 		break;
  10094 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPORTFILTERINGMODE_GET:
  10095 		rv = bcm_field_qualify_HiGigPortFilteringMode_get(
  10096 			req->args.field_qualify_HiGigPortFilteringMode_get.unit,
  10097 			req->args.field_qualify_HiGigPortFilteringMode_get.entry,
  10098 			req->args.field_qualify_HiGigPortFilteringMode_get.data,
  10099 			req->args.field_qualify_HiGigPortFilteringMode_get.mask);
  10100 		break;
  10101 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPRESERVEFLAGS:
  10102 		rv = bcm_field_qualify_HiGigPreserveFlags(
  10103 			req->args.field_qualify_HiGigPreserveFlags.unit,
  10104 			req->args.field_qualify_HiGigPreserveFlags.entry,
  10105 			req->args.field_qualify_HiGigPreserveFlags.data,
  10106 			req->args.field_qualify_HiGigPreserveFlags.mask);
  10107 		break;
  10108 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPRESERVEFLAGS_GET:
  10109 		rv = bcm_field_qualify_HiGigPreserveFlags_get(
  10110 			req->args.field_qualify_HiGigPreserveFlags_get.unit,
  10111 			req->args.field_qualify_HiGigPreserveFlags_get.entry,
  10112 			req->args.field_qualify_HiGigPreserveFlags_get.data,
  10113 			req->args.field_qualify_HiGigPreserveFlags_get.mask);
  10114 		break;
  10115 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPROTECTIONSWITCHINGSTATUS:
  10116 		rv = bcm_field_qualify_HiGigProtectionSwitchingStatus(
  10117 			req->args.field_qualify_HiGigProtectionSwitchingStatus.unit,
  10118 			req->args.field_qualify_HiGigProtectionSwitchingStatus.entry,
  10119 			req->args.field_qualify_HiGigProtectionSwitchingStatus.data,
  10120 			req->args.field_qualify_HiGigProtectionSwitchingStatus.mask);
  10121 		break;
  10122 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPROTECTIONSWITCHINGSTATUS_GET:
  10123 		rv = bcm_field_qualify_HiGigProtectionSwitchingStatus_get(
  10124 			req->args.field_qualify_HiGigProtectionSwitchingStatus_get.unit,
  10125 			req->args.field_qualify_HiGigProtectionSwitchingStatus_get.entry,
  10126 			req->args.field_qualify_HiGigProtectionSwitchingStatus_get.data,
  10127 			req->args.field_qualify_HiGigProtectionSwitchingStatus_get.mask);
  10128 		break;
  10129 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPROXY:
  10130 		rv = bcm_field_qualify_HiGigProxy(
  10131 			req->args.field_qualify_HiGigProxy.unit,
  10132 			req->args.field_qualify_HiGigProxy.entry,
  10133 			req->args.field_qualify_HiGigProxy.data,
  10134 			req->args.field_qualify_HiGigProxy.mask);
  10135 		break;
  10136 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPROXYTUNNELTYPE:
  10137 		rv = bcm_field_qualify_HiGigProxyTunnelType(
  10138 			req->args.field_qualify_HiGigProxyTunnelType.unit,
  10139 			req->args.field_qualify_HiGigProxyTunnelType.entry,
  10140 			req->args.field_qualify_HiGigProxyTunnelType.type);
  10141 		break;
  10142 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPROXYTUNNELTYPE_GET:
  10143 		rv = bcm_field_qualify_HiGigProxyTunnelType_get(
  10144 			req->args.field_qualify_HiGigProxyTunnelType_get.unit,
  10145 			req->args.field_qualify_HiGigProxyTunnelType_get.entry,
  10146 			req->args.field_qualify_HiGigProxyTunnelType_get.type);
  10147 		break;
  10148 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGPROXY_GET:
  10149 		rv = bcm_field_qualify_HiGigProxy_get(
  10150 			req->args.field_qualify_HiGigProxy_get.unit,
  10151 			req->args.field_qualify_HiGigProxy_get.entry,
  10152 			req->args.field_qualify_HiGigProxy_get.data,
  10153 			req->args.field_qualify_HiGigProxy_get.mask);
  10154 		break;
  10155 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGREPLICATIONID:
  10156 		rv = bcm_field_qualify_HiGigReplicationId(
  10157 			req->args.field_qualify_HiGigReplicationId.unit,
  10158 			req->args.field_qualify_HiGigReplicationId.entry,
  10159 			req->args.field_qualify_HiGigReplicationId.data,
  10160 			req->args.field_qualify_HiGigReplicationId.mask);
  10161 		break;
  10162 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGREPLICATIONID_GET:
  10163 		rv = bcm_field_qualify_HiGigReplicationId_get(
  10164 			req->args.field_qualify_HiGigReplicationId_get.unit,
  10165 			req->args.field_qualify_HiGigReplicationId_get.entry,
  10166 			req->args.field_qualify_HiGigReplicationId_get.data,
  10167 			req->args.field_qualify_HiGigReplicationId_get.mask);
  10168 		break;
  10169 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCGPORT:
  10170 		rv = bcm_field_qualify_HiGigSrcGport(
  10171 			req->args.field_qualify_HiGigSrcGport.unit,
  10172 			req->args.field_qualify_HiGigSrcGport.entry,
  10173 			req->args.field_qualify_HiGigSrcGport.port_id,
  10174 			req->args.field_qualify_HiGigSrcGport.port_mask);
  10175 		break;
  10176 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCGPORT_GET:
  10177 		rv = bcm_field_qualify_HiGigSrcGport_get(
  10178 			req->args.field_qualify_HiGigSrcGport_get.unit,
  10179 			req->args.field_qualify_HiGigSrcGport_get.entry,
  10180 			req->args.field_qualify_HiGigSrcGport_get.port_id,
  10181 			req->args.field_qualify_HiGigSrcGport_get.port_mask);
  10182 		break;
  10183 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCMODPORTGPORT:
  10184 		rv = bcm_field_qualify_HiGigSrcModPortGport(
  10185 			req->args.field_qualify_HiGigSrcModPortGport.unit,
  10186 			req->args.field_qualify_HiGigSrcModPortGport.entry,
  10187 			req->args.field_qualify_HiGigSrcModPortGport.port_id,
  10188 			req->args.field_qualify_HiGigSrcModPortGport.port_mask);
  10189 		break;
  10190 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCMODPORTGPORT_GET:
  10191 		rv = bcm_field_qualify_HiGigSrcModPortGport_get(
  10192 			req->args.field_qualify_HiGigSrcModPortGport_get.unit,
  10193 			req->args.field_qualify_HiGigSrcModPortGport_get.entry,
  10194 			req->args.field_qualify_HiGigSrcModPortGport_get.port_id,
  10195 			req->args.field_qualify_HiGigSrcModPortGport_get.port_mask);
  10196 		break;
  10197 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCMODULEGPORT:
  10198 		rv = bcm_field_qualify_HiGigSrcModuleGport(
  10199 			req->args.field_qualify_HiGigSrcModuleGport.unit,
  10200 			req->args.field_qualify_HiGigSrcModuleGport.entry,
  10201 			req->args.field_qualify_HiGigSrcModuleGport.port_id,
  10202 			req->args.field_qualify_HiGigSrcModuleGport.port_mask);
  10203 		break;
  10204 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCMODULEGPORT_GET:
  10205 		rv = bcm_field_qualify_HiGigSrcModuleGport_get(
  10206 			req->args.field_qualify_HiGigSrcModuleGport_get.unit,
  10207 			req->args.field_qualify_HiGigSrcModuleGport_get.entry,
  10208 			req->args.field_qualify_HiGigSrcModuleGport_get.port_id,
  10209 			req->args.field_qualify_HiGigSrcModuleGport_get.port_mask);
  10210 		break;
  10211 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCPORTGPORT:
  10212 		rv = bcm_field_qualify_HiGigSrcPortGport(
  10213 			req->args.field_qualify_HiGigSrcPortGport.unit,
  10214 			req->args.field_qualify_HiGigSrcPortGport.entry,
  10215 			req->args.field_qualify_HiGigSrcPortGport.port_id,
  10216 			req->args.field_qualify_HiGigSrcPortGport.port_mask);
  10217 		break;
  10218 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCPORTGPORT_GET:
  10219 		rv = bcm_field_qualify_HiGigSrcPortGport_get(
  10220 			req->args.field_qualify_HiGigSrcPortGport_get.unit,
  10221 			req->args.field_qualify_HiGigSrcPortGport_get.entry,
  10222 			req->args.field_qualify_HiGigSrcPortGport_get.port_id,
  10223 			req->args.field_qualify_HiGigSrcPortGport_get.port_mask);
  10224 		break;
  10225 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCTRUNK:
  10226 		rv = bcm_field_qualify_HiGigSrcTrunk(
  10227 			req->args.field_qualify_HiGigSrcTrunk.unit,
  10228 			req->args.field_qualify_HiGigSrcTrunk.entry,
  10229 			req->args.field_qualify_HiGigSrcTrunk.data,
  10230 			req->args.field_qualify_HiGigSrcTrunk.mask);
  10231 		break;
  10232 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCTRUNK_GET:
  10233 		rv = bcm_field_qualify_HiGigSrcTrunk_get(
  10234 			req->args.field_qualify_HiGigSrcTrunk_get.unit,
  10235 			req->args.field_qualify_HiGigSrcTrunk_get.entry,
  10236 			req->args.field_qualify_HiGigSrcTrunk_get.data,
  10237 			req->args.field_qualify_HiGigSrcTrunk_get.mask);
  10238 		break;
  10239 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCTYPE:
  10240 		rv = bcm_field_qualify_HiGigSrcType(
  10241 			req->args.field_qualify_HiGigSrcType.unit,
  10242 			req->args.field_qualify_HiGigSrcType.entry,
  10243 			req->args.field_qualify_HiGigSrcType.data,
  10244 			req->args.field_qualify_HiGigSrcType.mask);
  10245 		break;
  10246 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGSRCTYPE_GET:
  10247 		rv = bcm_field_qualify_HiGigSrcType_get(
  10248 			req->args.field_qualify_HiGigSrcType_get.unit,
  10249 			req->args.field_qualify_HiGigSrcType_get.entry,
  10250 			req->args.field_qualify_HiGigSrcType_get.data,
  10251 			req->args.field_qualify_HiGigSrcType_get.mask);
  10252 		break;
  10253 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGTRAFFICCLASS:
  10254 		rv = bcm_field_qualify_HiGigTrafficClass(
  10255 			req->args.field_qualify_HiGigTrafficClass.unit,
  10256 			req->args.field_qualify_HiGigTrafficClass.entry,
  10257 			req->args.field_qualify_HiGigTrafficClass.data,
  10258 			req->args.field_qualify_HiGigTrafficClass.mask);
  10259 		break;
  10260 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGTRAFFICCLASS_GET:
  10261 		rv = bcm_field_qualify_HiGigTrafficClass_get(
  10262 			req->args.field_qualify_HiGigTrafficClass_get.unit,
  10263 			req->args.field_qualify_HiGigTrafficClass_get.entry,
  10264 			req->args.field_qualify_HiGigTrafficClass_get.data,
  10265 			req->args.field_qualify_HiGigTrafficClass_get.mask);
  10266 		break;
  10267 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVLAN:
  10268 		rv = bcm_field_qualify_HiGigVlan(
  10269 			req->args.field_qualify_HiGigVlan.unit,
  10270 			req->args.field_qualify_HiGigVlan.entry,
  10271 			req->args.field_qualify_HiGigVlan.data,
  10272 			req->args.field_qualify_HiGigVlan.mask);
  10273 		break;
  10274 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVLAN_GET:
  10275 		rv = bcm_field_qualify_HiGigVlan_get(
  10276 			req->args.field_qualify_HiGigVlan_get.unit,
  10277 			req->args.field_qualify_HiGigVlan_get.entry,
  10278 			req->args.field_qualify_HiGigVlan_get.data,
  10279 			req->args.field_qualify_HiGigVlan_get.mask);
  10280 		break;
  10281 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVNI:
  10282 		rv = bcm_field_qualify_HiGigVni(
  10283 			req->args.field_qualify_HiGigVni.unit,
  10284 			req->args.field_qualify_HiGigVni.entry,
  10285 			req->args.field_qualify_HiGigVni.data,
  10286 			req->args.field_qualify_HiGigVni.mask);
  10287 		break;
  10288 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVNI_GET:
  10289 		rv = bcm_field_qualify_HiGigVni_get(
  10290 			req->args.field_qualify_HiGigVni_get.unit,
  10291 			req->args.field_qualify_HiGigVni_get.entry,
  10292 			req->args.field_qualify_HiGigVni_get.data,
  10293 			req->args.field_qualify_HiGigVni_get.mask);
  10294 		break;
  10295 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVPLAGFAILOVERPACKET:
  10296 		rv = bcm_field_qualify_HiGigVpLagFailoverPacket(
  10297 			req->args.field_qualify_HiGigVpLagFailoverPacket.unit,
  10298 			req->args.field_qualify_HiGigVpLagFailoverPacket.entry,
  10299 			req->args.field_qualify_HiGigVpLagFailoverPacket.data,
  10300 			req->args.field_qualify_HiGigVpLagFailoverPacket.mask);
  10301 		break;
  10302 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVPLAGFAILOVERPACKET_GET:
  10303 		rv = bcm_field_qualify_HiGigVpLagFailoverPacket_get(
  10304 			req->args.field_qualify_HiGigVpLagFailoverPacket_get.unit,
  10305 			req->args.field_qualify_HiGigVpLagFailoverPacket_get.entry,
  10306 			req->args.field_qualify_HiGigVpLagFailoverPacket_get.data,
  10307 			req->args.field_qualify_HiGigVpLagFailoverPacket_get.mask);
  10308 		break;
  10309 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVPPRESERVEFLAGS:
  10310 		rv = bcm_field_qualify_HiGigVpPreserveFlags(
  10311 			req->args.field_qualify_HiGigVpPreserveFlags.unit,
  10312 			req->args.field_qualify_HiGigVpPreserveFlags.entry,
  10313 			req->args.field_qualify_HiGigVpPreserveFlags.data,
  10314 			req->args.field_qualify_HiGigVpPreserveFlags.mask);
  10315 		break;
  10316 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVPPRESERVEFLAGS_GET:
  10317 		rv = bcm_field_qualify_HiGigVpPreserveFlags_get(
  10318 			req->args.field_qualify_HiGigVpPreserveFlags_get.unit,
  10319 			req->args.field_qualify_HiGigVpPreserveFlags_get.entry,
  10320 			req->args.field_qualify_HiGigVpPreserveFlags_get.data,
  10321 			req->args.field_qualify_HiGigVpPreserveFlags_get.mask);
  10322 		break;
  10323 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVPREPLICATIONID:
  10324 		rv = bcm_field_qualify_HiGigVpReplicationId(
  10325 			req->args.field_qualify_HiGigVpReplicationId.unit,
  10326 			req->args.field_qualify_HiGigVpReplicationId.entry,
  10327 			req->args.field_qualify_HiGigVpReplicationId.data,
  10328 			req->args.field_qualify_HiGigVpReplicationId.mask);
  10329 		break;
  10330 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIGVPREPLICATIONID_GET:
  10331 		rv = bcm_field_qualify_HiGigVpReplicationId_get(
  10332 			req->args.field_qualify_HiGigVpReplicationId_get.unit,
  10333 			req->args.field_qualify_HiGigVpReplicationId_get.entry,
  10334 			req->args.field_qualify_HiGigVpReplicationId_get.data,
  10335 			req->args.field_qualify_HiGigVpReplicationId_get.mask);
  10336 		break;
  10337 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_HIGIG_GET:
  10338 		rv = bcm_field_qualify_HiGig_get(
  10339 			req->args.field_qualify_HiGig_get.unit,
  10340 			req->args.field_qualify_HiGig_get.entry,
  10341 			req->args.field_qualify_HiGig_get.data,
  10342 			req->args.field_qualify_HiGig_get.mask);
  10343 		break;
  10344 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IEEE1588COMMAND:
  10345 		rv = bcm_field_qualify_IEEE1588Command(
  10346 			req->args.field_qualify_IEEE1588Command.unit,
  10347 			req->args.field_qualify_IEEE1588Command.entry,
  10348 			req->args.field_qualify_IEEE1588Command.data,
  10349 			req->args.field_qualify_IEEE1588Command.mask);
  10350 		break;
  10351 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IEEE1588COMMAND_GET:
  10352 		rv = bcm_field_qualify_IEEE1588Command_get(
  10353 			req->args.field_qualify_IEEE1588Command_get.unit,
  10354 			req->args.field_qualify_IEEE1588Command_get.entry,
  10355 			req->args.field_qualify_IEEE1588Command_get.data,
  10356 			req->args.field_qualify_IEEE1588Command_get.mask);
  10357 		break;
  10358 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IEEE1588COMPENSATETIMESTAMP:
  10359 		rv = bcm_field_qualify_IEEE1588CompensateTimeStamp(
  10360 			req->args.field_qualify_IEEE1588CompensateTimeStamp.unit,
  10361 			req->args.field_qualify_IEEE1588CompensateTimeStamp.entry,
  10362 			req->args.field_qualify_IEEE1588CompensateTimeStamp.data,
  10363 			req->args.field_qualify_IEEE1588CompensateTimeStamp.mask);
  10364 		break;
  10365 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IEEE1588COMPENSATETIMESTAMP_GET:
  10366 		rv = bcm_field_qualify_IEEE1588CompensateTimeStamp_get(
  10367 			req->args.field_qualify_IEEE1588CompensateTimeStamp_get.unit,
  10368 			req->args.field_qualify_IEEE1588CompensateTimeStamp_get.entry,
  10369 			req->args.field_qualify_IEEE1588CompensateTimeStamp_get.data,
  10370 			req->args.field_qualify_IEEE1588CompensateTimeStamp_get.mask);
  10371 		break;
  10372 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IEEE1588ENCAPSULATION:
  10373 		rv = bcm_field_qualify_IEEE1588Encapsulation(
  10374 			req->args.field_qualify_IEEE1588Encapsulation.unit,
  10375 			req->args.field_qualify_IEEE1588Encapsulation.entry,
  10376 			req->args.field_qualify_IEEE1588Encapsulation.encap);
  10377 		break;
  10378 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IEEE1588ENCAPSULATION_GET:
  10379 		rv = bcm_field_qualify_IEEE1588Encapsulation_get(
  10380 			req->args.field_qualify_IEEE1588Encapsulation_get.unit,
  10381 			req->args.field_qualify_IEEE1588Encapsulation_get.entry,
  10382 			req->args.field_qualify_IEEE1588Encapsulation_get.encap);
  10383 		break;
  10384 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IEEE1588HEADEROFFSET:
  10385 		rv = bcm_field_qualify_IEEE1588HeaderOffset(
  10386 			req->args.field_qualify_IEEE1588HeaderOffset.unit,
  10387 			req->args.field_qualify_IEEE1588HeaderOffset.entry,
  10388 			req->args.field_qualify_IEEE1588HeaderOffset.data,
  10389 			req->args.field_qualify_IEEE1588HeaderOffset.mask);
  10390 		break;
  10391 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IEEE1588HEADEROFFSET_GET:
  10392 		rv = bcm_field_qualify_IEEE1588HeaderOffset_get(
  10393 			req->args.field_qualify_IEEE1588HeaderOffset_get.unit,
  10394 			req->args.field_qualify_IEEE1588HeaderOffset_get.entry,
  10395 			req->args.field_qualify_IEEE1588HeaderOffset_get.data,
  10396 			req->args.field_qualify_IEEE1588HeaderOffset_get.mask);
  10397 		break;
  10398 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPROBEMARKER1:
  10399 		rv = bcm_field_qualify_INTProbeMarker1(
  10400 			req->args.field_qualify_INTProbeMarker1.unit,
  10401 			req->args.field_qualify_INTProbeMarker1.entry,
  10402 			req->args.field_qualify_INTProbeMarker1.data,
  10403 			req->args.field_qualify_INTProbeMarker1.mask);
  10404 		break;
  10405 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPROBEMARKER1_GET:
  10406 		rv = bcm_field_qualify_INTProbeMarker1_get(
  10407 			req->args.field_qualify_INTProbeMarker1_get.unit,
  10408 			req->args.field_qualify_INTProbeMarker1_get.entry,
  10409 			req->args.field_qualify_INTProbeMarker1_get.data,
  10410 			req->args.field_qualify_INTProbeMarker1_get.mask);
  10411 		break;
  10412 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPROBEMARKER2:
  10413 		rv = bcm_field_qualify_INTProbeMarker2(
  10414 			req->args.field_qualify_INTProbeMarker2.unit,
  10415 			req->args.field_qualify_INTProbeMarker2.entry,
  10416 			req->args.field_qualify_INTProbeMarker2.data,
  10417 			req->args.field_qualify_INTProbeMarker2.mask);
  10418 		break;
  10419 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPROBEMARKER2_GET:
  10420 		rv = bcm_field_qualify_INTProbeMarker2_get(
  10421 			req->args.field_qualify_INTProbeMarker2_get.unit,
  10422 			req->args.field_qualify_INTProbeMarker2_get.entry,
  10423 			req->args.field_qualify_INTProbeMarker2_get.data,
  10424 			req->args.field_qualify_INTProbeMarker2_get.mask);
  10425 		break;
  10426 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTRESERVED4BYTES:
  10427 		rv = bcm_field_qualify_INTReserved4Bytes(
  10428 			req->args.field_qualify_INTReserved4Bytes.unit,
  10429 			req->args.field_qualify_INTReserved4Bytes.entry,
  10430 			req->args.field_qualify_INTReserved4Bytes.data,
  10431 			req->args.field_qualify_INTReserved4Bytes.mask);
  10432 		break;
  10433 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTRESERVED4BYTES_GET:
  10434 		rv = bcm_field_qualify_INTReserved4Bytes_get(
  10435 			req->args.field_qualify_INTReserved4Bytes_get.unit,
  10436 			req->args.field_qualify_INTReserved4Bytes_get.entry,
  10437 			req->args.field_qualify_INTReserved4Bytes_get.data,
  10438 			req->args.field_qualify_INTReserved4Bytes_get.mask);
  10439 		break;
  10440 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ISID:
  10441 		rv = bcm_field_qualify_ISid(
  10442 			req->args.field_qualify_ISid.unit,
  10443 			req->args.field_qualify_ISid.entry,
  10444 			req->args.field_qualify_ISid.data,
  10445 			req->args.field_qualify_ISid.mask);
  10446 		break;
  10447 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ISID_GET:
  10448 		rv = bcm_field_qualify_ISid_get(
  10449 			req->args.field_qualify_ISid_get.unit,
  10450 			req->args.field_qualify_ISid_get.entry,
  10451 			req->args.field_qualify_ISid_get.data,
  10452 			req->args.field_qualify_ISid_get.mask);
  10453 		break;
  10454 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ITAG:
  10455 		rv = bcm_field_qualify_ITag(
  10456 			req->args.field_qualify_ITag.unit,
  10457 			req->args.field_qualify_ITag.entry,
  10458 			req->args.field_qualify_ITag.data,
  10459 			req->args.field_qualify_ITag.mask);
  10460 		break;
  10461 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ITAG_GET:
  10462 		rv = bcm_field_qualify_ITag_get(
  10463 			req->args.field_qualify_ITag_get.unit,
  10464 			req->args.field_qualify_ITag_get.entry,
  10465 			req->args.field_qualify_ITag_get.data,
  10466 			req->args.field_qualify_ITag_get.mask);
  10467 		break;
  10468 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ICMPERROR:
  10469 		rv = bcm_field_qualify_IcmpError(
  10470 			req->args.field_qualify_IcmpError.unit,
  10471 			req->args.field_qualify_IcmpError.entry,
  10472 			req->args.field_qualify_IcmpError.data,
  10473 			req->args.field_qualify_IcmpError.mask);
  10474 		break;
  10475 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ICMPERROR_GET:
  10476 		rv = bcm_field_qualify_IcmpError_get(
  10477 			req->args.field_qualify_IcmpError_get.unit,
  10478 			req->args.field_qualify_IcmpError_get.entry,
  10479 			req->args.field_qualify_IcmpError_get.data,
  10480 			req->args.field_qualify_IcmpError_get.mask);
  10481 		break;
  10482 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ICMPTYPECODE:
  10483 		rv = bcm_field_qualify_IcmpTypeCode(
  10484 			req->args.field_qualify_IcmpTypeCode.unit,
  10485 			req->args.field_qualify_IcmpTypeCode.entry,
  10486 			req->args.field_qualify_IcmpTypeCode.data,
  10487 			req->args.field_qualify_IcmpTypeCode.mask);
  10488 		break;
  10489 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ICMPTYPECODE_GET:
  10490 		rv = bcm_field_qualify_IcmpTypeCode_get(
  10491 			req->args.field_qualify_IcmpTypeCode_get.unit,
  10492 			req->args.field_qualify_IcmpTypeCode_get.entry,
  10493 			req->args.field_qualify_IcmpTypeCode_get.data,
  10494 			req->args.field_qualify_IcmpTypeCode_get.mask);
  10495 		break;
  10496 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INPORT:
  10497 		rv = bcm_field_qualify_InPort(
  10498 			req->args.field_qualify_InPort.unit,
  10499 			req->args.field_qualify_InPort.entry,
  10500 			req->args.field_qualify_InPort.data,
  10501 			req->args.field_qualify_InPort.mask);
  10502 		break;
  10503 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INPORT_GET:
  10504 		rv = bcm_field_qualify_InPort_get(
  10505 			req->args.field_qualify_InPort_get.unit,
  10506 			req->args.field_qualify_InPort_get.entry,
  10507 			req->args.field_qualify_InPort_get.data,
  10508 			req->args.field_qualify_InPort_get.mask);
  10509 		break;
  10510 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INPORTS:
  10511 		rv = bcm_field_qualify_InPorts(
  10512 			req->args.field_qualify_InPorts.unit,
  10513 			req->args.field_qualify_InPorts.entry,
  10514 			req->args.field_qualify_InPorts.data,
  10515 			req->args.field_qualify_InPorts.mask);
  10516 		break;
  10517 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INPORTS_GET:
  10518 		rv = bcm_field_qualify_InPorts_get(
  10519 			req->args.field_qualify_InPorts_get.unit,
  10520 			req->args.field_qualify_InPorts_get.entry,
  10521 			req->args.field_qualify_InPorts_get.data,
  10522 			req->args.field_qualify_InPorts_get.mask);
  10523 		break;
  10524 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INVPORT:
  10525 		rv = bcm_field_qualify_InVPort(
  10526 			req->args.field_qualify_InVPort.unit,
  10527 			req->args.field_qualify_InVPort.entry,
  10528 			req->args.field_qualify_InVPort.data,
  10529 			req->args.field_qualify_InVPort.mask);
  10530 		break;
  10531 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INVPORT32:
  10532 		rv = bcm_field_qualify_InVPort32(
  10533 			req->args.field_qualify_InVPort32.unit,
  10534 			req->args.field_qualify_InVPort32.entry,
  10535 			req->args.field_qualify_InVPort32.data,
  10536 			req->args.field_qualify_InVPort32.mask);
  10537 		break;
  10538 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INVPORT32_GET:
  10539 		rv = bcm_field_qualify_InVPort32_get(
  10540 			req->args.field_qualify_InVPort32_get.unit,
  10541 			req->args.field_qualify_InVPort32_get.entry,
  10542 			req->args.field_qualify_InVPort32_get.data,
  10543 			req->args.field_qualify_InVPort32_get.mask);
  10544 		break;
  10545 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INVPORTWIDE:
  10546 		rv = bcm_field_qualify_InVPortWide(
  10547 			req->args.field_qualify_InVPortWide.unit,
  10548 			req->args.field_qualify_InVPortWide.entry,
  10549 			req->args.field_qualify_InVPortWide.data,
  10550 			req->args.field_qualify_InVPortWide.mask);
  10551 		break;
  10552 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INVPORTWIDE_GET:
  10553 		rv = bcm_field_qualify_InVPortWide_get(
  10554 			req->args.field_qualify_InVPortWide_get.unit,
  10555 			req->args.field_qualify_InVPortWide_get.entry,
  10556 			req->args.field_qualify_InVPortWide_get.data,
  10557 			req->args.field_qualify_InVPortWide_get.mask);
  10558 		break;
  10559 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INVPORT_GET:
  10560 		rv = bcm_field_qualify_InVPort_get(
  10561 			req->args.field_qualify_InVPort_get.unit,
  10562 			req->args.field_qualify_InVPort_get.entry,
  10563 			req->args.field_qualify_InVPort_get.data,
  10564 			req->args.field_qualify_InVPort_get.mask);
  10565 		break;
  10566 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INVPORTDATAINDEX:
  10567 		rv = bcm_field_qualify_InVportDataIndex(
  10568 			req->args.field_qualify_InVportDataIndex.unit,
  10569 			req->args.field_qualify_InVportDataIndex.entry,
  10570 			req->args.field_qualify_InVportDataIndex.data,
  10571 			req->args.field_qualify_InVportDataIndex.mask);
  10572 		break;
  10573 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INVPORTDATAINDEX_GET:
  10574 		rv = bcm_field_qualify_InVportDataIndex_get(
  10575 			req->args.field_qualify_InVportDataIndex_get.unit,
  10576 			req->args.field_qualify_InVportDataIndex_get.entry,
  10577 			req->args.field_qualify_InVportDataIndex_get.data,
  10578 			req->args.field_qualify_InVportDataIndex_get.mask);
  10579 		break;
  10580 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INCOMINGIPIFCLASS:
  10581 		rv = bcm_field_qualify_IncomingIpIfClass(
  10582 			req->args.field_qualify_IncomingIpIfClass.unit,
  10583 			req->args.field_qualify_IncomingIpIfClass.entry,
  10584 			req->args.field_qualify_IncomingIpIfClass.data,
  10585 			req->args.field_qualify_IncomingIpIfClass.mask);
  10586 		break;
  10587 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INCOMINGIPIFCLASS_GET:
  10588 		rv = bcm_field_qualify_IncomingIpIfClass_get(
  10589 			req->args.field_qualify_IncomingIpIfClass_get.unit,
  10590 			req->args.field_qualify_IncomingIpIfClass_get.entry,
  10591 			req->args.field_qualify_IncomingIpIfClass_get.data,
  10592 			req->args.field_qualify_IncomingIpIfClass_get.mask);
  10593 		break;
  10594 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INCOMINGOUTERVLANID:
  10595 		rv = bcm_field_qualify_IncomingOuterVlanId(
  10596 			req->args.field_qualify_IncomingOuterVlanId.unit,
  10597 			req->args.field_qualify_IncomingOuterVlanId.entry,
  10598 			req->args.field_qualify_IncomingOuterVlanId.data,
  10599 			req->args.field_qualify_IncomingOuterVlanId.mask);
  10600 		break;
  10601 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INCOMINGOUTERVLANID_GET:
  10602 		rv = bcm_field_qualify_IncomingOuterVlanId_get(
  10603 			req->args.field_qualify_IncomingOuterVlanId_get.unit,
  10604 			req->args.field_qualify_IncomingOuterVlanId_get.entry,
  10605 			req->args.field_qualify_IncomingOuterVlanId_get.data,
  10606 			req->args.field_qualify_IncomingOuterVlanId_get.mask);
  10607 		break;
  10608 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSCLASSFIELD:
  10609 		rv = bcm_field_qualify_IngressClassField(
  10610 			req->args.field_qualify_IngressClassField.unit,
  10611 			req->args.field_qualify_IngressClassField.entry,
  10612 			req->args.field_qualify_IngressClassField.data,
  10613 			req->args.field_qualify_IngressClassField.mask);
  10614 		break;
  10615 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSCLASSFIELD_GET:
  10616 		rv = bcm_field_qualify_IngressClassField_get(
  10617 			req->args.field_qualify_IngressClassField_get.unit,
  10618 			req->args.field_qualify_IngressClassField_get.entry,
  10619 			req->args.field_qualify_IngressClassField_get.data,
  10620 			req->args.field_qualify_IngressClassField_get.mask);
  10621 		break;
  10622 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSDROPETHERNETOAMCONTROL:
  10623 		rv = bcm_field_qualify_IngressDropEthernetOamControl(
  10624 			req->args.field_qualify_IngressDropEthernetOamControl.unit,
  10625 			req->args.field_qualify_IngressDropEthernetOamControl.entry,
  10626 			req->args.field_qualify_IngressDropEthernetOamControl.mep_type);
  10627 		break;
  10628 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSDROPETHERNETOAMCONTROL_GET:
  10629 		rv = bcm_field_qualify_IngressDropEthernetOamControl_get(
  10630 			req->args.field_qualify_IngressDropEthernetOamControl_get.unit,
  10631 			req->args.field_qualify_IngressDropEthernetOamControl_get.entry,
  10632 			req->args.field_qualify_IngressDropEthernetOamControl_get.mep_type);
  10633 		break;
  10634 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSDROPETHERNETOAMDATA:
  10635 		rv = bcm_field_qualify_IngressDropEthernetOamData(
  10636 			req->args.field_qualify_IngressDropEthernetOamData.unit,
  10637 			req->args.field_qualify_IngressDropEthernetOamData.entry,
  10638 			req->args.field_qualify_IngressDropEthernetOamData.mep_type);
  10639 		break;
  10640 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSDROPETHERNETOAMDATA_GET:
  10641 		rv = bcm_field_qualify_IngressDropEthernetOamData_get(
  10642 			req->args.field_qualify_IngressDropEthernetOamData_get.unit,
  10643 			req->args.field_qualify_IngressDropEthernetOamData_get.entry,
  10644 			req->args.field_qualify_IngressDropEthernetOamData_get.mep_type);
  10645 		break;
  10646 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSDROPMPLSOAMCONTROL:
  10647 		rv = bcm_field_qualify_IngressDropMplsOamControl(
  10648 			req->args.field_qualify_IngressDropMplsOamControl.unit,
  10649 			req->args.field_qualify_IngressDropMplsOamControl.entry,
  10650 			req->args.field_qualify_IngressDropMplsOamControl.mep_type);
  10651 		break;
  10652 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSDROPMPLSOAMCONTROL_GET:
  10653 		rv = bcm_field_qualify_IngressDropMplsOamControl_get(
  10654 			req->args.field_qualify_IngressDropMplsOamControl_get.unit,
  10655 			req->args.field_qualify_IngressDropMplsOamControl_get.entry,
  10656 			req->args.field_qualify_IngressDropMplsOamControl_get.mep_type);
  10657 		break;
  10658 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSDROPMPLSOAMDATA:
  10659 		rv = bcm_field_qualify_IngressDropMplsOamData(
  10660 			req->args.field_qualify_IngressDropMplsOamData.unit,
  10661 			req->args.field_qualify_IngressDropMplsOamData.entry,
  10662 			req->args.field_qualify_IngressDropMplsOamData.mep_type);
  10663 		break;
  10664 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSDROPMPLSOAMDATA_GET:
  10665 		rv = bcm_field_qualify_IngressDropMplsOamData_get(
  10666 			req->args.field_qualify_IngressDropMplsOamData_get.unit,
  10667 			req->args.field_qualify_IngressDropMplsOamData_get.entry,
  10668 			req->args.field_qualify_IngressDropMplsOamData_get.mep_type);
  10669 		break;
  10670 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSECID:
  10671 		rv = bcm_field_qualify_IngressECid(
  10672 			req->args.field_qualify_IngressECid.unit,
  10673 			req->args.field_qualify_IngressECid.entry,
  10674 			req->args.field_qualify_IngressECid.data,
  10675 			req->args.field_qualify_IngressECid.mask);
  10676 		break;
  10677 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSECID_GET:
  10678 		rv = bcm_field_qualify_IngressECid_get(
  10679 			req->args.field_qualify_IngressECid_get.unit,
  10680 			req->args.field_qualify_IngressECid_get.entry,
  10681 			req->args.field_qualify_IngressECid_get.data,
  10682 			req->args.field_qualify_IngressECid_get.mask);
  10683 		break;
  10684 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSINTERFACECLASSPORT:
  10685 		rv = bcm_field_qualify_IngressInterfaceClassPort(
  10686 			req->args.field_qualify_IngressInterfaceClassPort.unit,
  10687 			req->args.field_qualify_IngressInterfaceClassPort.entry,
  10688 			req->args.field_qualify_IngressInterfaceClassPort.data,
  10689 			req->args.field_qualify_IngressInterfaceClassPort.mask);
  10690 		break;
  10691 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSINTERFACECLASSPORT_GET:
  10692 		rv = bcm_field_qualify_IngressInterfaceClassPort_get(
  10693 			req->args.field_qualify_IngressInterfaceClassPort_get.unit,
  10694 			req->args.field_qualify_IngressInterfaceClassPort_get.entry,
  10695 			req->args.field_qualify_IngressInterfaceClassPort_get.data,
  10696 			req->args.field_qualify_IngressInterfaceClassPort_get.mask);
  10697 		break;
  10698 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSINTERFACECLASSVPORT:
  10699 		rv = bcm_field_qualify_IngressInterfaceClassVPort(
  10700 			req->args.field_qualify_IngressInterfaceClassVPort.unit,
  10701 			req->args.field_qualify_IngressInterfaceClassVPort.entry,
  10702 			req->args.field_qualify_IngressInterfaceClassVPort.data,
  10703 			req->args.field_qualify_IngressInterfaceClassVPort.mask);
  10704 		break;
  10705 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSINTERFACECLASSVPORT_GET:
  10706 		rv = bcm_field_qualify_IngressInterfaceClassVPort_get(
  10707 			req->args.field_qualify_IngressInterfaceClassVPort_get.unit,
  10708 			req->args.field_qualify_IngressInterfaceClassVPort_get.entry,
  10709 			req->args.field_qualify_IngressInterfaceClassVPort_get.data,
  10710 			req->args.field_qualify_IngressInterfaceClassVPort_get.mask);
  10711 		break;
  10712 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSSTPSTATE:
  10713 		rv = bcm_field_qualify_IngressStpState(
  10714 			req->args.field_qualify_IngressStpState.unit,
  10715 			req->args.field_qualify_IngressStpState.entry,
  10716 			req->args.field_qualify_IngressStpState.data,
  10717 			req->args.field_qualify_IngressStpState.mask);
  10718 		break;
  10719 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSSTPSTATE_GET:
  10720 		rv = bcm_field_qualify_IngressStpState_get(
  10721 			req->args.field_qualify_IngressStpState_get.unit,
  10722 			req->args.field_qualify_IngressStpState_get.entry,
  10723 			req->args.field_qualify_IngressStpState_get.data,
  10724 			req->args.field_qualify_IngressStpState_get.mask);
  10725 		break;
  10726 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSVPORTBRIDGEDISABLE:
  10727 		rv = bcm_field_qualify_IngressVPortBridgeDisable(
  10728 			req->args.field_qualify_IngressVPortBridgeDisable.unit,
  10729 			req->args.field_qualify_IngressVPortBridgeDisable.entry,
  10730 			req->args.field_qualify_IngressVPortBridgeDisable.data,
  10731 			req->args.field_qualify_IngressVPortBridgeDisable.mask);
  10732 		break;
  10733 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INGRESSVPORTBRIDGEDISABLE_GET:
  10734 		rv = bcm_field_qualify_IngressVPortBridgeDisable_get(
  10735 			req->args.field_qualify_IngressVPortBridgeDisable_get.unit,
  10736 			req->args.field_qualify_IngressVPortBridgeDisable_get.entry,
  10737 			req->args.field_qualify_IngressVPortBridgeDisable_get.data,
  10738 			req->args.field_qualify_IngressVPortBridgeDisable_get.mask);
  10739 		break;
  10740 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERBFDPKTVERSIONONE:
  10741 		rv = bcm_field_qualify_InnerBfdPktVersionOne(
  10742 			req->args.field_qualify_InnerBfdPktVersionOne.unit,
  10743 			req->args.field_qualify_InnerBfdPktVersionOne.entry,
  10744 			req->args.field_qualify_InnerBfdPktVersionOne.data,
  10745 			req->args.field_qualify_InnerBfdPktVersionOne.mask);
  10746 		break;
  10747 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERBFDPKTVERSIONONE_GET:
  10748 		rv = bcm_field_qualify_InnerBfdPktVersionOne_get(
  10749 			req->args.field_qualify_InnerBfdPktVersionOne_get.unit,
  10750 			req->args.field_qualify_InnerBfdPktVersionOne_get.entry,
  10751 			req->args.field_qualify_InnerBfdPktVersionOne_get.data,
  10752 			req->args.field_qualify_InnerBfdPktVersionOne_get.mask);
  10753 		break;
  10754 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSCP:
  10755 		rv = bcm_field_qualify_InnerDSCP(
  10756 			req->args.field_qualify_InnerDSCP.unit,
  10757 			req->args.field_qualify_InnerDSCP.entry,
  10758 			req->args.field_qualify_InnerDSCP.data,
  10759 			req->args.field_qualify_InnerDSCP.mask);
  10760 		break;
  10761 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSCP_GET:
  10762 		rv = bcm_field_qualify_InnerDSCP_get(
  10763 			req->args.field_qualify_InnerDSCP_get.unit,
  10764 			req->args.field_qualify_InnerDSCP_get.entry,
  10765 			req->args.field_qualify_InnerDSCP_get.data,
  10766 			req->args.field_qualify_InnerDSCP_get.mask);
  10767 		break;
  10768 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDOSATTACK:
  10769 		rv = bcm_field_qualify_InnerDosAttack(
  10770 			req->args.field_qualify_InnerDosAttack.unit,
  10771 			req->args.field_qualify_InnerDosAttack.entry,
  10772 			req->args.field_qualify_InnerDosAttack.data,
  10773 			req->args.field_qualify_InnerDosAttack.mask);
  10774 		break;
  10775 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDOSATTACKEVENTS:
  10776 		rv = bcm_field_qualify_InnerDosAttackEvents(
  10777 			req->args.field_qualify_InnerDosAttackEvents.unit,
  10778 			req->args.field_qualify_InnerDosAttackEvents.entry,
  10779 			req->args.field_qualify_InnerDosAttackEvents.data,
  10780 			req->args.field_qualify_InnerDosAttackEvents.mask);
  10781 		break;
  10782 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDOSATTACKEVENTS_GET:
  10783 		rv = bcm_field_qualify_InnerDosAttackEvents_get(
  10784 			req->args.field_qualify_InnerDosAttackEvents_get.unit,
  10785 			req->args.field_qualify_InnerDosAttackEvents_get.entry,
  10786 			req->args.field_qualify_InnerDosAttackEvents_get.data,
  10787 			req->args.field_qualify_InnerDosAttackEvents_get.mask);
  10788 		break;
  10789 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDOSATTACK_GET:
  10790 		rv = bcm_field_qualify_InnerDosAttack_get(
  10791 			req->args.field_qualify_InnerDosAttack_get.unit,
  10792 			req->args.field_qualify_InnerDosAttack_get.entry,
  10793 			req->args.field_qualify_InnerDosAttack_get.data,
  10794 			req->args.field_qualify_InnerDosAttack_get.mask);
  10795 		break;
  10796 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSTIP:
  10797 		rv = bcm_field_qualify_InnerDstIp(
  10798 			req->args.field_qualify_InnerDstIp.unit,
  10799 			req->args.field_qualify_InnerDstIp.entry,
  10800 			req->args.field_qualify_InnerDstIp.data,
  10801 			req->args.field_qualify_InnerDstIp.mask);
  10802 		break;
  10803 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSTIP6:
  10804 		rv = bcm_field_qualify_InnerDstIp6(
  10805 			req->args.field_qualify_InnerDstIp6.unit,
  10806 			req->args.field_qualify_InnerDstIp6.entry,
  10807 			req->args.field_qualify_InnerDstIp6.data,
  10808 			req->args.field_qualify_InnerDstIp6.mask);
  10809 		break;
  10810 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSTIP6HIGH:
  10811 		rv = bcm_field_qualify_InnerDstIp6High(
  10812 			req->args.field_qualify_InnerDstIp6High.unit,
  10813 			req->args.field_qualify_InnerDstIp6High.entry,
  10814 			req->args.field_qualify_InnerDstIp6High.data,
  10815 			req->args.field_qualify_InnerDstIp6High.mask);
  10816 		break;
  10817 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSTIP6HIGH_GET:
  10818 		rv = bcm_field_qualify_InnerDstIp6High_get(
  10819 			req->args.field_qualify_InnerDstIp6High_get.unit,
  10820 			req->args.field_qualify_InnerDstIp6High_get.entry,
  10821 			req->args.field_qualify_InnerDstIp6High_get.data,
  10822 			req->args.field_qualify_InnerDstIp6High_get.mask);
  10823 		break;
  10824 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSTIP6_GET:
  10825 		rv = bcm_field_qualify_InnerDstIp6_get(
  10826 			req->args.field_qualify_InnerDstIp6_get.unit,
  10827 			req->args.field_qualify_InnerDstIp6_get.entry,
  10828 			req->args.field_qualify_InnerDstIp6_get.data,
  10829 			req->args.field_qualify_InnerDstIp6_get.mask);
  10830 		break;
  10831 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSTIP_GET:
  10832 		rv = bcm_field_qualify_InnerDstIp_get(
  10833 			req->args.field_qualify_InnerDstIp_get.unit,
  10834 			req->args.field_qualify_InnerDstIp_get.entry,
  10835 			req->args.field_qualify_InnerDstIp_get.data,
  10836 			req->args.field_qualify_InnerDstIp_get.mask);
  10837 		break;
  10838 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSTMAC:
  10839 		rv = bcm_field_qualify_InnerDstMac(
  10840 			req->args.field_qualify_InnerDstMac.unit,
  10841 			req->args.field_qualify_InnerDstMac.entry,
  10842 			req->args.field_qualify_InnerDstMac.data,
  10843 			req->args.field_qualify_InnerDstMac.mask);
  10844 		break;
  10845 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERDSTMAC_GET:
  10846 		rv = bcm_field_qualify_InnerDstMac_get(
  10847 			req->args.field_qualify_InnerDstMac_get.unit,
  10848 			req->args.field_qualify_InnerDstMac_get.entry,
  10849 			req->args.field_qualify_InnerDstMac_get.data,
  10850 			req->args.field_qualify_InnerDstMac_get.mask);
  10851 		break;
  10852 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERETHERTYPE:
  10853 		rv = bcm_field_qualify_InnerEtherType(
  10854 			req->args.field_qualify_InnerEtherType.unit,
  10855 			req->args.field_qualify_InnerEtherType.entry,
  10856 			req->args.field_qualify_InnerEtherType.data,
  10857 			req->args.field_qualify_InnerEtherType.mask);
  10858 		break;
  10859 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERETHERTYPE_GET:
  10860 		rv = bcm_field_qualify_InnerEtherType_get(
  10861 			req->args.field_qualify_InnerEtherType_get.unit,
  10862 			req->args.field_qualify_InnerEtherType_get.entry,
  10863 			req->args.field_qualify_InnerEtherType_get.data,
  10864 			req->args.field_qualify_InnerEtherType_get.mask);
  10865 		break;
  10866 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6FLOWLABEL:
  10867 		rv = bcm_field_qualify_InnerIp6FlowLabel(
  10868 			req->args.field_qualify_InnerIp6FlowLabel.unit,
  10869 			req->args.field_qualify_InnerIp6FlowLabel.entry,
  10870 			req->args.field_qualify_InnerIp6FlowLabel.data,
  10871 			req->args.field_qualify_InnerIp6FlowLabel.mask);
  10872 		break;
  10873 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6FLOWLABEL_GET:
  10874 		rv = bcm_field_qualify_InnerIp6FlowLabel_get(
  10875 			req->args.field_qualify_InnerIp6FlowLabel_get.unit,
  10876 			req->args.field_qualify_InnerIp6FlowLabel_get.entry,
  10877 			req->args.field_qualify_InnerIp6FlowLabel_get.data,
  10878 			req->args.field_qualify_InnerIp6FlowLabel_get.mask);
  10879 		break;
  10880 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6HOPLIMIT:
  10881 		rv = bcm_field_qualify_InnerIp6HopLimit(
  10882 			req->args.field_qualify_InnerIp6HopLimit.unit,
  10883 			req->args.field_qualify_InnerIp6HopLimit.entry,
  10884 			req->args.field_qualify_InnerIp6HopLimit.data,
  10885 			req->args.field_qualify_InnerIp6HopLimit.mask);
  10886 		break;
  10887 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6HOPLIMIT_GET:
  10888 		rv = bcm_field_qualify_InnerIp6HopLimit_get(
  10889 			req->args.field_qualify_InnerIp6HopLimit_get.unit,
  10890 			req->args.field_qualify_InnerIp6HopLimit_get.entry,
  10891 			req->args.field_qualify_InnerIp6HopLimit_get.data,
  10892 			req->args.field_qualify_InnerIp6HopLimit_get.mask);
  10893 		break;
  10894 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6NEXTHEADER:
  10895 		rv = bcm_field_qualify_InnerIp6NextHeader(
  10896 			req->args.field_qualify_InnerIp6NextHeader.unit,
  10897 			req->args.field_qualify_InnerIp6NextHeader.entry,
  10898 			req->args.field_qualify_InnerIp6NextHeader.data,
  10899 			req->args.field_qualify_InnerIp6NextHeader.mask);
  10900 		break;
  10901 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6NEXTHEADER_GET:
  10902 		rv = bcm_field_qualify_InnerIp6NextHeader_get(
  10903 			req->args.field_qualify_InnerIp6NextHeader_get.unit,
  10904 			req->args.field_qualify_InnerIp6NextHeader_get.entry,
  10905 			req->args.field_qualify_InnerIp6NextHeader_get.data,
  10906 			req->args.field_qualify_InnerIp6NextHeader_get.mask);
  10907 		break;
  10908 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6PKTHOPLIMIT:
  10909 		rv = bcm_field_qualify_InnerIp6PktHopLimit(
  10910 			req->args.field_qualify_InnerIp6PktHopLimit.unit,
  10911 			req->args.field_qualify_InnerIp6PktHopLimit.entry,
  10912 			req->args.field_qualify_InnerIp6PktHopLimit.data,
  10913 			req->args.field_qualify_InnerIp6PktHopLimit.mask);
  10914 		break;
  10915 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6PKTHOPLIMIT_GET:
  10916 		rv = bcm_field_qualify_InnerIp6PktHopLimit_get(
  10917 			req->args.field_qualify_InnerIp6PktHopLimit_get.unit,
  10918 			req->args.field_qualify_InnerIp6PktHopLimit_get.entry,
  10919 			req->args.field_qualify_InnerIp6PktHopLimit_get.data,
  10920 			req->args.field_qualify_InnerIp6PktHopLimit_get.mask);
  10921 		break;
  10922 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6PKTNEXTHEADER:
  10923 		rv = bcm_field_qualify_InnerIp6PktNextHeader(
  10924 			req->args.field_qualify_InnerIp6PktNextHeader.unit,
  10925 			req->args.field_qualify_InnerIp6PktNextHeader.entry,
  10926 			req->args.field_qualify_InnerIp6PktNextHeader.data,
  10927 			req->args.field_qualify_InnerIp6PktNextHeader.mask);
  10928 		break;
  10929 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6PKTNEXTHEADER_GET:
  10930 		rv = bcm_field_qualify_InnerIp6PktNextHeader_get(
  10931 			req->args.field_qualify_InnerIp6PktNextHeader_get.unit,
  10932 			req->args.field_qualify_InnerIp6PktNextHeader_get.entry,
  10933 			req->args.field_qualify_InnerIp6PktNextHeader_get.data,
  10934 			req->args.field_qualify_InnerIp6PktNextHeader_get.mask);
  10935 		break;
  10936 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6PKTTRAFFICCLASS:
  10937 		rv = bcm_field_qualify_InnerIp6PktTrafficClass(
  10938 			req->args.field_qualify_InnerIp6PktTrafficClass.unit,
  10939 			req->args.field_qualify_InnerIp6PktTrafficClass.entry,
  10940 			req->args.field_qualify_InnerIp6PktTrafficClass.data,
  10941 			req->args.field_qualify_InnerIp6PktTrafficClass.mask);
  10942 		break;
  10943 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIP6PKTTRAFFICCLASS_GET:
  10944 		rv = bcm_field_qualify_InnerIp6PktTrafficClass_get(
  10945 			req->args.field_qualify_InnerIp6PktTrafficClass_get.unit,
  10946 			req->args.field_qualify_InnerIp6PktTrafficClass_get.entry,
  10947 			req->args.field_qualify_InnerIp6PktTrafficClass_get.data,
  10948 			req->args.field_qualify_InnerIp6PktTrafficClass_get.mask);
  10949 		break;
  10950 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIPFRAG:
  10951 		rv = bcm_field_qualify_InnerIpFrag(
  10952 			req->args.field_qualify_InnerIpFrag.unit,
  10953 			req->args.field_qualify_InnerIpFrag.entry,
  10954 			req->args.field_qualify_InnerIpFrag.frag_info);
  10955 		break;
  10956 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIPFRAG_GET:
  10957 		rv = bcm_field_qualify_InnerIpFrag_get(
  10958 			req->args.field_qualify_InnerIpFrag_get.unit,
  10959 			req->args.field_qualify_InnerIpFrag_get.entry,
  10960 			req->args.field_qualify_InnerIpFrag_get.frag_info);
  10961 		break;
  10962 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIPPROTOCOL:
  10963 		rv = bcm_field_qualify_InnerIpProtocol(
  10964 			req->args.field_qualify_InnerIpProtocol.unit,
  10965 			req->args.field_qualify_InnerIpProtocol.entry,
  10966 			req->args.field_qualify_InnerIpProtocol.data,
  10967 			req->args.field_qualify_InnerIpProtocol.mask);
  10968 		break;
  10969 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIPPROTOCOLCOMMON:
  10970 		rv = bcm_field_qualify_InnerIpProtocolCommon(
  10971 			req->args.field_qualify_InnerIpProtocolCommon.unit,
  10972 			req->args.field_qualify_InnerIpProtocolCommon.entry,
  10973 			req->args.field_qualify_InnerIpProtocolCommon.protocol);
  10974 		break;
  10975 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIPPROTOCOLCOMMON_GET:
  10976 		rv = bcm_field_qualify_InnerIpProtocolCommon_get(
  10977 			req->args.field_qualify_InnerIpProtocolCommon_get.unit,
  10978 			req->args.field_qualify_InnerIpProtocolCommon_get.entry,
  10979 			req->args.field_qualify_InnerIpProtocolCommon_get.protocol);
  10980 		break;
  10981 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIPPROTOCOL_GET:
  10982 		rv = bcm_field_qualify_InnerIpProtocol_get(
  10983 			req->args.field_qualify_InnerIpProtocol_get.unit,
  10984 			req->args.field_qualify_InnerIpProtocol_get.entry,
  10985 			req->args.field_qualify_InnerIpProtocol_get.data,
  10986 			req->args.field_qualify_InnerIpProtocol_get.mask);
  10987 		break;
  10988 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIPTYPE:
  10989 		rv = bcm_field_qualify_InnerIpType(
  10990 			req->args.field_qualify_InnerIpType.unit,
  10991 			req->args.field_qualify_InnerIpType.entry,
  10992 			req->args.field_qualify_InnerIpType.type);
  10993 		break;
  10994 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERIPTYPE_GET:
  10995 		rv = bcm_field_qualify_InnerIpType_get(
  10996 			req->args.field_qualify_InnerIpType_get.unit,
  10997 			req->args.field_qualify_InnerIpType_get.entry,
  10998 			req->args.field_qualify_InnerIpType_get.type);
  10999 		break;
  11000 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERL4DSTPORT:
  11001 		rv = bcm_field_qualify_InnerL4DstPort(
  11002 			req->args.field_qualify_InnerL4DstPort.unit,
  11003 			req->args.field_qualify_InnerL4DstPort.entry,
  11004 			req->args.field_qualify_InnerL4DstPort.data,
  11005 			req->args.field_qualify_InnerL4DstPort.mask);
  11006 		break;
  11007 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERL4DSTPORT_GET:
  11008 		rv = bcm_field_qualify_InnerL4DstPort_get(
  11009 			req->args.field_qualify_InnerL4DstPort_get.unit,
  11010 			req->args.field_qualify_InnerL4DstPort_get.entry,
  11011 			req->args.field_qualify_InnerL4DstPort_get.data,
  11012 			req->args.field_qualify_InnerL4DstPort_get.mask);
  11013 		break;
  11014 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERL4PORTS:
  11015 		rv = bcm_field_qualify_InnerL4Ports(
  11016 			req->args.field_qualify_InnerL4Ports.unit,
  11017 			req->args.field_qualify_InnerL4Ports.entry,
  11018 			req->args.field_qualify_InnerL4Ports.data,
  11019 			req->args.field_qualify_InnerL4Ports.mask);
  11020 		break;
  11021 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERL4PORTS_GET:
  11022 		rv = bcm_field_qualify_InnerL4Ports_get(
  11023 			req->args.field_qualify_InnerL4Ports_get.unit,
  11024 			req->args.field_qualify_InnerL4Ports_get.entry,
  11025 			req->args.field_qualify_InnerL4Ports_get.data,
  11026 			req->args.field_qualify_InnerL4Ports_get.mask);
  11027 		break;
  11028 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERL4SRCPORT:
  11029 		rv = bcm_field_qualify_InnerL4SrcPort(
  11030 			req->args.field_qualify_InnerL4SrcPort.unit,
  11031 			req->args.field_qualify_InnerL4SrcPort.entry,
  11032 			req->args.field_qualify_InnerL4SrcPort.data,
  11033 			req->args.field_qualify_InnerL4SrcPort.mask);
  11034 		break;
  11035 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERL4SRCPORT_GET:
  11036 		rv = bcm_field_qualify_InnerL4SrcPort_get(
  11037 			req->args.field_qualify_InnerL4SrcPort_get.unit,
  11038 			req->args.field_qualify_InnerL4SrcPort_get.entry,
  11039 			req->args.field_qualify_InnerL4SrcPort_get.data,
  11040 			req->args.field_qualify_InnerL4SrcPort_get.mask);
  11041 		break;
  11042 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERSRCIP:
  11043 		rv = bcm_field_qualify_InnerSrcIp(
  11044 			req->args.field_qualify_InnerSrcIp.unit,
  11045 			req->args.field_qualify_InnerSrcIp.entry,
  11046 			req->args.field_qualify_InnerSrcIp.data,
  11047 			req->args.field_qualify_InnerSrcIp.mask);
  11048 		break;
  11049 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERSRCIP6:
  11050 		rv = bcm_field_qualify_InnerSrcIp6(
  11051 			req->args.field_qualify_InnerSrcIp6.unit,
  11052 			req->args.field_qualify_InnerSrcIp6.entry,
  11053 			req->args.field_qualify_InnerSrcIp6.data,
  11054 			req->args.field_qualify_InnerSrcIp6.mask);
  11055 		break;
  11056 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERSRCIP6HIGH:
  11057 		rv = bcm_field_qualify_InnerSrcIp6High(
  11058 			req->args.field_qualify_InnerSrcIp6High.unit,
  11059 			req->args.field_qualify_InnerSrcIp6High.entry,
  11060 			req->args.field_qualify_InnerSrcIp6High.data,
  11061 			req->args.field_qualify_InnerSrcIp6High.mask);
  11062 		break;
  11063 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERSRCIP6HIGH_GET:
  11064 		rv = bcm_field_qualify_InnerSrcIp6High_get(
  11065 			req->args.field_qualify_InnerSrcIp6High_get.unit,
  11066 			req->args.field_qualify_InnerSrcIp6High_get.entry,
  11067 			req->args.field_qualify_InnerSrcIp6High_get.data,
  11068 			req->args.field_qualify_InnerSrcIp6High_get.mask);
  11069 		break;
  11070 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERSRCIP6_GET:
  11071 		rv = bcm_field_qualify_InnerSrcIp6_get(
  11072 			req->args.field_qualify_InnerSrcIp6_get.unit,
  11073 			req->args.field_qualify_InnerSrcIp6_get.entry,
  11074 			req->args.field_qualify_InnerSrcIp6_get.data,
  11075 			req->args.field_qualify_InnerSrcIp6_get.mask);
  11076 		break;
  11077 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERSRCIP_GET:
  11078 		rv = bcm_field_qualify_InnerSrcIp_get(
  11079 			req->args.field_qualify_InnerSrcIp_get.unit,
  11080 			req->args.field_qualify_InnerSrcIp_get.entry,
  11081 			req->args.field_qualify_InnerSrcIp_get.data,
  11082 			req->args.field_qualify_InnerSrcIp_get.mask);
  11083 		break;
  11084 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERSRCMAC:
  11085 		rv = bcm_field_qualify_InnerSrcMac(
  11086 			req->args.field_qualify_InnerSrcMac.unit,
  11087 			req->args.field_qualify_InnerSrcMac.entry,
  11088 			req->args.field_qualify_InnerSrcMac.data,
  11089 			req->args.field_qualify_InnerSrcMac.mask);
  11090 		break;
  11091 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERSRCMAC_GET:
  11092 		rv = bcm_field_qualify_InnerSrcMac_get(
  11093 			req->args.field_qualify_InnerSrcMac_get.unit,
  11094 			req->args.field_qualify_InnerSrcMac_get.entry,
  11095 			req->args.field_qualify_InnerSrcMac_get.data,
  11096 			req->args.field_qualify_InnerSrcMac_get.mask);
  11097 		break;
  11098 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERTOS:
  11099 		rv = bcm_field_qualify_InnerTos(
  11100 			req->args.field_qualify_InnerTos.unit,
  11101 			req->args.field_qualify_InnerTos.entry,
  11102 			req->args.field_qualify_InnerTos.data,
  11103 			req->args.field_qualify_InnerTos.mask);
  11104 		break;
  11105 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERTOS_GET:
  11106 		rv = bcm_field_qualify_InnerTos_get(
  11107 			req->args.field_qualify_InnerTos_get.unit,
  11108 			req->args.field_qualify_InnerTos_get.entry,
  11109 			req->args.field_qualify_InnerTos_get.data,
  11110 			req->args.field_qualify_InnerTos_get.mask);
  11111 		break;
  11112 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERTPID:
  11113 		rv = bcm_field_qualify_InnerTpid(
  11114 			req->args.field_qualify_InnerTpid.unit,
  11115 			req->args.field_qualify_InnerTpid.entry,
  11116 			req->args.field_qualify_InnerTpid.tpid);
  11117 		break;
  11118 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERTPID_GET:
  11119 		rv = bcm_field_qualify_InnerTpid_get(
  11120 			req->args.field_qualify_InnerTpid_get.unit,
  11121 			req->args.field_qualify_InnerTpid_get.entry,
  11122 			req->args.field_qualify_InnerTpid_get.tpid);
  11123 		break;
  11124 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERTTL:
  11125 		rv = bcm_field_qualify_InnerTtl(
  11126 			req->args.field_qualify_InnerTtl.unit,
  11127 			req->args.field_qualify_InnerTtl.entry,
  11128 			req->args.field_qualify_InnerTtl.data,
  11129 			req->args.field_qualify_InnerTtl.mask);
  11130 		break;
  11131 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERTTL_GET:
  11132 		rv = bcm_field_qualify_InnerTtl_get(
  11133 			req->args.field_qualify_InnerTtl_get.unit,
  11134 			req->args.field_qualify_InnerTtl_get.entry,
  11135 			req->args.field_qualify_InnerTtl_get.data,
  11136 			req->args.field_qualify_InnerTtl_get.mask);
  11137 		break;
  11138 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLAN:
  11139 		rv = bcm_field_qualify_InnerVlan(
  11140 			req->args.field_qualify_InnerVlan.unit,
  11141 			req->args.field_qualify_InnerVlan.entry,
  11142 			req->args.field_qualify_InnerVlan.data,
  11143 			req->args.field_qualify_InnerVlan.mask);
  11144 		break;
  11145 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLANACTIONRANGE:
  11146 		rv = bcm_field_qualify_InnerVlanActionRange(
  11147 			req->args.field_qualify_InnerVlanActionRange.unit,
  11148 			req->args.field_qualify_InnerVlanActionRange.entry,
  11149 			req->args.field_qualify_InnerVlanActionRange.data,
  11150 			req->args.field_qualify_InnerVlanActionRange.mask);
  11151 		break;
  11152 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLANACTIONRANGE_GET:
  11153 		rv = bcm_field_qualify_InnerVlanActionRange_get(
  11154 			req->args.field_qualify_InnerVlanActionRange_get.unit,
  11155 			req->args.field_qualify_InnerVlanActionRange_get.entry,
  11156 			req->args.field_qualify_InnerVlanActionRange_get.data,
  11157 			req->args.field_qualify_InnerVlanActionRange_get.mask);
  11158 		break;
  11159 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLANCFI:
  11160 		rv = bcm_field_qualify_InnerVlanCfi(
  11161 			req->args.field_qualify_InnerVlanCfi.unit,
  11162 			req->args.field_qualify_InnerVlanCfi.entry,
  11163 			req->args.field_qualify_InnerVlanCfi.data,
  11164 			req->args.field_qualify_InnerVlanCfi.mask);
  11165 		break;
  11166 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLANCFI_GET:
  11167 		rv = bcm_field_qualify_InnerVlanCfi_get(
  11168 			req->args.field_qualify_InnerVlanCfi_get.unit,
  11169 			req->args.field_qualify_InnerVlanCfi_get.entry,
  11170 			req->args.field_qualify_InnerVlanCfi_get.data,
  11171 			req->args.field_qualify_InnerVlanCfi_get.mask);
  11172 		break;
  11173 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLANID:
  11174 		rv = bcm_field_qualify_InnerVlanId(
  11175 			req->args.field_qualify_InnerVlanId.unit,
  11176 			req->args.field_qualify_InnerVlanId.entry,
  11177 			req->args.field_qualify_InnerVlanId.data,
  11178 			req->args.field_qualify_InnerVlanId.mask);
  11179 		break;
  11180 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLANID_GET:
  11181 		rv = bcm_field_qualify_InnerVlanId_get(
  11182 			req->args.field_qualify_InnerVlanId_get.unit,
  11183 			req->args.field_qualify_InnerVlanId_get.entry,
  11184 			req->args.field_qualify_InnerVlanId_get.data,
  11185 			req->args.field_qualify_InnerVlanId_get.mask);
  11186 		break;
  11187 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLANPRI:
  11188 		rv = bcm_field_qualify_InnerVlanPri(
  11189 			req->args.field_qualify_InnerVlanPri.unit,
  11190 			req->args.field_qualify_InnerVlanPri.entry,
  11191 			req->args.field_qualify_InnerVlanPri.data,
  11192 			req->args.field_qualify_InnerVlanPri.mask);
  11193 		break;
  11194 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLANPRI_GET:
  11195 		rv = bcm_field_qualify_InnerVlanPri_get(
  11196 			req->args.field_qualify_InnerVlanPri_get.unit,
  11197 			req->args.field_qualify_InnerVlanPri_get.entry,
  11198 			req->args.field_qualify_InnerVlanPri_get.data,
  11199 			req->args.field_qualify_InnerVlanPri_get.mask);
  11200 		break;
  11201 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INNERVLAN_GET:
  11202 		rv = bcm_field_qualify_InnerVlan_get(
  11203 			req->args.field_qualify_InnerVlan_get.unit,
  11204 			req->args.field_qualify_InnerVlan_get.entry,
  11205 			req->args.field_qualify_InnerVlan_get.data,
  11206 			req->args.field_qualify_InnerVlan_get.mask);
  11207 		break;
  11208 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTCONGESTIONNOTIFICATION:
  11209 		rv = bcm_field_qualify_IntCongestionNotification(
  11210 			req->args.field_qualify_IntCongestionNotification.unit,
  11211 			req->args.field_qualify_IntCongestionNotification.entry,
  11212 			req->args.field_qualify_IntCongestionNotification.data,
  11213 			req->args.field_qualify_IntCongestionNotification.mask);
  11214 		break;
  11215 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTCONGESTIONNOTIFICATION_GET:
  11216 		rv = bcm_field_qualify_IntCongestionNotification_get(
  11217 			req->args.field_qualify_IntCongestionNotification_get.unit,
  11218 			req->args.field_qualify_IntCongestionNotification_get.entry,
  11219 			req->args.field_qualify_IntCongestionNotification_get.data,
  11220 			req->args.field_qualify_IntCongestionNotification_get.mask);
  11221 		break;
  11222 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTFINALHOP:
  11223 		rv = bcm_field_qualify_IntPktFinalHop(
  11224 			req->args.field_qualify_IntPktFinalHop.unit,
  11225 			req->args.field_qualify_IntPktFinalHop.entry,
  11226 			req->args.field_qualify_IntPktFinalHop.data,
  11227 			req->args.field_qualify_IntPktFinalHop.mask);
  11228 		break;
  11229 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTFINALHOP_GET:
  11230 		rv = bcm_field_qualify_IntPktFinalHop_get(
  11231 			req->args.field_qualify_IntPktFinalHop_get.unit,
  11232 			req->args.field_qualify_IntPktFinalHop_get.entry,
  11233 			req->args.field_qualify_IntPktFinalHop_get.data,
  11234 			req->args.field_qualify_IntPktFinalHop_get.mask);
  11235 		break;
  11236 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTLENGTHVALID:
  11237 		rv = bcm_field_qualify_IntPktLengthValid(
  11238 			req->args.field_qualify_IntPktLengthValid.unit,
  11239 			req->args.field_qualify_IntPktLengthValid.entry,
  11240 			req->args.field_qualify_IntPktLengthValid.data,
  11241 			req->args.field_qualify_IntPktLengthValid.mask);
  11242 		break;
  11243 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTLENGTHVALID_GET:
  11244 		rv = bcm_field_qualify_IntPktLengthValid_get(
  11245 			req->args.field_qualify_IntPktLengthValid_get.unit,
  11246 			req->args.field_qualify_IntPktLengthValid_get.entry,
  11247 			req->args.field_qualify_IntPktLengthValid_get.data,
  11248 			req->args.field_qualify_IntPktLengthValid_get.mask);
  11249 		break;
  11250 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTOVERFLOWED:
  11251 		rv = bcm_field_qualify_IntPktOverflowed(
  11252 			req->args.field_qualify_IntPktOverflowed.unit,
  11253 			req->args.field_qualify_IntPktOverflowed.entry,
  11254 			req->args.field_qualify_IntPktOverflowed.data,
  11255 			req->args.field_qualify_IntPktOverflowed.mask);
  11256 		break;
  11257 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTOVERFLOWED_GET:
  11258 		rv = bcm_field_qualify_IntPktOverflowed_get(
  11259 			req->args.field_qualify_IntPktOverflowed_get.unit,
  11260 			req->args.field_qualify_IntPktOverflowed_get.entry,
  11261 			req->args.field_qualify_IntPktOverflowed_get.data,
  11262 			req->args.field_qualify_IntPktOverflowed_get.mask);
  11263 		break;
  11264 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTTYPE:
  11265 		rv = bcm_field_qualify_IntPktType(
  11266 			req->args.field_qualify_IntPktType.unit,
  11267 			req->args.field_qualify_IntPktType.entry,
  11268 			req->args.field_qualify_IntPktType.type);
  11269 		break;
  11270 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTTYPE_GET:
  11271 		rv = bcm_field_qualify_IntPktType_get(
  11272 			req->args.field_qualify_IntPktType_get.unit,
  11273 			req->args.field_qualify_IntPktType_get.entry,
  11274 			req->args.field_qualify_IntPktType_get.type);
  11275 		break;
  11276 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTVERSIONONE:
  11277 		rv = bcm_field_qualify_IntPktVersionOne(
  11278 			req->args.field_qualify_IntPktVersionOne.unit,
  11279 			req->args.field_qualify_IntPktVersionOne.entry,
  11280 			req->args.field_qualify_IntPktVersionOne.data,
  11281 			req->args.field_qualify_IntPktVersionOne.mask);
  11282 		break;
  11283 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPKTVERSIONONE_GET:
  11284 		rv = bcm_field_qualify_IntPktVersionOne_get(
  11285 			req->args.field_qualify_IntPktVersionOne_get.unit,
  11286 			req->args.field_qualify_IntPktVersionOne_get.entry,
  11287 			req->args.field_qualify_IntPktVersionOne_get.data,
  11288 			req->args.field_qualify_IntPktVersionOne_get.mask);
  11289 		break;
  11290 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPRIORITY:
  11291 		rv = bcm_field_qualify_IntPriority(
  11292 			req->args.field_qualify_IntPriority.unit,
  11293 			req->args.field_qualify_IntPriority.entry,
  11294 			req->args.field_qualify_IntPriority.data,
  11295 			req->args.field_qualify_IntPriority.mask);
  11296 		break;
  11297 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTPRIORITY_GET:
  11298 		rv = bcm_field_qualify_IntPriority_get(
  11299 			req->args.field_qualify_IntPriority_get.unit,
  11300 			req->args.field_qualify_IntPriority_get.entry,
  11301 			req->args.field_qualify_IntPriority_get.data,
  11302 			req->args.field_qualify_IntPriority_get.mask);
  11303 		break;
  11304 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSL2:
  11305 		rv = bcm_field_qualify_InterfaceClassL2(
  11306 			req->args.field_qualify_InterfaceClassL2.unit,
  11307 			req->args.field_qualify_InterfaceClassL2.entry,
  11308 			req->args.field_qualify_InterfaceClassL2.data,
  11309 			req->args.field_qualify_InterfaceClassL2.mask);
  11310 		break;
  11311 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSL2TYPE:
  11312 		rv = bcm_field_qualify_InterfaceClassL2Type(
  11313 			req->args.field_qualify_InterfaceClassL2Type.unit,
  11314 			req->args.field_qualify_InterfaceClassL2Type.entry,
  11315 			req->args.field_qualify_InterfaceClassL2Type.type);
  11316 		break;
  11317 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSL2TYPE_GET:
  11318 		rv = bcm_field_qualify_InterfaceClassL2Type_get(
  11319 			req->args.field_qualify_InterfaceClassL2Type_get.unit,
  11320 			req->args.field_qualify_InterfaceClassL2Type_get.entry,
  11321 			req->args.field_qualify_InterfaceClassL2Type_get.type);
  11322 		break;
  11323 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSL2_GET:
  11324 		rv = bcm_field_qualify_InterfaceClassL2_get(
  11325 			req->args.field_qualify_InterfaceClassL2_get.unit,
  11326 			req->args.field_qualify_InterfaceClassL2_get.entry,
  11327 			req->args.field_qualify_InterfaceClassL2_get.data,
  11328 			req->args.field_qualify_InterfaceClassL2_get.mask);
  11329 		break;
  11330 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSL3:
  11331 		rv = bcm_field_qualify_InterfaceClassL3(
  11332 			req->args.field_qualify_InterfaceClassL3.unit,
  11333 			req->args.field_qualify_InterfaceClassL3.entry,
  11334 			req->args.field_qualify_InterfaceClassL3.data,
  11335 			req->args.field_qualify_InterfaceClassL3.mask);
  11336 		break;
  11337 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSL3TUNNEL:
  11338 		rv = bcm_field_qualify_InterfaceClassL3Tunnel(
  11339 			req->args.field_qualify_InterfaceClassL3Tunnel.unit,
  11340 			req->args.field_qualify_InterfaceClassL3Tunnel.entry,
  11341 			req->args.field_qualify_InterfaceClassL3Tunnel.data,
  11342 			req->args.field_qualify_InterfaceClassL3Tunnel.mask);
  11343 		break;
  11344 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSL3TUNNEL_GET:
  11345 		rv = bcm_field_qualify_InterfaceClassL3Tunnel_get(
  11346 			req->args.field_qualify_InterfaceClassL3Tunnel_get.unit,
  11347 			req->args.field_qualify_InterfaceClassL3Tunnel_get.entry,
  11348 			req->args.field_qualify_InterfaceClassL3Tunnel_get.data,
  11349 			req->args.field_qualify_InterfaceClassL3Tunnel_get.mask);
  11350 		break;
  11351 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSL3_GET:
  11352 		rv = bcm_field_qualify_InterfaceClassL3_get(
  11353 			req->args.field_qualify_InterfaceClassL3_get.unit,
  11354 			req->args.field_qualify_InterfaceClassL3_get.entry,
  11355 			req->args.field_qualify_InterfaceClassL3_get.data,
  11356 			req->args.field_qualify_InterfaceClassL3_get.mask);
  11357 		break;
  11358 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSMPLSLOOKUP1:
  11359 		rv = bcm_field_qualify_InterfaceClassMplsLookup1(
  11360 			req->args.field_qualify_InterfaceClassMplsLookup1.unit,
  11361 			req->args.field_qualify_InterfaceClassMplsLookup1.entry,
  11362 			req->args.field_qualify_InterfaceClassMplsLookup1.data,
  11363 			req->args.field_qualify_InterfaceClassMplsLookup1.mask);
  11364 		break;
  11365 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSMPLSLOOKUP1_GET:
  11366 		rv = bcm_field_qualify_InterfaceClassMplsLookup1_get(
  11367 			req->args.field_qualify_InterfaceClassMplsLookup1_get.unit,
  11368 			req->args.field_qualify_InterfaceClassMplsLookup1_get.entry,
  11369 			req->args.field_qualify_InterfaceClassMplsLookup1_get.data,
  11370 			req->args.field_qualify_InterfaceClassMplsLookup1_get.mask);
  11371 		break;
  11372 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSMPLSLOOKUP2:
  11373 		rv = bcm_field_qualify_InterfaceClassMplsLookup2(
  11374 			req->args.field_qualify_InterfaceClassMplsLookup2.unit,
  11375 			req->args.field_qualify_InterfaceClassMplsLookup2.entry,
  11376 			req->args.field_qualify_InterfaceClassMplsLookup2.data,
  11377 			req->args.field_qualify_InterfaceClassMplsLookup2.mask);
  11378 		break;
  11379 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSMPLSLOOKUP2_GET:
  11380 		rv = bcm_field_qualify_InterfaceClassMplsLookup2_get(
  11381 			req->args.field_qualify_InterfaceClassMplsLookup2_get.unit,
  11382 			req->args.field_qualify_InterfaceClassMplsLookup2_get.entry,
  11383 			req->args.field_qualify_InterfaceClassMplsLookup2_get.data,
  11384 			req->args.field_qualify_InterfaceClassMplsLookup2_get.mask);
  11385 		break;
  11386 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSMPLSLOOKUP3:
  11387 		rv = bcm_field_qualify_InterfaceClassMplsLookup3(
  11388 			req->args.field_qualify_InterfaceClassMplsLookup3.unit,
  11389 			req->args.field_qualify_InterfaceClassMplsLookup3.entry,
  11390 			req->args.field_qualify_InterfaceClassMplsLookup3.data,
  11391 			req->args.field_qualify_InterfaceClassMplsLookup3.mask);
  11392 		break;
  11393 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSMPLSLOOKUP3_GET:
  11394 		rv = bcm_field_qualify_InterfaceClassMplsLookup3_get(
  11395 			req->args.field_qualify_InterfaceClassMplsLookup3_get.unit,
  11396 			req->args.field_qualify_InterfaceClassMplsLookup3_get.entry,
  11397 			req->args.field_qualify_InterfaceClassMplsLookup3_get.data,
  11398 			req->args.field_qualify_InterfaceClassMplsLookup3_get.mask);
  11399 		break;
  11400 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSPORT:
  11401 		rv = bcm_field_qualify_InterfaceClassPort(
  11402 			req->args.field_qualify_InterfaceClassPort.unit,
  11403 			req->args.field_qualify_InterfaceClassPort.entry,
  11404 			req->args.field_qualify_InterfaceClassPort.data,
  11405 			req->args.field_qualify_InterfaceClassPort.mask);
  11406 		break;
  11407 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSPORT_GET:
  11408 		rv = bcm_field_qualify_InterfaceClassPort_get(
  11409 			req->args.field_qualify_InterfaceClassPort_get.unit,
  11410 			req->args.field_qualify_InterfaceClassPort_get.entry,
  11411 			req->args.field_qualify_InterfaceClassPort_get.data,
  11412 			req->args.field_qualify_InterfaceClassPort_get.mask);
  11413 		break;
  11414 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSPROCESSINGPORT:
  11415 		rv = bcm_field_qualify_InterfaceClassProcessingPort(
  11416 			req->args.field_qualify_InterfaceClassProcessingPort.unit,
  11417 			req->args.field_qualify_InterfaceClassProcessingPort.entry,
  11418 			req->args.field_qualify_InterfaceClassProcessingPort.data,
  11419 			req->args.field_qualify_InterfaceClassProcessingPort.mask);
  11420 		break;
  11421 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSPROCESSINGPORT_GET:
  11422 		rv = bcm_field_qualify_InterfaceClassProcessingPort_get(
  11423 			req->args.field_qualify_InterfaceClassProcessingPort_get.unit,
  11424 			req->args.field_qualify_InterfaceClassProcessingPort_get.entry,
  11425 			req->args.field_qualify_InterfaceClassProcessingPort_get.data,
  11426 			req->args.field_qualify_InterfaceClassProcessingPort_get.mask);
  11427 		break;
  11428 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSVPORT:
  11429 		rv = bcm_field_qualify_InterfaceClassVPort(
  11430 			req->args.field_qualify_InterfaceClassVPort.unit,
  11431 			req->args.field_qualify_InterfaceClassVPort.entry,
  11432 			req->args.field_qualify_InterfaceClassVPort.data,
  11433 			req->args.field_qualify_InterfaceClassVPort.mask);
  11434 		break;
  11435 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACECLASSVPORT_GET:
  11436 		rv = bcm_field_qualify_InterfaceClassVPort_get(
  11437 			req->args.field_qualify_InterfaceClassVPort_get.unit,
  11438 			req->args.field_qualify_InterfaceClassVPort_get.entry,
  11439 			req->args.field_qualify_InterfaceClassVPort_get.data,
  11440 			req->args.field_qualify_InterfaceClassVPort_get.mask);
  11441 		break;
  11442 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACEINPORTS:
  11443 		rv = bcm_field_qualify_InterfaceInPorts(
  11444 			req->args.field_qualify_InterfaceInPorts.unit,
  11445 			req->args.field_qualify_InterfaceInPorts.entry,
  11446 			req->args.field_qualify_InterfaceInPorts.data,
  11447 			req->args.field_qualify_InterfaceInPorts.mask);
  11448 		break;
  11449 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACEINPORTS_GET:
  11450 		rv = bcm_field_qualify_InterfaceInPorts_get(
  11451 			req->args.field_qualify_InterfaceInPorts_get.unit,
  11452 			req->args.field_qualify_InterfaceInPorts_get.entry,
  11453 			req->args.field_qualify_InterfaceInPorts_get.data,
  11454 			req->args.field_qualify_InterfaceInPorts_get.mask);
  11455 		break;
  11456 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACEINGRESSKEYSELECTCLASSPORT:
  11457 		rv = bcm_field_qualify_InterfaceIngressKeySelectClassPort(
  11458 			req->args.field_qualify_InterfaceIngressKeySelectClassPort.unit,
  11459 			req->args.field_qualify_InterfaceIngressKeySelectClassPort.entry,
  11460 			req->args.field_qualify_InterfaceIngressKeySelectClassPort.data,
  11461 			req->args.field_qualify_InterfaceIngressKeySelectClassPort.mask);
  11462 		break;
  11463 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACEINGRESSKEYSELECTCLASSPORT_GET:
  11464 		rv = bcm_field_qualify_InterfaceIngressKeySelectClassPort_get(
  11465 			req->args.field_qualify_InterfaceIngressKeySelectClassPort_get.unit,
  11466 			req->args.field_qualify_InterfaceIngressKeySelectClassPort_get.entry,
  11467 			req->args.field_qualify_InterfaceIngressKeySelectClassPort_get.data,
  11468 			req->args.field_qualify_InterfaceIngressKeySelectClassPort_get.mask);
  11469 		break;
  11470 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACELOOKUPCLASSPORT:
  11471 		rv = bcm_field_qualify_InterfaceLookupClassPort(
  11472 			req->args.field_qualify_InterfaceLookupClassPort.unit,
  11473 			req->args.field_qualify_InterfaceLookupClassPort.entry,
  11474 			req->args.field_qualify_InterfaceLookupClassPort.data,
  11475 			req->args.field_qualify_InterfaceLookupClassPort.mask);
  11476 		break;
  11477 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_INTERFACELOOKUPCLASSPORT_GET:
  11478 		rv = bcm_field_qualify_InterfaceLookupClassPort_get(
  11479 			req->args.field_qualify_InterfaceLookupClassPort_get.unit,
  11480 			req->args.field_qualify_InterfaceLookupClassPort_get.entry,
  11481 			req->args.field_qualify_InterfaceLookupClassPort_get.data,
  11482 			req->args.field_qualify_InterfaceLookupClassPort_get.mask);
  11483 		break;
  11484 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP4LENGTH:
  11485 		rv = bcm_field_qualify_Ip4Length(
  11486 			req->args.field_qualify_Ip4Length.unit,
  11487 			req->args.field_qualify_Ip4Length.entry,
  11488 			req->args.field_qualify_Ip4Length.data,
  11489 			req->args.field_qualify_Ip4Length.mask);
  11490 		break;
  11491 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP4LENGTH_GET:
  11492 		rv = bcm_field_qualify_Ip4Length_get(
  11493 			req->args.field_qualify_Ip4Length_get.unit,
  11494 			req->args.field_qualify_Ip4Length_get.entry,
  11495 			req->args.field_qualify_Ip4Length_get.data,
  11496 			req->args.field_qualify_Ip4Length_get.mask);
  11497 		break;
  11498 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6FLOWLABEL:
  11499 		rv = bcm_field_qualify_Ip6FlowLabel(
  11500 			req->args.field_qualify_Ip6FlowLabel.unit,
  11501 			req->args.field_qualify_Ip6FlowLabel.entry,
  11502 			req->args.field_qualify_Ip6FlowLabel.data,
  11503 			req->args.field_qualify_Ip6FlowLabel.mask);
  11504 		break;
  11505 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6FLOWLABEL_GET:
  11506 		rv = bcm_field_qualify_Ip6FlowLabel_get(
  11507 			req->args.field_qualify_Ip6FlowLabel_get.unit,
  11508 			req->args.field_qualify_Ip6FlowLabel_get.entry,
  11509 			req->args.field_qualify_Ip6FlowLabel_get.data,
  11510 			req->args.field_qualify_Ip6FlowLabel_get.mask);
  11511 		break;
  11512 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6HOPLIMIT:
  11513 		rv = bcm_field_qualify_Ip6HopLimit(
  11514 			req->args.field_qualify_Ip6HopLimit.unit,
  11515 			req->args.field_qualify_Ip6HopLimit.entry,
  11516 			req->args.field_qualify_Ip6HopLimit.data,
  11517 			req->args.field_qualify_Ip6HopLimit.mask);
  11518 		break;
  11519 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6HOPLIMIT_GET:
  11520 		rv = bcm_field_qualify_Ip6HopLimit_get(
  11521 			req->args.field_qualify_Ip6HopLimit_get.unit,
  11522 			req->args.field_qualify_Ip6HopLimit_get.entry,
  11523 			req->args.field_qualify_Ip6HopLimit_get.data,
  11524 			req->args.field_qualify_Ip6HopLimit_get.mask);
  11525 		break;
  11526 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6LENGTH:
  11527 		rv = bcm_field_qualify_Ip6Length(
  11528 			req->args.field_qualify_Ip6Length.unit,
  11529 			req->args.field_qualify_Ip6Length.entry,
  11530 			req->args.field_qualify_Ip6Length.data,
  11531 			req->args.field_qualify_Ip6Length.mask);
  11532 		break;
  11533 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6LENGTH_GET:
  11534 		rv = bcm_field_qualify_Ip6Length_get(
  11535 			req->args.field_qualify_Ip6Length_get.unit,
  11536 			req->args.field_qualify_Ip6Length_get.entry,
  11537 			req->args.field_qualify_Ip6Length_get.data,
  11538 			req->args.field_qualify_Ip6Length_get.mask);
  11539 		break;
  11540 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6NEXTHEADER:
  11541 		rv = bcm_field_qualify_Ip6NextHeader(
  11542 			req->args.field_qualify_Ip6NextHeader.unit,
  11543 			req->args.field_qualify_Ip6NextHeader.entry,
  11544 			req->args.field_qualify_Ip6NextHeader.data,
  11545 			req->args.field_qualify_Ip6NextHeader.mask);
  11546 		break;
  11547 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6NEXTHEADER_GET:
  11548 		rv = bcm_field_qualify_Ip6NextHeader_get(
  11549 			req->args.field_qualify_Ip6NextHeader_get.unit,
  11550 			req->args.field_qualify_Ip6NextHeader_get.entry,
  11551 			req->args.field_qualify_Ip6NextHeader_get.data,
  11552 			req->args.field_qualify_Ip6NextHeader_get.mask);
  11553 		break;
  11554 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6PKTHOPLIMIT:
  11555 		rv = bcm_field_qualify_Ip6PktHopLimit(
  11556 			req->args.field_qualify_Ip6PktHopLimit.unit,
  11557 			req->args.field_qualify_Ip6PktHopLimit.entry,
  11558 			req->args.field_qualify_Ip6PktHopLimit.data,
  11559 			req->args.field_qualify_Ip6PktHopLimit.mask);
  11560 		break;
  11561 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6PKTHOPLIMIT_GET:
  11562 		rv = bcm_field_qualify_Ip6PktHopLimit_get(
  11563 			req->args.field_qualify_Ip6PktHopLimit_get.unit,
  11564 			req->args.field_qualify_Ip6PktHopLimit_get.entry,
  11565 			req->args.field_qualify_Ip6PktHopLimit_get.data,
  11566 			req->args.field_qualify_Ip6PktHopLimit_get.mask);
  11567 		break;
  11568 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6PKTNEXTHEADER:
  11569 		rv = bcm_field_qualify_Ip6PktNextHeader(
  11570 			req->args.field_qualify_Ip6PktNextHeader.unit,
  11571 			req->args.field_qualify_Ip6PktNextHeader.entry,
  11572 			req->args.field_qualify_Ip6PktNextHeader.data,
  11573 			req->args.field_qualify_Ip6PktNextHeader.mask);
  11574 		break;
  11575 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6PKTNEXTHEADER_GET:
  11576 		rv = bcm_field_qualify_Ip6PktNextHeader_get(
  11577 			req->args.field_qualify_Ip6PktNextHeader_get.unit,
  11578 			req->args.field_qualify_Ip6PktNextHeader_get.entry,
  11579 			req->args.field_qualify_Ip6PktNextHeader_get.data,
  11580 			req->args.field_qualify_Ip6PktNextHeader_get.mask);
  11581 		break;
  11582 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6PKTTRAFFICCLASS:
  11583 		rv = bcm_field_qualify_Ip6PktTrafficClass(
  11584 			req->args.field_qualify_Ip6PktTrafficClass.unit,
  11585 			req->args.field_qualify_Ip6PktTrafficClass.entry,
  11586 			req->args.field_qualify_Ip6PktTrafficClass.data,
  11587 			req->args.field_qualify_Ip6PktTrafficClass.mask);
  11588 		break;
  11589 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6PKTTRAFFICCLASS_GET:
  11590 		rv = bcm_field_qualify_Ip6PktTrafficClass_get(
  11591 			req->args.field_qualify_Ip6PktTrafficClass_get.unit,
  11592 			req->args.field_qualify_Ip6PktTrafficClass_get.entry,
  11593 			req->args.field_qualify_Ip6PktTrafficClass_get.data,
  11594 			req->args.field_qualify_Ip6PktTrafficClass_get.mask);
  11595 		break;
  11596 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6TRAFFICCLASS:
  11597 		rv = bcm_field_qualify_Ip6TrafficClass(
  11598 			req->args.field_qualify_Ip6TrafficClass.unit,
  11599 			req->args.field_qualify_Ip6TrafficClass.entry,
  11600 			req->args.field_qualify_Ip6TrafficClass.data,
  11601 			req->args.field_qualify_Ip6TrafficClass.mask);
  11602 		break;
  11603 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IP6TRAFFICCLASS_GET:
  11604 		rv = bcm_field_qualify_Ip6TrafficClass_get(
  11605 			req->args.field_qualify_Ip6TrafficClass_get.unit,
  11606 			req->args.field_qualify_Ip6TrafficClass_get.entry,
  11607 			req->args.field_qualify_Ip6TrafficClass_get.data,
  11608 			req->args.field_qualify_Ip6TrafficClass_get.mask);
  11609 		break;
  11610 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPADDRSNORMALIZED:
  11611 		rv = bcm_field_qualify_IpAddrsNormalized(
  11612 			req->args.field_qualify_IpAddrsNormalized.unit,
  11613 			req->args.field_qualify_IpAddrsNormalized.entry,
  11614 			req->args.field_qualify_IpAddrsNormalized.data,
  11615 			req->args.field_qualify_IpAddrsNormalized.mask);
  11616 		break;
  11617 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPADDRSNORMALIZED_GET:
  11618 		rv = bcm_field_qualify_IpAddrsNormalized_get(
  11619 			req->args.field_qualify_IpAddrsNormalized_get.unit,
  11620 			req->args.field_qualify_IpAddrsNormalized_get.entry,
  11621 			req->args.field_qualify_IpAddrsNormalized_get.data,
  11622 			req->args.field_qualify_IpAddrsNormalized_get.mask);
  11623 		break;
  11624 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPCHECKSUMOKPKT:
  11625 		rv = bcm_field_qualify_IpChecksumOkPkt(
  11626 			req->args.field_qualify_IpChecksumOkPkt.unit,
  11627 			req->args.field_qualify_IpChecksumOkPkt.entry,
  11628 			req->args.field_qualify_IpChecksumOkPkt.data,
  11629 			req->args.field_qualify_IpChecksumOkPkt.mask);
  11630 		break;
  11631 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPCHECKSUMOKPKT_GET:
  11632 		rv = bcm_field_qualify_IpChecksumOkPkt_get(
  11633 			req->args.field_qualify_IpChecksumOkPkt_get.unit,
  11634 			req->args.field_qualify_IpChecksumOkPkt_get.entry,
  11635 			req->args.field_qualify_IpChecksumOkPkt_get.data,
  11636 			req->args.field_qualify_IpChecksumOkPkt_get.mask);
  11637 		break;
  11638 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPFLAGS:
  11639 		rv = bcm_field_qualify_IpFlags(
  11640 			req->args.field_qualify_IpFlags.unit,
  11641 			req->args.field_qualify_IpFlags.entry,
  11642 			req->args.field_qualify_IpFlags.data,
  11643 			req->args.field_qualify_IpFlags.mask);
  11644 		break;
  11645 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPFLAGS_GET:
  11646 		rv = bcm_field_qualify_IpFlags_get(
  11647 			req->args.field_qualify_IpFlags_get.unit,
  11648 			req->args.field_qualify_IpFlags_get.entry,
  11649 			req->args.field_qualify_IpFlags_get.data,
  11650 			req->args.field_qualify_IpFlags_get.mask);
  11651 		break;
  11652 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPFRAG:
  11653 		rv = bcm_field_qualify_IpFrag(
  11654 			req->args.field_qualify_IpFrag.unit,
  11655 			req->args.field_qualify_IpFrag.entry,
  11656 			req->args.field_qualify_IpFrag.frag_info);
  11657 		break;
  11658 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPFRAGNONORFIRST:
  11659 		rv = bcm_field_qualify_IpFragNonOrFirst(
  11660 			req->args.field_qualify_IpFragNonOrFirst.unit,
  11661 			req->args.field_qualify_IpFragNonOrFirst.entry,
  11662 			req->args.field_qualify_IpFragNonOrFirst.data,
  11663 			req->args.field_qualify_IpFragNonOrFirst.mask);
  11664 		break;
  11665 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPFRAGNONORFIRST_GET:
  11666 		rv = bcm_field_qualify_IpFragNonOrFirst_get(
  11667 			req->args.field_qualify_IpFragNonOrFirst_get.unit,
  11668 			req->args.field_qualify_IpFragNonOrFirst_get.entry,
  11669 			req->args.field_qualify_IpFragNonOrFirst_get.data,
  11670 			req->args.field_qualify_IpFragNonOrFirst_get.mask);
  11671 		break;
  11672 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPFRAGPKT:
  11673 		rv = bcm_field_qualify_IpFragPkt(
  11674 			req->args.field_qualify_IpFragPkt.unit,
  11675 			req->args.field_qualify_IpFragPkt.entry,
  11676 			req->args.field_qualify_IpFragPkt.data,
  11677 			req->args.field_qualify_IpFragPkt.mask);
  11678 		break;
  11679 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPFRAGPKT_GET:
  11680 		rv = bcm_field_qualify_IpFragPkt_get(
  11681 			req->args.field_qualify_IpFragPkt_get.unit,
  11682 			req->args.field_qualify_IpFragPkt_get.entry,
  11683 			req->args.field_qualify_IpFragPkt_get.data,
  11684 			req->args.field_qualify_IpFragPkt_get.mask);
  11685 		break;
  11686 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPFRAG_GET:
  11687 		rv = bcm_field_qualify_IpFrag_get(
  11688 			req->args.field_qualify_IpFrag_get.unit,
  11689 			req->args.field_qualify_IpFrag_get.entry,
  11690 			req->args.field_qualify_IpFrag_get.frag_info);
  11691 		break;
  11692 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPIDENTIFIER:
  11693 		rv = bcm_field_qualify_IpIdentifier(
  11694 			req->args.field_qualify_IpIdentifier.unit,
  11695 			req->args.field_qualify_IpIdentifier.entry,
  11696 			req->args.field_qualify_IpIdentifier.data,
  11697 			req->args.field_qualify_IpIdentifier.mask);
  11698 		break;
  11699 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPIDENTIFIER_GET:
  11700 		rv = bcm_field_qualify_IpIdentifier_get(
  11701 			req->args.field_qualify_IpIdentifier_get.unit,
  11702 			req->args.field_qualify_IpIdentifier_get.entry,
  11703 			req->args.field_qualify_IpIdentifier_get.data,
  11704 			req->args.field_qualify_IpIdentifier_get.mask);
  11705 		break;
  11706 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPINIPPKT:
  11707 		rv = bcm_field_qualify_IpInIpPkt(
  11708 			req->args.field_qualify_IpInIpPkt.unit,
  11709 			req->args.field_qualify_IpInIpPkt.entry,
  11710 			req->args.field_qualify_IpInIpPkt.data,
  11711 			req->args.field_qualify_IpInIpPkt.mask);
  11712 		break;
  11713 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPINIPPKT_GET:
  11714 		rv = bcm_field_qualify_IpInIpPkt_get(
  11715 			req->args.field_qualify_IpInIpPkt_get.unit,
  11716 			req->args.field_qualify_IpInIpPkt_get.entry,
  11717 			req->args.field_qualify_IpInIpPkt_get.data,
  11718 			req->args.field_qualify_IpInIpPkt_get.mask);
  11719 		break;
  11720 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPINFO:
  11721 		rv = bcm_field_qualify_IpInfo(
  11722 			req->args.field_qualify_IpInfo.unit,
  11723 			req->args.field_qualify_IpInfo.entry,
  11724 			req->args.field_qualify_IpInfo.data,
  11725 			req->args.field_qualify_IpInfo.mask);
  11726 		break;
  11727 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPINFO_GET:
  11728 		rv = bcm_field_qualify_IpInfo_get(
  11729 			req->args.field_qualify_IpInfo_get.unit,
  11730 			req->args.field_qualify_IpInfo_get.entry,
  11731 			req->args.field_qualify_IpInfo_get.data,
  11732 			req->args.field_qualify_IpInfo_get.mask);
  11733 		break;
  11734 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMULTICASTCOMPATIBLE:
  11735 		rv = bcm_field_qualify_IpMulticastCompatible(
  11736 			req->args.field_qualify_IpMulticastCompatible.unit,
  11737 			req->args.field_qualify_IpMulticastCompatible.entry,
  11738 			req->args.field_qualify_IpMulticastCompatible.data,
  11739 			req->args.field_qualify_IpMulticastCompatible.mask);
  11740 		break;
  11741 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMULTICASTCOMPATIBLE_GET:
  11742 		rv = bcm_field_qualify_IpMulticastCompatible_get(
  11743 			req->args.field_qualify_IpMulticastCompatible_get.unit,
  11744 			req->args.field_qualify_IpMulticastCompatible_get.entry,
  11745 			req->args.field_qualify_IpMulticastCompatible_get.data,
  11746 			req->args.field_qualify_IpMulticastCompatible_get.mask);
  11747 		break;
  11748 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPPROTOCOL:
  11749 		rv = bcm_field_qualify_IpProtocol(
  11750 			req->args.field_qualify_IpProtocol.unit,
  11751 			req->args.field_qualify_IpProtocol.entry,
  11752 			req->args.field_qualify_IpProtocol.data,
  11753 			req->args.field_qualify_IpProtocol.mask);
  11754 		break;
  11755 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPPROTOCOLCLASS:
  11756 		rv = bcm_field_qualify_IpProtocolClass(
  11757 			req->args.field_qualify_IpProtocolClass.unit,
  11758 			req->args.field_qualify_IpProtocolClass.entry,
  11759 			req->args.field_qualify_IpProtocolClass.data,
  11760 			req->args.field_qualify_IpProtocolClass.mask);
  11761 		break;
  11762 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPPROTOCOLCLASS_GET:
  11763 		rv = bcm_field_qualify_IpProtocolClass_get(
  11764 			req->args.field_qualify_IpProtocolClass_get.unit,
  11765 			req->args.field_qualify_IpProtocolClass_get.entry,
  11766 			req->args.field_qualify_IpProtocolClass_get.data,
  11767 			req->args.field_qualify_IpProtocolClass_get.mask);
  11768 		break;
  11769 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPPROTOCOLCOMMON:
  11770 		rv = bcm_field_qualify_IpProtocolCommon(
  11771 			req->args.field_qualify_IpProtocolCommon.unit,
  11772 			req->args.field_qualify_IpProtocolCommon.entry,
  11773 			req->args.field_qualify_IpProtocolCommon.protocol);
  11774 		break;
  11775 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPPROTOCOLCOMMON_GET:
  11776 		rv = bcm_field_qualify_IpProtocolCommon_get(
  11777 			req->args.field_qualify_IpProtocolCommon_get.unit,
  11778 			req->args.field_qualify_IpProtocolCommon_get.entry,
  11779 			req->args.field_qualify_IpProtocolCommon_get.protocol);
  11780 		break;
  11781 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPPROTOCOL_GET:
  11782 		rv = bcm_field_qualify_IpProtocol_get(
  11783 			req->args.field_qualify_IpProtocol_get.unit,
  11784 			req->args.field_qualify_IpProtocol_get.entry,
  11785 			req->args.field_qualify_IpProtocol_get.data,
  11786 			req->args.field_qualify_IpProtocol_get.mask);
  11787 		break;
  11788 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTTLZEROPKT:
  11789 		rv = bcm_field_qualify_IpTtlZeroPkt(
  11790 			req->args.field_qualify_IpTtlZeroPkt.unit,
  11791 			req->args.field_qualify_IpTtlZeroPkt.entry,
  11792 			req->args.field_qualify_IpTtlZeroPkt.data,
  11793 			req->args.field_qualify_IpTtlZeroPkt.mask);
  11794 		break;
  11795 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTTLZEROPKT_GET:
  11796 		rv = bcm_field_qualify_IpTtlZeroPkt_get(
  11797 			req->args.field_qualify_IpTtlZeroPkt_get.unit,
  11798 			req->args.field_qualify_IpTtlZeroPkt_get.entry,
  11799 			req->args.field_qualify_IpTtlZeroPkt_get.data,
  11800 			req->args.field_qualify_IpTtlZeroPkt_get.mask);
  11801 		break;
  11802 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTUNNELHIT:
  11803 		rv = bcm_field_qualify_IpTunnelHit(
  11804 			req->args.field_qualify_IpTunnelHit.unit,
  11805 			req->args.field_qualify_IpTunnelHit.entry,
  11806 			req->args.field_qualify_IpTunnelHit.data,
  11807 			req->args.field_qualify_IpTunnelHit.mask);
  11808 		break;
  11809 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTUNNELHIT_GET:
  11810 		rv = bcm_field_qualify_IpTunnelHit_get(
  11811 			req->args.field_qualify_IpTunnelHit_get.unit,
  11812 			req->args.field_qualify_IpTunnelHit_get.entry,
  11813 			req->args.field_qualify_IpTunnelHit_get.data,
  11814 			req->args.field_qualify_IpTunnelHit_get.mask);
  11815 		break;
  11816 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTUNNELTTL:
  11817 		rv = bcm_field_qualify_IpTunnelTtl(
  11818 			req->args.field_qualify_IpTunnelTtl.unit,
  11819 			req->args.field_qualify_IpTunnelTtl.entry,
  11820 			req->args.field_qualify_IpTunnelTtl.data,
  11821 			req->args.field_qualify_IpTunnelTtl.mask);
  11822 		break;
  11823 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTUNNELTTLCLASSZERO:
  11824 		rv = bcm_field_qualify_IpTunnelTtlClassZero(
  11825 			req->args.field_qualify_IpTunnelTtlClassZero.unit,
  11826 			req->args.field_qualify_IpTunnelTtlClassZero.entry,
  11827 			req->args.field_qualify_IpTunnelTtlClassZero.data,
  11828 			req->args.field_qualify_IpTunnelTtlClassZero.mask);
  11829 		break;
  11830 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTUNNELTTLCLASSZERO_GET:
  11831 		rv = bcm_field_qualify_IpTunnelTtlClassZero_get(
  11832 			req->args.field_qualify_IpTunnelTtlClassZero_get.unit,
  11833 			req->args.field_qualify_IpTunnelTtlClassZero_get.entry,
  11834 			req->args.field_qualify_IpTunnelTtlClassZero_get.data,
  11835 			req->args.field_qualify_IpTunnelTtlClassZero_get.mask);
  11836 		break;
  11837 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTUNNELTTL_GET:
  11838 		rv = bcm_field_qualify_IpTunnelTtl_get(
  11839 			req->args.field_qualify_IpTunnelTtl_get.unit,
  11840 			req->args.field_qualify_IpTunnelTtl_get.entry,
  11841 			req->args.field_qualify_IpTunnelTtl_get.data,
  11842 			req->args.field_qualify_IpTunnelTtl_get.mask);
  11843 		break;
  11844 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTUNNELVALUE:
  11845 		rv = bcm_field_qualify_IpTunnelValue(
  11846 			req->args.field_qualify_IpTunnelValue.unit,
  11847 			req->args.field_qualify_IpTunnelValue.entry,
  11848 			req->args.field_qualify_IpTunnelValue.data,
  11849 			req->args.field_qualify_IpTunnelValue.mask);
  11850 		break;
  11851 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTUNNELVALUE_GET:
  11852 		rv = bcm_field_qualify_IpTunnelValue_get(
  11853 			req->args.field_qualify_IpTunnelValue_get.unit,
  11854 			req->args.field_qualify_IpTunnelValue_get.entry,
  11855 			req->args.field_qualify_IpTunnelValue_get.data,
  11856 			req->args.field_qualify_IpTunnelValue_get.mask);
  11857 		break;
  11858 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTYPE:
  11859 		rv = bcm_field_qualify_IpType(
  11860 			req->args.field_qualify_IpType.unit,
  11861 			req->args.field_qualify_IpType.entry,
  11862 			req->args.field_qualify_IpType.type);
  11863 		break;
  11864 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPTYPE_GET:
  11865 		rv = bcm_field_qualify_IpType_get(
  11866 			req->args.field_qualify_IpType_get.unit,
  11867 			req->args.field_qualify_IpType_get.entry,
  11868 			req->args.field_qualify_IpType_get.type);
  11869 		break;
  11870 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCHIT:
  11871 		rv = bcm_field_qualify_IpmcHit(
  11872 			req->args.field_qualify_IpmcHit.unit,
  11873 			req->args.field_qualify_IpmcHit.entry,
  11874 			req->args.field_qualify_IpmcHit.data,
  11875 			req->args.field_qualify_IpmcHit.mask);
  11876 		break;
  11877 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCHIT_GET:
  11878 		rv = bcm_field_qualify_IpmcHit_get(
  11879 			req->args.field_qualify_IpmcHit_get.unit,
  11880 			req->args.field_qualify_IpmcHit_get.entry,
  11881 			req->args.field_qualify_IpmcHit_get.data,
  11882 			req->args.field_qualify_IpmcHit_get.mask);
  11883 		break;
  11884 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCSTARGROUPHIT:
  11885 		rv = bcm_field_qualify_IpmcStarGroupHit(
  11886 			req->args.field_qualify_IpmcStarGroupHit.unit,
  11887 			req->args.field_qualify_IpmcStarGroupHit.entry,
  11888 			req->args.field_qualify_IpmcStarGroupHit.data,
  11889 			req->args.field_qualify_IpmcStarGroupHit.mask);
  11890 		break;
  11891 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCSTARGROUPHIT_GET:
  11892 		rv = bcm_field_qualify_IpmcStarGroupHit_get(
  11893 			req->args.field_qualify_IpmcStarGroupHit_get.unit,
  11894 			req->args.field_qualify_IpmcStarGroupHit_get.entry,
  11895 			req->args.field_qualify_IpmcStarGroupHit_get.data,
  11896 			req->args.field_qualify_IpmcStarGroupHit_get.mask);
  11897 		break;
  11898 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCSTARGROUPVALUE:
  11899 		rv = bcm_field_qualify_IpmcStarGroupValue(
  11900 			req->args.field_qualify_IpmcStarGroupValue.unit,
  11901 			req->args.field_qualify_IpmcStarGroupValue.entry,
  11902 			req->args.field_qualify_IpmcStarGroupValue.data,
  11903 			req->args.field_qualify_IpmcStarGroupValue.mask);
  11904 		break;
  11905 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCSTARGROUPVALUE_GET:
  11906 		rv = bcm_field_qualify_IpmcStarGroupValue_get(
  11907 			req->args.field_qualify_IpmcStarGroupValue_get.unit,
  11908 			req->args.field_qualify_IpmcStarGroupValue_get.entry,
  11909 			req->args.field_qualify_IpmcStarGroupValue_get.data,
  11910 			req->args.field_qualify_IpmcStarGroupValue_get.mask);
  11911 		break;
  11912 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCV4PKT:
  11913 		rv = bcm_field_qualify_IpmcV4Pkt(
  11914 			req->args.field_qualify_IpmcV4Pkt.unit,
  11915 			req->args.field_qualify_IpmcV4Pkt.entry,
  11916 			req->args.field_qualify_IpmcV4Pkt.data,
  11917 			req->args.field_qualify_IpmcV4Pkt.mask);
  11918 		break;
  11919 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCV4PKT_GET:
  11920 		rv = bcm_field_qualify_IpmcV4Pkt_get(
  11921 			req->args.field_qualify_IpmcV4Pkt_get.unit,
  11922 			req->args.field_qualify_IpmcV4Pkt_get.entry,
  11923 			req->args.field_qualify_IpmcV4Pkt_get.data,
  11924 			req->args.field_qualify_IpmcV4Pkt_get.mask);
  11925 		break;
  11926 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCV6PKT:
  11927 		rv = bcm_field_qualify_IpmcV6Pkt(
  11928 			req->args.field_qualify_IpmcV6Pkt.unit,
  11929 			req->args.field_qualify_IpmcV6Pkt.entry,
  11930 			req->args.field_qualify_IpmcV6Pkt.data,
  11931 			req->args.field_qualify_IpmcV6Pkt.mask);
  11932 		break;
  11933 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCV6PKT_GET:
  11934 		rv = bcm_field_qualify_IpmcV6Pkt_get(
  11935 			req->args.field_qualify_IpmcV6Pkt_get.unit,
  11936 			req->args.field_qualify_IpmcV6Pkt_get.entry,
  11937 			req->args.field_qualify_IpmcV6Pkt_get.data,
  11938 			req->args.field_qualify_IpmcV6Pkt_get.mask);
  11939 		break;
  11940 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCVALUE:
  11941 		rv = bcm_field_qualify_IpmcValue(
  11942 			req->args.field_qualify_IpmcValue.unit,
  11943 			req->args.field_qualify_IpmcValue.entry,
  11944 			req->args.field_qualify_IpmcValue.data,
  11945 			req->args.field_qualify_IpmcValue.mask);
  11946 		break;
  11947 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPMCVALUE_GET:
  11948 		rv = bcm_field_qualify_IpmcValue_get(
  11949 			req->args.field_qualify_IpmcValue_get.unit,
  11950 			req->args.field_qualify_IpmcValue_get.entry,
  11951 			req->args.field_qualify_IpmcValue_get.data,
  11952 			req->args.field_qualify_IpmcValue_get.mask);
  11953 		break;
  11954 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPV4OPTIONHDRTYPE:
  11955 		rv = bcm_field_qualify_Ipv4OptionHdrType(
  11956 			req->args.field_qualify_Ipv4OptionHdrType.unit,
  11957 			req->args.field_qualify_Ipv4OptionHdrType.entry,
  11958 			req->args.field_qualify_Ipv4OptionHdrType.type);
  11959 		break;
  11960 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPV4OPTIONHDRTYPE_GET:
  11961 		rv = bcm_field_qualify_Ipv4OptionHdrType_get(
  11962 			req->args.field_qualify_Ipv4OptionHdrType_get.unit,
  11963 			req->args.field_qualify_Ipv4OptionHdrType_get.entry,
  11964 			req->args.field_qualify_Ipv4OptionHdrType_get.type);
  11965 		break;
  11966 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPV6EXTENSIONHDRTYPE:
  11967 		rv = bcm_field_qualify_Ipv6ExtensionHdrType(
  11968 			req->args.field_qualify_Ipv6ExtensionHdrType.unit,
  11969 			req->args.field_qualify_Ipv6ExtensionHdrType.entry,
  11970 			req->args.field_qualify_Ipv6ExtensionHdrType.type);
  11971 		break;
  11972 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_IPV6EXTENSIONHDRTYPE_GET:
  11973 		rv = bcm_field_qualify_Ipv6ExtensionHdrType_get(
  11974 			req->args.field_qualify_Ipv6ExtensionHdrType_get.unit,
  11975 			req->args.field_qualify_Ipv6ExtensionHdrType_get.entry,
  11976 			req->args.field_qualify_Ipv6ExtensionHdrType_get.type);
  11977 		break;
  11978 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ISEQUALVALUE:
  11979 		rv = bcm_field_qualify_IsEqualValue(
  11980 			req->args.field_qualify_IsEqualValue.unit,
  11981 			req->args.field_qualify_IsEqualValue.entry,
  11982 			req->args.field_qualify_IsEqualValue.data,
  11983 			req->args.field_qualify_IsEqualValue.mask);
  11984 		break;
  11985 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ISEQUALVALUE_GET:
  11986 		rv = bcm_field_qualify_IsEqualValue_get(
  11987 			req->args.field_qualify_IsEqualValue_get.unit,
  11988 			req->args.field_qualify_IsEqualValue_get.entry,
  11989 			req->args.field_qualify_IsEqualValue_get.data,
  11990 			req->args.field_qualify_IsEqualValue_get.mask);
  11991 		break;
  11992 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_KEYGENVAR:
  11993 		rv = bcm_field_qualify_KeyGenVar(
  11994 			req->args.field_qualify_KeyGenVar.unit,
  11995 			req->args.field_qualify_KeyGenVar.entry,
  11996 			req->args.field_qualify_KeyGenVar.data,
  11997 			req->args.field_qualify_KeyGenVar.mask);
  11998 		break;
  11999 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2CACHEHIT:
  12000 		rv = bcm_field_qualify_L2CacheHit(
  12001 			req->args.field_qualify_L2CacheHit.unit,
  12002 			req->args.field_qualify_L2CacheHit.entry,
  12003 			req->args.field_qualify_L2CacheHit.data,
  12004 			req->args.field_qualify_L2CacheHit.mask);
  12005 		break;
  12006 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2CACHEHIT_GET:
  12007 		rv = bcm_field_qualify_L2CacheHit_get(
  12008 			req->args.field_qualify_L2CacheHit_get.unit,
  12009 			req->args.field_qualify_L2CacheHit_get.entry,
  12010 			req->args.field_qualify_L2CacheHit_get.data,
  12011 			req->args.field_qualify_L2CacheHit_get.mask);
  12012 		break;
  12013 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2DESTHIT:
  12014 		rv = bcm_field_qualify_L2DestHit(
  12015 			req->args.field_qualify_L2DestHit.unit,
  12016 			req->args.field_qualify_L2DestHit.entry,
  12017 			req->args.field_qualify_L2DestHit.data,
  12018 			req->args.field_qualify_L2DestHit.mask);
  12019 		break;
  12020 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2DESTHIT_GET:
  12021 		rv = bcm_field_qualify_L2DestHit_get(
  12022 			req->args.field_qualify_L2DestHit_get.unit,
  12023 			req->args.field_qualify_L2DestHit_get.entry,
  12024 			req->args.field_qualify_L2DestHit_get.data,
  12025 			req->args.field_qualify_L2DestHit_get.mask);
  12026 		break;
  12027 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2DESTSRNODETYPE:
  12028 		rv = bcm_field_qualify_L2DestSRNodeType(
  12029 			req->args.field_qualify_L2DestSRNodeType.unit,
  12030 			req->args.field_qualify_L2DestSRNodeType.entry,
  12031 			req->args.field_qualify_L2DestSRNodeType.type);
  12032 		break;
  12033 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2DESTSRNODETYPE_GET:
  12034 		rv = bcm_field_qualify_L2DestSRNodeType_get(
  12035 			req->args.field_qualify_L2DestSRNodeType_get.unit,
  12036 			req->args.field_qualify_L2DestSRNodeType_get.entry,
  12037 			req->args.field_qualify_L2DestSRNodeType_get.type);
  12038 		break;
  12039 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2DESTVALUE:
  12040 		rv = bcm_field_qualify_L2DestValue(
  12041 			req->args.field_qualify_L2DestValue.unit,
  12042 			req->args.field_qualify_L2DestValue.entry,
  12043 			req->args.field_qualify_L2DestValue.data,
  12044 			req->args.field_qualify_L2DestValue.mask);
  12045 		break;
  12046 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2DESTVALUE_GET:
  12047 		rv = bcm_field_qualify_L2DestValue_get(
  12048 			req->args.field_qualify_L2DestValue_get.unit,
  12049 			req->args.field_qualify_L2DestValue_get.entry,
  12050 			req->args.field_qualify_L2DestValue_get.data,
  12051 			req->args.field_qualify_L2DestValue_get.mask);
  12052 		break;
  12053 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2DSTMULTICASTHIT:
  12054 		rv = bcm_field_qualify_L2DstMulticastHit(
  12055 			req->args.field_qualify_L2DstMulticastHit.unit,
  12056 			req->args.field_qualify_L2DstMulticastHit.entry,
  12057 			req->args.field_qualify_L2DstMulticastHit.data,
  12058 			req->args.field_qualify_L2DstMulticastHit.mask);
  12059 		break;
  12060 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2DSTMULTICASTHIT_GET:
  12061 		rv = bcm_field_qualify_L2DstMulticastHit_get(
  12062 			req->args.field_qualify_L2DstMulticastHit_get.unit,
  12063 			req->args.field_qualify_L2DstMulticastHit_get.entry,
  12064 			req->args.field_qualify_L2DstMulticastHit_get.data,
  12065 			req->args.field_qualify_L2DstMulticastHit_get.mask);
  12066 		break;
  12067 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2FORMAT:
  12068 		rv = bcm_field_qualify_L2Format(
  12069 			req->args.field_qualify_L2Format.unit,
  12070 			req->args.field_qualify_L2Format.entry,
  12071 			req->args.field_qualify_L2Format.type);
  12072 		break;
  12073 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2FORMAT_GET:
  12074 		rv = bcm_field_qualify_L2Format_get(
  12075 			req->args.field_qualify_L2Format_get.unit,
  12076 			req->args.field_qualify_L2Format_get.entry,
  12077 			req->args.field_qualify_L2Format_get.type);
  12078 		break;
  12079 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GREFLOWID:
  12080 		rv = bcm_field_qualify_L2GreFlowId(
  12081 			req->args.field_qualify_L2GreFlowId.unit,
  12082 			req->args.field_qualify_L2GreFlowId.entry,
  12083 			req->args.field_qualify_L2GreFlowId.data,
  12084 			req->args.field_qualify_L2GreFlowId.mask);
  12085 		break;
  12086 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GREFLOWID_GET:
  12087 		rv = bcm_field_qualify_L2GreFlowId_get(
  12088 			req->args.field_qualify_L2GreFlowId_get.unit,
  12089 			req->args.field_qualify_L2GreFlowId_get.entry,
  12090 			req->args.field_qualify_L2GreFlowId_get.data,
  12091 			req->args.field_qualify_L2GreFlowId_get.mask);
  12092 		break;
  12093 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GREPROTOCOLTYPE:
  12094 		rv = bcm_field_qualify_L2GreProtocolType(
  12095 			req->args.field_qualify_L2GreProtocolType.unit,
  12096 			req->args.field_qualify_L2GreProtocolType.entry,
  12097 			req->args.field_qualify_L2GreProtocolType.data,
  12098 			req->args.field_qualify_L2GreProtocolType.mask);
  12099 		break;
  12100 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GREPROTOCOLTYPE_GET:
  12101 		rv = bcm_field_qualify_L2GreProtocolType_get(
  12102 			req->args.field_qualify_L2GreProtocolType_get.unit,
  12103 			req->args.field_qualify_L2GreProtocolType_get.entry,
  12104 			req->args.field_qualify_L2GreProtocolType_get.data,
  12105 			req->args.field_qualify_L2GreProtocolType_get.mask);
  12106 		break;
  12107 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GRESRCIPHIT:
  12108 		rv = bcm_field_qualify_L2GreSrcIpHit(
  12109 			req->args.field_qualify_L2GreSrcIpHit.unit,
  12110 			req->args.field_qualify_L2GreSrcIpHit.entry,
  12111 			req->args.field_qualify_L2GreSrcIpHit.data,
  12112 			req->args.field_qualify_L2GreSrcIpHit.mask);
  12113 		break;
  12114 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GRESRCIPHIT_GET:
  12115 		rv = bcm_field_qualify_L2GreSrcIpHit_get(
  12116 			req->args.field_qualify_L2GreSrcIpHit_get.unit,
  12117 			req->args.field_qualify_L2GreSrcIpHit_get.entry,
  12118 			req->args.field_qualify_L2GreSrcIpHit_get.data,
  12119 			req->args.field_qualify_L2GreSrcIpHit_get.mask);
  12120 		break;
  12121 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GREVFIHIT:
  12122 		rv = bcm_field_qualify_L2GreVfiHit(
  12123 			req->args.field_qualify_L2GreVfiHit.unit,
  12124 			req->args.field_qualify_L2GreVfiHit.entry,
  12125 			req->args.field_qualify_L2GreVfiHit.data,
  12126 			req->args.field_qualify_L2GreVfiHit.mask);
  12127 		break;
  12128 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GREVFIHIT_GET:
  12129 		rv = bcm_field_qualify_L2GreVfiHit_get(
  12130 			req->args.field_qualify_L2GreVfiHit_get.unit,
  12131 			req->args.field_qualify_L2GreVfiHit_get.entry,
  12132 			req->args.field_qualify_L2GreVfiHit_get.data,
  12133 			req->args.field_qualify_L2GreVfiHit_get.mask);
  12134 		break;
  12135 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GREVSID:
  12136 		rv = bcm_field_qualify_L2GreVsid(
  12137 			req->args.field_qualify_L2GreVsid.unit,
  12138 			req->args.field_qualify_L2GreVsid.entry,
  12139 			req->args.field_qualify_L2GreVsid.data,
  12140 			req->args.field_qualify_L2GreVsid.mask);
  12141 		break;
  12142 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2GREVSID_GET:
  12143 		rv = bcm_field_qualify_L2GreVsid_get(
  12144 			req->args.field_qualify_L2GreVsid_get.unit,
  12145 			req->args.field_qualify_L2GreVsid_get.entry,
  12146 			req->args.field_qualify_L2GreVsid_get.data,
  12147 			req->args.field_qualify_L2GreVsid_get.mask);
  12148 		break;
  12149 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2LEARN:
  12150 		rv = bcm_field_qualify_L2Learn(
  12151 			req->args.field_qualify_L2Learn.unit,
  12152 			req->args.field_qualify_L2Learn.entry,
  12153 			req->args.field_qualify_L2Learn.data,
  12154 			req->args.field_qualify_L2Learn.mask);
  12155 		break;
  12156 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2LEARN_GET:
  12157 		rv = bcm_field_qualify_L2Learn_get(
  12158 			req->args.field_qualify_L2Learn_get.unit,
  12159 			req->args.field_qualify_L2Learn_get.entry,
  12160 			req->args.field_qualify_L2Learn_get.data,
  12161 			req->args.field_qualify_L2Learn_get.mask);
  12162 		break;
  12163 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2PAYLOAD:
  12164 		rv = bcm_field_qualify_L2PayLoad(
  12165 			req->args.field_qualify_L2PayLoad.unit,
  12166 			req->args.field_qualify_L2PayLoad.entry,
  12167 			req->args.field_qualify_L2PayLoad.length,
  12168 			req->args.field_qualify_L2PayLoad.data,
  12169 			req->args.field_qualify_L2PayLoad.mask);
  12170 		break;
  12171 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2PAYLOAD_GET:
  12172 		rv = bcm_field_qualify_L2PayLoad_get(
  12173 			req->args.field_qualify_L2PayLoad_get.unit,
  12174 			req->args.field_qualify_L2PayLoad_get.entry,
  12175 			req->args.field_qualify_L2PayLoad_get.length,
  12176 			req->args.field_qualify_L2PayLoad_get.data,
  12177 			req->args.field_qualify_L2PayLoad_get.mask);
  12178 		break;
  12179 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2PAYLOADFIRSTEIGHTBYTES:
  12180 		rv = bcm_field_qualify_L2PayloadFirstEightBytes(
  12181 			req->args.field_qualify_L2PayloadFirstEightBytes.unit,
  12182 			req->args.field_qualify_L2PayloadFirstEightBytes.entry,
  12183 			req->args.field_qualify_L2PayloadFirstEightBytes.data1,
  12184 			req->args.field_qualify_L2PayloadFirstEightBytes.data2,
  12185 			req->args.field_qualify_L2PayloadFirstEightBytes.mask1,
  12186 			req->args.field_qualify_L2PayloadFirstEightBytes.mask2);
  12187 		break;
  12188 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2PAYLOADFIRSTEIGHTBYTES_GET:
  12189 		rv = bcm_field_qualify_L2PayloadFirstEightBytes_get(
  12190 			req->args.field_qualify_L2PayloadFirstEightBytes_get.unit,
  12191 			req->args.field_qualify_L2PayloadFirstEightBytes_get.entry,
  12192 			req->args.field_qualify_L2PayloadFirstEightBytes_get.data1,
  12193 			req->args.field_qualify_L2PayloadFirstEightBytes_get.data2,
  12194 			req->args.field_qualify_L2PayloadFirstEightBytes_get.mask1,
  12195 			req->args.field_qualify_L2PayloadFirstEightBytes_get.mask2);
  12196 		break;
  12197 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2PKTTYPE:
  12198 		rv = bcm_field_qualify_L2PktType(
  12199 			req->args.field_qualify_L2PktType.unit,
  12200 			req->args.field_qualify_L2PktType.entry,
  12201 			req->args.field_qualify_L2PktType.type);
  12202 		break;
  12203 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2PKTTYPE_GET:
  12204 		rv = bcm_field_qualify_L2PktType_get(
  12205 			req->args.field_qualify_L2PktType_get.unit,
  12206 			req->args.field_qualify_L2PktType_get.entry,
  12207 			req->args.field_qualify_L2PktType_get.type);
  12208 		break;
  12209 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2SRCHIT:
  12210 		rv = bcm_field_qualify_L2SrcHit(
  12211 			req->args.field_qualify_L2SrcHit.unit,
  12212 			req->args.field_qualify_L2SrcHit.entry,
  12213 			req->args.field_qualify_L2SrcHit.data,
  12214 			req->args.field_qualify_L2SrcHit.mask);
  12215 		break;
  12216 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2SRCHIT_GET:
  12217 		rv = bcm_field_qualify_L2SrcHit_get(
  12218 			req->args.field_qualify_L2SrcHit_get.unit,
  12219 			req->args.field_qualify_L2SrcHit_get.entry,
  12220 			req->args.field_qualify_L2SrcHit_get.data,
  12221 			req->args.field_qualify_L2SrcHit_get.mask);
  12222 		break;
  12223 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2SRCMULTICASTHIT:
  12224 		rv = bcm_field_qualify_L2SrcMulticastHit(
  12225 			req->args.field_qualify_L2SrcMulticastHit.unit,
  12226 			req->args.field_qualify_L2SrcMulticastHit.entry,
  12227 			req->args.field_qualify_L2SrcMulticastHit.data,
  12228 			req->args.field_qualify_L2SrcMulticastHit.mask);
  12229 		break;
  12230 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2SRCMULTICASTHIT_GET:
  12231 		rv = bcm_field_qualify_L2SrcMulticastHit_get(
  12232 			req->args.field_qualify_L2SrcMulticastHit_get.unit,
  12233 			req->args.field_qualify_L2SrcMulticastHit_get.entry,
  12234 			req->args.field_qualify_L2SrcMulticastHit_get.data,
  12235 			req->args.field_qualify_L2SrcMulticastHit_get.mask);
  12236 		break;
  12237 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2SRCSTATIC:
  12238 		rv = bcm_field_qualify_L2SrcStatic(
  12239 			req->args.field_qualify_L2SrcStatic.unit,
  12240 			req->args.field_qualify_L2SrcStatic.entry,
  12241 			req->args.field_qualify_L2SrcStatic.data,
  12242 			req->args.field_qualify_L2SrcStatic.mask);
  12243 		break;
  12244 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2SRCSTATIC_GET:
  12245 		rv = bcm_field_qualify_L2SrcStatic_get(
  12246 			req->args.field_qualify_L2SrcStatic_get.unit,
  12247 			req->args.field_qualify_L2SrcStatic_get.entry,
  12248 			req->args.field_qualify_L2SrcStatic_get.data,
  12249 			req->args.field_qualify_L2SrcStatic_get.mask);
  12250 		break;
  12251 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2SRCVALUE:
  12252 		rv = bcm_field_qualify_L2SrcValue(
  12253 			req->args.field_qualify_L2SrcValue.unit,
  12254 			req->args.field_qualify_L2SrcValue.entry,
  12255 			req->args.field_qualify_L2SrcValue.data,
  12256 			req->args.field_qualify_L2SrcValue.mask);
  12257 		break;
  12258 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2SRCVALUE_GET:
  12259 		rv = bcm_field_qualify_L2SrcValue_get(
  12260 			req->args.field_qualify_L2SrcValue_get.unit,
  12261 			req->args.field_qualify_L2SrcValue_get.entry,
  12262 			req->args.field_qualify_L2SrcValue_get.data,
  12263 			req->args.field_qualify_L2SrcValue_get.mask);
  12264 		break;
  12265 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2STATIONMOVE:
  12266 		rv = bcm_field_qualify_L2StationMove(
  12267 			req->args.field_qualify_L2StationMove.unit,
  12268 			req->args.field_qualify_L2StationMove.entry,
  12269 			req->args.field_qualify_L2StationMove.data,
  12270 			req->args.field_qualify_L2StationMove.mask);
  12271 		break;
  12272 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L2STATIONMOVE_GET:
  12273 		rv = bcm_field_qualify_L2StationMove_get(
  12274 			req->args.field_qualify_L2StationMove_get.unit,
  12275 			req->args.field_qualify_L2StationMove_get.entry,
  12276 			req->args.field_qualify_L2StationMove_get.data,
  12277 			req->args.field_qualify_L2StationMove_get.mask);
  12278 		break;
  12279 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3DESTHOSTHIT:
  12280 		rv = bcm_field_qualify_L3DestHostHit(
  12281 			req->args.field_qualify_L3DestHostHit.unit,
  12282 			req->args.field_qualify_L3DestHostHit.entry,
  12283 			req->args.field_qualify_L3DestHostHit.data,
  12284 			req->args.field_qualify_L3DestHostHit.mask);
  12285 		break;
  12286 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3DESTHOSTHIT_GET:
  12287 		rv = bcm_field_qualify_L3DestHostHit_get(
  12288 			req->args.field_qualify_L3DestHostHit_get.unit,
  12289 			req->args.field_qualify_L3DestHostHit_get.entry,
  12290 			req->args.field_qualify_L3DestHostHit_get.data,
  12291 			req->args.field_qualify_L3DestHostHit_get.mask);
  12292 		break;
  12293 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3DESTROUTEHIT:
  12294 		rv = bcm_field_qualify_L3DestRouteHit(
  12295 			req->args.field_qualify_L3DestRouteHit.unit,
  12296 			req->args.field_qualify_L3DestRouteHit.entry,
  12297 			req->args.field_qualify_L3DestRouteHit.data,
  12298 			req->args.field_qualify_L3DestRouteHit.mask);
  12299 		break;
  12300 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3DESTROUTEHIT_GET:
  12301 		rv = bcm_field_qualify_L3DestRouteHit_get(
  12302 			req->args.field_qualify_L3DestRouteHit_get.unit,
  12303 			req->args.field_qualify_L3DestRouteHit_get.entry,
  12304 			req->args.field_qualify_L3DestRouteHit_get.data,
  12305 			req->args.field_qualify_L3DestRouteHit_get.mask);
  12306 		break;
  12307 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3DESTROUTEVALUE:
  12308 		rv = bcm_field_qualify_L3DestRouteValue(
  12309 			req->args.field_qualify_L3DestRouteValue.unit,
  12310 			req->args.field_qualify_L3DestRouteValue.entry,
  12311 			req->args.field_qualify_L3DestRouteValue.data,
  12312 			req->args.field_qualify_L3DestRouteValue.mask);
  12313 		break;
  12314 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3DESTROUTEVALUE_GET:
  12315 		rv = bcm_field_qualify_L3DestRouteValue_get(
  12316 			req->args.field_qualify_L3DestRouteValue_get.unit,
  12317 			req->args.field_qualify_L3DestRouteValue_get.entry,
  12318 			req->args.field_qualify_L3DestRouteValue_get.data,
  12319 			req->args.field_qualify_L3DestRouteValue_get.mask);
  12320 		break;
  12321 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3INGRESS:
  12322 		rv = bcm_field_qualify_L3Ingress(
  12323 			req->args.field_qualify_L3Ingress.unit,
  12324 			req->args.field_qualify_L3Ingress.entry,
  12325 			req->args.field_qualify_L3Ingress.intf_id,
  12326 			req->args.field_qualify_L3Ingress.mask);
  12327 		break;
  12328 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3INGRESS_GET:
  12329 		rv = bcm_field_qualify_L3Ingress_get(
  12330 			req->args.field_qualify_L3Ingress_get.unit,
  12331 			req->args.field_qualify_L3Ingress_get.entry,
  12332 			req->args.field_qualify_L3Ingress_get.data,
  12333 			req->args.field_qualify_L3Ingress_get.mask);
  12334 		break;
  12335 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3ROUTABLE:
  12336 		rv = bcm_field_qualify_L3Routable(
  12337 			req->args.field_qualify_L3Routable.unit,
  12338 			req->args.field_qualify_L3Routable.entry,
  12339 			req->args.field_qualify_L3Routable.data,
  12340 			req->args.field_qualify_L3Routable.mask);
  12341 		break;
  12342 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3ROUTABLE_GET:
  12343 		rv = bcm_field_qualify_L3Routable_get(
  12344 			req->args.field_qualify_L3Routable_get.unit,
  12345 			req->args.field_qualify_L3Routable_get.entry,
  12346 			req->args.field_qualify_L3Routable_get.data,
  12347 			req->args.field_qualify_L3Routable_get.mask);
  12348 		break;
  12349 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3SRCBIND:
  12350 		rv = bcm_field_qualify_L3SrcBind(
  12351 			req->args.field_qualify_L3SrcBind.unit,
  12352 			req->args.field_qualify_L3SrcBind.entry,
  12353 			req->args.field_qualify_L3SrcBind.data,
  12354 			req->args.field_qualify_L3SrcBind.mask);
  12355 		break;
  12356 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3SRCBIND_GET:
  12357 		rv = bcm_field_qualify_L3SrcBind_get(
  12358 			req->args.field_qualify_L3SrcBind_get.unit,
  12359 			req->args.field_qualify_L3SrcBind_get.entry,
  12360 			req->args.field_qualify_L3SrcBind_get.data,
  12361 			req->args.field_qualify_L3SrcBind_get.mask);
  12362 		break;
  12363 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3SRCHOSTHIT:
  12364 		rv = bcm_field_qualify_L3SrcHostHit(
  12365 			req->args.field_qualify_L3SrcHostHit.unit,
  12366 			req->args.field_qualify_L3SrcHostHit.entry,
  12367 			req->args.field_qualify_L3SrcHostHit.data,
  12368 			req->args.field_qualify_L3SrcHostHit.mask);
  12369 		break;
  12370 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3SRCHOSTHIT_GET:
  12371 		rv = bcm_field_qualify_L3SrcHostHit_get(
  12372 			req->args.field_qualify_L3SrcHostHit_get.unit,
  12373 			req->args.field_qualify_L3SrcHostHit_get.entry,
  12374 			req->args.field_qualify_L3SrcHostHit_get.data,
  12375 			req->args.field_qualify_L3SrcHostHit_get.mask);
  12376 		break;
  12377 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3SRCROUTEHIT:
  12378 		rv = bcm_field_qualify_L3SrcRouteHit(
  12379 			req->args.field_qualify_L3SrcRouteHit.unit,
  12380 			req->args.field_qualify_L3SrcRouteHit.entry,
  12381 			req->args.field_qualify_L3SrcRouteHit.data,
  12382 			req->args.field_qualify_L3SrcRouteHit.mask);
  12383 		break;
  12384 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3SRCROUTEHIT_GET:
  12385 		rv = bcm_field_qualify_L3SrcRouteHit_get(
  12386 			req->args.field_qualify_L3SrcRouteHit_get.unit,
  12387 			req->args.field_qualify_L3SrcRouteHit_get.entry,
  12388 			req->args.field_qualify_L3SrcRouteHit_get.data,
  12389 			req->args.field_qualify_L3SrcRouteHit_get.mask);
  12390 		break;
  12391 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3SRCROUTEVALUE:
  12392 		rv = bcm_field_qualify_L3SrcRouteValue(
  12393 			req->args.field_qualify_L3SrcRouteValue.unit,
  12394 			req->args.field_qualify_L3SrcRouteValue.entry,
  12395 			req->args.field_qualify_L3SrcRouteValue.data,
  12396 			req->args.field_qualify_L3SrcRouteValue.mask);
  12397 		break;
  12398 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L3SRCROUTEVALUE_GET:
  12399 		rv = bcm_field_qualify_L3SrcRouteValue_get(
  12400 			req->args.field_qualify_L3SrcRouteValue_get.unit,
  12401 			req->args.field_qualify_L3SrcRouteValue_get.entry,
  12402 			req->args.field_qualify_L3SrcRouteValue_get.data,
  12403 			req->args.field_qualify_L3SrcRouteValue_get.mask);
  12404 		break;
  12405 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4DSTPORT:
  12406 		rv = bcm_field_qualify_L4DstPort(
  12407 			req->args.field_qualify_L4DstPort.unit,
  12408 			req->args.field_qualify_L4DstPort.entry,
  12409 			req->args.field_qualify_L4DstPort.data,
  12410 			req->args.field_qualify_L4DstPort.mask);
  12411 		break;
  12412 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4DSTPORTCLASS:
  12413 		rv = bcm_field_qualify_L4DstPortClass(
  12414 			req->args.field_qualify_L4DstPortClass.unit,
  12415 			req->args.field_qualify_L4DstPortClass.entry,
  12416 			req->args.field_qualify_L4DstPortClass.data,
  12417 			req->args.field_qualify_L4DstPortClass.mask);
  12418 		break;
  12419 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4DSTPORTCLASS_GET:
  12420 		rv = bcm_field_qualify_L4DstPortClass_get(
  12421 			req->args.field_qualify_L4DstPortClass_get.unit,
  12422 			req->args.field_qualify_L4DstPortClass_get.entry,
  12423 			req->args.field_qualify_L4DstPortClass_get.data,
  12424 			req->args.field_qualify_L4DstPortClass_get.mask);
  12425 		break;
  12426 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4DSTPORT_GET:
  12427 		rv = bcm_field_qualify_L4DstPort_get(
  12428 			req->args.field_qualify_L4DstPort_get.unit,
  12429 			req->args.field_qualify_L4DstPort_get.entry,
  12430 			req->args.field_qualify_L4DstPort_get.data,
  12431 			req->args.field_qualify_L4DstPort_get.mask);
  12432 		break;
  12433 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4PORTRANGECHECK:
  12434 		rv = bcm_field_qualify_L4PortRangeCheck(
  12435 			req->args.field_qualify_L4PortRangeCheck.unit,
  12436 			req->args.field_qualify_L4PortRangeCheck.entry,
  12437 			req->args.field_qualify_L4PortRangeCheck.range,
  12438 			req->args.field_qualify_L4PortRangeCheck.invert);
  12439 		break;
  12440 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4PORTRANGECHECK_GET:
  12441 		rv = bcm_field_qualify_L4PortRangeCheck_get(
  12442 			req->args.field_qualify_L4PortRangeCheck_get.unit,
  12443 			req->args.field_qualify_L4PortRangeCheck_get.entry,
  12444 			req->args.field_qualify_L4PortRangeCheck_get.max_count,
  12445 			req->args.field_qualify_L4PortRangeCheck_get.range,
  12446 			req->args.field_qualify_L4PortRangeCheck_get.invert,
  12447 			req->args.field_qualify_L4PortRangeCheck_get.count);
  12448 		break;
  12449 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4PORTS:
  12450 		rv = bcm_field_qualify_L4Ports(
  12451 			req->args.field_qualify_L4Ports.unit,
  12452 			req->args.field_qualify_L4Ports.entry,
  12453 			req->args.field_qualify_L4Ports.data,
  12454 			req->args.field_qualify_L4Ports.mask);
  12455 		break;
  12456 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4PORTS_GET:
  12457 		rv = bcm_field_qualify_L4Ports_get(
  12458 			req->args.field_qualify_L4Ports_get.unit,
  12459 			req->args.field_qualify_L4Ports_get.entry,
  12460 			req->args.field_qualify_L4Ports_get.data,
  12461 			req->args.field_qualify_L4Ports_get.mask);
  12462 		break;
  12463 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4SRCPORT:
  12464 		rv = bcm_field_qualify_L4SrcPort(
  12465 			req->args.field_qualify_L4SrcPort.unit,
  12466 			req->args.field_qualify_L4SrcPort.entry,
  12467 			req->args.field_qualify_L4SrcPort.data,
  12468 			req->args.field_qualify_L4SrcPort.mask);
  12469 		break;
  12470 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4SRCPORTCLASS:
  12471 		rv = bcm_field_qualify_L4SrcPortClass(
  12472 			req->args.field_qualify_L4SrcPortClass.unit,
  12473 			req->args.field_qualify_L4SrcPortClass.entry,
  12474 			req->args.field_qualify_L4SrcPortClass.data,
  12475 			req->args.field_qualify_L4SrcPortClass.mask);
  12476 		break;
  12477 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4SRCPORTCLASS_GET:
  12478 		rv = bcm_field_qualify_L4SrcPortClass_get(
  12479 			req->args.field_qualify_L4SrcPortClass_get.unit,
  12480 			req->args.field_qualify_L4SrcPortClass_get.entry,
  12481 			req->args.field_qualify_L4SrcPortClass_get.data,
  12482 			req->args.field_qualify_L4SrcPortClass_get.mask);
  12483 		break;
  12484 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_L4SRCPORT_GET:
  12485 		rv = bcm_field_qualify_L4SrcPort_get(
  12486 			req->args.field_qualify_L4SrcPort_get.unit,
  12487 			req->args.field_qualify_L4SrcPort_get.entry,
  12488 			req->args.field_qualify_L4SrcPort_get.data,
  12489 			req->args.field_qualify_L4SrcPort_get.mask);
  12490 		break;
  12491 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNEXTENSION:
  12492 		rv = bcm_field_qualify_LearnExtension(
  12493 			req->args.field_qualify_LearnExtension.unit,
  12494 			req->args.field_qualify_LearnExtension.entry,
  12495 			req->args.field_qualify_LearnExtension.data);
  12496 		break;
  12497 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNEXTENSION_GET:
  12498 		rv = bcm_field_qualify_LearnExtension_get(
  12499 			req->args.field_qualify_LearnExtension_get.unit,
  12500 			req->args.field_qualify_LearnExtension_get.entry,
  12501 			req->args.field_qualify_LearnExtension_get.data);
  12502 		break;
  12503 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNINVPORT:
  12504 		rv = bcm_field_qualify_LearnInVPort(
  12505 			req->args.field_qualify_LearnInVPort.unit,
  12506 			req->args.field_qualify_LearnInVPort.entry,
  12507 			req->args.field_qualify_LearnInVPort.data,
  12508 			req->args.field_qualify_LearnInVPort.mask);
  12509 		break;
  12510 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNINVPORT_GET:
  12511 		rv = bcm_field_qualify_LearnInVPort_get(
  12512 			req->args.field_qualify_LearnInVPort_get.unit,
  12513 			req->args.field_qualify_LearnInVPort_get.entry,
  12514 			req->args.field_qualify_LearnInVPort_get.data,
  12515 			req->args.field_qualify_LearnInVPort_get.mask);
  12516 		break;
  12517 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNSRCMAC:
  12518 		rv = bcm_field_qualify_LearnSrcMac(
  12519 			req->args.field_qualify_LearnSrcMac.unit,
  12520 			req->args.field_qualify_LearnSrcMac.entry,
  12521 			req->args.field_qualify_LearnSrcMac.data,
  12522 			req->args.field_qualify_LearnSrcMac.mask);
  12523 		break;
  12524 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNSRCMAC_GET:
  12525 		rv = bcm_field_qualify_LearnSrcMac_get(
  12526 			req->args.field_qualify_LearnSrcMac_get.unit,
  12527 			req->args.field_qualify_LearnSrcMac_get.entry,
  12528 			req->args.field_qualify_LearnSrcMac_get.data,
  12529 			req->args.field_qualify_LearnSrcMac_get.mask);
  12530 		break;
  12531 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNSRCPORT:
  12532 		rv = bcm_field_qualify_LearnSrcPort(
  12533 			req->args.field_qualify_LearnSrcPort.unit,
  12534 			req->args.field_qualify_LearnSrcPort.entry,
  12535 			req->args.field_qualify_LearnSrcPort.data);
  12536 		break;
  12537 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNSRCPORT_GET:
  12538 		rv = bcm_field_qualify_LearnSrcPort_get(
  12539 			req->args.field_qualify_LearnSrcPort_get.unit,
  12540 			req->args.field_qualify_LearnSrcPort_get.entry,
  12541 			req->args.field_qualify_LearnSrcPort_get.data);
  12542 		break;
  12543 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNVLAN:
  12544 		rv = bcm_field_qualify_LearnVlan(
  12545 			req->args.field_qualify_LearnVlan.unit,
  12546 			req->args.field_qualify_LearnVlan.entry,
  12547 			req->args.field_qualify_LearnVlan.data,
  12548 			req->args.field_qualify_LearnVlan.mask);
  12549 		break;
  12550 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LEARNVLAN_GET:
  12551 		rv = bcm_field_qualify_LearnVlan_get(
  12552 			req->args.field_qualify_LearnVlan_get.unit,
  12553 			req->args.field_qualify_LearnVlan_get.entry,
  12554 			req->args.field_qualify_LearnVlan_get.data,
  12555 			req->args.field_qualify_LearnVlan_get.mask);
  12556 		break;
  12557 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LLC:
  12558 		rv = bcm_field_qualify_Llc(
  12559 			req->args.field_qualify_Llc.unit,
  12560 			req->args.field_qualify_Llc.entry,
  12561 			req->args.field_qualify_Llc.data,
  12562 			req->args.field_qualify_Llc.mask);
  12563 		break;
  12564 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LLC_GET:
  12565 		rv = bcm_field_qualify_Llc_get(
  12566 			req->args.field_qualify_Llc_get.unit,
  12567 			req->args.field_qualify_Llc_get.entry,
  12568 			req->args.field_qualify_Llc_get.data,
  12569 			req->args.field_qualify_Llc_get.mask);
  12570 		break;
  12571 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LLIDVALUE:
  12572 		rv = bcm_field_qualify_LlidValue(
  12573 			req->args.field_qualify_LlidValue.unit,
  12574 			req->args.field_qualify_LlidValue.entry,
  12575 			req->args.field_qualify_LlidValue.data,
  12576 			req->args.field_qualify_LlidValue.mask);
  12577 		break;
  12578 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LLIDVALUE_GET:
  12579 		rv = bcm_field_qualify_LlidValue_get(
  12580 			req->args.field_qualify_LlidValue_get.unit,
  12581 			req->args.field_qualify_LlidValue_get.entry,
  12582 			req->args.field_qualify_LlidValue_get.data,
  12583 			req->args.field_qualify_LlidValue_get.mask);
  12584 		break;
  12585 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKCOLOR:
  12586 		rv = bcm_field_qualify_LoopBackColor(
  12587 			req->args.field_qualify_LoopBackColor.unit,
  12588 			req->args.field_qualify_LoopBackColor.entry,
  12589 			req->args.field_qualify_LoopBackColor.color);
  12590 		break;
  12591 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKCOLOR_GET:
  12592 		rv = bcm_field_qualify_LoopBackColor_get(
  12593 			req->args.field_qualify_LoopBackColor_get.unit,
  12594 			req->args.field_qualify_LoopBackColor_get.entry,
  12595 			req->args.field_qualify_LoopBackColor_get.color);
  12596 		break;
  12597 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKCPUMASQUERADEPKTPROFILE:
  12598 		rv = bcm_field_qualify_LoopBackCpuMasqueradePktProfile(
  12599 			req->args.field_qualify_LoopBackCpuMasqueradePktProfile.unit,
  12600 			req->args.field_qualify_LoopBackCpuMasqueradePktProfile.entry,
  12601 			req->args.field_qualify_LoopBackCpuMasqueradePktProfile.data,
  12602 			req->args.field_qualify_LoopBackCpuMasqueradePktProfile.mask);
  12603 		break;
  12604 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKCPUMASQUERADEPKTPROFILE_GET:
  12605 		rv = bcm_field_qualify_LoopBackCpuMasqueradePktProfile_get(
  12606 			req->args.field_qualify_LoopBackCpuMasqueradePktProfile_get.unit,
  12607 			req->args.field_qualify_LoopBackCpuMasqueradePktProfile_get.entry,
  12608 			req->args.field_qualify_LoopBackCpuMasqueradePktProfile_get.data,
  12609 			req->args.field_qualify_LoopBackCpuMasqueradePktProfile_get.mask);
  12610 		break;
  12611 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKPACKETPROCESSINGPORT:
  12612 		rv = bcm_field_qualify_LoopBackPacketProcessingPort(
  12613 			req->args.field_qualify_LoopBackPacketProcessingPort.unit,
  12614 			req->args.field_qualify_LoopBackPacketProcessingPort.entry,
  12615 			req->args.field_qualify_LoopBackPacketProcessingPort.port_id,
  12616 			req->args.field_qualify_LoopBackPacketProcessingPort.port_mask);
  12617 		break;
  12618 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKPACKETPROCESSINGPORT_GET:
  12619 		rv = bcm_field_qualify_LoopBackPacketProcessingPort_get(
  12620 			req->args.field_qualify_LoopBackPacketProcessingPort_get.unit,
  12621 			req->args.field_qualify_LoopBackPacketProcessingPort_get.entry,
  12622 			req->args.field_qualify_LoopBackPacketProcessingPort_get.port_id,
  12623 			req->args.field_qualify_LoopBackPacketProcessingPort_get.port_mask);
  12624 		break;
  12625 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKQUEUE:
  12626 		rv = bcm_field_qualify_LoopBackQueue(
  12627 			req->args.field_qualify_LoopBackQueue.unit,
  12628 			req->args.field_qualify_LoopBackQueue.entry,
  12629 			req->args.field_qualify_LoopBackQueue.data,
  12630 			req->args.field_qualify_LoopBackQueue.mask);
  12631 		break;
  12632 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKQUEUE_GET:
  12633 		rv = bcm_field_qualify_LoopBackQueue_get(
  12634 			req->args.field_qualify_LoopBackQueue_get.unit,
  12635 			req->args.field_qualify_LoopBackQueue_get.entry,
  12636 			req->args.field_qualify_LoopBackQueue_get.data,
  12637 			req->args.field_qualify_LoopBackQueue_get.mask);
  12638 		break;
  12639 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKSRCGPORT:
  12640 		rv = bcm_field_qualify_LoopBackSrcGport(
  12641 			req->args.field_qualify_LoopBackSrcGport.unit,
  12642 			req->args.field_qualify_LoopBackSrcGport.entry,
  12643 			req->args.field_qualify_LoopBackSrcGport.port_id,
  12644 			req->args.field_qualify_LoopBackSrcGport.port_mask);
  12645 		break;
  12646 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKSRCGPORT_GET:
  12647 		rv = bcm_field_qualify_LoopBackSrcGport_get(
  12648 			req->args.field_qualify_LoopBackSrcGport_get.unit,
  12649 			req->args.field_qualify_LoopBackSrcGport_get.entry,
  12650 			req->args.field_qualify_LoopBackSrcGport_get.port_id,
  12651 			req->args.field_qualify_LoopBackSrcGport_get.port_mask);
  12652 		break;
  12653 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKTRAFFICCLASS:
  12654 		rv = bcm_field_qualify_LoopBackTrafficClass(
  12655 			req->args.field_qualify_LoopBackTrafficClass.unit,
  12656 			req->args.field_qualify_LoopBackTrafficClass.entry,
  12657 			req->args.field_qualify_LoopBackTrafficClass.data,
  12658 			req->args.field_qualify_LoopBackTrafficClass.mask);
  12659 		break;
  12660 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKTRAFFICCLASS_GET:
  12661 		rv = bcm_field_qualify_LoopBackTrafficClass_get(
  12662 			req->args.field_qualify_LoopBackTrafficClass_get.unit,
  12663 			req->args.field_qualify_LoopBackTrafficClass_get.entry,
  12664 			req->args.field_qualify_LoopBackTrafficClass_get.data,
  12665 			req->args.field_qualify_LoopBackTrafficClass_get.mask);
  12666 		break;
  12667 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACK:
  12668 		rv = bcm_field_qualify_Loopback(
  12669 			req->args.field_qualify_Loopback.unit,
  12670 			req->args.field_qualify_Loopback.entry,
  12671 			req->args.field_qualify_Loopback.data,
  12672 			req->args.field_qualify_Loopback.mask);
  12673 		break;
  12674 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKSUBTYPE:
  12675 		rv = bcm_field_qualify_LoopbackSubtype(
  12676 			req->args.field_qualify_LoopbackSubtype.unit,
  12677 			req->args.field_qualify_LoopbackSubtype.entry,
  12678 			req->args.field_qualify_LoopbackSubtype.lb_subtype);
  12679 		break;
  12680 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKSUBTYPE_GET:
  12681 		rv = bcm_field_qualify_LoopbackSubtype_get(
  12682 			req->args.field_qualify_LoopbackSubtype_get.unit,
  12683 			req->args.field_qualify_LoopbackSubtype_get.entry,
  12684 			req->args.field_qualify_LoopbackSubtype_get.lb_subtype);
  12685 		break;
  12686 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKTYPE:
  12687 		rv = bcm_field_qualify_LoopbackType(
  12688 			req->args.field_qualify_LoopbackType.unit,
  12689 			req->args.field_qualify_LoopbackType.entry,
  12690 			req->args.field_qualify_LoopbackType.loopback_type);
  12691 		break;
  12692 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACKTYPE_GET:
  12693 		rv = bcm_field_qualify_LoopbackType_get(
  12694 			req->args.field_qualify_LoopbackType_get.unit,
  12695 			req->args.field_qualify_LoopbackType_get.entry,
  12696 			req->args.field_qualify_LoopbackType_get.loopback_type);
  12697 		break;
  12698 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_LOOPBACK_GET:
  12699 		rv = bcm_field_qualify_Loopback_get(
  12700 			req->args.field_qualify_Loopback_get.unit,
  12701 			req->args.field_qualify_Loopback_get.entry,
  12702 			req->args.field_qualify_Loopback_get.data,
  12703 			req->args.field_qualify_Loopback_get.mask);
  12704 		break;
  12705 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MHOPCODE:
  12706 		rv = bcm_field_qualify_MHOpcode(
  12707 			req->args.field_qualify_MHOpcode.unit,
  12708 			req->args.field_qualify_MHOpcode.entry,
  12709 			req->args.field_qualify_MHOpcode.data,
  12710 			req->args.field_qualify_MHOpcode.mask);
  12711 		break;
  12712 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MHOPCODE_GET:
  12713 		rv = bcm_field_qualify_MHOpcode_get(
  12714 			req->args.field_qualify_MHOpcode_get.unit,
  12715 			req->args.field_qualify_MHOpcode_get.entry,
  12716 			req->args.field_qualify_MHOpcode_get.data,
  12717 			req->args.field_qualify_MHOpcode_get.mask);
  12718 		break;
  12719 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACADDRSNORMALIZED:
  12720 		rv = bcm_field_qualify_MacAddrsNormalized(
  12721 			req->args.field_qualify_MacAddrsNormalized.unit,
  12722 			req->args.field_qualify_MacAddrsNormalized.entry,
  12723 			req->args.field_qualify_MacAddrsNormalized.data,
  12724 			req->args.field_qualify_MacAddrsNormalized.mask);
  12725 		break;
  12726 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACADDRSNORMALIZED_GET:
  12727 		rv = bcm_field_qualify_MacAddrsNormalized_get(
  12728 			req->args.field_qualify_MacAddrsNormalized_get.unit,
  12729 			req->args.field_qualify_MacAddrsNormalized_get.entry,
  12730 			req->args.field_qualify_MacAddrsNormalized_get.data,
  12731 			req->args.field_qualify_MacAddrsNormalized_get.mask);
  12732 		break;
  12733 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACSECDSTMACRANGEHIT:
  12734 		rv = bcm_field_qualify_MacSecDstMacRangeHit(
  12735 			req->args.field_qualify_MacSecDstMacRangeHit.unit,
  12736 			req->args.field_qualify_MacSecDstMacRangeHit.entry,
  12737 			req->args.field_qualify_MacSecDstMacRangeHit.data,
  12738 			req->args.field_qualify_MacSecDstMacRangeHit.mask);
  12739 		break;
  12740 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACSECDSTMACRANGEHIT_GET:
  12741 		rv = bcm_field_qualify_MacSecDstMacRangeHit_get(
  12742 			req->args.field_qualify_MacSecDstMacRangeHit_get.unit,
  12743 			req->args.field_qualify_MacSecDstMacRangeHit_get.entry,
  12744 			req->args.field_qualify_MacSecDstMacRangeHit_get.data,
  12745 			req->args.field_qualify_MacSecDstMacRangeHit_get.mask);
  12746 		break;
  12747 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACSECFLOW:
  12748 		rv = bcm_field_qualify_MacSecFlow(
  12749 			req->args.field_qualify_MacSecFlow.unit,
  12750 			req->args.field_qualify_MacSecFlow.entry,
  12751 			req->args.field_qualify_MacSecFlow.data);
  12752 		break;
  12753 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACSECFLOW_GET:
  12754 		rv = bcm_field_qualify_MacSecFlow_get(
  12755 			req->args.field_qualify_MacSecFlow_get.unit,
  12756 			req->args.field_qualify_MacSecFlow_get.entry,
  12757 			req->args.field_qualify_MacSecFlow_get.data);
  12758 		break;
  12759 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACSECTAG:
  12760 		rv = bcm_field_qualify_MacSecTag(
  12761 			req->args.field_qualify_MacSecTag.unit,
  12762 			req->args.field_qualify_MacSecTag.entry,
  12763 			req->args.field_qualify_MacSecTag.data,
  12764 			req->args.field_qualify_MacSecTag.mask);
  12765 		break;
  12766 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACSECTAGPRESENT:
  12767 		rv = bcm_field_qualify_MacSecTagPresent(
  12768 			req->args.field_qualify_MacSecTagPresent.unit,
  12769 			req->args.field_qualify_MacSecTagPresent.entry,
  12770 			req->args.field_qualify_MacSecTagPresent.data,
  12771 			req->args.field_qualify_MacSecTagPresent.mask);
  12772 		break;
  12773 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACSECTAGPRESENT_GET:
  12774 		rv = bcm_field_qualify_MacSecTagPresent_get(
  12775 			req->args.field_qualify_MacSecTagPresent_get.unit,
  12776 			req->args.field_qualify_MacSecTagPresent_get.entry,
  12777 			req->args.field_qualify_MacSecTagPresent_get.data,
  12778 			req->args.field_qualify_MacSecTagPresent_get.mask);
  12779 		break;
  12780 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MACSECTAG_GET:
  12781 		rv = bcm_field_qualify_MacSecTag_get(
  12782 			req->args.field_qualify_MacSecTag_get.unit,
  12783 			req->args.field_qualify_MacSecTag_get.entry,
  12784 			req->args.field_qualify_MacSecTag_get.data,
  12785 			req->args.field_qualify_MacSecTag_get.mask);
  12786 		break;
  12787 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMSRCGPORTHIT:
  12788 		rv = bcm_field_qualify_MimSrcGportHit(
  12789 			req->args.field_qualify_MimSrcGportHit.unit,
  12790 			req->args.field_qualify_MimSrcGportHit.entry,
  12791 			req->args.field_qualify_MimSrcGportHit.data,
  12792 			req->args.field_qualify_MimSrcGportHit.mask);
  12793 		break;
  12794 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMSRCGPORTHIT_GET:
  12795 		rv = bcm_field_qualify_MimSrcGportHit_get(
  12796 			req->args.field_qualify_MimSrcGportHit_get.unit,
  12797 			req->args.field_qualify_MimSrcGportHit_get.entry,
  12798 			req->args.field_qualify_MimSrcGportHit_get.data,
  12799 			req->args.field_qualify_MimSrcGportHit_get.mask);
  12800 		break;
  12801 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMVFIHIT:
  12802 		rv = bcm_field_qualify_MimVfiHit(
  12803 			req->args.field_qualify_MimVfiHit.unit,
  12804 			req->args.field_qualify_MimVfiHit.entry,
  12805 			req->args.field_qualify_MimVfiHit.data,
  12806 			req->args.field_qualify_MimVfiHit.mask);
  12807 		break;
  12808 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMVFIHIT_GET:
  12809 		rv = bcm_field_qualify_MimVfiHit_get(
  12810 			req->args.field_qualify_MimVfiHit_get.unit,
  12811 			req->args.field_qualify_MimVfiHit_get.entry,
  12812 			req->args.field_qualify_MimVfiHit_get.data,
  12813 			req->args.field_qualify_MimVfiHit_get.mask);
  12814 		break;
  12815 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMVLANCFI:
  12816 		rv = bcm_field_qualify_MimVlanCfi(
  12817 			req->args.field_qualify_MimVlanCfi.unit,
  12818 			req->args.field_qualify_MimVlanCfi.entry,
  12819 			req->args.field_qualify_MimVlanCfi.data,
  12820 			req->args.field_qualify_MimVlanCfi.mask);
  12821 		break;
  12822 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMVLANCFI_GET:
  12823 		rv = bcm_field_qualify_MimVlanCfi_get(
  12824 			req->args.field_qualify_MimVlanCfi_get.unit,
  12825 			req->args.field_qualify_MimVlanCfi_get.entry,
  12826 			req->args.field_qualify_MimVlanCfi_get.data,
  12827 			req->args.field_qualify_MimVlanCfi_get.mask);
  12828 		break;
  12829 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMVLANPRI:
  12830 		rv = bcm_field_qualify_MimVlanPri(
  12831 			req->args.field_qualify_MimVlanPri.unit,
  12832 			req->args.field_qualify_MimVlanPri.entry,
  12833 			req->args.field_qualify_MimVlanPri.data,
  12834 			req->args.field_qualify_MimVlanPri.mask);
  12835 		break;
  12836 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMVLANPRI_GET:
  12837 		rv = bcm_field_qualify_MimVlanPri_get(
  12838 			req->args.field_qualify_MimVlanPri_get.unit,
  12839 			req->args.field_qualify_MimVlanPri_get.entry,
  12840 			req->args.field_qualify_MimVlanPri_get.data,
  12841 			req->args.field_qualify_MimVlanPri_get.mask);
  12842 		break;
  12843 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLDSTMAC:
  12844 		rv = bcm_field_qualify_MimlDstMac(
  12845 			req->args.field_qualify_MimlDstMac.unit,
  12846 			req->args.field_qualify_MimlDstMac.entry,
  12847 			req->args.field_qualify_MimlDstMac.data,
  12848 			req->args.field_qualify_MimlDstMac.mask);
  12849 		break;
  12850 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLDSTMAC_GET:
  12851 		rv = bcm_field_qualify_MimlDstMac_get(
  12852 			req->args.field_qualify_MimlDstMac_get.unit,
  12853 			req->args.field_qualify_MimlDstMac_get.entry,
  12854 			req->args.field_qualify_MimlDstMac_get.data,
  12855 			req->args.field_qualify_MimlDstMac_get.mask);
  12856 		break;
  12857 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLINNERTAG:
  12858 		rv = bcm_field_qualify_MimlInnerTag(
  12859 			req->args.field_qualify_MimlInnerTag.unit,
  12860 			req->args.field_qualify_MimlInnerTag.entry,
  12861 			req->args.field_qualify_MimlInnerTag.data,
  12862 			req->args.field_qualify_MimlInnerTag.mask);
  12863 		break;
  12864 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLINNERTAG_GET:
  12865 		rv = bcm_field_qualify_MimlInnerTag_get(
  12866 			req->args.field_qualify_MimlInnerTag_get.unit,
  12867 			req->args.field_qualify_MimlInnerTag_get.entry,
  12868 			req->args.field_qualify_MimlInnerTag_get.data,
  12869 			req->args.field_qualify_MimlInnerTag_get.mask);
  12870 		break;
  12871 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLPKT:
  12872 		rv = bcm_field_qualify_MimlPkt(
  12873 			req->args.field_qualify_MimlPkt.unit,
  12874 			req->args.field_qualify_MimlPkt.entry,
  12875 			req->args.field_qualify_MimlPkt.data,
  12876 			req->args.field_qualify_MimlPkt.mask);
  12877 		break;
  12878 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLPKT_GET:
  12879 		rv = bcm_field_qualify_MimlPkt_get(
  12880 			req->args.field_qualify_MimlPkt_get.unit,
  12881 			req->args.field_qualify_MimlPkt_get.entry,
  12882 			req->args.field_qualify_MimlPkt_get.data,
  12883 			req->args.field_qualify_MimlPkt_get.mask);
  12884 		break;
  12885 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLSRCMAC:
  12886 		rv = bcm_field_qualify_MimlSrcMac(
  12887 			req->args.field_qualify_MimlSrcMac.unit,
  12888 			req->args.field_qualify_MimlSrcMac.entry,
  12889 			req->args.field_qualify_MimlSrcMac.data,
  12890 			req->args.field_qualify_MimlSrcMac.mask);
  12891 		break;
  12892 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLSRCMAC_GET:
  12893 		rv = bcm_field_qualify_MimlSrcMac_get(
  12894 			req->args.field_qualify_MimlSrcMac_get.unit,
  12895 			req->args.field_qualify_MimlSrcMac_get.entry,
  12896 			req->args.field_qualify_MimlSrcMac_get.data,
  12897 			req->args.field_qualify_MimlSrcMac_get.mask);
  12898 		break;
  12899 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLVLAN:
  12900 		rv = bcm_field_qualify_MimlVlan(
  12901 			req->args.field_qualify_MimlVlan.unit,
  12902 			req->args.field_qualify_MimlVlan.entry,
  12903 			req->args.field_qualify_MimlVlan.data,
  12904 			req->args.field_qualify_MimlVlan.mask);
  12905 		break;
  12906 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLVLANCFI:
  12907 		rv = bcm_field_qualify_MimlVlanCfi(
  12908 			req->args.field_qualify_MimlVlanCfi.unit,
  12909 			req->args.field_qualify_MimlVlanCfi.entry,
  12910 			req->args.field_qualify_MimlVlanCfi.data,
  12911 			req->args.field_qualify_MimlVlanCfi.mask);
  12912 		break;
  12913 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLVLANCFI_GET:
  12914 		rv = bcm_field_qualify_MimlVlanCfi_get(
  12915 			req->args.field_qualify_MimlVlanCfi_get.unit,
  12916 			req->args.field_qualify_MimlVlanCfi_get.entry,
  12917 			req->args.field_qualify_MimlVlanCfi_get.data,
  12918 			req->args.field_qualify_MimlVlanCfi_get.mask);
  12919 		break;
  12920 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLVLANID:
  12921 		rv = bcm_field_qualify_MimlVlanId(
  12922 			req->args.field_qualify_MimlVlanId.unit,
  12923 			req->args.field_qualify_MimlVlanId.entry,
  12924 			req->args.field_qualify_MimlVlanId.data,
  12925 			req->args.field_qualify_MimlVlanId.mask);
  12926 		break;
  12927 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLVLANID_GET:
  12928 		rv = bcm_field_qualify_MimlVlanId_get(
  12929 			req->args.field_qualify_MimlVlanId_get.unit,
  12930 			req->args.field_qualify_MimlVlanId_get.entry,
  12931 			req->args.field_qualify_MimlVlanId_get.data,
  12932 			req->args.field_qualify_MimlVlanId_get.mask);
  12933 		break;
  12934 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLVLANPRI:
  12935 		rv = bcm_field_qualify_MimlVlanPri(
  12936 			req->args.field_qualify_MimlVlanPri.unit,
  12937 			req->args.field_qualify_MimlVlanPri.entry,
  12938 			req->args.field_qualify_MimlVlanPri.data,
  12939 			req->args.field_qualify_MimlVlanPri.mask);
  12940 		break;
  12941 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLVLANPRI_GET:
  12942 		rv = bcm_field_qualify_MimlVlanPri_get(
  12943 			req->args.field_qualify_MimlVlanPri_get.unit,
  12944 			req->args.field_qualify_MimlVlanPri_get.entry,
  12945 			req->args.field_qualify_MimlVlanPri_get.data,
  12946 			req->args.field_qualify_MimlVlanPri_get.mask);
  12947 		break;
  12948 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIMLVLAN_GET:
  12949 		rv = bcm_field_qualify_MimlVlan_get(
  12950 			req->args.field_qualify_MimlVlan_get.unit,
  12951 			req->args.field_qualify_MimlVlan_get.entry,
  12952 			req->args.field_qualify_MimlVlan_get.data,
  12953 			req->args.field_qualify_MimlVlan_get.mask);
  12954 		break;
  12955 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIRRORCOPY:
  12956 		rv = bcm_field_qualify_MirrorCopy(
  12957 			req->args.field_qualify_MirrorCopy.unit,
  12958 			req->args.field_qualify_MirrorCopy.entry,
  12959 			req->args.field_qualify_MirrorCopy.data,
  12960 			req->args.field_qualify_MirrorCopy.mask);
  12961 		break;
  12962 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIRRORCOPY_GET:
  12963 		rv = bcm_field_qualify_MirrorCopy_get(
  12964 			req->args.field_qualify_MirrorCopy_get.unit,
  12965 			req->args.field_qualify_MirrorCopy_get.entry,
  12966 			req->args.field_qualify_MirrorCopy_get.data,
  12967 			req->args.field_qualify_MirrorCopy_get.mask);
  12968 		break;
  12969 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIRRORDEST:
  12970 		rv = bcm_field_qualify_MirrorDest(
  12971 			req->args.field_qualify_MirrorDest.unit,
  12972 			req->args.field_qualify_MirrorDest.entry,
  12973 			req->args.field_qualify_MirrorDest.mirror_gport);
  12974 		break;
  12975 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIRRORDEST_GET:
  12976 		rv = bcm_field_qualify_MirrorDest_get(
  12977 			req->args.field_qualify_MirrorDest_get.unit,
  12978 			req->args.field_qualify_MirrorDest_get.entry,
  12979 			req->args.field_qualify_MirrorDest_get.mirror_gport);
  12980 		break;
  12981 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIRROREGRESSDISABLED:
  12982 		rv = bcm_field_qualify_MirrorEgressDisabled(
  12983 			req->args.field_qualify_MirrorEgressDisabled.unit,
  12984 			req->args.field_qualify_MirrorEgressDisabled.entry,
  12985 			req->args.field_qualify_MirrorEgressDisabled.data,
  12986 			req->args.field_qualify_MirrorEgressDisabled.mask);
  12987 		break;
  12988 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIRROREGRESSDISABLED_GET:
  12989 		rv = bcm_field_qualify_MirrorEgressDisabled_get(
  12990 			req->args.field_qualify_MirrorEgressDisabled_get.unit,
  12991 			req->args.field_qualify_MirrorEgressDisabled_get.entry,
  12992 			req->args.field_qualify_MirrorEgressDisabled_get.data,
  12993 			req->args.field_qualify_MirrorEgressDisabled_get.mask);
  12994 		break;
  12995 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIXEDSRCCLASSID:
  12996 		rv = bcm_field_qualify_MixedSrcClassId(
  12997 			req->args.field_qualify_MixedSrcClassId.unit,
  12998 			req->args.field_qualify_MixedSrcClassId.entry,
  12999 			req->args.field_qualify_MixedSrcClassId.pbmp,
  13000 			req->args.field_qualify_MixedSrcClassId.data,
  13001 			req->args.field_qualify_MixedSrcClassId.mask);
  13002 		break;
  13003 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MIXEDSRCCLASSID_GET:
  13004 		rv = bcm_field_qualify_MixedSrcClassId_get(
  13005 			req->args.field_qualify_MixedSrcClassId_get.unit,
  13006 			req->args.field_qualify_MixedSrcClassId_get.entry,
  13007 			req->args.field_qualify_MixedSrcClassId_get.pbmp,
  13008 			req->args.field_qualify_MixedSrcClassId_get.data,
  13009 			req->args.field_qualify_MixedSrcClassId_get.mask);
  13010 		break;
  13011 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSBOS:
  13012 		rv = bcm_field_qualify_MplsBos(
  13013 			req->args.field_qualify_MplsBos.unit,
  13014 			req->args.field_qualify_MplsBos.entry,
  13015 			req->args.field_qualify_MplsBos.data,
  13016 			req->args.field_qualify_MplsBos.mask);
  13017 		break;
  13018 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSBOS_GET:
  13019 		rv = bcm_field_qualify_MplsBos_get(
  13020 			req->args.field_qualify_MplsBos_get.unit,
  13021 			req->args.field_qualify_MplsBos_get.entry,
  13022 			req->args.field_qualify_MplsBos_get.data,
  13023 			req->args.field_qualify_MplsBos_get.mask);
  13024 		break;
  13025 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSCONTROLPKT:
  13026 		rv = bcm_field_qualify_MplsControlPkt(
  13027 			req->args.field_qualify_MplsControlPkt.unit,
  13028 			req->args.field_qualify_MplsControlPkt.entry,
  13029 			req->args.field_qualify_MplsControlPkt.data,
  13030 			req->args.field_qualify_MplsControlPkt.mask);
  13031 		break;
  13032 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSCONTROLPKT_GET:
  13033 		rv = bcm_field_qualify_MplsControlPkt_get(
  13034 			req->args.field_qualify_MplsControlPkt_get.unit,
  13035 			req->args.field_qualify_MplsControlPkt_get.entry,
  13036 			req->args.field_qualify_MplsControlPkt_get.data,
  13037 			req->args.field_qualify_MplsControlPkt_get.mask);
  13038 		break;
  13039 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSCONTROLWORD:
  13040 		rv = bcm_field_qualify_MplsControlWord(
  13041 			req->args.field_qualify_MplsControlWord.unit,
  13042 			req->args.field_qualify_MplsControlWord.entry,
  13043 			req->args.field_qualify_MplsControlWord.data,
  13044 			req->args.field_qualify_MplsControlWord.mask);
  13045 		break;
  13046 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSCONTROLWORDVALID:
  13047 		rv = bcm_field_qualify_MplsControlWordValid(
  13048 			req->args.field_qualify_MplsControlWordValid.unit,
  13049 			req->args.field_qualify_MplsControlWordValid.entry,
  13050 			req->args.field_qualify_MplsControlWordValid.data,
  13051 			req->args.field_qualify_MplsControlWordValid.mask);
  13052 		break;
  13053 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSCONTROLWORDVALID_GET:
  13054 		rv = bcm_field_qualify_MplsControlWordValid_get(
  13055 			req->args.field_qualify_MplsControlWordValid_get.unit,
  13056 			req->args.field_qualify_MplsControlWordValid_get.entry,
  13057 			req->args.field_qualify_MplsControlWordValid_get.data,
  13058 			req->args.field_qualify_MplsControlWordValid_get.mask);
  13059 		break;
  13060 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSCONTROLWORD_GET:
  13061 		rv = bcm_field_qualify_MplsControlWord_get(
  13062 			req->args.field_qualify_MplsControlWord_get.unit,
  13063 			req->args.field_qualify_MplsControlWord_get.entry,
  13064 			req->args.field_qualify_MplsControlWord_get.data,
  13065 			req->args.field_qualify_MplsControlWord_get.mask);
  13066 		break;
  13067 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSCWPRESENT:
  13068 		rv = bcm_field_qualify_MplsCwPresent(
  13069 			req->args.field_qualify_MplsCwPresent.unit,
  13070 			req->args.field_qualify_MplsCwPresent.entry,
  13071 			req->args.field_qualify_MplsCwPresent.data,
  13072 			req->args.field_qualify_MplsCwPresent.mask);
  13073 		break;
  13074 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSCWPRESENT_GET:
  13075 		rv = bcm_field_qualify_MplsCwPresent_get(
  13076 			req->args.field_qualify_MplsCwPresent_get.unit,
  13077 			req->args.field_qualify_MplsCwPresent_get.entry,
  13078 			req->args.field_qualify_MplsCwPresent_get.data,
  13079 			req->args.field_qualify_MplsCwPresent_get.mask);
  13080 		break;
  13081 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABEL:
  13082 		rv = bcm_field_qualify_MplsForwardingLabel(
  13083 			req->args.field_qualify_MplsForwardingLabel.unit,
  13084 			req->args.field_qualify_MplsForwardingLabel.entry,
  13085 			req->args.field_qualify_MplsForwardingLabel.data,
  13086 			req->args.field_qualify_MplsForwardingLabel.mask);
  13087 		break;
  13088 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELACTION:
  13089 		rv = bcm_field_qualify_MplsForwardingLabelAction(
  13090 			req->args.field_qualify_MplsForwardingLabelAction.unit,
  13091 			req->args.field_qualify_MplsForwardingLabelAction.entry,
  13092 			req->args.field_qualify_MplsForwardingLabelAction.data,
  13093 			req->args.field_qualify_MplsForwardingLabelAction.mask);
  13094 		break;
  13095 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELACTION32:
  13096 		rv = bcm_field_qualify_MplsForwardingLabelAction32(
  13097 			req->args.field_qualify_MplsForwardingLabelAction32.unit,
  13098 			req->args.field_qualify_MplsForwardingLabelAction32.entry,
  13099 			req->args.field_qualify_MplsForwardingLabelAction32.data,
  13100 			req->args.field_qualify_MplsForwardingLabelAction32.mask);
  13101 		break;
  13102 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELACTION32_GET:
  13103 		rv = bcm_field_qualify_MplsForwardingLabelAction32_get(
  13104 			req->args.field_qualify_MplsForwardingLabelAction32_get.unit,
  13105 			req->args.field_qualify_MplsForwardingLabelAction32_get.entry,
  13106 			req->args.field_qualify_MplsForwardingLabelAction32_get.data,
  13107 			req->args.field_qualify_MplsForwardingLabelAction32_get.mask);
  13108 		break;
  13109 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELACTION_GET:
  13110 		rv = bcm_field_qualify_MplsForwardingLabelAction_get(
  13111 			req->args.field_qualify_MplsForwardingLabelAction_get.unit,
  13112 			req->args.field_qualify_MplsForwardingLabelAction_get.entry,
  13113 			req->args.field_qualify_MplsForwardingLabelAction_get.data,
  13114 			req->args.field_qualify_MplsForwardingLabelAction_get.mask);
  13115 		break;
  13116 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELBOS:
  13117 		rv = bcm_field_qualify_MplsForwardingLabelBos(
  13118 			req->args.field_qualify_MplsForwardingLabelBos.unit,
  13119 			req->args.field_qualify_MplsForwardingLabelBos.entry,
  13120 			req->args.field_qualify_MplsForwardingLabelBos.data,
  13121 			req->args.field_qualify_MplsForwardingLabelBos.mask);
  13122 		break;
  13123 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELBOS_GET:
  13124 		rv = bcm_field_qualify_MplsForwardingLabelBos_get(
  13125 			req->args.field_qualify_MplsForwardingLabelBos_get.unit,
  13126 			req->args.field_qualify_MplsForwardingLabelBos_get.entry,
  13127 			req->args.field_qualify_MplsForwardingLabelBos_get.data,
  13128 			req->args.field_qualify_MplsForwardingLabelBos_get.mask);
  13129 		break;
  13130 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELEXP:
  13131 		rv = bcm_field_qualify_MplsForwardingLabelExp(
  13132 			req->args.field_qualify_MplsForwardingLabelExp.unit,
  13133 			req->args.field_qualify_MplsForwardingLabelExp.entry,
  13134 			req->args.field_qualify_MplsForwardingLabelExp.data,
  13135 			req->args.field_qualify_MplsForwardingLabelExp.mask);
  13136 		break;
  13137 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELEXP_GET:
  13138 		rv = bcm_field_qualify_MplsForwardingLabelExp_get(
  13139 			req->args.field_qualify_MplsForwardingLabelExp_get.unit,
  13140 			req->args.field_qualify_MplsForwardingLabelExp_get.entry,
  13141 			req->args.field_qualify_MplsForwardingLabelExp_get.data,
  13142 			req->args.field_qualify_MplsForwardingLabelExp_get.mask);
  13143 		break;
  13144 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELID:
  13145 		rv = bcm_field_qualify_MplsForwardingLabelId(
  13146 			req->args.field_qualify_MplsForwardingLabelId.unit,
  13147 			req->args.field_qualify_MplsForwardingLabelId.entry,
  13148 			req->args.field_qualify_MplsForwardingLabelId.data,
  13149 			req->args.field_qualify_MplsForwardingLabelId.mask);
  13150 		break;
  13151 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELID_GET:
  13152 		rv = bcm_field_qualify_MplsForwardingLabelId_get(
  13153 			req->args.field_qualify_MplsForwardingLabelId_get.unit,
  13154 			req->args.field_qualify_MplsForwardingLabelId_get.entry,
  13155 			req->args.field_qualify_MplsForwardingLabelId_get.data,
  13156 			req->args.field_qualify_MplsForwardingLabelId_get.mask);
  13157 		break;
  13158 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELPAYLOAD:
  13159 		rv = bcm_field_qualify_MplsForwardingLabelPayload(
  13160 			req->args.field_qualify_MplsForwardingLabelPayload.unit,
  13161 			req->args.field_qualify_MplsForwardingLabelPayload.entry,
  13162 			req->args.field_qualify_MplsForwardingLabelPayload.data,
  13163 			req->args.field_qualify_MplsForwardingLabelPayload.mask);
  13164 		break;
  13165 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELPAYLOAD_GET:
  13166 		rv = bcm_field_qualify_MplsForwardingLabelPayload_get(
  13167 			req->args.field_qualify_MplsForwardingLabelPayload_get.unit,
  13168 			req->args.field_qualify_MplsForwardingLabelPayload_get.entry,
  13169 			req->args.field_qualify_MplsForwardingLabelPayload_get.data,
  13170 			req->args.field_qualify_MplsForwardingLabelPayload_get.mask);
  13171 		break;
  13172 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELTTL:
  13173 		rv = bcm_field_qualify_MplsForwardingLabelTtl(
  13174 			req->args.field_qualify_MplsForwardingLabelTtl.unit,
  13175 			req->args.field_qualify_MplsForwardingLabelTtl.entry,
  13176 			req->args.field_qualify_MplsForwardingLabelTtl.data,
  13177 			req->args.field_qualify_MplsForwardingLabelTtl.mask);
  13178 		break;
  13179 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABELTTL_GET:
  13180 		rv = bcm_field_qualify_MplsForwardingLabelTtl_get(
  13181 			req->args.field_qualify_MplsForwardingLabelTtl_get.unit,
  13182 			req->args.field_qualify_MplsForwardingLabelTtl_get.entry,
  13183 			req->args.field_qualify_MplsForwardingLabelTtl_get.data,
  13184 			req->args.field_qualify_MplsForwardingLabelTtl_get.mask);
  13185 		break;
  13186 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSFORWARDINGLABEL_GET:
  13187 		rv = bcm_field_qualify_MplsForwardingLabel_get(
  13188 			req->args.field_qualify_MplsForwardingLabel_get.unit,
  13189 			req->args.field_qualify_MplsForwardingLabel_get.entry,
  13190 			req->args.field_qualify_MplsForwardingLabel_get.data,
  13191 			req->args.field_qualify_MplsForwardingLabel_get.mask);
  13192 		break;
  13193 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1:
  13194 		rv = bcm_field_qualify_MplsLabel1(
  13195 			req->args.field_qualify_MplsLabel1.unit,
  13196 			req->args.field_qualify_MplsLabel1.entry,
  13197 			req->args.field_qualify_MplsLabel1.data,
  13198 			req->args.field_qualify_MplsLabel1.mask);
  13199 		break;
  13200 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1BOS:
  13201 		rv = bcm_field_qualify_MplsLabel1Bos(
  13202 			req->args.field_qualify_MplsLabel1Bos.unit,
  13203 			req->args.field_qualify_MplsLabel1Bos.entry,
  13204 			req->args.field_qualify_MplsLabel1Bos.data,
  13205 			req->args.field_qualify_MplsLabel1Bos.mask);
  13206 		break;
  13207 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1BOS_GET:
  13208 		rv = bcm_field_qualify_MplsLabel1Bos_get(
  13209 			req->args.field_qualify_MplsLabel1Bos_get.unit,
  13210 			req->args.field_qualify_MplsLabel1Bos_get.entry,
  13211 			req->args.field_qualify_MplsLabel1Bos_get.data,
  13212 			req->args.field_qualify_MplsLabel1Bos_get.mask);
  13213 		break;
  13214 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1EXP:
  13215 		rv = bcm_field_qualify_MplsLabel1Exp(
  13216 			req->args.field_qualify_MplsLabel1Exp.unit,
  13217 			req->args.field_qualify_MplsLabel1Exp.entry,
  13218 			req->args.field_qualify_MplsLabel1Exp.data,
  13219 			req->args.field_qualify_MplsLabel1Exp.mask);
  13220 		break;
  13221 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1EXP_GET:
  13222 		rv = bcm_field_qualify_MplsLabel1Exp_get(
  13223 			req->args.field_qualify_MplsLabel1Exp_get.unit,
  13224 			req->args.field_qualify_MplsLabel1Exp_get.entry,
  13225 			req->args.field_qualify_MplsLabel1Exp_get.data,
  13226 			req->args.field_qualify_MplsLabel1Exp_get.mask);
  13227 		break;
  13228 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1HIT:
  13229 		rv = bcm_field_qualify_MplsLabel1Hit(
  13230 			req->args.field_qualify_MplsLabel1Hit.unit,
  13231 			req->args.field_qualify_MplsLabel1Hit.entry,
  13232 			req->args.field_qualify_MplsLabel1Hit.data,
  13233 			req->args.field_qualify_MplsLabel1Hit.mask);
  13234 		break;
  13235 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1HIT_GET:
  13236 		rv = bcm_field_qualify_MplsLabel1Hit_get(
  13237 			req->args.field_qualify_MplsLabel1Hit_get.unit,
  13238 			req->args.field_qualify_MplsLabel1Hit_get.entry,
  13239 			req->args.field_qualify_MplsLabel1Hit_get.data,
  13240 			req->args.field_qualify_MplsLabel1Hit_get.mask);
  13241 		break;
  13242 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1ID:
  13243 		rv = bcm_field_qualify_MplsLabel1Id(
  13244 			req->args.field_qualify_MplsLabel1Id.unit,
  13245 			req->args.field_qualify_MplsLabel1Id.entry,
  13246 			req->args.field_qualify_MplsLabel1Id.data,
  13247 			req->args.field_qualify_MplsLabel1Id.mask);
  13248 		break;
  13249 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1ID_GET:
  13250 		rv = bcm_field_qualify_MplsLabel1Id_get(
  13251 			req->args.field_qualify_MplsLabel1Id_get.unit,
  13252 			req->args.field_qualify_MplsLabel1Id_get.entry,
  13253 			req->args.field_qualify_MplsLabel1Id_get.data,
  13254 			req->args.field_qualify_MplsLabel1Id_get.mask);
  13255 		break;
  13256 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1TTL:
  13257 		rv = bcm_field_qualify_MplsLabel1Ttl(
  13258 			req->args.field_qualify_MplsLabel1Ttl.unit,
  13259 			req->args.field_qualify_MplsLabel1Ttl.entry,
  13260 			req->args.field_qualify_MplsLabel1Ttl.data,
  13261 			req->args.field_qualify_MplsLabel1Ttl.mask);
  13262 		break;
  13263 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1TTL_GET:
  13264 		rv = bcm_field_qualify_MplsLabel1Ttl_get(
  13265 			req->args.field_qualify_MplsLabel1Ttl_get.unit,
  13266 			req->args.field_qualify_MplsLabel1Ttl_get.entry,
  13267 			req->args.field_qualify_MplsLabel1Ttl_get.data,
  13268 			req->args.field_qualify_MplsLabel1Ttl_get.mask);
  13269 		break;
  13270 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL1_GET:
  13271 		rv = bcm_field_qualify_MplsLabel1_get(
  13272 			req->args.field_qualify_MplsLabel1_get.unit,
  13273 			req->args.field_qualify_MplsLabel1_get.entry,
  13274 			req->args.field_qualify_MplsLabel1_get.data,
  13275 			req->args.field_qualify_MplsLabel1_get.mask);
  13276 		break;
  13277 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2:
  13278 		rv = bcm_field_qualify_MplsLabel2(
  13279 			req->args.field_qualify_MplsLabel2.unit,
  13280 			req->args.field_qualify_MplsLabel2.entry,
  13281 			req->args.field_qualify_MplsLabel2.data,
  13282 			req->args.field_qualify_MplsLabel2.mask);
  13283 		break;
  13284 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2BOS:
  13285 		rv = bcm_field_qualify_MplsLabel2Bos(
  13286 			req->args.field_qualify_MplsLabel2Bos.unit,
  13287 			req->args.field_qualify_MplsLabel2Bos.entry,
  13288 			req->args.field_qualify_MplsLabel2Bos.data,
  13289 			req->args.field_qualify_MplsLabel2Bos.mask);
  13290 		break;
  13291 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2BOS_GET:
  13292 		rv = bcm_field_qualify_MplsLabel2Bos_get(
  13293 			req->args.field_qualify_MplsLabel2Bos_get.unit,
  13294 			req->args.field_qualify_MplsLabel2Bos_get.entry,
  13295 			req->args.field_qualify_MplsLabel2Bos_get.data,
  13296 			req->args.field_qualify_MplsLabel2Bos_get.mask);
  13297 		break;
  13298 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2EXP:
  13299 		rv = bcm_field_qualify_MplsLabel2Exp(
  13300 			req->args.field_qualify_MplsLabel2Exp.unit,
  13301 			req->args.field_qualify_MplsLabel2Exp.entry,
  13302 			req->args.field_qualify_MplsLabel2Exp.data,
  13303 			req->args.field_qualify_MplsLabel2Exp.mask);
  13304 		break;
  13305 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2EXP_GET:
  13306 		rv = bcm_field_qualify_MplsLabel2Exp_get(
  13307 			req->args.field_qualify_MplsLabel2Exp_get.unit,
  13308 			req->args.field_qualify_MplsLabel2Exp_get.entry,
  13309 			req->args.field_qualify_MplsLabel2Exp_get.data,
  13310 			req->args.field_qualify_MplsLabel2Exp_get.mask);
  13311 		break;
  13312 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2HIT:
  13313 		rv = bcm_field_qualify_MplsLabel2Hit(
  13314 			req->args.field_qualify_MplsLabel2Hit.unit,
  13315 			req->args.field_qualify_MplsLabel2Hit.entry,
  13316 			req->args.field_qualify_MplsLabel2Hit.data,
  13317 			req->args.field_qualify_MplsLabel2Hit.mask);
  13318 		break;
  13319 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2HIT_GET:
  13320 		rv = bcm_field_qualify_MplsLabel2Hit_get(
  13321 			req->args.field_qualify_MplsLabel2Hit_get.unit,
  13322 			req->args.field_qualify_MplsLabel2Hit_get.entry,
  13323 			req->args.field_qualify_MplsLabel2Hit_get.data,
  13324 			req->args.field_qualify_MplsLabel2Hit_get.mask);
  13325 		break;
  13326 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2ID:
  13327 		rv = bcm_field_qualify_MplsLabel2Id(
  13328 			req->args.field_qualify_MplsLabel2Id.unit,
  13329 			req->args.field_qualify_MplsLabel2Id.entry,
  13330 			req->args.field_qualify_MplsLabel2Id.data,
  13331 			req->args.field_qualify_MplsLabel2Id.mask);
  13332 		break;
  13333 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2ID_GET:
  13334 		rv = bcm_field_qualify_MplsLabel2Id_get(
  13335 			req->args.field_qualify_MplsLabel2Id_get.unit,
  13336 			req->args.field_qualify_MplsLabel2Id_get.entry,
  13337 			req->args.field_qualify_MplsLabel2Id_get.data,
  13338 			req->args.field_qualify_MplsLabel2Id_get.mask);
  13339 		break;
  13340 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2TTL:
  13341 		rv = bcm_field_qualify_MplsLabel2Ttl(
  13342 			req->args.field_qualify_MplsLabel2Ttl.unit,
  13343 			req->args.field_qualify_MplsLabel2Ttl.entry,
  13344 			req->args.field_qualify_MplsLabel2Ttl.data,
  13345 			req->args.field_qualify_MplsLabel2Ttl.mask);
  13346 		break;
  13347 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2TTL_GET:
  13348 		rv = bcm_field_qualify_MplsLabel2Ttl_get(
  13349 			req->args.field_qualify_MplsLabel2Ttl_get.unit,
  13350 			req->args.field_qualify_MplsLabel2Ttl_get.entry,
  13351 			req->args.field_qualify_MplsLabel2Ttl_get.data,
  13352 			req->args.field_qualify_MplsLabel2Ttl_get.mask);
  13353 		break;
  13354 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL2_GET:
  13355 		rv = bcm_field_qualify_MplsLabel2_get(
  13356 			req->args.field_qualify_MplsLabel2_get.unit,
  13357 			req->args.field_qualify_MplsLabel2_get.entry,
  13358 			req->args.field_qualify_MplsLabel2_get.data,
  13359 			req->args.field_qualify_MplsLabel2_get.mask);
  13360 		break;
  13361 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3:
  13362 		rv = bcm_field_qualify_MplsLabel3(
  13363 			req->args.field_qualify_MplsLabel3.unit,
  13364 			req->args.field_qualify_MplsLabel3.entry,
  13365 			req->args.field_qualify_MplsLabel3.data,
  13366 			req->args.field_qualify_MplsLabel3.mask);
  13367 		break;
  13368 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3BOS:
  13369 		rv = bcm_field_qualify_MplsLabel3Bos(
  13370 			req->args.field_qualify_MplsLabel3Bos.unit,
  13371 			req->args.field_qualify_MplsLabel3Bos.entry,
  13372 			req->args.field_qualify_MplsLabel3Bos.data,
  13373 			req->args.field_qualify_MplsLabel3Bos.mask);
  13374 		break;
  13375 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3BOS_GET:
  13376 		rv = bcm_field_qualify_MplsLabel3Bos_get(
  13377 			req->args.field_qualify_MplsLabel3Bos_get.unit,
  13378 			req->args.field_qualify_MplsLabel3Bos_get.entry,
  13379 			req->args.field_qualify_MplsLabel3Bos_get.data,
  13380 			req->args.field_qualify_MplsLabel3Bos_get.mask);
  13381 		break;
  13382 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3EXP:
  13383 		rv = bcm_field_qualify_MplsLabel3Exp(
  13384 			req->args.field_qualify_MplsLabel3Exp.unit,
  13385 			req->args.field_qualify_MplsLabel3Exp.entry,
  13386 			req->args.field_qualify_MplsLabel3Exp.data,
  13387 			req->args.field_qualify_MplsLabel3Exp.mask);
  13388 		break;
  13389 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3EXP_GET:
  13390 		rv = bcm_field_qualify_MplsLabel3Exp_get(
  13391 			req->args.field_qualify_MplsLabel3Exp_get.unit,
  13392 			req->args.field_qualify_MplsLabel3Exp_get.entry,
  13393 			req->args.field_qualify_MplsLabel3Exp_get.data,
  13394 			req->args.field_qualify_MplsLabel3Exp_get.mask);
  13395 		break;
  13396 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3ID:
  13397 		rv = bcm_field_qualify_MplsLabel3Id(
  13398 			req->args.field_qualify_MplsLabel3Id.unit,
  13399 			req->args.field_qualify_MplsLabel3Id.entry,
  13400 			req->args.field_qualify_MplsLabel3Id.data,
  13401 			req->args.field_qualify_MplsLabel3Id.mask);
  13402 		break;
  13403 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3ID_GET:
  13404 		rv = bcm_field_qualify_MplsLabel3Id_get(
  13405 			req->args.field_qualify_MplsLabel3Id_get.unit,
  13406 			req->args.field_qualify_MplsLabel3Id_get.entry,
  13407 			req->args.field_qualify_MplsLabel3Id_get.data,
  13408 			req->args.field_qualify_MplsLabel3Id_get.mask);
  13409 		break;
  13410 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3TTL:
  13411 		rv = bcm_field_qualify_MplsLabel3Ttl(
  13412 			req->args.field_qualify_MplsLabel3Ttl.unit,
  13413 			req->args.field_qualify_MplsLabel3Ttl.entry,
  13414 			req->args.field_qualify_MplsLabel3Ttl.data,
  13415 			req->args.field_qualify_MplsLabel3Ttl.mask);
  13416 		break;
  13417 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3TTL_GET:
  13418 		rv = bcm_field_qualify_MplsLabel3Ttl_get(
  13419 			req->args.field_qualify_MplsLabel3Ttl_get.unit,
  13420 			req->args.field_qualify_MplsLabel3Ttl_get.entry,
  13421 			req->args.field_qualify_MplsLabel3Ttl_get.data,
  13422 			req->args.field_qualify_MplsLabel3Ttl_get.mask);
  13423 		break;
  13424 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSLABEL3_GET:
  13425 		rv = bcm_field_qualify_MplsLabel3_get(
  13426 			req->args.field_qualify_MplsLabel3_get.unit,
  13427 			req->args.field_qualify_MplsLabel3_get.entry,
  13428 			req->args.field_qualify_MplsLabel3_get.data,
  13429 			req->args.field_qualify_MplsLabel3_get.mask);
  13430 		break;
  13431 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSMCASTETHERTYPEPRESENT:
  13432 		rv = bcm_field_qualify_MplsMcastEthertypePresent(
  13433 			req->args.field_qualify_MplsMcastEthertypePresent.unit,
  13434 			req->args.field_qualify_MplsMcastEthertypePresent.entry,
  13435 			req->args.field_qualify_MplsMcastEthertypePresent.data,
  13436 			req->args.field_qualify_MplsMcastEthertypePresent.mask);
  13437 		break;
  13438 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSMCASTETHERTYPEPRESENT_GET:
  13439 		rv = bcm_field_qualify_MplsMcastEthertypePresent_get(
  13440 			req->args.field_qualify_MplsMcastEthertypePresent_get.unit,
  13441 			req->args.field_qualify_MplsMcastEthertypePresent_get.entry,
  13442 			req->args.field_qualify_MplsMcastEthertypePresent_get.data,
  13443 			req->args.field_qualify_MplsMcastEthertypePresent_get.mask);
  13444 		break;
  13445 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMACH:
  13446 		rv = bcm_field_qualify_MplsOamACH(
  13447 			req->args.field_qualify_MplsOamACH.unit,
  13448 			req->args.field_qualify_MplsOamACH.entry,
  13449 			req->args.field_qualify_MplsOamACH.data,
  13450 			req->args.field_qualify_MplsOamACH.mask);
  13451 		break;
  13452 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMACH_GET:
  13453 		rv = bcm_field_qualify_MplsOamACH_get(
  13454 			req->args.field_qualify_MplsOamACH_get.unit,
  13455 			req->args.field_qualify_MplsOamACH_get.entry,
  13456 			req->args.field_qualify_MplsOamACH_get.data,
  13457 			req->args.field_qualify_MplsOamACH_get.mask);
  13458 		break;
  13459 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMCLASSMPLSSWITCHLABEL:
  13460 		rv = bcm_field_qualify_MplsOamClassMplsSwitchLabel(
  13461 			req->args.field_qualify_MplsOamClassMplsSwitchLabel.unit,
  13462 			req->args.field_qualify_MplsOamClassMplsSwitchLabel.entry,
  13463 			req->args.field_qualify_MplsOamClassMplsSwitchLabel.data,
  13464 			req->args.field_qualify_MplsOamClassMplsSwitchLabel.mask);
  13465 		break;
  13466 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMCLASSMPLSSWITCHLABEL_GET:
  13467 		rv = bcm_field_qualify_MplsOamClassMplsSwitchLabel_get(
  13468 			req->args.field_qualify_MplsOamClassMplsSwitchLabel_get.unit,
  13469 			req->args.field_qualify_MplsOamClassMplsSwitchLabel_get.entry,
  13470 			req->args.field_qualify_MplsOamClassMplsSwitchLabel_get.data,
  13471 			req->args.field_qualify_MplsOamClassMplsSwitchLabel_get.mask);
  13472 		break;
  13473 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMCONTROLPKTTYPE:
  13474 		rv = bcm_field_qualify_MplsOamControlPktType(
  13475 			req->args.field_qualify_MplsOamControlPktType.unit,
  13476 			req->args.field_qualify_MplsOamControlPktType.entry,
  13477 			req->args.field_qualify_MplsOamControlPktType.data);
  13478 		break;
  13479 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMCONTROLPKTTYPE_GET:
  13480 		rv = bcm_field_qualify_MplsOamControlPktType_get(
  13481 			req->args.field_qualify_MplsOamControlPktType_get.unit,
  13482 			req->args.field_qualify_MplsOamControlPktType_get.entry,
  13483 			req->args.field_qualify_MplsOamControlPktType_get.data);
  13484 		break;
  13485 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMGALEXPOSED:
  13486 		rv = bcm_field_qualify_MplsOamGALExposed(
  13487 			req->args.field_qualify_MplsOamGALExposed.unit,
  13488 			req->args.field_qualify_MplsOamGALExposed.entry,
  13489 			req->args.field_qualify_MplsOamGALExposed.data,
  13490 			req->args.field_qualify_MplsOamGALExposed.mask);
  13491 		break;
  13492 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMGALEXPOSED_GET:
  13493 		rv = bcm_field_qualify_MplsOamGALExposed_get(
  13494 			req->args.field_qualify_MplsOamGALExposed_get.unit,
  13495 			req->args.field_qualify_MplsOamGALExposed_get.entry,
  13496 			req->args.field_qualify_MplsOamGALExposed_get.data,
  13497 			req->args.field_qualify_MplsOamGALExposed_get.mask);
  13498 		break;
  13499 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMGALLABELONLY:
  13500 		rv = bcm_field_qualify_MplsOamGALLabelOnly(
  13501 			req->args.field_qualify_MplsOamGALLabelOnly.unit,
  13502 			req->args.field_qualify_MplsOamGALLabelOnly.entry,
  13503 			req->args.field_qualify_MplsOamGALLabelOnly.data,
  13504 			req->args.field_qualify_MplsOamGALLabelOnly.mask);
  13505 		break;
  13506 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMGALLABELONLY_GET:
  13507 		rv = bcm_field_qualify_MplsOamGALLabelOnly_get(
  13508 			req->args.field_qualify_MplsOamGALLabelOnly_get.unit,
  13509 			req->args.field_qualify_MplsOamGALLabelOnly_get.entry,
  13510 			req->args.field_qualify_MplsOamGALLabelOnly_get.data,
  13511 			req->args.field_qualify_MplsOamGALLabelOnly_get.mask);
  13512 		break;
  13513 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMHEADERBITS0_31:
  13514 		rv = bcm_field_qualify_MplsOamHeaderBits0_31(
  13515 			req->args.field_qualify_MplsOamHeaderBits0_31.unit,
  13516 			req->args.field_qualify_MplsOamHeaderBits0_31.entry,
  13517 			req->args.field_qualify_MplsOamHeaderBits0_31.data,
  13518 			req->args.field_qualify_MplsOamHeaderBits0_31.mask);
  13519 		break;
  13520 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMHEADERBITS0_31_GET:
  13521 		rv = bcm_field_qualify_MplsOamHeaderBits0_31_get(
  13522 			req->args.field_qualify_MplsOamHeaderBits0_31_get.unit,
  13523 			req->args.field_qualify_MplsOamHeaderBits0_31_get.entry,
  13524 			req->args.field_qualify_MplsOamHeaderBits0_31_get.data,
  13525 			req->args.field_qualify_MplsOamHeaderBits0_31_get.mask);
  13526 		break;
  13527 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMHEADERBITS32_63:
  13528 		rv = bcm_field_qualify_MplsOamHeaderBits32_63(
  13529 			req->args.field_qualify_MplsOamHeaderBits32_63.unit,
  13530 			req->args.field_qualify_MplsOamHeaderBits32_63.entry,
  13531 			req->args.field_qualify_MplsOamHeaderBits32_63.data,
  13532 			req->args.field_qualify_MplsOamHeaderBits32_63.mask);
  13533 		break;
  13534 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMHEADERBITS32_63_GET:
  13535 		rv = bcm_field_qualify_MplsOamHeaderBits32_63_get(
  13536 			req->args.field_qualify_MplsOamHeaderBits32_63_get.unit,
  13537 			req->args.field_qualify_MplsOamHeaderBits32_63_get.entry,
  13538 			req->args.field_qualify_MplsOamHeaderBits32_63_get.data,
  13539 			req->args.field_qualify_MplsOamHeaderBits32_63_get.mask);
  13540 		break;
  13541 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMUPPERLABELDATADROP:
  13542 		rv = bcm_field_qualify_MplsOamUpperLabelDataDrop(
  13543 			req->args.field_qualify_MplsOamUpperLabelDataDrop.unit,
  13544 			req->args.field_qualify_MplsOamUpperLabelDataDrop.entry,
  13545 			req->args.field_qualify_MplsOamUpperLabelDataDrop.data,
  13546 			req->args.field_qualify_MplsOamUpperLabelDataDrop.mask);
  13547 		break;
  13548 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOAMUPPERLABELDATADROP_GET:
  13549 		rv = bcm_field_qualify_MplsOamUpperLabelDataDrop_get(
  13550 			req->args.field_qualify_MplsOamUpperLabelDataDrop_get.unit,
  13551 			req->args.field_qualify_MplsOamUpperLabelDataDrop_get.entry,
  13552 			req->args.field_qualify_MplsOamUpperLabelDataDrop_get.data,
  13553 			req->args.field_qualify_MplsOamUpperLabelDataDrop_get.mask);
  13554 		break;
  13555 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOUTERLABELPOP:
  13556 		rv = bcm_field_qualify_MplsOuterLabelPop(
  13557 			req->args.field_qualify_MplsOuterLabelPop.unit,
  13558 			req->args.field_qualify_MplsOuterLabelPop.entry,
  13559 			req->args.field_qualify_MplsOuterLabelPop.data,
  13560 			req->args.field_qualify_MplsOuterLabelPop.mask);
  13561 		break;
  13562 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSOUTERLABELPOP_GET:
  13563 		rv = bcm_field_qualify_MplsOuterLabelPop_get(
  13564 			req->args.field_qualify_MplsOuterLabelPop_get.unit,
  13565 			req->args.field_qualify_MplsOuterLabelPop_get.entry,
  13566 			req->args.field_qualify_MplsOuterLabelPop_get.data,
  13567 			req->args.field_qualify_MplsOuterLabelPop_get.mask);
  13568 		break;
  13569 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSSTATIONHITTUNNELUNTERMINATED:
  13570 		rv = bcm_field_qualify_MplsStationHitTunnelUnterminated(
  13571 			req->args.field_qualify_MplsStationHitTunnelUnterminated.unit,
  13572 			req->args.field_qualify_MplsStationHitTunnelUnterminated.entry,
  13573 			req->args.field_qualify_MplsStationHitTunnelUnterminated.data,
  13574 			req->args.field_qualify_MplsStationHitTunnelUnterminated.mask);
  13575 		break;
  13576 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSSTATIONHITTUNNELUNTERMINATED_GET:
  13577 		rv = bcm_field_qualify_MplsStationHitTunnelUnterminated_get(
  13578 			req->args.field_qualify_MplsStationHitTunnelUnterminated_get.unit,
  13579 			req->args.field_qualify_MplsStationHitTunnelUnterminated_get.entry,
  13580 			req->args.field_qualify_MplsStationHitTunnelUnterminated_get.data,
  13581 			req->args.field_qualify_MplsStationHitTunnelUnterminated_get.mask);
  13582 		break;
  13583 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSTERMINATED:
  13584 		rv = bcm_field_qualify_MplsTerminated(
  13585 			req->args.field_qualify_MplsTerminated.unit,
  13586 			req->args.field_qualify_MplsTerminated.entry,
  13587 			req->args.field_qualify_MplsTerminated.data,
  13588 			req->args.field_qualify_MplsTerminated.mask);
  13589 		break;
  13590 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSTERMINATEDHIT:
  13591 		rv = bcm_field_qualify_MplsTerminatedHit(
  13592 			req->args.field_qualify_MplsTerminatedHit.unit,
  13593 			req->args.field_qualify_MplsTerminatedHit.entry,
  13594 			req->args.field_qualify_MplsTerminatedHit.data,
  13595 			req->args.field_qualify_MplsTerminatedHit.mask);
  13596 		break;
  13597 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSTERMINATEDHIT_GET:
  13598 		rv = bcm_field_qualify_MplsTerminatedHit_get(
  13599 			req->args.field_qualify_MplsTerminatedHit_get.unit,
  13600 			req->args.field_qualify_MplsTerminatedHit_get.entry,
  13601 			req->args.field_qualify_MplsTerminatedHit_get.data,
  13602 			req->args.field_qualify_MplsTerminatedHit_get.mask);
  13603 		break;
  13604 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSTERMINATEDVALUE:
  13605 		rv = bcm_field_qualify_MplsTerminatedValue(
  13606 			req->args.field_qualify_MplsTerminatedValue.unit,
  13607 			req->args.field_qualify_MplsTerminatedValue.entry,
  13608 			req->args.field_qualify_MplsTerminatedValue.data,
  13609 			req->args.field_qualify_MplsTerminatedValue.mask);
  13610 		break;
  13611 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSTERMINATEDVALUE_GET:
  13612 		rv = bcm_field_qualify_MplsTerminatedValue_get(
  13613 			req->args.field_qualify_MplsTerminatedValue_get.unit,
  13614 			req->args.field_qualify_MplsTerminatedValue_get.entry,
  13615 			req->args.field_qualify_MplsTerminatedValue_get.data,
  13616 			req->args.field_qualify_MplsTerminatedValue_get.mask);
  13617 		break;
  13618 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MPLSTERMINATED_GET:
  13619 		rv = bcm_field_qualify_MplsTerminated_get(
  13620 			req->args.field_qualify_MplsTerminated_get.unit,
  13621 			req->args.field_qualify_MplsTerminated_get.entry,
  13622 			req->args.field_qualify_MplsTerminated_get.data,
  13623 			req->args.field_qualify_MplsTerminated_get.mask);
  13624 		break;
  13625 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MYSTATION2HIT:
  13626 		rv = bcm_field_qualify_MyStation2Hit(
  13627 			req->args.field_qualify_MyStation2Hit.unit,
  13628 			req->args.field_qualify_MyStation2Hit.entry,
  13629 			req->args.field_qualify_MyStation2Hit.data,
  13630 			req->args.field_qualify_MyStation2Hit.mask);
  13631 		break;
  13632 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MYSTATION2HIT_GET:
  13633 		rv = bcm_field_qualify_MyStation2Hit_get(
  13634 			req->args.field_qualify_MyStation2Hit_get.unit,
  13635 			req->args.field_qualify_MyStation2Hit_get.entry,
  13636 			req->args.field_qualify_MyStation2Hit_get.data,
  13637 			req->args.field_qualify_MyStation2Hit_get.mask);
  13638 		break;
  13639 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MYSTATIONHIT:
  13640 		rv = bcm_field_qualify_MyStationHit(
  13641 			req->args.field_qualify_MyStationHit.unit,
  13642 			req->args.field_qualify_MyStationHit.entry,
  13643 			req->args.field_qualify_MyStationHit.data,
  13644 			req->args.field_qualify_MyStationHit.mask);
  13645 		break;
  13646 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_MYSTATIONHIT_GET:
  13647 		rv = bcm_field_qualify_MyStationHit_get(
  13648 			req->args.field_qualify_MyStationHit_get.unit,
  13649 			req->args.field_qualify_MyStationHit_get.entry,
  13650 			req->args.field_qualify_MyStationHit_get.data,
  13651 			req->args.field_qualify_MyStationHit_get.mask);
  13652 		break;
  13653 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATDSTREALMID:
  13654 		rv = bcm_field_qualify_NatDstRealmId(
  13655 			req->args.field_qualify_NatDstRealmId.unit,
  13656 			req->args.field_qualify_NatDstRealmId.entry,
  13657 			req->args.field_qualify_NatDstRealmId.data,
  13658 			req->args.field_qualify_NatDstRealmId.mask);
  13659 		break;
  13660 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATDSTREALMID_GET:
  13661 		rv = bcm_field_qualify_NatDstRealmId_get(
  13662 			req->args.field_qualify_NatDstRealmId_get.unit,
  13663 			req->args.field_qualify_NatDstRealmId_get.entry,
  13664 			req->args.field_qualify_NatDstRealmId_get.data,
  13665 			req->args.field_qualify_NatDstRealmId_get.mask);
  13666 		break;
  13667 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATNEEDED:
  13668 		rv = bcm_field_qualify_NatNeeded(
  13669 			req->args.field_qualify_NatNeeded.unit,
  13670 			req->args.field_qualify_NatNeeded.entry,
  13671 			req->args.field_qualify_NatNeeded.data,
  13672 			req->args.field_qualify_NatNeeded.mask);
  13673 		break;
  13674 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATNEEDED_GET:
  13675 		rv = bcm_field_qualify_NatNeeded_get(
  13676 			req->args.field_qualify_NatNeeded_get.unit,
  13677 			req->args.field_qualify_NatNeeded_get.entry,
  13678 			req->args.field_qualify_NatNeeded_get.data,
  13679 			req->args.field_qualify_NatNeeded_get.mask);
  13680 		break;
  13681 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATSRCREALMID:
  13682 		rv = bcm_field_qualify_NatSrcRealmId(
  13683 			req->args.field_qualify_NatSrcRealmId.unit,
  13684 			req->args.field_qualify_NatSrcRealmId.entry,
  13685 			req->args.field_qualify_NatSrcRealmId.data,
  13686 			req->args.field_qualify_NatSrcRealmId.mask);
  13687 		break;
  13688 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATSRCREALMID_GET:
  13689 		rv = bcm_field_qualify_NatSrcRealmId_get(
  13690 			req->args.field_qualify_NatSrcRealmId_get.unit,
  13691 			req->args.field_qualify_NatSrcRealmId_get.entry,
  13692 			req->args.field_qualify_NatSrcRealmId_get.data,
  13693 			req->args.field_qualify_NatSrcRealmId_get.mask);
  13694 		break;
  13695 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATIVEVSWITCH:
  13696 		rv = bcm_field_qualify_NativeVSwitch(
  13697 			req->args.field_qualify_NativeVSwitch.unit,
  13698 			req->args.field_qualify_NativeVSwitch.entry,
  13699 			req->args.field_qualify_NativeVSwitch.data,
  13700 			req->args.field_qualify_NativeVSwitch.mask);
  13701 		break;
  13702 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATIVEVSWITCHVALID:
  13703 		rv = bcm_field_qualify_NativeVSwitchValid(
  13704 			req->args.field_qualify_NativeVSwitchValid.unit,
  13705 			req->args.field_qualify_NativeVSwitchValid.entry,
  13706 			req->args.field_qualify_NativeVSwitchValid.data,
  13707 			req->args.field_qualify_NativeVSwitchValid.mask);
  13708 		break;
  13709 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATIVEVSWITCHVALID_GET:
  13710 		rv = bcm_field_qualify_NativeVSwitchValid_get(
  13711 			req->args.field_qualify_NativeVSwitchValid_get.unit,
  13712 			req->args.field_qualify_NativeVSwitchValid_get.entry,
  13713 			req->args.field_qualify_NativeVSwitchValid_get.data,
  13714 			req->args.field_qualify_NativeVSwitchValid_get.mask);
  13715 		break;
  13716 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NATIVEVSWITCH_GET:
  13717 		rv = bcm_field_qualify_NativeVSwitch_get(
  13718 			req->args.field_qualify_NativeVSwitch_get.unit,
  13719 			req->args.field_qualify_NativeVSwitch_get.entry,
  13720 			req->args.field_qualify_NativeVSwitch_get.data,
  13721 			req->args.field_qualify_NativeVSwitch_get.mask);
  13722 		break;
  13723 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NETWORKTAGMULTICASTPKT:
  13724 		rv = bcm_field_qualify_NetworkTagMulticastPkt(
  13725 			req->args.field_qualify_NetworkTagMulticastPkt.unit,
  13726 			req->args.field_qualify_NetworkTagMulticastPkt.entry,
  13727 			req->args.field_qualify_NetworkTagMulticastPkt.data,
  13728 			req->args.field_qualify_NetworkTagMulticastPkt.mask);
  13729 		break;
  13730 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NETWORKTAGMULTICASTPKT_GET:
  13731 		rv = bcm_field_qualify_NetworkTagMulticastPkt_get(
  13732 			req->args.field_qualify_NetworkTagMulticastPkt_get.unit,
  13733 			req->args.field_qualify_NetworkTagMulticastPkt_get.entry,
  13734 			req->args.field_qualify_NetworkTagMulticastPkt_get.data,
  13735 			req->args.field_qualify_NetworkTagMulticastPkt_get.mask);
  13736 		break;
  13737 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NETWORKTAGTYPE:
  13738 		rv = bcm_field_qualify_NetworkTagType(
  13739 			req->args.field_qualify_NetworkTagType.unit,
  13740 			req->args.field_qualify_NetworkTagType.entry,
  13741 			req->args.field_qualify_NetworkTagType.type);
  13742 		break;
  13743 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NETWORKTAGTYPE_GET:
  13744 		rv = bcm_field_qualify_NetworkTagType_get(
  13745 			req->args.field_qualify_NetworkTagType_get.unit,
  13746 			req->args.field_qualify_NetworkTagType_get.entry,
  13747 			req->args.field_qualify_NetworkTagType_get.type);
  13748 		break;
  13749 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NSHSERVICEINDEX:
  13750 		rv = bcm_field_qualify_NshServiceIndex(
  13751 			req->args.field_qualify_NshServiceIndex.unit,
  13752 			req->args.field_qualify_NshServiceIndex.entry,
  13753 			req->args.field_qualify_NshServiceIndex.data,
  13754 			req->args.field_qualify_NshServiceIndex.mask);
  13755 		break;
  13756 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NSHSERVICEINDEX_GET:
  13757 		rv = bcm_field_qualify_NshServiceIndex_get(
  13758 			req->args.field_qualify_NshServiceIndex_get.unit,
  13759 			req->args.field_qualify_NshServiceIndex_get.entry,
  13760 			req->args.field_qualify_NshServiceIndex_get.data,
  13761 			req->args.field_qualify_NshServiceIndex_get.mask);
  13762 		break;
  13763 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NSHSERVICEPATHID:
  13764 		rv = bcm_field_qualify_NshServicePathId(
  13765 			req->args.field_qualify_NshServicePathId.unit,
  13766 			req->args.field_qualify_NshServicePathId.entry,
  13767 			req->args.field_qualify_NshServicePathId.data,
  13768 			req->args.field_qualify_NshServicePathId.mask);
  13769 		break;
  13770 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_NSHSERVICEPATHID_GET:
  13771 		rv = bcm_field_qualify_NshServicePathId_get(
  13772 			req->args.field_qualify_NshServicePathId_get.unit,
  13773 			req->args.field_qualify_NshServicePathId_get.entry,
  13774 			req->args.field_qualify_NshServicePathId_get.data,
  13775 			req->args.field_qualify_NshServicePathId_get.mask);
  13776 		break;
  13777 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMDOWNMEPLOOPBACKPACKET:
  13778 		rv = bcm_field_qualify_OamDownMEPLoopbackPacket(
  13779 			req->args.field_qualify_OamDownMEPLoopbackPacket.unit,
  13780 			req->args.field_qualify_OamDownMEPLoopbackPacket.entry,
  13781 			req->args.field_qualify_OamDownMEPLoopbackPacket.data,
  13782 			req->args.field_qualify_OamDownMEPLoopbackPacket.mask);
  13783 		break;
  13784 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMDOWNMEPLOOPBACKPACKET_GET:
  13785 		rv = bcm_field_qualify_OamDownMEPLoopbackPacket_get(
  13786 			req->args.field_qualify_OamDownMEPLoopbackPacket_get.unit,
  13787 			req->args.field_qualify_OamDownMEPLoopbackPacket_get.entry,
  13788 			req->args.field_qualify_OamDownMEPLoopbackPacket_get.data,
  13789 			req->args.field_qualify_OamDownMEPLoopbackPacket_get.mask);
  13790 		break;
  13791 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSCLASS2VXLT:
  13792 		rv = bcm_field_qualify_OamEgressClass2Vxlt(
  13793 			req->args.field_qualify_OamEgressClass2Vxlt.unit,
  13794 			req->args.field_qualify_OamEgressClass2Vxlt.entry,
  13795 			req->args.field_qualify_OamEgressClass2Vxlt.data,
  13796 			req->args.field_qualify_OamEgressClass2Vxlt.mask);
  13797 		break;
  13798 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSCLASS2VXLT_GET:
  13799 		rv = bcm_field_qualify_OamEgressClass2Vxlt_get(
  13800 			req->args.field_qualify_OamEgressClass2Vxlt_get.unit,
  13801 			req->args.field_qualify_OamEgressClass2Vxlt_get.entry,
  13802 			req->args.field_qualify_OamEgressClass2Vxlt_get.data,
  13803 			req->args.field_qualify_OamEgressClass2Vxlt_get.mask);
  13804 		break;
  13805 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSCLASSPORT:
  13806 		rv = bcm_field_qualify_OamEgressClassPort(
  13807 			req->args.field_qualify_OamEgressClassPort.unit,
  13808 			req->args.field_qualify_OamEgressClassPort.entry,
  13809 			req->args.field_qualify_OamEgressClassPort.data,
  13810 			req->args.field_qualify_OamEgressClassPort.mask);
  13811 		break;
  13812 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSCLASSPORT_GET:
  13813 		rv = bcm_field_qualify_OamEgressClassPort_get(
  13814 			req->args.field_qualify_OamEgressClassPort_get.unit,
  13815 			req->args.field_qualify_OamEgressClassPort_get.entry,
  13816 			req->args.field_qualify_OamEgressClassPort_get.data,
  13817 			req->args.field_qualify_OamEgressClassPort_get.mask);
  13818 		break;
  13819 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSCLASSSRCMAC:
  13820 		rv = bcm_field_qualify_OamEgressClassSrcMac(
  13821 			req->args.field_qualify_OamEgressClassSrcMac.unit,
  13822 			req->args.field_qualify_OamEgressClassSrcMac.entry,
  13823 			req->args.field_qualify_OamEgressClassSrcMac.data,
  13824 			req->args.field_qualify_OamEgressClassSrcMac.mask);
  13825 		break;
  13826 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSCLASSSRCMAC_GET:
  13827 		rv = bcm_field_qualify_OamEgressClassSrcMac_get(
  13828 			req->args.field_qualify_OamEgressClassSrcMac_get.unit,
  13829 			req->args.field_qualify_OamEgressClassSrcMac_get.entry,
  13830 			req->args.field_qualify_OamEgressClassSrcMac_get.data,
  13831 			req->args.field_qualify_OamEgressClassSrcMac_get.mask);
  13832 		break;
  13833 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSCLASSVXLT:
  13834 		rv = bcm_field_qualify_OamEgressClassVxlt(
  13835 			req->args.field_qualify_OamEgressClassVxlt.unit,
  13836 			req->args.field_qualify_OamEgressClassVxlt.entry,
  13837 			req->args.field_qualify_OamEgressClassVxlt.data,
  13838 			req->args.field_qualify_OamEgressClassVxlt.mask);
  13839 		break;
  13840 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSCLASSVXLT_GET:
  13841 		rv = bcm_field_qualify_OamEgressClassVxlt_get(
  13842 			req->args.field_qualify_OamEgressClassVxlt_get.unit,
  13843 			req->args.field_qualify_OamEgressClassVxlt_get.entry,
  13844 			req->args.field_qualify_OamEgressClassVxlt_get.data,
  13845 			req->args.field_qualify_OamEgressClassVxlt_get.mask);
  13846 		break;
  13847 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSETHERTYPE:
  13848 		rv = bcm_field_qualify_OamEgressEtherType(
  13849 			req->args.field_qualify_OamEgressEtherType.unit,
  13850 			req->args.field_qualify_OamEgressEtherType.entry,
  13851 			req->args.field_qualify_OamEgressEtherType.data);
  13852 		break;
  13853 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSETHERTYPE_GET:
  13854 		rv = bcm_field_qualify_OamEgressEtherType_get(
  13855 			req->args.field_qualify_OamEgressEtherType_get.unit,
  13856 			req->args.field_qualify_OamEgressEtherType_get.entry,
  13857 			req->args.field_qualify_OamEgressEtherType_get.data);
  13858 		break;
  13859 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSMULTICASTMACHIT:
  13860 		rv = bcm_field_qualify_OamEgressMulticastMacHit(
  13861 			req->args.field_qualify_OamEgressMulticastMacHit.unit,
  13862 			req->args.field_qualify_OamEgressMulticastMacHit.entry,
  13863 			req->args.field_qualify_OamEgressMulticastMacHit.data);
  13864 		break;
  13865 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSMULTICASTMACHIT_GET:
  13866 		rv = bcm_field_qualify_OamEgressMulticastMacHit_get(
  13867 			req->args.field_qualify_OamEgressMulticastMacHit_get.unit,
  13868 			req->args.field_qualify_OamEgressMulticastMacHit_get.entry,
  13869 			req->args.field_qualify_OamEgressMulticastMacHit_get.data);
  13870 		break;
  13871 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSPORTUNICASTDSTMACHIT:
  13872 		rv = bcm_field_qualify_OamEgressPortUnicastDstMacHit(
  13873 			req->args.field_qualify_OamEgressPortUnicastDstMacHit.unit,
  13874 			req->args.field_qualify_OamEgressPortUnicastDstMacHit.entry,
  13875 			req->args.field_qualify_OamEgressPortUnicastDstMacHit.data,
  13876 			req->args.field_qualify_OamEgressPortUnicastDstMacHit.mask);
  13877 		break;
  13878 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSPORTUNICASTDSTMACHIT_GET:
  13879 		rv = bcm_field_qualify_OamEgressPortUnicastDstMacHit_get(
  13880 			req->args.field_qualify_OamEgressPortUnicastDstMacHit_get.unit,
  13881 			req->args.field_qualify_OamEgressPortUnicastDstMacHit_get.entry,
  13882 			req->args.field_qualify_OamEgressPortUnicastDstMacHit_get.data,
  13883 			req->args.field_qualify_OamEgressPortUnicastDstMacHit_get.mask);
  13884 		break;
  13885 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSVXLTFIRSTHIT:
  13886 		rv = bcm_field_qualify_OamEgressVxltFirstHit(
  13887 			req->args.field_qualify_OamEgressVxltFirstHit.unit,
  13888 			req->args.field_qualify_OamEgressVxltFirstHit.entry,
  13889 			req->args.field_qualify_OamEgressVxltFirstHit.data,
  13890 			req->args.field_qualify_OamEgressVxltFirstHit.mask);
  13891 		break;
  13892 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSVXLTFIRSTHIT_GET:
  13893 		rv = bcm_field_qualify_OamEgressVxltFirstHit_get(
  13894 			req->args.field_qualify_OamEgressVxltFirstHit_get.unit,
  13895 			req->args.field_qualify_OamEgressVxltFirstHit_get.entry,
  13896 			req->args.field_qualify_OamEgressVxltFirstHit_get.data,
  13897 			req->args.field_qualify_OamEgressVxltFirstHit_get.mask);
  13898 		break;
  13899 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSVXLTSECONDHIT:
  13900 		rv = bcm_field_qualify_OamEgressVxltSecondHit(
  13901 			req->args.field_qualify_OamEgressVxltSecondHit.unit,
  13902 			req->args.field_qualify_OamEgressVxltSecondHit.entry,
  13903 			req->args.field_qualify_OamEgressVxltSecondHit.data,
  13904 			req->args.field_qualify_OamEgressVxltSecondHit.mask);
  13905 		break;
  13906 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMEGRESSVXLTSECONDHIT_GET:
  13907 		rv = bcm_field_qualify_OamEgressVxltSecondHit_get(
  13908 			req->args.field_qualify_OamEgressVxltSecondHit_get.unit,
  13909 			req->args.field_qualify_OamEgressVxltSecondHit_get.entry,
  13910 			req->args.field_qualify_OamEgressVxltSecondHit_get.data,
  13911 			req->args.field_qualify_OamEgressVxltSecondHit_get.mask);
  13912 		break;
  13913 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMHEADERBITS0_31:
  13914 		rv = bcm_field_qualify_OamHeaderBits0_31(
  13915 			req->args.field_qualify_OamHeaderBits0_31.unit,
  13916 			req->args.field_qualify_OamHeaderBits0_31.entry,
  13917 			req->args.field_qualify_OamHeaderBits0_31.data,
  13918 			req->args.field_qualify_OamHeaderBits0_31.mask);
  13919 		break;
  13920 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMHEADERBITS0_31_GET:
  13921 		rv = bcm_field_qualify_OamHeaderBits0_31_get(
  13922 			req->args.field_qualify_OamHeaderBits0_31_get.unit,
  13923 			req->args.field_qualify_OamHeaderBits0_31_get.entry,
  13924 			req->args.field_qualify_OamHeaderBits0_31_get.data,
  13925 			req->args.field_qualify_OamHeaderBits0_31_get.mask);
  13926 		break;
  13927 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMHEADERBITS32_63:
  13928 		rv = bcm_field_qualify_OamHeaderBits32_63(
  13929 			req->args.field_qualify_OamHeaderBits32_63.unit,
  13930 			req->args.field_qualify_OamHeaderBits32_63.entry,
  13931 			req->args.field_qualify_OamHeaderBits32_63.data,
  13932 			req->args.field_qualify_OamHeaderBits32_63.mask);
  13933 		break;
  13934 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMHEADERBITS32_63_GET:
  13935 		rv = bcm_field_qualify_OamHeaderBits32_63_get(
  13936 			req->args.field_qualify_OamHeaderBits32_63_get.unit,
  13937 			req->args.field_qualify_OamHeaderBits32_63_get.entry,
  13938 			req->args.field_qualify_OamHeaderBits32_63_get.data,
  13939 			req->args.field_qualify_OamHeaderBits32_63_get.mask);
  13940 		break;
  13941 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMHEADEROFFSET:
  13942 		rv = bcm_field_qualify_OamHeaderOffset(
  13943 			req->args.field_qualify_OamHeaderOffset.unit,
  13944 			req->args.field_qualify_OamHeaderOffset.entry,
  13945 			req->args.field_qualify_OamHeaderOffset.data,
  13946 			req->args.field_qualify_OamHeaderOffset.mask);
  13947 		break;
  13948 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMHEADEROFFSET_GET:
  13949 		rv = bcm_field_qualify_OamHeaderOffset_get(
  13950 			req->args.field_qualify_OamHeaderOffset_get.unit,
  13951 			req->args.field_qualify_OamHeaderOffset_get.entry,
  13952 			req->args.field_qualify_OamHeaderOffset_get.data,
  13953 			req->args.field_qualify_OamHeaderOffset_get.mask);
  13954 		break;
  13955 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMINLIFID:
  13956 		rv = bcm_field_qualify_OamInLifId(
  13957 			req->args.field_qualify_OamInLifId.unit,
  13958 			req->args.field_qualify_OamInLifId.entry,
  13959 			req->args.field_qualify_OamInLifId.data,
  13960 			req->args.field_qualify_OamInLifId.mask);
  13961 		break;
  13962 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMINLIFIDVALID:
  13963 		rv = bcm_field_qualify_OamInLifIdValid(
  13964 			req->args.field_qualify_OamInLifIdValid.unit,
  13965 			req->args.field_qualify_OamInLifIdValid.entry,
  13966 			req->args.field_qualify_OamInLifIdValid.data,
  13967 			req->args.field_qualify_OamInLifIdValid.mask);
  13968 		break;
  13969 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMINLIFIDVALID_GET:
  13970 		rv = bcm_field_qualify_OamInLifIdValid_get(
  13971 			req->args.field_qualify_OamInLifIdValid_get.unit,
  13972 			req->args.field_qualify_OamInLifIdValid_get.entry,
  13973 			req->args.field_qualify_OamInLifIdValid_get.data,
  13974 			req->args.field_qualify_OamInLifIdValid_get.mask);
  13975 		break;
  13976 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMINLIFID_GET:
  13977 		rv = bcm_field_qualify_OamInLifId_get(
  13978 			req->args.field_qualify_OamInLifId_get.unit,
  13979 			req->args.field_qualify_OamInLifId_get.entry,
  13980 			req->args.field_qualify_OamInLifId_get.data,
  13981 			req->args.field_qualify_OamInLifId_get.mask);
  13982 		break;
  13983 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMMDL:
  13984 		rv = bcm_field_qualify_OamMdl(
  13985 			req->args.field_qualify_OamMdl.unit,
  13986 			req->args.field_qualify_OamMdl.entry,
  13987 			req->args.field_qualify_OamMdl.data,
  13988 			req->args.field_qualify_OamMdl.mask);
  13989 		break;
  13990 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMMDL_GET:
  13991 		rv = bcm_field_qualify_OamMdl_get(
  13992 			req->args.field_qualify_OamMdl_get.unit,
  13993 			req->args.field_qualify_OamMdl_get.entry,
  13994 			req->args.field_qualify_OamMdl_get.data,
  13995 			req->args.field_qualify_OamMdl_get.mask);
  13996 		break;
  13997 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMMEPID:
  13998 		rv = bcm_field_qualify_OamMepId(
  13999 			req->args.field_qualify_OamMepId.unit,
  14000 			req->args.field_qualify_OamMepId.entry,
  14001 			req->args.field_qualify_OamMepId.data,
  14002 			req->args.field_qualify_OamMepId.mask);
  14003 		break;
  14004 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMMEPID_GET:
  14005 		rv = bcm_field_qualify_OamMepId_get(
  14006 			req->args.field_qualify_OamMepId_get.unit,
  14007 			req->args.field_qualify_OamMepId_get.entry,
  14008 			req->args.field_qualify_OamMepId_get.data,
  14009 			req->args.field_qualify_OamMepId_get.mask);
  14010 		break;
  14011 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMMETERDISABLE:
  14012 		rv = bcm_field_qualify_OamMeterDisable(
  14013 			req->args.field_qualify_OamMeterDisable.unit,
  14014 			req->args.field_qualify_OamMeterDisable.entry,
  14015 			req->args.field_qualify_OamMeterDisable.data,
  14016 			req->args.field_qualify_OamMeterDisable.mask);
  14017 		break;
  14018 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMMETERDISABLE_GET:
  14019 		rv = bcm_field_qualify_OamMeterDisable_get(
  14020 			req->args.field_qualify_OamMeterDisable_get.unit,
  14021 			req->args.field_qualify_OamMeterDisable_get.entry,
  14022 			req->args.field_qualify_OamMeterDisable_get.data,
  14023 			req->args.field_qualify_OamMeterDisable_get.mask);
  14024 		break;
  14025 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMSTAMPOFFSET:
  14026 		rv = bcm_field_qualify_OamStampOffset(
  14027 			req->args.field_qualify_OamStampOffset.unit,
  14028 			req->args.field_qualify_OamStampOffset.entry,
  14029 			req->args.field_qualify_OamStampOffset.data,
  14030 			req->args.field_qualify_OamStampOffset.mask);
  14031 		break;
  14032 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMSTAMPOFFSET_GET:
  14033 		rv = bcm_field_qualify_OamStampOffset_get(
  14034 			req->args.field_qualify_OamStampOffset_get.unit,
  14035 			req->args.field_qualify_OamStampOffset_get.entry,
  14036 			req->args.field_qualify_OamStampOffset_get.data,
  14037 			req->args.field_qualify_OamStampOffset_get.mask);
  14038 		break;
  14039 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMSUBTYPE:
  14040 		rv = bcm_field_qualify_OamSubtype(
  14041 			req->args.field_qualify_OamSubtype.unit,
  14042 			req->args.field_qualify_OamSubtype.entry,
  14043 			req->args.field_qualify_OamSubtype.data,
  14044 			req->args.field_qualify_OamSubtype.mask);
  14045 		break;
  14046 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMSUBTYPE_GET:
  14047 		rv = bcm_field_qualify_OamSubtype_get(
  14048 			req->args.field_qualify_OamSubtype_get.unit,
  14049 			req->args.field_qualify_OamSubtype_get.entry,
  14050 			req->args.field_qualify_OamSubtype_get.data,
  14051 			req->args.field_qualify_OamSubtype_get.mask);
  14052 		break;
  14053 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMTSSYSTEMHEADER:
  14054 		rv = bcm_field_qualify_OamTsSystemHeader(
  14055 			req->args.field_qualify_OamTsSystemHeader.unit,
  14056 			req->args.field_qualify_OamTsSystemHeader.entry,
  14057 			req->args.field_qualify_OamTsSystemHeader.data,
  14058 			req->args.field_qualify_OamTsSystemHeader.mask);
  14059 		break;
  14060 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMTSSYSTEMHEADER_GET:
  14061 		rv = bcm_field_qualify_OamTsSystemHeader_get(
  14062 			req->args.field_qualify_OamTsSystemHeader_get.unit,
  14063 			req->args.field_qualify_OamTsSystemHeader_get.entry,
  14064 			req->args.field_qualify_OamTsSystemHeader_get.data,
  14065 			req->args.field_qualify_OamTsSystemHeader_get.mask);
  14066 		break;
  14067 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMTYPE:
  14068 		rv = bcm_field_qualify_OamType(
  14069 			req->args.field_qualify_OamType.unit,
  14070 			req->args.field_qualify_OamType.entry,
  14071 			req->args.field_qualify_OamType.oam_type);
  14072 		break;
  14073 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMTYPE_GET:
  14074 		rv = bcm_field_qualify_OamType_get(
  14075 			req->args.field_qualify_OamType_get.unit,
  14076 			req->args.field_qualify_OamType_get.entry,
  14077 			req->args.field_qualify_OamType_get.oam_type);
  14078 		break;
  14079 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMUPMEP:
  14080 		rv = bcm_field_qualify_OamUpMep(
  14081 			req->args.field_qualify_OamUpMep.unit,
  14082 			req->args.field_qualify_OamUpMep.entry,
  14083 			req->args.field_qualify_OamUpMep.data,
  14084 			req->args.field_qualify_OamUpMep.mask);
  14085 		break;
  14086 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OAMUPMEP_GET:
  14087 		rv = bcm_field_qualify_OamUpMep_get(
  14088 			req->args.field_qualify_OamUpMep_get.unit,
  14089 			req->args.field_qualify_OamUpMep_get.entry,
  14090 			req->args.field_qualify_OamUpMep_get.data,
  14091 			req->args.field_qualify_OamUpMep_get.mask);
  14092 		break;
  14093 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUEOBJECT1:
  14094 		rv = bcm_field_qualify_OpaqueObject1(
  14095 			req->args.field_qualify_OpaqueObject1.unit,
  14096 			req->args.field_qualify_OpaqueObject1.entry,
  14097 			req->args.field_qualify_OpaqueObject1.data,
  14098 			req->args.field_qualify_OpaqueObject1.mask);
  14099 		break;
  14100 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUEOBJECT1_GET:
  14101 		rv = bcm_field_qualify_OpaqueObject1_get(
  14102 			req->args.field_qualify_OpaqueObject1_get.unit,
  14103 			req->args.field_qualify_OpaqueObject1_get.entry,
  14104 			req->args.field_qualify_OpaqueObject1_get.data,
  14105 			req->args.field_qualify_OpaqueObject1_get.mask);
  14106 		break;
  14107 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUEOBJECT2:
  14108 		rv = bcm_field_qualify_OpaqueObject2(
  14109 			req->args.field_qualify_OpaqueObject2.unit,
  14110 			req->args.field_qualify_OpaqueObject2.entry,
  14111 			req->args.field_qualify_OpaqueObject2.data,
  14112 			req->args.field_qualify_OpaqueObject2.mask);
  14113 		break;
  14114 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUEOBJECT2_GET:
  14115 		rv = bcm_field_qualify_OpaqueObject2_get(
  14116 			req->args.field_qualify_OpaqueObject2_get.unit,
  14117 			req->args.field_qualify_OpaqueObject2_get.entry,
  14118 			req->args.field_qualify_OpaqueObject2_get.data,
  14119 			req->args.field_qualify_OpaqueObject2_get.mask);
  14120 		break;
  14121 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUEOBJECT3:
  14122 		rv = bcm_field_qualify_OpaqueObject3(
  14123 			req->args.field_qualify_OpaqueObject3.unit,
  14124 			req->args.field_qualify_OpaqueObject3.entry,
  14125 			req->args.field_qualify_OpaqueObject3.data,
  14126 			req->args.field_qualify_OpaqueObject3.mask);
  14127 		break;
  14128 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUEOBJECT3_GET:
  14129 		rv = bcm_field_qualify_OpaqueObject3_get(
  14130 			req->args.field_qualify_OpaqueObject3_get.unit,
  14131 			req->args.field_qualify_OpaqueObject3_get.entry,
  14132 			req->args.field_qualify_OpaqueObject3_get.data,
  14133 			req->args.field_qualify_OpaqueObject3_get.mask);
  14134 		break;
  14135 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUEOBJECT4:
  14136 		rv = bcm_field_qualify_OpaqueObject4(
  14137 			req->args.field_qualify_OpaqueObject4.unit,
  14138 			req->args.field_qualify_OpaqueObject4.entry,
  14139 			req->args.field_qualify_OpaqueObject4.data,
  14140 			req->args.field_qualify_OpaqueObject4.mask);
  14141 		break;
  14142 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUEOBJECT4_GET:
  14143 		rv = bcm_field_qualify_OpaqueObject4_get(
  14144 			req->args.field_qualify_OpaqueObject4_get.unit,
  14145 			req->args.field_qualify_OpaqueObject4_get.entry,
  14146 			req->args.field_qualify_OpaqueObject4_get.data,
  14147 			req->args.field_qualify_OpaqueObject4_get.mask);
  14148 		break;
  14149 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUETAGHIGH:
  14150 		rv = bcm_field_qualify_OpaqueTagHigh(
  14151 			req->args.field_qualify_OpaqueTagHigh.unit,
  14152 			req->args.field_qualify_OpaqueTagHigh.entry,
  14153 			req->args.field_qualify_OpaqueTagHigh.data,
  14154 			req->args.field_qualify_OpaqueTagHigh.mask);
  14155 		break;
  14156 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUETAGHIGH_GET:
  14157 		rv = bcm_field_qualify_OpaqueTagHigh_get(
  14158 			req->args.field_qualify_OpaqueTagHigh_get.unit,
  14159 			req->args.field_qualify_OpaqueTagHigh_get.entry,
  14160 			req->args.field_qualify_OpaqueTagHigh_get.data,
  14161 			req->args.field_qualify_OpaqueTagHigh_get.mask);
  14162 		break;
  14163 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUETAGLOW:
  14164 		rv = bcm_field_qualify_OpaqueTagLow(
  14165 			req->args.field_qualify_OpaqueTagLow.unit,
  14166 			req->args.field_qualify_OpaqueTagLow.entry,
  14167 			req->args.field_qualify_OpaqueTagLow.data,
  14168 			req->args.field_qualify_OpaqueTagLow.mask);
  14169 		break;
  14170 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUETAGLOW_GET:
  14171 		rv = bcm_field_qualify_OpaqueTagLow_get(
  14172 			req->args.field_qualify_OpaqueTagLow_get.unit,
  14173 			req->args.field_qualify_OpaqueTagLow_get.entry,
  14174 			req->args.field_qualify_OpaqueTagLow_get.data,
  14175 			req->args.field_qualify_OpaqueTagLow_get.mask);
  14176 		break;
  14177 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUETAGTYPE:
  14178 		rv = bcm_field_qualify_OpaqueTagType(
  14179 			req->args.field_qualify_OpaqueTagType.unit,
  14180 			req->args.field_qualify_OpaqueTagType.entry,
  14181 			req->args.field_qualify_OpaqueTagType.data,
  14182 			req->args.field_qualify_OpaqueTagType.mask);
  14183 		break;
  14184 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OPAQUETAGTYPE_GET:
  14185 		rv = bcm_field_qualify_OpaqueTagType_get(
  14186 			req->args.field_qualify_OpaqueTagType_get.unit,
  14187 			req->args.field_qualify_OpaqueTagType_get.entry,
  14188 			req->args.field_qualify_OpaqueTagType_get.data,
  14189 			req->args.field_qualify_OpaqueTagType_get.mask);
  14190 		break;
  14191 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTPORT:
  14192 		rv = bcm_field_qualify_OutPort(
  14193 			req->args.field_qualify_OutPort.unit,
  14194 			req->args.field_qualify_OutPort.entry,
  14195 			req->args.field_qualify_OutPort.data,
  14196 			req->args.field_qualify_OutPort.mask);
  14197 		break;
  14198 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTPORT_GET:
  14199 		rv = bcm_field_qualify_OutPort_get(
  14200 			req->args.field_qualify_OutPort_get.unit,
  14201 			req->args.field_qualify_OutPort_get.entry,
  14202 			req->args.field_qualify_OutPort_get.data,
  14203 			req->args.field_qualify_OutPort_get.mask);
  14204 		break;
  14205 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTPORTS:
  14206 		rv = bcm_field_qualify_OutPorts(
  14207 			req->args.field_qualify_OutPorts.unit,
  14208 			req->args.field_qualify_OutPorts.entry,
  14209 			req->args.field_qualify_OutPorts.data,
  14210 			req->args.field_qualify_OutPorts.mask);
  14211 		break;
  14212 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTPORTS_GET:
  14213 		rv = bcm_field_qualify_OutPorts_get(
  14214 			req->args.field_qualify_OutPorts_get.unit,
  14215 			req->args.field_qualify_OutPorts_get.entry,
  14216 			req->args.field_qualify_OutPorts_get.data,
  14217 			req->args.field_qualify_OutPorts_get.mask);
  14218 		break;
  14219 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTVPORT:
  14220 		rv = bcm_field_qualify_OutVPort(
  14221 			req->args.field_qualify_OutVPort.unit,
  14222 			req->args.field_qualify_OutVPort.entry,
  14223 			req->args.field_qualify_OutVPort.data,
  14224 			req->args.field_qualify_OutVPort.mask);
  14225 		break;
  14226 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTVPORT32:
  14227 		rv = bcm_field_qualify_OutVPort32(
  14228 			req->args.field_qualify_OutVPort32.unit,
  14229 			req->args.field_qualify_OutVPort32.entry,
  14230 			req->args.field_qualify_OutVPort32.data,
  14231 			req->args.field_qualify_OutVPort32.mask);
  14232 		break;
  14233 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTVPORT32_GET:
  14234 		rv = bcm_field_qualify_OutVPort32_get(
  14235 			req->args.field_qualify_OutVPort32_get.unit,
  14236 			req->args.field_qualify_OutVPort32_get.entry,
  14237 			req->args.field_qualify_OutVPort32_get.data,
  14238 			req->args.field_qualify_OutVPort32_get.mask);
  14239 		break;
  14240 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTVPORT_GET:
  14241 		rv = bcm_field_qualify_OutVPort_get(
  14242 			req->args.field_qualify_OutVPort_get.unit,
  14243 			req->args.field_qualify_OutVPort_get.entry,
  14244 			req->args.field_qualify_OutVPort_get.data,
  14245 			req->args.field_qualify_OutVPort_get.mask);
  14246 		break;
  14247 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERPRITAGGEDPKT:
  14248 		rv = bcm_field_qualify_OuterPriTaggedPkt(
  14249 			req->args.field_qualify_OuterPriTaggedPkt.unit,
  14250 			req->args.field_qualify_OuterPriTaggedPkt.entry,
  14251 			req->args.field_qualify_OuterPriTaggedPkt.data,
  14252 			req->args.field_qualify_OuterPriTaggedPkt.mask);
  14253 		break;
  14254 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERPRITAGGEDPKT_GET:
  14255 		rv = bcm_field_qualify_OuterPriTaggedPkt_get(
  14256 			req->args.field_qualify_OuterPriTaggedPkt_get.unit,
  14257 			req->args.field_qualify_OuterPriTaggedPkt_get.entry,
  14258 			req->args.field_qualify_OuterPriTaggedPkt_get.data,
  14259 			req->args.field_qualify_OuterPriTaggedPkt_get.mask);
  14260 		break;
  14261 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERTPID:
  14262 		rv = bcm_field_qualify_OuterTpid(
  14263 			req->args.field_qualify_OuterTpid.unit,
  14264 			req->args.field_qualify_OuterTpid.entry,
  14265 			req->args.field_qualify_OuterTpid.tpid);
  14266 		break;
  14267 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERTPID_GET:
  14268 		rv = bcm_field_qualify_OuterTpid_get(
  14269 			req->args.field_qualify_OuterTpid_get.unit,
  14270 			req->args.field_qualify_OuterTpid_get.entry,
  14271 			req->args.field_qualify_OuterTpid_get.tpid);
  14272 		break;
  14273 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLAN:
  14274 		rv = bcm_field_qualify_OuterVlan(
  14275 			req->args.field_qualify_OuterVlan.unit,
  14276 			req->args.field_qualify_OuterVlan.entry,
  14277 			req->args.field_qualify_OuterVlan.data,
  14278 			req->args.field_qualify_OuterVlan.mask);
  14279 		break;
  14280 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANACTIONRANGE:
  14281 		rv = bcm_field_qualify_OuterVlanActionRange(
  14282 			req->args.field_qualify_OuterVlanActionRange.unit,
  14283 			req->args.field_qualify_OuterVlanActionRange.entry,
  14284 			req->args.field_qualify_OuterVlanActionRange.data,
  14285 			req->args.field_qualify_OuterVlanActionRange.mask);
  14286 		break;
  14287 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANACTIONRANGE_GET:
  14288 		rv = bcm_field_qualify_OuterVlanActionRange_get(
  14289 			req->args.field_qualify_OuterVlanActionRange_get.unit,
  14290 			req->args.field_qualify_OuterVlanActionRange_get.entry,
  14291 			req->args.field_qualify_OuterVlanActionRange_get.data,
  14292 			req->args.field_qualify_OuterVlanActionRange_get.mask);
  14293 		break;
  14294 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANCFI:
  14295 		rv = bcm_field_qualify_OuterVlanCfi(
  14296 			req->args.field_qualify_OuterVlanCfi.unit,
  14297 			req->args.field_qualify_OuterVlanCfi.entry,
  14298 			req->args.field_qualify_OuterVlanCfi.data,
  14299 			req->args.field_qualify_OuterVlanCfi.mask);
  14300 		break;
  14301 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANCFI_GET:
  14302 		rv = bcm_field_qualify_OuterVlanCfi_get(
  14303 			req->args.field_qualify_OuterVlanCfi_get.unit,
  14304 			req->args.field_qualify_OuterVlanCfi_get.entry,
  14305 			req->args.field_qualify_OuterVlanCfi_get.data,
  14306 			req->args.field_qualify_OuterVlanCfi_get.mask);
  14307 		break;
  14308 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANID:
  14309 		rv = bcm_field_qualify_OuterVlanId(
  14310 			req->args.field_qualify_OuterVlanId.unit,
  14311 			req->args.field_qualify_OuterVlanId.entry,
  14312 			req->args.field_qualify_OuterVlanId.data,
  14313 			req->args.field_qualify_OuterVlanId.mask);
  14314 		break;
  14315 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANID_GET:
  14316 		rv = bcm_field_qualify_OuterVlanId_get(
  14317 			req->args.field_qualify_OuterVlanId_get.unit,
  14318 			req->args.field_qualify_OuterVlanId_get.entry,
  14319 			req->args.field_qualify_OuterVlanId_get.data,
  14320 			req->args.field_qualify_OuterVlanId_get.mask);
  14321 		break;
  14322 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANPRI:
  14323 		rv = bcm_field_qualify_OuterVlanPri(
  14324 			req->args.field_qualify_OuterVlanPri.unit,
  14325 			req->args.field_qualify_OuterVlanPri.entry,
  14326 			req->args.field_qualify_OuterVlanPri.data,
  14327 			req->args.field_qualify_OuterVlanPri.mask);
  14328 		break;
  14329 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANPRICFI:
  14330 		rv = bcm_field_qualify_OuterVlanPriCfi(
  14331 			req->args.field_qualify_OuterVlanPriCfi.unit,
  14332 			req->args.field_qualify_OuterVlanPriCfi.entry,
  14333 			req->args.field_qualify_OuterVlanPriCfi.data,
  14334 			req->args.field_qualify_OuterVlanPriCfi.mask);
  14335 		break;
  14336 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANPRICFI_GET:
  14337 		rv = bcm_field_qualify_OuterVlanPriCfi_get(
  14338 			req->args.field_qualify_OuterVlanPriCfi_get.unit,
  14339 			req->args.field_qualify_OuterVlanPriCfi_get.entry,
  14340 			req->args.field_qualify_OuterVlanPriCfi_get.data,
  14341 			req->args.field_qualify_OuterVlanPriCfi_get.mask);
  14342 		break;
  14343 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLANPRI_GET:
  14344 		rv = bcm_field_qualify_OuterVlanPri_get(
  14345 			req->args.field_qualify_OuterVlanPri_get.unit,
  14346 			req->args.field_qualify_OuterVlanPri_get.entry,
  14347 			req->args.field_qualify_OuterVlanPri_get.data,
  14348 			req->args.field_qualify_OuterVlanPri_get.mask);
  14349 		break;
  14350 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OUTERVLAN_GET:
  14351 		rv = bcm_field_qualify_OuterVlan_get(
  14352 			req->args.field_qualify_OuterVlan_get.unit,
  14353 			req->args.field_qualify_OuterVlan_get.entry,
  14354 			req->args.field_qualify_OuterVlan_get.data,
  14355 			req->args.field_qualify_OuterVlan_get.mask);
  14356 		break;
  14357 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYIPV4OPTIONHDRTYPE:
  14358 		rv = bcm_field_qualify_OverlayIpv4OptionHdrType(
  14359 			req->args.field_qualify_OverlayIpv4OptionHdrType.unit,
  14360 			req->args.field_qualify_OverlayIpv4OptionHdrType.entry,
  14361 			req->args.field_qualify_OverlayIpv4OptionHdrType.type);
  14362 		break;
  14363 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYIPV4OPTIONHDRTYPE_GET:
  14364 		rv = bcm_field_qualify_OverlayIpv4OptionHdrType_get(
  14365 			req->args.field_qualify_OverlayIpv4OptionHdrType_get.unit,
  14366 			req->args.field_qualify_OverlayIpv4OptionHdrType_get.entry,
  14367 			req->args.field_qualify_OverlayIpv4OptionHdrType_get.type);
  14368 		break;
  14369 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYIPV6EXTENSIONHDRTYPE:
  14370 		rv = bcm_field_qualify_OverlayIpv6ExtensionHdrType(
  14371 			req->args.field_qualify_OverlayIpv6ExtensionHdrType.unit,
  14372 			req->args.field_qualify_OverlayIpv6ExtensionHdrType.entry,
  14373 			req->args.field_qualify_OverlayIpv6ExtensionHdrType.type);
  14374 		break;
  14375 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYIPV6EXTENSIONHDRTYPE_GET:
  14376 		rv = bcm_field_qualify_OverlayIpv6ExtensionHdrType_get(
  14377 			req->args.field_qualify_OverlayIpv6ExtensionHdrType_get.unit,
  14378 			req->args.field_qualify_OverlayIpv6ExtensionHdrType_get.entry,
  14379 			req->args.field_qualify_OverlayIpv6ExtensionHdrType_get.type);
  14380 		break;
  14381 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYL2PKTTYPE:
  14382 		rv = bcm_field_qualify_OverlayL2PktType(
  14383 			req->args.field_qualify_OverlayL2PktType.unit,
  14384 			req->args.field_qualify_OverlayL2PktType.entry,
  14385 			req->args.field_qualify_OverlayL2PktType.type);
  14386 		break;
  14387 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYL2PKTTYPE_GET:
  14388 		rv = bcm_field_qualify_OverlayL2PktType_get(
  14389 			req->args.field_qualify_OverlayL2PktType_get.unit,
  14390 			req->args.field_qualify_OverlayL2PktType_get.entry,
  14391 			req->args.field_qualify_OverlayL2PktType_get.type);
  14392 		break;
  14393 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYPKTTYPE:
  14394 		rv = bcm_field_qualify_OverlayPktType(
  14395 			req->args.field_qualify_OverlayPktType.unit,
  14396 			req->args.field_qualify_OverlayPktType.entry,
  14397 			req->args.field_qualify_OverlayPktType.type);
  14398 		break;
  14399 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYPKTTYPE_GET:
  14400 		rv = bcm_field_qualify_OverlayPktType_get(
  14401 			req->args.field_qualify_OverlayPktType_get.unit,
  14402 			req->args.field_qualify_OverlayPktType_get.entry,
  14403 			req->args.field_qualify_OverlayPktType_get.type);
  14404 		break;
  14405 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYVLANFORMAT:
  14406 		rv = bcm_field_qualify_OverlayVlanFormat(
  14407 			req->args.field_qualify_OverlayVlanFormat.unit,
  14408 			req->args.field_qualify_OverlayVlanFormat.entry,
  14409 			req->args.field_qualify_OverlayVlanFormat.data,
  14410 			req->args.field_qualify_OverlayVlanFormat.mask);
  14411 		break;
  14412 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_OVERLAYVLANFORMAT_GET:
  14413 		rv = bcm_field_qualify_OverlayVlanFormat_get(
  14414 			req->args.field_qualify_OverlayVlanFormat_get.unit,
  14415 			req->args.field_qualify_OverlayVlanFormat_get.entry,
  14416 			req->args.field_qualify_OverlayVlanFormat_get.data,
  14417 			req->args.field_qualify_OverlayVlanFormat_get.mask);
  14418 		break;
  14419 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETISIEEE1588:
  14420 		rv = bcm_field_qualify_PacketIsIEEE1588(
  14421 			req->args.field_qualify_PacketIsIEEE1588.unit,
  14422 			req->args.field_qualify_PacketIsIEEE1588.entry,
  14423 			req->args.field_qualify_PacketIsIEEE1588.data,
  14424 			req->args.field_qualify_PacketIsIEEE1588.mask);
  14425 		break;
  14426 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETISIEEE1588_GET:
  14427 		rv = bcm_field_qualify_PacketIsIEEE1588_get(
  14428 			req->args.field_qualify_PacketIsIEEE1588_get.unit,
  14429 			req->args.field_qualify_PacketIsIEEE1588_get.entry,
  14430 			req->args.field_qualify_PacketIsIEEE1588_get.data,
  14431 			req->args.field_qualify_PacketIsIEEE1588_get.mask);
  14432 		break;
  14433 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETLENGTH:
  14434 		rv = bcm_field_qualify_PacketLength(
  14435 			req->args.field_qualify_PacketLength.unit,
  14436 			req->args.field_qualify_PacketLength.entry,
  14437 			req->args.field_qualify_PacketLength.data,
  14438 			req->args.field_qualify_PacketLength.mask);
  14439 		break;
  14440 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETLENGTHRANGECHECK:
  14441 		rv = bcm_field_qualify_PacketLengthRangeCheck(
  14442 			req->args.field_qualify_PacketLengthRangeCheck.unit,
  14443 			req->args.field_qualify_PacketLengthRangeCheck.entry,
  14444 			req->args.field_qualify_PacketLengthRangeCheck.range,
  14445 			req->args.field_qualify_PacketLengthRangeCheck.invert);
  14446 		break;
  14447 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETLENGTHRANGECHECK_GET:
  14448 		rv = bcm_field_qualify_PacketLengthRangeCheck_get(
  14449 			req->args.field_qualify_PacketLengthRangeCheck_get.unit,
  14450 			req->args.field_qualify_PacketLengthRangeCheck_get.entry,
  14451 			req->args.field_qualify_PacketLengthRangeCheck_get.max_count,
  14452 			req->args.field_qualify_PacketLengthRangeCheck_get.range,
  14453 			req->args.field_qualify_PacketLengthRangeCheck_get.invert,
  14454 			req->args.field_qualify_PacketLengthRangeCheck_get.count);
  14455 		break;
  14456 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETLENGTH_GET:
  14457 		rv = bcm_field_qualify_PacketLength_get(
  14458 			req->args.field_qualify_PacketLength_get.unit,
  14459 			req->args.field_qualify_PacketLength_get.entry,
  14460 			req->args.field_qualify_PacketLength_get.data,
  14461 			req->args.field_qualify_PacketLength_get.mask);
  14462 		break;
  14463 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETRES:
  14464 		rv = bcm_field_qualify_PacketRes(
  14465 			req->args.field_qualify_PacketRes.unit,
  14466 			req->args.field_qualify_PacketRes.entry,
  14467 			req->args.field_qualify_PacketRes.data,
  14468 			req->args.field_qualify_PacketRes.mask);
  14469 		break;
  14470 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETRES_GET:
  14471 		rv = bcm_field_qualify_PacketRes_get(
  14472 			req->args.field_qualify_PacketRes_get.unit,
  14473 			req->args.field_qualify_PacketRes_get.entry,
  14474 			req->args.field_qualify_PacketRes_get.data,
  14475 			req->args.field_qualify_PacketRes_get.mask);
  14476 		break;
  14477 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETSIZE:
  14478 		rv = bcm_field_qualify_PacketSize(
  14479 			req->args.field_qualify_PacketSize.unit,
  14480 			req->args.field_qualify_PacketSize.entry,
  14481 			req->args.field_qualify_PacketSize.data,
  14482 			req->args.field_qualify_PacketSize.mask);
  14483 		break;
  14484 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETSIZE_GET:
  14485 		rv = bcm_field_qualify_PacketSize_get(
  14486 			req->args.field_qualify_PacketSize_get.unit,
  14487 			req->args.field_qualify_PacketSize_get.entry,
  14488 			req->args.field_qualify_PacketSize_get.data,
  14489 			req->args.field_qualify_PacketSize_get.mask);
  14490 		break;
  14491 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETTERMINATEDBYTES:
  14492 		rv = bcm_field_qualify_PacketTerminatedBytes(
  14493 			req->args.field_qualify_PacketTerminatedBytes.unit,
  14494 			req->args.field_qualify_PacketTerminatedBytes.entry,
  14495 			req->args.field_qualify_PacketTerminatedBytes.data,
  14496 			req->args.field_qualify_PacketTerminatedBytes.mask);
  14497 		break;
  14498 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PACKETTERMINATEDBYTES_GET:
  14499 		rv = bcm_field_qualify_PacketTerminatedBytes_get(
  14500 			req->args.field_qualify_PacketTerminatedBytes_get.unit,
  14501 			req->args.field_qualify_PacketTerminatedBytes_get.entry,
  14502 			req->args.field_qualify_PacketTerminatedBytes_get.data,
  14503 			req->args.field_qualify_PacketTerminatedBytes_get.mask);
  14504 		break;
  14505 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PIMBIDIRDFSTATUS:
  14506 		rv = bcm_field_qualify_PimBidirDfStatus(
  14507 			req->args.field_qualify_PimBidirDfStatus.unit,
  14508 			req->args.field_qualify_PimBidirDfStatus.entry,
  14509 			req->args.field_qualify_PimBidirDfStatus.data,
  14510 			req->args.field_qualify_PimBidirDfStatus.mask);
  14511 		break;
  14512 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PIMBIDIRDFSTATUS_GET:
  14513 		rv = bcm_field_qualify_PimBidirDfStatus_get(
  14514 			req->args.field_qualify_PimBidirDfStatus_get.unit,
  14515 			req->args.field_qualify_PimBidirDfStatus_get.entry,
  14516 			req->args.field_qualify_PimBidirDfStatus_get.data,
  14517 			req->args.field_qualify_PimBidirDfStatus_get.mask);
  14518 		break;
  14519 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTDSTADDRTYPE:
  14520 		rv = bcm_field_qualify_PktDstAddrType(
  14521 			req->args.field_qualify_PktDstAddrType.unit,
  14522 			req->args.field_qualify_PktDstAddrType.entry,
  14523 			req->args.field_qualify_PktDstAddrType.dst_addr_type);
  14524 		break;
  14525 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTDSTADDRTYPE_GET:
  14526 		rv = bcm_field_qualify_PktDstAddrType_get(
  14527 			req->args.field_qualify_PktDstAddrType_get.unit,
  14528 			req->args.field_qualify_PktDstAddrType_get.entry,
  14529 			req->args.field_qualify_PktDstAddrType_get.dst_addr_type);
  14530 		break;
  14531 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTFLOWTYPE:
  14532 		rv = bcm_field_qualify_PktFlowType(
  14533 			req->args.field_qualify_PktFlowType.unit,
  14534 			req->args.field_qualify_PktFlowType.entry,
  14535 			req->args.field_qualify_PktFlowType.type);
  14536 		break;
  14537 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTFLOWTYPE_GET:
  14538 		rv = bcm_field_qualify_PktFlowType_get(
  14539 			req->args.field_qualify_PktFlowType_get.unit,
  14540 			req->args.field_qualify_PktFlowType_get.entry,
  14541 			req->args.field_qualify_PktFlowType_get.type);
  14542 		break;
  14543 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTINNERDSTADDRTYPE:
  14544 		rv = bcm_field_qualify_PktInnerDstAddrType(
  14545 			req->args.field_qualify_PktInnerDstAddrType.unit,
  14546 			req->args.field_qualify_PktInnerDstAddrType.entry,
  14547 			req->args.field_qualify_PktInnerDstAddrType.dst_addr_type);
  14548 		break;
  14549 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTINNERDSTADDRTYPE_GET:
  14550 		rv = bcm_field_qualify_PktInnerDstAddrType_get(
  14551 			req->args.field_qualify_PktInnerDstAddrType_get.unit,
  14552 			req->args.field_qualify_PktInnerDstAddrType_get.entry,
  14553 			req->args.field_qualify_PktInnerDstAddrType_get.dst_addr_type);
  14554 		break;
  14555 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTISVISIBLE:
  14556 		rv = bcm_field_qualify_PktIsVisible(
  14557 			req->args.field_qualify_PktIsVisible.unit,
  14558 			req->args.field_qualify_PktIsVisible.entry,
  14559 			req->args.field_qualify_PktIsVisible.data,
  14560 			req->args.field_qualify_PktIsVisible.mask);
  14561 		break;
  14562 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTISVISIBLE_GET:
  14563 		rv = bcm_field_qualify_PktIsVisible_get(
  14564 			req->args.field_qualify_PktIsVisible_get.unit,
  14565 			req->args.field_qualify_PktIsVisible_get.entry,
  14566 			req->args.field_qualify_PktIsVisible_get.data,
  14567 			req->args.field_qualify_PktIsVisible_get.mask);
  14568 		break;
  14569 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTTYPE:
  14570 		rv = bcm_field_qualify_PktType(
  14571 			req->args.field_qualify_PktType.unit,
  14572 			req->args.field_qualify_PktType.entry,
  14573 			req->args.field_qualify_PktType.type);
  14574 		break;
  14575 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PKTTYPE_GET:
  14576 		rv = bcm_field_qualify_PktType_get(
  14577 			req->args.field_qualify_PktType_get.unit,
  14578 			req->args.field_qualify_PktType_get.entry,
  14579 			req->args.field_qualify_PktType_get.type);
  14580 		break;
  14581 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_POLICERINTPRIO:
  14582 		rv = bcm_field_qualify_PolicerIntPrio(
  14583 			req->args.field_qualify_PolicerIntPrio.unit,
  14584 			req->args.field_qualify_PolicerIntPrio.entry,
  14585 			req->args.field_qualify_PolicerIntPrio.data,
  14586 			req->args.field_qualify_PolicerIntPrio.mask);
  14587 		break;
  14588 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_POLICERINTPRIO_GET:
  14589 		rv = bcm_field_qualify_PolicerIntPrio_get(
  14590 			req->args.field_qualify_PolicerIntPrio_get.unit,
  14591 			req->args.field_qualify_PolicerIntPrio_get.entry,
  14592 			req->args.field_qualify_PolicerIntPrio_get.data,
  14593 			req->args.field_qualify_PolicerIntPrio_get.mask);
  14594 		break;
  14595 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PORTORIENTATION:
  14596 		rv = bcm_field_qualify_PortOrientation(
  14597 			req->args.field_qualify_PortOrientation.unit,
  14598 			req->args.field_qualify_PortOrientation.entry,
  14599 			req->args.field_qualify_PortOrientation.data,
  14600 			req->args.field_qualify_PortOrientation.mask);
  14601 		break;
  14602 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PORTORIENTATION_GET:
  14603 		rv = bcm_field_qualify_PortOrientation_get(
  14604 			req->args.field_qualify_PortOrientation_get.unit,
  14605 			req->args.field_qualify_PortOrientation_get.entry,
  14606 			req->args.field_qualify_PortOrientation_get.data,
  14607 			req->args.field_qualify_PortOrientation_get.mask);
  14608 		break;
  14609 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PREEMPTABLEPACKET:
  14610 		rv = bcm_field_qualify_PreemptablePacket(
  14611 			req->args.field_qualify_PreemptablePacket.unit,
  14612 			req->args.field_qualify_PreemptablePacket.entry,
  14613 			req->args.field_qualify_PreemptablePacket.data,
  14614 			req->args.field_qualify_PreemptablePacket.mask);
  14615 		break;
  14616 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PREEMPTABLEPACKET_GET:
  14617 		rv = bcm_field_qualify_PreemptablePacket_get(
  14618 			req->args.field_qualify_PreemptablePacket_get.unit,
  14619 			req->args.field_qualify_PreemptablePacket_get.entry,
  14620 			req->args.field_qualify_PreemptablePacket_get.data,
  14621 			req->args.field_qualify_PreemptablePacket_get.mask);
  14622 		break;
  14623 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PRESELID:
  14624 		rv = bcm_field_qualify_PreselId(
  14625 			req->args.field_qualify_PreselId.unit,
  14626 			req->args.field_qualify_PreselId.entry,
  14627 			req->args.field_qualify_PreselId.data,
  14628 			req->args.field_qualify_PreselId.mask);
  14629 		break;
  14630 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PRESELID_GET:
  14631 		rv = bcm_field_qualify_PreselId_get(
  14632 			req->args.field_qualify_PreselId_get.unit,
  14633 			req->args.field_qualify_PreselId_get.entry,
  14634 			req->args.field_qualify_PreselId_get.data,
  14635 			req->args.field_qualify_PreselId_get.mask);
  14636 		break;
  14637 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PTCH:
  14638 		rv = bcm_field_qualify_Ptch(
  14639 			req->args.field_qualify_Ptch.unit,
  14640 			req->args.field_qualify_Ptch.entry,
  14641 			req->args.field_qualify_Ptch.data,
  14642 			req->args.field_qualify_Ptch.mask);
  14643 		break;
  14644 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_PTCH_GET:
  14645 		rv = bcm_field_qualify_Ptch_get(
  14646 			req->args.field_qualify_Ptch_get.unit,
  14647 			req->args.field_qualify_Ptch_get.entry,
  14648 			req->args.field_qualify_Ptch_get.data,
  14649 			req->args.field_qualify_Ptch_get.mask);
  14650 		break;
  14651 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RANGECHECK:
  14652 		rv = bcm_field_qualify_RangeCheck(
  14653 			req->args.field_qualify_RangeCheck.unit,
  14654 			req->args.field_qualify_RangeCheck.entry,
  14655 			req->args.field_qualify_RangeCheck.range,
  14656 			req->args.field_qualify_RangeCheck.invert);
  14657 		break;
  14658 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RANGECHECKGROUP:
  14659 		rv = bcm_field_qualify_RangeCheckGroup(
  14660 			req->args.field_qualify_RangeCheckGroup.unit,
  14661 			req->args.field_qualify_RangeCheckGroup.entry,
  14662 			req->args.field_qualify_RangeCheckGroup.data,
  14663 			req->args.field_qualify_RangeCheckGroup.mask);
  14664 		break;
  14665 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RANGECHECKGROUP_GET:
  14666 		rv = bcm_field_qualify_RangeCheckGroup_get(
  14667 			req->args.field_qualify_RangeCheckGroup_get.unit,
  14668 			req->args.field_qualify_RangeCheckGroup_get.entry,
  14669 			req->args.field_qualify_RangeCheckGroup_get.data,
  14670 			req->args.field_qualify_RangeCheckGroup_get.mask);
  14671 		break;
  14672 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RANGECHECK_GET:
  14673 		rv = bcm_field_qualify_RangeCheck_get(
  14674 			req->args.field_qualify_RangeCheck_get.unit,
  14675 			req->args.field_qualify_RangeCheck_get.entry,
  14676 			req->args.field_qualify_RangeCheck_get.max_count,
  14677 			req->args.field_qualify_RangeCheck_get.range,
  14678 			req->args.field_qualify_RangeCheck_get.invert,
  14679 			req->args.field_qualify_RangeCheck_get.count);
  14680 		break;
  14681 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RECOVERABLEDROP:
  14682 		rv = bcm_field_qualify_RecoverableDrop(
  14683 			req->args.field_qualify_RecoverableDrop.unit,
  14684 			req->args.field_qualify_RecoverableDrop.entry,
  14685 			req->args.field_qualify_RecoverableDrop.data,
  14686 			req->args.field_qualify_RecoverableDrop.mask);
  14687 		break;
  14688 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RECOVERABLEDROP_GET:
  14689 		rv = bcm_field_qualify_RecoverableDrop_get(
  14690 			req->args.field_qualify_RecoverableDrop_get.unit,
  14691 			req->args.field_qualify_RecoverableDrop_get.entry,
  14692 			req->args.field_qualify_RecoverableDrop_get.data,
  14693 			req->args.field_qualify_RecoverableDrop_get.mask);
  14694 		break;
  14695 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_REPCOPY:
  14696 		rv = bcm_field_qualify_RepCopy(
  14697 			req->args.field_qualify_RepCopy.unit,
  14698 			req->args.field_qualify_RepCopy.entry,
  14699 			req->args.field_qualify_RepCopy.data,
  14700 			req->args.field_qualify_RepCopy.mask);
  14701 		break;
  14702 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_REPCOPY_GET:
  14703 		rv = bcm_field_qualify_RepCopy_get(
  14704 			req->args.field_qualify_RepCopy_get.unit,
  14705 			req->args.field_qualify_RepCopy_get.entry,
  14706 			req->args.field_qualify_RepCopy_get.data,
  14707 			req->args.field_qualify_RepCopy_get.mask);
  14708 		break;
  14709 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_REPLICANTANY:
  14710 		rv = bcm_field_qualify_ReplicantAny(
  14711 			req->args.field_qualify_ReplicantAny.unit,
  14712 			req->args.field_qualify_ReplicantAny.entry,
  14713 			req->args.field_qualify_ReplicantAny.data,
  14714 			req->args.field_qualify_ReplicantAny.mask);
  14715 		break;
  14716 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_REPLICANTANY_GET:
  14717 		rv = bcm_field_qualify_ReplicantAny_get(
  14718 			req->args.field_qualify_ReplicantAny_get.unit,
  14719 			req->args.field_qualify_ReplicantAny_get.entry,
  14720 			req->args.field_qualify_ReplicantAny_get.data,
  14721 			req->args.field_qualify_ReplicantAny_get.mask);
  14722 		break;
  14723 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_REPLICANTFIRST:
  14724 		rv = bcm_field_qualify_ReplicantFirst(
  14725 			req->args.field_qualify_ReplicantFirst.unit,
  14726 			req->args.field_qualify_ReplicantFirst.entry,
  14727 			req->args.field_qualify_ReplicantFirst.data,
  14728 			req->args.field_qualify_ReplicantFirst.mask);
  14729 		break;
  14730 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_REPLICANTFIRST_GET:
  14731 		rv = bcm_field_qualify_ReplicantFirst_get(
  14732 			req->args.field_qualify_ReplicantFirst_get.unit,
  14733 			req->args.field_qualify_ReplicantFirst_get.entry,
  14734 			req->args.field_qualify_ReplicantFirst_get.data,
  14735 			req->args.field_qualify_ReplicantFirst_get.mask);
  14736 		break;
  14737 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEBTHDSTQUEUEPAIR:
  14738 		rv = bcm_field_qualify_RoceBthDstQueuePair(
  14739 			req->args.field_qualify_RoceBthDstQueuePair.unit,
  14740 			req->args.field_qualify_RoceBthDstQueuePair.entry,
  14741 			req->args.field_qualify_RoceBthDstQueuePair.data,
  14742 			req->args.field_qualify_RoceBthDstQueuePair.mask);
  14743 		break;
  14744 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEBTHDSTQUEUEPAIR_GET:
  14745 		rv = bcm_field_qualify_RoceBthDstQueuePair_get(
  14746 			req->args.field_qualify_RoceBthDstQueuePair_get.unit,
  14747 			req->args.field_qualify_RoceBthDstQueuePair_get.entry,
  14748 			req->args.field_qualify_RoceBthDstQueuePair_get.data,
  14749 			req->args.field_qualify_RoceBthDstQueuePair_get.mask);
  14750 		break;
  14751 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEBTHFLAGS:
  14752 		rv = bcm_field_qualify_RoceBthFlags(
  14753 			req->args.field_qualify_RoceBthFlags.unit,
  14754 			req->args.field_qualify_RoceBthFlags.entry,
  14755 			req->args.field_qualify_RoceBthFlags.data,
  14756 			req->args.field_qualify_RoceBthFlags.mask);
  14757 		break;
  14758 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEBTHFLAGS_GET:
  14759 		rv = bcm_field_qualify_RoceBthFlags_get(
  14760 			req->args.field_qualify_RoceBthFlags_get.unit,
  14761 			req->args.field_qualify_RoceBthFlags_get.entry,
  14762 			req->args.field_qualify_RoceBthFlags_get.data,
  14763 			req->args.field_qualify_RoceBthFlags_get.mask);
  14764 		break;
  14765 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEBTHOPCODE:
  14766 		rv = bcm_field_qualify_RoceBthOpcode(
  14767 			req->args.field_qualify_RoceBthOpcode.unit,
  14768 			req->args.field_qualify_RoceBthOpcode.entry,
  14769 			req->args.field_qualify_RoceBthOpcode.data,
  14770 			req->args.field_qualify_RoceBthOpcode.mask);
  14771 		break;
  14772 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEBTHOPCODE_GET:
  14773 		rv = bcm_field_qualify_RoceBthOpcode_get(
  14774 			req->args.field_qualify_RoceBthOpcode_get.unit,
  14775 			req->args.field_qualify_RoceBthOpcode_get.entry,
  14776 			req->args.field_qualify_RoceBthOpcode_get.data,
  14777 			req->args.field_qualify_RoceBthOpcode_get.mask);
  14778 		break;
  14779 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEBTHPARTITIONKEY:
  14780 		rv = bcm_field_qualify_RoceBthPartitionKey(
  14781 			req->args.field_qualify_RoceBthPartitionKey.unit,
  14782 			req->args.field_qualify_RoceBthPartitionKey.entry,
  14783 			req->args.field_qualify_RoceBthPartitionKey.data,
  14784 			req->args.field_qualify_RoceBthPartitionKey.mask);
  14785 		break;
  14786 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEBTHPARTITIONKEY_GET:
  14787 		rv = bcm_field_qualify_RoceBthPartitionKey_get(
  14788 			req->args.field_qualify_RoceBthPartitionKey_get.unit,
  14789 			req->args.field_qualify_RoceBthPartitionKey_get.entry,
  14790 			req->args.field_qualify_RoceBthPartitionKey_get.data,
  14791 			req->args.field_qualify_RoceBthPartitionKey_get.mask);
  14792 		break;
  14793 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEVER1PKT:
  14794 		rv = bcm_field_qualify_RoceVer1Pkt(
  14795 			req->args.field_qualify_RoceVer1Pkt.unit,
  14796 			req->args.field_qualify_RoceVer1Pkt.entry,
  14797 			req->args.field_qualify_RoceVer1Pkt.data,
  14798 			req->args.field_qualify_RoceVer1Pkt.mask);
  14799 		break;
  14800 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEVER1PKT_GET:
  14801 		rv = bcm_field_qualify_RoceVer1Pkt_get(
  14802 			req->args.field_qualify_RoceVer1Pkt_get.unit,
  14803 			req->args.field_qualify_RoceVer1Pkt_get.entry,
  14804 			req->args.field_qualify_RoceVer1Pkt_get.data,
  14805 			req->args.field_qualify_RoceVer1Pkt_get.mask);
  14806 		break;
  14807 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEVER2PKT:
  14808 		rv = bcm_field_qualify_RoceVer2Pkt(
  14809 			req->args.field_qualify_RoceVer2Pkt.unit,
  14810 			req->args.field_qualify_RoceVer2Pkt.entry,
  14811 			req->args.field_qualify_RoceVer2Pkt.data,
  14812 			req->args.field_qualify_RoceVer2Pkt.mask);
  14813 		break;
  14814 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROCEVER2PKT_GET:
  14815 		rv = bcm_field_qualify_RoceVer2Pkt_get(
  14816 			req->args.field_qualify_RoceVer2Pkt_get.unit,
  14817 			req->args.field_qualify_RoceVer2Pkt_get.entry,
  14818 			req->args.field_qualify_RoceVer2Pkt_get.data,
  14819 			req->args.field_qualify_RoceVer2Pkt_get.mask);
  14820 		break;
  14821 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROEFRAMETYPE:
  14822 		rv = bcm_field_qualify_RoeFrameType(
  14823 			req->args.field_qualify_RoeFrameType.unit,
  14824 			req->args.field_qualify_RoeFrameType.entry,
  14825 			req->args.field_qualify_RoeFrameType.data);
  14826 		break;
  14827 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROEFRAMETYPE_GET:
  14828 		rv = bcm_field_qualify_RoeFrameType_get(
  14829 			req->args.field_qualify_RoeFrameType_get.unit,
  14830 			req->args.field_qualify_RoeFrameType_get.entry,
  14831 			req->args.field_qualify_RoeFrameType_get.data);
  14832 		break;
  14833 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROUTERALERTLABELVALID:
  14834 		rv = bcm_field_qualify_RouterAlertLabelValid(
  14835 			req->args.field_qualify_RouterAlertLabelValid.unit,
  14836 			req->args.field_qualify_RouterAlertLabelValid.entry,
  14837 			req->args.field_qualify_RouterAlertLabelValid.data,
  14838 			req->args.field_qualify_RouterAlertLabelValid.mask);
  14839 		break;
  14840 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_ROUTERALERTLABELVALID_GET:
  14841 		rv = bcm_field_qualify_RouterAlertLabelValid_get(
  14842 			req->args.field_qualify_RouterAlertLabelValid_get.unit,
  14843 			req->args.field_qualify_RouterAlertLabelValid_get.entry,
  14844 			req->args.field_qualify_RouterAlertLabelValid_get.data,
  14845 			req->args.field_qualify_RouterAlertLabelValid_get.mask);
  14846 		break;
  14847 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RTAG7AHASHLOWER:
  14848 		rv = bcm_field_qualify_Rtag7AHashLower(
  14849 			req->args.field_qualify_Rtag7AHashLower.unit,
  14850 			req->args.field_qualify_Rtag7AHashLower.entry,
  14851 			req->args.field_qualify_Rtag7AHashLower.data,
  14852 			req->args.field_qualify_Rtag7AHashLower.mask);
  14853 		break;
  14854 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RTAG7AHASHLOWER_GET:
  14855 		rv = bcm_field_qualify_Rtag7AHashLower_get(
  14856 			req->args.field_qualify_Rtag7AHashLower_get.unit,
  14857 			req->args.field_qualify_Rtag7AHashLower_get.entry,
  14858 			req->args.field_qualify_Rtag7AHashLower_get.data,
  14859 			req->args.field_qualify_Rtag7AHashLower_get.mask);
  14860 		break;
  14861 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RTAG7AHASHUPPER:
  14862 		rv = bcm_field_qualify_Rtag7AHashUpper(
  14863 			req->args.field_qualify_Rtag7AHashUpper.unit,
  14864 			req->args.field_qualify_Rtag7AHashUpper.entry,
  14865 			req->args.field_qualify_Rtag7AHashUpper.data,
  14866 			req->args.field_qualify_Rtag7AHashUpper.mask);
  14867 		break;
  14868 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RTAG7AHASHUPPER_GET:
  14869 		rv = bcm_field_qualify_Rtag7AHashUpper_get(
  14870 			req->args.field_qualify_Rtag7AHashUpper_get.unit,
  14871 			req->args.field_qualify_Rtag7AHashUpper_get.entry,
  14872 			req->args.field_qualify_Rtag7AHashUpper_get.data,
  14873 			req->args.field_qualify_Rtag7AHashUpper_get.mask);
  14874 		break;
  14875 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RTAG7BHASHLOWER:
  14876 		rv = bcm_field_qualify_Rtag7BHashLower(
  14877 			req->args.field_qualify_Rtag7BHashLower.unit,
  14878 			req->args.field_qualify_Rtag7BHashLower.entry,
  14879 			req->args.field_qualify_Rtag7BHashLower.data,
  14880 			req->args.field_qualify_Rtag7BHashLower.mask);
  14881 		break;
  14882 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RTAG7BHASHLOWER_GET:
  14883 		rv = bcm_field_qualify_Rtag7BHashLower_get(
  14884 			req->args.field_qualify_Rtag7BHashLower_get.unit,
  14885 			req->args.field_qualify_Rtag7BHashLower_get.entry,
  14886 			req->args.field_qualify_Rtag7BHashLower_get.data,
  14887 			req->args.field_qualify_Rtag7BHashLower_get.mask);
  14888 		break;
  14889 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RTAG7BHASHUPPER:
  14890 		rv = bcm_field_qualify_Rtag7BHashUpper(
  14891 			req->args.field_qualify_Rtag7BHashUpper.unit,
  14892 			req->args.field_qualify_Rtag7BHashUpper.entry,
  14893 			req->args.field_qualify_Rtag7BHashUpper.data,
  14894 			req->args.field_qualify_Rtag7BHashUpper.mask);
  14895 		break;
  14896 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RTAG7BHASHUPPER_GET:
  14897 		rv = bcm_field_qualify_Rtag7BHashUpper_get(
  14898 			req->args.field_qualify_Rtag7BHashUpper_get.unit,
  14899 			req->args.field_qualify_Rtag7BHashUpper_get.entry,
  14900 			req->args.field_qualify_Rtag7BHashUpper_get.data,
  14901 			req->args.field_qualify_Rtag7BHashUpper_get.mask);
  14902 		break;
  14903 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPCODE:
  14904 		rv = bcm_field_qualify_RxTrapCode(
  14905 			req->args.field_qualify_RxTrapCode.unit,
  14906 			req->args.field_qualify_RxTrapCode.entry,
  14907 			req->args.field_qualify_RxTrapCode.data);
  14908 		break;
  14909 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPCODE32:
  14910 		rv = bcm_field_qualify_RxTrapCode32(
  14911 			req->args.field_qualify_RxTrapCode32.unit,
  14912 			req->args.field_qualify_RxTrapCode32.entry,
  14913 			req->args.field_qualify_RxTrapCode32.data,
  14914 			req->args.field_qualify_RxTrapCode32.mask);
  14915 		break;
  14916 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPCODE32_GET:
  14917 		rv = bcm_field_qualify_RxTrapCode32_get(
  14918 			req->args.field_qualify_RxTrapCode32_get.unit,
  14919 			req->args.field_qualify_RxTrapCode32_get.entry,
  14920 			req->args.field_qualify_RxTrapCode32_get.data,
  14921 			req->args.field_qualify_RxTrapCode32_get.mask);
  14922 		break;
  14923 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPCODEFORSNOOP:
  14924 		rv = bcm_field_qualify_RxTrapCodeForSnoop(
  14925 			req->args.field_qualify_RxTrapCodeForSnoop.unit,
  14926 			req->args.field_qualify_RxTrapCodeForSnoop.entry,
  14927 			req->args.field_qualify_RxTrapCodeForSnoop.data,
  14928 			req->args.field_qualify_RxTrapCodeForSnoop.mask);
  14929 		break;
  14930 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPCODEFORSNOOP_GET:
  14931 		rv = bcm_field_qualify_RxTrapCodeForSnoop_get(
  14932 			req->args.field_qualify_RxTrapCodeForSnoop_get.unit,
  14933 			req->args.field_qualify_RxTrapCodeForSnoop_get.entry,
  14934 			req->args.field_qualify_RxTrapCodeForSnoop_get.data,
  14935 			req->args.field_qualify_RxTrapCodeForSnoop_get.mask);
  14936 		break;
  14937 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPCODE_GET:
  14938 		rv = bcm_field_qualify_RxTrapCode_get(
  14939 			req->args.field_qualify_RxTrapCode_get.unit,
  14940 			req->args.field_qualify_RxTrapCode_get.entry,
  14941 			req->args.field_qualify_RxTrapCode_get.data);
  14942 		break;
  14943 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPDATA:
  14944 		rv = bcm_field_qualify_RxTrapData(
  14945 			req->args.field_qualify_RxTrapData.unit,
  14946 			req->args.field_qualify_RxTrapData.entry,
  14947 			req->args.field_qualify_RxTrapData.data,
  14948 			req->args.field_qualify_RxTrapData.mask);
  14949 		break;
  14950 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPDATA_GET:
  14951 		rv = bcm_field_qualify_RxTrapData_get(
  14952 			req->args.field_qualify_RxTrapData_get.unit,
  14953 			req->args.field_qualify_RxTrapData_get.entry,
  14954 			req->args.field_qualify_RxTrapData_get.data,
  14955 			req->args.field_qualify_RxTrapData_get.mask);
  14956 		break;
  14957 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPSTRENGTH:
  14958 		rv = bcm_field_qualify_RxTrapStrength(
  14959 			req->args.field_qualify_RxTrapStrength.unit,
  14960 			req->args.field_qualify_RxTrapStrength.entry,
  14961 			req->args.field_qualify_RxTrapStrength.data,
  14962 			req->args.field_qualify_RxTrapStrength.mask);
  14963 		break;
  14964 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_RXTRAPSTRENGTH_GET:
  14965 		rv = bcm_field_qualify_RxTrapStrength_get(
  14966 			req->args.field_qualify_RxTrapStrength_get.unit,
  14967 			req->args.field_qualify_RxTrapStrength_get.entry,
  14968 			req->args.field_qualify_RxTrapStrength_get.data,
  14969 			req->args.field_qualify_RxTrapStrength_get.mask);
  14970 		break;
  14971 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRDUPLICATE:
  14972 		rv = bcm_field_qualify_SRDuplicate(
  14973 			req->args.field_qualify_SRDuplicate.unit,
  14974 			req->args.field_qualify_SRDuplicate.entry,
  14975 			req->args.field_qualify_SRDuplicate.data);
  14976 		break;
  14977 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRDUPLICATE_GET:
  14978 		rv = bcm_field_qualify_SRDuplicate_get(
  14979 			req->args.field_qualify_SRDuplicate_get.unit,
  14980 			req->args.field_qualify_SRDuplicate_get.entry,
  14981 			req->args.field_qualify_SRDuplicate_get.data);
  14982 		break;
  14983 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRERROR:
  14984 		rv = bcm_field_qualify_SRError(
  14985 			req->args.field_qualify_SRError.unit,
  14986 			req->args.field_qualify_SRError.entry,
  14987 			req->args.field_qualify_SRError.data,
  14988 			req->args.field_qualify_SRError.mask);
  14989 		break;
  14990 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRERROR_GET:
  14991 		rv = bcm_field_qualify_SRError_get(
  14992 			req->args.field_qualify_SRError_get.unit,
  14993 			req->args.field_qualify_SRError_get.entry,
  14994 			req->args.field_qualify_SRError_get.data,
  14995 			req->args.field_qualify_SRError_get.mask);
  14996 		break;
  14997 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRFLOWID:
  14998 		rv = bcm_field_qualify_SRFlowId(
  14999 			req->args.field_qualify_SRFlowId.unit,
  15000 			req->args.field_qualify_SRFlowId.entry,
  15001 			req->args.field_qualify_SRFlowId.data,
  15002 			req->args.field_qualify_SRFlowId.mask);
  15003 		break;
  15004 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRFLOWID_GET:
  15005 		rv = bcm_field_qualify_SRFlowId_get(
  15006 			req->args.field_qualify_SRFlowId_get.unit,
  15007 			req->args.field_qualify_SRFlowId_get.entry,
  15008 			req->args.field_qualify_SRFlowId_get.data,
  15009 			req->args.field_qualify_SRFlowId_get.mask);
  15010 		break;
  15011 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRLANID:
  15012 		rv = bcm_field_qualify_SRLanId(
  15013 			req->args.field_qualify_SRLanId.unit,
  15014 			req->args.field_qualify_SRLanId.entry,
  15015 			req->args.field_qualify_SRLanId.lan_id);
  15016 		break;
  15017 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRLANID_GET:
  15018 		rv = bcm_field_qualify_SRLanId_get(
  15019 			req->args.field_qualify_SRLanId_get.unit,
  15020 			req->args.field_qualify_SRLanId_get.entry,
  15021 			req->args.field_qualify_SRLanId_get.lan_id);
  15022 		break;
  15023 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRNETID:
  15024 		rv = bcm_field_qualify_SRNetId(
  15025 			req->args.field_qualify_SRNetId.unit,
  15026 			req->args.field_qualify_SRNetId.entry,
  15027 			req->args.field_qualify_SRNetId.net_id);
  15028 		break;
  15029 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRNETIDMATCHED:
  15030 		rv = bcm_field_qualify_SRNetIdMatched(
  15031 			req->args.field_qualify_SRNetIdMatched.unit,
  15032 			req->args.field_qualify_SRNetIdMatched.entry,
  15033 			req->args.field_qualify_SRNetIdMatched.data);
  15034 		break;
  15035 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRNETIDMATCHED_GET:
  15036 		rv = bcm_field_qualify_SRNetIdMatched_get(
  15037 			req->args.field_qualify_SRNetIdMatched_get.unit,
  15038 			req->args.field_qualify_SRNetIdMatched_get.entry,
  15039 			req->args.field_qualify_SRNetIdMatched_get.data);
  15040 		break;
  15041 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRNETID_GET:
  15042 		rv = bcm_field_qualify_SRNetId_get(
  15043 			req->args.field_qualify_SRNetId_get.unit,
  15044 			req->args.field_qualify_SRNetId_get.entry,
  15045 			req->args.field_qualify_SRNetId_get.net_id);
  15046 		break;
  15047 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRSRCNODEISSAN:
  15048 		rv = bcm_field_qualify_SRSrcNodeIsSan(
  15049 			req->args.field_qualify_SRSrcNodeIsSan.unit,
  15050 			req->args.field_qualify_SRSrcNodeIsSan.entry,
  15051 			req->args.field_qualify_SRSrcNodeIsSan.data);
  15052 		break;
  15053 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRSRCNODEISSAN_GET:
  15054 		rv = bcm_field_qualify_SRSrcNodeIsSan_get(
  15055 			req->args.field_qualify_SRSrcNodeIsSan_get.unit,
  15056 			req->args.field_qualify_SRSrcNodeIsSan_get.entry,
  15057 			req->args.field_qualify_SRSrcNodeIsSan_get.data);
  15058 		break;
  15059 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRSUPERVISIONTYPE:
  15060 		rv = bcm_field_qualify_SRSupervisionType(
  15061 			req->args.field_qualify_SRSupervisionType.unit,
  15062 			req->args.field_qualify_SRSupervisionType.entry,
  15063 			req->args.field_qualify_SRSupervisionType.type);
  15064 		break;
  15065 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRSUPERVISIONTYPE_GET:
  15066 		rv = bcm_field_qualify_SRSupervisionType_get(
  15067 			req->args.field_qualify_SRSupervisionType_get.unit,
  15068 			req->args.field_qualify_SRSupervisionType_get.entry,
  15069 			req->args.field_qualify_SRSupervisionType_get.type);
  15070 		break;
  15071 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRTAGTYPE:
  15072 		rv = bcm_field_qualify_SRTagType(
  15073 			req->args.field_qualify_SRTagType.unit,
  15074 			req->args.field_qualify_SRTagType.entry,
  15075 			req->args.field_qualify_SRTagType.type);
  15076 		break;
  15077 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRTAGTYPE_GET:
  15078 		rv = bcm_field_qualify_SRTagType_get(
  15079 			req->args.field_qualify_SRTagType_get.unit,
  15080 			req->args.field_qualify_SRTagType_get.entry,
  15081 			req->args.field_qualify_SRTagType_get.type);
  15082 		break;
  15083 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SNAP:
  15084 		rv = bcm_field_qualify_Snap(
  15085 			req->args.field_qualify_Snap.unit,
  15086 			req->args.field_qualify_Snap.entry,
  15087 			req->args.field_qualify_Snap.data,
  15088 			req->args.field_qualify_Snap.mask);
  15089 		break;
  15090 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SNAP_GET:
  15091 		rv = bcm_field_qualify_Snap_get(
  15092 			req->args.field_qualify_Snap_get.unit,
  15093 			req->args.field_qualify_Snap_get.entry,
  15094 			req->args.field_qualify_Snap_get.data,
  15095 			req->args.field_qualify_Snap_get.mask);
  15096 		break;
  15097 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SNOOPCOPY:
  15098 		rv = bcm_field_qualify_SnoopCopy(
  15099 			req->args.field_qualify_SnoopCopy.unit,
  15100 			req->args.field_qualify_SnoopCopy.entry,
  15101 			req->args.field_qualify_SnoopCopy.data,
  15102 			req->args.field_qualify_SnoopCopy.mask);
  15103 		break;
  15104 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SNOOPCOPY_GET:
  15105 		rv = bcm_field_qualify_SnoopCopy_get(
  15106 			req->args.field_qualify_SnoopCopy_get.unit,
  15107 			req->args.field_qualify_SnoopCopy_get.entry,
  15108 			req->args.field_qualify_SnoopCopy_get.data,
  15109 			req->args.field_qualify_SnoopCopy_get.mask);
  15110 		break;
  15111 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SOURCEGPORTBITMAP:
  15112 		rv = bcm_field_qualify_SourceGportBitmap(
  15113 			req->args.field_qualify_SourceGportBitmap.unit,
  15114 			req->args.field_qualify_SourceGportBitmap.entry,
  15115 			req->args.field_qualify_SourceGportBitmap.data,
  15116 			req->args.field_qualify_SourceGportBitmap.mask);
  15117 		break;
  15118 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SOURCEGPORTBITMAP_GET:
  15119 		rv = bcm_field_qualify_SourceGportBitmap_get(
  15120 			req->args.field_qualify_SourceGportBitmap_get.unit,
  15121 			req->args.field_qualify_SourceGportBitmap_get.entry,
  15122 			req->args.field_qualify_SourceGportBitmap_get.data,
  15123 			req->args.field_qualify_SourceGportBitmap_get.mask);
  15124 		break;
  15125 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCCLASSFIELD:
  15126 		rv = bcm_field_qualify_SrcClassField(
  15127 			req->args.field_qualify_SrcClassField.unit,
  15128 			req->args.field_qualify_SrcClassField.entry,
  15129 			req->args.field_qualify_SrcClassField.data,
  15130 			req->args.field_qualify_SrcClassField.mask);
  15131 		break;
  15132 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCCLASSFIELD_GET:
  15133 		rv = bcm_field_qualify_SrcClassField_get(
  15134 			req->args.field_qualify_SrcClassField_get.unit,
  15135 			req->args.field_qualify_SrcClassField_get.entry,
  15136 			req->args.field_qualify_SrcClassField_get.data,
  15137 			req->args.field_qualify_SrcClassField_get.mask);
  15138 		break;
  15139 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCCLASSL2:
  15140 		rv = bcm_field_qualify_SrcClassL2(
  15141 			req->args.field_qualify_SrcClassL2.unit,
  15142 			req->args.field_qualify_SrcClassL2.entry,
  15143 			req->args.field_qualify_SrcClassL2.data,
  15144 			req->args.field_qualify_SrcClassL2.mask);
  15145 		break;
  15146 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCCLASSL2_GET:
  15147 		rv = bcm_field_qualify_SrcClassL2_get(
  15148 			req->args.field_qualify_SrcClassL2_get.unit,
  15149 			req->args.field_qualify_SrcClassL2_get.entry,
  15150 			req->args.field_qualify_SrcClassL2_get.data,
  15151 			req->args.field_qualify_SrcClassL2_get.mask);
  15152 		break;
  15153 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCCLASSL3:
  15154 		rv = bcm_field_qualify_SrcClassL3(
  15155 			req->args.field_qualify_SrcClassL3.unit,
  15156 			req->args.field_qualify_SrcClassL3.entry,
  15157 			req->args.field_qualify_SrcClassL3.data,
  15158 			req->args.field_qualify_SrcClassL3.mask);
  15159 		break;
  15160 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCCLASSL3_GET:
  15161 		rv = bcm_field_qualify_SrcClassL3_get(
  15162 			req->args.field_qualify_SrcClassL3_get.unit,
  15163 			req->args.field_qualify_SrcClassL3_get.entry,
  15164 			req->args.field_qualify_SrcClassL3_get.data,
  15165 			req->args.field_qualify_SrcClassL3_get.mask);
  15166 		break;
  15167 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCGPORT:
  15168 		rv = bcm_field_qualify_SrcGport(
  15169 			req->args.field_qualify_SrcGport.unit,
  15170 			req->args.field_qualify_SrcGport.entry,
  15171 			req->args.field_qualify_SrcGport.port_id);
  15172 		break;
  15173 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCGPORT_GET:
  15174 		rv = bcm_field_qualify_SrcGport_get(
  15175 			req->args.field_qualify_SrcGport_get.unit,
  15176 			req->args.field_qualify_SrcGport_get.entry,
  15177 			req->args.field_qualify_SrcGport_get.port_id);
  15178 		break;
  15179 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCGPORTS:
  15180 		rv = bcm_field_qualify_SrcGports(
  15181 			req->args.field_qualify_SrcGports.unit,
  15182 			req->args.field_qualify_SrcGports.entry,
  15183 			req->args.field_qualify_SrcGports.port_id,
  15184 			req->args.field_qualify_SrcGports.port_mask);
  15185 		break;
  15186 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCGPORTS_GET:
  15187 		rv = bcm_field_qualify_SrcGports_get(
  15188 			req->args.field_qualify_SrcGports_get.unit,
  15189 			req->args.field_qualify_SrcGports_get.entry,
  15190 			req->args.field_qualify_SrcGports_get.port_id,
  15191 			req->args.field_qualify_SrcGports_get.port_mask);
  15192 		break;
  15193 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP:
  15194 		rv = bcm_field_qualify_SrcIp(
  15195 			req->args.field_qualify_SrcIp.unit,
  15196 			req->args.field_qualify_SrcIp.entry,
  15197 			req->args.field_qualify_SrcIp.data,
  15198 			req->args.field_qualify_SrcIp.mask);
  15199 		break;
  15200 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6:
  15201 		rv = bcm_field_qualify_SrcIp6(
  15202 			req->args.field_qualify_SrcIp6.unit,
  15203 			req->args.field_qualify_SrcIp6.entry,
  15204 			req->args.field_qualify_SrcIp6.data,
  15205 			req->args.field_qualify_SrcIp6.mask);
  15206 		break;
  15207 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6CLASS:
  15208 		rv = bcm_field_qualify_SrcIp6Class(
  15209 			req->args.field_qualify_SrcIp6Class.unit,
  15210 			req->args.field_qualify_SrcIp6Class.entry,
  15211 			req->args.field_qualify_SrcIp6Class.data,
  15212 			req->args.field_qualify_SrcIp6Class.mask);
  15213 		break;
  15214 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6CLASSLOWER:
  15215 		rv = bcm_field_qualify_SrcIp6ClassLower(
  15216 			req->args.field_qualify_SrcIp6ClassLower.unit,
  15217 			req->args.field_qualify_SrcIp6ClassLower.entry,
  15218 			req->args.field_qualify_SrcIp6ClassLower.data,
  15219 			req->args.field_qualify_SrcIp6ClassLower.mask);
  15220 		break;
  15221 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6CLASSLOWER_GET:
  15222 		rv = bcm_field_qualify_SrcIp6ClassLower_get(
  15223 			req->args.field_qualify_SrcIp6ClassLower_get.unit,
  15224 			req->args.field_qualify_SrcIp6ClassLower_get.entry,
  15225 			req->args.field_qualify_SrcIp6ClassLower_get.data,
  15226 			req->args.field_qualify_SrcIp6ClassLower_get.mask);
  15227 		break;
  15228 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6CLASSMSBNIBBLE:
  15229 		rv = bcm_field_qualify_SrcIp6ClassMsbNibble(
  15230 			req->args.field_qualify_SrcIp6ClassMsbNibble.unit,
  15231 			req->args.field_qualify_SrcIp6ClassMsbNibble.entry,
  15232 			req->args.field_qualify_SrcIp6ClassMsbNibble.data,
  15233 			req->args.field_qualify_SrcIp6ClassMsbNibble.mask);
  15234 		break;
  15235 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6CLASSMSBNIBBLE_GET:
  15236 		rv = bcm_field_qualify_SrcIp6ClassMsbNibble_get(
  15237 			req->args.field_qualify_SrcIp6ClassMsbNibble_get.unit,
  15238 			req->args.field_qualify_SrcIp6ClassMsbNibble_get.entry,
  15239 			req->args.field_qualify_SrcIp6ClassMsbNibble_get.data,
  15240 			req->args.field_qualify_SrcIp6ClassMsbNibble_get.mask);
  15241 		break;
  15242 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6CLASSUPPER:
  15243 		rv = bcm_field_qualify_SrcIp6ClassUpper(
  15244 			req->args.field_qualify_SrcIp6ClassUpper.unit,
  15245 			req->args.field_qualify_SrcIp6ClassUpper.entry,
  15246 			req->args.field_qualify_SrcIp6ClassUpper.data,
  15247 			req->args.field_qualify_SrcIp6ClassUpper.mask);
  15248 		break;
  15249 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6CLASSUPPER_GET:
  15250 		rv = bcm_field_qualify_SrcIp6ClassUpper_get(
  15251 			req->args.field_qualify_SrcIp6ClassUpper_get.unit,
  15252 			req->args.field_qualify_SrcIp6ClassUpper_get.entry,
  15253 			req->args.field_qualify_SrcIp6ClassUpper_get.data,
  15254 			req->args.field_qualify_SrcIp6ClassUpper_get.mask);
  15255 		break;
  15256 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6CLASS_GET:
  15257 		rv = bcm_field_qualify_SrcIp6Class_get(
  15258 			req->args.field_qualify_SrcIp6Class_get.unit,
  15259 			req->args.field_qualify_SrcIp6Class_get.entry,
  15260 			req->args.field_qualify_SrcIp6Class_get.data,
  15261 			req->args.field_qualify_SrcIp6Class_get.mask);
  15262 		break;
  15263 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6HIGH:
  15264 		rv = bcm_field_qualify_SrcIp6High(
  15265 			req->args.field_qualify_SrcIp6High.unit,
  15266 			req->args.field_qualify_SrcIp6High.entry,
  15267 			req->args.field_qualify_SrcIp6High.data,
  15268 			req->args.field_qualify_SrcIp6High.mask);
  15269 		break;
  15270 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6HIGH_GET:
  15271 		rv = bcm_field_qualify_SrcIp6High_get(
  15272 			req->args.field_qualify_SrcIp6High_get.unit,
  15273 			req->args.field_qualify_SrcIp6High_get.entry,
  15274 			req->args.field_qualify_SrcIp6High_get.data,
  15275 			req->args.field_qualify_SrcIp6High_get.mask);
  15276 		break;
  15277 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6LOW:
  15278 		rv = bcm_field_qualify_SrcIp6Low(
  15279 			req->args.field_qualify_SrcIp6Low.unit,
  15280 			req->args.field_qualify_SrcIp6Low.entry,
  15281 			req->args.field_qualify_SrcIp6Low.data,
  15282 			req->args.field_qualify_SrcIp6Low.mask);
  15283 		break;
  15284 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6LOW_GET:
  15285 		rv = bcm_field_qualify_SrcIp6Low_get(
  15286 			req->args.field_qualify_SrcIp6Low_get.unit,
  15287 			req->args.field_qualify_SrcIp6Low_get.entry,
  15288 			req->args.field_qualify_SrcIp6Low_get.data,
  15289 			req->args.field_qualify_SrcIp6Low_get.mask);
  15290 		break;
  15291 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP6_GET:
  15292 		rv = bcm_field_qualify_SrcIp6_get(
  15293 			req->args.field_qualify_SrcIp6_get.unit,
  15294 			req->args.field_qualify_SrcIp6_get.entry,
  15295 			req->args.field_qualify_SrcIp6_get.data,
  15296 			req->args.field_qualify_SrcIp6_get.mask);
  15297 		break;
  15298 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIPCLASS:
  15299 		rv = bcm_field_qualify_SrcIpClass(
  15300 			req->args.field_qualify_SrcIpClass.unit,
  15301 			req->args.field_qualify_SrcIpClass.entry,
  15302 			req->args.field_qualify_SrcIpClass.data,
  15303 			req->args.field_qualify_SrcIpClass.mask);
  15304 		break;
  15305 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIPCLASSLOWER:
  15306 		rv = bcm_field_qualify_SrcIpClassLower(
  15307 			req->args.field_qualify_SrcIpClassLower.unit,
  15308 			req->args.field_qualify_SrcIpClassLower.entry,
  15309 			req->args.field_qualify_SrcIpClassLower.data,
  15310 			req->args.field_qualify_SrcIpClassLower.mask);
  15311 		break;
  15312 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIPCLASSLOWER_GET:
  15313 		rv = bcm_field_qualify_SrcIpClassLower_get(
  15314 			req->args.field_qualify_SrcIpClassLower_get.unit,
  15315 			req->args.field_qualify_SrcIpClassLower_get.entry,
  15316 			req->args.field_qualify_SrcIpClassLower_get.data,
  15317 			req->args.field_qualify_SrcIpClassLower_get.mask);
  15318 		break;
  15319 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIPCLASSMSBNIBBLE:
  15320 		rv = bcm_field_qualify_SrcIpClassMsbNibble(
  15321 			req->args.field_qualify_SrcIpClassMsbNibble.unit,
  15322 			req->args.field_qualify_SrcIpClassMsbNibble.entry,
  15323 			req->args.field_qualify_SrcIpClassMsbNibble.data,
  15324 			req->args.field_qualify_SrcIpClassMsbNibble.mask);
  15325 		break;
  15326 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIPCLASSMSBNIBBLE_GET:
  15327 		rv = bcm_field_qualify_SrcIpClassMsbNibble_get(
  15328 			req->args.field_qualify_SrcIpClassMsbNibble_get.unit,
  15329 			req->args.field_qualify_SrcIpClassMsbNibble_get.entry,
  15330 			req->args.field_qualify_SrcIpClassMsbNibble_get.data,
  15331 			req->args.field_qualify_SrcIpClassMsbNibble_get.mask);
  15332 		break;
  15333 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIPCLASSUPPER:
  15334 		rv = bcm_field_qualify_SrcIpClassUpper(
  15335 			req->args.field_qualify_SrcIpClassUpper.unit,
  15336 			req->args.field_qualify_SrcIpClassUpper.entry,
  15337 			req->args.field_qualify_SrcIpClassUpper.data,
  15338 			req->args.field_qualify_SrcIpClassUpper.mask);
  15339 		break;
  15340 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIPCLASSUPPER_GET:
  15341 		rv = bcm_field_qualify_SrcIpClassUpper_get(
  15342 			req->args.field_qualify_SrcIpClassUpper_get.unit,
  15343 			req->args.field_qualify_SrcIpClassUpper_get.entry,
  15344 			req->args.field_qualify_SrcIpClassUpper_get.data,
  15345 			req->args.field_qualify_SrcIpClassUpper_get.mask);
  15346 		break;
  15347 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIPCLASS_GET:
  15348 		rv = bcm_field_qualify_SrcIpClass_get(
  15349 			req->args.field_qualify_SrcIpClass_get.unit,
  15350 			req->args.field_qualify_SrcIpClass_get.entry,
  15351 			req->args.field_qualify_SrcIpClass_get.data,
  15352 			req->args.field_qualify_SrcIpClass_get.mask);
  15353 		break;
  15354 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCIP_GET:
  15355 		rv = bcm_field_qualify_SrcIp_get(
  15356 			req->args.field_qualify_SrcIp_get.unit,
  15357 			req->args.field_qualify_SrcIp_get.entry,
  15358 			req->args.field_qualify_SrcIp_get.data,
  15359 			req->args.field_qualify_SrcIp_get.mask);
  15360 		break;
  15361 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMAC:
  15362 		rv = bcm_field_qualify_SrcMac(
  15363 			req->args.field_qualify_SrcMac.unit,
  15364 			req->args.field_qualify_SrcMac.entry,
  15365 			req->args.field_qualify_SrcMac.data,
  15366 			req->args.field_qualify_SrcMac.mask);
  15367 		break;
  15368 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMAC_GET:
  15369 		rv = bcm_field_qualify_SrcMac_get(
  15370 			req->args.field_qualify_SrcMac_get.unit,
  15371 			req->args.field_qualify_SrcMac_get.entry,
  15372 			req->args.field_qualify_SrcMac_get.data,
  15373 			req->args.field_qualify_SrcMac_get.mask);
  15374 		break;
  15375 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMIMGPORT:
  15376 		rv = bcm_field_qualify_SrcMimGport(
  15377 			req->args.field_qualify_SrcMimGport.unit,
  15378 			req->args.field_qualify_SrcMimGport.entry,
  15379 			req->args.field_qualify_SrcMimGport.mim_port_id);
  15380 		break;
  15381 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMIMGPORT_GET:
  15382 		rv = bcm_field_qualify_SrcMimGport_get(
  15383 			req->args.field_qualify_SrcMimGport_get.unit,
  15384 			req->args.field_qualify_SrcMimGport_get.entry,
  15385 			req->args.field_qualify_SrcMimGport_get.mim_port_id);
  15386 		break;
  15387 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMIMGPORTS:
  15388 		rv = bcm_field_qualify_SrcMimGports(
  15389 			req->args.field_qualify_SrcMimGports.unit,
  15390 			req->args.field_qualify_SrcMimGports.entry,
  15391 			req->args.field_qualify_SrcMimGports.mim_port_id,
  15392 			req->args.field_qualify_SrcMimGports.mim_port_mask);
  15393 		break;
  15394 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMIMGPORTS_GET:
  15395 		rv = bcm_field_qualify_SrcMimGports_get(
  15396 			req->args.field_qualify_SrcMimGports_get.unit,
  15397 			req->args.field_qualify_SrcMimGports_get.entry,
  15398 			req->args.field_qualify_SrcMimGports_get.mim_port_id,
  15399 			req->args.field_qualify_SrcMimGports_get.mim_port_mask);
  15400 		break;
  15401 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMODPORTGPORT:
  15402 		rv = bcm_field_qualify_SrcModPortGport(
  15403 			req->args.field_qualify_SrcModPortGport.unit,
  15404 			req->args.field_qualify_SrcModPortGport.entry,
  15405 			req->args.field_qualify_SrcModPortGport.data);
  15406 		break;
  15407 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMODPORTGPORT_GET:
  15408 		rv = bcm_field_qualify_SrcModPortGport_get(
  15409 			req->args.field_qualify_SrcModPortGport_get.unit,
  15410 			req->args.field_qualify_SrcModPortGport_get.entry,
  15411 			req->args.field_qualify_SrcModPortGport_get.data);
  15412 		break;
  15413 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMODPORTGPORTS:
  15414 		rv = bcm_field_qualify_SrcModPortGports(
  15415 			req->args.field_qualify_SrcModPortGports.unit,
  15416 			req->args.field_qualify_SrcModPortGports.entry,
  15417 			req->args.field_qualify_SrcModPortGports.port_id,
  15418 			req->args.field_qualify_SrcModPortGports.port_mask);
  15419 		break;
  15420 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMODPORTGPORTS_GET:
  15421 		rv = bcm_field_qualify_SrcModPortGports_get(
  15422 			req->args.field_qualify_SrcModPortGports_get.unit,
  15423 			req->args.field_qualify_SrcModPortGports_get.entry,
  15424 			req->args.field_qualify_SrcModPortGports_get.port_id,
  15425 			req->args.field_qualify_SrcModPortGports_get.port_mask);
  15426 		break;
  15427 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMODULEGPORT:
  15428 		rv = bcm_field_qualify_SrcModuleGport(
  15429 			req->args.field_qualify_SrcModuleGport.unit,
  15430 			req->args.field_qualify_SrcModuleGport.entry,
  15431 			req->args.field_qualify_SrcModuleGport.data);
  15432 		break;
  15433 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMODULEGPORT_GET:
  15434 		rv = bcm_field_qualify_SrcModuleGport_get(
  15435 			req->args.field_qualify_SrcModuleGport_get.unit,
  15436 			req->args.field_qualify_SrcModuleGport_get.entry,
  15437 			req->args.field_qualify_SrcModuleGport_get.data);
  15438 		break;
  15439 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMPLSGPORT:
  15440 		rv = bcm_field_qualify_SrcMplsGport(
  15441 			req->args.field_qualify_SrcMplsGport.unit,
  15442 			req->args.field_qualify_SrcMplsGport.entry,
  15443 			req->args.field_qualify_SrcMplsGport.mpls_port_id);
  15444 		break;
  15445 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMPLSGPORT_GET:
  15446 		rv = bcm_field_qualify_SrcMplsGport_get(
  15447 			req->args.field_qualify_SrcMplsGport_get.unit,
  15448 			req->args.field_qualify_SrcMplsGport_get.entry,
  15449 			req->args.field_qualify_SrcMplsGport_get.mpls_port_id);
  15450 		break;
  15451 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMPLSGPORTS:
  15452 		rv = bcm_field_qualify_SrcMplsGports(
  15453 			req->args.field_qualify_SrcMplsGports.unit,
  15454 			req->args.field_qualify_SrcMplsGports.entry,
  15455 			req->args.field_qualify_SrcMplsGports.mpls_port_id,
  15456 			req->args.field_qualify_SrcMplsGports.mpls_port_mask);
  15457 		break;
  15458 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCMPLSGPORTS_GET:
  15459 		rv = bcm_field_qualify_SrcMplsGports_get(
  15460 			req->args.field_qualify_SrcMplsGports_get.unit,
  15461 			req->args.field_qualify_SrcMplsGports_get.entry,
  15462 			req->args.field_qualify_SrcMplsGports_get.mpls_port_id,
  15463 			req->args.field_qualify_SrcMplsGports_get.mpls_port_mask);
  15464 		break;
  15465 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCNIVGPORT:
  15466 		rv = bcm_field_qualify_SrcNivGport(
  15467 			req->args.field_qualify_SrcNivGport.unit,
  15468 			req->args.field_qualify_SrcNivGport.entry,
  15469 			req->args.field_qualify_SrcNivGport.niv_port_id);
  15470 		break;
  15471 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCNIVGPORT_GET:
  15472 		rv = bcm_field_qualify_SrcNivGport_get(
  15473 			req->args.field_qualify_SrcNivGport_get.unit,
  15474 			req->args.field_qualify_SrcNivGport_get.entry,
  15475 			req->args.field_qualify_SrcNivGport_get.niv_port_id);
  15476 		break;
  15477 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCNIVGPORTS:
  15478 		rv = bcm_field_qualify_SrcNivGports(
  15479 			req->args.field_qualify_SrcNivGports.unit,
  15480 			req->args.field_qualify_SrcNivGports.entry,
  15481 			req->args.field_qualify_SrcNivGports.niv_port_id,
  15482 			req->args.field_qualify_SrcNivGports.niv_port_mask);
  15483 		break;
  15484 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCNIVGPORTS_GET:
  15485 		rv = bcm_field_qualify_SrcNivGports_get(
  15486 			req->args.field_qualify_SrcNivGports_get.unit,
  15487 			req->args.field_qualify_SrcNivGports_get.entry,
  15488 			req->args.field_qualify_SrcNivGports_get.niv_port_id,
  15489 			req->args.field_qualify_SrcNivGports_get.niv_port_mask);
  15490 		break;
  15491 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORT:
  15492 		rv = bcm_field_qualify_SrcPort(
  15493 			req->args.field_qualify_SrcPort.unit,
  15494 			req->args.field_qualify_SrcPort.entry,
  15495 			req->args.field_qualify_SrcPort.data_modid,
  15496 			req->args.field_qualify_SrcPort.mask_modid,
  15497 			req->args.field_qualify_SrcPort.data_port,
  15498 			req->args.field_qualify_SrcPort.mask_port);
  15499 		break;
  15500 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRLANID:
  15501 		rv = bcm_field_qualify_SrcPortSRLanId(
  15502 			req->args.field_qualify_SrcPortSRLanId.unit,
  15503 			req->args.field_qualify_SrcPortSRLanId.entry,
  15504 			req->args.field_qualify_SrcPortSRLanId.lan_id);
  15505 		break;
  15506 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRLANID_GET:
  15507 		rv = bcm_field_qualify_SrcPortSRLanId_get(
  15508 			req->args.field_qualify_SrcPortSRLanId_get.unit,
  15509 			req->args.field_qualify_SrcPortSRLanId_get.entry,
  15510 			req->args.field_qualify_SrcPortSRLanId_get.lan_id);
  15511 		break;
  15512 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRMODE:
  15513 		rv = bcm_field_qualify_SrcPortSRMode(
  15514 			req->args.field_qualify_SrcPortSRMode.unit,
  15515 			req->args.field_qualify_SrcPortSRMode.entry,
  15516 			req->args.field_qualify_SrcPortSRMode.type,
  15517 			req->args.field_qualify_SrcPortSRMode.mask);
  15518 		break;
  15519 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRMODE_GET:
  15520 		rv = bcm_field_qualify_SrcPortSRMode_get(
  15521 			req->args.field_qualify_SrcPortSRMode_get.unit,
  15522 			req->args.field_qualify_SrcPortSRMode_get.entry,
  15523 			req->args.field_qualify_SrcPortSRMode_get.type,
  15524 			req->args.field_qualify_SrcPortSRMode_get.mask);
  15525 		break;
  15526 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRNETID:
  15527 		rv = bcm_field_qualify_SrcPortSRNetId(
  15528 			req->args.field_qualify_SrcPortSRNetId.unit,
  15529 			req->args.field_qualify_SrcPortSRNetId.entry,
  15530 			req->args.field_qualify_SrcPortSRNetId.net_id,
  15531 			req->args.field_qualify_SrcPortSRNetId.mask);
  15532 		break;
  15533 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRNETID_GET:
  15534 		rv = bcm_field_qualify_SrcPortSRNetId_get(
  15535 			req->args.field_qualify_SrcPortSRNetId_get.unit,
  15536 			req->args.field_qualify_SrcPortSRNetId_get.entry,
  15537 			req->args.field_qualify_SrcPortSRNetId_get.net_id,
  15538 			req->args.field_qualify_SrcPortSRNetId_get.mask);
  15539 		break;
  15540 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRROLEINTERLINK:
  15541 		rv = bcm_field_qualify_SrcPortSRRoleInterlink(
  15542 			req->args.field_qualify_SrcPortSRRoleInterlink.unit,
  15543 			req->args.field_qualify_SrcPortSRRoleInterlink.entry,
  15544 			req->args.field_qualify_SrcPortSRRoleInterlink.data);
  15545 		break;
  15546 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRROLEINTERLINK_GET:
  15547 		rv = bcm_field_qualify_SrcPortSRRoleInterlink_get(
  15548 			req->args.field_qualify_SrcPortSRRoleInterlink_get.unit,
  15549 			req->args.field_qualify_SrcPortSRRoleInterlink_get.entry,
  15550 			req->args.field_qualify_SrcPortSRRoleInterlink_get.data);
  15551 		break;
  15552 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRTYPE:
  15553 		rv = bcm_field_qualify_SrcPortSRType(
  15554 			req->args.field_qualify_SrcPortSRType.unit,
  15555 			req->args.field_qualify_SrcPortSRType.entry,
  15556 			req->args.field_qualify_SrcPortSRType.type);
  15557 		break;
  15558 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORTSRTYPE_GET:
  15559 		rv = bcm_field_qualify_SrcPortSRType_get(
  15560 			req->args.field_qualify_SrcPortSRType_get.unit,
  15561 			req->args.field_qualify_SrcPortSRType_get.entry,
  15562 			req->args.field_qualify_SrcPortSRType_get.type);
  15563 		break;
  15564 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCPORT_GET:
  15565 		rv = bcm_field_qualify_SrcPort_get(
  15566 			req->args.field_qualify_SrcPort_get.unit,
  15567 			req->args.field_qualify_SrcPort_get.entry,
  15568 			req->args.field_qualify_SrcPort_get.data_modid,
  15569 			req->args.field_qualify_SrcPort_get.mask_modid,
  15570 			req->args.field_qualify_SrcPort_get.data_port,
  15571 			req->args.field_qualify_SrcPort_get.mask_port);
  15572 		break;
  15573 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCTMPORT:
  15574 		rv = bcm_field_qualify_SrcTMPort(
  15575 			req->args.field_qualify_SrcTMPort.unit,
  15576 			req->args.field_qualify_SrcTMPort.entry,
  15577 			req->args.field_qualify_SrcTMPort.data_port,
  15578 			req->args.field_qualify_SrcTMPort.mask_port);
  15579 		break;
  15580 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCTMPORT_GET:
  15581 		rv = bcm_field_qualify_SrcTMPort_get(
  15582 			req->args.field_qualify_SrcTMPort_get.unit,
  15583 			req->args.field_qualify_SrcTMPort_get.entry,
  15584 			req->args.field_qualify_SrcTMPort_get.data_port,
  15585 			req->args.field_qualify_SrcTMPort_get.mask_port);
  15586 		break;
  15587 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCTRUNK:
  15588 		rv = bcm_field_qualify_SrcTrunk(
  15589 			req->args.field_qualify_SrcTrunk.unit,
  15590 			req->args.field_qualify_SrcTrunk.entry,
  15591 			req->args.field_qualify_SrcTrunk.data,
  15592 			req->args.field_qualify_SrcTrunk.mask);
  15593 		break;
  15594 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCTRUNKMEMBERGPORT:
  15595 		rv = bcm_field_qualify_SrcTrunkMemberGport(
  15596 			req->args.field_qualify_SrcTrunkMemberGport.unit,
  15597 			req->args.field_qualify_SrcTrunkMemberGport.entry,
  15598 			req->args.field_qualify_SrcTrunkMemberGport.data);
  15599 		break;
  15600 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCTRUNKMEMBERGPORT_GET:
  15601 		rv = bcm_field_qualify_SrcTrunkMemberGport_get(
  15602 			req->args.field_qualify_SrcTrunkMemberGport_get.unit,
  15603 			req->args.field_qualify_SrcTrunkMemberGport_get.entry,
  15604 			req->args.field_qualify_SrcTrunkMemberGport_get.data);
  15605 		break;
  15606 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCTRUNK_GET:
  15607 		rv = bcm_field_qualify_SrcTrunk_get(
  15608 			req->args.field_qualify_SrcTrunk_get.unit,
  15609 			req->args.field_qualify_SrcTrunk_get.entry,
  15610 			req->args.field_qualify_SrcTrunk_get.data,
  15611 			req->args.field_qualify_SrcTrunk_get.mask);
  15612 		break;
  15613 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVIRTUALPORTVALID:
  15614 		rv = bcm_field_qualify_SrcVirtualPortValid(
  15615 			req->args.field_qualify_SrcVirtualPortValid.unit,
  15616 			req->args.field_qualify_SrcVirtualPortValid.entry,
  15617 			req->args.field_qualify_SrcVirtualPortValid.data,
  15618 			req->args.field_qualify_SrcVirtualPortValid.mask);
  15619 		break;
  15620 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVIRTUALPORTVALID_GET:
  15621 		rv = bcm_field_qualify_SrcVirtualPortValid_get(
  15622 			req->args.field_qualify_SrcVirtualPortValid_get.unit,
  15623 			req->args.field_qualify_SrcVirtualPortValid_get.entry,
  15624 			req->args.field_qualify_SrcVirtualPortValid_get.data,
  15625 			req->args.field_qualify_SrcVirtualPortValid_get.mask);
  15626 		break;
  15627 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVLANGPORT:
  15628 		rv = bcm_field_qualify_SrcVlanGport(
  15629 			req->args.field_qualify_SrcVlanGport.unit,
  15630 			req->args.field_qualify_SrcVlanGport.entry,
  15631 			req->args.field_qualify_SrcVlanGport.vlan_port_id);
  15632 		break;
  15633 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVLANGPORT_GET:
  15634 		rv = bcm_field_qualify_SrcVlanGport_get(
  15635 			req->args.field_qualify_SrcVlanGport_get.unit,
  15636 			req->args.field_qualify_SrcVlanGport_get.entry,
  15637 			req->args.field_qualify_SrcVlanGport_get.vlan_port_id);
  15638 		break;
  15639 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVLANGPORTS:
  15640 		rv = bcm_field_qualify_SrcVlanGports(
  15641 			req->args.field_qualify_SrcVlanGports.unit,
  15642 			req->args.field_qualify_SrcVlanGports.entry,
  15643 			req->args.field_qualify_SrcVlanGports.vlan_port_id,
  15644 			req->args.field_qualify_SrcVlanGports.vlan_port_mask);
  15645 		break;
  15646 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVLANGPORTS_GET:
  15647 		rv = bcm_field_qualify_SrcVlanGports_get(
  15648 			req->args.field_qualify_SrcVlanGports_get.unit,
  15649 			req->args.field_qualify_SrcVlanGports_get.entry,
  15650 			req->args.field_qualify_SrcVlanGports_get.vlan_port_id,
  15651 			req->args.field_qualify_SrcVlanGports_get.vlan_port_mask);
  15652 		break;
  15653 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVXLANGPORT:
  15654 		rv = bcm_field_qualify_SrcVxlanGport(
  15655 			req->args.field_qualify_SrcVxlanGport.unit,
  15656 			req->args.field_qualify_SrcVxlanGport.entry,
  15657 			req->args.field_qualify_SrcVxlanGport.vxlan_port_id);
  15658 		break;
  15659 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVXLANGPORT_GET:
  15660 		rv = bcm_field_qualify_SrcVxlanGport_get(
  15661 			req->args.field_qualify_SrcVxlanGport_get.unit,
  15662 			req->args.field_qualify_SrcVxlanGport_get.entry,
  15663 			req->args.field_qualify_SrcVxlanGport_get.vxlan_port_id);
  15664 		break;
  15665 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVXLANGPORTS:
  15666 		rv = bcm_field_qualify_SrcVxlanGports(
  15667 			req->args.field_qualify_SrcVxlanGports.unit,
  15668 			req->args.field_qualify_SrcVxlanGports.entry,
  15669 			req->args.field_qualify_SrcVxlanGports.vxlan_port_id,
  15670 			req->args.field_qualify_SrcVxlanGports.vxlan_port_mask);
  15671 		break;
  15672 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCVXLANGPORTS_GET:
  15673 		rv = bcm_field_qualify_SrcVxlanGports_get(
  15674 			req->args.field_qualify_SrcVxlanGports_get.unit,
  15675 			req->args.field_qualify_SrcVxlanGports_get.entry,
  15676 			req->args.field_qualify_SrcVxlanGports_get.vxlan_port_id,
  15677 			req->args.field_qualify_SrcVxlanGports_get.vxlan_port_mask);
  15678 		break;
  15679 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCWLANGPORT:
  15680 		rv = bcm_field_qualify_SrcWlanGport(
  15681 			req->args.field_qualify_SrcWlanGport.unit,
  15682 			req->args.field_qualify_SrcWlanGport.entry,
  15683 			req->args.field_qualify_SrcWlanGport.wlan_port_id);
  15684 		break;
  15685 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCWLANGPORT_GET:
  15686 		rv = bcm_field_qualify_SrcWlanGport_get(
  15687 			req->args.field_qualify_SrcWlanGport_get.unit,
  15688 			req->args.field_qualify_SrcWlanGport_get.entry,
  15689 			req->args.field_qualify_SrcWlanGport_get.wlan_port_id);
  15690 		break;
  15691 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCWLANGPORTS:
  15692 		rv = bcm_field_qualify_SrcWlanGports(
  15693 			req->args.field_qualify_SrcWlanGports.unit,
  15694 			req->args.field_qualify_SrcWlanGports.entry,
  15695 			req->args.field_qualify_SrcWlanGports.wlan_port_id,
  15696 			req->args.field_qualify_SrcWlanGports.wlan_port_mask);
  15697 		break;
  15698 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SRCWLANGPORTS_GET:
  15699 		rv = bcm_field_qualify_SrcWlanGports_get(
  15700 			req->args.field_qualify_SrcWlanGports_get.unit,
  15701 			req->args.field_qualify_SrcWlanGports_get.entry,
  15702 			req->args.field_qualify_SrcWlanGports_get.wlan_port_id,
  15703 			req->args.field_qualify_SrcWlanGports_get.wlan_port_mask);
  15704 		break;
  15705 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STACKINGROUTE:
  15706 		rv = bcm_field_qualify_StackingRoute(
  15707 			req->args.field_qualify_StackingRoute.unit,
  15708 			req->args.field_qualify_StackingRoute.entry,
  15709 			req->args.field_qualify_StackingRoute.data,
  15710 			req->args.field_qualify_StackingRoute.mask);
  15711 		break;
  15712 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STACKINGROUTE_GET:
  15713 		rv = bcm_field_qualify_StackingRoute_get(
  15714 			req->args.field_qualify_StackingRoute_get.unit,
  15715 			req->args.field_qualify_StackingRoute_get.entry,
  15716 			req->args.field_qualify_StackingRoute_get.data,
  15717 			req->args.field_qualify_StackingRoute_get.mask);
  15718 		break;
  15719 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGE:
  15720 		rv = bcm_field_qualify_Stage(
  15721 			req->args.field_qualify_Stage.unit,
  15722 			req->args.field_qualify_Stage.entry,
  15723 			req->args.field_qualify_Stage.data);
  15724 		break;
  15725 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGE_GET:
  15726 		rv = bcm_field_qualify_Stage_get(
  15727 			req->args.field_qualify_Stage_get.unit,
  15728 			req->args.field_qualify_Stage_get.entry,
  15729 			req->args.field_qualify_Stage_get.data);
  15730 		break;
  15731 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDDIRECTVALUE:
  15732 		rv = bcm_field_qualify_StaggeredDirectValue(
  15733 			req->args.field_qualify_StaggeredDirectValue.unit,
  15734 			req->args.field_qualify_StaggeredDirectValue.entry,
  15735 			req->args.field_qualify_StaggeredDirectValue.data,
  15736 			req->args.field_qualify_StaggeredDirectValue.mask);
  15737 		break;
  15738 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDDIRECTVALUE_GET:
  15739 		rv = bcm_field_qualify_StaggeredDirectValue_get(
  15740 			req->args.field_qualify_StaggeredDirectValue_get.unit,
  15741 			req->args.field_qualify_StaggeredDirectValue_get.entry,
  15742 			req->args.field_qualify_StaggeredDirectValue_get.data,
  15743 			req->args.field_qualify_StaggeredDirectValue_get.mask);
  15744 		break;
  15745 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILE0:
  15746 		rv = bcm_field_qualify_StaggeredPreselProfile0(
  15747 			req->args.field_qualify_StaggeredPreselProfile0.unit,
  15748 			req->args.field_qualify_StaggeredPreselProfile0.entry,
  15749 			req->args.field_qualify_StaggeredPreselProfile0.data,
  15750 			req->args.field_qualify_StaggeredPreselProfile0.mask);
  15751 		break;
  15752 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILE0_GET:
  15753 		rv = bcm_field_qualify_StaggeredPreselProfile0_get(
  15754 			req->args.field_qualify_StaggeredPreselProfile0_get.unit,
  15755 			req->args.field_qualify_StaggeredPreselProfile0_get.entry,
  15756 			req->args.field_qualify_StaggeredPreselProfile0_get.data,
  15757 			req->args.field_qualify_StaggeredPreselProfile0_get.mask);
  15758 		break;
  15759 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILE1:
  15760 		rv = bcm_field_qualify_StaggeredPreselProfile1(
  15761 			req->args.field_qualify_StaggeredPreselProfile1.unit,
  15762 			req->args.field_qualify_StaggeredPreselProfile1.entry,
  15763 			req->args.field_qualify_StaggeredPreselProfile1.data,
  15764 			req->args.field_qualify_StaggeredPreselProfile1.mask);
  15765 		break;
  15766 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILE1_GET:
  15767 		rv = bcm_field_qualify_StaggeredPreselProfile1_get(
  15768 			req->args.field_qualify_StaggeredPreselProfile1_get.unit,
  15769 			req->args.field_qualify_StaggeredPreselProfile1_get.entry,
  15770 			req->args.field_qualify_StaggeredPreselProfile1_get.data,
  15771 			req->args.field_qualify_StaggeredPreselProfile1_get.mask);
  15772 		break;
  15773 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILE2:
  15774 		rv = bcm_field_qualify_StaggeredPreselProfile2(
  15775 			req->args.field_qualify_StaggeredPreselProfile2.unit,
  15776 			req->args.field_qualify_StaggeredPreselProfile2.entry,
  15777 			req->args.field_qualify_StaggeredPreselProfile2.data,
  15778 			req->args.field_qualify_StaggeredPreselProfile2.mask);
  15779 		break;
  15780 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILE2_GET:
  15781 		rv = bcm_field_qualify_StaggeredPreselProfile2_get(
  15782 			req->args.field_qualify_StaggeredPreselProfile2_get.unit,
  15783 			req->args.field_qualify_StaggeredPreselProfile2_get.entry,
  15784 			req->args.field_qualify_StaggeredPreselProfile2_get.data,
  15785 			req->args.field_qualify_StaggeredPreselProfile2_get.mask);
  15786 		break;
  15787 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILE3:
  15788 		rv = bcm_field_qualify_StaggeredPreselProfile3(
  15789 			req->args.field_qualify_StaggeredPreselProfile3.unit,
  15790 			req->args.field_qualify_StaggeredPreselProfile3.entry,
  15791 			req->args.field_qualify_StaggeredPreselProfile3.data,
  15792 			req->args.field_qualify_StaggeredPreselProfile3.mask);
  15793 		break;
  15794 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILE3_GET:
  15795 		rv = bcm_field_qualify_StaggeredPreselProfile3_get(
  15796 			req->args.field_qualify_StaggeredPreselProfile3_get.unit,
  15797 			req->args.field_qualify_StaggeredPreselProfile3_get.entry,
  15798 			req->args.field_qualify_StaggeredPreselProfile3_get.data,
  15799 			req->args.field_qualify_StaggeredPreselProfile3_get.mask);
  15800 		break;
  15801 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILEDIRECT:
  15802 		rv = bcm_field_qualify_StaggeredPreselProfileDirect(
  15803 			req->args.field_qualify_StaggeredPreselProfileDirect.unit,
  15804 			req->args.field_qualify_StaggeredPreselProfileDirect.entry,
  15805 			req->args.field_qualify_StaggeredPreselProfileDirect.data,
  15806 			req->args.field_qualify_StaggeredPreselProfileDirect.mask);
  15807 		break;
  15808 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDPRESELPROFILEDIRECT_GET:
  15809 		rv = bcm_field_qualify_StaggeredPreselProfileDirect_get(
  15810 			req->args.field_qualify_StaggeredPreselProfileDirect_get.unit,
  15811 			req->args.field_qualify_StaggeredPreselProfileDirect_get.entry,
  15812 			req->args.field_qualify_StaggeredPreselProfileDirect_get.data,
  15813 			req->args.field_qualify_StaggeredPreselProfileDirect_get.mask);
  15814 		break;
  15815 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDVALUE0:
  15816 		rv = bcm_field_qualify_StaggeredValue0(
  15817 			req->args.field_qualify_StaggeredValue0.unit,
  15818 			req->args.field_qualify_StaggeredValue0.entry,
  15819 			req->args.field_qualify_StaggeredValue0.data,
  15820 			req->args.field_qualify_StaggeredValue0.mask);
  15821 		break;
  15822 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDVALUE0_GET:
  15823 		rv = bcm_field_qualify_StaggeredValue0_get(
  15824 			req->args.field_qualify_StaggeredValue0_get.unit,
  15825 			req->args.field_qualify_StaggeredValue0_get.entry,
  15826 			req->args.field_qualify_StaggeredValue0_get.data,
  15827 			req->args.field_qualify_StaggeredValue0_get.mask);
  15828 		break;
  15829 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDVALUE1:
  15830 		rv = bcm_field_qualify_StaggeredValue1(
  15831 			req->args.field_qualify_StaggeredValue1.unit,
  15832 			req->args.field_qualify_StaggeredValue1.entry,
  15833 			req->args.field_qualify_StaggeredValue1.data,
  15834 			req->args.field_qualify_StaggeredValue1.mask);
  15835 		break;
  15836 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDVALUE1_GET:
  15837 		rv = bcm_field_qualify_StaggeredValue1_get(
  15838 			req->args.field_qualify_StaggeredValue1_get.unit,
  15839 			req->args.field_qualify_StaggeredValue1_get.entry,
  15840 			req->args.field_qualify_StaggeredValue1_get.data,
  15841 			req->args.field_qualify_StaggeredValue1_get.mask);
  15842 		break;
  15843 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDVALUE2:
  15844 		rv = bcm_field_qualify_StaggeredValue2(
  15845 			req->args.field_qualify_StaggeredValue2.unit,
  15846 			req->args.field_qualify_StaggeredValue2.entry,
  15847 			req->args.field_qualify_StaggeredValue2.data,
  15848 			req->args.field_qualify_StaggeredValue2.mask);
  15849 		break;
  15850 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDVALUE2_GET:
  15851 		rv = bcm_field_qualify_StaggeredValue2_get(
  15852 			req->args.field_qualify_StaggeredValue2_get.unit,
  15853 			req->args.field_qualify_StaggeredValue2_get.entry,
  15854 			req->args.field_qualify_StaggeredValue2_get.data,
  15855 			req->args.field_qualify_StaggeredValue2_get.mask);
  15856 		break;
  15857 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDVALUE3:
  15858 		rv = bcm_field_qualify_StaggeredValue3(
  15859 			req->args.field_qualify_StaggeredValue3.unit,
  15860 			req->args.field_qualify_StaggeredValue3.entry,
  15861 			req->args.field_qualify_StaggeredValue3.data,
  15862 			req->args.field_qualify_StaggeredValue3.mask);
  15863 		break;
  15864 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STAGGEREDVALUE3_GET:
  15865 		rv = bcm_field_qualify_StaggeredValue3_get(
  15866 			req->args.field_qualify_StaggeredValue3_get.unit,
  15867 			req->args.field_qualify_StaggeredValue3_get.entry,
  15868 			req->args.field_qualify_StaggeredValue3_get.data,
  15869 			req->args.field_qualify_StaggeredValue3_get.mask);
  15870 		break;
  15871 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STPSTATE:
  15872 		rv = bcm_field_qualify_StpState(
  15873 			req->args.field_qualify_StpState.unit,
  15874 			req->args.field_qualify_StpState.entry,
  15875 			req->args.field_qualify_StpState.data);
  15876 		break;
  15877 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_STPSTATE_GET:
  15878 		rv = bcm_field_qualify_StpState_get(
  15879 			req->args.field_qualify_StpState_get.unit,
  15880 			req->args.field_qualify_StpState_get.entry,
  15881 			req->args.field_qualify_StpState_get.data);
  15882 		break;
  15883 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SUBPORTPKTTAG:
  15884 		rv = bcm_field_qualify_SubportPktTag(
  15885 			req->args.field_qualify_SubportPktTag.unit,
  15886 			req->args.field_qualify_SubportPktTag.entry,
  15887 			req->args.field_qualify_SubportPktTag.data,
  15888 			req->args.field_qualify_SubportPktTag.mask);
  15889 		break;
  15890 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SUBPORTPKTTAG_GET:
  15891 		rv = bcm_field_qualify_SubportPktTag_get(
  15892 			req->args.field_qualify_SubportPktTag_get.unit,
  15893 			req->args.field_qualify_SubportPktTag_get.entry,
  15894 			req->args.field_qualify_SubportPktTag_get.data,
  15895 			req->args.field_qualify_SubportPktTag_get.mask);
  15896 		break;
  15897 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SUBPORTTAGPRESENT:
  15898 		rv = bcm_field_qualify_SubportTagPresent(
  15899 			req->args.field_qualify_SubportTagPresent.unit,
  15900 			req->args.field_qualify_SubportTagPresent.entry,
  15901 			req->args.field_qualify_SubportTagPresent.data,
  15902 			req->args.field_qualify_SubportTagPresent.mask);
  15903 		break;
  15904 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SUBPORTTAGPRESENT_GET:
  15905 		rv = bcm_field_qualify_SubportTagPresent_get(
  15906 			req->args.field_qualify_SubportTagPresent_get.unit,
  15907 			req->args.field_qualify_SubportTagPresent_get.entry,
  15908 			req->args.field_qualify_SubportTagPresent_get.data,
  15909 			req->args.field_qualify_SubportTagPresent_get.mask);
  15910 		break;
  15911 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SYSHDRLOCALDSTPORT:
  15912 		rv = bcm_field_qualify_SysHdrLocalDstport(
  15913 			req->args.field_qualify_SysHdrLocalDstport.unit,
  15914 			req->args.field_qualify_SysHdrLocalDstport.entry,
  15915 			req->args.field_qualify_SysHdrLocalDstport.data,
  15916 			req->args.field_qualify_SysHdrLocalDstport.mask);
  15917 		break;
  15918 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SYSHDRLOCALDSTPORT_GET:
  15919 		rv = bcm_field_qualify_SysHdrLocalDstport_get(
  15920 			req->args.field_qualify_SysHdrLocalDstport_get.unit,
  15921 			req->args.field_qualify_SysHdrLocalDstport_get.entry,
  15922 			req->args.field_qualify_SysHdrLocalDstport_get.data,
  15923 			req->args.field_qualify_SysHdrLocalDstport_get.mask);
  15924 		break;
  15925 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SYSHDRTYPE:
  15926 		rv = bcm_field_qualify_SysHdrType(
  15927 			req->args.field_qualify_SysHdrType.unit,
  15928 			req->args.field_qualify_SysHdrType.entry,
  15929 			req->args.field_qualify_SysHdrType.type);
  15930 		break;
  15931 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SYSHDRTYPE_GET:
  15932 		rv = bcm_field_qualify_SysHdrType_get(
  15933 			req->args.field_qualify_SysHdrType_get.unit,
  15934 			req->args.field_qualify_SysHdrType_get.entry,
  15935 			req->args.field_qualify_SysHdrType_get.type);
  15936 		break;
  15937 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SYSTEMPORTBITMAP:
  15938 		rv = bcm_field_qualify_SystemPortBitmap(
  15939 			req->args.field_qualify_SystemPortBitmap.unit,
  15940 			req->args.field_qualify_SystemPortBitmap.entry,
  15941 			req->args.field_qualify_SystemPortBitmap.data,
  15942 			req->args.field_qualify_SystemPortBitmap.mask);
  15943 		break;
  15944 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_SYSTEMPORTBITMAP_GET:
  15945 		rv = bcm_field_qualify_SystemPortBitmap_get(
  15946 			req->args.field_qualify_SystemPortBitmap_get.unit,
  15947 			req->args.field_qualify_SystemPortBitmap_get.entry,
  15948 			req->args.field_qualify_SystemPortBitmap_get.data,
  15949 			req->args.field_qualify_SystemPortBitmap_get.mask);
  15950 		break;
  15951 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TAFCOSPROFILE:
  15952 		rv = bcm_field_qualify_TafCosProfile(
  15953 			req->args.field_qualify_TafCosProfile.unit,
  15954 			req->args.field_qualify_TafCosProfile.entry,
  15955 			req->args.field_qualify_TafCosProfile.data,
  15956 			req->args.field_qualify_TafCosProfile.mask);
  15957 		break;
  15958 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TAFCOSPROFILE_GET:
  15959 		rv = bcm_field_qualify_TafCosProfile_get(
  15960 			req->args.field_qualify_TafCosProfile_get.unit,
  15961 			req->args.field_qualify_TafCosProfile_get.entry,
  15962 			req->args.field_qualify_TafCosProfile_get.data,
  15963 			req->args.field_qualify_TafCosProfile_get.mask);
  15964 		break;
  15965 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TAFENABLE:
  15966 		rv = bcm_field_qualify_TafEnable(
  15967 			req->args.field_qualify_TafEnable.unit,
  15968 			req->args.field_qualify_TafEnable.entry,
  15969 			req->args.field_qualify_TafEnable.enable);
  15970 		break;
  15971 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TAFENABLE_GET:
  15972 		rv = bcm_field_qualify_TafEnable_get(
  15973 			req->args.field_qualify_TafEnable_get.unit,
  15974 			req->args.field_qualify_TafEnable_get.entry,
  15975 			req->args.field_qualify_TafEnable_get.enable);
  15976 		break;
  15977 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TAFGATEID:
  15978 		rv = bcm_field_qualify_TafGateId(
  15979 			req->args.field_qualify_TafGateId.unit,
  15980 			req->args.field_qualify_TafGateId.entry,
  15981 			req->args.field_qualify_TafGateId.data,
  15982 			req->args.field_qualify_TafGateId.mask);
  15983 		break;
  15984 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TAFGATEID_GET:
  15985 		rv = bcm_field_qualify_TafGateId_get(
  15986 			req->args.field_qualify_TafGateId_get.unit,
  15987 			req->args.field_qualify_TafGateId_get.entry,
  15988 			req->args.field_qualify_TafGateId_get.data,
  15989 			req->args.field_qualify_TafGateId_get.mask);
  15990 		break;
  15991 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TAFGATESTATE:
  15992 		rv = bcm_field_qualify_TafGateState(
  15993 			req->args.field_qualify_TafGateState.unit,
  15994 			req->args.field_qualify_TafGateState.entry,
  15995 			req->args.field_qualify_TafGateState.state);
  15996 		break;
  15997 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TAFGATESTATE_GET:
  15998 		rv = bcm_field_qualify_TafGateState_get(
  15999 			req->args.field_qualify_TafGateState_get.unit,
  16000 			req->args.field_qualify_TafGateState_get.entry,
  16001 			req->args.field_qualify_TafGateState_get.state);
  16002 		break;
  16003 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPCLASSONE:
  16004 		rv = bcm_field_qualify_TcpClassOne(
  16005 			req->args.field_qualify_TcpClassOne.unit,
  16006 			req->args.field_qualify_TcpClassOne.entry,
  16007 			req->args.field_qualify_TcpClassOne.data,
  16008 			req->args.field_qualify_TcpClassOne.mask);
  16009 		break;
  16010 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPCLASSONE_GET:
  16011 		rv = bcm_field_qualify_TcpClassOne_get(
  16012 			req->args.field_qualify_TcpClassOne_get.unit,
  16013 			req->args.field_qualify_TcpClassOne_get.entry,
  16014 			req->args.field_qualify_TcpClassOne_get.data,
  16015 			req->args.field_qualify_TcpClassOne_get.mask);
  16016 		break;
  16017 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPCLASSZERO:
  16018 		rv = bcm_field_qualify_TcpClassZero(
  16019 			req->args.field_qualify_TcpClassZero.unit,
  16020 			req->args.field_qualify_TcpClassZero.entry,
  16021 			req->args.field_qualify_TcpClassZero.data,
  16022 			req->args.field_qualify_TcpClassZero.mask);
  16023 		break;
  16024 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPCLASSZERO_GET:
  16025 		rv = bcm_field_qualify_TcpClassZero_get(
  16026 			req->args.field_qualify_TcpClassZero_get.unit,
  16027 			req->args.field_qualify_TcpClassZero_get.entry,
  16028 			req->args.field_qualify_TcpClassZero_get.data,
  16029 			req->args.field_qualify_TcpClassZero_get.mask);
  16030 		break;
  16031 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPCONTROL:
  16032 		rv = bcm_field_qualify_TcpControl(
  16033 			req->args.field_qualify_TcpControl.unit,
  16034 			req->args.field_qualify_TcpControl.entry,
  16035 			req->args.field_qualify_TcpControl.data,
  16036 			req->args.field_qualify_TcpControl.mask);
  16037 		break;
  16038 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPCONTROL_GET:
  16039 		rv = bcm_field_qualify_TcpControl_get(
  16040 			req->args.field_qualify_TcpControl_get.unit,
  16041 			req->args.field_qualify_TcpControl_get.entry,
  16042 			req->args.field_qualify_TcpControl_get.data,
  16043 			req->args.field_qualify_TcpControl_get.mask);
  16044 		break;
  16045 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPHEADERSIZE:
  16046 		rv = bcm_field_qualify_TcpHeaderSize(
  16047 			req->args.field_qualify_TcpHeaderSize.unit,
  16048 			req->args.field_qualify_TcpHeaderSize.entry,
  16049 			req->args.field_qualify_TcpHeaderSize.data,
  16050 			req->args.field_qualify_TcpHeaderSize.mask);
  16051 		break;
  16052 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPHEADERSIZE_GET:
  16053 		rv = bcm_field_qualify_TcpHeaderSize_get(
  16054 			req->args.field_qualify_TcpHeaderSize_get.unit,
  16055 			req->args.field_qualify_TcpHeaderSize_get.entry,
  16056 			req->args.field_qualify_TcpHeaderSize_get.data,
  16057 			req->args.field_qualify_TcpHeaderSize_get.mask);
  16058 		break;
  16059 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPSEQUENCEZERO:
  16060 		rv = bcm_field_qualify_TcpSequenceZero(
  16061 			req->args.field_qualify_TcpSequenceZero.unit,
  16062 			req->args.field_qualify_TcpSequenceZero.entry,
  16063 			req->args.field_qualify_TcpSequenceZero.flag);
  16064 		break;
  16065 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TCPSEQUENCEZERO_GET:
  16066 		rv = bcm_field_qualify_TcpSequenceZero_get(
  16067 			req->args.field_qualify_TcpSequenceZero_get.unit,
  16068 			req->args.field_qualify_TcpSequenceZero_get.entry,
  16069 			req->args.field_qualify_TcpSequenceZero_get.flag);
  16070 		break;
  16071 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TIMESTAMPTXPKTTYPE:
  16072 		rv = bcm_field_qualify_TimeStampTxPktType(
  16073 			req->args.field_qualify_TimeStampTxPktType.unit,
  16074 			req->args.field_qualify_TimeStampTxPktType.entry,
  16075 			req->args.field_qualify_TimeStampTxPktType.ts_pkt_type);
  16076 		break;
  16077 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TIMESTAMPTXPKTTYPE_GET:
  16078 		rv = bcm_field_qualify_TimeStampTxPktType_get(
  16079 			req->args.field_qualify_TimeStampTxPktType_get.unit,
  16080 			req->args.field_qualify_TimeStampTxPktType_get.entry,
  16081 			req->args.field_qualify_TimeStampTxPktType_get.ts_pkt_type);
  16082 		break;
  16083 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TOS:
  16084 		rv = bcm_field_qualify_Tos(
  16085 			req->args.field_qualify_Tos.unit,
  16086 			req->args.field_qualify_Tos.entry,
  16087 			req->args.field_qualify_Tos.data,
  16088 			req->args.field_qualify_Tos.mask);
  16089 		break;
  16090 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TOSCLASSONE:
  16091 		rv = bcm_field_qualify_TosClassOne(
  16092 			req->args.field_qualify_TosClassOne.unit,
  16093 			req->args.field_qualify_TosClassOne.entry,
  16094 			req->args.field_qualify_TosClassOne.data,
  16095 			req->args.field_qualify_TosClassOne.mask);
  16096 		break;
  16097 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TOSCLASSONE_GET:
  16098 		rv = bcm_field_qualify_TosClassOne_get(
  16099 			req->args.field_qualify_TosClassOne_get.unit,
  16100 			req->args.field_qualify_TosClassOne_get.entry,
  16101 			req->args.field_qualify_TosClassOne_get.data,
  16102 			req->args.field_qualify_TosClassOne_get.mask);
  16103 		break;
  16104 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TOSCLASSZERO:
  16105 		rv = bcm_field_qualify_TosClassZero(
  16106 			req->args.field_qualify_TosClassZero.unit,
  16107 			req->args.field_qualify_TosClassZero.entry,
  16108 			req->args.field_qualify_TosClassZero.data,
  16109 			req->args.field_qualify_TosClassZero.mask);
  16110 		break;
  16111 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TOSCLASSZERO_GET:
  16112 		rv = bcm_field_qualify_TosClassZero_get(
  16113 			req->args.field_qualify_TosClassZero_get.unit,
  16114 			req->args.field_qualify_TosClassZero_get.entry,
  16115 			req->args.field_qualify_TosClassZero_get.data,
  16116 			req->args.field_qualify_TosClassZero_get.mask);
  16117 		break;
  16118 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TOSLOWER4BITS:
  16119 		rv = bcm_field_qualify_TosLower4Bits(
  16120 			req->args.field_qualify_TosLower4Bits.unit,
  16121 			req->args.field_qualify_TosLower4Bits.entry,
  16122 			req->args.field_qualify_TosLower4Bits.data,
  16123 			req->args.field_qualify_TosLower4Bits.mask);
  16124 		break;
  16125 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TOSLOWER4BITS_GET:
  16126 		rv = bcm_field_qualify_TosLower4Bits_get(
  16127 			req->args.field_qualify_TosLower4Bits_get.unit,
  16128 			req->args.field_qualify_TosLower4Bits_get.entry,
  16129 			req->args.field_qualify_TosLower4Bits_get.data,
  16130 			req->args.field_qualify_TosLower4Bits_get.mask);
  16131 		break;
  16132 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TOS_GET:
  16133 		rv = bcm_field_qualify_Tos_get(
  16134 			req->args.field_qualify_Tos_get.unit,
  16135 			req->args.field_qualify_Tos_get.entry,
  16136 			req->args.field_qualify_Tos_get.data,
  16137 			req->args.field_qualify_Tos_get.mask);
  16138 		break;
  16139 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDINNERVLAN:
  16140 		rv = bcm_field_qualify_TranslatedInnerVlan(
  16141 			req->args.field_qualify_TranslatedInnerVlan.unit,
  16142 			req->args.field_qualify_TranslatedInnerVlan.entry,
  16143 			req->args.field_qualify_TranslatedInnerVlan.data,
  16144 			req->args.field_qualify_TranslatedInnerVlan.mask);
  16145 		break;
  16146 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDINNERVLANCFI:
  16147 		rv = bcm_field_qualify_TranslatedInnerVlanCfi(
  16148 			req->args.field_qualify_TranslatedInnerVlanCfi.unit,
  16149 			req->args.field_qualify_TranslatedInnerVlanCfi.entry,
  16150 			req->args.field_qualify_TranslatedInnerVlanCfi.data,
  16151 			req->args.field_qualify_TranslatedInnerVlanCfi.mask);
  16152 		break;
  16153 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDINNERVLANCFI_GET:
  16154 		rv = bcm_field_qualify_TranslatedInnerVlanCfi_get(
  16155 			req->args.field_qualify_TranslatedInnerVlanCfi_get.unit,
  16156 			req->args.field_qualify_TranslatedInnerVlanCfi_get.entry,
  16157 			req->args.field_qualify_TranslatedInnerVlanCfi_get.data,
  16158 			req->args.field_qualify_TranslatedInnerVlanCfi_get.mask);
  16159 		break;
  16160 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDINNERVLANID:
  16161 		rv = bcm_field_qualify_TranslatedInnerVlanId(
  16162 			req->args.field_qualify_TranslatedInnerVlanId.unit,
  16163 			req->args.field_qualify_TranslatedInnerVlanId.entry,
  16164 			req->args.field_qualify_TranslatedInnerVlanId.data,
  16165 			req->args.field_qualify_TranslatedInnerVlanId.mask);
  16166 		break;
  16167 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDINNERVLANID_GET:
  16168 		rv = bcm_field_qualify_TranslatedInnerVlanId_get(
  16169 			req->args.field_qualify_TranslatedInnerVlanId_get.unit,
  16170 			req->args.field_qualify_TranslatedInnerVlanId_get.entry,
  16171 			req->args.field_qualify_TranslatedInnerVlanId_get.data,
  16172 			req->args.field_qualify_TranslatedInnerVlanId_get.mask);
  16173 		break;
  16174 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDINNERVLANPRI:
  16175 		rv = bcm_field_qualify_TranslatedInnerVlanPri(
  16176 			req->args.field_qualify_TranslatedInnerVlanPri.unit,
  16177 			req->args.field_qualify_TranslatedInnerVlanPri.entry,
  16178 			req->args.field_qualify_TranslatedInnerVlanPri.data,
  16179 			req->args.field_qualify_TranslatedInnerVlanPri.mask);
  16180 		break;
  16181 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDINNERVLANPRI_GET:
  16182 		rv = bcm_field_qualify_TranslatedInnerVlanPri_get(
  16183 			req->args.field_qualify_TranslatedInnerVlanPri_get.unit,
  16184 			req->args.field_qualify_TranslatedInnerVlanPri_get.entry,
  16185 			req->args.field_qualify_TranslatedInnerVlanPri_get.data,
  16186 			req->args.field_qualify_TranslatedInnerVlanPri_get.mask);
  16187 		break;
  16188 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDINNERVLAN_GET:
  16189 		rv = bcm_field_qualify_TranslatedInnerVlan_get(
  16190 			req->args.field_qualify_TranslatedInnerVlan_get.unit,
  16191 			req->args.field_qualify_TranslatedInnerVlan_get.entry,
  16192 			req->args.field_qualify_TranslatedInnerVlan_get.data,
  16193 			req->args.field_qualify_TranslatedInnerVlan_get.mask);
  16194 		break;
  16195 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDOUTERVLAN:
  16196 		rv = bcm_field_qualify_TranslatedOuterVlan(
  16197 			req->args.field_qualify_TranslatedOuterVlan.unit,
  16198 			req->args.field_qualify_TranslatedOuterVlan.entry,
  16199 			req->args.field_qualify_TranslatedOuterVlan.data,
  16200 			req->args.field_qualify_TranslatedOuterVlan.mask);
  16201 		break;
  16202 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDOUTERVLANCFI:
  16203 		rv = bcm_field_qualify_TranslatedOuterVlanCfi(
  16204 			req->args.field_qualify_TranslatedOuterVlanCfi.unit,
  16205 			req->args.field_qualify_TranslatedOuterVlanCfi.entry,
  16206 			req->args.field_qualify_TranslatedOuterVlanCfi.data,
  16207 			req->args.field_qualify_TranslatedOuterVlanCfi.mask);
  16208 		break;
  16209 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDOUTERVLANCFI_GET:
  16210 		rv = bcm_field_qualify_TranslatedOuterVlanCfi_get(
  16211 			req->args.field_qualify_TranslatedOuterVlanCfi_get.unit,
  16212 			req->args.field_qualify_TranslatedOuterVlanCfi_get.entry,
  16213 			req->args.field_qualify_TranslatedOuterVlanCfi_get.data,
  16214 			req->args.field_qualify_TranslatedOuterVlanCfi_get.mask);
  16215 		break;
  16216 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDOUTERVLANID:
  16217 		rv = bcm_field_qualify_TranslatedOuterVlanId(
  16218 			req->args.field_qualify_TranslatedOuterVlanId.unit,
  16219 			req->args.field_qualify_TranslatedOuterVlanId.entry,
  16220 			req->args.field_qualify_TranslatedOuterVlanId.data,
  16221 			req->args.field_qualify_TranslatedOuterVlanId.mask);
  16222 		break;
  16223 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDOUTERVLANID_GET:
  16224 		rv = bcm_field_qualify_TranslatedOuterVlanId_get(
  16225 			req->args.field_qualify_TranslatedOuterVlanId_get.unit,
  16226 			req->args.field_qualify_TranslatedOuterVlanId_get.entry,
  16227 			req->args.field_qualify_TranslatedOuterVlanId_get.data,
  16228 			req->args.field_qualify_TranslatedOuterVlanId_get.mask);
  16229 		break;
  16230 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDOUTERVLANPRI:
  16231 		rv = bcm_field_qualify_TranslatedOuterVlanPri(
  16232 			req->args.field_qualify_TranslatedOuterVlanPri.unit,
  16233 			req->args.field_qualify_TranslatedOuterVlanPri.entry,
  16234 			req->args.field_qualify_TranslatedOuterVlanPri.data,
  16235 			req->args.field_qualify_TranslatedOuterVlanPri.mask);
  16236 		break;
  16237 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDOUTERVLANPRI_GET:
  16238 		rv = bcm_field_qualify_TranslatedOuterVlanPri_get(
  16239 			req->args.field_qualify_TranslatedOuterVlanPri_get.unit,
  16240 			req->args.field_qualify_TranslatedOuterVlanPri_get.entry,
  16241 			req->args.field_qualify_TranslatedOuterVlanPri_get.data,
  16242 			req->args.field_qualify_TranslatedOuterVlanPri_get.mask);
  16243 		break;
  16244 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDOUTERVLAN_GET:
  16245 		rv = bcm_field_qualify_TranslatedOuterVlan_get(
  16246 			req->args.field_qualify_TranslatedOuterVlan_get.unit,
  16247 			req->args.field_qualify_TranslatedOuterVlan_get.entry,
  16248 			req->args.field_qualify_TranslatedOuterVlan_get.data,
  16249 			req->args.field_qualify_TranslatedOuterVlan_get.mask);
  16250 		break;
  16251 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDVLANFORMAT:
  16252 		rv = bcm_field_qualify_TranslatedVlanFormat(
  16253 			req->args.field_qualify_TranslatedVlanFormat.unit,
  16254 			req->args.field_qualify_TranslatedVlanFormat.entry,
  16255 			req->args.field_qualify_TranslatedVlanFormat.data,
  16256 			req->args.field_qualify_TranslatedVlanFormat.mask);
  16257 		break;
  16258 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRANSLATEDVLANFORMAT_GET:
  16259 		rv = bcm_field_qualify_TranslatedVlanFormat_get(
  16260 			req->args.field_qualify_TranslatedVlanFormat_get.unit,
  16261 			req->args.field_qualify_TranslatedVlanFormat_get.entry,
  16262 			req->args.field_qualify_TranslatedVlanFormat_get.data,
  16263 			req->args.field_qualify_TranslatedVlanFormat_get.mask);
  16264 		break;
  16265 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLEGRESSRBRIDGE:
  16266 		rv = bcm_field_qualify_TrillEgressRbridge(
  16267 			req->args.field_qualify_TrillEgressRbridge.unit,
  16268 			req->args.field_qualify_TrillEgressRbridge.entry,
  16269 			req->args.field_qualify_TrillEgressRbridge.data,
  16270 			req->args.field_qualify_TrillEgressRbridge.mask);
  16271 		break;
  16272 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLEGRESSRBRIDGEHIT:
  16273 		rv = bcm_field_qualify_TrillEgressRbridgeHit(
  16274 			req->args.field_qualify_TrillEgressRbridgeHit.unit,
  16275 			req->args.field_qualify_TrillEgressRbridgeHit.entry,
  16276 			req->args.field_qualify_TrillEgressRbridgeHit.data,
  16277 			req->args.field_qualify_TrillEgressRbridgeHit.mask);
  16278 		break;
  16279 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLEGRESSRBRIDGEHIT_GET:
  16280 		rv = bcm_field_qualify_TrillEgressRbridgeHit_get(
  16281 			req->args.field_qualify_TrillEgressRbridgeHit_get.unit,
  16282 			req->args.field_qualify_TrillEgressRbridgeHit_get.entry,
  16283 			req->args.field_qualify_TrillEgressRbridgeHit_get.data,
  16284 			req->args.field_qualify_TrillEgressRbridgeHit_get.mask);
  16285 		break;
  16286 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLEGRESSRBRIDGE_GET:
  16287 		rv = bcm_field_qualify_TrillEgressRbridge_get(
  16288 			req->args.field_qualify_TrillEgressRbridge_get.unit,
  16289 			req->args.field_qualify_TrillEgressRbridge_get.entry,
  16290 			req->args.field_qualify_TrillEgressRbridge_get.data,
  16291 			req->args.field_qualify_TrillEgressRbridge_get.mask);
  16292 		break;
  16293 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLHOPCOUNT:
  16294 		rv = bcm_field_qualify_TrillHopCount(
  16295 			req->args.field_qualify_TrillHopCount.unit,
  16296 			req->args.field_qualify_TrillHopCount.entry,
  16297 			req->args.field_qualify_TrillHopCount.data,
  16298 			req->args.field_qualify_TrillHopCount.mask);
  16299 		break;
  16300 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLHOPCOUNT_GET:
  16301 		rv = bcm_field_qualify_TrillHopCount_get(
  16302 			req->args.field_qualify_TrillHopCount_get.unit,
  16303 			req->args.field_qualify_TrillHopCount_get.entry,
  16304 			req->args.field_qualify_TrillHopCount_get.data,
  16305 			req->args.field_qualify_TrillHopCount_get.mask);
  16306 		break;
  16307 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLIVERSION:
  16308 		rv = bcm_field_qualify_TrillIVersion(
  16309 			req->args.field_qualify_TrillIVersion.unit,
  16310 			req->args.field_qualify_TrillIVersion.entry,
  16311 			req->args.field_qualify_TrillIVersion.data,
  16312 			req->args.field_qualify_TrillIVersion.mask);
  16313 		break;
  16314 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLIVERSION_GET:
  16315 		rv = bcm_field_qualify_TrillIVersion_get(
  16316 			req->args.field_qualify_TrillIVersion_get.unit,
  16317 			req->args.field_qualify_TrillIVersion_get.entry,
  16318 			req->args.field_qualify_TrillIVersion_get.data,
  16319 			req->args.field_qualify_TrillIVersion_get.mask);
  16320 		break;
  16321 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLINGRESSRBRIDGE:
  16322 		rv = bcm_field_qualify_TrillIngressRbridge(
  16323 			req->args.field_qualify_TrillIngressRbridge.unit,
  16324 			req->args.field_qualify_TrillIngressRbridge.entry,
  16325 			req->args.field_qualify_TrillIngressRbridge.data,
  16326 			req->args.field_qualify_TrillIngressRbridge.mask);
  16327 		break;
  16328 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLINGRESSRBRIDGEHIT:
  16329 		rv = bcm_field_qualify_TrillIngressRbridgeHit(
  16330 			req->args.field_qualify_TrillIngressRbridgeHit.unit,
  16331 			req->args.field_qualify_TrillIngressRbridgeHit.entry,
  16332 			req->args.field_qualify_TrillIngressRbridgeHit.data,
  16333 			req->args.field_qualify_TrillIngressRbridgeHit.mask);
  16334 		break;
  16335 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLINGRESSRBRIDGEHIT_GET:
  16336 		rv = bcm_field_qualify_TrillIngressRbridgeHit_get(
  16337 			req->args.field_qualify_TrillIngressRbridgeHit_get.unit,
  16338 			req->args.field_qualify_TrillIngressRbridgeHit_get.entry,
  16339 			req->args.field_qualify_TrillIngressRbridgeHit_get.data,
  16340 			req->args.field_qualify_TrillIngressRbridgeHit_get.mask);
  16341 		break;
  16342 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLINGRESSRBRIDGE_GET:
  16343 		rv = bcm_field_qualify_TrillIngressRbridge_get(
  16344 			req->args.field_qualify_TrillIngressRbridge_get.unit,
  16345 			req->args.field_qualify_TrillIngressRbridge_get.entry,
  16346 			req->args.field_qualify_TrillIngressRbridge_get.data,
  16347 			req->args.field_qualify_TrillIngressRbridge_get.mask);
  16348 		break;
  16349 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLMULTIDESTINATION:
  16350 		rv = bcm_field_qualify_TrillMultiDestination(
  16351 			req->args.field_qualify_TrillMultiDestination.unit,
  16352 			req->args.field_qualify_TrillMultiDestination.entry,
  16353 			req->args.field_qualify_TrillMultiDestination.data,
  16354 			req->args.field_qualify_TrillMultiDestination.mask);
  16355 		break;
  16356 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLMULTIDESTINATION_GET:
  16357 		rv = bcm_field_qualify_TrillMultiDestination_get(
  16358 			req->args.field_qualify_TrillMultiDestination_get.unit,
  16359 			req->args.field_qualify_TrillMultiDestination_get.entry,
  16360 			req->args.field_qualify_TrillMultiDestination_get.data,
  16361 			req->args.field_qualify_TrillMultiDestination_get.mask);
  16362 		break;
  16363 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLOPLENGTH:
  16364 		rv = bcm_field_qualify_TrillOpLength(
  16365 			req->args.field_qualify_TrillOpLength.unit,
  16366 			req->args.field_qualify_TrillOpLength.entry,
  16367 			req->args.field_qualify_TrillOpLength.data,
  16368 			req->args.field_qualify_TrillOpLength.mask);
  16369 		break;
  16370 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLOPLENGTH_GET:
  16371 		rv = bcm_field_qualify_TrillOpLength_get(
  16372 			req->args.field_qualify_TrillOpLength_get.unit,
  16373 			req->args.field_qualify_TrillOpLength_get.entry,
  16374 			req->args.field_qualify_TrillOpLength_get.data,
  16375 			req->args.field_qualify_TrillOpLength_get.mask);
  16376 		break;
  16377 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLPAYLOAD:
  16378 		rv = bcm_field_qualify_TrillPayload(
  16379 			req->args.field_qualify_TrillPayload.unit,
  16380 			req->args.field_qualify_TrillPayload.entry,
  16381 			req->args.field_qualify_TrillPayload.data,
  16382 			req->args.field_qualify_TrillPayload.mask);
  16383 		break;
  16384 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRILLPAYLOAD_GET:
  16385 		rv = bcm_field_qualify_TrillPayload_get(
  16386 			req->args.field_qualify_TrillPayload_get.unit,
  16387 			req->args.field_qualify_TrillPayload_get.entry,
  16388 			req->args.field_qualify_TrillPayload_get.data,
  16389 			req->args.field_qualify_TrillPayload_get.mask);
  16390 		break;
  16391 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRUNKHASHRESULT:
  16392 		rv = bcm_field_qualify_TrunkHashResult(
  16393 			req->args.field_qualify_TrunkHashResult.unit,
  16394 			req->args.field_qualify_TrunkHashResult.entry,
  16395 			req->args.field_qualify_TrunkHashResult.data,
  16396 			req->args.field_qualify_TrunkHashResult.mask);
  16397 		break;
  16398 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRUNKHASHRESULT_GET:
  16399 		rv = bcm_field_qualify_TrunkHashResult_get(
  16400 			req->args.field_qualify_TrunkHashResult_get.unit,
  16401 			req->args.field_qualify_TrunkHashResult_get.entry,
  16402 			req->args.field_qualify_TrunkHashResult_get.data,
  16403 			req->args.field_qualify_TrunkHashResult_get.mask);
  16404 		break;
  16405 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRUNKMEMBERSOURCEMODULEID:
  16406 		rv = bcm_field_qualify_TrunkMemberSourceModuleId(
  16407 			req->args.field_qualify_TrunkMemberSourceModuleId.unit,
  16408 			req->args.field_qualify_TrunkMemberSourceModuleId.entry,
  16409 			req->args.field_qualify_TrunkMemberSourceModuleId.data,
  16410 			req->args.field_qualify_TrunkMemberSourceModuleId.mask);
  16411 		break;
  16412 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TRUNKMEMBERSOURCEMODULEID_GET:
  16413 		rv = bcm_field_qualify_TrunkMemberSourceModuleId_get(
  16414 			req->args.field_qualify_TrunkMemberSourceModuleId_get.unit,
  16415 			req->args.field_qualify_TrunkMemberSourceModuleId_get.entry,
  16416 			req->args.field_qualify_TrunkMemberSourceModuleId_get.data,
  16417 			req->args.field_qualify_TrunkMemberSourceModuleId_get.mask);
  16418 		break;
  16419 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TSNFLOWID:
  16420 		rv = bcm_field_qualify_TsnFlowId(
  16421 			req->args.field_qualify_TsnFlowId.unit,
  16422 			req->args.field_qualify_TsnFlowId.entry,
  16423 			req->args.field_qualify_TsnFlowId.data,
  16424 			req->args.field_qualify_TsnFlowId.mask);
  16425 		break;
  16426 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TSNFLOWID_GET:
  16427 		rv = bcm_field_qualify_TsnFlowId_get(
  16428 			req->args.field_qualify_TsnFlowId_get.unit,
  16429 			req->args.field_qualify_TsnFlowId_get.entry,
  16430 			req->args.field_qualify_TsnFlowId_get.data,
  16431 			req->args.field_qualify_TsnFlowId_get.mask);
  16432 		break;
  16433 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TTL:
  16434 		rv = bcm_field_qualify_Ttl(
  16435 			req->args.field_qualify_Ttl.unit,
  16436 			req->args.field_qualify_Ttl.entry,
  16437 			req->args.field_qualify_Ttl.data,
  16438 			req->args.field_qualify_Ttl.mask);
  16439 		break;
  16440 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TTLCLASSONE:
  16441 		rv = bcm_field_qualify_TtlClassOne(
  16442 			req->args.field_qualify_TtlClassOne.unit,
  16443 			req->args.field_qualify_TtlClassOne.entry,
  16444 			req->args.field_qualify_TtlClassOne.data,
  16445 			req->args.field_qualify_TtlClassOne.mask);
  16446 		break;
  16447 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TTLCLASSONE_GET:
  16448 		rv = bcm_field_qualify_TtlClassOne_get(
  16449 			req->args.field_qualify_TtlClassOne_get.unit,
  16450 			req->args.field_qualify_TtlClassOne_get.entry,
  16451 			req->args.field_qualify_TtlClassOne_get.data,
  16452 			req->args.field_qualify_TtlClassOne_get.mask);
  16453 		break;
  16454 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TTLCLASSZERO:
  16455 		rv = bcm_field_qualify_TtlClassZero(
  16456 			req->args.field_qualify_TtlClassZero.unit,
  16457 			req->args.field_qualify_TtlClassZero.entry,
  16458 			req->args.field_qualify_TtlClassZero.data,
  16459 			req->args.field_qualify_TtlClassZero.mask);
  16460 		break;
  16461 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TTLCLASSZERO_GET:
  16462 		rv = bcm_field_qualify_TtlClassZero_get(
  16463 			req->args.field_qualify_TtlClassZero_get.unit,
  16464 			req->args.field_qualify_TtlClassZero_get.entry,
  16465 			req->args.field_qualify_TtlClassZero_get.data,
  16466 			req->args.field_qualify_TtlClassZero_get.mask);
  16467 		break;
  16468 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TTL_GET:
  16469 		rv = bcm_field_qualify_Ttl_get(
  16470 			req->args.field_qualify_Ttl_get.unit,
  16471 			req->args.field_qualify_Ttl_get.entry,
  16472 			req->args.field_qualify_Ttl_get.data,
  16473 			req->args.field_qualify_Ttl_get.mask);
  16474 		break;
  16475 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELID:
  16476 		rv = bcm_field_qualify_TunnelId(
  16477 			req->args.field_qualify_TunnelId.unit,
  16478 			req->args.field_qualify_TunnelId.entry,
  16479 			req->args.field_qualify_TunnelId.data,
  16480 			req->args.field_qualify_TunnelId.mask);
  16481 		break;
  16482 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELID_GET:
  16483 		rv = bcm_field_qualify_TunnelId_get(
  16484 			req->args.field_qualify_TunnelId_get.unit,
  16485 			req->args.field_qualify_TunnelId_get.entry,
  16486 			req->args.field_qualify_TunnelId_get.data,
  16487 			req->args.field_qualify_TunnelId_get.mask);
  16488 		break;
  16489 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADDIP:
  16490 		rv = bcm_field_qualify_TunnelPayloadDip(
  16491 			req->args.field_qualify_TunnelPayloadDip.unit,
  16492 			req->args.field_qualify_TunnelPayloadDip.entry,
  16493 			req->args.field_qualify_TunnelPayloadDip.data,
  16494 			req->args.field_qualify_TunnelPayloadDip.mask);
  16495 		break;
  16496 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADDIP6:
  16497 		rv = bcm_field_qualify_TunnelPayloadDip6(
  16498 			req->args.field_qualify_TunnelPayloadDip6.unit,
  16499 			req->args.field_qualify_TunnelPayloadDip6.entry,
  16500 			req->args.field_qualify_TunnelPayloadDip6.data,
  16501 			req->args.field_qualify_TunnelPayloadDip6.mask);
  16502 		break;
  16503 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADDIP6_GET:
  16504 		rv = bcm_field_qualify_TunnelPayloadDip6_get(
  16505 			req->args.field_qualify_TunnelPayloadDip6_get.unit,
  16506 			req->args.field_qualify_TunnelPayloadDip6_get.entry,
  16507 			req->args.field_qualify_TunnelPayloadDip6_get.data,
  16508 			req->args.field_qualify_TunnelPayloadDip6_get.mask);
  16509 		break;
  16510 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADDIP_GET:
  16511 		rv = bcm_field_qualify_TunnelPayloadDip_get(
  16512 			req->args.field_qualify_TunnelPayloadDip_get.unit,
  16513 			req->args.field_qualify_TunnelPayloadDip_get.entry,
  16514 			req->args.field_qualify_TunnelPayloadDip_get.data,
  16515 			req->args.field_qualify_TunnelPayloadDip_get.mask);
  16516 		break;
  16517 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADDSTMAC:
  16518 		rv = bcm_field_qualify_TunnelPayloadDstMac(
  16519 			req->args.field_qualify_TunnelPayloadDstMac.unit,
  16520 			req->args.field_qualify_TunnelPayloadDstMac.entry,
  16521 			req->args.field_qualify_TunnelPayloadDstMac.data,
  16522 			req->args.field_qualify_TunnelPayloadDstMac.mask);
  16523 		break;
  16524 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADDSTMAC_GET:
  16525 		rv = bcm_field_qualify_TunnelPayloadDstMac_get(
  16526 			req->args.field_qualify_TunnelPayloadDstMac_get.unit,
  16527 			req->args.field_qualify_TunnelPayloadDstMac_get.entry,
  16528 			req->args.field_qualify_TunnelPayloadDstMac_get.data,
  16529 			req->args.field_qualify_TunnelPayloadDstMac_get.mask);
  16530 		break;
  16531 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADETHERTYPE:
  16532 		rv = bcm_field_qualify_TunnelPayloadEtherType(
  16533 			req->args.field_qualify_TunnelPayloadEtherType.unit,
  16534 			req->args.field_qualify_TunnelPayloadEtherType.entry,
  16535 			req->args.field_qualify_TunnelPayloadEtherType.data,
  16536 			req->args.field_qualify_TunnelPayloadEtherType.mask);
  16537 		break;
  16538 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADETHERTYPE_GET:
  16539 		rv = bcm_field_qualify_TunnelPayloadEtherType_get(
  16540 			req->args.field_qualify_TunnelPayloadEtherType_get.unit,
  16541 			req->args.field_qualify_TunnelPayloadEtherType_get.entry,
  16542 			req->args.field_qualify_TunnelPayloadEtherType_get.data,
  16543 			req->args.field_qualify_TunnelPayloadEtherType_get.mask);
  16544 		break;
  16545 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADIP4LENGTH:
  16546 		rv = bcm_field_qualify_TunnelPayloadIp4Length(
  16547 			req->args.field_qualify_TunnelPayloadIp4Length.unit,
  16548 			req->args.field_qualify_TunnelPayloadIp4Length.entry,
  16549 			req->args.field_qualify_TunnelPayloadIp4Length.data,
  16550 			req->args.field_qualify_TunnelPayloadIp4Length.mask);
  16551 		break;
  16552 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADIP4LENGTH_GET:
  16553 		rv = bcm_field_qualify_TunnelPayloadIp4Length_get(
  16554 			req->args.field_qualify_TunnelPayloadIp4Length_get.unit,
  16555 			req->args.field_qualify_TunnelPayloadIp4Length_get.entry,
  16556 			req->args.field_qualify_TunnelPayloadIp4Length_get.data,
  16557 			req->args.field_qualify_TunnelPayloadIp4Length_get.mask);
  16558 		break;
  16559 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADIP6LENGTH:
  16560 		rv = bcm_field_qualify_TunnelPayloadIp6Length(
  16561 			req->args.field_qualify_TunnelPayloadIp6Length.unit,
  16562 			req->args.field_qualify_TunnelPayloadIp6Length.entry,
  16563 			req->args.field_qualify_TunnelPayloadIp6Length.data,
  16564 			req->args.field_qualify_TunnelPayloadIp6Length.mask);
  16565 		break;
  16566 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADIP6LENGTH_GET:
  16567 		rv = bcm_field_qualify_TunnelPayloadIp6Length_get(
  16568 			req->args.field_qualify_TunnelPayloadIp6Length_get.unit,
  16569 			req->args.field_qualify_TunnelPayloadIp6Length_get.entry,
  16570 			req->args.field_qualify_TunnelPayloadIp6Length_get.data,
  16571 			req->args.field_qualify_TunnelPayloadIp6Length_get.mask);
  16572 		break;
  16573 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADIPPROTOCOL:
  16574 		rv = bcm_field_qualify_TunnelPayloadIpProtocol(
  16575 			req->args.field_qualify_TunnelPayloadIpProtocol.unit,
  16576 			req->args.field_qualify_TunnelPayloadIpProtocol.entry,
  16577 			req->args.field_qualify_TunnelPayloadIpProtocol.data,
  16578 			req->args.field_qualify_TunnelPayloadIpProtocol.mask);
  16579 		break;
  16580 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADIPPROTOCOL_GET:
  16581 		rv = bcm_field_qualify_TunnelPayloadIpProtocol_get(
  16582 			req->args.field_qualify_TunnelPayloadIpProtocol_get.unit,
  16583 			req->args.field_qualify_TunnelPayloadIpProtocol_get.entry,
  16584 			req->args.field_qualify_TunnelPayloadIpProtocol_get.data,
  16585 			req->args.field_qualify_TunnelPayloadIpProtocol_get.mask);
  16586 		break;
  16587 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADL4DSTPORT:
  16588 		rv = bcm_field_qualify_TunnelPayloadL4DstPort(
  16589 			req->args.field_qualify_TunnelPayloadL4DstPort.unit,
  16590 			req->args.field_qualify_TunnelPayloadL4DstPort.entry,
  16591 			req->args.field_qualify_TunnelPayloadL4DstPort.data,
  16592 			req->args.field_qualify_TunnelPayloadL4DstPort.mask);
  16593 		break;
  16594 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADL4DSTPORT_GET:
  16595 		rv = bcm_field_qualify_TunnelPayloadL4DstPort_get(
  16596 			req->args.field_qualify_TunnelPayloadL4DstPort_get.unit,
  16597 			req->args.field_qualify_TunnelPayloadL4DstPort_get.entry,
  16598 			req->args.field_qualify_TunnelPayloadL4DstPort_get.data,
  16599 			req->args.field_qualify_TunnelPayloadL4DstPort_get.mask);
  16600 		break;
  16601 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADL4SRCPORT:
  16602 		rv = bcm_field_qualify_TunnelPayloadL4SrcPort(
  16603 			req->args.field_qualify_TunnelPayloadL4SrcPort.unit,
  16604 			req->args.field_qualify_TunnelPayloadL4SrcPort.entry,
  16605 			req->args.field_qualify_TunnelPayloadL4SrcPort.data,
  16606 			req->args.field_qualify_TunnelPayloadL4SrcPort.mask);
  16607 		break;
  16608 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADL4SRCPORT_GET:
  16609 		rv = bcm_field_qualify_TunnelPayloadL4SrcPort_get(
  16610 			req->args.field_qualify_TunnelPayloadL4SrcPort_get.unit,
  16611 			req->args.field_qualify_TunnelPayloadL4SrcPort_get.entry,
  16612 			req->args.field_qualify_TunnelPayloadL4SrcPort_get.data,
  16613 			req->args.field_qualify_TunnelPayloadL4SrcPort_get.mask);
  16614 		break;
  16615 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADOUTERVLAN:
  16616 		rv = bcm_field_qualify_TunnelPayloadOuterVlan(
  16617 			req->args.field_qualify_TunnelPayloadOuterVlan.unit,
  16618 			req->args.field_qualify_TunnelPayloadOuterVlan.entry,
  16619 			req->args.field_qualify_TunnelPayloadOuterVlan.data,
  16620 			req->args.field_qualify_TunnelPayloadOuterVlan.mask);
  16621 		break;
  16622 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADOUTERVLANCFI:
  16623 		rv = bcm_field_qualify_TunnelPayloadOuterVlanCfi(
  16624 			req->args.field_qualify_TunnelPayloadOuterVlanCfi.unit,
  16625 			req->args.field_qualify_TunnelPayloadOuterVlanCfi.entry,
  16626 			req->args.field_qualify_TunnelPayloadOuterVlanCfi.data,
  16627 			req->args.field_qualify_TunnelPayloadOuterVlanCfi.mask);
  16628 		break;
  16629 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADOUTERVLANCFI_GET:
  16630 		rv = bcm_field_qualify_TunnelPayloadOuterVlanCfi_get(
  16631 			req->args.field_qualify_TunnelPayloadOuterVlanCfi_get.unit,
  16632 			req->args.field_qualify_TunnelPayloadOuterVlanCfi_get.entry,
  16633 			req->args.field_qualify_TunnelPayloadOuterVlanCfi_get.data,
  16634 			req->args.field_qualify_TunnelPayloadOuterVlanCfi_get.mask);
  16635 		break;
  16636 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADOUTERVLANID:
  16637 		rv = bcm_field_qualify_TunnelPayloadOuterVlanId(
  16638 			req->args.field_qualify_TunnelPayloadOuterVlanId.unit,
  16639 			req->args.field_qualify_TunnelPayloadOuterVlanId.entry,
  16640 			req->args.field_qualify_TunnelPayloadOuterVlanId.data,
  16641 			req->args.field_qualify_TunnelPayloadOuterVlanId.mask);
  16642 		break;
  16643 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADOUTERVLANID_GET:
  16644 		rv = bcm_field_qualify_TunnelPayloadOuterVlanId_get(
  16645 			req->args.field_qualify_TunnelPayloadOuterVlanId_get.unit,
  16646 			req->args.field_qualify_TunnelPayloadOuterVlanId_get.entry,
  16647 			req->args.field_qualify_TunnelPayloadOuterVlanId_get.data,
  16648 			req->args.field_qualify_TunnelPayloadOuterVlanId_get.mask);
  16649 		break;
  16650 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADOUTERVLANPRI:
  16651 		rv = bcm_field_qualify_TunnelPayloadOuterVlanPri(
  16652 			req->args.field_qualify_TunnelPayloadOuterVlanPri.unit,
  16653 			req->args.field_qualify_TunnelPayloadOuterVlanPri.entry,
  16654 			req->args.field_qualify_TunnelPayloadOuterVlanPri.data,
  16655 			req->args.field_qualify_TunnelPayloadOuterVlanPri.mask);
  16656 		break;
  16657 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADOUTERVLANPRI_GET:
  16658 		rv = bcm_field_qualify_TunnelPayloadOuterVlanPri_get(
  16659 			req->args.field_qualify_TunnelPayloadOuterVlanPri_get.unit,
  16660 			req->args.field_qualify_TunnelPayloadOuterVlanPri_get.entry,
  16661 			req->args.field_qualify_TunnelPayloadOuterVlanPri_get.data,
  16662 			req->args.field_qualify_TunnelPayloadOuterVlanPri_get.mask);
  16663 		break;
  16664 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADOUTERVLAN_GET:
  16665 		rv = bcm_field_qualify_TunnelPayloadOuterVlan_get(
  16666 			req->args.field_qualify_TunnelPayloadOuterVlan_get.unit,
  16667 			req->args.field_qualify_TunnelPayloadOuterVlan_get.entry,
  16668 			req->args.field_qualify_TunnelPayloadOuterVlan_get.data,
  16669 			req->args.field_qualify_TunnelPayloadOuterVlan_get.mask);
  16670 		break;
  16671 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADSIP:
  16672 		rv = bcm_field_qualify_TunnelPayloadSip(
  16673 			req->args.field_qualify_TunnelPayloadSip.unit,
  16674 			req->args.field_qualify_TunnelPayloadSip.entry,
  16675 			req->args.field_qualify_TunnelPayloadSip.data,
  16676 			req->args.field_qualify_TunnelPayloadSip.mask);
  16677 		break;
  16678 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADSIP6:
  16679 		rv = bcm_field_qualify_TunnelPayloadSip6(
  16680 			req->args.field_qualify_TunnelPayloadSip6.unit,
  16681 			req->args.field_qualify_TunnelPayloadSip6.entry,
  16682 			req->args.field_qualify_TunnelPayloadSip6.data,
  16683 			req->args.field_qualify_TunnelPayloadSip6.mask);
  16684 		break;
  16685 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADSIP6_GET:
  16686 		rv = bcm_field_qualify_TunnelPayloadSip6_get(
  16687 			req->args.field_qualify_TunnelPayloadSip6_get.unit,
  16688 			req->args.field_qualify_TunnelPayloadSip6_get.entry,
  16689 			req->args.field_qualify_TunnelPayloadSip6_get.data,
  16690 			req->args.field_qualify_TunnelPayloadSip6_get.mask);
  16691 		break;
  16692 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADSIP_GET:
  16693 		rv = bcm_field_qualify_TunnelPayloadSip_get(
  16694 			req->args.field_qualify_TunnelPayloadSip_get.unit,
  16695 			req->args.field_qualify_TunnelPayloadSip_get.entry,
  16696 			req->args.field_qualify_TunnelPayloadSip_get.data,
  16697 			req->args.field_qualify_TunnelPayloadSip_get.mask);
  16698 		break;
  16699 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADSRCMAC:
  16700 		rv = bcm_field_qualify_TunnelPayloadSrcMac(
  16701 			req->args.field_qualify_TunnelPayloadSrcMac.unit,
  16702 			req->args.field_qualify_TunnelPayloadSrcMac.entry,
  16703 			req->args.field_qualify_TunnelPayloadSrcMac.data,
  16704 			req->args.field_qualify_TunnelPayloadSrcMac.mask);
  16705 		break;
  16706 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELPAYLOADSRCMAC_GET:
  16707 		rv = bcm_field_qualify_TunnelPayloadSrcMac_get(
  16708 			req->args.field_qualify_TunnelPayloadSrcMac_get.unit,
  16709 			req->args.field_qualify_TunnelPayloadSrcMac_get.entry,
  16710 			req->args.field_qualify_TunnelPayloadSrcMac_get.data,
  16711 			req->args.field_qualify_TunnelPayloadSrcMac_get.mask);
  16712 		break;
  16713 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELSUBTYPE:
  16714 		rv = bcm_field_qualify_TunnelSubType(
  16715 			req->args.field_qualify_TunnelSubType.unit,
  16716 			req->args.field_qualify_TunnelSubType.entry,
  16717 			req->args.field_qualify_TunnelSubType.type);
  16718 		break;
  16719 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELSUBTYPE_GET:
  16720 		rv = bcm_field_qualify_TunnelSubType_get(
  16721 			req->args.field_qualify_TunnelSubType_get.unit,
  16722 			req->args.field_qualify_TunnelSubType_get.entry,
  16723 			req->args.field_qualify_TunnelSubType_get.type);
  16724 		break;
  16725 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELTERMINATED:
  16726 		rv = bcm_field_qualify_TunnelTerminated(
  16727 			req->args.field_qualify_TunnelTerminated.unit,
  16728 			req->args.field_qualify_TunnelTerminated.entry,
  16729 			req->args.field_qualify_TunnelTerminated.data,
  16730 			req->args.field_qualify_TunnelTerminated.mask);
  16731 		break;
  16732 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELTERMINATEDHIT:
  16733 		rv = bcm_field_qualify_TunnelTerminatedHit(
  16734 			req->args.field_qualify_TunnelTerminatedHit.unit,
  16735 			req->args.field_qualify_TunnelTerminatedHit.entry,
  16736 			req->args.field_qualify_TunnelTerminatedHit.data,
  16737 			req->args.field_qualify_TunnelTerminatedHit.mask);
  16738 		break;
  16739 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELTERMINATEDHIT_GET:
  16740 		rv = bcm_field_qualify_TunnelTerminatedHit_get(
  16741 			req->args.field_qualify_TunnelTerminatedHit_get.unit,
  16742 			req->args.field_qualify_TunnelTerminatedHit_get.entry,
  16743 			req->args.field_qualify_TunnelTerminatedHit_get.data,
  16744 			req->args.field_qualify_TunnelTerminatedHit_get.mask);
  16745 		break;
  16746 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELTERMINATEDVALUE:
  16747 		rv = bcm_field_qualify_TunnelTerminatedValue(
  16748 			req->args.field_qualify_TunnelTerminatedValue.unit,
  16749 			req->args.field_qualify_TunnelTerminatedValue.entry,
  16750 			req->args.field_qualify_TunnelTerminatedValue.data,
  16751 			req->args.field_qualify_TunnelTerminatedValue.mask);
  16752 		break;
  16753 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELTERMINATEDVALUE_GET:
  16754 		rv = bcm_field_qualify_TunnelTerminatedValue_get(
  16755 			req->args.field_qualify_TunnelTerminatedValue_get.unit,
  16756 			req->args.field_qualify_TunnelTerminatedValue_get.entry,
  16757 			req->args.field_qualify_TunnelTerminatedValue_get.data,
  16758 			req->args.field_qualify_TunnelTerminatedValue_get.mask);
  16759 		break;
  16760 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELTERMINATED_GET:
  16761 		rv = bcm_field_qualify_TunnelTerminated_get(
  16762 			req->args.field_qualify_TunnelTerminated_get.unit,
  16763 			req->args.field_qualify_TunnelTerminated_get.entry,
  16764 			req->args.field_qualify_TunnelTerminated_get.data,
  16765 			req->args.field_qualify_TunnelTerminated_get.mask);
  16766 		break;
  16767 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELTYPE:
  16768 		rv = bcm_field_qualify_TunnelType(
  16769 			req->args.field_qualify_TunnelType.unit,
  16770 			req->args.field_qualify_TunnelType.entry,
  16771 			req->args.field_qualify_TunnelType.tunnel_type);
  16772 		break;
  16773 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_TUNNELTYPE_GET:
  16774 		rv = bcm_field_qualify_TunnelType_get(
  16775 			req->args.field_qualify_TunnelType_get.unit,
  16776 			req->args.field_qualify_TunnelType_get.entry,
  16777 			req->args.field_qualify_TunnelType_get.tunnel_type);
  16778 		break;
  16779 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_UDFCLASS:
  16780 		rv = bcm_field_qualify_UdfClass(
  16781 			req->args.field_qualify_UdfClass.unit,
  16782 			req->args.field_qualify_UdfClass.entry,
  16783 			req->args.field_qualify_UdfClass.data,
  16784 			req->args.field_qualify_UdfClass.mask);
  16785 		break;
  16786 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_UDFCLASS_GET:
  16787 		rv = bcm_field_qualify_UdfClass_get(
  16788 			req->args.field_qualify_UdfClass_get.unit,
  16789 			req->args.field_qualify_UdfClass_get.entry,
  16790 			req->args.field_qualify_UdfClass_get.data,
  16791 			req->args.field_qualify_UdfClass_get.mask);
  16792 		break;
  16793 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VPORTRANGECHECK:
  16794 		rv = bcm_field_qualify_VPortRangeCheck(
  16795 			req->args.field_qualify_VPortRangeCheck.unit,
  16796 			req->args.field_qualify_VPortRangeCheck.entry,
  16797 			req->args.field_qualify_VPortRangeCheck.range,
  16798 			req->args.field_qualify_VPortRangeCheck.invert);
  16799 		break;
  16800 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VPORTRANGECHECK_GET:
  16801 		rv = bcm_field_qualify_VPortRangeCheck_get(
  16802 			req->args.field_qualify_VPortRangeCheck_get.unit,
  16803 			req->args.field_qualify_VPortRangeCheck_get.entry,
  16804 			req->args.field_qualify_VPortRangeCheck_get.max_count,
  16805 			req->args.field_qualify_VPortRangeCheck_get.range,
  16806 			req->args.field_qualify_VPortRangeCheck_get.invert,
  16807 			req->args.field_qualify_VPortRangeCheck_get.count);
  16808 		break;
  16809 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANACTION:
  16810 		rv = bcm_field_qualify_VlanAction(
  16811 			req->args.field_qualify_VlanAction.unit,
  16812 			req->args.field_qualify_VlanAction.entry,
  16813 			req->args.field_qualify_VlanAction.data,
  16814 			req->args.field_qualify_VlanAction.mask);
  16815 		break;
  16816 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANACTION_GET:
  16817 		rv = bcm_field_qualify_VlanAction_get(
  16818 			req->args.field_qualify_VlanAction_get.unit,
  16819 			req->args.field_qualify_VlanAction_get.entry,
  16820 			req->args.field_qualify_VlanAction_get.data,
  16821 			req->args.field_qualify_VlanAction_get.mask);
  16822 		break;
  16823 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANFORMAT:
  16824 		rv = bcm_field_qualify_VlanFormat(
  16825 			req->args.field_qualify_VlanFormat.unit,
  16826 			req->args.field_qualify_VlanFormat.entry,
  16827 			req->args.field_qualify_VlanFormat.data,
  16828 			req->args.field_qualify_VlanFormat.mask);
  16829 		break;
  16830 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANFORMAT_GET:
  16831 		rv = bcm_field_qualify_VlanFormat_get(
  16832 			req->args.field_qualify_VlanFormat_get.unit,
  16833 			req->args.field_qualify_VlanFormat_get.entry,
  16834 			req->args.field_qualify_VlanFormat_get.data,
  16835 			req->args.field_qualify_VlanFormat_get.mask);
  16836 		break;
  16837 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANSRENABLE:
  16838 		rv = bcm_field_qualify_VlanSREnable(
  16839 			req->args.field_qualify_VlanSREnable.unit,
  16840 			req->args.field_qualify_VlanSREnable.entry,
  16841 			req->args.field_qualify_VlanSREnable.data);
  16842 		break;
  16843 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANSRENABLE_GET:
  16844 		rv = bcm_field_qualify_VlanSREnable_get(
  16845 			req->args.field_qualify_VlanSREnable_get.unit,
  16846 			req->args.field_qualify_VlanSREnable_get.entry,
  16847 			req->args.field_qualify_VlanSREnable_get.data);
  16848 		break;
  16849 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANSRLANID:
  16850 		rv = bcm_field_qualify_VlanSRLanId(
  16851 			req->args.field_qualify_VlanSRLanId.unit,
  16852 			req->args.field_qualify_VlanSRLanId.entry,
  16853 			req->args.field_qualify_VlanSRLanId.lan_id);
  16854 		break;
  16855 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANSRLANID_GET:
  16856 		rv = bcm_field_qualify_VlanSRLanId_get(
  16857 			req->args.field_qualify_VlanSRLanId_get.unit,
  16858 			req->args.field_qualify_VlanSRLanId_get.entry,
  16859 			req->args.field_qualify_VlanSRLanId_get.lan_id);
  16860 		break;
  16861 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANTRANSLATECLASSID:
  16862 		rv = bcm_field_qualify_VlanTranslateClassId(
  16863 			req->args.field_qualify_VlanTranslateClassId.unit,
  16864 			req->args.field_qualify_VlanTranslateClassId.entry,
  16865 			req->args.field_qualify_VlanTranslateClassId.data,
  16866 			req->args.field_qualify_VlanTranslateClassId.mask);
  16867 		break;
  16868 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANTRANSLATECLASSID_GET:
  16869 		rv = bcm_field_qualify_VlanTranslateClassId_get(
  16870 			req->args.field_qualify_VlanTranslateClassId_get.unit,
  16871 			req->args.field_qualify_VlanTranslateClassId_get.entry,
  16872 			req->args.field_qualify_VlanTranslateClassId_get.data,
  16873 			req->args.field_qualify_VlanTranslateClassId_get.mask);
  16874 		break;
  16875 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANTRANSLATIONHIT:
  16876 		rv = bcm_field_qualify_VlanTranslationHit(
  16877 			req->args.field_qualify_VlanTranslationHit.unit,
  16878 			req->args.field_qualify_VlanTranslationHit.entry,
  16879 			req->args.field_qualify_VlanTranslationHit.data,
  16880 			req->args.field_qualify_VlanTranslationHit.mask);
  16881 		break;
  16882 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANTRANSLATIONHIT_GET:
  16883 		rv = bcm_field_qualify_VlanTranslationHit_get(
  16884 			req->args.field_qualify_VlanTranslationHit_get.unit,
  16885 			req->args.field_qualify_VlanTranslationHit_get.entry,
  16886 			req->args.field_qualify_VlanTranslationHit_get.data,
  16887 			req->args.field_qualify_VlanTranslationHit_get.mask);
  16888 		break;
  16889 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANTRANSLATIONVALUE:
  16890 		rv = bcm_field_qualify_VlanTranslationValue(
  16891 			req->args.field_qualify_VlanTranslationValue.unit,
  16892 			req->args.field_qualify_VlanTranslationValue.entry,
  16893 			req->args.field_qualify_VlanTranslationValue.data,
  16894 			req->args.field_qualify_VlanTranslationValue.mask);
  16895 		break;
  16896 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VLANTRANSLATIONVALUE_GET:
  16897 		rv = bcm_field_qualify_VlanTranslationValue_get(
  16898 			req->args.field_qualify_VlanTranslationValue_get.unit,
  16899 			req->args.field_qualify_VlanTranslationValue_get.entry,
  16900 			req->args.field_qualify_VlanTranslationValue_get.data,
  16901 			req->args.field_qualify_VlanTranslationValue_get.mask);
  16902 		break;
  16903 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VNTAG:
  16904 		rv = bcm_field_qualify_VnTag(
  16905 			req->args.field_qualify_VnTag.unit,
  16906 			req->args.field_qualify_VnTag.entry,
  16907 			req->args.field_qualify_VnTag.data,
  16908 			req->args.field_qualify_VnTag.mask);
  16909 		break;
  16910 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VNTAG_GET:
  16911 		rv = bcm_field_qualify_VnTag_get(
  16912 			req->args.field_qualify_VnTag_get.unit,
  16913 			req->args.field_qualify_VnTag_get.entry,
  16914 			req->args.field_qualify_VnTag_get.data,
  16915 			req->args.field_qualify_VnTag_get.mask);
  16916 		break;
  16917 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VPN:
  16918 		rv = bcm_field_qualify_Vpn(
  16919 			req->args.field_qualify_Vpn.unit,
  16920 			req->args.field_qualify_Vpn.entry,
  16921 			req->args.field_qualify_Vpn.data,
  16922 			req->args.field_qualify_Vpn.mask);
  16923 		break;
  16924 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VPNUNKNOWNDSTMACDSTPORT:
  16925 		rv = bcm_field_qualify_VpnUnknownDstMacDstPort(
  16926 			req->args.field_qualify_VpnUnknownDstMacDstPort.unit,
  16927 			req->args.field_qualify_VpnUnknownDstMacDstPort.entry,
  16928 			req->args.field_qualify_VpnUnknownDstMacDstPort.port_id);
  16929 		break;
  16930 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VPNUNKNOWNDSTMACDSTPORT_GET:
  16931 		rv = bcm_field_qualify_VpnUnknownDstMacDstPort_get(
  16932 			req->args.field_qualify_VpnUnknownDstMacDstPort_get.unit,
  16933 			req->args.field_qualify_VpnUnknownDstMacDstPort_get.entry,
  16934 			req->args.field_qualify_VpnUnknownDstMacDstPort_get.port_id);
  16935 		break;
  16936 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VPN_GET:
  16937 		rv = bcm_field_qualify_Vpn_get(
  16938 			req->args.field_qualify_Vpn_get.unit,
  16939 			req->args.field_qualify_Vpn_get.entry,
  16940 			req->args.field_qualify_Vpn_get.data,
  16941 			req->args.field_qualify_Vpn_get.mask);
  16942 		break;
  16943 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VRF:
  16944 		rv = bcm_field_qualify_Vrf(
  16945 			req->args.field_qualify_Vrf.unit,
  16946 			req->args.field_qualify_Vrf.entry,
  16947 			req->args.field_qualify_Vrf.data,
  16948 			req->args.field_qualify_Vrf.mask);
  16949 		break;
  16950 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VRF_GET:
  16951 		rv = bcm_field_qualify_Vrf_get(
  16952 			req->args.field_qualify_Vrf_get.unit,
  16953 			req->args.field_qualify_Vrf_get.entry,
  16954 			req->args.field_qualify_Vrf_get.data,
  16955 			req->args.field_qualify_Vrf_get.mask);
  16956 		break;
  16957 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANCLASSVALID:
  16958 		rv = bcm_field_qualify_VxlanClassValid(
  16959 			req->args.field_qualify_VxlanClassValid.unit,
  16960 			req->args.field_qualify_VxlanClassValid.entry,
  16961 			req->args.field_qualify_VxlanClassValid.data,
  16962 			req->args.field_qualify_VxlanClassValid.mask);
  16963 		break;
  16964 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANCLASSVALID_GET:
  16965 		rv = bcm_field_qualify_VxlanClassValid_get(
  16966 			req->args.field_qualify_VxlanClassValid_get.unit,
  16967 			req->args.field_qualify_VxlanClassValid_get.entry,
  16968 			req->args.field_qualify_VxlanClassValid_get.data,
  16969 			req->args.field_qualify_VxlanClassValid_get.mask);
  16970 		break;
  16971 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANFLAGS:
  16972 		rv = bcm_field_qualify_VxlanFlags(
  16973 			req->args.field_qualify_VxlanFlags.unit,
  16974 			req->args.field_qualify_VxlanFlags.entry,
  16975 			req->args.field_qualify_VxlanFlags.data,
  16976 			req->args.field_qualify_VxlanFlags.mask);
  16977 		break;
  16978 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANFLAGS_GET:
  16979 		rv = bcm_field_qualify_VxlanFlags_get(
  16980 			req->args.field_qualify_VxlanFlags_get.unit,
  16981 			req->args.field_qualify_VxlanFlags_get.entry,
  16982 			req->args.field_qualify_VxlanFlags_get.data,
  16983 			req->args.field_qualify_VxlanFlags_get.mask);
  16984 		break;
  16985 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANGBPPRESENT:
  16986 		rv = bcm_field_qualify_VxlanGbpPresent(
  16987 			req->args.field_qualify_VxlanGbpPresent.unit,
  16988 			req->args.field_qualify_VxlanGbpPresent.entry,
  16989 			req->args.field_qualify_VxlanGbpPresent.data,
  16990 			req->args.field_qualify_VxlanGbpPresent.mask);
  16991 		break;
  16992 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANGBPPRESENT_GET:
  16993 		rv = bcm_field_qualify_VxlanGbpPresent_get(
  16994 			req->args.field_qualify_VxlanGbpPresent_get.unit,
  16995 			req->args.field_qualify_VxlanGbpPresent_get.entry,
  16996 			req->args.field_qualify_VxlanGbpPresent_get.data,
  16997 			req->args.field_qualify_VxlanGbpPresent_get.mask);
  16998 		break;
  16999 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANHEADERBITS56_63:
  17000 		rv = bcm_field_qualify_VxlanHeaderBits56_63(
  17001 			req->args.field_qualify_VxlanHeaderBits56_63.unit,
  17002 			req->args.field_qualify_VxlanHeaderBits56_63.entry,
  17003 			req->args.field_qualify_VxlanHeaderBits56_63.data,
  17004 			req->args.field_qualify_VxlanHeaderBits56_63.mask);
  17005 		break;
  17006 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANHEADERBITS56_63_GET:
  17007 		rv = bcm_field_qualify_VxlanHeaderBits56_63_get(
  17008 			req->args.field_qualify_VxlanHeaderBits56_63_get.unit,
  17009 			req->args.field_qualify_VxlanHeaderBits56_63_get.entry,
  17010 			req->args.field_qualify_VxlanHeaderBits56_63_get.data,
  17011 			req->args.field_qualify_VxlanHeaderBits56_63_get.mask);
  17012 		break;
  17013 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANHEADERBITS8_31:
  17014 		rv = bcm_field_qualify_VxlanHeaderBits8_31(
  17015 			req->args.field_qualify_VxlanHeaderBits8_31.unit,
  17016 			req->args.field_qualify_VxlanHeaderBits8_31.entry,
  17017 			req->args.field_qualify_VxlanHeaderBits8_31.data,
  17018 			req->args.field_qualify_VxlanHeaderBits8_31.mask);
  17019 		break;
  17020 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANHEADERBITS8_31_GET:
  17021 		rv = bcm_field_qualify_VxlanHeaderBits8_31_get(
  17022 			req->args.field_qualify_VxlanHeaderBits8_31_get.unit,
  17023 			req->args.field_qualify_VxlanHeaderBits8_31_get.entry,
  17024 			req->args.field_qualify_VxlanHeaderBits8_31_get.data,
  17025 			req->args.field_qualify_VxlanHeaderBits8_31_get.mask);
  17026 		break;
  17027 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANNETWORKID:
  17028 		rv = bcm_field_qualify_VxlanNetworkId(
  17029 			req->args.field_qualify_VxlanNetworkId.unit,
  17030 			req->args.field_qualify_VxlanNetworkId.entry,
  17031 			req->args.field_qualify_VxlanNetworkId.data,
  17032 			req->args.field_qualify_VxlanNetworkId.mask);
  17033 		break;
  17034 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANNETWORKID_GET:
  17035 		rv = bcm_field_qualify_VxlanNetworkId_get(
  17036 			req->args.field_qualify_VxlanNetworkId_get.unit,
  17037 			req->args.field_qualify_VxlanNetworkId_get.entry,
  17038 			req->args.field_qualify_VxlanNetworkId_get.data,
  17039 			req->args.field_qualify_VxlanNetworkId_get.mask);
  17040 		break;
  17041 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANPACKET:
  17042 		rv = bcm_field_qualify_VxlanPacket(
  17043 			req->args.field_qualify_VxlanPacket.unit,
  17044 			req->args.field_qualify_VxlanPacket.entry,
  17045 			req->args.field_qualify_VxlanPacket.data,
  17046 			req->args.field_qualify_VxlanPacket.mask);
  17047 		break;
  17048 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANPACKET_GET:
  17049 		rv = bcm_field_qualify_VxlanPacket_get(
  17050 			req->args.field_qualify_VxlanPacket_get.unit,
  17051 			req->args.field_qualify_VxlanPacket_get.entry,
  17052 			req->args.field_qualify_VxlanPacket_get.data,
  17053 			req->args.field_qualify_VxlanPacket_get.mask);
  17054 		break;
  17055 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANPAYLOADVLANFORMAT:
  17056 		rv = bcm_field_qualify_VxlanPayloadVlanFormat(
  17057 			req->args.field_qualify_VxlanPayloadVlanFormat.unit,
  17058 			req->args.field_qualify_VxlanPayloadVlanFormat.entry,
  17059 			req->args.field_qualify_VxlanPayloadVlanFormat.data,
  17060 			req->args.field_qualify_VxlanPayloadVlanFormat.mask);
  17061 		break;
  17062 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANPAYLOADVLANFORMAT_GET:
  17063 		rv = bcm_field_qualify_VxlanPayloadVlanFormat_get(
  17064 			req->args.field_qualify_VxlanPayloadVlanFormat_get.unit,
  17065 			req->args.field_qualify_VxlanPayloadVlanFormat_get.entry,
  17066 			req->args.field_qualify_VxlanPayloadVlanFormat_get.data,
  17067 			req->args.field_qualify_VxlanPayloadVlanFormat_get.mask);
  17068 		break;
  17069 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANVNIDVLANTRANSLATEHIT:
  17070 		rv = bcm_field_qualify_VxlanVnidVlanTranslateHit(
  17071 			req->args.field_qualify_VxlanVnidVlanTranslateHit.unit,
  17072 			req->args.field_qualify_VxlanVnidVlanTranslateHit.entry,
  17073 			req->args.field_qualify_VxlanVnidVlanTranslateHit.data,
  17074 			req->args.field_qualify_VxlanVnidVlanTranslateHit.mask);
  17075 		break;
  17076 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_VXLANVNIDVLANTRANSLATEHIT_GET:
  17077 		rv = bcm_field_qualify_VxlanVnidVlanTranslateHit_get(
  17078 			req->args.field_qualify_VxlanVnidVlanTranslateHit_get.unit,
  17079 			req->args.field_qualify_VxlanVnidVlanTranslateHit_get.entry,
  17080 			req->args.field_qualify_VxlanVnidVlanTranslateHit_get.data,
  17081 			req->args.field_qualify_VxlanVnidVlanTranslateHit_get.mask);
  17082 		break;
  17083 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_CLEAR:
  17084 		rv = bcm_field_qualify_clear(
  17085 			req->args.field_qualify_clear.unit,
  17086 			req->args.field_qualify_clear.entry);
  17087 		break;
  17088 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DATA:
  17089 		rv = bcm_field_qualify_data(
  17090 			req->args.field_qualify_data.unit,
  17091 			req->args.field_qualify_data.eid,
  17092 			req->args.field_qualify_data.qual_id,
  17093 			req->args.field_qualify_data.data,
  17094 			req->args.field_qualify_data.mask,
  17095 			req->args.field_qualify_data.length);
  17096 		break;
  17097 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_DATA_GET:
  17098 		rv = bcm_field_qualify_data_get(
  17099 			req->args.field_qualify_data_get.unit,
  17100 			req->args.field_qualify_data_get.eid,
  17101 			req->args.field_qualify_data_get.qual_id,
  17102 			req->args.field_qualify_data_get.length_max,
  17103 			req->args.field_qualify_data_get.data,
  17104 			req->args.field_qualify_data_get.mask,
  17105 			req->args.field_qualify_data_get.length);
  17106 		break;
  17107 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_UDF:
  17108 		rv = bcm_field_qualify_udf(
  17109 			req->args.field_qualify_udf.unit,
  17110 			req->args.field_qualify_udf.eid,
  17111 			req->args.field_qualify_udf.udf_id,
  17112 			req->args.field_qualify_udf.length,
  17113 			req->args.field_qualify_udf.data,
  17114 			req->args.field_qualify_udf.mask);
  17115 		break;
  17116 	case BCM_ASYNC_ENTRY_FIELD_QUALIFY_UDF_GET:
  17117 		rv = bcm_field_qualify_udf_get(
  17118 			req->args.field_qualify_udf_get.unit,
  17119 			req->args.field_qualify_udf_get.eid,
  17120 			req->args.field_qualify_udf_get.udf_id,
  17121 			req->args.field_qualify_udf_get.max_length,
  17122 			req->args.field_qualify_udf_get.data,
  17123 			req->args.field_qualify_udf_get.mask,
  17124 			req->args.field_qualify_udf_get.actual_length);
  17125 		break;
  17126 	case BCM_ASYNC_ENTRY_FIELD_RANGE_CREATE:
  17127 		rv = bcm_field_range_create(
  17128 			req->args.field_range_create.unit,
  17129 			req->args.field_range_create.range,
  17130 			req->args.field_range_create.flags,
  17131 			req->args.field_range_create.min,
  17132 			req->args.field_range_create.max);
  17133 		break;
  17134 	case BCM_ASYNC_ENTRY_FIELD_RANGE_CREATE_ID:
  17135 		rv = bcm_field_range_create_id(
  17136 			req->args.field_range_create_id.unit,
  17137 			req->args.field_range_create_id.range,
  17138 			req->args.field_range_create_id.flags,
  17139 			req->args.field_range_create_id.min,
  17140 			req->args.field_range_create_id.max);
  17141 		break;
  17142 	case BCM_ASYNC_ENTRY_FIELD_RANGE_DESTROY:
  17143 		rv = bcm_field_range_destroy(
  17144 			req->args.field_range_destroy.unit,
  17145 			req->args.field_range_destroy.range);
  17146 		break;
  17147 	case BCM_ASYNC_ENTRY_FIELD_RANGE_GET:
  17148 		rv = bcm_field_range_get(
  17149 			req->args.field_range_get.unit,
  17150 			req->args.field_range_get.range,
  17151 			req->args.field_range_get.flags,
  17152 			req->args.field_range_get.min,
  17153 			req->args.field_range_get.max);
  17154 		break;
  17155 	case BCM_ASYNC_ENTRY_FIELD_RANGE_GROUP_CREATE:
  17156 		rv = bcm_field_range_group_create(
  17157 			req->args.field_range_group_create.unit,
  17158 			req->args.field_range_group_create.range,
  17159 			req->args.field_range_group_create.flags,
  17160 			req->args.field_range_group_create.min,
  17161 			req->args.field_range_group_create.max,
  17162 			req->args.field_range_group_create.group);
  17163 		break;
  17164 	case BCM_ASYNC_ENTRY_FIELD_RANGE_GROUP_CREATE_ID:
  17165 		rv = bcm_field_range_group_create_id(
  17166 			req->args.field_range_group_create_id.unit,
  17167 			req->args.field_range_group_create_id.range,
  17168 			req->args.field_range_group_create_id.flags,
  17169 			req->args.field_range_group_create_id.min,
  17170 			req->args.field_range_group_create_id.max,
  17171 			req->args.field_range_group_create_id.group);
  17172 		break;
  17173 	case BCM_ASYNC_ENTRY_FIELD_RANGE_INFO_GET:
  17174 		rv = bcm_field_range_info_get(
  17175 			req->args.field_range_info_get.unit,
  17176 			req->args.field_range_info_get.stage,
  17177 			req->args.field_range_info_get.range_id,
  17178 			req->args.field_range_info_get.range_info);
  17179 		break;
  17180 	case BCM_ASYNC_ENTRY_FIELD_RANGE_MULTI_CREATE:
  17181 		rv = bcm_field_range_multi_create(
  17182 			req->args.field_range_multi_create.unit,
  17183 			req->args.field_range_multi_create.range_id,
  17184 			req->args.field_range_multi_create.create_flags,
  17185 			req->args.field_range_multi_create.count,
  17186 			req->args.field_range_multi_create.range_flags,
  17187 			req->args.field_range_multi_create.min_value,
  17188 			req->args.field_range_multi_create.max_value);
  17189 		break;
  17190 	case BCM_ASYNC_ENTRY_FIELD_RANGE_MULTI_GET:
  17191 		rv = bcm_field_range_multi_get(
  17192 			req->args.field_range_multi_get.unit,
  17193 			req->args.field_range_multi_get.range_id,
  17194 			req->args.field_range_multi_get.max_count,
  17195 			req->args.field_range_multi_get.range_flags,
  17196 			req->args.field_range_multi_get.minimum_value,
  17197 			req->args.field_range_multi_get.maxamum_value,
  17198 			req->args.field_range_multi_get.actual_count);
  17199 		break;
  17200 	case BCM_ASYNC_ENTRY_FIELD_RANGE_SET:
  17201 		rv = bcm_field_range_set(
  17202 			req->args.field_range_set.unit,
  17203 			req->args.field_range_set.flags,
  17204 			req->args.field_range_set.stage,
  17205 			req->args.field_range_set.range_id,
  17206 			req->args.field_range_set.range_info);
  17207 		break;
  17208 	case BCM_ASYNC_ENTRY_FIELD_RESYNC:
  17209 		rv = bcm_field_resync(
  17210 			req->args.field_resync.unit);
  17211 		break;
  17212 	case BCM_ASYNC_ENTRY_FIELD_SAT_MACSA_ADD:
  17213 		rv = bcm_field_sat_macsa_add(
  17214 			req->args.field_sat_macsa_add.unit,
  17215 			req->args.field_sat_macsa_add.mac,
  17216 			req->args.field_sat_macsa_add.class_id);
  17217 		break;
  17218 	case BCM_ASYNC_ENTRY_FIELD_SAT_MACSA_DELETE:
  17219 		rv = bcm_field_sat_macsa_delete(
  17220 			req->args.field_sat_macsa_delete.unit,
  17221 			req->args.field_sat_macsa_delete.mac);
  17222 		break;
  17223 	case BCM_ASYNC_ENTRY_FIELD_SAT_MACSA_DELETE_ALL:
  17224 		rv = bcm_field_sat_macsa_delete_all(
  17225 			req->args.field_sat_macsa_delete_all.unit);
  17226 		break;
  17227 	case BCM_ASYNC_ENTRY_FIELD_SAT_MACSA_GET:
  17228 		rv = bcm_field_sat_macsa_get(
  17229 			req->args.field_sat_macsa_get.unit,
  17230 			req->args.field_sat_macsa_get.mac,
  17231 			req->args.field_sat_macsa_get.class_id);
  17232 		break;
  17233 #ifdef	BROADCOM_DEBUG
  17234 	case BCM_ASYNC_ENTRY_FIELD_SHOW:
  17235 		rv = bcm_field_show(
  17236 			req->args.field_show.unit,
  17237 			req->args.field_show.pfx);
  17238 		break;
  17239 #endif	/* BROADCOM_DEBUG */
  17240 	case BCM_ASYNC_ENTRY_FIELD_SOURCE_CLASS_MODE_GET:
  17241 		rv = bcm_field_source_class_mode_get(
  17242 			req->args.field_source_class_mode_get.unit,
  17243 			req->args.field_source_class_mode_get.stage,
  17244 			req->args.field_source_class_mode_get.pbmp,
  17245 			req->args.field_source_class_mode_get.mode);
  17246 		break;
  17247 	case BCM_ASYNC_ENTRY_FIELD_SOURCE_CLASS_MODE_SET:
  17248 		rv = bcm_field_source_class_mode_set(
  17249 			req->args.field_source_class_mode_set.unit,
  17250 			req->args.field_source_class_mode_set.stage,
  17251 			req->args.field_source_class_mode_set.pbmp,
  17252 			req->args.field_source_class_mode_set.mode);
  17253 		break;
  17254 	case BCM_ASYNC_ENTRY_FIELD_STAGE_INFO_GET:
  17255 		rv = bcm_field_stage_info_get(
  17256 			req->args.field_stage_info_get.unit,
  17257 			req->args.field_stage_info_get.stage,
  17258 			req->args.field_stage_info_get.info);
  17259 		break;
  17260 	case BCM_ASYNC_ENTRY_FIELD_STAGE_QSET_GET:
  17261 		rv = bcm_field_stage_qset_get(
  17262 			req->args.field_stage_qset_get.unit,
  17263 			req->args.field_stage_qset_get.stage,
  17264 			req->args.field_stage_qset_get.presel,
  17265 			req->args.field_stage_qset_get.qset);
  17266 		break;
  17267 	case BCM_ASYNC_ENTRY_FIELD_STAGE_SLICE_COUNT_GET:
  17268 		rv = bcm_field_stage_slice_count_get(
  17269 			req->args.field_stage_slice_count_get.unit,
  17270 			req->args.field_stage_slice_count_get.stage_id,
  17271 			req->args.field_stage_slice_count_get.slice_count);
  17272 		break;
  17273 	case BCM_ASYNC_ENTRY_FIELD_STAGE_SLICE_INFO_GET:
  17274 		rv = bcm_field_stage_slice_info_get(
  17275 			req->args.field_stage_slice_info_get.unit,
  17276 			req->args.field_stage_slice_info_get.stage_id,
  17277 			req->args.field_stage_slice_info_get.pbmp,
  17278 			req->args.field_stage_slice_info_get.slice_no,
  17279 			req->args.field_stage_slice_info_get.slice_info);
  17280 		break;
  17281 	case BCM_ASYNC_ENTRY_FIELD_STAT_ALL_SET:
  17282 		rv = bcm_field_stat_all_set(
  17283 			req->args.field_stat_all_set.unit,
  17284 			req->args.field_stat_all_set.stat_id,
  17285 			req->args.field_stat_all_set.value);
  17286 		break;
  17287 	case BCM_ASYNC_ENTRY_FIELD_STAT_ALL_SET32:
  17288 		rv = bcm_field_stat_all_set32(
  17289 			req->args.field_stat_all_set32.unit,
  17290 			req->args.field_stat_all_set32.stat_id,
  17291 			req->args.field_stat_all_set32.value);
  17292 		break;
  17293 	case BCM_ASYNC_ENTRY_FIELD_STAT_ATTACH:
  17294 		rv = bcm_field_stat_attach(
  17295 			req->args.field_stat_attach.unit,
  17296 			req->args.field_stat_attach.group,
  17297 			req->args.field_stat_attach.stat_counter_id,
  17298 			req->args.field_stat_attach.stat_id);
  17299 		break;
  17300 	case BCM_ASYNC_ENTRY_FIELD_STAT_CONFIG_GET:
  17301 		rv = bcm_field_stat_config_get(
  17302 			req->args.field_stat_config_get.unit,
  17303 			req->args.field_stat_config_get.stat_id,
  17304 			req->args.field_stat_config_get.nstat,
  17305 			req->args.field_stat_config_get.stat_arr);
  17306 		break;
  17307 	case BCM_ASYNC_ENTRY_FIELD_STAT_COUNTER_GET:
  17308 		rv = bcm_field_stat_counter_get(
  17309 			req->args.field_stat_counter_get.unit,
  17310 			req->args.field_stat_counter_get.stat_id,
  17311 			req->args.field_stat_counter_get.stat,
  17312 			req->args.field_stat_counter_get.num_entries,
  17313 			req->args.field_stat_counter_get.counter_indexes,
  17314 			req->args.field_stat_counter_get.counter_values);
  17315 		break;
  17316 	case BCM_ASYNC_ENTRY_FIELD_STAT_COUNTER_SET:
  17317 		rv = bcm_field_stat_counter_set(
  17318 			req->args.field_stat_counter_set.unit,
  17319 			req->args.field_stat_counter_set.stat_id,
  17320 			req->args.field_stat_counter_set.stat,
  17321 			req->args.field_stat_counter_set.num_entries,
  17322 			req->args.field_stat_counter_set.counter_indexes,
  17323 			req->args.field_stat_counter_set.counter_values);
  17324 		break;
  17325 	case BCM_ASYNC_ENTRY_FIELD_STAT_COUNTER_SYNC_GET:
  17326 		rv = bcm_field_stat_counter_sync_get(
  17327 			req->args.field_stat_counter_sync_get.unit,
  17328 			req->args.field_stat_counter_sync_get.stat_id,
  17329 			req->args.field_stat_counter_sync_get.stat,
  17330 			req->args.field_stat_counter_sync_get.num_entries,
  17331 			req->args.field_stat_counter_sync_get.counter_indexes,
  17332 			req->args.field_stat_counter_sync_get.counter_values);
  17333 		break;
  17334 	case BCM_ASYNC_ENTRY_FIELD_STAT_CREATE:
  17335 		rv = bcm_field_stat_create(
  17336 			req->args.field_stat_create.unit,
  17337 			req->args.field_stat_create.group,
  17338 			req->args.field_stat_create.nstat,
  17339 			req->args.field_stat_create.stat_arr,
  17340 			req->args.field_stat_create.stat_id);
  17341 		break;
  17342 	case BCM_ASYNC_ENTRY_FIELD_STAT_CREATE_ID:
  17343 		rv = bcm_field_stat_create_id(
  17344 			req->args.field_stat_create_id.unit,
  17345 			req->args.field_stat_create_id.group,
  17346 			req->args.field_stat_create_id.nstat,
  17347 			req->args.field_stat_create_id.stat_arr,
  17348 			req->args.field_stat_create_id.stat_id);
  17349 		break;
  17350 	case BCM_ASYNC_ENTRY_FIELD_STAT_DESTROY:
  17351 		rv = bcm_field_stat_destroy(
  17352 			req->args.field_stat_destroy.unit,
  17353 			req->args.field_stat_destroy.stat_id);
  17354 		break;
  17355 	case BCM_ASYNC_ENTRY_FIELD_STAT_DETACH:
  17356 		rv = bcm_field_stat_detach(
  17357 			req->args.field_stat_detach.unit,
  17358 			req->args.field_stat_detach.stat_id);
  17359 		break;
  17360 	case BCM_ASYNC_ENTRY_FIELD_STAT_GET:
  17361 		rv = bcm_field_stat_get(
  17362 			req->args.field_stat_get.unit,
  17363 			req->args.field_stat_get.stat_id,
  17364 			req->args.field_stat_get.stat,
  17365 			req->args.field_stat_get.value);
  17366 		break;
  17367 	case BCM_ASYNC_ENTRY_FIELD_STAT_GET32:
  17368 		rv = bcm_field_stat_get32(
  17369 			req->args.field_stat_get32.unit,
  17370 			req->args.field_stat_get32.stat_id,
  17371 			req->args.field_stat_get32.stat,
  17372 			req->args.field_stat_get32.value);
  17373 		break;
  17374 	case BCM_ASYNC_ENTRY_FIELD_STAT_ID_GET:
  17375 		rv = bcm_field_stat_id_get(
  17376 			req->args.field_stat_id_get.unit,
  17377 			req->args.field_stat_id_get.group,
  17378 			req->args.field_stat_id_get.stat_id,
  17379 			req->args.field_stat_id_get.stat_counter_id);
  17380 		break;
  17381 	case BCM_ASYNC_ENTRY_FIELD_STAT_MULTI_GET:
  17382 		rv = bcm_field_stat_multi_get(
  17383 			req->args.field_stat_multi_get.unit,
  17384 			req->args.field_stat_multi_get.stat_id,
  17385 			req->args.field_stat_multi_get.nstat,
  17386 			req->args.field_stat_multi_get.stat_arr,
  17387 			req->args.field_stat_multi_get.value_arr);
  17388 		break;
  17389 	case BCM_ASYNC_ENTRY_FIELD_STAT_MULTI_GET32:
  17390 		rv = bcm_field_stat_multi_get32(
  17391 			req->args.field_stat_multi_get32.unit,
  17392 			req->args.field_stat_multi_get32.stat_id,
  17393 			req->args.field_stat_multi_get32.nstat,
  17394 			req->args.field_stat_multi_get32.stat_arr,
  17395 			req->args.field_stat_multi_get32.value_arr);
  17396 		break;
  17397 	case BCM_ASYNC_ENTRY_FIELD_STAT_SET:
  17398 		rv = bcm_field_stat_set(
  17399 			req->args.field_stat_set.unit,
  17400 			req->args.field_stat_set.stat_id,
  17401 			req->args.field_stat_set.stat,
  17402 			req->args.field_stat_set.value);
  17403 		break;
  17404 	case BCM_ASYNC_ENTRY_FIELD_STAT_SET32:
  17405 		rv = bcm_field_stat_set32(
  17406 			req->args.field_stat_set32.unit,
  17407 			req->args.field_stat_set32.stat_id,
  17408 			req->args.field_stat_set32.stat,
  17409 			req->args.field_stat_set32.value);
  17410 		break;
  17411 	case BCM_ASYNC_ENTRY_FIELD_STAT_SIZE:
  17412 		rv = bcm_field_stat_size(
  17413 			req->args.field_stat_size.unit,
  17414 			req->args.field_stat_size.stat_id,
  17415 			req->args.field_stat_size.stat_size);
  17416 		break;
  17417 	case BCM_ASYNC_ENTRY_FIELD_STAT_SYNC_GET:
  17418 		rv = bcm_field_stat_sync_get(
  17419 			req->args.field_stat_sync_get.unit,
  17420 			req->args.field_stat_sync_get.stat_id,
  17421 			req->args.field_stat_sync_get.stat,
  17422 			req->args.field_stat_sync_get.value);
  17423 		break;
  17424 	case BCM_ASYNC_ENTRY_FIELD_STAT_SYNC_GET32:
  17425 		rv = bcm_field_stat_sync_get32(
  17426 			req->args.field_stat_sync_get32.unit,
  17427 			req->args.field_stat_sync_get32.stat_id,
  17428 			req->args.field_stat_sync_get32.stat,
  17429 			req->args.field_stat_sync_get32.value);
  17430 		break;
  17431 	case BCM_ASYNC_ENTRY_FIELD_TCAM_BANK_EVACUATE:
  17432 		rv = bcm_field_tcam_bank_evacuate(
  17433 			req->args.field_tcam_bank_evacuate.unit,
  17434 			req->args.field_tcam_bank_evacuate.flags,
  17435 			req->args.field_tcam_bank_evacuate.fg_id,
  17436 			req->args.field_tcam_bank_evacuate.evac_info);
  17437 		break;
  17438 	case BCM_ASYNC_ENTRY_FIND:
  17439 		rv = bcm_find(
  17440 			req->args.find.type,
  17441 			req->args.find.subtype,
  17442 			req->args.find.remunit);
  17443 		break;
  17444 #ifdef	INCLUDE_L3
  17445 	case BCM_ASYNC_ENTRY_FLOW_CLEANUP:
  17446 		rv = bcm_flow_cleanup(
  17447 			req->args.flow_cleanup.unit);
  17448 		break;
  17449 	case BCM_ASYNC_ENTRY_FLOW_ENCAP_ADD:
  17450 		rv = bcm_flow_encap_add(
  17451 			req->args.flow_encap_add.unit,
  17452 			req->args.flow_encap_add.info,
  17453 			req->args.flow_encap_add.num_of_fields,
  17454 			req->args.flow_encap_add.field);
  17455 		break;
  17456 	case BCM_ASYNC_ENTRY_FLOW_ENCAP_DELETE:
  17457 		rv = bcm_flow_encap_delete(
  17458 			req->args.flow_encap_delete.unit,
  17459 			req->args.flow_encap_delete.info,
  17460 			req->args.flow_encap_delete.num_of_fields,
  17461 			req->args.flow_encap_delete.field);
  17462 		break;
  17463 	case BCM_ASYNC_ENTRY_FLOW_ENCAP_GET:
  17464 		rv = bcm_flow_encap_get(
  17465 			req->args.flow_encap_get.unit,
  17466 			req->args.flow_encap_get.info,
  17467 			req->args.flow_encap_get.num_of_fields,
  17468 			req->args.flow_encap_get.field);
  17469 		break;
  17470 	case BCM_ASYNC_ENTRY_FLOW_ENCAP_TRAVERSE:
  17471 		rv = bcm_flow_encap_traverse(
  17472 			req->args.flow_encap_traverse.unit,
  17473 			req->args.flow_encap_traverse.cb,
  17474 			req->args.flow_encap_traverse.user_data);
  17475 		break;
  17476 	case BCM_ASYNC_ENTRY_FLOW_HANDLE_GET:
  17477 		rv = bcm_flow_handle_get(
  17478 			req->args.flow_handle_get.unit,
  17479 			req->args.flow_handle_get.flow_name,
  17480 			req->args.flow_handle_get.handle);
  17481 		break;
  17482 	case BCM_ASYNC_ENTRY_FLOW_INIT:
  17483 		rv = bcm_flow_init(
  17484 			req->args.flow_init.unit);
  17485 		break;
  17486 	case BCM_ASYNC_ENTRY_FLOW_LOGICAL_FIELD_ID_GET:
  17487 		rv = bcm_flow_logical_field_id_get(
  17488 			req->args.flow_logical_field_id_get.unit,
  17489 			req->args.flow_logical_field_id_get.flow_handle,
  17490 			req->args.flow_logical_field_id_get.field_name,
  17491 			req->args.flow_logical_field_id_get.field_id);
  17492 		break;
  17493 	case BCM_ASYNC_ENTRY_FLOW_MATCH_ADD:
  17494 		rv = bcm_flow_match_add(
  17495 			req->args.flow_match_add.unit,
  17496 			req->args.flow_match_add.info,
  17497 			req->args.flow_match_add.num_of_fields,
  17498 			req->args.flow_match_add.field);
  17499 		break;
  17500 	case BCM_ASYNC_ENTRY_FLOW_MATCH_DELETE:
  17501 		rv = bcm_flow_match_delete(
  17502 			req->args.flow_match_delete.unit,
  17503 			req->args.flow_match_delete.info,
  17504 			req->args.flow_match_delete.num_of_fields,
  17505 			req->args.flow_match_delete.field);
  17506 		break;
  17507 	case BCM_ASYNC_ENTRY_FLOW_MATCH_GET:
  17508 		rv = bcm_flow_match_get(
  17509 			req->args.flow_match_get.unit,
  17510 			req->args.flow_match_get.info,
  17511 			req->args.flow_match_get.num_of_fields,
  17512 			req->args.flow_match_get.field);
  17513 		break;
  17514 	case BCM_ASYNC_ENTRY_FLOW_MATCH_TRAVERSE:
  17515 		rv = bcm_flow_match_traverse(
  17516 			req->args.flow_match_traverse.unit,
  17517 			req->args.flow_match_traverse.cb,
  17518 			req->args.flow_match_traverse.user_data);
  17519 		break;
  17520 	case BCM_ASYNC_ENTRY_FLOW_OPTION_ID_GET:
  17521 		rv = bcm_flow_option_id_get(
  17522 			req->args.flow_option_id_get.unit,
  17523 			req->args.flow_option_id_get.flow_handle,
  17524 			req->args.flow_option_id_get.flow_option_name,
  17525 			req->args.flow_option_id_get.option_id);
  17526 		break;
  17527 	case BCM_ASYNC_ENTRY_FLOW_PORT_CREATE:
  17528 		rv = bcm_flow_port_create(
  17529 			req->args.flow_port_create.unit,
  17530 			req->args.flow_port_create.vpn,
  17531 			req->args.flow_port_create.flow_port);
  17532 		break;
  17533 	case BCM_ASYNC_ENTRY_FLOW_PORT_DESTROY:
  17534 		rv = bcm_flow_port_destroy(
  17535 			req->args.flow_port_destroy.unit,
  17536 			req->args.flow_port_destroy.vpn,
  17537 			req->args.flow_port_destroy.flow_port);
  17538 		break;
  17539 	case BCM_ASYNC_ENTRY_FLOW_PORT_ENCAP_GET:
  17540 		rv = bcm_flow_port_encap_get(
  17541 			req->args.flow_port_encap_get.unit,
  17542 			req->args.flow_port_encap_get.info,
  17543 			req->args.flow_port_encap_get.num_of_fields,
  17544 			req->args.flow_port_encap_get.field);
  17545 		break;
  17546 	case BCM_ASYNC_ENTRY_FLOW_PORT_ENCAP_SET:
  17547 		rv = bcm_flow_port_encap_set(
  17548 			req->args.flow_port_encap_set.unit,
  17549 			req->args.flow_port_encap_set.info,
  17550 			req->args.flow_port_encap_set.num_of_fields,
  17551 			req->args.flow_port_encap_set.field);
  17552 		break;
  17553 	case BCM_ASYNC_ENTRY_FLOW_PORT_GET:
  17554 		rv = bcm_flow_port_get(
  17555 			req->args.flow_port_get.unit,
  17556 			req->args.flow_port_get.vpn,
  17557 			req->args.flow_port_get.flow_port);
  17558 		break;
  17559 	case BCM_ASYNC_ENTRY_FLOW_PORT_GET_ALL:
  17560 		rv = bcm_flow_port_get_all(
  17561 			req->args.flow_port_get_all.unit,
  17562 			req->args.flow_port_get_all.vpn,
  17563 			req->args.flow_port_get_all.port_max,
  17564 			req->args.flow_port_get_all.flow_port,
  17565 			req->args.flow_port_get_all.port_count);
  17566 		break;
  17567 	case BCM_ASYNC_ENTRY_FLOW_STAT_ATTACH:
  17568 		rv = bcm_flow_stat_attach(
  17569 			req->args.flow_stat_attach.unit,
  17570 			req->args.flow_stat_attach.flow_stat_info,
  17571 			req->args.flow_stat_attach.num_of_fields,
  17572 			req->args.flow_stat_attach.field,
  17573 			req->args.flow_stat_attach.stat_counter_id);
  17574 		break;
  17575 	case BCM_ASYNC_ENTRY_FLOW_STAT_DETACH:
  17576 		rv = bcm_flow_stat_detach(
  17577 			req->args.flow_stat_detach.unit,
  17578 			req->args.flow_stat_detach.flow_stat_info,
  17579 			req->args.flow_stat_detach.num_of_fields,
  17580 			req->args.flow_stat_detach.field,
  17581 			req->args.flow_stat_detach.stat_counter_id);
  17582 		break;
  17583 	case BCM_ASYNC_ENTRY_FLOW_STAT_ID_GET:
  17584 		rv = bcm_flow_stat_id_get(
  17585 			req->args.flow_stat_id_get.unit,
  17586 			req->args.flow_stat_id_get.flow_stat_info,
  17587 			req->args.flow_stat_id_get.num_of_fields,
  17588 			req->args.flow_stat_id_get.field,
  17589 			req->args.flow_stat_id_get.stat_object,
  17590 			req->args.flow_stat_id_get.stat_counter_id);
  17591 		break;
  17592 	case BCM_ASYNC_ENTRY_FLOW_STAT_OBJECT_GET:
  17593 		rv = bcm_flow_stat_object_get(
  17594 			req->args.flow_stat_object_get.unit,
  17595 			req->args.flow_stat_object_get.flow_handle,
  17596 			req->args.flow_stat_object_get.flow_option_id,
  17597 			req->args.flow_stat_object_get.function_type,
  17598 			req->args.flow_stat_object_get.stat_object);
  17599 		break;
  17600 	case BCM_ASYNC_ENTRY_FLOW_TUNNEL_INITIATOR_CREATE:
  17601 		rv = bcm_flow_tunnel_initiator_create(
  17602 			req->args.flow_tunnel_initiator_create.unit,
  17603 			req->args.flow_tunnel_initiator_create.info,
  17604 			req->args.flow_tunnel_initiator_create.num_of_fields,
  17605 			req->args.flow_tunnel_initiator_create.field);
  17606 		break;
  17607 	case BCM_ASYNC_ENTRY_FLOW_TUNNEL_INITIATOR_DESTROY:
  17608 		rv = bcm_flow_tunnel_initiator_destroy(
  17609 			req->args.flow_tunnel_initiator_destroy.unit,
  17610 			req->args.flow_tunnel_initiator_destroy.flow_tunnel_id);
  17611 		break;
  17612 	case BCM_ASYNC_ENTRY_FLOW_TUNNEL_INITIATOR_GET:
  17613 		rv = bcm_flow_tunnel_initiator_get(
  17614 			req->args.flow_tunnel_initiator_get.unit,
  17615 			req->args.flow_tunnel_initiator_get.info,
  17616 			req->args.flow_tunnel_initiator_get.num_of_fields,
  17617 			req->args.flow_tunnel_initiator_get.field);
  17618 		break;
  17619 	case BCM_ASYNC_ENTRY_FLOW_TUNNEL_INITIATOR_TRAVERSE:
  17620 		rv = bcm_flow_tunnel_initiator_traverse(
  17621 			req->args.flow_tunnel_initiator_traverse.unit,
  17622 			req->args.flow_tunnel_initiator_traverse.cb,
  17623 			req->args.flow_tunnel_initiator_traverse.user_data);
  17624 		break;
  17625 	case BCM_ASYNC_ENTRY_FLOW_TUNNEL_TERMINATOR_CREATE:
  17626 		rv = bcm_flow_tunnel_terminator_create(
  17627 			req->args.flow_tunnel_terminator_create.unit,
  17628 			req->args.flow_tunnel_terminator_create.info,
  17629 			req->args.flow_tunnel_terminator_create.num_of_fields,
  17630 			req->args.flow_tunnel_terminator_create.field);
  17631 		break;
  17632 	case BCM_ASYNC_ENTRY_FLOW_TUNNEL_TERMINATOR_DESTROY:
  17633 		rv = bcm_flow_tunnel_terminator_destroy(
  17634 			req->args.flow_tunnel_terminator_destroy.unit,
  17635 			req->args.flow_tunnel_terminator_destroy.info,
  17636 			req->args.flow_tunnel_terminator_destroy.num_of_fields,
  17637 			req->args.flow_tunnel_terminator_destroy.field);
  17638 		break;
  17639 	case BCM_ASYNC_ENTRY_FLOW_TUNNEL_TERMINATOR_GET:
  17640 		rv = bcm_flow_tunnel_terminator_get(
  17641 			req->args.flow_tunnel_terminator_get.unit,
  17642 			req->args.flow_tunnel_terminator_get.info,
  17643 			req->args.flow_tunnel_terminator_get.num_of_fields,
  17644 			req->args.flow_tunnel_terminator_get.field);
  17645 		break;
  17646 	case BCM_ASYNC_ENTRY_FLOW_TUNNEL_TERMINATOR_TRAVERSE:
  17647 		rv = bcm_flow_tunnel_terminator_traverse(
  17648 			req->args.flow_tunnel_terminator_traverse.unit,
  17649 			req->args.flow_tunnel_terminator_traverse.cb,
  17650 			req->args.flow_tunnel_terminator_traverse.user_data);
  17651 		break;
  17652 	case BCM_ASYNC_ENTRY_FLOW_VPN_CREATE:
  17653 		rv = bcm_flow_vpn_create(
  17654 			req->args.flow_vpn_create.unit,
  17655 			req->args.flow_vpn_create.vpn,
  17656 			req->args.flow_vpn_create.info);
  17657 		break;
  17658 	case BCM_ASYNC_ENTRY_FLOW_VPN_DESTROY:
  17659 		rv = bcm_flow_vpn_destroy(
  17660 			req->args.flow_vpn_destroy.unit,
  17661 			req->args.flow_vpn_destroy.vpn);
  17662 		break;
  17663 	case BCM_ASYNC_ENTRY_FLOW_VPN_DESTROY_ALL:
  17664 		rv = bcm_flow_vpn_destroy_all(
  17665 			req->args.flow_vpn_destroy_all.unit);
  17666 		break;
  17667 	case BCM_ASYNC_ENTRY_FLOW_VPN_GET:
  17668 		rv = bcm_flow_vpn_get(
  17669 			req->args.flow_vpn_get.unit,
  17670 			req->args.flow_vpn_get.vpn,
  17671 			req->args.flow_vpn_get.info);
  17672 		break;
  17673 	case BCM_ASYNC_ENTRY_FLOW_VPN_TRAVERSE:
  17674 		rv = bcm_flow_vpn_traverse(
  17675 			req->args.flow_vpn_traverse.unit,
  17676 			req->args.flow_vpn_traverse.cb,
  17677 			req->args.flow_vpn_traverse.user_data);
  17678 		break;
  17679 #endif	/* INCLUDE_L3 */
  17680 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHECK_ACTION_INFO_GET:
  17681 		rv = bcm_flowtracker_check_action_info_get(
  17682 			req->args.flowtracker_check_action_info_get.unit,
  17683 			req->args.flowtracker_check_action_info_get.check_id,
  17684 			req->args.flowtracker_check_action_info_get.info);
  17685 		break;
  17686 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHECK_ACTION_INFO_SET:
  17687 		rv = bcm_flowtracker_check_action_info_set(
  17688 			req->args.flowtracker_check_action_info_set.unit,
  17689 			req->args.flowtracker_check_action_info_set.check_id,
  17690 			req->args.flowtracker_check_action_info_set.info);
  17691 		break;
  17692 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHECK_CREATE:
  17693 		rv = bcm_flowtracker_check_create(
  17694 			req->args.flowtracker_check_create.unit,
  17695 			req->args.flowtracker_check_create.options,
  17696 			req->args.flowtracker_check_create.check_info,
  17697 			req->args.flowtracker_check_create.check_id);
  17698 		break;
  17699 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHECK_DESTROY:
  17700 		rv = bcm_flowtracker_check_destroy(
  17701 			req->args.flowtracker_check_destroy.unit,
  17702 			req->args.flowtracker_check_destroy.check_id);
  17703 		break;
  17704 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHECK_DESTROY_ALL:
  17705 		rv = bcm_flowtracker_check_destroy_all(
  17706 			req->args.flowtracker_check_destroy_all.unit);
  17707 		break;
  17708 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHECK_EXPORT_INFO_GET:
  17709 		rv = bcm_flowtracker_check_export_info_get(
  17710 			req->args.flowtracker_check_export_info_get.unit,
  17711 			req->args.flowtracker_check_export_info_get.check_id,
  17712 			req->args.flowtracker_check_export_info_get.info);
  17713 		break;
  17714 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHECK_EXPORT_INFO_SET:
  17715 		rv = bcm_flowtracker_check_export_info_set(
  17716 			req->args.flowtracker_check_export_info_set.unit,
  17717 			req->args.flowtracker_check_export_info_set.check_id,
  17718 			req->args.flowtracker_check_export_info_set.info);
  17719 		break;
  17720 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHECK_GET:
  17721 		rv = bcm_flowtracker_check_get(
  17722 			req->args.flowtracker_check_get.unit,
  17723 			req->args.flowtracker_check_get.check_id,
  17724 			req->args.flowtracker_check_get.check_info);
  17725 		break;
  17726 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHECK_TRAVERSE:
  17727 		rv = bcm_flowtracker_check_traverse(
  17728 			req->args.flowtracker_check_traverse.unit,
  17729 			req->args.flowtracker_check_traverse.cb,
  17730 			req->args.flowtracker_check_traverse.user_data);
  17731 		break;
  17732 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHIP_DEBUG_INFO_GET:
  17733 		rv = bcm_flowtracker_chip_debug_info_get(
  17734 			req->args.flowtracker_chip_debug_info_get.unit,
  17735 			req->args.flowtracker_chip_debug_info_get.max_debug_info_size,
  17736 			req->args.flowtracker_chip_debug_info_get.list_of_debug_info,
  17737 			req->args.flowtracker_chip_debug_info_get.actual_debug_info_size);
  17738 		break;
  17739 	case BCM_ASYNC_ENTRY_FLOWTRACKER_CHIP_DEBUG_INFO_SET:
  17740 		rv = bcm_flowtracker_chip_debug_info_set(
  17741 			req->args.flowtracker_chip_debug_info_set.unit,
  17742 			req->args.flowtracker_chip_debug_info_set.num_debug_info,
  17743 			req->args.flowtracker_chip_debug_info_set.list_of_debug_info);
  17744 		break;
  17745 	case BCM_ASYNC_ENTRY_FLOWTRACKER_COLLECTOR_CREATE:
  17746 		rv = bcm_flowtracker_collector_create(
  17747 			req->args.flowtracker_collector_create.unit,
  17748 			req->args.flowtracker_collector_create.options,
  17749 			req->args.flowtracker_collector_create.collector_id,
  17750 			req->args.flowtracker_collector_create.collector_info);
  17751 		break;
  17752 	case BCM_ASYNC_ENTRY_FLOWTRACKER_COLLECTOR_DESTROY:
  17753 		rv = bcm_flowtracker_collector_destroy(
  17754 			req->args.flowtracker_collector_destroy.unit,
  17755 			req->args.flowtracker_collector_destroy.id);
  17756 		break;
  17757 	case BCM_ASYNC_ENTRY_FLOWTRACKER_COLLECTOR_GET:
  17758 		rv = bcm_flowtracker_collector_get(
  17759 			req->args.flowtracker_collector_get.unit,
  17760 			req->args.flowtracker_collector_get.id,
  17761 			req->args.flowtracker_collector_get.collector_info);
  17762 		break;
  17763 	case BCM_ASYNC_ENTRY_FLOWTRACKER_COLLECTOR_GET_ALL:
  17764 		rv = bcm_flowtracker_collector_get_all(
  17765 			req->args.flowtracker_collector_get_all.unit,
  17766 			req->args.flowtracker_collector_get_all.max_size,
  17767 			req->args.flowtracker_collector_get_all.collector_list,
  17768 			req->args.flowtracker_collector_get_all.list_size);
  17769 		break;
  17770 	case BCM_ASYNC_ENTRY_FLOWTRACKER_DETACH:
  17771 		rv = bcm_flowtracker_detach(
  17772 			req->args.flowtracker_detach.unit);
  17773 		break;
  17774 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_ACTION_MATCH_GET:
  17775 		rv = bcm_flowtracker_elephant_action_match_get(
  17776 			req->args.flowtracker_elephant_action_match_get.unit,
  17777 			req->args.flowtracker_elephant_action_match_get.action,
  17778 			req->args.flowtracker_elephant_action_match_get.match_types,
  17779 			req->args.flowtracker_elephant_action_match_get.match_data);
  17780 		break;
  17781 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_ACTION_MATCH_SET:
  17782 		rv = bcm_flowtracker_elephant_action_match_set(
  17783 			req->args.flowtracker_elephant_action_match_set.unit,
  17784 			req->args.flowtracker_elephant_action_match_set.action,
  17785 			req->args.flowtracker_elephant_action_match_set.match_types,
  17786 			req->args.flowtracker_elephant_action_match_set.match_data);
  17787 		break;
  17788 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_CONTROL_GET:
  17789 		rv = bcm_flowtracker_elephant_control_get(
  17790 			req->args.flowtracker_elephant_control_get.unit,
  17791 			req->args.flowtracker_elephant_control_get.type,
  17792 			req->args.flowtracker_elephant_control_get.arg);
  17793 		break;
  17794 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_CONTROL_SET:
  17795 		rv = bcm_flowtracker_elephant_control_set(
  17796 			req->args.flowtracker_elephant_control_set.unit,
  17797 			req->args.flowtracker_elephant_control_set.type,
  17798 			req->args.flowtracker_elephant_control_set.arg);
  17799 		break;
  17800 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_HASH_CONFIG_GET:
  17801 		rv = bcm_flowtracker_elephant_hash_config_get(
  17802 			req->args.flowtracker_elephant_hash_config_get.unit,
  17803 			req->args.flowtracker_elephant_hash_config_get.hash_table,
  17804 			req->args.flowtracker_elephant_hash_config_get.instance_num,
  17805 			req->args.flowtracker_elephant_hash_config_get.bank_num,
  17806 			req->args.flowtracker_elephant_hash_config_get.hash_type,
  17807 			req->args.flowtracker_elephant_hash_config_get.right_rotate_bits);
  17808 		break;
  17809 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_HASH_CONFIG_SET:
  17810 		rv = bcm_flowtracker_elephant_hash_config_set(
  17811 			req->args.flowtracker_elephant_hash_config_set.unit,
  17812 			req->args.flowtracker_elephant_hash_config_set.hash_table,
  17813 			req->args.flowtracker_elephant_hash_config_set.instance_num,
  17814 			req->args.flowtracker_elephant_hash_config_set.bank_num,
  17815 			req->args.flowtracker_elephant_hash_config_set.hash_type,
  17816 			req->args.flowtracker_elephant_hash_config_set.right_rotate_bits);
  17817 		break;
  17818 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_INT_PRI_REMAP_GET:
  17819 		rv = bcm_flowtracker_elephant_int_pri_remap_get(
  17820 			req->args.flowtracker_elephant_int_pri_remap_get.unit,
  17821 			req->args.flowtracker_elephant_int_pri_remap_get.int_pri,
  17822 			req->args.flowtracker_elephant_int_pri_remap_get.new_int_pri);
  17823 		break;
  17824 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_INT_PRI_REMAP_SET:
  17825 		rv = bcm_flowtracker_elephant_int_pri_remap_set(
  17826 			req->args.flowtracker_elephant_int_pri_remap_set.unit,
  17827 			req->args.flowtracker_elephant_int_pri_remap_set.int_pri,
  17828 			req->args.flowtracker_elephant_int_pri_remap_set.new_int_pri);
  17829 		break;
  17830 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_PROFILE_CREATE:
  17831 		rv = bcm_flowtracker_elephant_profile_create(
  17832 			req->args.flowtracker_elephant_profile_create.unit,
  17833 			req->args.flowtracker_elephant_profile_create.options,
  17834 			req->args.flowtracker_elephant_profile_create.profile,
  17835 			req->args.flowtracker_elephant_profile_create.profile_id);
  17836 		break;
  17837 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_PROFILE_DESTROY:
  17838 		rv = bcm_flowtracker_elephant_profile_destroy(
  17839 			req->args.flowtracker_elephant_profile_destroy.unit,
  17840 			req->args.flowtracker_elephant_profile_destroy.profile_id);
  17841 		break;
  17842 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_PROFILE_GET:
  17843 		rv = bcm_flowtracker_elephant_profile_get(
  17844 			req->args.flowtracker_elephant_profile_get.unit,
  17845 			req->args.flowtracker_elephant_profile_get.profile_id,
  17846 			req->args.flowtracker_elephant_profile_get.profile);
  17847 		break;
  17848 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_PROFILE_GET_ALL:
  17849 		rv = bcm_flowtracker_elephant_profile_get_all(
  17850 			req->args.flowtracker_elephant_profile_get_all.unit,
  17851 			req->args.flowtracker_elephant_profile_get_all.max,
  17852 			req->args.flowtracker_elephant_profile_get_all.profile_list,
  17853 			req->args.flowtracker_elephant_profile_get_all.count);
  17854 		break;
  17855 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_STATS_GET:
  17856 		rv = bcm_flowtracker_elephant_stats_get(
  17857 			req->args.flowtracker_elephant_stats_get.unit,
  17858 			req->args.flowtracker_elephant_stats_get.stats);
  17859 		break;
  17860 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_STATS_SET:
  17861 		rv = bcm_flowtracker_elephant_stats_set(
  17862 			req->args.flowtracker_elephant_stats_set.unit,
  17863 			req->args.flowtracker_elephant_stats_set.stats);
  17864 		break;
  17865 	case BCM_ASYNC_ENTRY_FLOWTRACKER_ELEPHANT_STATS_SYNC_GET:
  17866 		rv = bcm_flowtracker_elephant_stats_sync_get(
  17867 			req->args.flowtracker_elephant_stats_sync_get.unit,
  17868 			req->args.flowtracker_elephant_stats_sync_get.stats);
  17869 		break;
  17870 	case BCM_ASYNC_ENTRY_FLOWTRACKER_EXPORT_RECORD_REGISTER:
  17871 		rv = bcm_flowtracker_export_record_register(
  17872 			req->args.flowtracker_export_record_register.unit,
  17873 			req->args.flowtracker_export_record_register.collector_id,
  17874 			req->args.flowtracker_export_record_register.callback_options,
  17875 			req->args.flowtracker_export_record_register.callback_fn,
  17876 			req->args.flowtracker_export_record_register.userdata);
  17877 		break;
  17878 	case BCM_ASYNC_ENTRY_FLOWTRACKER_EXPORT_RECORD_UNREGISTER:
  17879 		rv = bcm_flowtracker_export_record_unregister(
  17880 			req->args.flowtracker_export_record_unregister.unit,
  17881 			req->args.flowtracker_export_record_unregister.collector_id,
  17882 			req->args.flowtracker_export_record_unregister.callback_options,
  17883 			req->args.flowtracker_export_record_unregister.callback_fn);
  17884 		break;
  17885 	case BCM_ASYNC_ENTRY_FLOWTRACKER_EXPORT_TEMPLATE_CREATE:
  17886 		rv = bcm_flowtracker_export_template_create(
  17887 			req->args.flowtracker_export_template_create.unit,
  17888 			req->args.flowtracker_export_template_create.options,
  17889 			req->args.flowtracker_export_template_create.id,
  17890 			req->args.flowtracker_export_template_create.set_id,
  17891 			req->args.flowtracker_export_template_create.num_export_elements,
  17892 			req->args.flowtracker_export_template_create.list_of_export_elements);
  17893 		break;
  17894 	case BCM_ASYNC_ENTRY_FLOWTRACKER_EXPORT_TEMPLATE_DESTROY:
  17895 		rv = bcm_flowtracker_export_template_destroy(
  17896 			req->args.flowtracker_export_template_destroy.unit,
  17897 			req->args.flowtracker_export_template_destroy.id);
  17898 		break;
  17899 	case BCM_ASYNC_ENTRY_FLOWTRACKER_EXPORT_TEMPLATE_GET:
  17900 		rv = bcm_flowtracker_export_template_get(
  17901 			req->args.flowtracker_export_template_get.unit,
  17902 			req->args.flowtracker_export_template_get.id,
  17903 			req->args.flowtracker_export_template_get.set_id,
  17904 			req->args.flowtracker_export_template_get.max_size,
  17905 			req->args.flowtracker_export_template_get.list_of_export_elements,
  17906 			req->args.flowtracker_export_template_get.list_size);
  17907 		break;
  17908 	case BCM_ASYNC_ENTRY_FLOWTRACKER_EXPORT_TEMPLATE_VALIDATE:
  17909 		rv = bcm_flowtracker_export_template_validate(
  17910 			req->args.flowtracker_export_template_validate.unit,
  17911 			req->args.flowtracker_export_template_validate.flow_group_id,
  17912 			req->args.flowtracker_export_template_validate.max_in_export_elements,
  17913 			req->args.flowtracker_export_template_validate.in_export_elements,
  17914 			req->args.flowtracker_export_template_validate.max_out_export_elements,
  17915 			req->args.flowtracker_export_template_validate.out_export_elements,
  17916 			req->args.flowtracker_export_template_validate.actual_out_export_elements);
  17917 		break;
  17918 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_ACTIONS_GET:
  17919 		rv = bcm_flowtracker_group_actions_get(
  17920 			req->args.flowtracker_group_actions_get.unit,
  17921 			req->args.flowtracker_group_actions_get.flow_group_id,
  17922 			req->args.flowtracker_group_actions_get.flags,
  17923 			req->args.flowtracker_group_actions_get.max_actions,
  17924 			req->args.flowtracker_group_actions_get.action_list,
  17925 			req->args.flowtracker_group_actions_get.num_actions);
  17926 		break;
  17927 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_ACTIONS_SET:
  17928 		rv = bcm_flowtracker_group_actions_set(
  17929 			req->args.flowtracker_group_actions_set.unit,
  17930 			req->args.flowtracker_group_actions_set.flow_group_id,
  17931 			req->args.flowtracker_group_actions_set.flags,
  17932 			req->args.flowtracker_group_actions_set.num_actions,
  17933 			req->args.flowtracker_group_actions_set.action_list);
  17934 		break;
  17935 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_AGE_TIMER_GET:
  17936 		rv = bcm_flowtracker_group_age_timer_get(
  17937 			req->args.flowtracker_group_age_timer_get.unit,
  17938 			req->args.flowtracker_group_age_timer_get.id,
  17939 			req->args.flowtracker_group_age_timer_get.aging_interval_ms);
  17940 		break;
  17941 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_AGE_TIMER_SET:
  17942 		rv = bcm_flowtracker_group_age_timer_set(
  17943 			req->args.flowtracker_group_age_timer_set.unit,
  17944 			req->args.flowtracker_group_age_timer_set.id,
  17945 			req->args.flowtracker_group_age_timer_set.aging_interval_ms);
  17946 		break;
  17947 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_CHECK_ADD:
  17948 		rv = bcm_flowtracker_group_check_add(
  17949 			req->args.flowtracker_group_check_add.unit,
  17950 			req->args.flowtracker_group_check_add.group_id,
  17951 			req->args.flowtracker_group_check_add.check_id);
  17952 		break;
  17953 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_CHECK_DELETE:
  17954 		rv = bcm_flowtracker_group_check_delete(
  17955 			req->args.flowtracker_group_check_delete.unit,
  17956 			req->args.flowtracker_group_check_delete.group_id,
  17957 			req->args.flowtracker_group_check_delete.check_id);
  17958 		break;
  17959 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_CHECK_GET_ALL:
  17960 		rv = bcm_flowtracker_group_check_get_all(
  17961 			req->args.flowtracker_group_check_get_all.unit,
  17962 			req->args.flowtracker_group_check_get_all.group_id,
  17963 			req->args.flowtracker_group_check_get_all.max_checks,
  17964 			req->args.flowtracker_group_check_get_all.list_of_check_ids,
  17965 			req->args.flowtracker_group_check_get_all.num_checks);
  17966 		break;
  17967 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_CLEAR:
  17968 		rv = bcm_flowtracker_group_clear(
  17969 			req->args.flowtracker_group_clear.unit,
  17970 			req->args.flowtracker_group_clear.id,
  17971 			req->args.flowtracker_group_clear.flags);
  17972 		break;
  17973 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_COLLECTOR_ADD:
  17974 		rv = bcm_flowtracker_group_collector_add(
  17975 			req->args.flowtracker_group_collector_add.unit,
  17976 			req->args.flowtracker_group_collector_add.flow_group_id,
  17977 			req->args.flowtracker_group_collector_add.collector_id,
  17978 			req->args.flowtracker_group_collector_add.template_id);
  17979 		break;
  17980 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_COLLECTOR_ATTACH:
  17981 		rv = bcm_flowtracker_group_collector_attach(
  17982 			req->args.flowtracker_group_collector_attach.unit,
  17983 			req->args.flowtracker_group_collector_attach.flow_group_id,
  17984 			req->args.flowtracker_group_collector_attach.collector_id,
  17985 			req->args.flowtracker_group_collector_attach.export_profile_id,
  17986 			req->args.flowtracker_group_collector_attach.template_id);
  17987 		break;
  17988 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_COLLECTOR_ATTACH_GET_ALL:
  17989 		rv = bcm_flowtracker_group_collector_attach_get_all(
  17990 			req->args.flowtracker_group_collector_attach_get_all.unit,
  17991 			req->args.flowtracker_group_collector_attach_get_all.flow_group_id,
  17992 			req->args.flowtracker_group_collector_attach_get_all.max_list_size,
  17993 			req->args.flowtracker_group_collector_attach_get_all.list_of_collectors,
  17994 			req->args.flowtracker_group_collector_attach_get_all.list_of_templates,
  17995 			req->args.flowtracker_group_collector_attach_get_all.export_profile_id_list,
  17996 			req->args.flowtracker_group_collector_attach_get_all.list_size);
  17997 		break;
  17998 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_COLLECTOR_COPY_INFO_GET:
  17999 		rv = bcm_flowtracker_group_collector_copy_info_get(
  18000 			req->args.flowtracker_group_collector_copy_info_get.unit,
  18001 			req->args.flowtracker_group_collector_copy_info_get.group_id,
  18002 			req->args.flowtracker_group_collector_copy_info_get.info);
  18003 		break;
  18004 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_COLLECTOR_COPY_INFO_SET:
  18005 		rv = bcm_flowtracker_group_collector_copy_info_set(
  18006 			req->args.flowtracker_group_collector_copy_info_set.unit,
  18007 			req->args.flowtracker_group_collector_copy_info_set.group_id,
  18008 			req->args.flowtracker_group_collector_copy_info_set.info);
  18009 		break;
  18010 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_COLLECTOR_DELETE:
  18011 		rv = bcm_flowtracker_group_collector_delete(
  18012 			req->args.flowtracker_group_collector_delete.unit,
  18013 			req->args.flowtracker_group_collector_delete.flow_group_id,
  18014 			req->args.flowtracker_group_collector_delete.collector_id,
  18015 			req->args.flowtracker_group_collector_delete.template_id);
  18016 		break;
  18017 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_COLLECTOR_DETACH:
  18018 		rv = bcm_flowtracker_group_collector_detach(
  18019 			req->args.flowtracker_group_collector_detach.unit,
  18020 			req->args.flowtracker_group_collector_detach.flow_group_id,
  18021 			req->args.flowtracker_group_collector_detach.collector_id,
  18022 			req->args.flowtracker_group_collector_detach.export_profile_id,
  18023 			req->args.flowtracker_group_collector_detach.template_id);
  18024 		break;
  18025 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_COLLECTOR_GET_ALL:
  18026 		rv = bcm_flowtracker_group_collector_get_all(
  18027 			req->args.flowtracker_group_collector_get_all.unit,
  18028 			req->args.flowtracker_group_collector_get_all.flow_group_id,
  18029 			req->args.flowtracker_group_collector_get_all.max_list_size,
  18030 			req->args.flowtracker_group_collector_get_all.list_of_collectors,
  18031 			req->args.flowtracker_group_collector_get_all.list_of_templates,
  18032 			req->args.flowtracker_group_collector_get_all.list_size);
  18033 		break;
  18034 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_CONTROL_GET:
  18035 		rv = bcm_flowtracker_group_control_get(
  18036 			req->args.flowtracker_group_control_get.unit,
  18037 			req->args.flowtracker_group_control_get.group_id,
  18038 			req->args.flowtracker_group_control_get.type,
  18039 			req->args.flowtracker_group_control_get.arg);
  18040 		break;
  18041 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_CONTROL_SET:
  18042 		rv = bcm_flowtracker_group_control_set(
  18043 			req->args.flowtracker_group_control_set.unit,
  18044 			req->args.flowtracker_group_control_set.group_id,
  18045 			req->args.flowtracker_group_control_set.type,
  18046 			req->args.flowtracker_group_control_set.arg);
  18047 		break;
  18048 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_CPU_NOTIFICATION_GET:
  18049 		rv = bcm_flowtracker_group_cpu_notification_get(
  18050 			req->args.flowtracker_group_cpu_notification_get.unit,
  18051 			req->args.flowtracker_group_cpu_notification_get.id,
  18052 			req->args.flowtracker_group_cpu_notification_get.info);
  18053 		break;
  18054 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_CPU_NOTIFICATION_SET:
  18055 		rv = bcm_flowtracker_group_cpu_notification_set(
  18056 			req->args.flowtracker_group_cpu_notification_set.unit,
  18057 			req->args.flowtracker_group_cpu_notification_set.id,
  18058 			req->args.flowtracker_group_cpu_notification_set.info);
  18059 		break;
  18060 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_CREATE:
  18061 		rv = bcm_flowtracker_group_create(
  18062 			req->args.flowtracker_group_create.unit,
  18063 			req->args.flowtracker_group_create.options,
  18064 			req->args.flowtracker_group_create.flow_group_id,
  18065 			req->args.flowtracker_group_create.flow_group_info);
  18066 		break;
  18067 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_DATA_GET:
  18068 		rv = bcm_flowtracker_group_data_get(
  18069 			req->args.flowtracker_group_data_get.unit,
  18070 			req->args.flowtracker_group_data_get.flow_group_id,
  18071 			req->args.flowtracker_group_data_get.flow_key,
  18072 			req->args.flowtracker_group_data_get.flow_data);
  18073 		break;
  18074 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_DESTROY:
  18075 		rv = bcm_flowtracker_group_destroy(
  18076 			req->args.flowtracker_group_destroy.unit,
  18077 			req->args.flowtracker_group_destroy.id);
  18078 		break;
  18079 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_ELEPHANT_PROFILE_ATTACH:
  18080 		rv = bcm_flowtracker_group_elephant_profile_attach(
  18081 			req->args.flowtracker_group_elephant_profile_attach.unit,
  18082 			req->args.flowtracker_group_elephant_profile_attach.flow_group_id,
  18083 			req->args.flowtracker_group_elephant_profile_attach.profile_id);
  18084 		break;
  18085 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_ELEPHANT_PROFILE_ATTACH_GET:
  18086 		rv = bcm_flowtracker_group_elephant_profile_attach_get(
  18087 			req->args.flowtracker_group_elephant_profile_attach_get.unit,
  18088 			req->args.flowtracker_group_elephant_profile_attach_get.flow_group_id,
  18089 			req->args.flowtracker_group_elephant_profile_attach_get.profile_id);
  18090 		break;
  18091 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_ELEPHANT_PROFILE_DETACH:
  18092 		rv = bcm_flowtracker_group_elephant_profile_detach(
  18093 			req->args.flowtracker_group_elephant_profile_detach.unit,
  18094 			req->args.flowtracker_group_elephant_profile_detach.flow_group_id);
  18095 		break;
  18096 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_EXPORT_TRIGGER_GET:
  18097 		rv = bcm_flowtracker_group_export_trigger_get(
  18098 			req->args.flowtracker_group_export_trigger_get.unit,
  18099 			req->args.flowtracker_group_export_trigger_get.id,
  18100 			req->args.flowtracker_group_export_trigger_get.export_trigger_info);
  18101 		break;
  18102 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_EXPORT_TRIGGER_SET:
  18103 		rv = bcm_flowtracker_group_export_trigger_set(
  18104 			req->args.flowtracker_group_export_trigger_set.unit,
  18105 			req->args.flowtracker_group_export_trigger_set.id,
  18106 			req->args.flowtracker_group_export_trigger_set.export_trigger_info);
  18107 		break;
  18108 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_FLOW_COUNT_GET:
  18109 		rv = bcm_flowtracker_group_flow_count_get(
  18110 			req->args.flowtracker_group_flow_count_get.unit,
  18111 			req->args.flowtracker_group_flow_count_get.id,
  18112 			req->args.flowtracker_group_flow_count_get.flow_count);
  18113 		break;
  18114 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_FLOW_LIMIT_GET:
  18115 		rv = bcm_flowtracker_group_flow_limit_get(
  18116 			req->args.flowtracker_group_flow_limit_get.unit,
  18117 			req->args.flowtracker_group_flow_limit_get.id,
  18118 			req->args.flowtracker_group_flow_limit_get.flow_limit);
  18119 		break;
  18120 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_FLOW_LIMIT_SET:
  18121 		rv = bcm_flowtracker_group_flow_limit_set(
  18122 			req->args.flowtracker_group_flow_limit_set.unit,
  18123 			req->args.flowtracker_group_flow_limit_set.id,
  18124 			req->args.flowtracker_group_flow_limit_set.flow_limit);
  18125 		break;
  18126 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_GET:
  18127 		rv = bcm_flowtracker_group_get(
  18128 			req->args.flowtracker_group_get.unit,
  18129 			req->args.flowtracker_group_get.id,
  18130 			req->args.flowtracker_group_get.flow_group_info);
  18131 		break;
  18132 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_GET_ALL:
  18133 		rv = bcm_flowtracker_group_get_all(
  18134 			req->args.flowtracker_group_get_all.unit,
  18135 			req->args.flowtracker_group_get_all.max_size,
  18136 			req->args.flowtracker_group_get_all.flow_group_list,
  18137 			req->args.flowtracker_group_get_all.list_size);
  18138 		break;
  18139 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_METER_INFO_GET:
  18140 		rv = bcm_flowtracker_group_meter_info_get(
  18141 			req->args.flowtracker_group_meter_info_get.unit,
  18142 			req->args.flowtracker_group_meter_info_get.group_id,
  18143 			req->args.flowtracker_group_meter_info_get.info);
  18144 		break;
  18145 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_METER_INFO_SET:
  18146 		rv = bcm_flowtracker_group_meter_info_set(
  18147 			req->args.flowtracker_group_meter_info_set.unit,
  18148 			req->args.flowtracker_group_meter_info_set.group_id,
  18149 			req->args.flowtracker_group_meter_info_set.info);
  18150 		break;
  18151 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_MULTI_CLEAR:
  18152 		rv = bcm_flowtracker_group_multi_clear(
  18153 			req->args.flowtracker_group_multi_clear.unit,
  18154 			req->args.flowtracker_group_multi_clear.flags,
  18155 			req->args.flowtracker_group_multi_clear.num_groups,
  18156 			req->args.flowtracker_group_multi_clear.list_of_group_ids);
  18157 		break;
  18158 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_STAT_GET:
  18159 		rv = bcm_flowtracker_group_stat_get(
  18160 			req->args.flowtracker_group_stat_get.unit,
  18161 			req->args.flowtracker_group_stat_get.group_id,
  18162 			req->args.flowtracker_group_stat_get.group_stats);
  18163 		break;
  18164 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_STAT_MODEID_GET:
  18165 		rv = bcm_flowtracker_group_stat_modeid_get(
  18166 			req->args.flowtracker_group_stat_modeid_get.unit,
  18167 			req->args.flowtracker_group_stat_modeid_get.id,
  18168 			req->args.flowtracker_group_stat_modeid_get.stat_modeid);
  18169 		break;
  18170 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_STAT_MODEID_SET:
  18171 		rv = bcm_flowtracker_group_stat_modeid_set(
  18172 			req->args.flowtracker_group_stat_modeid_set.unit,
  18173 			req->args.flowtracker_group_stat_modeid_set.id,
  18174 			req->args.flowtracker_group_stat_modeid_set.stat_modeid);
  18175 		break;
  18176 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_STAT_SET:
  18177 		rv = bcm_flowtracker_group_stat_set(
  18178 			req->args.flowtracker_group_stat_set.unit,
  18179 			req->args.flowtracker_group_stat_set.group_id,
  18180 			req->args.flowtracker_group_stat_set.group_stats);
  18181 		break;
  18182 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_TRACKING_PARAMS_GET:
  18183 		rv = bcm_flowtracker_group_tracking_params_get(
  18184 			req->args.flowtracker_group_tracking_params_get.unit,
  18185 			req->args.flowtracker_group_tracking_params_get.id,
  18186 			req->args.flowtracker_group_tracking_params_get.max_size,
  18187 			req->args.flowtracker_group_tracking_params_get.list_of_tracking_params,
  18188 			req->args.flowtracker_group_tracking_params_get.list_size);
  18189 		break;
  18190 	case BCM_ASYNC_ENTRY_FLOWTRACKER_GROUP_TRACKING_PARAMS_SET:
  18191 		rv = bcm_flowtracker_group_tracking_params_set(
  18192 			req->args.flowtracker_group_tracking_params_set.unit,
  18193 			req->args.flowtracker_group_tracking_params_set.id,
  18194 			req->args.flowtracker_group_tracking_params_set.num_tracking_params,
  18195 			req->args.flowtracker_group_tracking_params_set.list_of_tracking_params);
  18196 		break;
  18197 	case BCM_ASYNC_ENTRY_FLOWTRACKER_INIT:
  18198 		rv = bcm_flowtracker_init(
  18199 			req->args.flowtracker_init.unit);
  18200 		break;
  18201 	case BCM_ASYNC_ENTRY_FLOWTRACKER_TEMPLATE_TRANSMIT_CONFIG_GET:
  18202 		rv = bcm_flowtracker_template_transmit_config_get(
  18203 			req->args.flowtracker_template_transmit_config_get.unit,
  18204 			req->args.flowtracker_template_transmit_config_get.template_id,
  18205 			req->args.flowtracker_template_transmit_config_get.collector_id,
  18206 			req->args.flowtracker_template_transmit_config_get.config);
  18207 		break;
  18208 	case BCM_ASYNC_ENTRY_FLOWTRACKER_TEMPLATE_TRANSMIT_CONFIG_SET:
  18209 		rv = bcm_flowtracker_template_transmit_config_set(
  18210 			req->args.flowtracker_template_transmit_config_set.unit,
  18211 			req->args.flowtracker_template_transmit_config_set.template_id,
  18212 			req->args.flowtracker_template_transmit_config_set.collector_id,
  18213 			req->args.flowtracker_template_transmit_config_set.config);
  18214 		break;
  18215 	case BCM_ASYNC_ENTRY_FLOWTRACKER_USER_ENTRY_ADD:
  18216 		rv = bcm_flowtracker_user_entry_add(
  18217 			req->args.flowtracker_user_entry_add.unit,
  18218 			req->args.flowtracker_user_entry_add.flow_group_id,
  18219 			req->args.flowtracker_user_entry_add.options,
  18220 			req->args.flowtracker_user_entry_add.num_user_entry_params,
  18221 			req->args.flowtracker_user_entry_add.user_entry_param_list,
  18222 			req->args.flowtracker_user_entry_add.entry_handle);
  18223 		break;
  18224 	case BCM_ASYNC_ENTRY_FLOWTRACKER_USER_ENTRY_DELETE:
  18225 		rv = bcm_flowtracker_user_entry_delete(
  18226 			req->args.flowtracker_user_entry_delete.unit,
  18227 			req->args.flowtracker_user_entry_delete.flow_group_id,
  18228 			req->args.flowtracker_user_entry_delete.entry_handle);
  18229 		break;
  18230 	case BCM_ASYNC_ENTRY_FLOWTRACKER_USER_ENTRY_DELETE_ALL:
  18231 		rv = bcm_flowtracker_user_entry_delete_all(
  18232 			req->args.flowtracker_user_entry_delete_all.unit,
  18233 			req->args.flowtracker_user_entry_delete_all.flow_group_id);
  18234 		break;
  18235 	case BCM_ASYNC_ENTRY_FLOWTRACKER_USER_ENTRY_GET:
  18236 		rv = bcm_flowtracker_user_entry_get(
  18237 			req->args.flowtracker_user_entry_get.unit,
  18238 			req->args.flowtracker_user_entry_get.entry_handle,
  18239 			req->args.flowtracker_user_entry_get.num_user_entry_params,
  18240 			req->args.flowtracker_user_entry_get.user_entry_param_list,
  18241 			req->args.flowtracker_user_entry_get.actual_user_entry_params);
  18242 		break;
  18243 	case BCM_ASYNC_ENTRY_FLOWTRACKER_USER_ENTRY_GET_ALL:
  18244 		rv = bcm_flowtracker_user_entry_get_all(
  18245 			req->args.flowtracker_user_entry_get_all.unit,
  18246 			req->args.flowtracker_user_entry_get_all.flow_group_id,
  18247 			req->args.flowtracker_user_entry_get_all.num_user_entry_handles,
  18248 			req->args.flowtracker_user_entry_get_all.user_entry_handle_list,
  18249 			req->args.flowtracker_user_entry_get_all.actual_user_entry_handles);
  18250 		break;
  18251 #ifdef	INCLUDE_GDPLL
  18252 	case BCM_ASYNC_ENTRY_GDPLL_CB_REGISTER:
  18253 		rv = bcm_gdpll_cb_register(
  18254 			req->args.gdpll_cb_register.unit,
  18255 			req->args.gdpll_cb_register.cb_type,
  18256 			req->args.gdpll_cb_register.cb,
  18257 			req->args.gdpll_cb_register.user_data);
  18258 		break;
  18259 	case BCM_ASYNC_ENTRY_GDPLL_CB_UNREGISTER:
  18260 		rv = bcm_gdpll_cb_unregister(
  18261 			req->args.gdpll_cb_unregister.unit,
  18262 			req->args.gdpll_cb_unregister.cb_type);
  18263 		break;
  18264 	case BCM_ASYNC_ENTRY_GDPLL_CHAN_CREATE:
  18265 		rv = bcm_gdpll_chan_create(
  18266 			req->args.gdpll_chan_create.unit,
  18267 			req->args.gdpll_chan_create.flags,
  18268 			req->args.gdpll_chan_create.gdpll_chan,
  18269 			req->args.gdpll_chan_create.pChan);
  18270 		break;
  18271 	case BCM_ASYNC_ENTRY_GDPLL_CHAN_DEBUG_ENABLE:
  18272 		rv = bcm_gdpll_chan_debug_enable(
  18273 			req->args.gdpll_chan_debug_enable.unit,
  18274 			req->args.gdpll_chan_debug_enable.chan,
  18275 			req->args.gdpll_chan_debug_enable.debug_mode,
  18276 			req->args.gdpll_chan_debug_enable.enable);
  18277 		break;
  18278 	case BCM_ASYNC_ENTRY_GDPLL_CHAN_DESTROY:
  18279 		rv = bcm_gdpll_chan_destroy(
  18280 			req->args.gdpll_chan_destroy.unit,
  18281 			req->args.gdpll_chan_destroy.chan);
  18282 		break;
  18283 	case BCM_ASYNC_ENTRY_GDPLL_CHAN_ENABLE:
  18284 		rv = bcm_gdpll_chan_enable(
  18285 			req->args.gdpll_chan_enable.unit,
  18286 			req->args.gdpll_chan_enable.chan,
  18287 			req->args.gdpll_chan_enable.enable);
  18288 		break;
  18289 	case BCM_ASYNC_ENTRY_GDPLL_CHAN_STATE_GET:
  18290 		rv = bcm_gdpll_chan_state_get(
  18291 			req->args.gdpll_chan_state_get.unit,
  18292 			req->args.gdpll_chan_state_get.chan,
  18293 			req->args.gdpll_chan_state_get.dpllState);
  18294 		break;
  18295 	case BCM_ASYNC_ENTRY_GDPLL_DEBUG:
  18296 		rv = bcm_gdpll_debug(
  18297 			req->args.gdpll_debug.unit,
  18298 			req->args.gdpll_debug.enable);
  18299 		break;
  18300 	case BCM_ASYNC_ENTRY_GDPLL_DEBUG_CB_REGISTER:
  18301 		rv = bcm_gdpll_debug_cb_register(
  18302 			req->args.gdpll_debug_cb_register.unit,
  18303 			req->args.gdpll_debug_cb_register.cb,
  18304 			req->args.gdpll_debug_cb_register.user_data);
  18305 		break;
  18306 	case BCM_ASYNC_ENTRY_GDPLL_FLUSH:
  18307 		rv = bcm_gdpll_flush(
  18308 			req->args.gdpll_flush.unit);
  18309 		break;
  18310 #endif	/* INCLUDE_GDPLL */
  18311 	case BCM_ASYNC_ENTRY_GPORT_STAT_GET:
  18312 		rv = bcm_gport_stat_get(
  18313 			req->args.gport_stat_get.unit,
  18314 			req->args.gport_stat_get.gport,
  18315 			req->args.gport_stat_get.core_id,
  18316 			req->args.gport_stat_get.engine_source,
  18317 			req->args.gport_stat_get.stat_info);
  18318 		break;
  18319 	case BCM_ASYNC_ENTRY_GPORT_STAT_SET:
  18320 		rv = bcm_gport_stat_set(
  18321 			req->args.gport_stat_set.unit,
  18322 			req->args.gport_stat_set.gport,
  18323 			req->args.gport_stat_set.core_id,
  18324 			req->args.gport_stat_set.engine_source,
  18325 			req->args.gport_stat_set.stat_info);
  18326 		break;
  18327 	case BCM_ASYNC_ENTRY_HASH_FLEX_BIN_ADD:
  18328 		rv = bcm_hash_flex_bin_add(
  18329 			req->args.hash_flex_bin_add.unit,
  18330 			req->args.hash_flex_bin_add.cfg,
  18331 			req->args.hash_flex_bin_add.num_bins,
  18332 			req->args.hash_flex_bin_add.bin_cmd,
  18333 			req->args.hash_flex_bin_add.num_fields,
  18334 			req->args.hash_flex_bin_add.flex_field);
  18335 		break;
  18336 	case BCM_ASYNC_ENTRY_HASH_FLEX_BIN_DELETE:
  18337 		rv = bcm_hash_flex_bin_delete(
  18338 			req->args.hash_flex_bin_delete.unit,
  18339 			req->args.hash_flex_bin_delete.entry_id);
  18340 		break;
  18341 	case BCM_ASYNC_ENTRY_HASH_FLEX_BIN_DELETE_ALL:
  18342 		rv = bcm_hash_flex_bin_delete_all(
  18343 			req->args.hash_flex_bin_delete_all.unit);
  18344 		break;
  18345 	case BCM_ASYNC_ENTRY_HASH_FLEX_BIN_GET:
  18346 		rv = bcm_hash_flex_bin_get(
  18347 			req->args.hash_flex_bin_get.unit,
  18348 			req->args.hash_flex_bin_get.cfg,
  18349 			req->args.hash_flex_bin_get.num_bins,
  18350 			req->args.hash_flex_bin_get.bin_cmd,
  18351 			req->args.hash_flex_bin_get.num_fields,
  18352 			req->args.hash_flex_bin_get.flex_field);
  18353 		break;
  18354 	case BCM_ASYNC_ENTRY_HASH_FLEX_BIN_TRAVERSE:
  18355 		rv = bcm_hash_flex_bin_traverse(
  18356 			req->args.hash_flex_bin_traverse.unit,
  18357 			req->args.hash_flex_bin_traverse.option,
  18358 			req->args.hash_flex_bin_traverse.cb,
  18359 			req->args.hash_flex_bin_traverse.user_data);
  18360 		break;
  18361 	case BCM_ASYNC_ENTRY_HASH_FLEX_FIELD_ID_GET:
  18362 		rv = bcm_hash_flex_field_id_get(
  18363 			req->args.hash_flex_field_id_get.unit,
  18364 			req->args.hash_flex_field_id_get.object,
  18365 			req->args.hash_flex_field_id_get.field_name,
  18366 			req->args.hash_flex_field_id_get.field_id);
  18367 		break;
  18368 	case BCM_ASYNC_ENTRY_HASH_FLEX_FIELD_NAME_GET:
  18369 		rv = bcm_hash_flex_field_name_get(
  18370 			req->args.hash_flex_field_name_get.unit,
  18371 			req->args.hash_flex_field_name_get.field_id,
  18372 			req->args.hash_flex_field_name_get.object,
  18373 			req->args.hash_flex_field_name_get.size,
  18374 			req->args.hash_flex_field_name_get.field_name);
  18375 		break;
  18376 	case BCM_ASYNC_ENTRY_HASH_INIT:
  18377 		rv = bcm_hash_init(
  18378 			req->args.hash_init.unit);
  18379 		break;
  18380 #ifdef	INCLUDE_I2C
  18381 	case BCM_ASYNC_ENTRY_I2C_IOCTL:
  18382 		rv = bcm_i2c_ioctl(
  18383 			req->args.i2c_ioctl.unit,
  18384 			req->args.i2c_ioctl.fd,
  18385 			req->args.i2c_ioctl.opcode,
  18386 			req->args.i2c_ioctl.data,
  18387 			req->args.i2c_ioctl.len);
  18388 		break;
  18389 	case BCM_ASYNC_ENTRY_I2C_OPEN:
  18390 		rv = bcm_i2c_open(
  18391 			req->args.i2c_open.unit,
  18392 			req->args.i2c_open.devname,
  18393 			req->args.i2c_open.flags,
  18394 			req->args.i2c_open.speed);
  18395 		break;
  18396 	case BCM_ASYNC_ENTRY_I2C_READ:
  18397 		rv = bcm_i2c_read(
  18398 			req->args.i2c_read.unit,
  18399 			req->args.i2c_read.fd,
  18400 			req->args.i2c_read.addr,
  18401 			req->args.i2c_read.data,
  18402 			req->args.i2c_read.nbytes);
  18403 		break;
  18404 	case BCM_ASYNC_ENTRY_I2C_WRITE:
  18405 		rv = bcm_i2c_write(
  18406 			req->args.i2c_write.unit,
  18407 			req->args.i2c_write.fd,
  18408 			req->args.i2c_write.addr,
  18409 			req->args.i2c_write.data,
  18410 			req->args.i2c_write.nbytes);
  18411 		break;
  18412 #endif	/* INCLUDE_I2C */
  18413 	case BCM_ASYNC_ENTRY_IFA_COLLECTOR_GET:
  18414 		rv = bcm_ifa_collector_get(
  18415 			req->args.ifa_collector_get.unit,
  18416 			req->args.ifa_collector_get.collector_info);
  18417 		break;
  18418 	case BCM_ASYNC_ENTRY_IFA_COLLECTOR_SET:
  18419 		rv = bcm_ifa_collector_set(
  18420 			req->args.ifa_collector_set.unit,
  18421 			req->args.ifa_collector_set.options,
  18422 			req->args.ifa_collector_set.collector_info);
  18423 		break;
  18424 	case BCM_ASYNC_ENTRY_IFA_CONFIG_INFO_GET:
  18425 		rv = bcm_ifa_config_info_get(
  18426 			req->args.ifa_config_info_get.unit,
  18427 			req->args.ifa_config_info_get.config_data);
  18428 		break;
  18429 	case BCM_ASYNC_ENTRY_IFA_CONFIG_INFO_SET:
  18430 		rv = bcm_ifa_config_info_set(
  18431 			req->args.ifa_config_info_set.unit,
  18432 			req->args.ifa_config_info_set.options,
  18433 			req->args.ifa_config_info_set.config_data);
  18434 		break;
  18435 	case BCM_ASYNC_ENTRY_IFA_DETACH:
  18436 		rv = bcm_ifa_detach(
  18437 			req->args.ifa_detach.unit);
  18438 		break;
  18439 	case BCM_ASYNC_ENTRY_IFA_INIT:
  18440 		rv = bcm_ifa_init(
  18441 			req->args.ifa_init.unit);
  18442 		break;
  18443 	case BCM_ASYNC_ENTRY_IFA_STAT_INFO_GET:
  18444 		rv = bcm_ifa_stat_info_get(
  18445 			req->args.ifa_stat_info_get.unit,
  18446 			req->args.ifa_stat_info_get.stat_data);
  18447 		break;
  18448 	case BCM_ASYNC_ENTRY_IFA_STAT_INFO_SET:
  18449 		rv = bcm_ifa_stat_info_set(
  18450 			req->args.ifa_stat_info_set.unit,
  18451 			req->args.ifa_stat_info_set.stat_data);
  18452 		break;
  18453 	case BCM_ASYNC_ENTRY_INFO_GET:
  18454 		rv = bcm_info_get(
  18455 			req->args.info_get.unit,
  18456 			req->args.info_get.info);
  18457 		break;
  18458 	case BCM_ASYNC_ENTRY_INIT:
  18459 		rv = bcm_init(
  18460 			req->args.init.unit);
  18461 		break;
  18462 	case BCM_ASYNC_ENTRY_INIT_ADVANCED:
  18463 		rv = bcm_init_advanced(
  18464 			req->args.init_advanced.unit,
  18465 			req->args.init_advanced.init_advanced_info);
  18466 		break;
  18467 	case BCM_ASYNC_ENTRY_INIT_CHECK:
  18468 		rv = bcm_init_check(
  18469 			req->args.init_check.unit);
  18470 		break;
  18471 	case BCM_ASYNC_ENTRY_INIT_SELECTIVE:
  18472 		rv = bcm_init_selective(
  18473 			req->args.init_selective.unit,
  18474 			req->args.init_selective.flags);
  18475 		break;
  18476 	case BCM_ASYNC_ENTRY_INSTRU_CONTROL_GET:
  18477 		rv = bcm_instru_control_get(
  18478 			req->args.instru_control_get.unit,
  18479 			req->args.instru_control_get.flags,
  18480 			req->args.instru_control_get.type,
  18481 			req->args.instru_control_get.arg);
  18482 		break;
  18483 	case BCM_ASYNC_ENTRY_INSTRU_CONTROL_SET:
  18484 		rv = bcm_instru_control_set(
  18485 			req->args.instru_control_set.unit,
  18486 			req->args.instru_control_set.flags,
  18487 			req->args.instru_control_set.type,
  18488 			req->args.instru_control_set.arg);
  18489 		break;
  18490 	case BCM_ASYNC_ENTRY_INSTRU_EVENTOR_ACTIVE_GET:
  18491 		rv = bcm_instru_eventor_active_get(
  18492 			req->args.instru_eventor_active_get.unit,
  18493 			req->args.instru_eventor_active_get.flags,
  18494 			req->args.instru_eventor_active_get.out_active);
  18495 		break;
  18496 	case BCM_ASYNC_ENTRY_INSTRU_EVENTOR_ACTIVE_SET:
  18497 		rv = bcm_instru_eventor_active_set(
  18498 			req->args.instru_eventor_active_set.unit,
  18499 			req->args.instru_eventor_active_set.flags,
  18500 			req->args.instru_eventor_active_set.active);
  18501 		break;
  18502 	case BCM_ASYNC_ENTRY_INSTRU_EVENTOR_BUILDER_GET:
  18503 		rv = bcm_instru_eventor_builder_get(
  18504 			req->args.instru_eventor_builder_get.unit,
  18505 			req->args.instru_eventor_builder_get.flags,
  18506 			req->args.instru_eventor_builder_get.builder,
  18507 			req->args.instru_eventor_builder_get.out_conf);
  18508 		break;
  18509 	case BCM_ASYNC_ENTRY_INSTRU_EVENTOR_BUILDER_SET:
  18510 		rv = bcm_instru_eventor_builder_set(
  18511 			req->args.instru_eventor_builder_set.unit,
  18512 			req->args.instru_eventor_builder_set.flags,
  18513 			req->args.instru_eventor_builder_set.builder,
  18514 			req->args.instru_eventor_builder_set.conf);
  18515 		break;
  18516 	case BCM_ASYNC_ENTRY_INSTRU_EVENTOR_CONTEXT_GET:
  18517 		rv = bcm_instru_eventor_context_get(
  18518 			req->args.instru_eventor_context_get.unit,
  18519 			req->args.instru_eventor_context_get.flags,
  18520 			req->args.instru_eventor_context_get.context,
  18521 			req->args.instru_eventor_context_get.context_type,
  18522 			req->args.instru_eventor_context_get.out_conf);
  18523 		break;
  18524 	case BCM_ASYNC_ENTRY_INSTRU_EVENTOR_CONTEXT_SET:
  18525 		rv = bcm_instru_eventor_context_set(
  18526 			req->args.instru_eventor_context_set.unit,
  18527 			req->args.instru_eventor_context_set.flags,
  18528 			req->args.instru_eventor_context_set.context,
  18529 			req->args.instru_eventor_context_set.context_type,
  18530 			req->args.instru_eventor_context_set.conf);
  18531 		break;
  18532 	case BCM_ASYNC_ENTRY_INSTRU_GPORT_CONTROL_GET:
  18533 		rv = bcm_instru_gport_control_get(
  18534 			req->args.instru_gport_control_get.unit,
  18535 			req->args.instru_gport_control_get.gport,
  18536 			req->args.instru_gport_control_get.flags,
  18537 			req->args.instru_gport_control_get.type,
  18538 			req->args.instru_gport_control_get.arg);
  18539 		break;
  18540 	case BCM_ASYNC_ENTRY_INSTRU_GPORT_CONTROL_SET:
  18541 		rv = bcm_instru_gport_control_set(
  18542 			req->args.instru_gport_control_set.unit,
  18543 			req->args.instru_gport_control_set.gport,
  18544 			req->args.instru_gport_control_set.flags,
  18545 			req->args.instru_gport_control_set.type,
  18546 			req->args.instru_gport_control_set.arg);
  18547 		break;
  18548 	case BCM_ASYNC_ENTRY_INSTRU_IPT_PROFILE_GET:
  18549 		rv = bcm_instru_ipt_profile_get(
  18550 			req->args.instru_ipt_profile_get.unit,
  18551 			req->args.instru_ipt_profile_get.flags,
  18552 			req->args.instru_ipt_profile_get.ipt_profile,
  18553 			req->args.instru_ipt_profile_get.config);
  18554 		break;
  18555 	case BCM_ASYNC_ENTRY_INSTRU_IPT_PROFILE_SET:
  18556 		rv = bcm_instru_ipt_profile_set(
  18557 			req->args.instru_ipt_profile_set.unit,
  18558 			req->args.instru_ipt_profile_set.flags,
  18559 			req->args.instru_ipt_profile_set.ipt_profile,
  18560 			req->args.instru_ipt_profile_set.config);
  18561 		break;
  18562 	case BCM_ASYNC_ENTRY_INSTRU_SFLOW_ENCAP_CREATE:
  18563 		rv = bcm_instru_sflow_encap_create(
  18564 			req->args.instru_sflow_encap_create.unit,
  18565 			req->args.instru_sflow_encap_create.sflow_encap_info);
  18566 		break;
  18567 	case BCM_ASYNC_ENTRY_INSTRU_SFLOW_ENCAP_DELETE:
  18568 		rv = bcm_instru_sflow_encap_delete(
  18569 			req->args.instru_sflow_encap_delete.unit,
  18570 			req->args.instru_sflow_encap_delete.sflow_encap_info);
  18571 		break;
  18572 	case BCM_ASYNC_ENTRY_INSTRU_SFLOW_ENCAP_GET:
  18573 		rv = bcm_instru_sflow_encap_get(
  18574 			req->args.instru_sflow_encap_get.unit,
  18575 			req->args.instru_sflow_encap_get.sflow_encap_info);
  18576 		break;
  18577 	case BCM_ASYNC_ENTRY_INSTRU_SFLOW_ENCAP_TRAVERSE:
  18578 		rv = bcm_instru_sflow_encap_traverse(
  18579 			req->args.instru_sflow_encap_traverse.unit,
  18580 			req->args.instru_sflow_encap_traverse.cb,
  18581 			req->args.instru_sflow_encap_traverse.user_data);
  18582 		break;
  18583 	case BCM_ASYNC_ENTRY_INSTRU_VIS_MODE_GET:
  18584 		rv = bcm_instru_vis_mode_get(
  18585 			req->args.instru_vis_mode_get.unit,
  18586 			req->args.instru_vis_mode_get.mode);
  18587 		break;
  18588 	case BCM_ASYNC_ENTRY_INSTRU_VIS_MODE_SET:
  18589 		rv = bcm_instru_vis_mode_set(
  18590 			req->args.instru_vis_mode_set.unit,
  18591 			req->args.instru_vis_mode_set.mode);
  18592 		break;
  18593 #ifdef	INCLUDE_INT
  18594 	case BCM_ASYNC_ENTRY_INT_DETACH:
  18595 		rv = bcm_int_detach(
  18596 			req->args.int_detach.unit);
  18597 		break;
  18598 	case BCM_ASYNC_ENTRY_INT_INIT:
  18599 		rv = bcm_int_init(
  18600 			req->args.int_init.unit);
  18601 		break;
  18602 	case BCM_ASYNC_ENTRY_INT_TURNAROUND_CONFIG_GET:
  18603 		rv = bcm_int_turnaround_config_get(
  18604 			req->args.int_turnaround_config_get.unit,
  18605 			req->args.int_turnaround_config_get.config_data);
  18606 		break;
  18607 	case BCM_ASYNC_ENTRY_INT_TURNAROUND_CONFIG_SET:
  18608 		rv = bcm_int_turnaround_config_set(
  18609 			req->args.int_turnaround_config_set.unit,
  18610 			req->args.int_turnaround_config_set.config_data);
  18611 		break;
  18612 	case BCM_ASYNC_ENTRY_INT_TURNAROUND_STAT_GET:
  18613 		rv = bcm_int_turnaround_stat_get(
  18614 			req->args.int_turnaround_stat_get.unit,
  18615 			req->args.int_turnaround_stat_get.stat_data);
  18616 		break;
  18617 #endif	/* INCLUDE_INT */
  18618 	case BCM_ASYNC_ENTRY_IP6_MASK_CREATE:
  18619 		rv = bcm_ip6_mask_create(
  18620 			req->args.ip6_mask_create.ip6,
  18621 			req->args.ip6_mask_create.len);
  18622 		break;
  18623 	case BCM_ASYNC_ENTRY_IP6_MASK_LENGTH:
  18624 		rv = bcm_ip6_mask_length(
  18625 			req->args.ip6_mask_length.mask);
  18626 		break;
  18627 	/* bcm_ip_mask_create has a non int return type */
  18628 	case BCM_ASYNC_ENTRY_IP_MASK_LENGTH:
  18629 		rv = bcm_ip_mask_length(
  18630 			req->args.ip_mask_length.ip);
  18631 		break;
  18632 	case BCM_ASYNC_ENTRY_IPFIX_CONFIG_GET:
  18633 		rv = bcm_ipfix_config_get(
  18634 			req->args.ipfix_config_get.unit,
  18635 			req->args.ipfix_config_get.stage,
  18636 			req->args.ipfix_config_get.port,
  18637 			req->args.ipfix_config_get.config);
  18638 		break;
  18639 	case BCM_ASYNC_ENTRY_IPFIX_CONFIG_SET:
  18640 		rv = bcm_ipfix_config_set(
  18641 			req->args.ipfix_config_set.unit,
  18642 			req->args.ipfix_config_set.stage,
  18643 			req->args.ipfix_config_set.port,
  18644 			req->args.ipfix_config_set.config);
  18645 		break;
  18646 	case BCM_ASYNC_ENTRY_IPFIX_MIRROR_CONFIG_GET:
  18647 		rv = bcm_ipfix_mirror_config_get(
  18648 			req->args.ipfix_mirror_config_get.unit,
  18649 			req->args.ipfix_mirror_config_get.stage,
  18650 			req->args.ipfix_mirror_config_get.port,
  18651 			req->args.ipfix_mirror_config_get.config);
  18652 		break;
  18653 	case BCM_ASYNC_ENTRY_IPFIX_MIRROR_CONFIG_SET:
  18654 		rv = bcm_ipfix_mirror_config_set(
  18655 			req->args.ipfix_mirror_config_set.unit,
  18656 			req->args.ipfix_mirror_config_set.stage,
  18657 			req->args.ipfix_mirror_config_set.port,
  18658 			req->args.ipfix_mirror_config_set.config);
  18659 		break;
  18660 	case BCM_ASYNC_ENTRY_IPFIX_MIRROR_PORT_DEST_ADD:
  18661 		rv = bcm_ipfix_mirror_port_dest_add(
  18662 			req->args.ipfix_mirror_port_dest_add.unit,
  18663 			req->args.ipfix_mirror_port_dest_add.stage,
  18664 			req->args.ipfix_mirror_port_dest_add.port,
  18665 			req->args.ipfix_mirror_port_dest_add.mirror_dest_id);
  18666 		break;
  18667 	case BCM_ASYNC_ENTRY_IPFIX_MIRROR_PORT_DEST_DELETE:
  18668 		rv = bcm_ipfix_mirror_port_dest_delete(
  18669 			req->args.ipfix_mirror_port_dest_delete.unit,
  18670 			req->args.ipfix_mirror_port_dest_delete.stage,
  18671 			req->args.ipfix_mirror_port_dest_delete.port,
  18672 			req->args.ipfix_mirror_port_dest_delete.mirror_dest_id);
  18673 		break;
  18674 	case BCM_ASYNC_ENTRY_IPFIX_MIRROR_PORT_DEST_DELETE_ALL:
  18675 		rv = bcm_ipfix_mirror_port_dest_delete_all(
  18676 			req->args.ipfix_mirror_port_dest_delete_all.unit,
  18677 			req->args.ipfix_mirror_port_dest_delete_all.stage,
  18678 			req->args.ipfix_mirror_port_dest_delete_all.port);
  18679 		break;
  18680 	case BCM_ASYNC_ENTRY_IPFIX_MIRROR_PORT_DEST_GET:
  18681 		rv = bcm_ipfix_mirror_port_dest_get(
  18682 			req->args.ipfix_mirror_port_dest_get.unit,
  18683 			req->args.ipfix_mirror_port_dest_get.stage,
  18684 			req->args.ipfix_mirror_port_dest_get.port,
  18685 			req->args.ipfix_mirror_port_dest_get.mirror_dest_size,
  18686 			req->args.ipfix_mirror_port_dest_get.mirror_dest_id,
  18687 			req->args.ipfix_mirror_port_dest_get.mirror_dest_count);
  18688 		break;
  18689 	case BCM_ASYNC_ENTRY_IPFIX_RATE_CREATE:
  18690 		rv = bcm_ipfix_rate_create(
  18691 			req->args.ipfix_rate_create.unit,
  18692 			req->args.ipfix_rate_create.rate_info);
  18693 		break;
  18694 	case BCM_ASYNC_ENTRY_IPFIX_RATE_DESTROY:
  18695 		rv = bcm_ipfix_rate_destroy(
  18696 			req->args.ipfix_rate_destroy.unit,
  18697 			req->args.ipfix_rate_destroy.rate_id);
  18698 		break;
  18699 	case BCM_ASYNC_ENTRY_IPFIX_RATE_DESTROY_ALL:
  18700 		rv = bcm_ipfix_rate_destroy_all(
  18701 			req->args.ipfix_rate_destroy_all.unit);
  18702 		break;
  18703 	case BCM_ASYNC_ENTRY_IPFIX_RATE_GET:
  18704 		rv = bcm_ipfix_rate_get(
  18705 			req->args.ipfix_rate_get.unit,
  18706 			req->args.ipfix_rate_get.rate_info);
  18707 		break;
  18708 	case BCM_ASYNC_ENTRY_IPFIX_RATE_MIRROR_ADD:
  18709 		rv = bcm_ipfix_rate_mirror_add(
  18710 			req->args.ipfix_rate_mirror_add.unit,
  18711 			req->args.ipfix_rate_mirror_add.rate_id,
  18712 			req->args.ipfix_rate_mirror_add.mirror_dest_id);
  18713 		break;
  18714 	case BCM_ASYNC_ENTRY_IPFIX_RATE_MIRROR_DELETE:
  18715 		rv = bcm_ipfix_rate_mirror_delete(
  18716 			req->args.ipfix_rate_mirror_delete.unit,
  18717 			req->args.ipfix_rate_mirror_delete.rate_id,
  18718 			req->args.ipfix_rate_mirror_delete.mirror_dest_id);
  18719 		break;
  18720 	case BCM_ASYNC_ENTRY_IPFIX_RATE_MIRROR_DELETE_ALL:
  18721 		rv = bcm_ipfix_rate_mirror_delete_all(
  18722 			req->args.ipfix_rate_mirror_delete_all.unit,
  18723 			req->args.ipfix_rate_mirror_delete_all.rate_id);
  18724 		break;
  18725 	case BCM_ASYNC_ENTRY_IPFIX_RATE_MIRROR_GET:
  18726 		rv = bcm_ipfix_rate_mirror_get(
  18727 			req->args.ipfix_rate_mirror_get.unit,
  18728 			req->args.ipfix_rate_mirror_get.rate_id,
  18729 			req->args.ipfix_rate_mirror_get.mirror_dest_size,
  18730 			req->args.ipfix_rate_mirror_get.mirror_dest_id,
  18731 			req->args.ipfix_rate_mirror_get.mirror_dest_count);
  18732 		break;
  18733 	case BCM_ASYNC_ENTRY_IPFIX_RATE_TRAVERSE:
  18734 		rv = bcm_ipfix_rate_traverse(
  18735 			req->args.ipfix_rate_traverse.unit,
  18736 			req->args.ipfix_rate_traverse.cb,
  18737 			req->args.ipfix_rate_traverse.userdata);
  18738 		break;
  18739 	case BCM_ASYNC_ENTRY_IPFIX_REGISTER:
  18740 		rv = bcm_ipfix_register(
  18741 			req->args.ipfix_register.unit,
  18742 			req->args.ipfix_register.callback,
  18743 			req->args.ipfix_register.userdata);
  18744 		break;
  18745 	case BCM_ASYNC_ENTRY_IPFIX_UNREGISTER:
  18746 		rv = bcm_ipfix_unregister(
  18747 			req->args.ipfix_unregister.unit,
  18748 			req->args.ipfix_unregister.callback,
  18749 			req->args.ipfix_unregister.userdata);
  18750 		break;
  18751 #ifdef	INCLUDE_L3
  18752 	case BCM_ASYNC_ENTRY_IPMC_ADD:
  18753 		rv = bcm_ipmc_add(
  18754 			req->args.ipmc_add.unit,
  18755 			req->args.ipmc_add.data);
  18756 		break;
  18757 	case BCM_ASYNC_ENTRY_IPMC_AGE:
  18758 		rv = bcm_ipmc_age(
  18759 			req->args.ipmc_age.unit,
  18760 			req->args.ipmc_age.flags,
  18761 			req->args.ipmc_age.age_cb,
  18762 			req->args.ipmc_age.user_data);
  18763 		break;
  18764 	case BCM_ASYNC_ENTRY_IPMC_BITMAP_DEL:
  18765 		rv = bcm_ipmc_bitmap_del(
  18766 			req->args.ipmc_bitmap_del.unit,
  18767 			req->args.ipmc_bitmap_del.ipmc_idx,
  18768 			req->args.ipmc_bitmap_del.port,
  18769 			req->args.ipmc_bitmap_del.pbmp);
  18770 		break;
  18771 	case BCM_ASYNC_ENTRY_IPMC_BITMAP_GET:
  18772 		rv = bcm_ipmc_bitmap_get(
  18773 			req->args.ipmc_bitmap_get.unit,
  18774 			req->args.ipmc_bitmap_get.ipmc_idx,
  18775 			req->args.ipmc_bitmap_get.port,
  18776 			req->args.ipmc_bitmap_get.pbmp);
  18777 		break;
  18778 	case BCM_ASYNC_ENTRY_IPMC_BITMAP_MAX_GET:
  18779 		rv = bcm_ipmc_bitmap_max_get(
  18780 			req->args.ipmc_bitmap_max_get.unit,
  18781 			req->args.ipmc_bitmap_max_get.max_index);
  18782 		break;
  18783 	case BCM_ASYNC_ENTRY_IPMC_BITMAP_SET:
  18784 		rv = bcm_ipmc_bitmap_set(
  18785 			req->args.ipmc_bitmap_set.unit,
  18786 			req->args.ipmc_bitmap_set.ipmc_idx,
  18787 			req->args.ipmc_bitmap_set.port,
  18788 			req->args.ipmc_bitmap_set.pbmp);
  18789 		break;
  18790 	case BCM_ASYNC_ENTRY_IPMC_COUNTERS_GET:
  18791 		rv = bcm_ipmc_counters_get(
  18792 			req->args.ipmc_counters_get.unit,
  18793 			req->args.ipmc_counters_get.port,
  18794 			req->args.ipmc_counters_get.counters);
  18795 		break;
  18796 	case BCM_ASYNC_ENTRY_IPMC_DETACH:
  18797 		rv = bcm_ipmc_detach(
  18798 			req->args.ipmc_detach.unit);
  18799 		break;
  18800 	case BCM_ASYNC_ENTRY_IPMC_EGRESS_PORT_GET:
  18801 		rv = bcm_ipmc_egress_port_get(
  18802 			req->args.ipmc_egress_port_get.unit,
  18803 			req->args.ipmc_egress_port_get.port,
  18804 			req->args.ipmc_egress_port_get.mac,
  18805 			req->args.ipmc_egress_port_get.untag,
  18806 			req->args.ipmc_egress_port_get.vid,
  18807 			req->args.ipmc_egress_port_get.ttl_threshold);
  18808 		break;
  18809 	case BCM_ASYNC_ENTRY_IPMC_EGRESS_PORT_INIT:
  18810 		rv = bcm_ipmc_egress_port_init(
  18811 			req->args.ipmc_egress_port_init.unit);
  18812 		break;
  18813 	case BCM_ASYNC_ENTRY_IPMC_EGRESS_PORT_SET:
  18814 		rv = bcm_ipmc_egress_port_set(
  18815 			req->args.ipmc_egress_port_set.unit,
  18816 			req->args.ipmc_egress_port_set.port,
  18817 			req->args.ipmc_egress_port_set.mac,
  18818 			req->args.ipmc_egress_port_set.untag,
  18819 			req->args.ipmc_egress_port_set.vid,
  18820 			req->args.ipmc_egress_port_set.ttl_threshold);
  18821 		break;
  18822 	case BCM_ASYNC_ENTRY_IPMC_ENABLE:
  18823 		rv = bcm_ipmc_enable(
  18824 			req->args.ipmc_enable.unit,
  18825 			req->args.ipmc_enable.enable);
  18826 		break;
  18827 	case BCM_ASYNC_ENTRY_IPMC_FIND:
  18828 		rv = bcm_ipmc_find(
  18829 			req->args.ipmc_find.unit,
  18830 			req->args.ipmc_find.data);
  18831 		break;
  18832 	case BCM_ASYNC_ENTRY_IPMC_INIT:
  18833 		rv = bcm_ipmc_init(
  18834 			req->args.ipmc_init.unit);
  18835 		break;
  18836 	case BCM_ASYNC_ENTRY_IPMC_RANGE_ADD:
  18837 		rv = bcm_ipmc_range_add(
  18838 			req->args.ipmc_range_add.unit,
  18839 			req->args.ipmc_range_add.range_id,
  18840 			req->args.ipmc_range_add.range);
  18841 		break;
  18842 	case BCM_ASYNC_ENTRY_IPMC_RANGE_DELETE:
  18843 		rv = bcm_ipmc_range_delete(
  18844 			req->args.ipmc_range_delete.unit,
  18845 			req->args.ipmc_range_delete.range_id);
  18846 		break;
  18847 	case BCM_ASYNC_ENTRY_IPMC_RANGE_DELETE_ALL:
  18848 		rv = bcm_ipmc_range_delete_all(
  18849 			req->args.ipmc_range_delete_all.unit);
  18850 		break;
  18851 	case BCM_ASYNC_ENTRY_IPMC_RANGE_GET:
  18852 		rv = bcm_ipmc_range_get(
  18853 			req->args.ipmc_range_get.unit,
  18854 			req->args.ipmc_range_get.range_id,
  18855 			req->args.ipmc_range_get.range);
  18856 		break;
  18857 	case BCM_ASYNC_ENTRY_IPMC_RANGE_SIZE_GET:
  18858 		rv = bcm_ipmc_range_size_get(
  18859 			req->args.ipmc_range_size_get.unit,
  18860 			req->args.ipmc_range_size_get.size);
  18861 		break;
  18862 	case BCM_ASYNC_ENTRY_IPMC_REMOVE:
  18863 		rv = bcm_ipmc_remove(
  18864 			req->args.ipmc_remove.unit,
  18865 			req->args.ipmc_remove.data);
  18866 		break;
  18867 	case BCM_ASYNC_ENTRY_IPMC_REMOVE_ALL:
  18868 		rv = bcm_ipmc_remove_all(
  18869 			req->args.ipmc_remove_all.unit);
  18870 		break;
  18871 	case BCM_ASYNC_ENTRY_IPMC_RP_ADD:
  18872 		rv = bcm_ipmc_rp_add(
  18873 			req->args.ipmc_rp_add.unit,
  18874 			req->args.ipmc_rp_add.rp_id,
  18875 			req->args.ipmc_rp_add.intf_id);
  18876 		break;
  18877 	case BCM_ASYNC_ENTRY_IPMC_RP_CREATE:
  18878 		rv = bcm_ipmc_rp_create(
  18879 			req->args.ipmc_rp_create.unit,
  18880 			req->args.ipmc_rp_create.flags,
  18881 			req->args.ipmc_rp_create.rp_id);
  18882 		break;
  18883 	case BCM_ASYNC_ENTRY_IPMC_RP_DELETE:
  18884 		rv = bcm_ipmc_rp_delete(
  18885 			req->args.ipmc_rp_delete.unit,
  18886 			req->args.ipmc_rp_delete.rp_id,
  18887 			req->args.ipmc_rp_delete.intf_id);
  18888 		break;
  18889 	case BCM_ASYNC_ENTRY_IPMC_RP_DELETE_ALL:
  18890 		rv = bcm_ipmc_rp_delete_all(
  18891 			req->args.ipmc_rp_delete_all.unit,
  18892 			req->args.ipmc_rp_delete_all.rp_id);
  18893 		break;
  18894 	case BCM_ASYNC_ENTRY_IPMC_RP_DESTROY:
  18895 		rv = bcm_ipmc_rp_destroy(
  18896 			req->args.ipmc_rp_destroy.unit,
  18897 			req->args.ipmc_rp_destroy.rp_id);
  18898 		break;
  18899 	case BCM_ASYNC_ENTRY_IPMC_RP_GET:
  18900 		rv = bcm_ipmc_rp_get(
  18901 			req->args.ipmc_rp_get.unit,
  18902 			req->args.ipmc_rp_get.rp_id,
  18903 			req->args.ipmc_rp_get.intf_max,
  18904 			req->args.ipmc_rp_get.intf_array,
  18905 			req->args.ipmc_rp_get.intf_count);
  18906 		break;
  18907 	case BCM_ASYNC_ENTRY_IPMC_RP_SET:
  18908 		rv = bcm_ipmc_rp_set(
  18909 			req->args.ipmc_rp_set.unit,
  18910 			req->args.ipmc_rp_set.rp_id,
  18911 			req->args.ipmc_rp_set.intf_count,
  18912 			req->args.ipmc_rp_set.intf_array);
  18913 		break;
  18914 	case BCM_ASYNC_ENTRY_IPMC_STAT_ATTACH:
  18915 		rv = bcm_ipmc_stat_attach(
  18916 			req->args.ipmc_stat_attach.unit,
  18917 			req->args.ipmc_stat_attach.info,
  18918 			req->args.ipmc_stat_attach.stat_counter_id);
  18919 		break;
  18920 	case BCM_ASYNC_ENTRY_IPMC_STAT_COUNTER_GET:
  18921 		rv = bcm_ipmc_stat_counter_get(
  18922 			req->args.ipmc_stat_counter_get.unit,
  18923 			req->args.ipmc_stat_counter_get.info,
  18924 			req->args.ipmc_stat_counter_get.stat,
  18925 			req->args.ipmc_stat_counter_get.num_entries,
  18926 			req->args.ipmc_stat_counter_get.counter_indexes,
  18927 			req->args.ipmc_stat_counter_get.counter_values);
  18928 		break;
  18929 	case BCM_ASYNC_ENTRY_IPMC_STAT_COUNTER_SET:
  18930 		rv = bcm_ipmc_stat_counter_set(
  18931 			req->args.ipmc_stat_counter_set.unit,
  18932 			req->args.ipmc_stat_counter_set.info,
  18933 			req->args.ipmc_stat_counter_set.stat,
  18934 			req->args.ipmc_stat_counter_set.num_entries,
  18935 			req->args.ipmc_stat_counter_set.counter_indexes,
  18936 			req->args.ipmc_stat_counter_set.counter_values);
  18937 		break;
  18938 	case BCM_ASYNC_ENTRY_IPMC_STAT_COUNTER_SYNC_GET:
  18939 		rv = bcm_ipmc_stat_counter_sync_get(
  18940 			req->args.ipmc_stat_counter_sync_get.unit,
  18941 			req->args.ipmc_stat_counter_sync_get.info,
  18942 			req->args.ipmc_stat_counter_sync_get.stat,
  18943 			req->args.ipmc_stat_counter_sync_get.num_entries,
  18944 			req->args.ipmc_stat_counter_sync_get.counter_indexes,
  18945 			req->args.ipmc_stat_counter_sync_get.counter_values);
  18946 		break;
  18947 	case BCM_ASYNC_ENTRY_IPMC_STAT_DETACH:
  18948 		rv = bcm_ipmc_stat_detach(
  18949 			req->args.ipmc_stat_detach.unit,
  18950 			req->args.ipmc_stat_detach.info);
  18951 		break;
  18952 	case BCM_ASYNC_ENTRY_IPMC_STAT_ID_GET:
  18953 		rv = bcm_ipmc_stat_id_get(
  18954 			req->args.ipmc_stat_id_get.unit,
  18955 			req->args.ipmc_stat_id_get.info,
  18956 			req->args.ipmc_stat_id_get.stat,
  18957 			req->args.ipmc_stat_id_get.stat_counter_id);
  18958 		break;
  18959 	case BCM_ASYNC_ENTRY_IPMC_STAT_MULTI_GET:
  18960 		rv = bcm_ipmc_stat_multi_get(
  18961 			req->args.ipmc_stat_multi_get.unit,
  18962 			req->args.ipmc_stat_multi_get.info,
  18963 			req->args.ipmc_stat_multi_get.nstat,
  18964 			req->args.ipmc_stat_multi_get.stat_arr,
  18965 			req->args.ipmc_stat_multi_get.value_arr);
  18966 		break;
  18967 	case BCM_ASYNC_ENTRY_IPMC_STAT_MULTI_GET32:
  18968 		rv = bcm_ipmc_stat_multi_get32(
  18969 			req->args.ipmc_stat_multi_get32.unit,
  18970 			req->args.ipmc_stat_multi_get32.info,
  18971 			req->args.ipmc_stat_multi_get32.nstat,
  18972 			req->args.ipmc_stat_multi_get32.stat_arr,
  18973 			req->args.ipmc_stat_multi_get32.value_arr);
  18974 		break;
  18975 	case BCM_ASYNC_ENTRY_IPMC_STAT_MULTI_SET:
  18976 		rv = bcm_ipmc_stat_multi_set(
  18977 			req->args.ipmc_stat_multi_set.unit,
  18978 			req->args.ipmc_stat_multi_set.info,
  18979 			req->args.ipmc_stat_multi_set.nstat,
  18980 			req->args.ipmc_stat_multi_set.stat_arr,
  18981 			req->args.ipmc_stat_multi_set.value_arr);
  18982 		break;
  18983 	case BCM_ASYNC_ENTRY_IPMC_STAT_MULTI_SET32:
  18984 		rv = bcm_ipmc_stat_multi_set32(
  18985 			req->args.ipmc_stat_multi_set32.unit,
  18986 			req->args.ipmc_stat_multi_set32.info,
  18987 			req->args.ipmc_stat_multi_set32.nstat,
  18988 			req->args.ipmc_stat_multi_set32.stat_arr,
  18989 			req->args.ipmc_stat_multi_set32.value_arr);
  18990 		break;
  18991 	case BCM_ASYNC_ENTRY_IPMC_TRAVERSE:
  18992 		rv = bcm_ipmc_traverse(
  18993 			req->args.ipmc_traverse.unit,
  18994 			req->args.ipmc_traverse.flags,
  18995 			req->args.ipmc_traverse.cb,
  18996 			req->args.ipmc_traverse.user_data);
  18997 		break;
  18998 #endif	/* INCLUDE_L3 */
  18999 	case BCM_ASYNC_ENTRY_IPSEC_CONFIG_SET:
  19000 		rv = bcm_ipsec_config_set(
  19001 			req->args.ipsec_config_set.unit,
  19002 			req->args.ipsec_config_set.config);
  19003 		break;
  19004 	case BCM_ASYNC_ENTRY_IPSEC_SA_CREATE:
  19005 		rv = bcm_ipsec_sa_create(
  19006 			req->args.ipsec_sa_create.unit,
  19007 			req->args.ipsec_sa_create.flags,
  19008 			req->args.ipsec_sa_create.sa_id,
  19009 			req->args.ipsec_sa_create.sa);
  19010 		break;
  19011 	case BCM_ASYNC_ENTRY_IPSEC_SA_DELETE:
  19012 		rv = bcm_ipsec_sa_delete(
  19013 			req->args.ipsec_sa_delete.unit,
  19014 			req->args.ipsec_sa_delete.flags,
  19015 			req->args.ipsec_sa_delete.sa_id);
  19016 		break;
  19017 	case BCM_ASYNC_ENTRY_IPSEC_SA_KEY_UPDATE:
  19018 		rv = bcm_ipsec_sa_key_update(
  19019 			req->args.ipsec_sa_key_update.unit,
  19020 			req->args.ipsec_sa_key_update.flags,
  19021 			req->args.ipsec_sa_key_update.sa_id,
  19022 			req->args.ipsec_sa_key_update.sa_keys);
  19023 		break;
  19024 	case BCM_ASYNC_ENTRY_IPSEC_SA_TO_TUNNEL_MAP_GET:
  19025 		rv = bcm_ipsec_sa_to_tunnel_map_get(
  19026 			req->args.ipsec_sa_to_tunnel_map_get.unit,
  19027 			req->args.ipsec_sa_to_tunnel_map_get.sa_id,
  19028 			req->args.ipsec_sa_to_tunnel_map_get.tunnel_id);
  19029 		break;
  19030 	case BCM_ASYNC_ENTRY_IPSEC_SA_TO_TUNNEL_MAP_SET:
  19031 		rv = bcm_ipsec_sa_to_tunnel_map_set(
  19032 			req->args.ipsec_sa_to_tunnel_map_set.unit,
  19033 			req->args.ipsec_sa_to_tunnel_map_set.tunnel_id,
  19034 			req->args.ipsec_sa_to_tunnel_map_set.sa_id);
  19035 		break;
  19036 	case BCM_ASYNC_ENTRY_IPSEC_TUNNEL_CREATE:
  19037 		rv = bcm_ipsec_tunnel_create(
  19038 			req->args.ipsec_tunnel_create.unit,
  19039 			req->args.ipsec_tunnel_create.flags,
  19040 			req->args.ipsec_tunnel_create.tunnel_id,
  19041 			req->args.ipsec_tunnel_create.tunnel_info);
  19042 		break;
  19043 	case BCM_ASYNC_ENTRY_IPSEC_TUNNEL_DELETE:
  19044 		rv = bcm_ipsec_tunnel_delete(
  19045 			req->args.ipsec_tunnel_delete.unit,
  19046 			req->args.ipsec_tunnel_delete.flags,
  19047 			req->args.ipsec_tunnel_delete.tunnel_id);
  19048 		break;
  19049 	case BCM_ASYNC_ENTRY_KNET_CLEANUP:
  19050 		rv = bcm_knet_cleanup(
  19051 			req->args.knet_cleanup.unit);
  19052 		break;
  19053 	case BCM_ASYNC_ENTRY_KNET_FILTER_CREATE:
  19054 		rv = bcm_knet_filter_create(
  19055 			req->args.knet_filter_create.unit,
  19056 			req->args.knet_filter_create.filter);
  19057 		break;
  19058 	case BCM_ASYNC_ENTRY_KNET_FILTER_DESTROY:
  19059 		rv = bcm_knet_filter_destroy(
  19060 			req->args.knet_filter_destroy.unit,
  19061 			req->args.knet_filter_destroy.filter_id);
  19062 		break;
  19063 	case BCM_ASYNC_ENTRY_KNET_FILTER_GET:
  19064 		rv = bcm_knet_filter_get(
  19065 			req->args.knet_filter_get.unit,
  19066 			req->args.knet_filter_get.filter_id,
  19067 			req->args.knet_filter_get.filter);
  19068 		break;
  19069 	case BCM_ASYNC_ENTRY_KNET_FILTER_TRAVERSE:
  19070 		rv = bcm_knet_filter_traverse(
  19071 			req->args.knet_filter_traverse.unit,
  19072 			req->args.knet_filter_traverse.trav_fn,
  19073 			req->args.knet_filter_traverse.user_data);
  19074 		break;
  19075 	case BCM_ASYNC_ENTRY_KNET_INIT:
  19076 		rv = bcm_knet_init(
  19077 			req->args.knet_init.unit);
  19078 		break;
  19079 	case BCM_ASYNC_ENTRY_KNET_NETIF_CREATE:
  19080 		rv = bcm_knet_netif_create(
  19081 			req->args.knet_netif_create.unit,
  19082 			req->args.knet_netif_create.netif);
  19083 		break;
  19084 	case BCM_ASYNC_ENTRY_KNET_NETIF_DESTROY:
  19085 		rv = bcm_knet_netif_destroy(
  19086 			req->args.knet_netif_destroy.unit,
  19087 			req->args.knet_netif_destroy.netif_id);
  19088 		break;
  19089 	case BCM_ASYNC_ENTRY_KNET_NETIF_GET:
  19090 		rv = bcm_knet_netif_get(
  19091 			req->args.knet_netif_get.unit,
  19092 			req->args.knet_netif_get.netif_id,
  19093 			req->args.knet_netif_get.netif);
  19094 		break;
  19095 	case BCM_ASYNC_ENTRY_KNET_NETIF_TRAVERSE:
  19096 		rv = bcm_knet_netif_traverse(
  19097 			req->args.knet_netif_traverse.unit,
  19098 			req->args.knet_netif_traverse.trav_fn,
  19099 			req->args.knet_netif_traverse.user_data);
  19100 		break;
  19101 	case BCM_ASYNC_ENTRY_L2_ADDR_ADD:
  19102 		rv = bcm_l2_addr_add(
  19103 			req->args.l2_addr_add.unit,
  19104 			req->args.l2_addr_add.l2addr);
  19105 		break;
  19106 	case BCM_ASYNC_ENTRY_L2_ADDR_BY_STRUCT_DELETE:
  19107 		rv = bcm_l2_addr_by_struct_delete(
  19108 			req->args.l2_addr_by_struct_delete.unit,
  19109 			req->args.l2_addr_by_struct_delete.l2addr);
  19110 		break;
  19111 	case BCM_ASYNC_ENTRY_L2_ADDR_BY_STRUCT_GET:
  19112 		rv = bcm_l2_addr_by_struct_get(
  19113 			req->args.l2_addr_by_struct_get.unit,
  19114 			req->args.l2_addr_by_struct_get.l2addr);
  19115 		break;
  19116 	case BCM_ASYNC_ENTRY_L2_ADDR_DELETE:
  19117 		rv = bcm_l2_addr_delete(
  19118 			req->args.l2_addr_delete.unit,
  19119 			req->args.l2_addr_delete.mac,
  19120 			req->args.l2_addr_delete.vid);
  19121 		break;
  19122 	case BCM_ASYNC_ENTRY_L2_ADDR_DELETE_BY_MAC:
  19123 		rv = bcm_l2_addr_delete_by_mac(
  19124 			req->args.l2_addr_delete_by_mac.unit,
  19125 			req->args.l2_addr_delete_by_mac.mac,
  19126 			req->args.l2_addr_delete_by_mac.flags);
  19127 		break;
  19128 	case BCM_ASYNC_ENTRY_L2_ADDR_DELETE_BY_MAC_PORT:
  19129 		rv = bcm_l2_addr_delete_by_mac_port(
  19130 			req->args.l2_addr_delete_by_mac_port.unit,
  19131 			req->args.l2_addr_delete_by_mac_port.mac,
  19132 			req->args.l2_addr_delete_by_mac_port.mod,
  19133 			req->args.l2_addr_delete_by_mac_port.port,
  19134 			req->args.l2_addr_delete_by_mac_port.flags);
  19135 		break;
  19136 	case BCM_ASYNC_ENTRY_L2_ADDR_DELETE_BY_PORT:
  19137 		rv = bcm_l2_addr_delete_by_port(
  19138 			req->args.l2_addr_delete_by_port.unit,
  19139 			req->args.l2_addr_delete_by_port.mod,
  19140 			req->args.l2_addr_delete_by_port.port,
  19141 			req->args.l2_addr_delete_by_port.flags);
  19142 		break;
  19143 	case BCM_ASYNC_ENTRY_L2_ADDR_DELETE_BY_TRUNK:
  19144 		rv = bcm_l2_addr_delete_by_trunk(
  19145 			req->args.l2_addr_delete_by_trunk.unit,
  19146 			req->args.l2_addr_delete_by_trunk.tid,
  19147 			req->args.l2_addr_delete_by_trunk.flags);
  19148 		break;
  19149 	case BCM_ASYNC_ENTRY_L2_ADDR_DELETE_BY_VLAN:
  19150 		rv = bcm_l2_addr_delete_by_vlan(
  19151 			req->args.l2_addr_delete_by_vlan.unit,
  19152 			req->args.l2_addr_delete_by_vlan.vid,
  19153 			req->args.l2_addr_delete_by_vlan.flags);
  19154 		break;
  19155 	case BCM_ASYNC_ENTRY_L2_ADDR_DELETE_BY_VLAN_GPORT_MULTI:
  19156 		rv = bcm_l2_addr_delete_by_vlan_gport_multi(
  19157 			req->args.l2_addr_delete_by_vlan_gport_multi.unit,
  19158 			req->args.l2_addr_delete_by_vlan_gport_multi.flags,
  19159 			req->args.l2_addr_delete_by_vlan_gport_multi.num_pairs,
  19160 			req->args.l2_addr_delete_by_vlan_gport_multi.vlan,
  19161 			req->args.l2_addr_delete_by_vlan_gport_multi.gport);
  19162 		break;
  19163 	case BCM_ASYNC_ENTRY_L2_ADDR_DELETE_BY_VLAN_PORT:
  19164 		rv = bcm_l2_addr_delete_by_vlan_port(
  19165 			req->args.l2_addr_delete_by_vlan_port.unit,
  19166 			req->args.l2_addr_delete_by_vlan_port.vid,
  19167 			req->args.l2_addr_delete_by_vlan_port.mod,
  19168 			req->args.l2_addr_delete_by_vlan_port.port,
  19169 			req->args.l2_addr_delete_by_vlan_port.flags);
  19170 		break;
  19171 	case BCM_ASYNC_ENTRY_L2_ADDR_DELETE_BY_VLAN_TRUNK:
  19172 		rv = bcm_l2_addr_delete_by_vlan_trunk(
  19173 			req->args.l2_addr_delete_by_vlan_trunk.unit,
  19174 			req->args.l2_addr_delete_by_vlan_trunk.vid,
  19175 			req->args.l2_addr_delete_by_vlan_trunk.tid,
  19176 			req->args.l2_addr_delete_by_vlan_trunk.flags);
  19177 		break;
  19178 	case BCM_ASYNC_ENTRY_L2_ADDR_FREEZE:
  19179 		rv = bcm_l2_addr_freeze(
  19180 			req->args.l2_addr_freeze.unit);
  19181 		break;
  19182 	case BCM_ASYNC_ENTRY_L2_ADDR_GET:
  19183 		rv = bcm_l2_addr_get(
  19184 			req->args.l2_addr_get.unit,
  19185 			req->args.l2_addr_get.mac_addr,
  19186 			req->args.l2_addr_get.vid,
  19187 			req->args.l2_addr_get.l2addr);
  19188 		break;
  19189 	case BCM_ASYNC_ENTRY_L2_ADDR_MSG_DISTRIBUTE_GET:
  19190 		rv = bcm_l2_addr_msg_distribute_get(
  19191 			req->args.l2_addr_msg_distribute_get.unit,
  19192 			req->args.l2_addr_msg_distribute_get.distribution);
  19193 		break;
  19194 	case BCM_ASYNC_ENTRY_L2_ADDR_MSG_DISTRIBUTE_SET:
  19195 		rv = bcm_l2_addr_msg_distribute_set(
  19196 			req->args.l2_addr_msg_distribute_set.unit,
  19197 			req->args.l2_addr_msg_distribute_set.distribution);
  19198 		break;
  19199 	case BCM_ASYNC_ENTRY_L2_ADDR_MULTI_ADD:
  19200 		rv = bcm_l2_addr_multi_add(
  19201 			req->args.l2_addr_multi_add.unit,
  19202 			req->args.l2_addr_multi_add.l2addr,
  19203 			req->args.l2_addr_multi_add.count);
  19204 		break;
  19205 	case BCM_ASYNC_ENTRY_L2_ADDR_MULTI_DELETE:
  19206 		rv = bcm_l2_addr_multi_delete(
  19207 			req->args.l2_addr_multi_delete.unit,
  19208 			req->args.l2_addr_multi_delete.l2addr,
  19209 			req->args.l2_addr_multi_delete.count);
  19210 		break;
  19211 	case BCM_ASYNC_ENTRY_L2_ADDR_REGISTER:
  19212 		rv = bcm_l2_addr_register(
  19213 			req->args.l2_addr_register.unit,
  19214 			req->args.l2_addr_register.callback,
  19215 			req->args.l2_addr_register.userdata);
  19216 		break;
  19217 	case BCM_ASYNC_ENTRY_L2_ADDR_THAW:
  19218 		rv = bcm_l2_addr_thaw(
  19219 			req->args.l2_addr_thaw.unit);
  19220 		break;
  19221 	case BCM_ASYNC_ENTRY_L2_ADDR_UNREGISTER:
  19222 		rv = bcm_l2_addr_unregister(
  19223 			req->args.l2_addr_unregister.unit,
  19224 			req->args.l2_addr_unregister.callback,
  19225 			req->args.l2_addr_unregister.userdata);
  19226 		break;
  19227 	case BCM_ASYNC_ENTRY_L2_AGE_TIMER_GET:
  19228 		rv = bcm_l2_age_timer_get(
  19229 			req->args.l2_age_timer_get.unit,
  19230 			req->args.l2_age_timer_get.age_seconds);
  19231 		break;
  19232 	case BCM_ASYNC_ENTRY_L2_AGE_TIMER_META_CYCLE_GET:
  19233 		rv = bcm_l2_age_timer_meta_cycle_get(
  19234 			req->args.l2_age_timer_meta_cycle_get.unit,
  19235 			req->args.l2_age_timer_meta_cycle_get.meta_cycle_time);
  19236 		break;
  19237 	case BCM_ASYNC_ENTRY_L2_AGE_TIMER_META_CYCLE_SET:
  19238 		rv = bcm_l2_age_timer_meta_cycle_set(
  19239 			req->args.l2_age_timer_meta_cycle_set.unit,
  19240 			req->args.l2_age_timer_meta_cycle_set.meta_cycle_time);
  19241 		break;
  19242 	case BCM_ASYNC_ENTRY_L2_AGE_TIMER_SET:
  19243 		rv = bcm_l2_age_timer_set(
  19244 			req->args.l2_age_timer_set.unit,
  19245 			req->args.l2_age_timer_set.age_seconds);
  19246 		break;
  19247 	case BCM_ASYNC_ENTRY_L2_AUTH_ADD:
  19248 		rv = bcm_l2_auth_add(
  19249 			req->args.l2_auth_add.unit,
  19250 			req->args.l2_auth_add.addr);
  19251 		break;
  19252 	case BCM_ASYNC_ENTRY_L2_AUTH_DELETE:
  19253 		rv = bcm_l2_auth_delete(
  19254 			req->args.l2_auth_delete.unit,
  19255 			req->args.l2_auth_delete.addr);
  19256 		break;
  19257 	case BCM_ASYNC_ENTRY_L2_AUTH_DELETE_ALL:
  19258 		rv = bcm_l2_auth_delete_all(
  19259 			req->args.l2_auth_delete_all.unit);
  19260 		break;
  19261 	case BCM_ASYNC_ENTRY_L2_AUTH_GET:
  19262 		rv = bcm_l2_auth_get(
  19263 			req->args.l2_auth_get.unit,
  19264 			req->args.l2_auth_get.addr);
  19265 		break;
  19266 	case BCM_ASYNC_ENTRY_L2_AUTH_TRAVERSE:
  19267 		rv = bcm_l2_auth_traverse(
  19268 			req->args.l2_auth_traverse.unit,
  19269 			req->args.l2_auth_traverse.trav_fn,
  19270 			req->args.l2_auth_traverse.user_data);
  19271 		break;
  19272 	case BCM_ASYNC_ENTRY_L2_CACHE_DELETE:
  19273 		rv = bcm_l2_cache_delete(
  19274 			req->args.l2_cache_delete.unit,
  19275 			req->args.l2_cache_delete.index);
  19276 		break;
  19277 	case BCM_ASYNC_ENTRY_L2_CACHE_DELETE_ALL:
  19278 		rv = bcm_l2_cache_delete_all(
  19279 			req->args.l2_cache_delete_all.unit);
  19280 		break;
  19281 	case BCM_ASYNC_ENTRY_L2_CACHE_GET:
  19282 		rv = bcm_l2_cache_get(
  19283 			req->args.l2_cache_get.unit,
  19284 			req->args.l2_cache_get.index,
  19285 			req->args.l2_cache_get.addr);
  19286 		break;
  19287 	case BCM_ASYNC_ENTRY_L2_CACHE_INIT:
  19288 		rv = bcm_l2_cache_init(
  19289 			req->args.l2_cache_init.unit);
  19290 		break;
  19291 	case BCM_ASYNC_ENTRY_L2_CACHE_PROFILE_GET:
  19292 		rv = bcm_l2_cache_profile_get(
  19293 			req->args.l2_cache_profile_get.unit,
  19294 			req->args.l2_cache_profile_get.trap_type,
  19295 			req->args.l2_cache_profile_get.profile_idx,
  19296 			req->args.l2_cache_profile_get.flags,
  19297 			req->args.l2_cache_profile_get.l2cp_profile_info);
  19298 		break;
  19299 	case BCM_ASYNC_ENTRY_L2_CACHE_PROFILE_SET:
  19300 		rv = bcm_l2_cache_profile_set(
  19301 			req->args.l2_cache_profile_set.unit,
  19302 			req->args.l2_cache_profile_set.trap_type,
  19303 			req->args.l2_cache_profile_set.profile_idx,
  19304 			req->args.l2_cache_profile_set.flags,
  19305 			req->args.l2_cache_profile_set.l2cp_profile_info);
  19306 		break;
  19307 	case BCM_ASYNC_ENTRY_L2_CACHE_SET:
  19308 		rv = bcm_l2_cache_set(
  19309 			req->args.l2_cache_set.unit,
  19310 			req->args.l2_cache_set.index,
  19311 			req->args.l2_cache_set.addr,
  19312 			req->args.l2_cache_set.index_used);
  19313 		break;
  19314 	case BCM_ASYNC_ENTRY_L2_CACHE_SIZE_GET:
  19315 		rv = bcm_l2_cache_size_get(
  19316 			req->args.l2_cache_size_get.unit,
  19317 			req->args.l2_cache_size_get.size);
  19318 		break;
  19319 	case BCM_ASYNC_ENTRY_L2_CACHE_VPN_TO_PROFILE_MAP_GET:
  19320 		rv = bcm_l2_cache_vpn_to_profile_map_get(
  19321 			req->args.l2_cache_vpn_to_profile_map_get.unit,
  19322 			req->args.l2_cache_vpn_to_profile_map_get.vsi,
  19323 			req->args.l2_cache_vpn_to_profile_map_get.profile_idx);
  19324 		break;
  19325 	case BCM_ASYNC_ENTRY_L2_CACHE_VPN_TO_PROFILE_MAP_SET:
  19326 		rv = bcm_l2_cache_vpn_to_profile_map_set(
  19327 			req->args.l2_cache_vpn_to_profile_map_set.unit,
  19328 			req->args.l2_cache_vpn_to_profile_map_set.vsi,
  19329 			req->args.l2_cache_vpn_to_profile_map_set.profile_idx);
  19330 		break;
  19331 #ifdef	INCLUDE_L3
  19332 	case BCM_ASYNC_ENTRY_L2_CHANGE_FIELDS_ADD:
  19333 		rv = bcm_l2_change_fields_add(
  19334 			req->args.l2_change_fields_add.unit,
  19335 			req->args.l2_change_fields_add.l2_fields_info);
  19336 		break;
  19337 	case BCM_ASYNC_ENTRY_L2_CHANGE_FIELDS_DELETE:
  19338 		rv = bcm_l2_change_fields_delete(
  19339 			req->args.l2_change_fields_delete.unit,
  19340 			req->args.l2_change_fields_delete.l2_fields_info);
  19341 		break;
  19342 	case BCM_ASYNC_ENTRY_L2_CHANGE_FIELDS_GET:
  19343 		rv = bcm_l2_change_fields_get(
  19344 			req->args.l2_change_fields_get.unit,
  19345 			req->args.l2_change_fields_get.l2_fields_info);
  19346 		break;
  19347 	case BCM_ASYNC_ENTRY_L2_CHANGE_FIELDS_TRAVERSE:
  19348 		rv = bcm_l2_change_fields_traverse(
  19349 			req->args.l2_change_fields_traverse.unit,
  19350 			req->args.l2_change_fields_traverse.cb,
  19351 			req->args.l2_change_fields_traverse.user_data);
  19352 		break;
  19353 #endif	/* INCLUDE_L3 */
  19354 	case BCM_ASYNC_ENTRY_L2_CLEAR:
  19355 		rv = bcm_l2_clear(
  19356 			req->args.l2_clear.unit);
  19357 		break;
  19358 	case BCM_ASYNC_ENTRY_L2_CONFLICT_GET:
  19359 		rv = bcm_l2_conflict_get(
  19360 			req->args.l2_conflict_get.unit,
  19361 			req->args.l2_conflict_get.addr,
  19362 			req->args.l2_conflict_get.cf_array,
  19363 			req->args.l2_conflict_get.cf_max,
  19364 			req->args.l2_conflict_get.cf_count);
  19365 		break;
  19366 	case BCM_ASYNC_ENTRY_L2_DETACH:
  19367 		rv = bcm_l2_detach(
  19368 			req->args.l2_detach.unit);
  19369 		break;
  19370 	case BCM_ASYNC_ENTRY_L2_EGRESS_CREATE:
  19371 		rv = bcm_l2_egress_create(
  19372 			req->args.l2_egress_create.unit,
  19373 			req->args.l2_egress_create.egr);
  19374 		break;
  19375 	case BCM_ASYNC_ENTRY_L2_EGRESS_DESTROY:
  19376 		rv = bcm_l2_egress_destroy(
  19377 			req->args.l2_egress_destroy.unit,
  19378 			req->args.l2_egress_destroy.encap_id);
  19379 		break;
  19380 	case BCM_ASYNC_ENTRY_L2_EGRESS_FIND:
  19381 		rv = bcm_l2_egress_find(
  19382 			req->args.l2_egress_find.unit,
  19383 			req->args.l2_egress_find.egr,
  19384 			req->args.l2_egress_find.encap_id);
  19385 		break;
  19386 	case BCM_ASYNC_ENTRY_L2_EGRESS_GET:
  19387 		rv = bcm_l2_egress_get(
  19388 			req->args.l2_egress_get.unit,
  19389 			req->args.l2_egress_get.encap_id,
  19390 			req->args.l2_egress_get.egr);
  19391 		break;
  19392 	case BCM_ASYNC_ENTRY_L2_EGRESS_TRAVERSE:
  19393 		rv = bcm_l2_egress_traverse(
  19394 			req->args.l2_egress_traverse.unit,
  19395 			req->args.l2_egress_traverse.trav_fn,
  19396 			req->args.l2_egress_traverse.user_data);
  19397 		break;
  19398 	case BCM_ASYNC_ENTRY_L2_GPORT_FORWARD_INFO_GET:
  19399 		rv = bcm_l2_gport_forward_info_get(
  19400 			req->args.l2_gport_forward_info_get.unit,
  19401 			req->args.l2_gport_forward_info_get.gport_id,
  19402 			req->args.l2_gport_forward_info_get.forward_info);
  19403 		break;
  19404 	case BCM_ASYNC_ENTRY_L2_INIT:
  19405 		rv = bcm_l2_init(
  19406 			req->args.l2_init.unit);
  19407 		break;
  19408 	case BCM_ASYNC_ENTRY_L2_KEY_DUMP:
  19409 		rv = bcm_l2_key_dump(
  19410 			req->args.l2_key_dump.unit,
  19411 			req->args.l2_key_dump.pfx,
  19412 			req->args.l2_key_dump.entry,
  19413 			req->args.l2_key_dump.sfx);
  19414 		break;
  19415 	case BCM_ASYNC_ENTRY_L2_LEARN_CLASS_GET:
  19416 		rv = bcm_l2_learn_class_get(
  19417 			req->args.l2_learn_class_get.unit,
  19418 			req->args.l2_learn_class_get.lclass,
  19419 			req->args.l2_learn_class_get.lclass_prio,
  19420 			req->args.l2_learn_class_get.flags);
  19421 		break;
  19422 	case BCM_ASYNC_ENTRY_L2_LEARN_CLASS_SET:
  19423 		rv = bcm_l2_learn_class_set(
  19424 			req->args.l2_learn_class_set.unit,
  19425 			req->args.l2_learn_class_set.lclass,
  19426 			req->args.l2_learn_class_set.lclass_prio,
  19427 			req->args.l2_learn_class_set.flags);
  19428 		break;
  19429 	case BCM_ASYNC_ENTRY_L2_LEARN_LIMIT_DISABLE:
  19430 		rv = bcm_l2_learn_limit_disable(
  19431 			req->args.l2_learn_limit_disable.unit);
  19432 		break;
  19433 	case BCM_ASYNC_ENTRY_L2_LEARN_LIMIT_ENABLE:
  19434 		rv = bcm_l2_learn_limit_enable(
  19435 			req->args.l2_learn_limit_enable.unit);
  19436 		break;
  19437 	case BCM_ASYNC_ENTRY_L2_LEARN_LIMIT_GET:
  19438 		rv = bcm_l2_learn_limit_get(
  19439 			req->args.l2_learn_limit_get.unit,
  19440 			req->args.l2_learn_limit_get.limit);
  19441 		break;
  19442 	case BCM_ASYNC_ENTRY_L2_LEARN_LIMIT_SET:
  19443 		rv = bcm_l2_learn_limit_set(
  19444 			req->args.l2_learn_limit_set.unit,
  19445 			req->args.l2_learn_limit_set.limit);
  19446 		break;
  19447 	case BCM_ASYNC_ENTRY_L2_LEARN_MSGS_CONFIG_GET:
  19448 		rv = bcm_l2_learn_msgs_config_get(
  19449 			req->args.l2_learn_msgs_config_get.unit,
  19450 			req->args.l2_learn_msgs_config_get.learn_msg_config);
  19451 		break;
  19452 	case BCM_ASYNC_ENTRY_L2_LEARN_MSGS_CONFIG_SET:
  19453 		rv = bcm_l2_learn_msgs_config_set(
  19454 			req->args.l2_learn_msgs_config_set.unit,
  19455 			req->args.l2_learn_msgs_config_set.learn_msg_config);
  19456 		break;
  19457 	case BCM_ASYNC_ENTRY_L2_LEARN_PORT_CLASS_GET:
  19458 		rv = bcm_l2_learn_port_class_get(
  19459 			req->args.l2_learn_port_class_get.unit,
  19460 			req->args.l2_learn_port_class_get.port,
  19461 			req->args.l2_learn_port_class_get.lclass);
  19462 		break;
  19463 	case BCM_ASYNC_ENTRY_L2_LEARN_PORT_CLASS_SET:
  19464 		rv = bcm_l2_learn_port_class_set(
  19465 			req->args.l2_learn_port_class_set.unit,
  19466 			req->args.l2_learn_port_class_set.port,
  19467 			req->args.l2_learn_port_class_set.lclass);
  19468 		break;
  19469 	case BCM_ASYNC_ENTRY_L2_LEARN_STAT_GET:
  19470 		rv = bcm_l2_learn_stat_get(
  19471 			req->args.l2_learn_stat_get.unit,
  19472 			req->args.l2_learn_stat_get.learn_stat);
  19473 		break;
  19474 	case BCM_ASYNC_ENTRY_L2_LEARN_STAT_SET:
  19475 		rv = bcm_l2_learn_stat_set(
  19476 			req->args.l2_learn_stat_set.unit,
  19477 			req->args.l2_learn_stat_set.learn_stat);
  19478 		break;
  19479 	case BCM_ASYNC_ENTRY_L2_MAC_PORT_CREATE:
  19480 		rv = bcm_l2_mac_port_create(
  19481 			req->args.l2_mac_port_create.unit,
  19482 			req->args.l2_mac_port_create.mac_port);
  19483 		break;
  19484 	case BCM_ASYNC_ENTRY_L2_MAC_PORT_DESTROY:
  19485 		rv = bcm_l2_mac_port_destroy(
  19486 			req->args.l2_mac_port_destroy.unit,
  19487 			req->args.l2_mac_port_destroy.mac_port_id);
  19488 		break;
  19489 	case BCM_ASYNC_ENTRY_L2_MAC_PORT_DESTROY_ALL:
  19490 		rv = bcm_l2_mac_port_destroy_all(
  19491 			req->args.l2_mac_port_destroy_all.unit);
  19492 		break;
  19493 	case BCM_ASYNC_ENTRY_L2_MAC_PORT_GET:
  19494 		rv = bcm_l2_mac_port_get(
  19495 			req->args.l2_mac_port_get.unit,
  19496 			req->args.l2_mac_port_get.mac_port);
  19497 		break;
  19498 	case BCM_ASYNC_ENTRY_L2_MAC_PORT_TRAVERSE:
  19499 		rv = bcm_l2_mac_port_traverse(
  19500 			req->args.l2_mac_port_traverse.unit,
  19501 			req->args.l2_mac_port_traverse.cb,
  19502 			req->args.l2_mac_port_traverse.user_data);
  19503 		break;
  19504 	case BCM_ASYNC_ENTRY_L2_MATCH_MASKED_TRAVERSE:
  19505 		rv = bcm_l2_match_masked_traverse(
  19506 			req->args.l2_match_masked_traverse.unit,
  19507 			req->args.l2_match_masked_traverse.flags,
  19508 			req->args.l2_match_masked_traverse.match_addr,
  19509 			req->args.l2_match_masked_traverse.mask_addr,
  19510 			req->args.l2_match_masked_traverse.trav_fn,
  19511 			req->args.l2_match_masked_traverse.user_data);
  19512 		break;
  19513 	case BCM_ASYNC_ENTRY_L2_MATCHED_TRAVERSE:
  19514 		rv = bcm_l2_matched_traverse(
  19515 			req->args.l2_matched_traverse.unit,
  19516 			req->args.l2_matched_traverse.flags,
  19517 			req->args.l2_matched_traverse.match_addr,
  19518 			req->args.l2_matched_traverse.trav_fn,
  19519 			req->args.l2_matched_traverse.user_data);
  19520 		break;
  19521 	case BCM_ASYNC_ENTRY_L2_PORT_NATIVE:
  19522 		rv = bcm_l2_port_native(
  19523 			req->args.l2_port_native.unit,
  19524 			req->args.l2_port_native.modid,
  19525 			req->args.l2_port_native.port);
  19526 		break;
  19527 	case BCM_ASYNC_ENTRY_L2_REPLACE:
  19528 		rv = bcm_l2_replace(
  19529 			req->args.l2_replace.unit,
  19530 			req->args.l2_replace.flags,
  19531 			req->args.l2_replace.match_addr,
  19532 			req->args.l2_replace.new_module,
  19533 			req->args.l2_replace.new_port,
  19534 			req->args.l2_replace.new_trunk);
  19535 		break;
  19536 	case BCM_ASYNC_ENTRY_L2_REPLACE_MATCH:
  19537 		rv = bcm_l2_replace_match(
  19538 			req->args.l2_replace_match.unit,
  19539 			req->args.l2_replace_match.flags,
  19540 			req->args.l2_replace_match.match_addr,
  19541 			req->args.l2_replace_match.mask_addr,
  19542 			req->args.l2_replace_match.replace_addr,
  19543 			req->args.l2_replace_match.replace_mask_addr);
  19544 		break;
  19545 	case BCM_ASYNC_ENTRY_L2_RING_REPLACE:
  19546 		rv = bcm_l2_ring_replace(
  19547 			req->args.l2_ring_replace.unit,
  19548 			req->args.l2_ring_replace.l2_ring);
  19549 		break;
  19550 	case BCM_ASYNC_ENTRY_L2_STAT_ENABLE_SET:
  19551 		rv = bcm_l2_stat_enable_set(
  19552 			req->args.l2_stat_enable_set.unit,
  19553 			req->args.l2_stat_enable_set.l2_addr,
  19554 			req->args.l2_stat_enable_set.enable);
  19555 		break;
  19556 	case BCM_ASYNC_ENTRY_L2_STAT_GET:
  19557 		rv = bcm_l2_stat_get(
  19558 			req->args.l2_stat_get.unit,
  19559 			req->args.l2_stat_get.l2_addr,
  19560 			req->args.l2_stat_get.stat,
  19561 			req->args.l2_stat_get.val);
  19562 		break;
  19563 	case BCM_ASYNC_ENTRY_L2_STAT_GET32:
  19564 		rv = bcm_l2_stat_get32(
  19565 			req->args.l2_stat_get32.unit,
  19566 			req->args.l2_stat_get32.l2_addr,
  19567 			req->args.l2_stat_get32.stat,
  19568 			req->args.l2_stat_get32.val);
  19569 		break;
  19570 	case BCM_ASYNC_ENTRY_L2_STAT_SET:
  19571 		rv = bcm_l2_stat_set(
  19572 			req->args.l2_stat_set.unit,
  19573 			req->args.l2_stat_set.l2_addr,
  19574 			req->args.l2_stat_set.stat,
  19575 			req->args.l2_stat_set.val);
  19576 		break;
  19577 	case BCM_ASYNC_ENTRY_L2_STAT_SET32:
  19578 		rv = bcm_l2_stat_set32(
  19579 			req->args.l2_stat_set32.unit,
  19580 			req->args.l2_stat_set32.l2_addr,
  19581 			req->args.l2_stat_set32.stat,
  19582 			req->args.l2_stat_set32.val);
  19583 		break;
  19584 	case BCM_ASYNC_ENTRY_L2_STATION_ADD:
  19585 		rv = bcm_l2_station_add(
  19586 			req->args.l2_station_add.unit,
  19587 			req->args.l2_station_add.station_id,
  19588 			req->args.l2_station_add.station);
  19589 		break;
  19590 	case BCM_ASYNC_ENTRY_L2_STATION_DELETE:
  19591 		rv = bcm_l2_station_delete(
  19592 			req->args.l2_station_delete.unit,
  19593 			req->args.l2_station_delete.station_id);
  19594 		break;
  19595 	case BCM_ASYNC_ENTRY_L2_STATION_DELETE_ALL:
  19596 		rv = bcm_l2_station_delete_all(
  19597 			req->args.l2_station_delete_all.unit);
  19598 		break;
  19599 	case BCM_ASYNC_ENTRY_L2_STATION_GET:
  19600 		rv = bcm_l2_station_get(
  19601 			req->args.l2_station_get.unit,
  19602 			req->args.l2_station_get.station_id,
  19603 			req->args.l2_station_get.station);
  19604 		break;
  19605 	case BCM_ASYNC_ENTRY_L2_STATION_SIZE_GET:
  19606 		rv = bcm_l2_station_size_get(
  19607 			req->args.l2_station_size_get.unit,
  19608 			req->args.l2_station_size_get.size);
  19609 		break;
  19610 	case BCM_ASYNC_ENTRY_L2_STATION_TRAVERSE:
  19611 		rv = bcm_l2_station_traverse(
  19612 			req->args.l2_station_traverse.unit,
  19613 			req->args.l2_station_traverse.trav_fn,
  19614 			req->args.l2_station_traverse.user_data);
  19615 		break;
  19616 	case BCM_ASYNC_ENTRY_L2_TRAVERSE:
  19617 		rv = bcm_l2_traverse(
  19618 			req->args.l2_traverse.unit,
  19619 			req->args.l2_traverse.trav_fn,
  19620 			req->args.l2_traverse.user_data);
  19621 		break;
  19622 	case BCM_ASYNC_ENTRY_L2_TUNNEL_ADD:
  19623 		rv = bcm_l2_tunnel_add(
  19624 			req->args.l2_tunnel_add.unit,
  19625 			req->args.l2_tunnel_add.mac,
  19626 			req->args.l2_tunnel_add.vlan);
  19627 		break;
  19628 	case BCM_ASYNC_ENTRY_L2_TUNNEL_DELETE:
  19629 		rv = bcm_l2_tunnel_delete(
  19630 			req->args.l2_tunnel_delete.unit,
  19631 			req->args.l2_tunnel_delete.mac,
  19632 			req->args.l2_tunnel_delete.vlan);
  19633 		break;
  19634 	case BCM_ASYNC_ENTRY_L2_TUNNEL_DELETE_ALL:
  19635 		rv = bcm_l2_tunnel_delete_all(
  19636 			req->args.l2_tunnel_delete_all.unit);
  19637 		break;
  19638 #ifdef	INCLUDE_L3
  19639 	case BCM_ASYNC_ENTRY_L2GRE_CLEANUP:
  19640 		rv = bcm_l2gre_cleanup(
  19641 			req->args.l2gre_cleanup.unit);
  19642 		break;
  19643 	case BCM_ASYNC_ENTRY_L2GRE_INIT:
  19644 		rv = bcm_l2gre_init(
  19645 			req->args.l2gre_init.unit);
  19646 		break;
  19647 	case BCM_ASYNC_ENTRY_L2GRE_PORT_ADD:
  19648 		rv = bcm_l2gre_port_add(
  19649 			req->args.l2gre_port_add.unit,
  19650 			req->args.l2gre_port_add.l2vpn,
  19651 			req->args.l2gre_port_add.l2gre_port);
  19652 		break;
  19653 	case BCM_ASYNC_ENTRY_L2GRE_PORT_DELETE:
  19654 		rv = bcm_l2gre_port_delete(
  19655 			req->args.l2gre_port_delete.unit,
  19656 			req->args.l2gre_port_delete.l2vpn,
  19657 			req->args.l2gre_port_delete.l2gre_port_id);
  19658 		break;
  19659 	case BCM_ASYNC_ENTRY_L2GRE_PORT_DELETE_ALL:
  19660 		rv = bcm_l2gre_port_delete_all(
  19661 			req->args.l2gre_port_delete_all.unit,
  19662 			req->args.l2gre_port_delete_all.l2vpn);
  19663 		break;
  19664 	case BCM_ASYNC_ENTRY_L2GRE_PORT_GET:
  19665 		rv = bcm_l2gre_port_get(
  19666 			req->args.l2gre_port_get.unit,
  19667 			req->args.l2gre_port_get.l2vpn,
  19668 			req->args.l2gre_port_get.l2gre_port);
  19669 		break;
  19670 	case BCM_ASYNC_ENTRY_L2GRE_PORT_GET_ALL:
  19671 		rv = bcm_l2gre_port_get_all(
  19672 			req->args.l2gre_port_get_all.unit,
  19673 			req->args.l2gre_port_get_all.l2vpn,
  19674 			req->args.l2gre_port_get_all.port_max,
  19675 			req->args.l2gre_port_get_all.port_array,
  19676 			req->args.l2gre_port_get_all.port_count);
  19677 		break;
  19678 	case BCM_ASYNC_ENTRY_L2GRE_STAT_ATTACH:
  19679 		rv = bcm_l2gre_stat_attach(
  19680 			req->args.l2gre_stat_attach.unit,
  19681 			req->args.l2gre_stat_attach.port,
  19682 			req->args.l2gre_stat_attach.vpn,
  19683 			req->args.l2gre_stat_attach.stat_counter_id);
  19684 		break;
  19685 	case BCM_ASYNC_ENTRY_L2GRE_STAT_COUNTER_GET:
  19686 		rv = bcm_l2gre_stat_counter_get(
  19687 			req->args.l2gre_stat_counter_get.unit,
  19688 			req->args.l2gre_stat_counter_get.port,
  19689 			req->args.l2gre_stat_counter_get.vpn,
  19690 			req->args.l2gre_stat_counter_get.stat,
  19691 			req->args.l2gre_stat_counter_get.num_entries,
  19692 			req->args.l2gre_stat_counter_get.counter_indexes,
  19693 			req->args.l2gre_stat_counter_get.counter_values);
  19694 		break;
  19695 	case BCM_ASYNC_ENTRY_L2GRE_STAT_COUNTER_SET:
  19696 		rv = bcm_l2gre_stat_counter_set(
  19697 			req->args.l2gre_stat_counter_set.unit,
  19698 			req->args.l2gre_stat_counter_set.port,
  19699 			req->args.l2gre_stat_counter_set.vpn,
  19700 			req->args.l2gre_stat_counter_set.stat,
  19701 			req->args.l2gre_stat_counter_set.num_entries,
  19702 			req->args.l2gre_stat_counter_set.counter_indexes,
  19703 			req->args.l2gre_stat_counter_set.counter_values);
  19704 		break;
  19705 	case BCM_ASYNC_ENTRY_L2GRE_STAT_COUNTER_SYNC_GET:
  19706 		rv = bcm_l2gre_stat_counter_sync_get(
  19707 			req->args.l2gre_stat_counter_sync_get.unit,
  19708 			req->args.l2gre_stat_counter_sync_get.port,
  19709 			req->args.l2gre_stat_counter_sync_get.vpn,
  19710 			req->args.l2gre_stat_counter_sync_get.stat,
  19711 			req->args.l2gre_stat_counter_sync_get.num_entries,
  19712 			req->args.l2gre_stat_counter_sync_get.counter_indexes,
  19713 			req->args.l2gre_stat_counter_sync_get.counter_values);
  19714 		break;
  19715 	case BCM_ASYNC_ENTRY_L2GRE_STAT_DETACH:
  19716 		rv = bcm_l2gre_stat_detach(
  19717 			req->args.l2gre_stat_detach.unit,
  19718 			req->args.l2gre_stat_detach.port,
  19719 			req->args.l2gre_stat_detach.vpn);
  19720 		break;
  19721 	case BCM_ASYNC_ENTRY_L2GRE_STAT_ID_GET:
  19722 		rv = bcm_l2gre_stat_id_get(
  19723 			req->args.l2gre_stat_id_get.unit,
  19724 			req->args.l2gre_stat_id_get.port,
  19725 			req->args.l2gre_stat_id_get.vpn,
  19726 			req->args.l2gre_stat_id_get.stat,
  19727 			req->args.l2gre_stat_id_get.stat_counter_id);
  19728 		break;
  19729 	case BCM_ASYNC_ENTRY_L2GRE_STAT_MULTI_GET:
  19730 		rv = bcm_l2gre_stat_multi_get(
  19731 			req->args.l2gre_stat_multi_get.unit,
  19732 			req->args.l2gre_stat_multi_get.port,
  19733 			req->args.l2gre_stat_multi_get.vpn,
  19734 			req->args.l2gre_stat_multi_get.nstat,
  19735 			req->args.l2gre_stat_multi_get.stat_arr,
  19736 			req->args.l2gre_stat_multi_get.value_arr);
  19737 		break;
  19738 	case BCM_ASYNC_ENTRY_L2GRE_STAT_MULTI_GET32:
  19739 		rv = bcm_l2gre_stat_multi_get32(
  19740 			req->args.l2gre_stat_multi_get32.unit,
  19741 			req->args.l2gre_stat_multi_get32.port,
  19742 			req->args.l2gre_stat_multi_get32.vpn,
  19743 			req->args.l2gre_stat_multi_get32.nstat,
  19744 			req->args.l2gre_stat_multi_get32.stat_arr,
  19745 			req->args.l2gre_stat_multi_get32.value_arr);
  19746 		break;
  19747 	case BCM_ASYNC_ENTRY_L2GRE_STAT_MULTI_SET:
  19748 		rv = bcm_l2gre_stat_multi_set(
  19749 			req->args.l2gre_stat_multi_set.unit,
  19750 			req->args.l2gre_stat_multi_set.port,
  19751 			req->args.l2gre_stat_multi_set.vpn,
  19752 			req->args.l2gre_stat_multi_set.nstat,
  19753 			req->args.l2gre_stat_multi_set.stat_arr,
  19754 			req->args.l2gre_stat_multi_set.value_arr);
  19755 		break;
  19756 	case BCM_ASYNC_ENTRY_L2GRE_STAT_MULTI_SET32:
  19757 		rv = bcm_l2gre_stat_multi_set32(
  19758 			req->args.l2gre_stat_multi_set32.unit,
  19759 			req->args.l2gre_stat_multi_set32.port,
  19760 			req->args.l2gre_stat_multi_set32.vpn,
  19761 			req->args.l2gre_stat_multi_set32.nstat,
  19762 			req->args.l2gre_stat_multi_set32.stat_arr,
  19763 			req->args.l2gre_stat_multi_set32.value_arr);
  19764 		break;
  19765 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_INITIATOR_CREATE:
  19766 		rv = bcm_l2gre_tunnel_initiator_create(
  19767 			req->args.l2gre_tunnel_initiator_create.unit,
  19768 			req->args.l2gre_tunnel_initiator_create.info);
  19769 		break;
  19770 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_INITIATOR_DESTROY:
  19771 		rv = bcm_l2gre_tunnel_initiator_destroy(
  19772 			req->args.l2gre_tunnel_initiator_destroy.unit,
  19773 			req->args.l2gre_tunnel_initiator_destroy.l2gre_tunnel_id);
  19774 		break;
  19775 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_INITIATOR_DESTROY_ALL:
  19776 		rv = bcm_l2gre_tunnel_initiator_destroy_all(
  19777 			req->args.l2gre_tunnel_initiator_destroy_all.unit);
  19778 		break;
  19779 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_INITIATOR_GET:
  19780 		rv = bcm_l2gre_tunnel_initiator_get(
  19781 			req->args.l2gre_tunnel_initiator_get.unit,
  19782 			req->args.l2gre_tunnel_initiator_get.info);
  19783 		break;
  19784 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_INITIATOR_TRAVERSE:
  19785 		rv = bcm_l2gre_tunnel_initiator_traverse(
  19786 			req->args.l2gre_tunnel_initiator_traverse.unit,
  19787 			req->args.l2gre_tunnel_initiator_traverse.cb,
  19788 			req->args.l2gre_tunnel_initiator_traverse.user_data);
  19789 		break;
  19790 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_TERMINATOR_CREATE:
  19791 		rv = bcm_l2gre_tunnel_terminator_create(
  19792 			req->args.l2gre_tunnel_terminator_create.unit,
  19793 			req->args.l2gre_tunnel_terminator_create.info);
  19794 		break;
  19795 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_TERMINATOR_DESTROY:
  19796 		rv = bcm_l2gre_tunnel_terminator_destroy(
  19797 			req->args.l2gre_tunnel_terminator_destroy.unit,
  19798 			req->args.l2gre_tunnel_terminator_destroy.l2gre_tunnel_id);
  19799 		break;
  19800 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_TERMINATOR_DESTROY_ALL:
  19801 		rv = bcm_l2gre_tunnel_terminator_destroy_all(
  19802 			req->args.l2gre_tunnel_terminator_destroy_all.unit);
  19803 		break;
  19804 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_TERMINATOR_GET:
  19805 		rv = bcm_l2gre_tunnel_terminator_get(
  19806 			req->args.l2gre_tunnel_terminator_get.unit,
  19807 			req->args.l2gre_tunnel_terminator_get.info);
  19808 		break;
  19809 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_TERMINATOR_TRAVERSE:
  19810 		rv = bcm_l2gre_tunnel_terminator_traverse(
  19811 			req->args.l2gre_tunnel_terminator_traverse.unit,
  19812 			req->args.l2gre_tunnel_terminator_traverse.cb,
  19813 			req->args.l2gre_tunnel_terminator_traverse.user_data);
  19814 		break;
  19815 	case BCM_ASYNC_ENTRY_L2GRE_TUNNEL_TERMINATOR_UPDATE:
  19816 		rv = bcm_l2gre_tunnel_terminator_update(
  19817 			req->args.l2gre_tunnel_terminator_update.unit,
  19818 			req->args.l2gre_tunnel_terminator_update.info);
  19819 		break;
  19820 	case BCM_ASYNC_ENTRY_L2GRE_VPN_CREATE:
  19821 		rv = bcm_l2gre_vpn_create(
  19822 			req->args.l2gre_vpn_create.unit,
  19823 			req->args.l2gre_vpn_create.info);
  19824 		break;
  19825 	case BCM_ASYNC_ENTRY_L2GRE_VPN_DESTROY:
  19826 		rv = bcm_l2gre_vpn_destroy(
  19827 			req->args.l2gre_vpn_destroy.unit,
  19828 			req->args.l2gre_vpn_destroy.l2vpn);
  19829 		break;
  19830 	case BCM_ASYNC_ENTRY_L2GRE_VPN_DESTROY_ALL:
  19831 		rv = bcm_l2gre_vpn_destroy_all(
  19832 			req->args.l2gre_vpn_destroy_all.unit);
  19833 		break;
  19834 	case BCM_ASYNC_ENTRY_L2GRE_VPN_GET:
  19835 		rv = bcm_l2gre_vpn_get(
  19836 			req->args.l2gre_vpn_get.unit,
  19837 			req->args.l2gre_vpn_get.l2vpn,
  19838 			req->args.l2gre_vpn_get.info);
  19839 		break;
  19840 	case BCM_ASYNC_ENTRY_L2GRE_VPN_TRAVERSE:
  19841 		rv = bcm_l2gre_vpn_traverse(
  19842 			req->args.l2gre_vpn_traverse.unit,
  19843 			req->args.l2gre_vpn_traverse.cb,
  19844 			req->args.l2gre_vpn_traverse.user_data);
  19845 		break;
  19846 	case BCM_ASYNC_ENTRY_L3_CLEANUP:
  19847 		rv = bcm_l3_cleanup(
  19848 			req->args.l3_cleanup.unit);
  19849 		break;
  19850 	case BCM_ASYNC_ENTRY_L3_ECMP_AGM_ATTACH:
  19851 		rv = bcm_l3_ecmp_agm_attach(
  19852 			req->args.l3_ecmp_agm_attach.unit,
  19853 			req->args.l3_ecmp_agm_attach.l3_ecmp_id,
  19854 			req->args.l3_ecmp_agm_attach.agm_id);
  19855 		break;
  19856 	case BCM_ASYNC_ENTRY_L3_ECMP_AGM_ATTACH_GET:
  19857 		rv = bcm_l3_ecmp_agm_attach_get(
  19858 			req->args.l3_ecmp_agm_attach_get.unit,
  19859 			req->args.l3_ecmp_agm_attach_get.l3_ecmp_id,
  19860 			req->args.l3_ecmp_agm_attach_get.agm_id);
  19861 		break;
  19862 	case BCM_ASYNC_ENTRY_L3_ECMP_AGM_DETACH:
  19863 		rv = bcm_l3_ecmp_agm_detach(
  19864 			req->args.l3_ecmp_agm_detach.unit,
  19865 			req->args.l3_ecmp_agm_detach.l3_ecmp_id,
  19866 			req->args.l3_ecmp_agm_detach.agm_id);
  19867 		break;
  19868 	case BCM_ASYNC_ENTRY_L3_ECMP_CREATE:
  19869 		rv = bcm_l3_ecmp_create(
  19870 			req->args.l3_ecmp_create.unit,
  19871 			req->args.l3_ecmp_create.options,
  19872 			req->args.l3_ecmp_create.ecmp_info,
  19873 			req->args.l3_ecmp_create.ecmp_member_count,
  19874 			req->args.l3_ecmp_create.ecmp_member_array);
  19875 		break;
  19876 	case BCM_ASYNC_ENTRY_L3_ECMP_DESTROY:
  19877 		rv = bcm_l3_ecmp_destroy(
  19878 			req->args.l3_ecmp_destroy.unit,
  19879 			req->args.l3_ecmp_destroy.ecmp_group_id);
  19880 		break;
  19881 	case BCM_ASYNC_ENTRY_L3_ECMP_DLB_MON_CONFIG_GET:
  19882 		rv = bcm_l3_ecmp_dlb_mon_config_get(
  19883 			req->args.l3_ecmp_dlb_mon_config_get.unit,
  19884 			req->args.l3_ecmp_dlb_mon_config_get.intf,
  19885 			req->args.l3_ecmp_dlb_mon_config_get.dlb_mon_cfg);
  19886 		break;
  19887 	case BCM_ASYNC_ENTRY_L3_ECMP_DLB_MON_CONFIG_SET:
  19888 		rv = bcm_l3_ecmp_dlb_mon_config_set(
  19889 			req->args.l3_ecmp_dlb_mon_config_set.unit,
  19890 			req->args.l3_ecmp_dlb_mon_config_set.ecmp_intf,
  19891 			req->args.l3_ecmp_dlb_mon_config_set.dlb_mon_cfg);
  19892 		break;
  19893 	case BCM_ASYNC_ENTRY_L3_ECMP_FIND:
  19894 		rv = bcm_l3_ecmp_find(
  19895 			req->args.l3_ecmp_find.unit,
  19896 			req->args.l3_ecmp_find.ecmp_member_count,
  19897 			req->args.l3_ecmp_find.ecmp_member_array,
  19898 			req->args.l3_ecmp_find.ecmp_info);
  19899 		break;
  19900 	case BCM_ASYNC_ENTRY_L3_ECMP_GET:
  19901 		rv = bcm_l3_ecmp_get(
  19902 			req->args.l3_ecmp_get.unit,
  19903 			req->args.l3_ecmp_get.ecmp_info,
  19904 			req->args.l3_ecmp_get.ecmp_member_size,
  19905 			req->args.l3_ecmp_get.ecmp_member_array,
  19906 			req->args.l3_ecmp_get.ecmp_member_count);
  19907 		break;
  19908 	case BCM_ASYNC_ENTRY_L3_ECMP_MEMBER_ADD:
  19909 		rv = bcm_l3_ecmp_member_add(
  19910 			req->args.l3_ecmp_member_add.unit,
  19911 			req->args.l3_ecmp_member_add.ecmp_group_id,
  19912 			req->args.l3_ecmp_member_add.ecmp_member);
  19913 		break;
  19914 	case BCM_ASYNC_ENTRY_L3_ECMP_MEMBER_DELETE:
  19915 		rv = bcm_l3_ecmp_member_delete(
  19916 			req->args.l3_ecmp_member_delete.unit,
  19917 			req->args.l3_ecmp_member_delete.ecmp_group_id,
  19918 			req->args.l3_ecmp_member_delete.ecmp_member);
  19919 		break;
  19920 	case BCM_ASYNC_ENTRY_L3_ECMP_MEMBER_DELETE_ALL:
  19921 		rv = bcm_l3_ecmp_member_delete_all(
  19922 			req->args.l3_ecmp_member_delete_all.unit,
  19923 			req->args.l3_ecmp_member_delete_all.ecmp_group_id);
  19924 		break;
  19925 	case BCM_ASYNC_ENTRY_L3_ECMP_TRAVERSE:
  19926 		rv = bcm_l3_ecmp_traverse(
  19927 			req->args.l3_ecmp_traverse.unit,
  19928 			req->args.l3_ecmp_traverse.trav_fn,
  19929 			req->args.l3_ecmp_traverse.user_data);
  19930 		break;
  19931 	case BCM_ASYNC_ENTRY_L3_EGRESS_ARP_TRAVERSE:
  19932 		rv = bcm_l3_egress_arp_traverse(
  19933 			req->args.l3_egress_arp_traverse.unit,
  19934 			req->args.l3_egress_arp_traverse.trav_fn,
  19935 			req->args.l3_egress_arp_traverse.user_data);
  19936 		break;
  19937 	case BCM_ASYNC_ENTRY_L3_EGRESS_CREATE:
  19938 		rv = bcm_l3_egress_create(
  19939 			req->args.l3_egress_create.unit,
  19940 			req->args.l3_egress_create.flags,
  19941 			req->args.l3_egress_create.egr,
  19942 			req->args.l3_egress_create.if_id);
  19943 		break;
  19944 	case BCM_ASYNC_ENTRY_L3_EGRESS_DESTROY:
  19945 		rv = bcm_l3_egress_destroy(
  19946 			req->args.l3_egress_destroy.unit,
  19947 			req->args.l3_egress_destroy.intf);
  19948 		break;
  19949 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_ADD:
  19950 		rv = bcm_l3_egress_ecmp_add(
  19951 			req->args.l3_egress_ecmp_add.unit,
  19952 			req->args.l3_egress_ecmp_add.ecmp,
  19953 			req->args.l3_egress_ecmp_add.intf);
  19954 		break;
  19955 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_CREATE:
  19956 		rv = bcm_l3_egress_ecmp_create(
  19957 			req->args.l3_egress_ecmp_create.unit,
  19958 			req->args.l3_egress_ecmp_create.ecmp,
  19959 			req->args.l3_egress_ecmp_create.intf_count,
  19960 			req->args.l3_egress_ecmp_create.intf_array);
  19961 		break;
  19962 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_DELETE:
  19963 		rv = bcm_l3_egress_ecmp_delete(
  19964 			req->args.l3_egress_ecmp_delete.unit,
  19965 			req->args.l3_egress_ecmp_delete.ecmp,
  19966 			req->args.l3_egress_ecmp_delete.intf);
  19967 		break;
  19968 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_DESTROY:
  19969 		rv = bcm_l3_egress_ecmp_destroy(
  19970 			req->args.l3_egress_ecmp_destroy.unit,
  19971 			req->args.l3_egress_ecmp_destroy.ecmp);
  19972 		break;
  19973 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_ETHERTYPE_GET:
  19974 		rv = bcm_l3_egress_ecmp_ethertype_get(
  19975 			req->args.l3_egress_ecmp_ethertype_get.unit,
  19976 			req->args.l3_egress_ecmp_ethertype_get.flags,
  19977 			req->args.l3_egress_ecmp_ethertype_get.ethertype_max,
  19978 			req->args.l3_egress_ecmp_ethertype_get.ethertype_array,
  19979 			req->args.l3_egress_ecmp_ethertype_get.ethertype_count);
  19980 		break;
  19981 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_ETHERTYPE_SET:
  19982 		rv = bcm_l3_egress_ecmp_ethertype_set(
  19983 			req->args.l3_egress_ecmp_ethertype_set.unit,
  19984 			req->args.l3_egress_ecmp_ethertype_set.flags,
  19985 			req->args.l3_egress_ecmp_ethertype_set.ethertype_count,
  19986 			req->args.l3_egress_ecmp_ethertype_set.ethertype_array);
  19987 		break;
  19988 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_FIND:
  19989 		rv = bcm_l3_egress_ecmp_find(
  19990 			req->args.l3_egress_ecmp_find.unit,
  19991 			req->args.l3_egress_ecmp_find.intf_count,
  19992 			req->args.l3_egress_ecmp_find.intf_array,
  19993 			req->args.l3_egress_ecmp_find.ecmp);
  19994 		break;
  19995 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_GET:
  19996 		rv = bcm_l3_egress_ecmp_get(
  19997 			req->args.l3_egress_ecmp_get.unit,
  19998 			req->args.l3_egress_ecmp_get.ecmp,
  19999 			req->args.l3_egress_ecmp_get.intf_size,
  20000 			req->args.l3_egress_ecmp_get.intf_array,
  20001 			req->args.l3_egress_ecmp_get.intf_count);
  20002 		break;
  20003 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_MEMBER_STATUS_GET:
  20004 		rv = bcm_l3_egress_ecmp_member_status_get(
  20005 			req->args.l3_egress_ecmp_member_status_get.unit,
  20006 			req->args.l3_egress_ecmp_member_status_get.intf,
  20007 			req->args.l3_egress_ecmp_member_status_get.status);
  20008 		break;
  20009 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_MEMBER_STATUS_SET:
  20010 		rv = bcm_l3_egress_ecmp_member_status_set(
  20011 			req->args.l3_egress_ecmp_member_status_set.unit,
  20012 			req->args.l3_egress_ecmp_member_status_set.intf,
  20013 			req->args.l3_egress_ecmp_member_status_set.status);
  20014 		break;
  20015 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_RESILIENT_REPLACE:
  20016 		rv = bcm_l3_egress_ecmp_resilient_replace(
  20017 			req->args.l3_egress_ecmp_resilient_replace.unit,
  20018 			req->args.l3_egress_ecmp_resilient_replace.flags,
  20019 			req->args.l3_egress_ecmp_resilient_replace.match_entry,
  20020 			req->args.l3_egress_ecmp_resilient_replace.num_entries,
  20021 			req->args.l3_egress_ecmp_resilient_replace.replace_entry);
  20022 		break;
  20023 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_RESILIENT_TRAVERSE:
  20024 		rv = bcm_l3_egress_ecmp_resilient_traverse(
  20025 			req->args.l3_egress_ecmp_resilient_traverse.unit,
  20026 			req->args.l3_egress_ecmp_resilient_traverse.flags,
  20027 			req->args.l3_egress_ecmp_resilient_traverse.match_entry,
  20028 			req->args.l3_egress_ecmp_resilient_traverse.trav_fn,
  20029 			req->args.l3_egress_ecmp_resilient_traverse.user_data);
  20030 		break;
  20031 	case BCM_ASYNC_ENTRY_L3_EGRESS_ECMP_TRAVERSE:
  20032 		rv = bcm_l3_egress_ecmp_traverse(
  20033 			req->args.l3_egress_ecmp_traverse.unit,
  20034 			req->args.l3_egress_ecmp_traverse.trav_fn,
  20035 			req->args.l3_egress_ecmp_traverse.user_data);
  20036 		break;
  20037 	case BCM_ASYNC_ENTRY_L3_EGRESS_FIND:
  20038 		rv = bcm_l3_egress_find(
  20039 			req->args.l3_egress_find.unit,
  20040 			req->args.l3_egress_find.egr,
  20041 			req->args.l3_egress_find.intf);
  20042 		break;
  20043 	case BCM_ASYNC_ENTRY_L3_EGRESS_GET:
  20044 		rv = bcm_l3_egress_get(
  20045 			req->args.l3_egress_get.unit,
  20046 			req->args.l3_egress_get.intf,
  20047 			req->args.l3_egress_get.egr);
  20048 		break;
  20049 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTI_ALLOC:
  20050 		rv = bcm_l3_egress_multi_alloc(
  20051 			req->args.l3_egress_multi_alloc.unit,
  20052 			req->args.l3_egress_multi_alloc.egress_multi_info,
  20053 			req->args.l3_egress_multi_alloc.base_egress_id);
  20054 		break;
  20055 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTI_FREE:
  20056 		rv = bcm_l3_egress_multi_free(
  20057 			req->args.l3_egress_multi_free.unit,
  20058 			req->args.l3_egress_multi_free.base_egress_id);
  20059 		break;
  20060 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTIPATH_ADD:
  20061 		rv = bcm_l3_egress_multipath_add(
  20062 			req->args.l3_egress_multipath_add.unit,
  20063 			req->args.l3_egress_multipath_add.mpintf,
  20064 			req->args.l3_egress_multipath_add.intf);
  20065 		break;
  20066 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTIPATH_CREATE:
  20067 		rv = bcm_l3_egress_multipath_create(
  20068 			req->args.l3_egress_multipath_create.unit,
  20069 			req->args.l3_egress_multipath_create.flags,
  20070 			req->args.l3_egress_multipath_create.intf_count,
  20071 			req->args.l3_egress_multipath_create.intf_array,
  20072 			req->args.l3_egress_multipath_create.mpintf);
  20073 		break;
  20074 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTIPATH_DELETE:
  20075 		rv = bcm_l3_egress_multipath_delete(
  20076 			req->args.l3_egress_multipath_delete.unit,
  20077 			req->args.l3_egress_multipath_delete.mpintf,
  20078 			req->args.l3_egress_multipath_delete.intf);
  20079 		break;
  20080 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTIPATH_DESTROY:
  20081 		rv = bcm_l3_egress_multipath_destroy(
  20082 			req->args.l3_egress_multipath_destroy.unit,
  20083 			req->args.l3_egress_multipath_destroy.mpintf);
  20084 		break;
  20085 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTIPATH_FIND:
  20086 		rv = bcm_l3_egress_multipath_find(
  20087 			req->args.l3_egress_multipath_find.unit,
  20088 			req->args.l3_egress_multipath_find.intf_count,
  20089 			req->args.l3_egress_multipath_find.intf_array,
  20090 			req->args.l3_egress_multipath_find.mpintf);
  20091 		break;
  20092 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTIPATH_GET:
  20093 		rv = bcm_l3_egress_multipath_get(
  20094 			req->args.l3_egress_multipath_get.unit,
  20095 			req->args.l3_egress_multipath_get.mpintf,
  20096 			req->args.l3_egress_multipath_get.intf_size,
  20097 			req->args.l3_egress_multipath_get.intf_array,
  20098 			req->args.l3_egress_multipath_get.intf_count);
  20099 		break;
  20100 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTIPATH_MAX_CREATE:
  20101 		rv = bcm_l3_egress_multipath_max_create(
  20102 			req->args.l3_egress_multipath_max_create.unit,
  20103 			req->args.l3_egress_multipath_max_create.flags,
  20104 			req->args.l3_egress_multipath_max_create.max_paths,
  20105 			req->args.l3_egress_multipath_max_create.intf_count,
  20106 			req->args.l3_egress_multipath_max_create.intf_array,
  20107 			req->args.l3_egress_multipath_max_create.mpintf);
  20108 		break;
  20109 	case BCM_ASYNC_ENTRY_L3_EGRESS_MULTIPATH_TRAVERSE:
  20110 		rv = bcm_l3_egress_multipath_traverse(
  20111 			req->args.l3_egress_multipath_traverse.unit,
  20112 			req->args.l3_egress_multipath_traverse.trav_fn,
  20113 			req->args.l3_egress_multipath_traverse.user_data);
  20114 		break;
  20115 	case BCM_ASYNC_ENTRY_L3_EGRESS_STAT_ATTACH:
  20116 		rv = bcm_l3_egress_stat_attach(
  20117 			req->args.l3_egress_stat_attach.unit,
  20118 			req->args.l3_egress_stat_attach.intf_id,
  20119 			req->args.l3_egress_stat_attach.stat_counter_id);
  20120 		break;
  20121 	case BCM_ASYNC_ENTRY_L3_EGRESS_STAT_COUNTER_GET:
  20122 		rv = bcm_l3_egress_stat_counter_get(
  20123 			req->args.l3_egress_stat_counter_get.unit,
  20124 			req->args.l3_egress_stat_counter_get.intf_id,
  20125 			req->args.l3_egress_stat_counter_get.stat,
  20126 			req->args.l3_egress_stat_counter_get.num_entries,
  20127 			req->args.l3_egress_stat_counter_get.counter_indexes,
  20128 			req->args.l3_egress_stat_counter_get.counter_values);
  20129 		break;
  20130 	case BCM_ASYNC_ENTRY_L3_EGRESS_STAT_COUNTER_SET:
  20131 		rv = bcm_l3_egress_stat_counter_set(
  20132 			req->args.l3_egress_stat_counter_set.unit,
  20133 			req->args.l3_egress_stat_counter_set.intf_id,
  20134 			req->args.l3_egress_stat_counter_set.stat,
  20135 			req->args.l3_egress_stat_counter_set.num_entries,
  20136 			req->args.l3_egress_stat_counter_set.counter_indexes,
  20137 			req->args.l3_egress_stat_counter_set.counter_values);
  20138 		break;
  20139 	case BCM_ASYNC_ENTRY_L3_EGRESS_STAT_COUNTER_SYNC_GET:
  20140 		rv = bcm_l3_egress_stat_counter_sync_get(
  20141 			req->args.l3_egress_stat_counter_sync_get.unit,
  20142 			req->args.l3_egress_stat_counter_sync_get.intf_id,
  20143 			req->args.l3_egress_stat_counter_sync_get.stat,
  20144 			req->args.l3_egress_stat_counter_sync_get.num_entries,
  20145 			req->args.l3_egress_stat_counter_sync_get.counter_indexes,
  20146 			req->args.l3_egress_stat_counter_sync_get.counter_values);
  20147 		break;
  20148 	case BCM_ASYNC_ENTRY_L3_EGRESS_STAT_DETACH:
  20149 		rv = bcm_l3_egress_stat_detach(
  20150 			req->args.l3_egress_stat_detach.unit,
  20151 			req->args.l3_egress_stat_detach.intf_id);
  20152 		break;
  20153 	case BCM_ASYNC_ENTRY_L3_EGRESS_STAT_ID_GET:
  20154 		rv = bcm_l3_egress_stat_id_get(
  20155 			req->args.l3_egress_stat_id_get.unit,
  20156 			req->args.l3_egress_stat_id_get.intf_id,
  20157 			req->args.l3_egress_stat_id_get.stat,
  20158 			req->args.l3_egress_stat_id_get.stat_counter_id);
  20159 		break;
  20160 	case BCM_ASYNC_ENTRY_L3_EGRESS_TRAVERSE:
  20161 		rv = bcm_l3_egress_traverse(
  20162 			req->args.l3_egress_traverse.unit,
  20163 			req->args.l3_egress_traverse.trav_fn,
  20164 			req->args.l3_egress_traverse.user_data);
  20165 		break;
  20166 	case BCM_ASYNC_ENTRY_L3_ENABLE_SET:
  20167 		rv = bcm_l3_enable_set(
  20168 			req->args.l3_enable_set.unit,
  20169 			req->args.l3_enable_set.enable);
  20170 		break;
  20171 	case BCM_ASYNC_ENTRY_L3_HOST_ADD:
  20172 		rv = bcm_l3_host_add(
  20173 			req->args.l3_host_add.unit,
  20174 			req->args.l3_host_add.info);
  20175 		break;
  20176 	case BCM_ASYNC_ENTRY_L3_HOST_AGE:
  20177 		rv = bcm_l3_host_age(
  20178 			req->args.l3_host_age.unit,
  20179 			req->args.l3_host_age.flags,
  20180 			req->args.l3_host_age.age_cb,
  20181 			req->args.l3_host_age.user_data);
  20182 		break;
  20183 	case BCM_ASYNC_ENTRY_L3_HOST_CONFLICT_GET:
  20184 		rv = bcm_l3_host_conflict_get(
  20185 			req->args.l3_host_conflict_get.unit,
  20186 			req->args.l3_host_conflict_get.ipkey,
  20187 			req->args.l3_host_conflict_get.cf_array,
  20188 			req->args.l3_host_conflict_get.cf_max,
  20189 			req->args.l3_host_conflict_get.cf_count);
  20190 		break;
  20191 	case BCM_ASYNC_ENTRY_L3_HOST_DELETE:
  20192 		rv = bcm_l3_host_delete(
  20193 			req->args.l3_host_delete.unit,
  20194 			req->args.l3_host_delete.ip_addr);
  20195 		break;
  20196 	case BCM_ASYNC_ENTRY_L3_HOST_DELETE_ALL:
  20197 		rv = bcm_l3_host_delete_all(
  20198 			req->args.l3_host_delete_all.unit,
  20199 			req->args.l3_host_delete_all.info);
  20200 		break;
  20201 	case BCM_ASYNC_ENTRY_L3_HOST_DELETE_BY_INTERFACE:
  20202 		rv = bcm_l3_host_delete_by_interface(
  20203 			req->args.l3_host_delete_by_interface.unit,
  20204 			req->args.l3_host_delete_by_interface.info);
  20205 		break;
  20206 	case BCM_ASYNC_ENTRY_L3_HOST_DELETE_BY_NETWORK:
  20207 		rv = bcm_l3_host_delete_by_network(
  20208 			req->args.l3_host_delete_by_network.unit,
  20209 			req->args.l3_host_delete_by_network.ip_addr);
  20210 		break;
  20211 	case BCM_ASYNC_ENTRY_L3_HOST_FIND:
  20212 		rv = bcm_l3_host_find(
  20213 			req->args.l3_host_find.unit,
  20214 			req->args.l3_host_find.info);
  20215 		break;
  20216 	case BCM_ASYNC_ENTRY_L3_HOST_INVALIDATE_ENTRY:
  20217 		rv = bcm_l3_host_invalidate_entry(
  20218 			req->args.l3_host_invalidate_entry.unit,
  20219 			req->args.l3_host_invalidate_entry.info);
  20220 		break;
  20221 	case BCM_ASYNC_ENTRY_L3_HOST_STAT_ATTACH:
  20222 		rv = bcm_l3_host_stat_attach(
  20223 			req->args.l3_host_stat_attach.unit,
  20224 			req->args.l3_host_stat_attach.info,
  20225 			req->args.l3_host_stat_attach.stat_counter_id);
  20226 		break;
  20227 	case BCM_ASYNC_ENTRY_L3_HOST_STAT_COUNTER_GET:
  20228 		rv = bcm_l3_host_stat_counter_get(
  20229 			req->args.l3_host_stat_counter_get.unit,
  20230 			req->args.l3_host_stat_counter_get.info,
  20231 			req->args.l3_host_stat_counter_get.stat,
  20232 			req->args.l3_host_stat_counter_get.num_entries,
  20233 			req->args.l3_host_stat_counter_get.counter_indexes,
  20234 			req->args.l3_host_stat_counter_get.counter_values);
  20235 		break;
  20236 	case BCM_ASYNC_ENTRY_L3_HOST_STAT_COUNTER_SET:
  20237 		rv = bcm_l3_host_stat_counter_set(
  20238 			req->args.l3_host_stat_counter_set.unit,
  20239 			req->args.l3_host_stat_counter_set.info,
  20240 			req->args.l3_host_stat_counter_set.stat,
  20241 			req->args.l3_host_stat_counter_set.num_entries,
  20242 			req->args.l3_host_stat_counter_set.counter_indexes,
  20243 			req->args.l3_host_stat_counter_set.counter_values);
  20244 		break;
  20245 	case BCM_ASYNC_ENTRY_L3_HOST_STAT_COUNTER_SYNC_GET:
  20246 		rv = bcm_l3_host_stat_counter_sync_get(
  20247 			req->args.l3_host_stat_counter_sync_get.unit,
  20248 			req->args.l3_host_stat_counter_sync_get.info,
  20249 			req->args.l3_host_stat_counter_sync_get.stat,
  20250 			req->args.l3_host_stat_counter_sync_get.num_entries,
  20251 			req->args.l3_host_stat_counter_sync_get.counter_indexes,
  20252 			req->args.l3_host_stat_counter_sync_get.counter_values);
  20253 		break;
  20254 	case BCM_ASYNC_ENTRY_L3_HOST_STAT_DETACH:
  20255 		rv = bcm_l3_host_stat_detach(
  20256 			req->args.l3_host_stat_detach.unit,
  20257 			req->args.l3_host_stat_detach.info);
  20258 		break;
  20259 	case BCM_ASYNC_ENTRY_L3_HOST_STAT_ID_GET:
  20260 		rv = bcm_l3_host_stat_id_get(
  20261 			req->args.l3_host_stat_id_get.unit,
  20262 			req->args.l3_host_stat_id_get.info,
  20263 			req->args.l3_host_stat_id_get.stat,
  20264 			req->args.l3_host_stat_id_get.stat_counter_id);
  20265 		break;
  20266 	case BCM_ASYNC_ENTRY_L3_HOST_TRAVERSE:
  20267 		rv = bcm_l3_host_traverse(
  20268 			req->args.l3_host_traverse.unit,
  20269 			req->args.l3_host_traverse.flags,
  20270 			req->args.l3_host_traverse.start,
  20271 			req->args.l3_host_traverse.end,
  20272 			req->args.l3_host_traverse.cb,
  20273 			req->args.l3_host_traverse.user_data);
  20274 		break;
  20275 	case BCM_ASYNC_ENTRY_L3_HOST_VALIDATE_ENTRY:
  20276 		rv = bcm_l3_host_validate_entry(
  20277 			req->args.l3_host_validate_entry.unit,
  20278 			req->args.l3_host_validate_entry.info);
  20279 		break;
  20280 	case BCM_ASYNC_ENTRY_L3_INFO:
  20281 		rv = bcm_l3_info(
  20282 			req->args.l3_info.unit,
  20283 			req->args.l3_info.l3info);
  20284 		break;
  20285 	case BCM_ASYNC_ENTRY_L3_INGRESS_CREATE:
  20286 		rv = bcm_l3_ingress_create(
  20287 			req->args.l3_ingress_create.unit,
  20288 			req->args.l3_ingress_create.ing_intf,
  20289 			req->args.l3_ingress_create.intf_id);
  20290 		break;
  20291 	case BCM_ASYNC_ENTRY_L3_INGRESS_DESTROY:
  20292 		rv = bcm_l3_ingress_destroy(
  20293 			req->args.l3_ingress_destroy.unit,
  20294 			req->args.l3_ingress_destroy.intf_id);
  20295 		break;
  20296 	case BCM_ASYNC_ENTRY_L3_INGRESS_FIND:
  20297 		rv = bcm_l3_ingress_find(
  20298 			req->args.l3_ingress_find.unit,
  20299 			req->args.l3_ingress_find.ing_intf,
  20300 			req->args.l3_ingress_find.intf_id);
  20301 		break;
  20302 	case BCM_ASYNC_ENTRY_L3_INGRESS_GET:
  20303 		rv = bcm_l3_ingress_get(
  20304 			req->args.l3_ingress_get.unit,
  20305 			req->args.l3_ingress_get.intf,
  20306 			req->args.l3_ingress_get.ing_intf);
  20307 		break;
  20308 	case BCM_ASYNC_ENTRY_L3_INGRESS_STAT_ATTACH:
  20309 		rv = bcm_l3_ingress_stat_attach(
  20310 			req->args.l3_ingress_stat_attach.unit,
  20311 			req->args.l3_ingress_stat_attach.intf_id,
  20312 			req->args.l3_ingress_stat_attach.stat_counter_id);
  20313 		break;
  20314 	case BCM_ASYNC_ENTRY_L3_INGRESS_STAT_COUNTER_GET:
  20315 		rv = bcm_l3_ingress_stat_counter_get(
  20316 			req->args.l3_ingress_stat_counter_get.unit,
  20317 			req->args.l3_ingress_stat_counter_get.intf_id,
  20318 			req->args.l3_ingress_stat_counter_get.stat,
  20319 			req->args.l3_ingress_stat_counter_get.num_entries,
  20320 			req->args.l3_ingress_stat_counter_get.counter_indexes,
  20321 			req->args.l3_ingress_stat_counter_get.counter_values);
  20322 		break;
  20323 	case BCM_ASYNC_ENTRY_L3_INGRESS_STAT_COUNTER_SET:
  20324 		rv = bcm_l3_ingress_stat_counter_set(
  20325 			req->args.l3_ingress_stat_counter_set.unit,
  20326 			req->args.l3_ingress_stat_counter_set.intf_id,
  20327 			req->args.l3_ingress_stat_counter_set.stat,
  20328 			req->args.l3_ingress_stat_counter_set.num_entries,
  20329 			req->args.l3_ingress_stat_counter_set.counter_indexes,
  20330 			req->args.l3_ingress_stat_counter_set.counter_values);
  20331 		break;
  20332 	case BCM_ASYNC_ENTRY_L3_INGRESS_STAT_COUNTER_SYNC_GET:
  20333 		rv = bcm_l3_ingress_stat_counter_sync_get(
  20334 			req->args.l3_ingress_stat_counter_sync_get.unit,
  20335 			req->args.l3_ingress_stat_counter_sync_get.intf_id,
  20336 			req->args.l3_ingress_stat_counter_sync_get.stat,
  20337 			req->args.l3_ingress_stat_counter_sync_get.num_entries,
  20338 			req->args.l3_ingress_stat_counter_sync_get.counter_indexes,
  20339 			req->args.l3_ingress_stat_counter_sync_get.counter_values);
  20340 		break;
  20341 	case BCM_ASYNC_ENTRY_L3_INGRESS_STAT_DETACH:
  20342 		rv = bcm_l3_ingress_stat_detach(
  20343 			req->args.l3_ingress_stat_detach.unit,
  20344 			req->args.l3_ingress_stat_detach.intf_id);
  20345 		break;
  20346 	case BCM_ASYNC_ENTRY_L3_INGRESS_STAT_ID_GET:
  20347 		rv = bcm_l3_ingress_stat_id_get(
  20348 			req->args.l3_ingress_stat_id_get.unit,
  20349 			req->args.l3_ingress_stat_id_get.intf_id,
  20350 			req->args.l3_ingress_stat_id_get.stat,
  20351 			req->args.l3_ingress_stat_id_get.stat_counter_id);
  20352 		break;
  20353 	case BCM_ASYNC_ENTRY_L3_INGRESS_TRAVERSE:
  20354 		rv = bcm_l3_ingress_traverse(
  20355 			req->args.l3_ingress_traverse.unit,
  20356 			req->args.l3_ingress_traverse.trav_fn,
  20357 			req->args.l3_ingress_traverse.user_data);
  20358 		break;
  20359 	case BCM_ASYNC_ENTRY_L3_INIT:
  20360 		rv = bcm_l3_init(
  20361 			req->args.l3_init.unit);
  20362 		break;
  20363 	case BCM_ASYNC_ENTRY_L3_INTF_CREATE:
  20364 		rv = bcm_l3_intf_create(
  20365 			req->args.l3_intf_create.unit,
  20366 			req->args.l3_intf_create.intf);
  20367 		break;
  20368 	case BCM_ASYNC_ENTRY_L3_INTF_DELETE:
  20369 		rv = bcm_l3_intf_delete(
  20370 			req->args.l3_intf_delete.unit,
  20371 			req->args.l3_intf_delete.intf);
  20372 		break;
  20373 	case BCM_ASYNC_ENTRY_L3_INTF_DELETE_ALL:
  20374 		rv = bcm_l3_intf_delete_all(
  20375 			req->args.l3_intf_delete_all.unit);
  20376 		break;
  20377 	case BCM_ASYNC_ENTRY_L3_INTF_FIND:
  20378 		rv = bcm_l3_intf_find(
  20379 			req->args.l3_intf_find.unit,
  20380 			req->args.l3_intf_find.intf);
  20381 		break;
  20382 	case BCM_ASYNC_ENTRY_L3_INTF_FIND_VLAN:
  20383 		rv = bcm_l3_intf_find_vlan(
  20384 			req->args.l3_intf_find_vlan.unit,
  20385 			req->args.l3_intf_find_vlan.intf);
  20386 		break;
  20387 	case BCM_ASYNC_ENTRY_L3_INTF_GET:
  20388 		rv = bcm_l3_intf_get(
  20389 			req->args.l3_intf_get.unit,
  20390 			req->args.l3_intf_get.intf);
  20391 		break;
  20392 	case BCM_ASYNC_ENTRY_L3_INTF_VPN_GET:
  20393 		rv = bcm_l3_intf_vpn_get(
  20394 			req->args.l3_intf_vpn_get.unit,
  20395 			req->args.l3_intf_vpn_get.l3_intf_id,
  20396 			req->args.l3_intf_vpn_get.flags,
  20397 			req->args.l3_intf_vpn_get.vpn);
  20398 		break;
  20399 	case BCM_ASYNC_ENTRY_L3_INTF_VPN_SET:
  20400 		rv = bcm_l3_intf_vpn_set(
  20401 			req->args.l3_intf_vpn_set.unit,
  20402 			req->args.l3_intf_vpn_set.l3_intf_id,
  20403 			req->args.l3_intf_vpn_set.flags,
  20404 			req->args.l3_intf_vpn_set.vpn);
  20405 		break;
  20406 	case BCM_ASYNC_ENTRY_L3_IP4_OPTIONS_ACTION_GET:
  20407 		rv = bcm_l3_ip4_options_action_get(
  20408 			req->args.l3_ip4_options_action_get.unit,
  20409 			req->args.l3_ip4_options_action_get.ip4_options_profile_id,
  20410 			req->args.l3_ip4_options_action_get.ip4_option,
  20411 			req->args.l3_ip4_options_action_get.action);
  20412 		break;
  20413 	case BCM_ASYNC_ENTRY_L3_IP4_OPTIONS_ACTION_SET:
  20414 		rv = bcm_l3_ip4_options_action_set(
  20415 			req->args.l3_ip4_options_action_set.unit,
  20416 			req->args.l3_ip4_options_action_set.ip4_options_profile_id,
  20417 			req->args.l3_ip4_options_action_set.ip4_option,
  20418 			req->args.l3_ip4_options_action_set.action);
  20419 		break;
  20420 	case BCM_ASYNC_ENTRY_L3_IP4_OPTIONS_PROFILE_CREATE:
  20421 		rv = bcm_l3_ip4_options_profile_create(
  20422 			req->args.l3_ip4_options_profile_create.unit,
  20423 			req->args.l3_ip4_options_profile_create.flags,
  20424 			req->args.l3_ip4_options_profile_create.default_action,
  20425 			req->args.l3_ip4_options_profile_create.ip4_options_profile_id);
  20426 		break;
  20427 	case BCM_ASYNC_ENTRY_L3_IP4_OPTIONS_PROFILE_DESTROY:
  20428 		rv = bcm_l3_ip4_options_profile_destroy(
  20429 			req->args.l3_ip4_options_profile_destroy.unit,
  20430 			req->args.l3_ip4_options_profile_destroy.ip4_options_profile_id);
  20431 		break;
  20432 	case BCM_ASYNC_ENTRY_L3_IP6_PREFIX_MAP_ADD:
  20433 		rv = bcm_l3_ip6_prefix_map_add(
  20434 			req->args.l3_ip6_prefix_map_add.unit,
  20435 			req->args.l3_ip6_prefix_map_add.ip6_addr);
  20436 		break;
  20437 	case BCM_ASYNC_ENTRY_L3_IP6_PREFIX_MAP_DELETE:
  20438 		rv = bcm_l3_ip6_prefix_map_delete(
  20439 			req->args.l3_ip6_prefix_map_delete.unit,
  20440 			req->args.l3_ip6_prefix_map_delete.ip6_addr);
  20441 		break;
  20442 	case BCM_ASYNC_ENTRY_L3_IP6_PREFIX_MAP_DELETE_ALL:
  20443 		rv = bcm_l3_ip6_prefix_map_delete_all(
  20444 			req->args.l3_ip6_prefix_map_delete_all.unit);
  20445 		break;
  20446 	case BCM_ASYNC_ENTRY_L3_IP6_PREFIX_MAP_GET:
  20447 		rv = bcm_l3_ip6_prefix_map_get(
  20448 			req->args.l3_ip6_prefix_map_get.unit,
  20449 			req->args.l3_ip6_prefix_map_get.map_size,
  20450 			req->args.l3_ip6_prefix_map_get.ip6_array,
  20451 			req->args.l3_ip6_prefix_map_get.ip6_count);
  20452 		break;
  20453 	case BCM_ASYNC_ENTRY_L3_LARGE_NAT_EGRESS_ADD:
  20454 		rv = bcm_l3_large_nat_egress_add(
  20455 			req->args.l3_large_nat_egress_add.unit,
  20456 			req->args.l3_large_nat_egress_add.nat_info);
  20457 		break;
  20458 	case BCM_ASYNC_ENTRY_L3_LARGE_NAT_EGRESS_DELETE:
  20459 		rv = bcm_l3_large_nat_egress_delete(
  20460 			req->args.l3_large_nat_egress_delete.unit,
  20461 			req->args.l3_large_nat_egress_delete.nat_info);
  20462 		break;
  20463 	case BCM_ASYNC_ENTRY_L3_LARGE_NAT_EGRESS_GET:
  20464 		rv = bcm_l3_large_nat_egress_get(
  20465 			req->args.l3_large_nat_egress_get.unit,
  20466 			req->args.l3_large_nat_egress_get.nat_info);
  20467 		break;
  20468 	case BCM_ASYNC_ENTRY_L3_LARGE_NAT_EGRESS_TRAVERSE:
  20469 		rv = bcm_l3_large_nat_egress_traverse(
  20470 			req->args.l3_large_nat_egress_traverse.unit,
  20471 			req->args.l3_large_nat_egress_traverse.cb,
  20472 			req->args.l3_large_nat_egress_traverse.user_data);
  20473 		break;
  20474 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_ADD:
  20475 		rv = bcm_l3_nat_egress_add(
  20476 			req->args.l3_nat_egress_add.unit,
  20477 			req->args.l3_nat_egress_add.nat_info);
  20478 		break;
  20479 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_DELETE:
  20480 		rv = bcm_l3_nat_egress_delete(
  20481 			req->args.l3_nat_egress_delete.unit,
  20482 			req->args.l3_nat_egress_delete.nat_id);
  20483 		break;
  20484 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_GET:
  20485 		rv = bcm_l3_nat_egress_get(
  20486 			req->args.l3_nat_egress_get.unit,
  20487 			req->args.l3_nat_egress_get.nat_info);
  20488 		break;
  20489 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_ATTACH:
  20490 		rv = bcm_l3_nat_egress_stat_attach(
  20491 			req->args.l3_nat_egress_stat_attach.unit,
  20492 			req->args.l3_nat_egress_stat_attach.info,
  20493 			req->args.l3_nat_egress_stat_attach.stat_counter_id);
  20494 		break;
  20495 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_COUNTER_GET:
  20496 		rv = bcm_l3_nat_egress_stat_counter_get(
  20497 			req->args.l3_nat_egress_stat_counter_get.unit,
  20498 			req->args.l3_nat_egress_stat_counter_get.info,
  20499 			req->args.l3_nat_egress_stat_counter_get.stat,
  20500 			req->args.l3_nat_egress_stat_counter_get.num_entries,
  20501 			req->args.l3_nat_egress_stat_counter_get.counter_indexes,
  20502 			req->args.l3_nat_egress_stat_counter_get.counter_values);
  20503 		break;
  20504 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_COUNTER_SET:
  20505 		rv = bcm_l3_nat_egress_stat_counter_set(
  20506 			req->args.l3_nat_egress_stat_counter_set.unit,
  20507 			req->args.l3_nat_egress_stat_counter_set.info,
  20508 			req->args.l3_nat_egress_stat_counter_set.stat,
  20509 			req->args.l3_nat_egress_stat_counter_set.num_entries,
  20510 			req->args.l3_nat_egress_stat_counter_set.counter_indexes,
  20511 			req->args.l3_nat_egress_stat_counter_set.counter_values);
  20512 		break;
  20513 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_COUNTER_SYNC_GET:
  20514 		rv = bcm_l3_nat_egress_stat_counter_sync_get(
  20515 			req->args.l3_nat_egress_stat_counter_sync_get.unit,
  20516 			req->args.l3_nat_egress_stat_counter_sync_get.info,
  20517 			req->args.l3_nat_egress_stat_counter_sync_get.stat,
  20518 			req->args.l3_nat_egress_stat_counter_sync_get.num_entries,
  20519 			req->args.l3_nat_egress_stat_counter_sync_get.counter_indexes,
  20520 			req->args.l3_nat_egress_stat_counter_sync_get.counter_values);
  20521 		break;
  20522 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_DETACH:
  20523 		rv = bcm_l3_nat_egress_stat_detach(
  20524 			req->args.l3_nat_egress_stat_detach.unit,
  20525 			req->args.l3_nat_egress_stat_detach.info);
  20526 		break;
  20527 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_ID_GET:
  20528 		rv = bcm_l3_nat_egress_stat_id_get(
  20529 			req->args.l3_nat_egress_stat_id_get.unit,
  20530 			req->args.l3_nat_egress_stat_id_get.info,
  20531 			req->args.l3_nat_egress_stat_id_get.stat,
  20532 			req->args.l3_nat_egress_stat_id_get.stat_counter_id);
  20533 		break;
  20534 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_MULTI_GET:
  20535 		rv = bcm_l3_nat_egress_stat_multi_get(
  20536 			req->args.l3_nat_egress_stat_multi_get.unit,
  20537 			req->args.l3_nat_egress_stat_multi_get.info,
  20538 			req->args.l3_nat_egress_stat_multi_get.nstat,
  20539 			req->args.l3_nat_egress_stat_multi_get.stat_arr,
  20540 			req->args.l3_nat_egress_stat_multi_get.value_arr);
  20541 		break;
  20542 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_MULTI_GET32:
  20543 		rv = bcm_l3_nat_egress_stat_multi_get32(
  20544 			req->args.l3_nat_egress_stat_multi_get32.unit,
  20545 			req->args.l3_nat_egress_stat_multi_get32.info,
  20546 			req->args.l3_nat_egress_stat_multi_get32.nstat,
  20547 			req->args.l3_nat_egress_stat_multi_get32.stat_arr,
  20548 			req->args.l3_nat_egress_stat_multi_get32.value_arr);
  20549 		break;
  20550 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_MULTI_SET:
  20551 		rv = bcm_l3_nat_egress_stat_multi_set(
  20552 			req->args.l3_nat_egress_stat_multi_set.unit,
  20553 			req->args.l3_nat_egress_stat_multi_set.info,
  20554 			req->args.l3_nat_egress_stat_multi_set.nstat,
  20555 			req->args.l3_nat_egress_stat_multi_set.stat_arr,
  20556 			req->args.l3_nat_egress_stat_multi_set.value_arr);
  20557 		break;
  20558 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_STAT_MULTI_SET32:
  20559 		rv = bcm_l3_nat_egress_stat_multi_set32(
  20560 			req->args.l3_nat_egress_stat_multi_set32.unit,
  20561 			req->args.l3_nat_egress_stat_multi_set32.info,
  20562 			req->args.l3_nat_egress_stat_multi_set32.nstat,
  20563 			req->args.l3_nat_egress_stat_multi_set32.stat_arr,
  20564 			req->args.l3_nat_egress_stat_multi_set32.value_arr);
  20565 		break;
  20566 	case BCM_ASYNC_ENTRY_L3_NAT_EGRESS_TRAVERSE:
  20567 		rv = bcm_l3_nat_egress_traverse(
  20568 			req->args.l3_nat_egress_traverse.unit,
  20569 			req->args.l3_nat_egress_traverse.flags,
  20570 			req->args.l3_nat_egress_traverse.start,
  20571 			req->args.l3_nat_egress_traverse.end,
  20572 			req->args.l3_nat_egress_traverse.cb,
  20573 			req->args.l3_nat_egress_traverse.user_data);
  20574 		break;
  20575 	case BCM_ASYNC_ENTRY_L3_NAT_INGRESS_ADD:
  20576 		rv = bcm_l3_nat_ingress_add(
  20577 			req->args.l3_nat_ingress_add.unit,
  20578 			req->args.l3_nat_ingress_add.nat_info);
  20579 		break;
  20580 	case BCM_ASYNC_ENTRY_L3_NAT_INGRESS_AGE:
  20581 		rv = bcm_l3_nat_ingress_age(
  20582 			req->args.l3_nat_ingress_age.unit,
  20583 			req->args.l3_nat_ingress_age.flags,
  20584 			req->args.l3_nat_ingress_age.age_cb,
  20585 			req->args.l3_nat_ingress_age.user_data);
  20586 		break;
  20587 	case BCM_ASYNC_ENTRY_L3_NAT_INGRESS_DELETE:
  20588 		rv = bcm_l3_nat_ingress_delete(
  20589 			req->args.l3_nat_ingress_delete.unit,
  20590 			req->args.l3_nat_ingress_delete.nat_info);
  20591 		break;
  20592 	case BCM_ASYNC_ENTRY_L3_NAT_INGRESS_DELETE_ALL:
  20593 		rv = bcm_l3_nat_ingress_delete_all(
  20594 			req->args.l3_nat_ingress_delete_all.unit,
  20595 			req->args.l3_nat_ingress_delete_all.nat_info);
  20596 		break;
  20597 	case BCM_ASYNC_ENTRY_L3_NAT_INGRESS_FIND:
  20598 		rv = bcm_l3_nat_ingress_find(
  20599 			req->args.l3_nat_ingress_find.unit,
  20600 			req->args.l3_nat_ingress_find.nat_info);
  20601 		break;
  20602 	case BCM_ASYNC_ENTRY_L3_NAT_INGRESS_TRAVERSE:
  20603 		rv = bcm_l3_nat_ingress_traverse(
  20604 			req->args.l3_nat_ingress_traverse.unit,
  20605 			req->args.l3_nat_ingress_traverse.flags,
  20606 			req->args.l3_nat_ingress_traverse.start,
  20607 			req->args.l3_nat_ingress_traverse.end,
  20608 			req->args.l3_nat_ingress_traverse.cb,
  20609 			req->args.l3_nat_ingress_traverse.user_data);
  20610 		break;
  20611 	case BCM_ASYNC_ENTRY_L3_ROUTE_ADD:
  20612 		rv = bcm_l3_route_add(
  20613 			req->args.l3_route_add.unit,
  20614 			req->args.l3_route_add.info);
  20615 		break;
  20616 	case BCM_ASYNC_ENTRY_L3_ROUTE_AGE:
  20617 		rv = bcm_l3_route_age(
  20618 			req->args.l3_route_age.unit,
  20619 			req->args.l3_route_age.flags,
  20620 			req->args.l3_route_age.age_out,
  20621 			req->args.l3_route_age.user_data);
  20622 		break;
  20623 	case BCM_ASYNC_ENTRY_L3_ROUTE_DELETE:
  20624 		rv = bcm_l3_route_delete(
  20625 			req->args.l3_route_delete.unit,
  20626 			req->args.l3_route_delete.info);
  20627 		break;
  20628 	case BCM_ASYNC_ENTRY_L3_ROUTE_DELETE_ALL:
  20629 		rv = bcm_l3_route_delete_all(
  20630 			req->args.l3_route_delete_all.unit,
  20631 			req->args.l3_route_delete_all.info);
  20632 		break;
  20633 	case BCM_ASYNC_ENTRY_L3_ROUTE_DELETE_BY_INTERFACE:
  20634 		rv = bcm_l3_route_delete_by_interface(
  20635 			req->args.l3_route_delete_by_interface.unit,
  20636 			req->args.l3_route_delete_by_interface.info);
  20637 		break;
  20638 	case BCM_ASYNC_ENTRY_L3_ROUTE_FIND:
  20639 		rv = bcm_l3_route_find(
  20640 			req->args.l3_route_find.unit,
  20641 			req->args.l3_route_find.host,
  20642 			req->args.l3_route_find.route);
  20643 		break;
  20644 	case BCM_ASYNC_ENTRY_L3_ROUTE_GET:
  20645 		rv = bcm_l3_route_get(
  20646 			req->args.l3_route_get.unit,
  20647 			req->args.l3_route_get.info);
  20648 		break;
  20649 	case BCM_ASYNC_ENTRY_L3_ROUTE_MAX_ECMP_GET:
  20650 		rv = bcm_l3_route_max_ecmp_get(
  20651 			req->args.l3_route_max_ecmp_get.unit,
  20652 			req->args.l3_route_max_ecmp_get.max);
  20653 		break;
  20654 	case BCM_ASYNC_ENTRY_L3_ROUTE_MAX_ECMP_SET:
  20655 		rv = bcm_l3_route_max_ecmp_set(
  20656 			req->args.l3_route_max_ecmp_set.unit,
  20657 			req->args.l3_route_max_ecmp_set.max);
  20658 		break;
  20659 	case BCM_ASYNC_ENTRY_L3_ROUTE_MULTIPATH_GET:
  20660 		rv = bcm_l3_route_multipath_get(
  20661 			req->args.l3_route_multipath_get.unit,
  20662 			req->args.l3_route_multipath_get.the_route,
  20663 			req->args.l3_route_multipath_get.path_array,
  20664 			req->args.l3_route_multipath_get.max_path,
  20665 			req->args.l3_route_multipath_get.path_count);
  20666 		break;
  20667 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_ATTACH:
  20668 		rv = bcm_l3_route_stat_attach(
  20669 			req->args.l3_route_stat_attach.unit,
  20670 			req->args.l3_route_stat_attach.info,
  20671 			req->args.l3_route_stat_attach.stat_counter_id);
  20672 		break;
  20673 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_COUNTER_GET:
  20674 		rv = bcm_l3_route_stat_counter_get(
  20675 			req->args.l3_route_stat_counter_get.unit,
  20676 			req->args.l3_route_stat_counter_get.info,
  20677 			req->args.l3_route_stat_counter_get.stat,
  20678 			req->args.l3_route_stat_counter_get.num_entries,
  20679 			req->args.l3_route_stat_counter_get.counter_indexes,
  20680 			req->args.l3_route_stat_counter_get.counter_values);
  20681 		break;
  20682 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_COUNTER_SET:
  20683 		rv = bcm_l3_route_stat_counter_set(
  20684 			req->args.l3_route_stat_counter_set.unit,
  20685 			req->args.l3_route_stat_counter_set.info,
  20686 			req->args.l3_route_stat_counter_set.stat,
  20687 			req->args.l3_route_stat_counter_set.num_entries,
  20688 			req->args.l3_route_stat_counter_set.counter_indexes,
  20689 			req->args.l3_route_stat_counter_set.counter_values);
  20690 		break;
  20691 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_COUNTER_SYNC_GET:
  20692 		rv = bcm_l3_route_stat_counter_sync_get(
  20693 			req->args.l3_route_stat_counter_sync_get.unit,
  20694 			req->args.l3_route_stat_counter_sync_get.info,
  20695 			req->args.l3_route_stat_counter_sync_get.stat,
  20696 			req->args.l3_route_stat_counter_sync_get.num_entries,
  20697 			req->args.l3_route_stat_counter_sync_get.counter_indexes,
  20698 			req->args.l3_route_stat_counter_sync_get.counter_values);
  20699 		break;
  20700 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_DETACH:
  20701 		rv = bcm_l3_route_stat_detach(
  20702 			req->args.l3_route_stat_detach.unit,
  20703 			req->args.l3_route_stat_detach.info);
  20704 		break;
  20705 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_ENABLE_SET:
  20706 		rv = bcm_l3_route_stat_enable_set(
  20707 			req->args.l3_route_stat_enable_set.unit,
  20708 			req->args.l3_route_stat_enable_set.route,
  20709 			req->args.l3_route_stat_enable_set.enable);
  20710 		break;
  20711 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_GET:
  20712 		rv = bcm_l3_route_stat_get(
  20713 			req->args.l3_route_stat_get.unit,
  20714 			req->args.l3_route_stat_get.route,
  20715 			req->args.l3_route_stat_get.stat,
  20716 			req->args.l3_route_stat_get.val);
  20717 		break;
  20718 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_GET32:
  20719 		rv = bcm_l3_route_stat_get32(
  20720 			req->args.l3_route_stat_get32.unit,
  20721 			req->args.l3_route_stat_get32.route,
  20722 			req->args.l3_route_stat_get32.stat,
  20723 			req->args.l3_route_stat_get32.val);
  20724 		break;
  20725 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_ID_GET:
  20726 		rv = bcm_l3_route_stat_id_get(
  20727 			req->args.l3_route_stat_id_get.unit,
  20728 			req->args.l3_route_stat_id_get.info,
  20729 			req->args.l3_route_stat_id_get.stat,
  20730 			req->args.l3_route_stat_id_get.stat_counter_id);
  20731 		break;
  20732 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_MULTI_GET:
  20733 		rv = bcm_l3_route_stat_multi_get(
  20734 			req->args.l3_route_stat_multi_get.unit,
  20735 			req->args.l3_route_stat_multi_get.info,
  20736 			req->args.l3_route_stat_multi_get.nstat,
  20737 			req->args.l3_route_stat_multi_get.stat_arr,
  20738 			req->args.l3_route_stat_multi_get.value_arr);
  20739 		break;
  20740 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_MULTI_GET32:
  20741 		rv = bcm_l3_route_stat_multi_get32(
  20742 			req->args.l3_route_stat_multi_get32.unit,
  20743 			req->args.l3_route_stat_multi_get32.info,
  20744 			req->args.l3_route_stat_multi_get32.nstat,
  20745 			req->args.l3_route_stat_multi_get32.stat_arr,
  20746 			req->args.l3_route_stat_multi_get32.value_arr);
  20747 		break;
  20748 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_MULTI_SET:
  20749 		rv = bcm_l3_route_stat_multi_set(
  20750 			req->args.l3_route_stat_multi_set.unit,
  20751 			req->args.l3_route_stat_multi_set.info,
  20752 			req->args.l3_route_stat_multi_set.nstat,
  20753 			req->args.l3_route_stat_multi_set.stat_arr,
  20754 			req->args.l3_route_stat_multi_set.value_arr);
  20755 		break;
  20756 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_MULTI_SET32:
  20757 		rv = bcm_l3_route_stat_multi_set32(
  20758 			req->args.l3_route_stat_multi_set32.unit,
  20759 			req->args.l3_route_stat_multi_set32.info,
  20760 			req->args.l3_route_stat_multi_set32.nstat,
  20761 			req->args.l3_route_stat_multi_set32.stat_arr,
  20762 			req->args.l3_route_stat_multi_set32.value_arr);
  20763 		break;
  20764 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_SET:
  20765 		rv = bcm_l3_route_stat_set(
  20766 			req->args.l3_route_stat_set.unit,
  20767 			req->args.l3_route_stat_set.route,
  20768 			req->args.l3_route_stat_set.stat,
  20769 			req->args.l3_route_stat_set.val);
  20770 		break;
  20771 	case BCM_ASYNC_ENTRY_L3_ROUTE_STAT_SET32:
  20772 		rv = bcm_l3_route_stat_set32(
  20773 			req->args.l3_route_stat_set32.unit,
  20774 			req->args.l3_route_stat_set32.route,
  20775 			req->args.l3_route_stat_set32.stat,
  20776 			req->args.l3_route_stat_set32.val);
  20777 		break;
  20778 	case BCM_ASYNC_ENTRY_L3_ROUTE_TRAVERSE:
  20779 		rv = bcm_l3_route_traverse(
  20780 			req->args.l3_route_traverse.unit,
  20781 			req->args.l3_route_traverse.flags,
  20782 			req->args.l3_route_traverse.start,
  20783 			req->args.l3_route_traverse.end,
  20784 			req->args.l3_route_traverse.trav_fn,
  20785 			req->args.l3_route_traverse.user_data);
  20786 		break;
  20787 	case BCM_ASYNC_ENTRY_L3_SOURCE_BIND_ADD:
  20788 		rv = bcm_l3_source_bind_add(
  20789 			req->args.l3_source_bind_add.unit,
  20790 			req->args.l3_source_bind_add.info);
  20791 		break;
  20792 	case BCM_ASYNC_ENTRY_L3_SOURCE_BIND_DELETE:
  20793 		rv = bcm_l3_source_bind_delete(
  20794 			req->args.l3_source_bind_delete.unit,
  20795 			req->args.l3_source_bind_delete.info);
  20796 		break;
  20797 	case BCM_ASYNC_ENTRY_L3_SOURCE_BIND_DELETE_ALL:
  20798 		rv = bcm_l3_source_bind_delete_all(
  20799 			req->args.l3_source_bind_delete_all.unit);
  20800 		break;
  20801 	case BCM_ASYNC_ENTRY_L3_SOURCE_BIND_ENABLE_GET:
  20802 		rv = bcm_l3_source_bind_enable_get(
  20803 			req->args.l3_source_bind_enable_get.unit,
  20804 			req->args.l3_source_bind_enable_get.port,
  20805 			req->args.l3_source_bind_enable_get.enable);
  20806 		break;
  20807 	case BCM_ASYNC_ENTRY_L3_SOURCE_BIND_ENABLE_SET:
  20808 		rv = bcm_l3_source_bind_enable_set(
  20809 			req->args.l3_source_bind_enable_set.unit,
  20810 			req->args.l3_source_bind_enable_set.port,
  20811 			req->args.l3_source_bind_enable_set.enable);
  20812 		break;
  20813 	case BCM_ASYNC_ENTRY_L3_SOURCE_BIND_GET:
  20814 		rv = bcm_l3_source_bind_get(
  20815 			req->args.l3_source_bind_get.unit,
  20816 			req->args.l3_source_bind_get.info);
  20817 		break;
  20818 	case BCM_ASYNC_ENTRY_L3_SOURCE_BIND_TRAVERSE:
  20819 		rv = bcm_l3_source_bind_traverse(
  20820 			req->args.l3_source_bind_traverse.unit,
  20821 			req->args.l3_source_bind_traverse.cb,
  20822 			req->args.l3_source_bind_traverse.user_data);
  20823 		break;
  20824 	case BCM_ASYNC_ENTRY_L3_SUBNET_ROUTE_FIND:
  20825 		rv = bcm_l3_subnet_route_find(
  20826 			req->args.l3_subnet_route_find.unit,
  20827 			req->args.l3_subnet_route_find.input,
  20828 			req->args.l3_subnet_route_find.route);
  20829 		break;
  20830 	case BCM_ASYNC_ENTRY_L3_VPBR_ENTRY_ADD:
  20831 		rv = bcm_l3_vpbr_entry_add(
  20832 			req->args.l3_vpbr_entry_add.unit,
  20833 			req->args.l3_vpbr_entry_add.entry);
  20834 		break;
  20835 	case BCM_ASYNC_ENTRY_L3_VPBR_ENTRY_DELETE:
  20836 		rv = bcm_l3_vpbr_entry_delete(
  20837 			req->args.l3_vpbr_entry_delete.unit,
  20838 			req->args.l3_vpbr_entry_delete.entry);
  20839 		break;
  20840 	case BCM_ASYNC_ENTRY_L3_VPBR_ENTRY_DELETE_ALL:
  20841 		rv = bcm_l3_vpbr_entry_delete_all(
  20842 			req->args.l3_vpbr_entry_delete_all.unit,
  20843 			req->args.l3_vpbr_entry_delete_all.entry);
  20844 		break;
  20845 	case BCM_ASYNC_ENTRY_L3_VPBR_ENTRY_GET:
  20846 		rv = bcm_l3_vpbr_entry_get(
  20847 			req->args.l3_vpbr_entry_get.unit,
  20848 			req->args.l3_vpbr_entry_get.entry);
  20849 		break;
  20850 	case BCM_ASYNC_ENTRY_L3_VPBR_TRAVERSE:
  20851 		rv = bcm_l3_vpbr_traverse(
  20852 			req->args.l3_vpbr_traverse.unit,
  20853 			req->args.l3_vpbr_traverse.flags,
  20854 			req->args.l3_vpbr_traverse.cb,
  20855 			req->args.l3_vpbr_traverse.user_data);
  20856 		break;
  20857 	case BCM_ASYNC_ENTRY_L3_VRF_ROUTE_DATA_MODE_GET:
  20858 		rv = bcm_l3_vrf_route_data_mode_get(
  20859 			req->args.l3_vrf_route_data_mode_get.unit,
  20860 			req->args.l3_vrf_route_data_mode_get.vrf,
  20861 			req->args.l3_vrf_route_data_mode_get.flags,
  20862 			req->args.l3_vrf_route_data_mode_get.mode);
  20863 		break;
  20864 	case BCM_ASYNC_ENTRY_L3_VRF_ROUTE_DATA_MODE_SET:
  20865 		rv = bcm_l3_vrf_route_data_mode_set(
  20866 			req->args.l3_vrf_route_data_mode_set.unit,
  20867 			req->args.l3_vrf_route_data_mode_set.vrf,
  20868 			req->args.l3_vrf_route_data_mode_set.flags,
  20869 			req->args.l3_vrf_route_data_mode_set.mode);
  20870 		break;
  20871 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_ATTACH:
  20872 		rv = bcm_l3_vrf_stat_attach(
  20873 			req->args.l3_vrf_stat_attach.unit,
  20874 			req->args.l3_vrf_stat_attach.vrf,
  20875 			req->args.l3_vrf_stat_attach.stat_counter_id);
  20876 		break;
  20877 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_COUNTER_GET:
  20878 		rv = bcm_l3_vrf_stat_counter_get(
  20879 			req->args.l3_vrf_stat_counter_get.unit,
  20880 			req->args.l3_vrf_stat_counter_get.vrf,
  20881 			req->args.l3_vrf_stat_counter_get.stat,
  20882 			req->args.l3_vrf_stat_counter_get.num_entries,
  20883 			req->args.l3_vrf_stat_counter_get.counter_indexes,
  20884 			req->args.l3_vrf_stat_counter_get.counter_values);
  20885 		break;
  20886 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_COUNTER_SET:
  20887 		rv = bcm_l3_vrf_stat_counter_set(
  20888 			req->args.l3_vrf_stat_counter_set.unit,
  20889 			req->args.l3_vrf_stat_counter_set.vrf,
  20890 			req->args.l3_vrf_stat_counter_set.stat,
  20891 			req->args.l3_vrf_stat_counter_set.num_entries,
  20892 			req->args.l3_vrf_stat_counter_set.counter_indexes,
  20893 			req->args.l3_vrf_stat_counter_set.counter_values);
  20894 		break;
  20895 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_COUNTER_SYNC_GET:
  20896 		rv = bcm_l3_vrf_stat_counter_sync_get(
  20897 			req->args.l3_vrf_stat_counter_sync_get.unit,
  20898 			req->args.l3_vrf_stat_counter_sync_get.vrf,
  20899 			req->args.l3_vrf_stat_counter_sync_get.stat,
  20900 			req->args.l3_vrf_stat_counter_sync_get.num_entries,
  20901 			req->args.l3_vrf_stat_counter_sync_get.counter_indexes,
  20902 			req->args.l3_vrf_stat_counter_sync_get.counter_values);
  20903 		break;
  20904 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_DETACH:
  20905 		rv = bcm_l3_vrf_stat_detach(
  20906 			req->args.l3_vrf_stat_detach.unit,
  20907 			req->args.l3_vrf_stat_detach.vrf);
  20908 		break;
  20909 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_ENABLE_SET:
  20910 		rv = bcm_l3_vrf_stat_enable_set(
  20911 			req->args.l3_vrf_stat_enable_set.unit,
  20912 			req->args.l3_vrf_stat_enable_set.vrf,
  20913 			req->args.l3_vrf_stat_enable_set.enable);
  20914 		break;
  20915 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_GET:
  20916 		rv = bcm_l3_vrf_stat_get(
  20917 			req->args.l3_vrf_stat_get.unit,
  20918 			req->args.l3_vrf_stat_get.vrf,
  20919 			req->args.l3_vrf_stat_get.stat,
  20920 			req->args.l3_vrf_stat_get.val);
  20921 		break;
  20922 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_GET32:
  20923 		rv = bcm_l3_vrf_stat_get32(
  20924 			req->args.l3_vrf_stat_get32.unit,
  20925 			req->args.l3_vrf_stat_get32.vrf,
  20926 			req->args.l3_vrf_stat_get32.stat,
  20927 			req->args.l3_vrf_stat_get32.val);
  20928 		break;
  20929 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_ID_GET:
  20930 		rv = bcm_l3_vrf_stat_id_get(
  20931 			req->args.l3_vrf_stat_id_get.unit,
  20932 			req->args.l3_vrf_stat_id_get.vrf,
  20933 			req->args.l3_vrf_stat_id_get.stat,
  20934 			req->args.l3_vrf_stat_id_get.stat_counter_id);
  20935 		break;
  20936 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_MULTI_GET:
  20937 		rv = bcm_l3_vrf_stat_multi_get(
  20938 			req->args.l3_vrf_stat_multi_get.unit,
  20939 			req->args.l3_vrf_stat_multi_get.vrf,
  20940 			req->args.l3_vrf_stat_multi_get.nstat,
  20941 			req->args.l3_vrf_stat_multi_get.stat_arr,
  20942 			req->args.l3_vrf_stat_multi_get.value_arr);
  20943 		break;
  20944 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_MULTI_GET32:
  20945 		rv = bcm_l3_vrf_stat_multi_get32(
  20946 			req->args.l3_vrf_stat_multi_get32.unit,
  20947 			req->args.l3_vrf_stat_multi_get32.vrf,
  20948 			req->args.l3_vrf_stat_multi_get32.nstat,
  20949 			req->args.l3_vrf_stat_multi_get32.stat_arr,
  20950 			req->args.l3_vrf_stat_multi_get32.value_arr);
  20951 		break;
  20952 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_MULTI_SET:
  20953 		rv = bcm_l3_vrf_stat_multi_set(
  20954 			req->args.l3_vrf_stat_multi_set.unit,
  20955 			req->args.l3_vrf_stat_multi_set.vrf,
  20956 			req->args.l3_vrf_stat_multi_set.nstat,
  20957 			req->args.l3_vrf_stat_multi_set.stat_arr,
  20958 			req->args.l3_vrf_stat_multi_set.value_arr);
  20959 		break;
  20960 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_MULTI_SET32:
  20961 		rv = bcm_l3_vrf_stat_multi_set32(
  20962 			req->args.l3_vrf_stat_multi_set32.unit,
  20963 			req->args.l3_vrf_stat_multi_set32.vrf,
  20964 			req->args.l3_vrf_stat_multi_set32.nstat,
  20965 			req->args.l3_vrf_stat_multi_set32.stat_arr,
  20966 			req->args.l3_vrf_stat_multi_set32.value_arr);
  20967 		break;
  20968 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_SET:
  20969 		rv = bcm_l3_vrf_stat_set(
  20970 			req->args.l3_vrf_stat_set.unit,
  20971 			req->args.l3_vrf_stat_set.vrf,
  20972 			req->args.l3_vrf_stat_set.stat,
  20973 			req->args.l3_vrf_stat_set.val);
  20974 		break;
  20975 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_SET32:
  20976 		rv = bcm_l3_vrf_stat_set32(
  20977 			req->args.l3_vrf_stat_set32.unit,
  20978 			req->args.l3_vrf_stat_set32.vrf,
  20979 			req->args.l3_vrf_stat_set32.stat,
  20980 			req->args.l3_vrf_stat_set32.val);
  20981 		break;
  20982 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_SYNC_GET:
  20983 		rv = bcm_l3_vrf_stat_sync_get(
  20984 			req->args.l3_vrf_stat_sync_get.unit,
  20985 			req->args.l3_vrf_stat_sync_get.vrf,
  20986 			req->args.l3_vrf_stat_sync_get.stat,
  20987 			req->args.l3_vrf_stat_sync_get.val);
  20988 		break;
  20989 	case BCM_ASYNC_ENTRY_L3_VRF_STAT_SYNC_GET32:
  20990 		rv = bcm_l3_vrf_stat_sync_get32(
  20991 			req->args.l3_vrf_stat_sync_get32.unit,
  20992 			req->args.l3_vrf_stat_sync_get32.vrf,
  20993 			req->args.l3_vrf_stat_sync_get32.stat,
  20994 			req->args.l3_vrf_stat_sync_get32.val);
  20995 		break;
  20996 	case BCM_ASYNC_ENTRY_L3_VRRP_ADD:
  20997 		rv = bcm_l3_vrrp_add(
  20998 			req->args.l3_vrrp_add.unit,
  20999 			req->args.l3_vrrp_add.vlan,
  21000 			req->args.l3_vrrp_add.vrid);
  21001 		break;
  21002 	case BCM_ASYNC_ENTRY_L3_VRRP_CONFIG_ADD:
  21003 		rv = bcm_l3_vrrp_config_add(
  21004 			req->args.l3_vrrp_config_add.unit,
  21005 			req->args.l3_vrrp_config_add.flags,
  21006 			req->args.l3_vrrp_config_add.vlan,
  21007 			req->args.l3_vrrp_config_add.vrid);
  21008 		break;
  21009 	case BCM_ASYNC_ENTRY_L3_VRRP_CONFIG_DELETE:
  21010 		rv = bcm_l3_vrrp_config_delete(
  21011 			req->args.l3_vrrp_config_delete.unit,
  21012 			req->args.l3_vrrp_config_delete.flags,
  21013 			req->args.l3_vrrp_config_delete.vlan,
  21014 			req->args.l3_vrrp_config_delete.vrid);
  21015 		break;
  21016 	case BCM_ASYNC_ENTRY_L3_VRRP_CONFIG_DELETE_ALL:
  21017 		rv = bcm_l3_vrrp_config_delete_all(
  21018 			req->args.l3_vrrp_config_delete_all.unit,
  21019 			req->args.l3_vrrp_config_delete_all.flags,
  21020 			req->args.l3_vrrp_config_delete_all.vlan);
  21021 		break;
  21022 	case BCM_ASYNC_ENTRY_L3_VRRP_CONFIG_GET:
  21023 		rv = bcm_l3_vrrp_config_get(
  21024 			req->args.l3_vrrp_config_get.unit,
  21025 			req->args.l3_vrrp_config_get.flags,
  21026 			req->args.l3_vrrp_config_get.vlan,
  21027 			req->args.l3_vrrp_config_get.alloc_size,
  21028 			req->args.l3_vrrp_config_get.vrid_array,
  21029 			req->args.l3_vrrp_config_get.count);
  21030 		break;
  21031 	case BCM_ASYNC_ENTRY_L3_VRRP_DELETE:
  21032 		rv = bcm_l3_vrrp_delete(
  21033 			req->args.l3_vrrp_delete.unit,
  21034 			req->args.l3_vrrp_delete.vlan,
  21035 			req->args.l3_vrrp_delete.vrid);
  21036 		break;
  21037 	case BCM_ASYNC_ENTRY_L3_VRRP_DELETE_ALL:
  21038 		rv = bcm_l3_vrrp_delete_all(
  21039 			req->args.l3_vrrp_delete_all.unit,
  21040 			req->args.l3_vrrp_delete_all.vlan);
  21041 		break;
  21042 	case BCM_ASYNC_ENTRY_L3_VRRP_GET:
  21043 		rv = bcm_l3_vrrp_get(
  21044 			req->args.l3_vrrp_get.unit,
  21045 			req->args.l3_vrrp_get.vlan,
  21046 			req->args.l3_vrrp_get.alloc_size,
  21047 			req->args.l3_vrrp_get.vrid_array,
  21048 			req->args.l3_vrrp_get.count);
  21049 		break;
  21050 #endif	/* INCLUDE_L3 */
  21051 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_CONFIG_GET:
  21052 		rv = bcm_latency_monitor_config_get(
  21053 			req->args.latency_monitor_config_get.unit,
  21054 			req->args.latency_monitor_config_get.monitor_id,
  21055 			req->args.latency_monitor_config_get.config);
  21056 		break;
  21057 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_CONFIG_SET:
  21058 		rv = bcm_latency_monitor_config_set(
  21059 			req->args.latency_monitor_config_set.unit,
  21060 			req->args.latency_monitor_config_set.monitor_id,
  21061 			req->args.latency_monitor_config_set.config);
  21062 		break;
  21063 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_COSQ_CONFIG_GET:
  21064 		rv = bcm_latency_monitor_cosq_config_get(
  21065 			req->args.latency_monitor_cosq_config_get.unit,
  21066 			req->args.latency_monitor_cosq_config_get.monitor_id,
  21067 			req->args.latency_monitor_cosq_config_get.cosq,
  21068 			req->args.latency_monitor_cosq_config_get.cosq_info);
  21069 		break;
  21070 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_COSQ_CONFIG_SET:
  21071 		rv = bcm_latency_monitor_cosq_config_set(
  21072 			req->args.latency_monitor_cosq_config_set.unit,
  21073 			req->args.latency_monitor_cosq_config_set.monitor_id,
  21074 			req->args.latency_monitor_cosq_config_set.cosq,
  21075 			req->args.latency_monitor_cosq_config_set.cosq_info);
  21076 		break;
  21077 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_DESTROY:
  21078 		rv = bcm_latency_monitor_destroy(
  21079 			req->args.latency_monitor_destroy.unit,
  21080 			req->args.latency_monitor_destroy.monitor_id);
  21081 		break;
  21082 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_DETACH:
  21083 		rv = bcm_latency_monitor_detach(
  21084 			req->args.latency_monitor_detach.unit);
  21085 		break;
  21086 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_ENABLE:
  21087 		rv = bcm_latency_monitor_enable(
  21088 			req->args.latency_monitor_enable.unit,
  21089 			req->args.latency_monitor_enable.monitor_id,
  21090 			req->args.latency_monitor_enable.enable);
  21091 		break;
  21092 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_HISTOGRAM_GET:
  21093 		rv = bcm_latency_monitor_histogram_get(
  21094 			req->args.latency_monitor_histogram_get.unit,
  21095 			req->args.latency_monitor_histogram_get.monitor_id,
  21096 			req->args.latency_monitor_histogram_get.cosq,
  21097 			req->args.latency_monitor_histogram_get.byte_counter_flag,
  21098 			req->args.latency_monitor_histogram_get.histogram);
  21099 		break;
  21100 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_INFO_GET:
  21101 		rv = bcm_latency_monitor_info_get(
  21102 			req->args.latency_monitor_info_get.unit,
  21103 			req->args.latency_monitor_info_get.monitor_id,
  21104 			req->args.latency_monitor_info_get.monitor_info);
  21105 		break;
  21106 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_INIT:
  21107 		rv = bcm_latency_monitor_init(
  21108 			req->args.latency_monitor_init.unit);
  21109 		break;
  21110 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_LATENCY_LIMIT_TABLE_GET:
  21111 		rv = bcm_latency_monitor_latency_limit_table_get(
  21112 			req->args.latency_monitor_latency_limit_table_get.unit,
  21113 			req->args.latency_monitor_latency_limit_table_get.table_size,
  21114 			req->args.latency_monitor_latency_limit_table_get.latency_limit_table);
  21115 		break;
  21116 	case BCM_ASYNC_ENTRY_LATENCY_MONITOR_LATENCY_LIMIT_TABLE_SET:
  21117 		rv = bcm_latency_monitor_latency_limit_table_set(
  21118 			req->args.latency_monitor_latency_limit_table_set.unit,
  21119 			req->args.latency_monitor_latency_limit_table_set.table_size,
  21120 			req->args.latency_monitor_latency_limit_table_set.latency_limit_table);
  21121 		break;
  21122 	case BCM_ASYNC_ENTRY_LB_CONTROL_GET:
  21123 		rv = bcm_lb_control_get(
  21124 			req->args.lb_control_get.unit,
  21125 			req->args.lb_control_get.lbg_id,
  21126 			req->args.lb_control_get.direction,
  21127 			req->args.lb_control_get.flags,
  21128 			req->args.lb_control_get.lb_control,
  21129 			req->args.lb_control_get.arg);
  21130 		break;
  21131 	case BCM_ASYNC_ENTRY_LB_CONTROL_SET:
  21132 		rv = bcm_lb_control_set(
  21133 			req->args.lb_control_set.unit,
  21134 			req->args.lb_control_set.lbg_id,
  21135 			req->args.lb_control_set.direction,
  21136 			req->args.lb_control_set.flags,
  21137 			req->args.lb_control_set.lb_control,
  21138 			req->args.lb_control_set.arg);
  21139 		break;
  21140 	case BCM_ASYNC_ENTRY_LB_ENABLE_GET:
  21141 		rv = bcm_lb_enable_get(
  21142 			req->args.lb_enable_get.unit,
  21143 			req->args.lb_enable_get.lbg_id,
  21144 			req->args.lb_enable_get.flags,
  21145 			req->args.lb_enable_get.enable);
  21146 		break;
  21147 	case BCM_ASYNC_ENTRY_LB_ENABLE_SET:
  21148 		rv = bcm_lb_enable_set(
  21149 			req->args.lb_enable_set.unit,
  21150 			req->args.lb_enable_set.lbg_id,
  21151 			req->args.lb_enable_set.flags,
  21152 			req->args.lb_enable_set.enable);
  21153 		break;
  21154 	case BCM_ASYNC_ENTRY_LB_FLUSH_CONFIGURE_GET:
  21155 		rv = bcm_lb_flush_configure_get(
  21156 			req->args.lb_flush_configure_get.unit,
  21157 			req->args.lb_flush_configure_get.lbg_id,
  21158 			req->args.lb_flush_configure_get.flags,
  21159 			req->args.lb_flush_configure_get.type,
  21160 			req->args.lb_flush_configure_get.arg);
  21161 		break;
  21162 	case BCM_ASYNC_ENTRY_LB_FLUSH_CONFIGURE_SET:
  21163 		rv = bcm_lb_flush_configure_set(
  21164 			req->args.lb_flush_configure_set.unit,
  21165 			req->args.lb_flush_configure_set.lbg_id,
  21166 			req->args.lb_flush_configure_set.flags,
  21167 			req->args.lb_flush_configure_set.type,
  21168 			req->args.lb_flush_configure_set.arg);
  21169 		break;
  21170 	case BCM_ASYNC_ENTRY_LB_MODEM_CONTROL_GET:
  21171 		rv = bcm_lb_modem_control_get(
  21172 			req->args.lb_modem_control_get.unit,
  21173 			req->args.lb_modem_control_get.modem_id,
  21174 			req->args.lb_modem_control_get.direction,
  21175 			req->args.lb_modem_control_get.flags,
  21176 			req->args.lb_modem_control_get.modem_control,
  21177 			req->args.lb_modem_control_get.arg);
  21178 		break;
  21179 	case BCM_ASYNC_ENTRY_LB_MODEM_CONTROL_SET:
  21180 		rv = bcm_lb_modem_control_set(
  21181 			req->args.lb_modem_control_set.unit,
  21182 			req->args.lb_modem_control_set.modem_id,
  21183 			req->args.lb_modem_control_set.direction,
  21184 			req->args.lb_modem_control_set.flags,
  21185 			req->args.lb_modem_control_set.modem_control,
  21186 			req->args.lb_modem_control_set.arg);
  21187 		break;
  21188 	case BCM_ASYNC_ENTRY_LB_MODEM_PACKET_CONFIG_GET:
  21189 		rv = bcm_lb_modem_packet_config_get(
  21190 			req->args.lb_modem_packet_config_get.unit,
  21191 			req->args.lb_modem_packet_config_get.modem_id,
  21192 			req->args.lb_modem_packet_config_get.flags,
  21193 			req->args.lb_modem_packet_config_get.packet_config);
  21194 		break;
  21195 	case BCM_ASYNC_ENTRY_LB_MODEM_PACKET_CONFIG_SET:
  21196 		rv = bcm_lb_modem_packet_config_set(
  21197 			req->args.lb_modem_packet_config_set.unit,
  21198 			req->args.lb_modem_packet_config_set.modem_id,
  21199 			req->args.lb_modem_packet_config_set.flags,
  21200 			req->args.lb_modem_packet_config_set.packet_config);
  21201 		break;
  21202 	case BCM_ASYNC_ENTRY_LB_MODEM_SHAPER_GET:
  21203 		rv = bcm_lb_modem_shaper_get(
  21204 			req->args.lb_modem_shaper_get.unit,
  21205 			req->args.lb_modem_shaper_get.modem_id,
  21206 			req->args.lb_modem_shaper_get.flags,
  21207 			req->args.lb_modem_shaper_get.shaper);
  21208 		break;
  21209 	case BCM_ASYNC_ENTRY_LB_MODEM_SHAPER_SET:
  21210 		rv = bcm_lb_modem_shaper_set(
  21211 			req->args.lb_modem_shaper_set.unit,
  21212 			req->args.lb_modem_shaper_set.modem_id,
  21213 			req->args.lb_modem_shaper_set.flags,
  21214 			req->args.lb_modem_shaper_set.shaper);
  21215 		break;
  21216 	case BCM_ASYNC_ENTRY_LB_MODEM_STAT_GET:
  21217 		rv = bcm_lb_modem_stat_get(
  21218 			req->args.lb_modem_stat_get.unit,
  21219 			req->args.lb_modem_stat_get.modem_id,
  21220 			req->args.lb_modem_stat_get.direction,
  21221 			req->args.lb_modem_stat_get.flags,
  21222 			req->args.lb_modem_stat_get.type,
  21223 			req->args.lb_modem_stat_get.value);
  21224 		break;
  21225 	case BCM_ASYNC_ENTRY_LB_MODEM_STATUS_GET:
  21226 		rv = bcm_lb_modem_status_get(
  21227 			req->args.lb_modem_status_get.unit,
  21228 			req->args.lb_modem_status_get.modem_id,
  21229 			req->args.lb_modem_status_get.direction,
  21230 			req->args.lb_modem_status_get.flags,
  21231 			req->args.lb_modem_status_get.status_type,
  21232 			req->args.lb_modem_status_get.value);
  21233 		break;
  21234 	case BCM_ASYNC_ENTRY_LB_MODEM_TO_LBG_MAP_GET:
  21235 		rv = bcm_lb_modem_to_lbg_map_get(
  21236 			req->args.lb_modem_to_lbg_map_get.unit,
  21237 			req->args.lb_modem_to_lbg_map_get.modem_id,
  21238 			req->args.lb_modem_to_lbg_map_get.direction,
  21239 			req->args.lb_modem_to_lbg_map_get.flags,
  21240 			req->args.lb_modem_to_lbg_map_get.lbg_id);
  21241 		break;
  21242 	case BCM_ASYNC_ENTRY_LB_MODEM_TO_LBG_MAP_SET:
  21243 		rv = bcm_lb_modem_to_lbg_map_set(
  21244 			req->args.lb_modem_to_lbg_map_set.unit,
  21245 			req->args.lb_modem_to_lbg_map_set.modem_id,
  21246 			req->args.lb_modem_to_lbg_map_set.direction,
  21247 			req->args.lb_modem_to_lbg_map_set.flags,
  21248 			req->args.lb_modem_to_lbg_map_set.lbg_id);
  21249 		break;
  21250 	case BCM_ASYNC_ENTRY_LB_MODEM_TO_PORT_MAP_GET:
  21251 		rv = bcm_lb_modem_to_port_map_get(
  21252 			req->args.lb_modem_to_port_map_get.unit,
  21253 			req->args.lb_modem_to_port_map_get.modem_id,
  21254 			req->args.lb_modem_to_port_map_get.flags,
  21255 			req->args.lb_modem_to_port_map_get.port);
  21256 		break;
  21257 	case BCM_ASYNC_ENTRY_LB_MODEM_TO_PORT_MAP_SET:
  21258 		rv = bcm_lb_modem_to_port_map_set(
  21259 			req->args.lb_modem_to_port_map_set.unit,
  21260 			req->args.lb_modem_to_port_map_set.modem_id,
  21261 			req->args.lb_modem_to_port_map_set.flags,
  21262 			req->args.lb_modem_to_port_map_set.port);
  21263 		break;
  21264 	case BCM_ASYNC_ENTRY_LB_PACKET_CONFIG_GET:
  21265 		rv = bcm_lb_packet_config_get(
  21266 			req->args.lb_packet_config_get.unit,
  21267 			req->args.lb_packet_config_get.flags,
  21268 			req->args.lb_packet_config_get.packet_config);
  21269 		break;
  21270 	case BCM_ASYNC_ENTRY_LB_PACKET_CONFIG_SET:
  21271 		rv = bcm_lb_packet_config_set(
  21272 			req->args.lb_packet_config_set.unit,
  21273 			req->args.lb_packet_config_set.flags,
  21274 			req->args.lb_packet_config_set.packet_config);
  21275 		break;
  21276 	case BCM_ASYNC_ENTRY_LB_RX_MODEM_MAP_GET:
  21277 		rv = bcm_lb_rx_modem_map_get(
  21278 			req->args.lb_rx_modem_map_get.unit,
  21279 			req->args.lb_rx_modem_map_get.map_index,
  21280 			req->args.lb_rx_modem_map_get.flags,
  21281 			req->args.lb_rx_modem_map_get.map_config);
  21282 		break;
  21283 	case BCM_ASYNC_ENTRY_LB_RX_MODEM_MAP_SET:
  21284 		rv = bcm_lb_rx_modem_map_set(
  21285 			req->args.lb_rx_modem_map_set.unit,
  21286 			req->args.lb_rx_modem_map_set.map_index,
  21287 			req->args.lb_rx_modem_map_set.flags,
  21288 			req->args.lb_rx_modem_map_set.map_config);
  21289 		break;
  21290 	case BCM_ASYNC_ENTRY_LB_SEQUENCE_NUMBER_WIDTH_GET:
  21291 		rv = bcm_lb_sequence_number_width_get(
  21292 			req->args.lb_sequence_number_width_get.unit,
  21293 			req->args.lb_sequence_number_width_get.lbg_id,
  21294 			req->args.lb_sequence_number_width_get.direction,
  21295 			req->args.lb_sequence_number_width_get.flags,
  21296 			req->args.lb_sequence_number_width_get.number_width);
  21297 		break;
  21298 	case BCM_ASYNC_ENTRY_LB_SEQUENCE_NUMBER_WIDTH_SET:
  21299 		rv = bcm_lb_sequence_number_width_set(
  21300 			req->args.lb_sequence_number_width_set.unit,
  21301 			req->args.lb_sequence_number_width_set.lbg_id,
  21302 			req->args.lb_sequence_number_width_set.direction,
  21303 			req->args.lb_sequence_number_width_set.flags,
  21304 			req->args.lb_sequence_number_width_set.number_width);
  21305 		break;
  21306 	case BCM_ASYNC_ENTRY_LB_STAT_GET:
  21307 		rv = bcm_lb_stat_get(
  21308 			req->args.lb_stat_get.unit,
  21309 			req->args.lb_stat_get.lbg_id,
  21310 			req->args.lb_stat_get.direction,
  21311 			req->args.lb_stat_get.flags,
  21312 			req->args.lb_stat_get.type,
  21313 			req->args.lb_stat_get.value);
  21314 		break;
  21315 	case BCM_ASYNC_ENTRY_LB_STATUS_GET:
  21316 		rv = bcm_lb_status_get(
  21317 			req->args.lb_status_get.unit,
  21318 			req->args.lb_status_get.lbg_id,
  21319 			req->args.lb_status_get.direction,
  21320 			req->args.lb_status_get.flags,
  21321 			req->args.lb_status_get.status_type,
  21322 			req->args.lb_status_get.value);
  21323 		break;
  21324 	case BCM_ASYNC_ENTRY_LB_TC_DP_TO_PRIORITY_CONFIG_GET:
  21325 		rv = bcm_lb_tc_dp_to_priority_config_get(
  21326 			req->args.lb_tc_dp_to_priority_config_get.unit,
  21327 			req->args.lb_tc_dp_to_priority_config_get.flags,
  21328 			req->args.lb_tc_dp_to_priority_config_get.tc_dp,
  21329 			req->args.lb_tc_dp_to_priority_config_get.pkt_pri);
  21330 		break;
  21331 	case BCM_ASYNC_ENTRY_LB_TC_DP_TO_PRIORITY_CONFIG_SET:
  21332 		rv = bcm_lb_tc_dp_to_priority_config_set(
  21333 			req->args.lb_tc_dp_to_priority_config_set.unit,
  21334 			req->args.lb_tc_dp_to_priority_config_set.flags,
  21335 			req->args.lb_tc_dp_to_priority_config_set.tc_dp,
  21336 			req->args.lb_tc_dp_to_priority_config_set.pkt_pri);
  21337 		break;
  21338 	case BCM_ASYNC_ENTRY_LB_TX_SCHED_GET:
  21339 		rv = bcm_lb_tx_sched_get(
  21340 			req->args.lb_tx_sched_get.unit,
  21341 			req->args.lb_tx_sched_get.flags,
  21342 			req->args.lb_tx_sched_get.max_lbg_count,
  21343 			req->args.lb_tx_sched_get.lbg_weights,
  21344 			req->args.lb_tx_sched_get.lbg_count);
  21345 		break;
  21346 	case BCM_ASYNC_ENTRY_LB_TX_SCHED_SET:
  21347 		rv = bcm_lb_tx_sched_set(
  21348 			req->args.lb_tx_sched_set.unit,
  21349 			req->args.lb_tx_sched_set.flags,
  21350 			req->args.lb_tx_sched_set.lbg_count,
  21351 			req->args.lb_tx_sched_set.lbg_weights);
  21352 		break;
  21353 	case BCM_ASYNC_ENTRY_LINK_CHANGE:
  21354 		rv = bcm_link_change(
  21355 			req->args.link_change.unit,
  21356 			req->args.link_change.pbmp);
  21357 		break;
  21358 	case BCM_ASYNC_ENTRY_LINK_WAIT:
  21359 		rv = bcm_link_wait(
  21360 			req->args.link_wait.unit,
  21361 			req->args.link_wait.pbm,
  21362 			req->args.link_wait.us);
  21363 		break;
  21364 	case BCM_ASYNC_ENTRY_LINKSCAN_DETACH:
  21365 		rv = bcm_linkscan_detach(
  21366 			req->args.linkscan_detach.unit);
  21367 		break;
  21368 #ifdef	BROADCOM_DEBUG
  21369 	case BCM_ASYNC_ENTRY_LINKSCAN_DUMP:
  21370 		rv = bcm_linkscan_dump(
  21371 			req->args.linkscan_dump.unit);
  21372 		break;
  21373 #endif	/* BROADCOM_DEBUG */
  21374 	case BCM_ASYNC_ENTRY_LINKSCAN_ENABLE_GET:
  21375 		rv = bcm_linkscan_enable_get(
  21376 			req->args.linkscan_enable_get.unit,
  21377 			req->args.linkscan_enable_get.us);
  21378 		break;
  21379 	case BCM_ASYNC_ENTRY_LINKSCAN_ENABLE_PORT_GET:
  21380 		rv = bcm_linkscan_enable_port_get(
  21381 			req->args.linkscan_enable_port_get.unit,
  21382 			req->args.linkscan_enable_port_get.port);
  21383 		break;
  21384 	case BCM_ASYNC_ENTRY_LINKSCAN_ENABLE_SET:
  21385 		rv = bcm_linkscan_enable_set(
  21386 			req->args.linkscan_enable_set.unit,
  21387 			req->args.linkscan_enable_set.us);
  21388 		break;
  21389 	case BCM_ASYNC_ENTRY_LINKSCAN_INIT:
  21390 		rv = bcm_linkscan_init(
  21391 			req->args.linkscan_init.unit);
  21392 		break;
  21393 	case BCM_ASYNC_ENTRY_LINKSCAN_MODE_GET:
  21394 		rv = bcm_linkscan_mode_get(
  21395 			req->args.linkscan_mode_get.unit,
  21396 			req->args.linkscan_mode_get.port,
  21397 			req->args.linkscan_mode_get.mode);
  21398 		break;
  21399 	case BCM_ASYNC_ENTRY_LINKSCAN_MODE_SET:
  21400 		rv = bcm_linkscan_mode_set(
  21401 			req->args.linkscan_mode_set.unit,
  21402 			req->args.linkscan_mode_set.port,
  21403 			req->args.linkscan_mode_set.mode);
  21404 		break;
  21405 	case BCM_ASYNC_ENTRY_LINKSCAN_MODE_SET_PBM:
  21406 		rv = bcm_linkscan_mode_set_pbm(
  21407 			req->args.linkscan_mode_set_pbm.unit,
  21408 			req->args.linkscan_mode_set_pbm.pbm,
  21409 			req->args.linkscan_mode_set_pbm.mode);
  21410 		break;
  21411 	case BCM_ASYNC_ENTRY_LINKSCAN_PORT_REGISTER:
  21412 		rv = bcm_linkscan_port_register(
  21413 			req->args.linkscan_port_register.unit,
  21414 			req->args.linkscan_port_register.port,
  21415 			req->args.linkscan_port_register.f);
  21416 		break;
  21417 	case BCM_ASYNC_ENTRY_LINKSCAN_PORT_UNREGISTER:
  21418 		rv = bcm_linkscan_port_unregister(
  21419 			req->args.linkscan_port_unregister.unit,
  21420 			req->args.linkscan_port_unregister.port,
  21421 			req->args.linkscan_port_unregister.f);
  21422 		break;
  21423 	case BCM_ASYNC_ENTRY_LINKSCAN_REGISTER:
  21424 		rv = bcm_linkscan_register(
  21425 			req->args.linkscan_register.unit,
  21426 			req->args.linkscan_register.f);
  21427 		break;
  21428 	case BCM_ASYNC_ENTRY_LINKSCAN_TRIGGER_EVENT_GET:
  21429 		rv = bcm_linkscan_trigger_event_get(
  21430 			req->args.linkscan_trigger_event_get.unit,
  21431 			req->args.linkscan_trigger_event_get.port,
  21432 			req->args.linkscan_trigger_event_get.flags,
  21433 			req->args.linkscan_trigger_event_get.trigger_event,
  21434 			req->args.linkscan_trigger_event_get.enable);
  21435 		break;
  21436 	case BCM_ASYNC_ENTRY_LINKSCAN_TRIGGER_EVENT_SET:
  21437 		rv = bcm_linkscan_trigger_event_set(
  21438 			req->args.linkscan_trigger_event_set.unit,
  21439 			req->args.linkscan_trigger_event_set.port,
  21440 			req->args.linkscan_trigger_event_set.flags,
  21441 			req->args.linkscan_trigger_event_set.trigger_event,
  21442 			req->args.linkscan_trigger_event_set.enable);
  21443 		break;
  21444 	case BCM_ASYNC_ENTRY_LINKSCAN_UNREGISTER:
  21445 		rv = bcm_linkscan_unregister(
  21446 			req->args.linkscan_unregister.unit,
  21447 			req->args.linkscan_unregister.f);
  21448 		break;
  21449 	case BCM_ASYNC_ENTRY_LINKSCAN_UPDATE:
  21450 		rv = bcm_linkscan_update(
  21451 			req->args.linkscan_update.unit,
  21452 			req->args.linkscan_update.pbm);
  21453 		break;
  21454 #ifdef	INCLUDE_MACSEC
  21455 	case BCM_ASYNC_ENTRY_MACSEC_EVENT_ENABLE_GET:
  21456 		rv = bcm_macsec_event_enable_get(
  21457 			req->args.macsec_event_enable_get.unit,
  21458 			req->args.macsec_event_enable_get.t,
  21459 			req->args.macsec_event_enable_get.enable);
  21460 		break;
  21461 	case BCM_ASYNC_ENTRY_MACSEC_EVENT_ENABLE_SET:
  21462 		rv = bcm_macsec_event_enable_set(
  21463 			req->args.macsec_event_enable_set.unit,
  21464 			req->args.macsec_event_enable_set.t,
  21465 			req->args.macsec_event_enable_set.enable);
  21466 		break;
  21467 	case BCM_ASYNC_ENTRY_MACSEC_EVENT_REGISTER:
  21468 		rv = bcm_macsec_event_register(
  21469 			req->args.macsec_event_register.unit,
  21470 			req->args.macsec_event_register.cb,
  21471 			req->args.macsec_event_register.user_data);
  21472 		break;
  21473 	case BCM_ASYNC_ENTRY_MACSEC_EVENT_UNREGISTER:
  21474 		rv = bcm_macsec_event_unregister(
  21475 			req->args.macsec_event_unregister.unit,
  21476 			req->args.macsec_event_unregister.cb);
  21477 		break;
  21478 	case BCM_ASYNC_ENTRY_MACSEC_FLOW_CREATE:
  21479 		rv = bcm_macsec_flow_create(
  21480 			req->args.macsec_flow_create.unit,
  21481 			req->args.macsec_flow_create.port,
  21482 			req->args.macsec_flow_create.flags,
  21483 			req->args.macsec_flow_create.flow,
  21484 			req->args.macsec_flow_create.action,
  21485 			req->args.macsec_flow_create.flowId);
  21486 		break;
  21487 	case BCM_ASYNC_ENTRY_MACSEC_FLOW_DESTROY:
  21488 		rv = bcm_macsec_flow_destroy(
  21489 			req->args.macsec_flow_destroy.unit,
  21490 			req->args.macsec_flow_destroy.port,
  21491 			req->args.macsec_flow_destroy.flowId);
  21492 		break;
  21493 	case BCM_ASYNC_ENTRY_MACSEC_FLOW_GET:
  21494 		rv = bcm_macsec_flow_get(
  21495 			req->args.macsec_flow_get.unit,
  21496 			req->args.macsec_flow_get.port,
  21497 			req->args.macsec_flow_get.flowId,
  21498 			req->args.macsec_flow_get.flow,
  21499 			req->args.macsec_flow_get.a);
  21500 		break;
  21501 	case BCM_ASYNC_ENTRY_MACSEC_FLOW_TRAVERSE:
  21502 		rv = bcm_macsec_flow_traverse(
  21503 			req->args.macsec_flow_traverse.unit,
  21504 			req->args.macsec_flow_traverse.port,
  21505 			req->args.macsec_flow_traverse.callbk,
  21506 			req->args.macsec_flow_traverse.user_data);
  21507 		break;
  21508 	case BCM_ASYNC_ENTRY_MACSEC_PORT_CAPABILITY_GET:
  21509 		rv = bcm_macsec_port_capability_get(
  21510 			req->args.macsec_port_capability_get.unit,
  21511 			req->args.macsec_port_capability_get.port,
  21512 			req->args.macsec_port_capability_get.cap);
  21513 		break;
  21514 	case BCM_ASYNC_ENTRY_MACSEC_PORT_CONFIG_GET:
  21515 		rv = bcm_macsec_port_config_get(
  21516 			req->args.macsec_port_config_get.unit,
  21517 			req->args.macsec_port_config_get.port,
  21518 			req->args.macsec_port_config_get.cfg);
  21519 		break;
  21520 	case BCM_ASYNC_ENTRY_MACSEC_PORT_CONFIG_SET:
  21521 		rv = bcm_macsec_port_config_set(
  21522 			req->args.macsec_port_config_set.unit,
  21523 			req->args.macsec_port_config_set.port,
  21524 			req->args.macsec_port_config_set.cfg);
  21525 		break;
  21526 	case BCM_ASYNC_ENTRY_MACSEC_PORT_TRAVERSE:
  21527 		rv = bcm_macsec_port_traverse(
  21528 			req->args.macsec_port_traverse.unit,
  21529 			req->args.macsec_port_traverse.callbk,
  21530 			req->args.macsec_port_traverse.user_data);
  21531 		break;
  21532 	case BCM_ASYNC_ENTRY_MACSEC_SECURE_ASSOC_CREATE:
  21533 		rv = bcm_macsec_secure_assoc_create(
  21534 			req->args.macsec_secure_assoc_create.unit,
  21535 			req->args.macsec_secure_assoc_create.port,
  21536 			req->args.macsec_secure_assoc_create.flags,
  21537 			req->args.macsec_secure_assoc_create.chanId,
  21538 			req->args.macsec_secure_assoc_create.assoc,
  21539 			req->args.macsec_secure_assoc_create.assocId);
  21540 		break;
  21541 	case BCM_ASYNC_ENTRY_MACSEC_SECURE_ASSOC_DESTROY:
  21542 		rv = bcm_macsec_secure_assoc_destroy(
  21543 			req->args.macsec_secure_assoc_destroy.unit,
  21544 			req->args.macsec_secure_assoc_destroy.port,
  21545 			req->args.macsec_secure_assoc_destroy.assocId);
  21546 		break;
  21547 	case BCM_ASYNC_ENTRY_MACSEC_SECURE_ASSOC_GET:
  21548 		rv = bcm_macsec_secure_assoc_get(
  21549 			req->args.macsec_secure_assoc_get.unit,
  21550 			req->args.macsec_secure_assoc_get.port,
  21551 			req->args.macsec_secure_assoc_get.assocId,
  21552 			req->args.macsec_secure_assoc_get.assoc,
  21553 			req->args.macsec_secure_assoc_get.chanId);
  21554 		break;
  21555 	case BCM_ASYNC_ENTRY_MACSEC_SECURE_ASSOC_TRAVERSE:
  21556 		rv = bcm_macsec_secure_assoc_traverse(
  21557 			req->args.macsec_secure_assoc_traverse.unit,
  21558 			req->args.macsec_secure_assoc_traverse.port,
  21559 			req->args.macsec_secure_assoc_traverse.chanId,
  21560 			req->args.macsec_secure_assoc_traverse.cb,
  21561 			req->args.macsec_secure_assoc_traverse.user_data);
  21562 		break;
  21563 	case BCM_ASYNC_ENTRY_MACSEC_SECURE_CHAN_CREATE:
  21564 		rv = bcm_macsec_secure_chan_create(
  21565 			req->args.macsec_secure_chan_create.unit,
  21566 			req->args.macsec_secure_chan_create.port,
  21567 			req->args.macsec_secure_chan_create.flags,
  21568 			req->args.macsec_secure_chan_create.chan,
  21569 			req->args.macsec_secure_chan_create.chanId);
  21570 		break;
  21571 	case BCM_ASYNC_ENTRY_MACSEC_SECURE_CHAN_DESTROY:
  21572 		rv = bcm_macsec_secure_chan_destroy(
  21573 			req->args.macsec_secure_chan_destroy.unit,
  21574 			req->args.macsec_secure_chan_destroy.port,
  21575 			req->args.macsec_secure_chan_destroy.chanId);
  21576 		break;
  21577 	case BCM_ASYNC_ENTRY_MACSEC_SECURE_CHAN_GET:
  21578 		rv = bcm_macsec_secure_chan_get(
  21579 			req->args.macsec_secure_chan_get.unit,
  21580 			req->args.macsec_secure_chan_get.port,
  21581 			req->args.macsec_secure_chan_get.chanId,
  21582 			req->args.macsec_secure_chan_get.chan);
  21583 		break;
  21584 	case BCM_ASYNC_ENTRY_MACSEC_SECURE_CHAN_TRAVERSE:
  21585 		rv = bcm_macsec_secure_chan_traverse(
  21586 			req->args.macsec_secure_chan_traverse.unit,
  21587 			req->args.macsec_secure_chan_traverse.port,
  21588 			req->args.macsec_secure_chan_traverse.calback,
  21589 			req->args.macsec_secure_chan_traverse.user_data);
  21590 		break;
  21591 	case BCM_ASYNC_ENTRY_MACSEC_STAT_CLEAR:
  21592 		rv = bcm_macsec_stat_clear(
  21593 			req->args.macsec_stat_clear.unit,
  21594 			req->args.macsec_stat_clear.port);
  21595 		break;
  21596 	case BCM_ASYNC_ENTRY_MACSEC_STAT_GET:
  21597 		rv = bcm_macsec_stat_get(
  21598 			req->args.macsec_stat_get.unit,
  21599 			req->args.macsec_stat_get.port,
  21600 			req->args.macsec_stat_get.stat,
  21601 			req->args.macsec_stat_get.chanId,
  21602 			req->args.macsec_stat_get.assocId,
  21603 			req->args.macsec_stat_get.val);
  21604 		break;
  21605 	case BCM_ASYNC_ENTRY_MACSEC_STAT_GET32:
  21606 		rv = bcm_macsec_stat_get32(
  21607 			req->args.macsec_stat_get32.unit,
  21608 			req->args.macsec_stat_get32.port,
  21609 			req->args.macsec_stat_get32.stat,
  21610 			req->args.macsec_stat_get32.chanId,
  21611 			req->args.macsec_stat_get32.assocId,
  21612 			req->args.macsec_stat_get32.val);
  21613 		break;
  21614 	case BCM_ASYNC_ENTRY_MACSEC_STAT_SET:
  21615 		rv = bcm_macsec_stat_set(
  21616 			req->args.macsec_stat_set.unit,
  21617 			req->args.macsec_stat_set.port,
  21618 			req->args.macsec_stat_set.stat,
  21619 			req->args.macsec_stat_set.chanId,
  21620 			req->args.macsec_stat_set.assocId,
  21621 			req->args.macsec_stat_set.val);
  21622 		break;
  21623 	case BCM_ASYNC_ENTRY_MACSEC_STAT_SET32:
  21624 		rv = bcm_macsec_stat_set32(
  21625 			req->args.macsec_stat_set32.unit,
  21626 			req->args.macsec_stat_set32.port,
  21627 			req->args.macsec_stat_set32.stat,
  21628 			req->args.macsec_stat_set32.chanId,
  21629 			req->args.macsec_stat_set32.assocId,
  21630 			req->args.macsec_stat_set32.val);
  21631 		break;
  21632 #endif	/* INCLUDE_MACSEC */
  21633 	case BCM_ASYNC_ENTRY_MCAST_ADDR_ADD:
  21634 		rv = bcm_mcast_addr_add(
  21635 			req->args.mcast_addr_add.unit,
  21636 			req->args.mcast_addr_add.mcaddr);
  21637 		break;
  21638 	case BCM_ASYNC_ENTRY_MCAST_ADDR_ADD_W_L2MCINDEX:
  21639 		rv = bcm_mcast_addr_add_w_l2mcindex(
  21640 			req->args.mcast_addr_add_w_l2mcindex.unit,
  21641 			req->args.mcast_addr_add_w_l2mcindex.mcaddr);
  21642 		break;
  21643 	case BCM_ASYNC_ENTRY_MCAST_ADDR_REMOVE:
  21644 		rv = bcm_mcast_addr_remove(
  21645 			req->args.mcast_addr_remove.unit,
  21646 			req->args.mcast_addr_remove.mac,
  21647 			req->args.mcast_addr_remove.vid);
  21648 		break;
  21649 	case BCM_ASYNC_ENTRY_MCAST_ADDR_REMOVE_W_L2MCINDEX:
  21650 		rv = bcm_mcast_addr_remove_w_l2mcindex(
  21651 			req->args.mcast_addr_remove_w_l2mcindex.unit,
  21652 			req->args.mcast_addr_remove_w_l2mcindex.mcaddr);
  21653 		break;
  21654 	case BCM_ASYNC_ENTRY_MCAST_BITMAP_DEL:
  21655 		rv = bcm_mcast_bitmap_del(
  21656 			req->args.mcast_bitmap_del.unit,
  21657 			req->args.mcast_bitmap_del.mc_idx,
  21658 			req->args.mcast_bitmap_del.in_port,
  21659 			req->args.mcast_bitmap_del.pbmp);
  21660 		break;
  21661 	case BCM_ASYNC_ENTRY_MCAST_BITMAP_GET:
  21662 		rv = bcm_mcast_bitmap_get(
  21663 			req->args.mcast_bitmap_get.unit,
  21664 			req->args.mcast_bitmap_get.mc_idx,
  21665 			req->args.mcast_bitmap_get.in_port,
  21666 			req->args.mcast_bitmap_get.pbmp);
  21667 		break;
  21668 	case BCM_ASYNC_ENTRY_MCAST_BITMAP_MAX_GET:
  21669 		rv = bcm_mcast_bitmap_max_get(
  21670 			req->args.mcast_bitmap_max_get.unit,
  21671 			req->args.mcast_bitmap_max_get.max_index);
  21672 		break;
  21673 	case BCM_ASYNC_ENTRY_MCAST_BITMAP_SET:
  21674 		rv = bcm_mcast_bitmap_set(
  21675 			req->args.mcast_bitmap_set.unit,
  21676 			req->args.mcast_bitmap_set.mc_idx,
  21677 			req->args.mcast_bitmap_set.in_port,
  21678 			req->args.mcast_bitmap_set.pbmp);
  21679 		break;
  21680 	case BCM_ASYNC_ENTRY_MCAST_INIT:
  21681 		rv = bcm_mcast_init(
  21682 			req->args.mcast_init.unit);
  21683 		break;
  21684 	case BCM_ASYNC_ENTRY_MCAST_JOIN:
  21685 		rv = bcm_mcast_join(
  21686 			req->args.mcast_join.unit,
  21687 			req->args.mcast_join.mcMacAddr,
  21688 			req->args.mcast_join.vlanId,
  21689 			req->args.mcast_join.srcPort,
  21690 			req->args.mcast_join.mcaddr,
  21691 			req->args.mcast_join.allRouterBmp);
  21692 		break;
  21693 	case BCM_ASYNC_ENTRY_MCAST_LEAVE:
  21694 		rv = bcm_mcast_leave(
  21695 			req->args.mcast_leave.unit,
  21696 			req->args.mcast_leave.mcMacAddr,
  21697 			req->args.mcast_leave.vlanId,
  21698 			req->args.mcast_leave.srcPort);
  21699 		break;
  21700 	case BCM_ASYNC_ENTRY_MCAST_PORT_ADD:
  21701 		rv = bcm_mcast_port_add(
  21702 			req->args.mcast_port_add.unit,
  21703 			req->args.mcast_port_add.mcaddr);
  21704 		break;
  21705 	case BCM_ASYNC_ENTRY_MCAST_PORT_GET:
  21706 		rv = bcm_mcast_port_get(
  21707 			req->args.mcast_port_get.unit,
  21708 			req->args.mcast_port_get.mac,
  21709 			req->args.mcast_port_get.vid,
  21710 			req->args.mcast_port_get.mcaddr);
  21711 		break;
  21712 	case BCM_ASYNC_ENTRY_MCAST_PORT_REMOVE:
  21713 		rv = bcm_mcast_port_remove(
  21714 			req->args.mcast_port_remove.unit,
  21715 			req->args.mcast_port_remove.mcaddr);
  21716 		break;
  21717 #ifdef	INCLUDE_L3
  21718 	case BCM_ASYNC_ENTRY_MIM_DETACH:
  21719 		rv = bcm_mim_detach(
  21720 			req->args.mim_detach.unit);
  21721 		break;
  21722 	case BCM_ASYNC_ENTRY_MIM_INIT:
  21723 		rv = bcm_mim_init(
  21724 			req->args.mim_init.unit);
  21725 		break;
  21726 	case BCM_ASYNC_ENTRY_MIM_LOOKUP_ID_STAT_ATTACH:
  21727 		rv = bcm_mim_lookup_id_stat_attach(
  21728 			req->args.mim_lookup_id_stat_attach.unit,
  21729 			req->args.mim_lookup_id_stat_attach.lookup_id,
  21730 			req->args.mim_lookup_id_stat_attach.stat_counter_id);
  21731 		break;
  21732 	case BCM_ASYNC_ENTRY_MIM_LOOKUP_ID_STAT_COUNTER_GET:
  21733 		rv = bcm_mim_lookup_id_stat_counter_get(
  21734 			req->args.mim_lookup_id_stat_counter_get.unit,
  21735 			req->args.mim_lookup_id_stat_counter_get.lookup_id,
  21736 			req->args.mim_lookup_id_stat_counter_get.stat,
  21737 			req->args.mim_lookup_id_stat_counter_get.num_entries,
  21738 			req->args.mim_lookup_id_stat_counter_get.counter_indexes,
  21739 			req->args.mim_lookup_id_stat_counter_get.counter_values);
  21740 		break;
  21741 	case BCM_ASYNC_ENTRY_MIM_LOOKUP_ID_STAT_COUNTER_SET:
  21742 		rv = bcm_mim_lookup_id_stat_counter_set(
  21743 			req->args.mim_lookup_id_stat_counter_set.unit,
  21744 			req->args.mim_lookup_id_stat_counter_set.lookup_id,
  21745 			req->args.mim_lookup_id_stat_counter_set.stat,
  21746 			req->args.mim_lookup_id_stat_counter_set.num_entries,
  21747 			req->args.mim_lookup_id_stat_counter_set.counter_indexes,
  21748 			req->args.mim_lookup_id_stat_counter_set.counter_values);
  21749 		break;
  21750 	case BCM_ASYNC_ENTRY_MIM_LOOKUP_ID_STAT_COUNTER_SYNC_GET:
  21751 		rv = bcm_mim_lookup_id_stat_counter_sync_get(
  21752 			req->args.mim_lookup_id_stat_counter_sync_get.unit,
  21753 			req->args.mim_lookup_id_stat_counter_sync_get.lookup_id,
  21754 			req->args.mim_lookup_id_stat_counter_sync_get.stat,
  21755 			req->args.mim_lookup_id_stat_counter_sync_get.num_entries,
  21756 			req->args.mim_lookup_id_stat_counter_sync_get.counter_indexes,
  21757 			req->args.mim_lookup_id_stat_counter_sync_get.counter_values);
  21758 		break;
  21759 	case BCM_ASYNC_ENTRY_MIM_LOOKUP_ID_STAT_DETACH:
  21760 		rv = bcm_mim_lookup_id_stat_detach(
  21761 			req->args.mim_lookup_id_stat_detach.unit,
  21762 			req->args.mim_lookup_id_stat_detach.lookup_id);
  21763 		break;
  21764 	case BCM_ASYNC_ENTRY_MIM_LOOKUP_ID_STAT_ID_GET:
  21765 		rv = bcm_mim_lookup_id_stat_id_get(
  21766 			req->args.mim_lookup_id_stat_id_get.unit,
  21767 			req->args.mim_lookup_id_stat_id_get.lookup_id,
  21768 			req->args.mim_lookup_id_stat_id_get.stat,
  21769 			req->args.mim_lookup_id_stat_id_get.stat_counter_id);
  21770 		break;
  21771 	case BCM_ASYNC_ENTRY_MIM_PORT_ADD:
  21772 		rv = bcm_mim_port_add(
  21773 			req->args.mim_port_add.unit,
  21774 			req->args.mim_port_add.vpn,
  21775 			req->args.mim_port_add.mim_port);
  21776 		break;
  21777 	case BCM_ASYNC_ENTRY_MIM_PORT_DELETE:
  21778 		rv = bcm_mim_port_delete(
  21779 			req->args.mim_port_delete.unit,
  21780 			req->args.mim_port_delete.vpn,
  21781 			req->args.mim_port_delete.mim_port_id);
  21782 		break;
  21783 	case BCM_ASYNC_ENTRY_MIM_PORT_DELETE_ALL:
  21784 		rv = bcm_mim_port_delete_all(
  21785 			req->args.mim_port_delete_all.unit,
  21786 			req->args.mim_port_delete_all.vpn);
  21787 		break;
  21788 	case BCM_ASYNC_ENTRY_MIM_PORT_GET:
  21789 		rv = bcm_mim_port_get(
  21790 			req->args.mim_port_get.unit,
  21791 			req->args.mim_port_get.vpn,
  21792 			req->args.mim_port_get.mim_port);
  21793 		break;
  21794 	case BCM_ASYNC_ENTRY_MIM_PORT_GET_ALL:
  21795 		rv = bcm_mim_port_get_all(
  21796 			req->args.mim_port_get_all.unit,
  21797 			req->args.mim_port_get_all.vpn,
  21798 			req->args.mim_port_get_all.port_max,
  21799 			req->args.mim_port_get_all.port_array,
  21800 			req->args.mim_port_get_all.port_count);
  21801 		break;
  21802 	case BCM_ASYNC_ENTRY_MIM_VPN_CREATE:
  21803 		rv = bcm_mim_vpn_create(
  21804 			req->args.mim_vpn_create.unit,
  21805 			req->args.mim_vpn_create.info);
  21806 		break;
  21807 	case BCM_ASYNC_ENTRY_MIM_VPN_DESTROY:
  21808 		rv = bcm_mim_vpn_destroy(
  21809 			req->args.mim_vpn_destroy.unit,
  21810 			req->args.mim_vpn_destroy.vpn);
  21811 		break;
  21812 	case BCM_ASYNC_ENTRY_MIM_VPN_DESTROY_ALL:
  21813 		rv = bcm_mim_vpn_destroy_all(
  21814 			req->args.mim_vpn_destroy_all.unit);
  21815 		break;
  21816 	case BCM_ASYNC_ENTRY_MIM_VPN_GET:
  21817 		rv = bcm_mim_vpn_get(
  21818 			req->args.mim_vpn_get.unit,
  21819 			req->args.mim_vpn_get.vpn,
  21820 			req->args.mim_vpn_get.info);
  21821 		break;
  21822 	case BCM_ASYNC_ENTRY_MIM_VPN_STAT_ATTACH:
  21823 		rv = bcm_mim_vpn_stat_attach(
  21824 			req->args.mim_vpn_stat_attach.unit,
  21825 			req->args.mim_vpn_stat_attach.vpn,
  21826 			req->args.mim_vpn_stat_attach.stat_counter_id);
  21827 		break;
  21828 	case BCM_ASYNC_ENTRY_MIM_VPN_STAT_COUNTER_GET:
  21829 		rv = bcm_mim_vpn_stat_counter_get(
  21830 			req->args.mim_vpn_stat_counter_get.unit,
  21831 			req->args.mim_vpn_stat_counter_get.vpn,
  21832 			req->args.mim_vpn_stat_counter_get.stat,
  21833 			req->args.mim_vpn_stat_counter_get.num_entries,
  21834 			req->args.mim_vpn_stat_counter_get.counter_indexes,
  21835 			req->args.mim_vpn_stat_counter_get.counter_values);
  21836 		break;
  21837 	case BCM_ASYNC_ENTRY_MIM_VPN_STAT_COUNTER_SET:
  21838 		rv = bcm_mim_vpn_stat_counter_set(
  21839 			req->args.mim_vpn_stat_counter_set.unit,
  21840 			req->args.mim_vpn_stat_counter_set.vpn,
  21841 			req->args.mim_vpn_stat_counter_set.stat,
  21842 			req->args.mim_vpn_stat_counter_set.num_entries,
  21843 			req->args.mim_vpn_stat_counter_set.counter_indexes,
  21844 			req->args.mim_vpn_stat_counter_set.counter_values);
  21845 		break;
  21846 	case BCM_ASYNC_ENTRY_MIM_VPN_STAT_COUNTER_SYNC_GET:
  21847 		rv = bcm_mim_vpn_stat_counter_sync_get(
  21848 			req->args.mim_vpn_stat_counter_sync_get.unit,
  21849 			req->args.mim_vpn_stat_counter_sync_get.vpn,
  21850 			req->args.mim_vpn_stat_counter_sync_get.stat,
  21851 			req->args.mim_vpn_stat_counter_sync_get.num_entries,
  21852 			req->args.mim_vpn_stat_counter_sync_get.counter_indexes,
  21853 			req->args.mim_vpn_stat_counter_sync_get.counter_values);
  21854 		break;
  21855 	case BCM_ASYNC_ENTRY_MIM_VPN_STAT_DETACH:
  21856 		rv = bcm_mim_vpn_stat_detach(
  21857 			req->args.mim_vpn_stat_detach.unit,
  21858 			req->args.mim_vpn_stat_detach.vpn);
  21859 		break;
  21860 	case BCM_ASYNC_ENTRY_MIM_VPN_STAT_ID_GET:
  21861 		rv = bcm_mim_vpn_stat_id_get(
  21862 			req->args.mim_vpn_stat_id_get.unit,
  21863 			req->args.mim_vpn_stat_id_get.vpn,
  21864 			req->args.mim_vpn_stat_id_get.stat,
  21865 			req->args.mim_vpn_stat_id_get.stat_counter_id);
  21866 		break;
  21867 	case BCM_ASYNC_ENTRY_MIM_VPN_TRAVERSE:
  21868 		rv = bcm_mim_vpn_traverse(
  21869 			req->args.mim_vpn_traverse.unit,
  21870 			req->args.mim_vpn_traverse.cb,
  21871 			req->args.mim_vpn_traverse.user_data);
  21872 		break;
  21873 #endif	/* INCLUDE_L3 */
  21874 	case BCM_ASYNC_ENTRY_MIRROR_DESTINATION_COUNT_COMMAND_GET:
  21875 		rv = bcm_mirror_destination_count_command_get(
  21876 			req->args.mirror_destination_count_command_get.unit,
  21877 			req->args.mirror_destination_count_command_get.core_id,
  21878 			req->args.mirror_destination_count_command_get.mirror_dest_id,
  21879 			req->args.mirror_destination_count_command_get.counter_cmd_id,
  21880 			req->args.mirror_destination_count_command_get.flags,
  21881 			req->args.mirror_destination_count_command_get.mirror_count_info);
  21882 		break;
  21883 	case BCM_ASYNC_ENTRY_MIRROR_DESTINATION_COUNT_COMMAND_SET:
  21884 		rv = bcm_mirror_destination_count_command_set(
  21885 			req->args.mirror_destination_count_command_set.unit,
  21886 			req->args.mirror_destination_count_command_set.core_id,
  21887 			req->args.mirror_destination_count_command_set.mirror_dest_id,
  21888 			req->args.mirror_destination_count_command_set.counter_cmd_id,
  21889 			req->args.mirror_destination_count_command_set.flags,
  21890 			req->args.mirror_destination_count_command_set.mirror_count_info);
  21891 		break;
  21892 	case BCM_ASYNC_ENTRY_MIRROR_DESTINATION_CREATE:
  21893 		rv = bcm_mirror_destination_create(
  21894 			req->args.mirror_destination_create.unit,
  21895 			req->args.mirror_destination_create.mirror_dest);
  21896 		break;
  21897 	case BCM_ASYNC_ENTRY_MIRROR_DESTINATION_DESTROY:
  21898 		rv = bcm_mirror_destination_destroy(
  21899 			req->args.mirror_destination_destroy.unit,
  21900 			req->args.mirror_destination_destroy.mirror_dest_id);
  21901 		break;
  21902 	case BCM_ASYNC_ENTRY_MIRROR_DESTINATION_GET:
  21903 		rv = bcm_mirror_destination_get(
  21904 			req->args.mirror_destination_get.unit,
  21905 			req->args.mirror_destination_get.mirror_dest_id,
  21906 			req->args.mirror_destination_get.mirror_dest);
  21907 		break;
  21908 	case BCM_ASYNC_ENTRY_MIRROR_DESTINATION_TRAVERSE:
  21909 		rv = bcm_mirror_destination_traverse(
  21910 			req->args.mirror_destination_traverse.unit,
  21911 			req->args.mirror_destination_traverse.cb,
  21912 			req->args.mirror_destination_traverse.user_data);
  21913 		break;
  21914 	case BCM_ASYNC_ENTRY_MIRROR_EGRESS_GET:
  21915 		rv = bcm_mirror_egress_get(
  21916 			req->args.mirror_egress_get.unit,
  21917 			req->args.mirror_egress_get.port,
  21918 			req->args.mirror_egress_get.val);
  21919 		break;
  21920 	case BCM_ASYNC_ENTRY_MIRROR_EGRESS_SET:
  21921 		rv = bcm_mirror_egress_set(
  21922 			req->args.mirror_egress_set.unit,
  21923 			req->args.mirror_egress_set.port,
  21924 			req->args.mirror_egress_set.val);
  21925 		break;
  21926 	case BCM_ASYNC_ENTRY_MIRROR_HEADER_INFO_GET:
  21927 		rv = bcm_mirror_header_info_get(
  21928 			req->args.mirror_header_info_get.unit,
  21929 			req->args.mirror_header_info_get.mirror_dest_id,
  21930 			req->args.mirror_header_info_get.flags,
  21931 			req->args.mirror_header_info_get.mirror_header_info);
  21932 		break;
  21933 	case BCM_ASYNC_ENTRY_MIRROR_HEADER_INFO_SET:
  21934 		rv = bcm_mirror_header_info_set(
  21935 			req->args.mirror_header_info_set.unit,
  21936 			req->args.mirror_header_info_set.flags,
  21937 			req->args.mirror_header_info_set.mirror_dest_id,
  21938 			req->args.mirror_header_info_set.mirror_header_info);
  21939 		break;
  21940 	case BCM_ASYNC_ENTRY_MIRROR_INGRESS_GET:
  21941 		rv = bcm_mirror_ingress_get(
  21942 			req->args.mirror_ingress_get.unit,
  21943 			req->args.mirror_ingress_get.port,
  21944 			req->args.mirror_ingress_get.val);
  21945 		break;
  21946 	case BCM_ASYNC_ENTRY_MIRROR_INGRESS_SET:
  21947 		rv = bcm_mirror_ingress_set(
  21948 			req->args.mirror_ingress_set.unit,
  21949 			req->args.mirror_ingress_set.port,
  21950 			req->args.mirror_ingress_set.val);
  21951 		break;
  21952 	case BCM_ASYNC_ENTRY_MIRROR_INIT:
  21953 		rv = bcm_mirror_init(
  21954 			req->args.mirror_init.unit);
  21955 		break;
  21956 	case BCM_ASYNC_ENTRY_MIRROR_MODE_GET:
  21957 		rv = bcm_mirror_mode_get(
  21958 			req->args.mirror_mode_get.unit,
  21959 			req->args.mirror_mode_get.mode);
  21960 		break;
  21961 	case BCM_ASYNC_ENTRY_MIRROR_MODE_SET:
  21962 		rv = bcm_mirror_mode_set(
  21963 			req->args.mirror_mode_set.unit,
  21964 			req->args.mirror_mode_set.mode);
  21965 		break;
  21966 	case BCM_ASYNC_ENTRY_MIRROR_PAYLOAD_ZERO_CONTROL_MULTI_GET:
  21967 		rv = bcm_mirror_payload_zero_control_multi_get(
  21968 			req->args.mirror_payload_zero_control_multi_get.unit,
  21969 			req->args.mirror_payload_zero_control_multi_get.payload_zero_config_array,
  21970 			req->args.mirror_payload_zero_control_multi_get.num_configs);
  21971 		break;
  21972 	case BCM_ASYNC_ENTRY_MIRROR_PAYLOAD_ZERO_CONTROL_MULTI_SET:
  21973 		rv = bcm_mirror_payload_zero_control_multi_set(
  21974 			req->args.mirror_payload_zero_control_multi_set.unit,
  21975 			req->args.mirror_payload_zero_control_multi_set.payload_zero_config_array,
  21976 			req->args.mirror_payload_zero_control_multi_set.num_configs);
  21977 		break;
  21978 	case BCM_ASYNC_ENTRY_MIRROR_PAYLOAD_ZERO_PROFILE_CREATE:
  21979 		rv = bcm_mirror_payload_zero_profile_create(
  21980 			req->args.mirror_payload_zero_profile_create.unit,
  21981 			req->args.mirror_payload_zero_profile_create.mirror_payload_offset_info,
  21982 			req->args.mirror_payload_zero_profile_create.flags,
  21983 			req->args.mirror_payload_zero_profile_create.profile_index);
  21984 		break;
  21985 	case BCM_ASYNC_ENTRY_MIRROR_PAYLOAD_ZERO_PROFILE_DESTROY:
  21986 		rv = bcm_mirror_payload_zero_profile_destroy(
  21987 			req->args.mirror_payload_zero_profile_destroy.unit,
  21988 			req->args.mirror_payload_zero_profile_destroy.flags,
  21989 			req->args.mirror_payload_zero_profile_destroy.profile_index);
  21990 		break;
  21991 	case BCM_ASYNC_ENTRY_MIRROR_PORT_DEST_ADD:
  21992 		rv = bcm_mirror_port_dest_add(
  21993 			req->args.mirror_port_dest_add.unit,
  21994 			req->args.mirror_port_dest_add.port,
  21995 			req->args.mirror_port_dest_add.flags,
  21996 			req->args.mirror_port_dest_add.mirror_dest_id);
  21997 		break;
  21998 	case BCM_ASYNC_ENTRY_MIRROR_PORT_DEST_DELETE:
  21999 		rv = bcm_mirror_port_dest_delete(
  22000 			req->args.mirror_port_dest_delete.unit,
  22001 			req->args.mirror_port_dest_delete.port,
  22002 			req->args.mirror_port_dest_delete.flags,
  22003 			req->args.mirror_port_dest_delete.mirror_dest_id);
  22004 		break;
  22005 	case BCM_ASYNC_ENTRY_MIRROR_PORT_DEST_DELETE_ALL:
  22006 		rv = bcm_mirror_port_dest_delete_all(
  22007 			req->args.mirror_port_dest_delete_all.unit,
  22008 			req->args.mirror_port_dest_delete_all.port,
  22009 			req->args.mirror_port_dest_delete_all.flags);
  22010 		break;
  22011 	case BCM_ASYNC_ENTRY_MIRROR_PORT_DEST_GET:
  22012 		rv = bcm_mirror_port_dest_get(
  22013 			req->args.mirror_port_dest_get.unit,
  22014 			req->args.mirror_port_dest_get.port,
  22015 			req->args.mirror_port_dest_get.flags,
  22016 			req->args.mirror_port_dest_get.mirror_dest_size,
  22017 			req->args.mirror_port_dest_get.mirror_dest,
  22018 			req->args.mirror_port_dest_get.mirror_dest_count);
  22019 		break;
  22020 	case BCM_ASYNC_ENTRY_MIRROR_PORT_DESTINATION_ADD:
  22021 		rv = bcm_mirror_port_destination_add(
  22022 			req->args.mirror_port_destination_add.unit,
  22023 			req->args.mirror_port_destination_add.port,
  22024 			req->args.mirror_port_destination_add.flags,
  22025 			req->args.mirror_port_destination_add.mirror_dest,
  22026 			req->args.mirror_port_destination_add.options);
  22027 		break;
  22028 	case BCM_ASYNC_ENTRY_MIRROR_PORT_DESTINATION_GET:
  22029 		rv = bcm_mirror_port_destination_get(
  22030 			req->args.mirror_port_destination_get.unit,
  22031 			req->args.mirror_port_destination_get.port,
  22032 			req->args.mirror_port_destination_get.flags,
  22033 			req->args.mirror_port_destination_get.mirror_dest_size,
  22034 			req->args.mirror_port_destination_get.mirror_dest,
  22035 			req->args.mirror_port_destination_get.mirror_dest_count,
  22036 			req->args.mirror_port_destination_get.options);
  22037 		break;
  22038 	case BCM_ASYNC_ENTRY_MIRROR_PORT_GET:
  22039 		rv = bcm_mirror_port_get(
  22040 			req->args.mirror_port_get.unit,
  22041 			req->args.mirror_port_get.port,
  22042 			req->args.mirror_port_get.dest_mod,
  22043 			req->args.mirror_port_get.dest_port,
  22044 			req->args.mirror_port_get.flags);
  22045 		break;
  22046 	case BCM_ASYNC_ENTRY_MIRROR_PORT_INFO_GET:
  22047 		rv = bcm_mirror_port_info_get(
  22048 			req->args.mirror_port_info_get.unit,
  22049 			req->args.mirror_port_info_get.port,
  22050 			req->args.mirror_port_info_get.flags,
  22051 			req->args.mirror_port_info_get.info);
  22052 		break;
  22053 	case BCM_ASYNC_ENTRY_MIRROR_PORT_INFO_SET:
  22054 		rv = bcm_mirror_port_info_set(
  22055 			req->args.mirror_port_info_set.unit,
  22056 			req->args.mirror_port_info_set.port,
  22057 			req->args.mirror_port_info_set.flags,
  22058 			req->args.mirror_port_info_set.info);
  22059 		break;
  22060 	case BCM_ASYNC_ENTRY_MIRROR_PORT_SET:
  22061 		rv = bcm_mirror_port_set(
  22062 			req->args.mirror_port_set.unit,
  22063 			req->args.mirror_port_set.port,
  22064 			req->args.mirror_port_set.dest_mod,
  22065 			req->args.mirror_port_set.dest_port,
  22066 			req->args.mirror_port_set.flags);
  22067 		break;
  22068 	case BCM_ASYNC_ENTRY_MIRROR_PORT_TO_RCY_PORT_MAP_GET:
  22069 		rv = bcm_mirror_port_to_rcy_port_map_get(
  22070 			req->args.mirror_port_to_rcy_port_map_get.unit,
  22071 			req->args.mirror_port_to_rcy_port_map_get.flags,
  22072 			req->args.mirror_port_to_rcy_port_map_get.forward_port,
  22073 			req->args.mirror_port_to_rcy_port_map_get.rcy_map_info);
  22074 		break;
  22075 	case BCM_ASYNC_ENTRY_MIRROR_PORT_TO_RCY_PORT_MAP_SET:
  22076 		rv = bcm_mirror_port_to_rcy_port_map_set(
  22077 			req->args.mirror_port_to_rcy_port_map_set.unit,
  22078 			req->args.mirror_port_to_rcy_port_map_set.flags,
  22079 			req->args.mirror_port_to_rcy_port_map_set.forward_port,
  22080 			req->args.mirror_port_to_rcy_port_map_set.rcy_map_info);
  22081 		break;
  22082 	case BCM_ASYNC_ENTRY_MIRROR_PORT_VLAN_DEST_ADD:
  22083 		rv = bcm_mirror_port_vlan_dest_add(
  22084 			req->args.mirror_port_vlan_dest_add.unit,
  22085 			req->args.mirror_port_vlan_dest_add.port,
  22086 			req->args.mirror_port_vlan_dest_add.vlan,
  22087 			req->args.mirror_port_vlan_dest_add.flags,
  22088 			req->args.mirror_port_vlan_dest_add.destid);
  22089 		break;
  22090 	case BCM_ASYNC_ENTRY_MIRROR_PORT_VLAN_DEST_DELETE:
  22091 		rv = bcm_mirror_port_vlan_dest_delete(
  22092 			req->args.mirror_port_vlan_dest_delete.unit,
  22093 			req->args.mirror_port_vlan_dest_delete.port,
  22094 			req->args.mirror_port_vlan_dest_delete.vlan,
  22095 			req->args.mirror_port_vlan_dest_delete.flags,
  22096 			req->args.mirror_port_vlan_dest_delete.destid);
  22097 		break;
  22098 	case BCM_ASYNC_ENTRY_MIRROR_PORT_VLAN_DEST_DELETE_ALL:
  22099 		rv = bcm_mirror_port_vlan_dest_delete_all(
  22100 			req->args.mirror_port_vlan_dest_delete_all.unit,
  22101 			req->args.mirror_port_vlan_dest_delete_all.port,
  22102 			req->args.mirror_port_vlan_dest_delete_all.vlan,
  22103 			req->args.mirror_port_vlan_dest_delete_all.flags);
  22104 		break;
  22105 	case BCM_ASYNC_ENTRY_MIRROR_PORT_VLAN_DEST_GET:
  22106 		rv = bcm_mirror_port_vlan_dest_get(
  22107 			req->args.mirror_port_vlan_dest_get.unit,
  22108 			req->args.mirror_port_vlan_dest_get.port,
  22109 			req->args.mirror_port_vlan_dest_get.vlan,
  22110 			req->args.mirror_port_vlan_dest_get.flags,
  22111 			req->args.mirror_port_vlan_dest_get.mirror_dest_size,
  22112 			req->args.mirror_port_vlan_dest_get.destid,
  22113 			req->args.mirror_port_vlan_dest_get.destcount);
  22114 		break;
  22115 	case BCM_ASYNC_ENTRY_MIRROR_PORT_VLAN_DESTINATION_ADD:
  22116 		rv = bcm_mirror_port_vlan_destination_add(
  22117 			req->args.mirror_port_vlan_destination_add.unit,
  22118 			req->args.mirror_port_vlan_destination_add.port,
  22119 			req->args.mirror_port_vlan_destination_add.vlan,
  22120 			req->args.mirror_port_vlan_destination_add.flags,
  22121 			req->args.mirror_port_vlan_destination_add.destid,
  22122 			req->args.mirror_port_vlan_destination_add.options);
  22123 		break;
  22124 	case BCM_ASYNC_ENTRY_MIRROR_PORT_VLAN_DESTINATION_GET:
  22125 		rv = bcm_mirror_port_vlan_destination_get(
  22126 			req->args.mirror_port_vlan_destination_get.unit,
  22127 			req->args.mirror_port_vlan_destination_get.port,
  22128 			req->args.mirror_port_vlan_destination_get.vlan,
  22129 			req->args.mirror_port_vlan_destination_get.flags,
  22130 			req->args.mirror_port_vlan_destination_get.mirror_dest_size,
  22131 			req->args.mirror_port_vlan_destination_get.destid,
  22132 			req->args.mirror_port_vlan_destination_get.destcount,
  22133 			req->args.mirror_port_vlan_destination_get.options);
  22134 		break;
  22135 	case BCM_ASYNC_ENTRY_MIRROR_PORT_VLAN_GET:
  22136 		rv = bcm_mirror_port_vlan_get(
  22137 			req->args.mirror_port_vlan_get.unit,
  22138 			req->args.mirror_port_vlan_get.port,
  22139 			req->args.mirror_port_vlan_get.vlan,
  22140 			req->args.mirror_port_vlan_get.dest_port,
  22141 			req->args.mirror_port_vlan_get.flags);
  22142 		break;
  22143 	case BCM_ASYNC_ENTRY_MIRROR_PORT_VLAN_SET:
  22144 		rv = bcm_mirror_port_vlan_set(
  22145 			req->args.mirror_port_vlan_set.unit,
  22146 			req->args.mirror_port_vlan_set.port,
  22147 			req->args.mirror_port_vlan_set.vlan,
  22148 			req->args.mirror_port_vlan_set.destport,
  22149 			req->args.mirror_port_vlan_set.flags);
  22150 		break;
  22151 	case BCM_ASYNC_ENTRY_MIRROR_TO_GET:
  22152 		rv = bcm_mirror_to_get(
  22153 			req->args.mirror_to_get.unit,
  22154 			req->args.mirror_to_get.port);
  22155 		break;
  22156 	case BCM_ASYNC_ENTRY_MIRROR_TO_PBMP_GET:
  22157 		rv = bcm_mirror_to_pbmp_get(
  22158 			req->args.mirror_to_pbmp_get.unit,
  22159 			req->args.mirror_to_pbmp_get.port,
  22160 			req->args.mirror_to_pbmp_get.pbmp);
  22161 		break;
  22162 	case BCM_ASYNC_ENTRY_MIRROR_TO_PBMP_SET:
  22163 		rv = bcm_mirror_to_pbmp_set(
  22164 			req->args.mirror_to_pbmp_set.unit,
  22165 			req->args.mirror_to_pbmp_set.port,
  22166 			req->args.mirror_to_pbmp_set.pbmp);
  22167 		break;
  22168 	case BCM_ASYNC_ENTRY_MIRROR_TO_SET:
  22169 		rv = bcm_mirror_to_set(
  22170 			req->args.mirror_to_set.unit,
  22171 			req->args.mirror_to_set.port);
  22172 		break;
  22173 	case BCM_ASYNC_ENTRY_MIRROR_VLAN_GET:
  22174 		rv = bcm_mirror_vlan_get(
  22175 			req->args.mirror_vlan_get.unit,
  22176 			req->args.mirror_vlan_get.port,
  22177 			req->args.mirror_vlan_get.tpid,
  22178 			req->args.mirror_vlan_get.vlan);
  22179 		break;
  22180 	case BCM_ASYNC_ENTRY_MIRROR_VLAN_SET:
  22181 		rv = bcm_mirror_vlan_set(
  22182 			req->args.mirror_vlan_set.unit,
  22183 			req->args.mirror_vlan_set.port,
  22184 			req->args.mirror_vlan_set.tpid,
  22185 			req->args.mirror_vlan_set.vlan);
  22186 		break;
  22187 	/* bcm_module_name has a non int return type */
  22188 #ifdef	INCLUDE_L3
  22189 	case BCM_ASYNC_ENTRY_MPLS_CLEANUP:
  22190 		rv = bcm_mpls_cleanup(
  22191 			req->args.mpls_cleanup.unit);
  22192 		break;
  22193 	case BCM_ASYNC_ENTRY_MPLS_ENTROPY_IDENTIFIER_ADD:
  22194 		rv = bcm_mpls_entropy_identifier_add(
  22195 			req->args.mpls_entropy_identifier_add.unit,
  22196 			req->args.mpls_entropy_identifier_add.options,
  22197 			req->args.mpls_entropy_identifier_add.info);
  22198 		break;
  22199 	case BCM_ASYNC_ENTRY_MPLS_ENTROPY_IDENTIFIER_DELETE:
  22200 		rv = bcm_mpls_entropy_identifier_delete(
  22201 			req->args.mpls_entropy_identifier_delete.unit,
  22202 			req->args.mpls_entropy_identifier_delete.info);
  22203 		break;
  22204 	case BCM_ASYNC_ENTRY_MPLS_ENTROPY_IDENTIFIER_DELETE_ALL:
  22205 		rv = bcm_mpls_entropy_identifier_delete_all(
  22206 			req->args.mpls_entropy_identifier_delete_all.unit);
  22207 		break;
  22208 	case BCM_ASYNC_ENTRY_MPLS_ENTROPY_IDENTIFIER_GET:
  22209 		rv = bcm_mpls_entropy_identifier_get(
  22210 			req->args.mpls_entropy_identifier_get.unit,
  22211 			req->args.mpls_entropy_identifier_get.info);
  22212 		break;
  22213 	case BCM_ASYNC_ENTRY_MPLS_ENTROPY_IDENTIFIER_TRAVERSE:
  22214 		rv = bcm_mpls_entropy_identifier_traverse(
  22215 			req->args.mpls_entropy_identifier_traverse.unit,
  22216 			req->args.mpls_entropy_identifier_traverse.cb,
  22217 			req->args.mpls_entropy_identifier_traverse.user_data);
  22218 		break;
  22219 	case BCM_ASYNC_ENTRY_MPLS_ESI_ENCAP_ADD:
  22220 		rv = bcm_mpls_esi_encap_add(
  22221 			req->args.mpls_esi_encap_add.unit,
  22222 			req->args.mpls_esi_encap_add.esi_info);
  22223 		break;
  22224 	case BCM_ASYNC_ENTRY_MPLS_ESI_ENCAP_DELETE:
  22225 		rv = bcm_mpls_esi_encap_delete(
  22226 			req->args.mpls_esi_encap_delete.unit,
  22227 			req->args.mpls_esi_encap_delete.esi_info);
  22228 		break;
  22229 	case BCM_ASYNC_ENTRY_MPLS_ESI_ENCAP_GET:
  22230 		rv = bcm_mpls_esi_encap_get(
  22231 			req->args.mpls_esi_encap_get.unit,
  22232 			req->args.mpls_esi_encap_get.esi_info);
  22233 		break;
  22234 	case BCM_ASYNC_ENTRY_MPLS_ESI_ENCAP_TRAVERSE:
  22235 		rv = bcm_mpls_esi_encap_traverse(
  22236 			req->args.mpls_esi_encap_traverse.unit,
  22237 			req->args.mpls_esi_encap_traverse.cb,
  22238 			req->args.mpls_esi_encap_traverse.user_data);
  22239 		break;
  22240 	case BCM_ASYNC_ENTRY_MPLS_EXP_MAP_CREATE:
  22241 		rv = bcm_mpls_exp_map_create(
  22242 			req->args.mpls_exp_map_create.unit,
  22243 			req->args.mpls_exp_map_create.flags,
  22244 			req->args.mpls_exp_map_create.exp_map_id);
  22245 		break;
  22246 	case BCM_ASYNC_ENTRY_MPLS_EXP_MAP_DESTROY:
  22247 		rv = bcm_mpls_exp_map_destroy(
  22248 			req->args.mpls_exp_map_destroy.unit,
  22249 			req->args.mpls_exp_map_destroy.exp_map_id);
  22250 		break;
  22251 	case BCM_ASYNC_ENTRY_MPLS_EXP_MAP_GET:
  22252 		rv = bcm_mpls_exp_map_get(
  22253 			req->args.mpls_exp_map_get.unit,
  22254 			req->args.mpls_exp_map_get.exp_map_id,
  22255 			req->args.mpls_exp_map_get.exp_map);
  22256 		break;
  22257 	case BCM_ASYNC_ENTRY_MPLS_EXP_MAP_SET:
  22258 		rv = bcm_mpls_exp_map_set(
  22259 			req->args.mpls_exp_map_set.unit,
  22260 			req->args.mpls_exp_map_set.exp_map_id,
  22261 			req->args.mpls_exp_map_set.exp_map);
  22262 		break;
  22263 	case BCM_ASYNC_ENTRY_MPLS_INIT:
  22264 		rv = bcm_mpls_init(
  22265 			req->args.mpls_init.unit);
  22266 		break;
  22267 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_ATTACH:
  22268 		rv = bcm_mpls_label_stat_attach(
  22269 			req->args.mpls_label_stat_attach.unit,
  22270 			req->args.mpls_label_stat_attach.label,
  22271 			req->args.mpls_label_stat_attach.port,
  22272 			req->args.mpls_label_stat_attach.stat_counter_id);
  22273 		break;
  22274 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_CLEAR:
  22275 		rv = bcm_mpls_label_stat_clear(
  22276 			req->args.mpls_label_stat_clear.unit,
  22277 			req->args.mpls_label_stat_clear.label,
  22278 			req->args.mpls_label_stat_clear.port,
  22279 			req->args.mpls_label_stat_clear.stat);
  22280 		break;
  22281 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_COUNTER_GET:
  22282 		rv = bcm_mpls_label_stat_counter_get(
  22283 			req->args.mpls_label_stat_counter_get.unit,
  22284 			req->args.mpls_label_stat_counter_get.label,
  22285 			req->args.mpls_label_stat_counter_get.port,
  22286 			req->args.mpls_label_stat_counter_get.stat,
  22287 			req->args.mpls_label_stat_counter_get.num_entries,
  22288 			req->args.mpls_label_stat_counter_get.counter_indexes,
  22289 			req->args.mpls_label_stat_counter_get.counter_values);
  22290 		break;
  22291 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_COUNTER_SET:
  22292 		rv = bcm_mpls_label_stat_counter_set(
  22293 			req->args.mpls_label_stat_counter_set.unit,
  22294 			req->args.mpls_label_stat_counter_set.label,
  22295 			req->args.mpls_label_stat_counter_set.port,
  22296 			req->args.mpls_label_stat_counter_set.stat,
  22297 			req->args.mpls_label_stat_counter_set.num_entries,
  22298 			req->args.mpls_label_stat_counter_set.counter_indexes,
  22299 			req->args.mpls_label_stat_counter_set.counter_values);
  22300 		break;
  22301 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_COUNTER_SYNC_GET:
  22302 		rv = bcm_mpls_label_stat_counter_sync_get(
  22303 			req->args.mpls_label_stat_counter_sync_get.unit,
  22304 			req->args.mpls_label_stat_counter_sync_get.label,
  22305 			req->args.mpls_label_stat_counter_sync_get.port,
  22306 			req->args.mpls_label_stat_counter_sync_get.stat,
  22307 			req->args.mpls_label_stat_counter_sync_get.num_entries,
  22308 			req->args.mpls_label_stat_counter_sync_get.counter_indexes,
  22309 			req->args.mpls_label_stat_counter_sync_get.counter_values);
  22310 		break;
  22311 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_DETACH:
  22312 		rv = bcm_mpls_label_stat_detach(
  22313 			req->args.mpls_label_stat_detach.unit,
  22314 			req->args.mpls_label_stat_detach.label,
  22315 			req->args.mpls_label_stat_detach.port);
  22316 		break;
  22317 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_ENABLE_SET:
  22318 		rv = bcm_mpls_label_stat_enable_set(
  22319 			req->args.mpls_label_stat_enable_set.unit,
  22320 			req->args.mpls_label_stat_enable_set.label,
  22321 			req->args.mpls_label_stat_enable_set.port,
  22322 			req->args.mpls_label_stat_enable_set.enable);
  22323 		break;
  22324 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_GET:
  22325 		rv = bcm_mpls_label_stat_get(
  22326 			req->args.mpls_label_stat_get.unit,
  22327 			req->args.mpls_label_stat_get.label,
  22328 			req->args.mpls_label_stat_get.port,
  22329 			req->args.mpls_label_stat_get.stat,
  22330 			req->args.mpls_label_stat_get.val);
  22331 		break;
  22332 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_GET32:
  22333 		rv = bcm_mpls_label_stat_get32(
  22334 			req->args.mpls_label_stat_get32.unit,
  22335 			req->args.mpls_label_stat_get32.label,
  22336 			req->args.mpls_label_stat_get32.port,
  22337 			req->args.mpls_label_stat_get32.stat,
  22338 			req->args.mpls_label_stat_get32.val);
  22339 		break;
  22340 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_ID_GET:
  22341 		rv = bcm_mpls_label_stat_id_get(
  22342 			req->args.mpls_label_stat_id_get.unit,
  22343 			req->args.mpls_label_stat_id_get.label,
  22344 			req->args.mpls_label_stat_id_get.port,
  22345 			req->args.mpls_label_stat_id_get.stat,
  22346 			req->args.mpls_label_stat_id_get.stat_counter_id);
  22347 		break;
  22348 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_SYNC_GET:
  22349 		rv = bcm_mpls_label_stat_sync_get(
  22350 			req->args.mpls_label_stat_sync_get.unit,
  22351 			req->args.mpls_label_stat_sync_get.label,
  22352 			req->args.mpls_label_stat_sync_get.port,
  22353 			req->args.mpls_label_stat_sync_get.stat,
  22354 			req->args.mpls_label_stat_sync_get.val);
  22355 		break;
  22356 	case BCM_ASYNC_ENTRY_MPLS_LABEL_STAT_SYNC_GET32:
  22357 		rv = bcm_mpls_label_stat_sync_get32(
  22358 			req->args.mpls_label_stat_sync_get32.unit,
  22359 			req->args.mpls_label_stat_sync_get32.label,
  22360 			req->args.mpls_label_stat_sync_get32.port,
  22361 			req->args.mpls_label_stat_sync_get32.stat,
  22362 			req->args.mpls_label_stat_sync_get32.val);
  22363 		break;
  22364 	case BCM_ASYNC_ENTRY_MPLS_PORT_ADD:
  22365 		rv = bcm_mpls_port_add(
  22366 			req->args.mpls_port_add.unit,
  22367 			req->args.mpls_port_add.vpn,
  22368 			req->args.mpls_port_add.mpls_port);
  22369 		break;
  22370 	case BCM_ASYNC_ENTRY_MPLS_PORT_DELETE:
  22371 		rv = bcm_mpls_port_delete(
  22372 			req->args.mpls_port_delete.unit,
  22373 			req->args.mpls_port_delete.vpn,
  22374 			req->args.mpls_port_delete.mpls_port_id);
  22375 		break;
  22376 	case BCM_ASYNC_ENTRY_MPLS_PORT_DELETE_ALL:
  22377 		rv = bcm_mpls_port_delete_all(
  22378 			req->args.mpls_port_delete_all.unit,
  22379 			req->args.mpls_port_delete_all.vpn);
  22380 		break;
  22381 	case BCM_ASYNC_ENTRY_MPLS_PORT_GET:
  22382 		rv = bcm_mpls_port_get(
  22383 			req->args.mpls_port_get.unit,
  22384 			req->args.mpls_port_get.vpn,
  22385 			req->args.mpls_port_get.mpls_port);
  22386 		break;
  22387 	case BCM_ASYNC_ENTRY_MPLS_PORT_GET_ALL:
  22388 		rv = bcm_mpls_port_get_all(
  22389 			req->args.mpls_port_get_all.unit,
  22390 			req->args.mpls_port_get_all.vpn,
  22391 			req->args.mpls_port_get_all.port_max,
  22392 			req->args.mpls_port_get_all.port_array,
  22393 			req->args.mpls_port_get_all.port_count);
  22394 		break;
  22395 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_ATTACH:
  22396 		rv = bcm_mpls_port_stat_attach(
  22397 			req->args.mpls_port_stat_attach.unit,
  22398 			req->args.mpls_port_stat_attach.vpn,
  22399 			req->args.mpls_port_stat_attach.port,
  22400 			req->args.mpls_port_stat_attach.stat_counter_id);
  22401 		break;
  22402 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_COUNTER_GET:
  22403 		rv = bcm_mpls_port_stat_counter_get(
  22404 			req->args.mpls_port_stat_counter_get.unit,
  22405 			req->args.mpls_port_stat_counter_get.vpn,
  22406 			req->args.mpls_port_stat_counter_get.port,
  22407 			req->args.mpls_port_stat_counter_get.stat,
  22408 			req->args.mpls_port_stat_counter_get.num_entries,
  22409 			req->args.mpls_port_stat_counter_get.counter_indexes,
  22410 			req->args.mpls_port_stat_counter_get.counter_values);
  22411 		break;
  22412 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_COUNTER_SET:
  22413 		rv = bcm_mpls_port_stat_counter_set(
  22414 			req->args.mpls_port_stat_counter_set.unit,
  22415 			req->args.mpls_port_stat_counter_set.vpn,
  22416 			req->args.mpls_port_stat_counter_set.port,
  22417 			req->args.mpls_port_stat_counter_set.stat,
  22418 			req->args.mpls_port_stat_counter_set.num_entries,
  22419 			req->args.mpls_port_stat_counter_set.counter_indexes,
  22420 			req->args.mpls_port_stat_counter_set.counter_values);
  22421 		break;
  22422 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_COUNTER_SYNC_GET:
  22423 		rv = bcm_mpls_port_stat_counter_sync_get(
  22424 			req->args.mpls_port_stat_counter_sync_get.unit,
  22425 			req->args.mpls_port_stat_counter_sync_get.vpn,
  22426 			req->args.mpls_port_stat_counter_sync_get.port,
  22427 			req->args.mpls_port_stat_counter_sync_get.stat,
  22428 			req->args.mpls_port_stat_counter_sync_get.num_entries,
  22429 			req->args.mpls_port_stat_counter_sync_get.counter_indexes,
  22430 			req->args.mpls_port_stat_counter_sync_get.counter_values);
  22431 		break;
  22432 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_DETACH:
  22433 		rv = bcm_mpls_port_stat_detach(
  22434 			req->args.mpls_port_stat_detach.unit,
  22435 			req->args.mpls_port_stat_detach.vpn,
  22436 			req->args.mpls_port_stat_detach.port);
  22437 		break;
  22438 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_ENABLE_SET:
  22439 		rv = bcm_mpls_port_stat_enable_set(
  22440 			req->args.mpls_port_stat_enable_set.unit,
  22441 			req->args.mpls_port_stat_enable_set.mpls_port,
  22442 			req->args.mpls_port_stat_enable_set.enable);
  22443 		break;
  22444 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_GET:
  22445 		rv = bcm_mpls_port_stat_get(
  22446 			req->args.mpls_port_stat_get.unit,
  22447 			req->args.mpls_port_stat_get.mpls_port,
  22448 			req->args.mpls_port_stat_get.cos,
  22449 			req->args.mpls_port_stat_get.stat,
  22450 			req->args.mpls_port_stat_get.val);
  22451 		break;
  22452 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_GET32:
  22453 		rv = bcm_mpls_port_stat_get32(
  22454 			req->args.mpls_port_stat_get32.unit,
  22455 			req->args.mpls_port_stat_get32.mpls_port,
  22456 			req->args.mpls_port_stat_get32.cos,
  22457 			req->args.mpls_port_stat_get32.stat,
  22458 			req->args.mpls_port_stat_get32.val);
  22459 		break;
  22460 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_ID_GET:
  22461 		rv = bcm_mpls_port_stat_id_get(
  22462 			req->args.mpls_port_stat_id_get.unit,
  22463 			req->args.mpls_port_stat_id_get.vpn,
  22464 			req->args.mpls_port_stat_id_get.port,
  22465 			req->args.mpls_port_stat_id_get.stat,
  22466 			req->args.mpls_port_stat_id_get.stat_counter_id);
  22467 		break;
  22468 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_SET:
  22469 		rv = bcm_mpls_port_stat_set(
  22470 			req->args.mpls_port_stat_set.unit,
  22471 			req->args.mpls_port_stat_set.mpls_port,
  22472 			req->args.mpls_port_stat_set.cos,
  22473 			req->args.mpls_port_stat_set.stat,
  22474 			req->args.mpls_port_stat_set.val);
  22475 		break;
  22476 	case BCM_ASYNC_ENTRY_MPLS_PORT_STAT_SET32:
  22477 		rv = bcm_mpls_port_stat_set32(
  22478 			req->args.mpls_port_stat_set32.unit,
  22479 			req->args.mpls_port_stat_set32.mpls_port,
  22480 			req->args.mpls_port_stat_set32.cos,
  22481 			req->args.mpls_port_stat_set32.stat,
  22482 			req->args.mpls_port_stat_set32.val);
  22483 		break;
  22484 	case BCM_ASYNC_ENTRY_MPLS_PORT_TRAVERSE:
  22485 		rv = bcm_mpls_port_traverse(
  22486 			req->args.mpls_port_traverse.unit,
  22487 			req->args.mpls_port_traverse.additional_info,
  22488 			req->args.mpls_port_traverse.trav_fn,
  22489 			req->args.mpls_port_traverse.user_data);
  22490 		break;
  22491 	case BCM_ASYNC_ENTRY_MPLS_RANGE_ACTION_ADD:
  22492 		rv = bcm_mpls_range_action_add(
  22493 			req->args.mpls_range_action_add.unit,
  22494 			req->args.mpls_range_action_add.label_low,
  22495 			req->args.mpls_range_action_add.label_high,
  22496 			req->args.mpls_range_action_add.action);
  22497 		break;
  22498 	case BCM_ASYNC_ENTRY_MPLS_RANGE_ACTION_GET:
  22499 		rv = bcm_mpls_range_action_get(
  22500 			req->args.mpls_range_action_get.unit,
  22501 			req->args.mpls_range_action_get.label_low,
  22502 			req->args.mpls_range_action_get.label_high,
  22503 			req->args.mpls_range_action_get.action);
  22504 		break;
  22505 	case BCM_ASYNC_ENTRY_MPLS_RANGE_ACTION_REMOVE:
  22506 		rv = bcm_mpls_range_action_remove(
  22507 			req->args.mpls_range_action_remove.unit,
  22508 			req->args.mpls_range_action_remove.label_low,
  22509 			req->args.mpls_range_action_remove.label_high);
  22510 		break;
  22511 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_EGRESS_ADD:
  22512 		rv = bcm_mpls_special_label_egress_add(
  22513 			req->args.mpls_special_label_egress_add.unit,
  22514 			req->args.mpls_special_label_egress_add.label_type,
  22515 			req->args.mpls_special_label_egress_add.label_info);
  22516 		break;
  22517 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_EGRESS_DELETE:
  22518 		rv = bcm_mpls_special_label_egress_delete(
  22519 			req->args.mpls_special_label_egress_delete.unit,
  22520 			req->args.mpls_special_label_egress_delete.label_type,
  22521 			req->args.mpls_special_label_egress_delete.label_info);
  22522 		break;
  22523 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_EGRESS_DELETE_ALL:
  22524 		rv = bcm_mpls_special_label_egress_delete_all(
  22525 			req->args.mpls_special_label_egress_delete_all.unit);
  22526 		break;
  22527 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_EGRESS_GET:
  22528 		rv = bcm_mpls_special_label_egress_get(
  22529 			req->args.mpls_special_label_egress_get.unit,
  22530 			req->args.mpls_special_label_egress_get.label_type,
  22531 			req->args.mpls_special_label_egress_get.label_info);
  22532 		break;
  22533 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_EGRESS_TRAVERSE:
  22534 		rv = bcm_mpls_special_label_egress_traverse(
  22535 			req->args.mpls_special_label_egress_traverse.unit,
  22536 			req->args.mpls_special_label_egress_traverse.cb,
  22537 			req->args.mpls_special_label_egress_traverse.user_data);
  22538 		break;
  22539 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_IDENTIFIER_ADD:
  22540 		rv = bcm_mpls_special_label_identifier_add(
  22541 			req->args.mpls_special_label_identifier_add.unit,
  22542 			req->args.mpls_special_label_identifier_add.label_type,
  22543 			req->args.mpls_special_label_identifier_add.label_info);
  22544 		break;
  22545 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_IDENTIFIER_DELETE:
  22546 		rv = bcm_mpls_special_label_identifier_delete(
  22547 			req->args.mpls_special_label_identifier_delete.unit,
  22548 			req->args.mpls_special_label_identifier_delete.label_type,
  22549 			req->args.mpls_special_label_identifier_delete.label_info);
  22550 		break;
  22551 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_IDENTIFIER_DELETE_ALL:
  22552 		rv = bcm_mpls_special_label_identifier_delete_all(
  22553 			req->args.mpls_special_label_identifier_delete_all.unit);
  22554 		break;
  22555 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_IDENTIFIER_GET:
  22556 		rv = bcm_mpls_special_label_identifier_get(
  22557 			req->args.mpls_special_label_identifier_get.unit,
  22558 			req->args.mpls_special_label_identifier_get.label_type,
  22559 			req->args.mpls_special_label_identifier_get.label_info);
  22560 		break;
  22561 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_IDENTIFIER_TRAVERSE:
  22562 		rv = bcm_mpls_special_label_identifier_traverse(
  22563 			req->args.mpls_special_label_identifier_traverse.unit,
  22564 			req->args.mpls_special_label_identifier_traverse.cb,
  22565 			req->args.mpls_special_label_identifier_traverse.user_data);
  22566 		break;
  22567 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_PUSH_ACTION_GET:
  22568 		rv = bcm_mpls_special_label_push_action_get(
  22569 			req->args.mpls_special_label_push_action_get.unit,
  22570 			req->args.mpls_special_label_push_action_get.element,
  22571 			req->args.mpls_special_label_push_action_get.push_action);
  22572 		break;
  22573 	case BCM_ASYNC_ENTRY_MPLS_SPECIAL_LABEL_PUSH_ACTION_SET:
  22574 		rv = bcm_mpls_special_label_push_action_set(
  22575 			req->args.mpls_special_label_push_action_set.unit,
  22576 			req->args.mpls_special_label_push_action_set.element,
  22577 			req->args.mpls_special_label_push_action_set.push_action);
  22578 		break;
  22579 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_INITIATOR_CLEAR:
  22580 		rv = bcm_mpls_tunnel_initiator_clear(
  22581 			req->args.mpls_tunnel_initiator_clear.unit,
  22582 			req->args.mpls_tunnel_initiator_clear.intf);
  22583 		break;
  22584 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_INITIATOR_CLEAR_ALL:
  22585 		rv = bcm_mpls_tunnel_initiator_clear_all(
  22586 			req->args.mpls_tunnel_initiator_clear_all.unit);
  22587 		break;
  22588 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_INITIATOR_CREATE:
  22589 		rv = bcm_mpls_tunnel_initiator_create(
  22590 			req->args.mpls_tunnel_initiator_create.unit,
  22591 			req->args.mpls_tunnel_initiator_create.intf,
  22592 			req->args.mpls_tunnel_initiator_create.num_labels,
  22593 			req->args.mpls_tunnel_initiator_create.label_array);
  22594 		break;
  22595 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_INITIATOR_GET:
  22596 		rv = bcm_mpls_tunnel_initiator_get(
  22597 			req->args.mpls_tunnel_initiator_get.unit,
  22598 			req->args.mpls_tunnel_initiator_get.intf,
  22599 			req->args.mpls_tunnel_initiator_get.label_max,
  22600 			req->args.mpls_tunnel_initiator_get.label_array,
  22601 			req->args.mpls_tunnel_initiator_get.label_count);
  22602 		break;
  22603 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_INITIATOR_SET:
  22604 		rv = bcm_mpls_tunnel_initiator_set(
  22605 			req->args.mpls_tunnel_initiator_set.unit,
  22606 			req->args.mpls_tunnel_initiator_set.intf,
  22607 			req->args.mpls_tunnel_initiator_set.num_labels,
  22608 			req->args.mpls_tunnel_initiator_set.label_array);
  22609 		break;
  22610 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_INITIATOR_TRAVERSE:
  22611 		rv = bcm_mpls_tunnel_initiator_traverse(
  22612 			req->args.mpls_tunnel_initiator_traverse.unit,
  22613 			req->args.mpls_tunnel_initiator_traverse.additional_info,
  22614 			req->args.mpls_tunnel_initiator_traverse.cb,
  22615 			req->args.mpls_tunnel_initiator_traverse.user_data);
  22616 		break;
  22617 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_LABEL_COUNTER_ID_DETACH:
  22618 		rv = bcm_mpls_tunnel_label_counter_id_detach(
  22619 			req->args.mpls_tunnel_label_counter_id_detach.unit,
  22620 			req->args.mpls_tunnel_label_counter_id_detach.intf_id,
  22621 			req->args.mpls_tunnel_label_counter_id_detach.stat_counter_id);
  22622 		break;
  22623 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_LABEL_COUNTER_ID_NUM_GET:
  22624 		rv = bcm_mpls_tunnel_label_counter_id_num_get(
  22625 			req->args.mpls_tunnel_label_counter_id_num_get.unit,
  22626 			req->args.mpls_tunnel_label_counter_id_num_get.intf_id,
  22627 			req->args.mpls_tunnel_label_counter_id_num_get.num_counters,
  22628 			req->args.mpls_tunnel_label_counter_id_num_get.stat_counter_id);
  22629 		break;
  22630 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_LABEL_COUNTER_ID_STAT_GET:
  22631 		rv = bcm_mpls_tunnel_label_counter_id_stat_get(
  22632 			req->args.mpls_tunnel_label_counter_id_stat_get.unit,
  22633 			req->args.mpls_tunnel_label_counter_id_stat_get.intf_id,
  22634 			req->args.mpls_tunnel_label_counter_id_stat_get.stat_counter_id,
  22635 			req->args.mpls_tunnel_label_counter_id_stat_get.stat_info);
  22636 		break;
  22637 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_LABEL_COUNTER_ID_STAT_SET:
  22638 		rv = bcm_mpls_tunnel_label_counter_id_stat_set(
  22639 			req->args.mpls_tunnel_label_counter_id_stat_set.unit,
  22640 			req->args.mpls_tunnel_label_counter_id_stat_set.intf_id,
  22641 			req->args.mpls_tunnel_label_counter_id_stat_set.stat_counter_id,
  22642 			req->args.mpls_tunnel_label_counter_id_stat_set.stat_info);
  22643 		break;
  22644 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_LABEL_COUNTER_ID_STAT_SYNC_GET:
  22645 		rv = bcm_mpls_tunnel_label_counter_id_stat_sync_get(
  22646 			req->args.mpls_tunnel_label_counter_id_stat_sync_get.unit,
  22647 			req->args.mpls_tunnel_label_counter_id_stat_sync_get.intf_id,
  22648 			req->args.mpls_tunnel_label_counter_id_stat_sync_get.stat_counter_id,
  22649 			req->args.mpls_tunnel_label_counter_id_stat_sync_get.stat_info);
  22650 		break;
  22651 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_STAT_ATTACH:
  22652 		rv = bcm_mpls_tunnel_stat_attach(
  22653 			req->args.mpls_tunnel_stat_attach.unit,
  22654 			req->args.mpls_tunnel_stat_attach.intf_id,
  22655 			req->args.mpls_tunnel_stat_attach.stat_counter_id);
  22656 		break;
  22657 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_STAT_COUNTER_GET:
  22658 		rv = bcm_mpls_tunnel_stat_counter_get(
  22659 			req->args.mpls_tunnel_stat_counter_get.unit,
  22660 			req->args.mpls_tunnel_stat_counter_get.intf_id,
  22661 			req->args.mpls_tunnel_stat_counter_get.stat,
  22662 			req->args.mpls_tunnel_stat_counter_get.num_entries,
  22663 			req->args.mpls_tunnel_stat_counter_get.counter_indexes,
  22664 			req->args.mpls_tunnel_stat_counter_get.counter_values);
  22665 		break;
  22666 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_STAT_COUNTER_SET:
  22667 		rv = bcm_mpls_tunnel_stat_counter_set(
  22668 			req->args.mpls_tunnel_stat_counter_set.unit,
  22669 			req->args.mpls_tunnel_stat_counter_set.intf_id,
  22670 			req->args.mpls_tunnel_stat_counter_set.stat,
  22671 			req->args.mpls_tunnel_stat_counter_set.num_entries,
  22672 			req->args.mpls_tunnel_stat_counter_set.counter_indexes,
  22673 			req->args.mpls_tunnel_stat_counter_set.counter_values);
  22674 		break;
  22675 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_STAT_COUNTER_SYNC_GET:
  22676 		rv = bcm_mpls_tunnel_stat_counter_sync_get(
  22677 			req->args.mpls_tunnel_stat_counter_sync_get.unit,
  22678 			req->args.mpls_tunnel_stat_counter_sync_get.intf_id,
  22679 			req->args.mpls_tunnel_stat_counter_sync_get.stat,
  22680 			req->args.mpls_tunnel_stat_counter_sync_get.num_entries,
  22681 			req->args.mpls_tunnel_stat_counter_sync_get.counter_indexes,
  22682 			req->args.mpls_tunnel_stat_counter_sync_get.counter_values);
  22683 		break;
  22684 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_STAT_DETACH:
  22685 		rv = bcm_mpls_tunnel_stat_detach(
  22686 			req->args.mpls_tunnel_stat_detach.unit,
  22687 			req->args.mpls_tunnel_stat_detach.intf_id);
  22688 		break;
  22689 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_STAT_ID_GET:
  22690 		rv = bcm_mpls_tunnel_stat_id_get(
  22691 			req->args.mpls_tunnel_stat_id_get.unit,
  22692 			req->args.mpls_tunnel_stat_id_get.intf_id,
  22693 			req->args.mpls_tunnel_stat_id_get.stat,
  22694 			req->args.mpls_tunnel_stat_id_get.stat_counter_id);
  22695 		break;
  22696 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_SWITCH_ADD:
  22697 		rv = bcm_mpls_tunnel_switch_add(
  22698 			req->args.mpls_tunnel_switch_add.unit,
  22699 			req->args.mpls_tunnel_switch_add.info);
  22700 		break;
  22701 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_SWITCH_CREATE:
  22702 		rv = bcm_mpls_tunnel_switch_create(
  22703 			req->args.mpls_tunnel_switch_create.unit,
  22704 			req->args.mpls_tunnel_switch_create.info);
  22705 		break;
  22706 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_SWITCH_DELETE:
  22707 		rv = bcm_mpls_tunnel_switch_delete(
  22708 			req->args.mpls_tunnel_switch_delete.unit,
  22709 			req->args.mpls_tunnel_switch_delete.info);
  22710 		break;
  22711 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_SWITCH_DELETE_ALL:
  22712 		rv = bcm_mpls_tunnel_switch_delete_all(
  22713 			req->args.mpls_tunnel_switch_delete_all.unit);
  22714 		break;
  22715 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_SWITCH_GET:
  22716 		rv = bcm_mpls_tunnel_switch_get(
  22717 			req->args.mpls_tunnel_switch_get.unit,
  22718 			req->args.mpls_tunnel_switch_get.info);
  22719 		break;
  22720 	case BCM_ASYNC_ENTRY_MPLS_TUNNEL_SWITCH_TRAVERSE:
  22721 		rv = bcm_mpls_tunnel_switch_traverse(
  22722 			req->args.mpls_tunnel_switch_traverse.unit,
  22723 			req->args.mpls_tunnel_switch_traverse.cb,
  22724 			req->args.mpls_tunnel_switch_traverse.user_data);
  22725 		break;
  22726 	case BCM_ASYNC_ENTRY_MPLS_VPN_ID_CREATE:
  22727 		rv = bcm_mpls_vpn_id_create(
  22728 			req->args.mpls_vpn_id_create.unit,
  22729 			req->args.mpls_vpn_id_create.info);
  22730 		break;
  22731 	case BCM_ASYNC_ENTRY_MPLS_VPN_ID_DESTROY:
  22732 		rv = bcm_mpls_vpn_id_destroy(
  22733 			req->args.mpls_vpn_id_destroy.unit,
  22734 			req->args.mpls_vpn_id_destroy.vpn);
  22735 		break;
  22736 	case BCM_ASYNC_ENTRY_MPLS_VPN_ID_DESTROY_ALL:
  22737 		rv = bcm_mpls_vpn_id_destroy_all(
  22738 			req->args.mpls_vpn_id_destroy_all.unit);
  22739 		break;
  22740 	case BCM_ASYNC_ENTRY_MPLS_VPN_ID_GET:
  22741 		rv = bcm_mpls_vpn_id_get(
  22742 			req->args.mpls_vpn_id_get.unit,
  22743 			req->args.mpls_vpn_id_get.vpn,
  22744 			req->args.mpls_vpn_id_get.info);
  22745 		break;
  22746 	case BCM_ASYNC_ENTRY_MPLS_VPN_TRAVERSE:
  22747 		rv = bcm_mpls_vpn_traverse(
  22748 			req->args.mpls_vpn_traverse.unit,
  22749 			req->args.mpls_vpn_traverse.cb,
  22750 			req->args.mpls_vpn_traverse.user_data);
  22751 		break;
  22752 #endif	/* INCLUDE_L3 */
  22753 	case BCM_ASYNC_ENTRY_MULTICAST_ADD:
  22754 		rv = bcm_multicast_add(
  22755 			req->args.multicast_add.unit,
  22756 			req->args.multicast_add.group,
  22757 			req->args.multicast_add.flags,
  22758 			req->args.multicast_add.nof_replications,
  22759 			req->args.multicast_add.rep_array);
  22760 		break;
  22761 	case BCM_ASYNC_ENTRY_MULTICAST_CONTROL_GET:
  22762 		rv = bcm_multicast_control_get(
  22763 			req->args.multicast_control_get.unit,
  22764 			req->args.multicast_control_get.group,
  22765 			req->args.multicast_control_get.type,
  22766 			req->args.multicast_control_get.arg);
  22767 		break;
  22768 	case BCM_ASYNC_ENTRY_MULTICAST_CONTROL_SET:
  22769 		rv = bcm_multicast_control_set(
  22770 			req->args.multicast_control_set.unit,
  22771 			req->args.multicast_control_set.group,
  22772 			req->args.multicast_control_set.type,
  22773 			req->args.multicast_control_set.arg);
  22774 		break;
  22775 	case BCM_ASYNC_ENTRY_MULTICAST_CREATE:
  22776 		rv = bcm_multicast_create(
  22777 			req->args.multicast_create.unit,
  22778 			req->args.multicast_create.flags,
  22779 			req->args.multicast_create.group);
  22780 		break;
  22781 	case BCM_ASYNC_ENTRY_MULTICAST_DELETE:
  22782 		rv = bcm_multicast_delete(
  22783 			req->args.multicast_delete.unit,
  22784 			req->args.multicast_delete.group,
  22785 			req->args.multicast_delete.flags,
  22786 			req->args.multicast_delete.nof_replications,
  22787 			req->args.multicast_delete.rep_array);
  22788 		break;
  22789 	case BCM_ASYNC_ENTRY_MULTICAST_DESTROY:
  22790 		rv = bcm_multicast_destroy(
  22791 			req->args.multicast_destroy.unit,
  22792 			req->args.multicast_destroy.group);
  22793 		break;
  22794 	case BCM_ASYNC_ENTRY_MULTICAST_DETACH:
  22795 		rv = bcm_multicast_detach(
  22796 			req->args.multicast_detach.unit);
  22797 		break;
  22798 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_ADD:
  22799 		rv = bcm_multicast_egress_add(
  22800 			req->args.multicast_egress_add.unit,
  22801 			req->args.multicast_egress_add.group,
  22802 			req->args.multicast_egress_add.port,
  22803 			req->args.multicast_egress_add.encap_id);
  22804 		break;
  22805 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_DELETE:
  22806 		rv = bcm_multicast_egress_delete(
  22807 			req->args.multicast_egress_delete.unit,
  22808 			req->args.multicast_egress_delete.group,
  22809 			req->args.multicast_egress_delete.port,
  22810 			req->args.multicast_egress_delete.encap_id);
  22811 		break;
  22812 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_DELETE_ALL:
  22813 		rv = bcm_multicast_egress_delete_all(
  22814 			req->args.multicast_egress_delete_all.unit,
  22815 			req->args.multicast_egress_delete_all.group);
  22816 		break;
  22817 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_GET:
  22818 		rv = bcm_multicast_egress_get(
  22819 			req->args.multicast_egress_get.unit,
  22820 			req->args.multicast_egress_get.group,
  22821 			req->args.multicast_egress_get.port_max,
  22822 			req->args.multicast_egress_get.port_array,
  22823 			req->args.multicast_egress_get.encap_id_array,
  22824 			req->args.multicast_egress_get.port_count);
  22825 		break;
  22826 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_OBJECT_ENCAP_GET:
  22827 		rv = bcm_multicast_egress_object_encap_get(
  22828 			req->args.multicast_egress_object_encap_get.unit,
  22829 			req->args.multicast_egress_object_encap_get.group,
  22830 			req->args.multicast_egress_object_encap_get.intf,
  22831 			req->args.multicast_egress_object_encap_get.encap_id);
  22832 		break;
  22833 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_SET:
  22834 		rv = bcm_multicast_egress_set(
  22835 			req->args.multicast_egress_set.unit,
  22836 			req->args.multicast_egress_set.group,
  22837 			req->args.multicast_egress_set.port_count,
  22838 			req->args.multicast_egress_set.port_array,
  22839 			req->args.multicast_egress_set.encap_id_array);
  22840 		break;
  22841 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_SUBSCRIBER_ADD:
  22842 		rv = bcm_multicast_egress_subscriber_add(
  22843 			req->args.multicast_egress_subscriber_add.unit,
  22844 			req->args.multicast_egress_subscriber_add.group,
  22845 			req->args.multicast_egress_subscriber_add.port,
  22846 			req->args.multicast_egress_subscriber_add.encap_id,
  22847 			req->args.multicast_egress_subscriber_add.subscriber_queue);
  22848 		break;
  22849 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_SUBSCRIBER_DELETE:
  22850 		rv = bcm_multicast_egress_subscriber_delete(
  22851 			req->args.multicast_egress_subscriber_delete.unit,
  22852 			req->args.multicast_egress_subscriber_delete.group,
  22853 			req->args.multicast_egress_subscriber_delete.port,
  22854 			req->args.multicast_egress_subscriber_delete.encap_id,
  22855 			req->args.multicast_egress_subscriber_delete.subscriber_queue);
  22856 		break;
  22857 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_SUBSCRIBER_GET:
  22858 		rv = bcm_multicast_egress_subscriber_get(
  22859 			req->args.multicast_egress_subscriber_get.unit,
  22860 			req->args.multicast_egress_subscriber_get.group,
  22861 			req->args.multicast_egress_subscriber_get.port_max,
  22862 			req->args.multicast_egress_subscriber_get.port_array,
  22863 			req->args.multicast_egress_subscriber_get.encap_id_array,
  22864 			req->args.multicast_egress_subscriber_get.subscriber_queue_array,
  22865 			req->args.multicast_egress_subscriber_get.port_count);
  22866 		break;
  22867 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_SUBSCRIBER_QOS_MAP_GET:
  22868 		rv = bcm_multicast_egress_subscriber_qos_map_get(
  22869 			req->args.multicast_egress_subscriber_qos_map_get.unit,
  22870 			req->args.multicast_egress_subscriber_qos_map_get.group,
  22871 			req->args.multicast_egress_subscriber_qos_map_get.port,
  22872 			req->args.multicast_egress_subscriber_qos_map_get.subscriber_queue,
  22873 			req->args.multicast_egress_subscriber_qos_map_get.qos_map_id);
  22874 		break;
  22875 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_SUBSCRIBER_QOS_MAP_SET:
  22876 		rv = bcm_multicast_egress_subscriber_qos_map_set(
  22877 			req->args.multicast_egress_subscriber_qos_map_set.unit,
  22878 			req->args.multicast_egress_subscriber_qos_map_set.group,
  22879 			req->args.multicast_egress_subscriber_qos_map_set.port,
  22880 			req->args.multicast_egress_subscriber_qos_map_set.subscriber_queue,
  22881 			req->args.multicast_egress_subscriber_qos_map_set.qos_map_id);
  22882 		break;
  22883 	case BCM_ASYNC_ENTRY_MULTICAST_EGRESS_SUBSCRIBER_SET:
  22884 		rv = bcm_multicast_egress_subscriber_set(
  22885 			req->args.multicast_egress_subscriber_set.unit,
  22886 			req->args.multicast_egress_subscriber_set.group,
  22887 			req->args.multicast_egress_subscriber_set.port_count,
  22888 			req->args.multicast_egress_subscriber_set.port_array,
  22889 			req->args.multicast_egress_subscriber_set.encap_id_array,
  22890 			req->args.multicast_egress_subscriber_set.subscriber_queue_array);
  22891 		break;
  22892 	case BCM_ASYNC_ENTRY_MULTICAST_ENCAP_EXTENSION_CREATE:
  22893 		rv = bcm_multicast_encap_extension_create(
  22894 			req->args.multicast_encap_extension_create.unit,
  22895 			req->args.multicast_encap_extension_create.flags,
  22896 			req->args.multicast_encap_extension_create.multicast_replication_index,
  22897 			req->args.multicast_encap_extension_create.encap_extension_count,
  22898 			req->args.multicast_encap_extension_create.encap_extension_array);
  22899 		break;
  22900 	case BCM_ASYNC_ENTRY_MULTICAST_ENCAP_EXTENSION_DELETE_ALL:
  22901 		rv = bcm_multicast_encap_extension_delete_all(
  22902 			req->args.multicast_encap_extension_delete_all.unit);
  22903 		break;
  22904 	case BCM_ASYNC_ENTRY_MULTICAST_ENCAP_EXTENSION_DESTROY:
  22905 		rv = bcm_multicast_encap_extension_destroy(
  22906 			req->args.multicast_encap_extension_destroy.unit,
  22907 			req->args.multicast_encap_extension_destroy.flags,
  22908 			req->args.multicast_encap_extension_destroy.multicast_replication_index);
  22909 		break;
  22910 	case BCM_ASYNC_ENTRY_MULTICAST_ENCAP_EXTENSION_GET:
  22911 		rv = bcm_multicast_encap_extension_get(
  22912 			req->args.multicast_encap_extension_get.unit,
  22913 			req->args.multicast_encap_extension_get.flags,
  22914 			req->args.multicast_encap_extension_get.multicast_replication_index,
  22915 			req->args.multicast_encap_extension_get.encap_max,
  22916 			req->args.multicast_encap_extension_get.encap_extension_array,
  22917 			req->args.multicast_encap_extension_get.encap_extension_count);
  22918 		break;
  22919 	case BCM_ASYNC_ENTRY_MULTICAST_ENCAP_EXTENSION_TRAVERSE:
  22920 		rv = bcm_multicast_encap_extension_traverse(
  22921 			req->args.multicast_encap_extension_traverse.unit,
  22922 			req->args.multicast_encap_extension_traverse.trav_fn,
  22923 			req->args.multicast_encap_extension_traverse.user_data);
  22924 		break;
  22925 	case BCM_ASYNC_ENTRY_MULTICAST_EXTENDER_ENCAP_GET:
  22926 		rv = bcm_multicast_extender_encap_get(
  22927 			req->args.multicast_extender_encap_get.unit,
  22928 			req->args.multicast_extender_encap_get.group,
  22929 			req->args.multicast_extender_encap_get.port,
  22930 			req->args.multicast_extender_encap_get.extender_port_id,
  22931 			req->args.multicast_extender_encap_get.encap_id);
  22932 		break;
  22933 	case BCM_ASYNC_ENTRY_MULTICAST_FABRIC_DISTRIBUTION_GET:
  22934 		rv = bcm_multicast_fabric_distribution_get(
  22935 			req->args.multicast_fabric_distribution_get.unit,
  22936 			req->args.multicast_fabric_distribution_get.group,
  22937 			req->args.multicast_fabric_distribution_get.ds_id);
  22938 		break;
  22939 	case BCM_ASYNC_ENTRY_MULTICAST_FABRIC_DISTRIBUTION_SET:
  22940 		rv = bcm_multicast_fabric_distribution_set(
  22941 			req->args.multicast_fabric_distribution_set.unit,
  22942 			req->args.multicast_fabric_distribution_set.group,
  22943 			req->args.multicast_fabric_distribution_set.ds_id);
  22944 		break;
  22945 	case BCM_ASYNC_ENTRY_MULTICAST_GET:
  22946 		rv = bcm_multicast_get(
  22947 			req->args.multicast_get.unit,
  22948 			req->args.multicast_get.group,
  22949 			req->args.multicast_get.flags,
  22950 			req->args.multicast_get.replication_max,
  22951 			req->args.multicast_get.out_rep_array,
  22952 			req->args.multicast_get.rep_count);
  22953 		break;
  22954 	case BCM_ASYNC_ENTRY_MULTICAST_GROUP_FREE_RANGE_GET:
  22955 		rv = bcm_multicast_group_free_range_get(
  22956 			req->args.multicast_group_free_range_get.unit,
  22957 			req->args.multicast_group_free_range_get.type_flag,
  22958 			req->args.multicast_group_free_range_get.group_min,
  22959 			req->args.multicast_group_free_range_get.group_max);
  22960 		break;
  22961 	case BCM_ASYNC_ENTRY_MULTICAST_GROUP_GET:
  22962 		rv = bcm_multicast_group_get(
  22963 			req->args.multicast_group_get.unit,
  22964 			req->args.multicast_group_get.group,
  22965 			req->args.multicast_group_get.flags);
  22966 		break;
  22967 	case BCM_ASYNC_ENTRY_MULTICAST_GROUP_IS_FREE:
  22968 		rv = bcm_multicast_group_is_free(
  22969 			req->args.multicast_group_is_free.unit,
  22970 			req->args.multicast_group_is_free.group);
  22971 		break;
  22972 	case BCM_ASYNC_ENTRY_MULTICAST_GROUP_TRAVERSE:
  22973 		rv = bcm_multicast_group_traverse(
  22974 			req->args.multicast_group_traverse.unit,
  22975 			req->args.multicast_group_traverse.trav_fn,
  22976 			req->args.multicast_group_traverse.flags,
  22977 			req->args.multicast_group_traverse.user_data);
  22978 		break;
  22979 	case BCM_ASYNC_ENTRY_MULTICAST_INGRESS_ADD:
  22980 		rv = bcm_multicast_ingress_add(
  22981 			req->args.multicast_ingress_add.unit,
  22982 			req->args.multicast_ingress_add.group,
  22983 			req->args.multicast_ingress_add.port,
  22984 			req->args.multicast_ingress_add.encap_id);
  22985 		break;
  22986 	case BCM_ASYNC_ENTRY_MULTICAST_INGRESS_DELETE:
  22987 		rv = bcm_multicast_ingress_delete(
  22988 			req->args.multicast_ingress_delete.unit,
  22989 			req->args.multicast_ingress_delete.group,
  22990 			req->args.multicast_ingress_delete.port,
  22991 			req->args.multicast_ingress_delete.encap_id);
  22992 		break;
  22993 	case BCM_ASYNC_ENTRY_MULTICAST_INGRESS_DELETE_ALL:
  22994 		rv = bcm_multicast_ingress_delete_all(
  22995 			req->args.multicast_ingress_delete_all.unit,
  22996 			req->args.multicast_ingress_delete_all.group);
  22997 		break;
  22998 	case BCM_ASYNC_ENTRY_MULTICAST_INGRESS_GET:
  22999 		rv = bcm_multicast_ingress_get(
  23000 			req->args.multicast_ingress_get.unit,
  23001 			req->args.multicast_ingress_get.group,
  23002 			req->args.multicast_ingress_get.port_max,
  23003 			req->args.multicast_ingress_get.port_array,
  23004 			req->args.multicast_ingress_get.encap_id_array,
  23005 			req->args.multicast_ingress_get.port_count);
  23006 		break;
  23007 	case BCM_ASYNC_ENTRY_MULTICAST_INGRESS_SET:
  23008 		rv = bcm_multicast_ingress_set(
  23009 			req->args.multicast_ingress_set.unit,
  23010 			req->args.multicast_ingress_set.group,
  23011 			req->args.multicast_ingress_set.port_count,
  23012 			req->args.multicast_ingress_set.port_array,
  23013 			req->args.multicast_ingress_set.encap_id_array);
  23014 		break;
  23015 	case BCM_ASYNC_ENTRY_MULTICAST_INIT:
  23016 		rv = bcm_multicast_init(
  23017 			req->args.multicast_init.unit);
  23018 		break;
  23019 	case BCM_ASYNC_ENTRY_MULTICAST_L2_ENCAP_GET:
  23020 		rv = bcm_multicast_l2_encap_get(
  23021 			req->args.multicast_l2_encap_get.unit,
  23022 			req->args.multicast_l2_encap_get.group,
  23023 			req->args.multicast_l2_encap_get.port,
  23024 			req->args.multicast_l2_encap_get.vlan,
  23025 			req->args.multicast_l2_encap_get.encap_id);
  23026 		break;
  23027 	case BCM_ASYNC_ENTRY_MULTICAST_L2GRE_ENCAP_GET:
  23028 		rv = bcm_multicast_l2gre_encap_get(
  23029 			req->args.multicast_l2gre_encap_get.unit,
  23030 			req->args.multicast_l2gre_encap_get.group,
  23031 			req->args.multicast_l2gre_encap_get.port,
  23032 			req->args.multicast_l2gre_encap_get.l2gre_port_id,
  23033 			req->args.multicast_l2gre_encap_get.encap_id);
  23034 		break;
  23035 	case BCM_ASYNC_ENTRY_MULTICAST_L3_ENCAP_GET:
  23036 		rv = bcm_multicast_l3_encap_get(
  23037 			req->args.multicast_l3_encap_get.unit,
  23038 			req->args.multicast_l3_encap_get.group,
  23039 			req->args.multicast_l3_encap_get.port,
  23040 			req->args.multicast_l3_encap_get.intf,
  23041 			req->args.multicast_l3_encap_get.encap_id);
  23042 		break;
  23043 	case BCM_ASYNC_ENTRY_MULTICAST_MAC_ENCAP_GET:
  23044 		rv = bcm_multicast_mac_encap_get(
  23045 			req->args.multicast_mac_encap_get.unit,
  23046 			req->args.multicast_mac_encap_get.group,
  23047 			req->args.multicast_mac_encap_get.port,
  23048 			req->args.multicast_mac_encap_get.mac_port_id,
  23049 			req->args.multicast_mac_encap_get.encap_id);
  23050 		break;
  23051 	case BCM_ASYNC_ENTRY_MULTICAST_MIM_ENCAP_GET:
  23052 		rv = bcm_multicast_mim_encap_get(
  23053 			req->args.multicast_mim_encap_get.unit,
  23054 			req->args.multicast_mim_encap_get.group,
  23055 			req->args.multicast_mim_encap_get.port,
  23056 			req->args.multicast_mim_encap_get.mim_port_id,
  23057 			req->args.multicast_mim_encap_get.encap_id);
  23058 		break;
  23059 	case BCM_ASYNC_ENTRY_MULTICAST_MULTI_ALLOC:
  23060 		rv = bcm_multicast_multi_alloc(
  23061 			req->args.multicast_multi_alloc.unit,
  23062 			req->args.multicast_multi_alloc.mc_multi_info,
  23063 			req->args.multicast_multi_alloc.base_mc_group);
  23064 		break;
  23065 	case BCM_ASYNC_ENTRY_MULTICAST_MULTI_FREE:
  23066 		rv = bcm_multicast_multi_free(
  23067 			req->args.multicast_multi_free.unit,
  23068 			req->args.multicast_multi_free.base_mc_group);
  23069 		break;
  23070 	case BCM_ASYNC_ENTRY_MULTICAST_NIV_ENCAP_GET:
  23071 		rv = bcm_multicast_niv_encap_get(
  23072 			req->args.multicast_niv_encap_get.unit,
  23073 			req->args.multicast_niv_encap_get.group,
  23074 			req->args.multicast_niv_encap_get.port,
  23075 			req->args.multicast_niv_encap_get.niv_port_id,
  23076 			req->args.multicast_niv_encap_get.encap_id);
  23077 		break;
  23078 	case BCM_ASYNC_ENTRY_MULTICAST_REPL_GET:
  23079 		rv = bcm_multicast_repl_get(
  23080 			req->args.multicast_repl_get.unit,
  23081 			req->args.multicast_repl_get.index,
  23082 			req->args.multicast_repl_get.port,
  23083 			req->args.multicast_repl_get.vlan_vec);
  23084 		break;
  23085 	case BCM_ASYNC_ENTRY_MULTICAST_REPL_SET:
  23086 		rv = bcm_multicast_repl_set(
  23087 			req->args.multicast_repl_set.unit,
  23088 			req->args.multicast_repl_set.mc_index,
  23089 			req->args.multicast_repl_set.port,
  23090 			req->args.multicast_repl_set.vlan_vec);
  23091 		break;
  23092 	case BCM_ASYNC_ENTRY_MULTICAST_SET:
  23093 		rv = bcm_multicast_set(
  23094 			req->args.multicast_set.unit,
  23095 			req->args.multicast_set.group,
  23096 			req->args.multicast_set.flags,
  23097 			req->args.multicast_set.nof_replications,
  23098 			req->args.multicast_set.rep_array);
  23099 		break;
  23100 	case BCM_ASYNC_ENTRY_MULTICAST_STAT_CONTROL_GET:
  23101 		rv = bcm_multicast_stat_control_get(
  23102 			req->args.multicast_stat_control_get.unit,
  23103 			req->args.multicast_stat_control_get.core_id,
  23104 			req->args.multicast_stat_control_get.flags,
  23105 			req->args.multicast_stat_control_get.command_id,
  23106 			req->args.multicast_stat_control_get.type,
  23107 			req->args.multicast_stat_control_get.arg);
  23108 		break;
  23109 	case BCM_ASYNC_ENTRY_MULTICAST_STAT_CONTROL_SET:
  23110 		rv = bcm_multicast_stat_control_set(
  23111 			req->args.multicast_stat_control_set.unit,
  23112 			req->args.multicast_stat_control_set.core_id,
  23113 			req->args.multicast_stat_control_set.flags,
  23114 			req->args.multicast_stat_control_set.command_id,
  23115 			req->args.multicast_stat_control_set.type,
  23116 			req->args.multicast_stat_control_set.arg);
  23117 		break;
  23118 	case BCM_ASYNC_ENTRY_MULTICAST_SUBPORT_ENCAP_GET:
  23119 		rv = bcm_multicast_subport_encap_get(
  23120 			req->args.multicast_subport_encap_get.unit,
  23121 			req->args.multicast_subport_encap_get.group,
  23122 			req->args.multicast_subport_encap_get.port,
  23123 			req->args.multicast_subport_encap_get.subport,
  23124 			req->args.multicast_subport_encap_get.encap_id);
  23125 		break;
  23126 	case BCM_ASYNC_ENTRY_MULTICAST_TRILL_ENCAP_GET:
  23127 		rv = bcm_multicast_trill_encap_get(
  23128 			req->args.multicast_trill_encap_get.unit,
  23129 			req->args.multicast_trill_encap_get.group,
  23130 			req->args.multicast_trill_encap_get.port,
  23131 			req->args.multicast_trill_encap_get.intf,
  23132 			req->args.multicast_trill_encap_get.encap_id);
  23133 		break;
  23134 	case BCM_ASYNC_ENTRY_MULTICAST_VLAN_ENCAP_GET:
  23135 		rv = bcm_multicast_vlan_encap_get(
  23136 			req->args.multicast_vlan_encap_get.unit,
  23137 			req->args.multicast_vlan_encap_get.group,
  23138 			req->args.multicast_vlan_encap_get.port,
  23139 			req->args.multicast_vlan_encap_get.vlan_port_id,
  23140 			req->args.multicast_vlan_encap_get.encap_id);
  23141 		break;
  23142 	case BCM_ASYNC_ENTRY_MULTICAST_VPLS_ENCAP_GET:
  23143 		rv = bcm_multicast_vpls_encap_get(
  23144 			req->args.multicast_vpls_encap_get.unit,
  23145 			req->args.multicast_vpls_encap_get.group,
  23146 			req->args.multicast_vpls_encap_get.port,
  23147 			req->args.multicast_vpls_encap_get.mpls_port_id,
  23148 			req->args.multicast_vpls_encap_get.encap_id);
  23149 		break;
  23150 	case BCM_ASYNC_ENTRY_MULTICAST_VXLAN_ENCAP_GET:
  23151 		rv = bcm_multicast_vxlan_encap_get(
  23152 			req->args.multicast_vxlan_encap_get.unit,
  23153 			req->args.multicast_vxlan_encap_get.group,
  23154 			req->args.multicast_vxlan_encap_get.port,
  23155 			req->args.multicast_vxlan_encap_get.vxlan_port_id,
  23156 			req->args.multicast_vxlan_encap_get.encap_id);
  23157 		break;
  23158 	case BCM_ASYNC_ENTRY_MULTICAST_WLAN_ENCAP_GET:
  23159 		rv = bcm_multicast_wlan_encap_get(
  23160 			req->args.multicast_wlan_encap_get.unit,
  23161 			req->args.multicast_wlan_encap_get.group,
  23162 			req->args.multicast_wlan_encap_get.port,
  23163 			req->args.multicast_wlan_encap_get.wlan_port_id,
  23164 			req->args.multicast_wlan_encap_get.encap_id);
  23165 		break;
  23166 #ifdef	INCLUDE_L3
  23167 	case BCM_ASYNC_ENTRY_NIV_CLEANUP:
  23168 		rv = bcm_niv_cleanup(
  23169 			req->args.niv_cleanup.unit);
  23170 		break;
  23171 	case BCM_ASYNC_ENTRY_NIV_EGRESS_ADD:
  23172 		rv = bcm_niv_egress_add(
  23173 			req->args.niv_egress_add.unit,
  23174 			req->args.niv_egress_add.niv_port,
  23175 			req->args.niv_egress_add.niv_egress);
  23176 		break;
  23177 	case BCM_ASYNC_ENTRY_NIV_EGRESS_DELETE:
  23178 		rv = bcm_niv_egress_delete(
  23179 			req->args.niv_egress_delete.unit,
  23180 			req->args.niv_egress_delete.niv_port,
  23181 			req->args.niv_egress_delete.niv_egress);
  23182 		break;
  23183 	case BCM_ASYNC_ENTRY_NIV_EGRESS_DELETE_ALL:
  23184 		rv = bcm_niv_egress_delete_all(
  23185 			req->args.niv_egress_delete_all.unit,
  23186 			req->args.niv_egress_delete_all.niv_port);
  23187 		break;
  23188 	case BCM_ASYNC_ENTRY_NIV_EGRESS_GET:
  23189 		rv = bcm_niv_egress_get(
  23190 			req->args.niv_egress_get.unit,
  23191 			req->args.niv_egress_get.niv_port,
  23192 			req->args.niv_egress_get.array_size,
  23193 			req->args.niv_egress_get.niv_egress_array,
  23194 			req->args.niv_egress_get.count);
  23195 		break;
  23196 	case BCM_ASYNC_ENTRY_NIV_EGRESS_SET:
  23197 		rv = bcm_niv_egress_set(
  23198 			req->args.niv_egress_set.unit,
  23199 			req->args.niv_egress_set.niv_port,
  23200 			req->args.niv_egress_set.array_size,
  23201 			req->args.niv_egress_set.niv_egress_array);
  23202 		break;
  23203 	case BCM_ASYNC_ENTRY_NIV_FORWARD_ADD:
  23204 		rv = bcm_niv_forward_add(
  23205 			req->args.niv_forward_add.unit,
  23206 			req->args.niv_forward_add.iv_fwd_entry);
  23207 		break;
  23208 	case BCM_ASYNC_ENTRY_NIV_FORWARD_DELETE:
  23209 		rv = bcm_niv_forward_delete(
  23210 			req->args.niv_forward_delete.unit,
  23211 			req->args.niv_forward_delete.iv_fwd_entry);
  23212 		break;
  23213 	case BCM_ASYNC_ENTRY_NIV_FORWARD_DELETE_ALL:
  23214 		rv = bcm_niv_forward_delete_all(
  23215 			req->args.niv_forward_delete_all.unit);
  23216 		break;
  23217 	case BCM_ASYNC_ENTRY_NIV_FORWARD_GET:
  23218 		rv = bcm_niv_forward_get(
  23219 			req->args.niv_forward_get.unit,
  23220 			req->args.niv_forward_get.iv_fwd_entry);
  23221 		break;
  23222 	case BCM_ASYNC_ENTRY_NIV_FORWARD_TRAVERSE:
  23223 		rv = bcm_niv_forward_traverse(
  23224 			req->args.niv_forward_traverse.unit,
  23225 			req->args.niv_forward_traverse.cb,
  23226 			req->args.niv_forward_traverse.user_data);
  23227 		break;
  23228 	case BCM_ASYNC_ENTRY_NIV_INIT:
  23229 		rv = bcm_niv_init(
  23230 			req->args.niv_init.unit);
  23231 		break;
  23232 	case BCM_ASYNC_ENTRY_NIV_PORT_ADD:
  23233 		rv = bcm_niv_port_add(
  23234 			req->args.niv_port_add.unit,
  23235 			req->args.niv_port_add.niv_port);
  23236 		break;
  23237 	case BCM_ASYNC_ENTRY_NIV_PORT_DELETE:
  23238 		rv = bcm_niv_port_delete(
  23239 			req->args.niv_port_delete.unit,
  23240 			req->args.niv_port_delete.niv_port_id);
  23241 		break;
  23242 	case BCM_ASYNC_ENTRY_NIV_PORT_DELETE_ALL:
  23243 		rv = bcm_niv_port_delete_all(
  23244 			req->args.niv_port_delete_all.unit);
  23245 		break;
  23246 	case BCM_ASYNC_ENTRY_NIV_PORT_GET:
  23247 		rv = bcm_niv_port_get(
  23248 			req->args.niv_port_get.unit,
  23249 			req->args.niv_port_get.niv_port);
  23250 		break;
  23251 	case BCM_ASYNC_ENTRY_NIV_PORT_TRAVERSE:
  23252 		rv = bcm_niv_port_traverse(
  23253 			req->args.niv_port_traverse.unit,
  23254 			req->args.niv_port_traverse.cb,
  23255 			req->args.niv_port_traverse.user_data);
  23256 		break;
  23257 #endif	/* INCLUDE_L3 */
  23258 	case BCM_ASYNC_ENTRY_OAM_AIS_ADD:
  23259 		rv = bcm_oam_ais_add(
  23260 			req->args.oam_ais_add.unit,
  23261 			req->args.oam_ais_add.ais_ptr);
  23262 		break;
  23263 	case BCM_ASYNC_ENTRY_OAM_AIS_DELETE:
  23264 		rv = bcm_oam_ais_delete(
  23265 			req->args.oam_ais_delete.unit,
  23266 			req->args.oam_ais_delete.ais_ptr);
  23267 		break;
  23268 	case BCM_ASYNC_ENTRY_OAM_AIS_GET:
  23269 		rv = bcm_oam_ais_get(
  23270 			req->args.oam_ais_get.unit,
  23271 			req->args.oam_ais_get.ais_ptr);
  23272 		break;
  23273 	case BCM_ASYNC_ENTRY_OAM_CONTROL_GET:
  23274 		rv = bcm_oam_control_get(
  23275 			req->args.oam_control_get.unit,
  23276 			req->args.oam_control_get.type,
  23277 			req->args.oam_control_get.arg);
  23278 		break;
  23279 	case BCM_ASYNC_ENTRY_OAM_CONTROL_INDEXED_GET:
  23280 		rv = bcm_oam_control_indexed_get(
  23281 			req->args.oam_control_indexed_get.unit,
  23282 			req->args.oam_control_indexed_get.key,
  23283 			req->args.oam_control_indexed_get.arg);
  23284 		break;
  23285 	case BCM_ASYNC_ENTRY_OAM_CONTROL_INDEXED_SET:
  23286 		rv = bcm_oam_control_indexed_set(
  23287 			req->args.oam_control_indexed_set.unit,
  23288 			req->args.oam_control_indexed_set.key,
  23289 			req->args.oam_control_indexed_set.arg);
  23290 		break;
  23291 	case BCM_ASYNC_ENTRY_OAM_CONTROL_SET:
  23292 		rv = bcm_oam_control_set(
  23293 			req->args.oam_control_set.unit,
  23294 			req->args.oam_control_set.type,
  23295 			req->args.oam_control_set.arg);
  23296 		break;
  23297 	case BCM_ASYNC_ENTRY_OAM_CSF_ADD:
  23298 		rv = bcm_oam_csf_add(
  23299 			req->args.oam_csf_add.unit,
  23300 			req->args.oam_csf_add.csf_ptr);
  23301 		break;
  23302 	case BCM_ASYNC_ENTRY_OAM_CSF_DELETE:
  23303 		rv = bcm_oam_csf_delete(
  23304 			req->args.oam_csf_delete.unit,
  23305 			req->args.oam_csf_delete.csf_ptr);
  23306 		break;
  23307 	case BCM_ASYNC_ENTRY_OAM_CSF_GET:
  23308 		rv = bcm_oam_csf_get(
  23309 			req->args.oam_csf_get.unit,
  23310 			req->args.oam_csf_get.csf_ptr);
  23311 		break;
  23312 	case BCM_ASYNC_ENTRY_OAM_DELAY_ADD:
  23313 		rv = bcm_oam_delay_add(
  23314 			req->args.oam_delay_add.unit,
  23315 			req->args.oam_delay_add.delay_ptr);
  23316 		break;
  23317 	case BCM_ASYNC_ENTRY_OAM_DELAY_DELETE:
  23318 		rv = bcm_oam_delay_delete(
  23319 			req->args.oam_delay_delete.unit,
  23320 			req->args.oam_delay_delete.delay_ptr);
  23321 		break;
  23322 	case BCM_ASYNC_ENTRY_OAM_DELAY_GET:
  23323 		rv = bcm_oam_delay_get(
  23324 			req->args.oam_delay_get.unit,
  23325 			req->args.oam_delay_get.delay_ptr);
  23326 		break;
  23327 	case BCM_ASYNC_ENTRY_OAM_DETACH:
  23328 		rv = bcm_oam_detach(
  23329 			req->args.oam_detach.unit);
  23330 		break;
  23331 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_ACTION_SET:
  23332 		rv = bcm_oam_endpoint_action_set(
  23333 			req->args.oam_endpoint_action_set.unit,
  23334 			req->args.oam_endpoint_action_set.id,
  23335 			req->args.oam_endpoint_action_set.action);
  23336 		break;
  23337 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_CREATE:
  23338 		rv = bcm_oam_endpoint_create(
  23339 			req->args.oam_endpoint_create.unit,
  23340 			req->args.oam_endpoint_create.endpoint_info);
  23341 		break;
  23342 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_DESTROY:
  23343 		rv = bcm_oam_endpoint_destroy(
  23344 			req->args.oam_endpoint_destroy.unit,
  23345 			req->args.oam_endpoint_destroy.endpoint);
  23346 		break;
  23347 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_DESTROY_ALL:
  23348 		rv = bcm_oam_endpoint_destroy_all(
  23349 			req->args.oam_endpoint_destroy_all.unit,
  23350 			req->args.oam_endpoint_destroy_all.group);
  23351 		break;
  23352 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_EGRESS_INTF_EGRESS_ATTACH:
  23353 		rv = bcm_oam_endpoint_egress_intf_egress_attach(
  23354 			req->args.oam_endpoint_egress_intf_egress_attach.unit,
  23355 			req->args.oam_endpoint_egress_intf_egress_attach.endpoint_id,
  23356 			req->args.oam_endpoint_egress_intf_egress_attach.egress_intf);
  23357 		break;
  23358 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_EGRESS_INTF_EGRESS_ATTACH_GET:
  23359 		rv = bcm_oam_endpoint_egress_intf_egress_attach_get(
  23360 			req->args.oam_endpoint_egress_intf_egress_attach_get.unit,
  23361 			req->args.oam_endpoint_egress_intf_egress_attach_get.endpoint_id,
  23362 			req->args.oam_endpoint_egress_intf_egress_attach_get.max_count,
  23363 			req->args.oam_endpoint_egress_intf_egress_attach_get.egress_intf,
  23364 			req->args.oam_endpoint_egress_intf_egress_attach_get.count);
  23365 		break;
  23366 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_EGRESS_INTF_EGRESS_DETACH:
  23367 		rv = bcm_oam_endpoint_egress_intf_egress_detach(
  23368 			req->args.oam_endpoint_egress_intf_egress_detach.unit,
  23369 			req->args.oam_endpoint_egress_intf_egress_detach.endpoint_id,
  23370 			req->args.oam_endpoint_egress_intf_egress_detach.egress_intf);
  23371 		break;
  23372 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_FAULTS_MULTI_GET:
  23373 		rv = bcm_oam_endpoint_faults_multi_get(
  23374 			req->args.oam_endpoint_faults_multi_get.unit,
  23375 			req->args.oam_endpoint_faults_multi_get.flags,
  23376 			req->args.oam_endpoint_faults_multi_get.endpoint_protocol,
  23377 			req->args.oam_endpoint_faults_multi_get.max_endpoints,
  23378 			req->args.oam_endpoint_faults_multi_get.faults,
  23379 			req->args.oam_endpoint_faults_multi_get.endpoint_count);
  23380 		break;
  23381 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_GET:
  23382 		rv = bcm_oam_endpoint_get(
  23383 			req->args.oam_endpoint_get.unit,
  23384 			req->args.oam_endpoint_get.endpoint,
  23385 			req->args.oam_endpoint_get.endpoint_info);
  23386 		break;
  23387 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_GPORT_EGRESS_ATTACH:
  23388 		rv = bcm_oam_endpoint_gport_egress_attach(
  23389 			req->args.oam_endpoint_gport_egress_attach.unit,
  23390 			req->args.oam_endpoint_gport_egress_attach.endpoint,
  23391 			req->args.oam_endpoint_gport_egress_attach.gport);
  23392 		break;
  23393 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_GPORT_EGRESS_ATTACH_GET:
  23394 		rv = bcm_oam_endpoint_gport_egress_attach_get(
  23395 			req->args.oam_endpoint_gport_egress_attach_get.unit,
  23396 			req->args.oam_endpoint_gport_egress_attach_get.endpoint,
  23397 			req->args.oam_endpoint_gport_egress_attach_get.max_count,
  23398 			req->args.oam_endpoint_gport_egress_attach_get.gport,
  23399 			req->args.oam_endpoint_gport_egress_attach_get.count);
  23400 		break;
  23401 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_GPORT_EGRESS_DETACH:
  23402 		rv = bcm_oam_endpoint_gport_egress_detach(
  23403 			req->args.oam_endpoint_gport_egress_detach.unit,
  23404 			req->args.oam_endpoint_gport_egress_detach.endpoint,
  23405 			req->args.oam_endpoint_gport_egress_detach.gport);
  23406 		break;
  23407 	case BCM_ASYNC_ENTRY_OAM_ENDPOINT_TRAVERSE:
  23408 		rv = bcm_oam_endpoint_traverse(
  23409 			req->args.oam_endpoint_traverse.unit,
  23410 			req->args.oam_endpoint_traverse.group,
  23411 			req->args.oam_endpoint_traverse.cb,
  23412 			req->args.oam_endpoint_traverse.user_data);
  23413 		break;
  23414 	case BCM_ASYNC_ENTRY_OAM_EVENT_REGISTER:
  23415 		rv = bcm_oam_event_register(
  23416 			req->args.oam_event_register.unit,
  23417 			req->args.oam_event_register.event_types,
  23418 			req->args.oam_event_register.cb,
  23419 			req->args.oam_event_register.user_data);
  23420 		break;
  23421 	case BCM_ASYNC_ENTRY_OAM_EVENT_UNREGISTER:
  23422 		rv = bcm_oam_event_unregister(
  23423 			req->args.oam_event_unregister.unit,
  23424 			req->args.oam_event_unregister.event_types,
  23425 			req->args.oam_event_unregister.cb);
  23426 		break;
  23427 	case BCM_ASYNC_ENTRY_OAM_GROUP_CREATE:
  23428 		rv = bcm_oam_group_create(
  23429 			req->args.oam_group_create.unit,
  23430 			req->args.oam_group_create.group_info);
  23431 		break;
  23432 	case BCM_ASYNC_ENTRY_OAM_GROUP_DESTROY:
  23433 		rv = bcm_oam_group_destroy(
  23434 			req->args.oam_group_destroy.unit,
  23435 			req->args.oam_group_destroy.group);
  23436 		break;
  23437 	case BCM_ASYNC_ENTRY_OAM_GROUP_DESTROY_ALL:
  23438 		rv = bcm_oam_group_destroy_all(
  23439 			req->args.oam_group_destroy_all.unit);
  23440 		break;
  23441 	case BCM_ASYNC_ENTRY_OAM_GROUP_GET:
  23442 		rv = bcm_oam_group_get(
  23443 			req->args.oam_group_get.unit,
  23444 			req->args.oam_group_get.group,
  23445 			req->args.oam_group_get.group_info);
  23446 		break;
  23447 	case BCM_ASYNC_ENTRY_OAM_GROUP_TRAVERSE:
  23448 		rv = bcm_oam_group_traverse(
  23449 			req->args.oam_group_traverse.unit,
  23450 			req->args.oam_group_traverse.cb,
  23451 			req->args.oam_group_traverse.user_data);
  23452 		break;
  23453 	case BCM_ASYNC_ENTRY_OAM_INIT:
  23454 		rv = bcm_oam_init(
  23455 			req->args.oam_init.unit);
  23456 		break;
  23457 	case BCM_ASYNC_ENTRY_OAM_LIF_PROFILE_GET:
  23458 		rv = bcm_oam_lif_profile_get(
  23459 			req->args.oam_lif_profile_get.unit,
  23460 			req->args.oam_lif_profile_get.flags,
  23461 			req->args.oam_lif_profile_get.gport,
  23462 			req->args.oam_lif_profile_get.ingress_oam_profile,
  23463 			req->args.oam_lif_profile_get.egress_oam_profile);
  23464 		break;
  23465 	case BCM_ASYNC_ENTRY_OAM_LIF_PROFILE_SET:
  23466 		rv = bcm_oam_lif_profile_set(
  23467 			req->args.oam_lif_profile_set.unit,
  23468 			req->args.oam_lif_profile_set.flags,
  23469 			req->args.oam_lif_profile_set.gport,
  23470 			req->args.oam_lif_profile_set.ingress_oam_profile,
  23471 			req->args.oam_lif_profile_set.egress_oam_profile);
  23472 		break;
  23473 	case BCM_ASYNC_ENTRY_OAM_LOOKUP_ENABLE_GET:
  23474 		rv = bcm_oam_lookup_enable_get(
  23475 			req->args.oam_lookup_enable_get.unit,
  23476 			req->args.oam_lookup_enable_get.type,
  23477 			req->args.oam_lookup_enable_get.condition);
  23478 		break;
  23479 	case BCM_ASYNC_ENTRY_OAM_LOOKUP_ENABLE_MULTI_SET:
  23480 		rv = bcm_oam_lookup_enable_multi_set(
  23481 			req->args.oam_lookup_enable_multi_set.unit,
  23482 			req->args.oam_lookup_enable_multi_set.types,
  23483 			req->args.oam_lookup_enable_multi_set.conditions,
  23484 			req->args.oam_lookup_enable_multi_set.enable);
  23485 		break;
  23486 	case BCM_ASYNC_ENTRY_OAM_LOOKUP_ENABLE_SET:
  23487 		rv = bcm_oam_lookup_enable_set(
  23488 			req->args.oam_lookup_enable_set.unit,
  23489 			req->args.oam_lookup_enable_set.type,
  23490 			req->args.oam_lookup_enable_set.condition,
  23491 			req->args.oam_lookup_enable_set.enable);
  23492 		break;
  23493 	case BCM_ASYNC_ENTRY_OAM_LOOPBACK_ADD:
  23494 		rv = bcm_oam_loopback_add(
  23495 			req->args.oam_loopback_add.unit,
  23496 			req->args.oam_loopback_add.loopback_ptr);
  23497 		break;
  23498 	case BCM_ASYNC_ENTRY_OAM_LOOPBACK_DELETE:
  23499 		rv = bcm_oam_loopback_delete(
  23500 			req->args.oam_loopback_delete.unit,
  23501 			req->args.oam_loopback_delete.loopback_ptr);
  23502 		break;
  23503 	case BCM_ASYNC_ENTRY_OAM_LOOPBACK_GET:
  23504 		rv = bcm_oam_loopback_get(
  23505 			req->args.oam_loopback_get.unit,
  23506 			req->args.oam_loopback_get.loopback_ptr);
  23507 		break;
  23508 	case BCM_ASYNC_ENTRY_OAM_LOSS_ADD:
  23509 		rv = bcm_oam_loss_add(
  23510 			req->args.oam_loss_add.unit,
  23511 			req->args.oam_loss_add.loss_ptr);
  23512 		break;
  23513 	case BCM_ASYNC_ENTRY_OAM_LOSS_DELETE:
  23514 		rv = bcm_oam_loss_delete(
  23515 			req->args.oam_loss_delete.unit,
  23516 			req->args.oam_loss_delete.loss_ptr);
  23517 		break;
  23518 	case BCM_ASYNC_ENTRY_OAM_LOSS_GET:
  23519 		rv = bcm_oam_loss_get(
  23520 			req->args.oam_loss_get.unit,
  23521 			req->args.oam_loss_get.loss_ptr);
  23522 		break;
  23523 	case BCM_ASYNC_ENTRY_OAM_MPLS_TP_CHANNEL_TYPE_RX_DELETE:
  23524 		rv = bcm_oam_mpls_tp_channel_type_rx_delete(
  23525 			req->args.oam_mpls_tp_channel_type_rx_delete.unit,
  23526 			req->args.oam_mpls_tp_channel_type_rx_delete.channel_type,
  23527 			req->args.oam_mpls_tp_channel_type_rx_delete.num_values,
  23528 			req->args.oam_mpls_tp_channel_type_rx_delete.list_of_values);
  23529 		break;
  23530 	case BCM_ASYNC_ENTRY_OAM_MPLS_TP_CHANNEL_TYPE_RX_GET:
  23531 		rv = bcm_oam_mpls_tp_channel_type_rx_get(
  23532 			req->args.oam_mpls_tp_channel_type_rx_get.unit,
  23533 			req->args.oam_mpls_tp_channel_type_rx_get.channel_type,
  23534 			req->args.oam_mpls_tp_channel_type_rx_get.num_values,
  23535 			req->args.oam_mpls_tp_channel_type_rx_get.list_of_values,
  23536 			req->args.oam_mpls_tp_channel_type_rx_get.value_count);
  23537 		break;
  23538 	case BCM_ASYNC_ENTRY_OAM_MPLS_TP_CHANNEL_TYPE_RX_SET:
  23539 		rv = bcm_oam_mpls_tp_channel_type_rx_set(
  23540 			req->args.oam_mpls_tp_channel_type_rx_set.unit,
  23541 			req->args.oam_mpls_tp_channel_type_rx_set.channel_type,
  23542 			req->args.oam_mpls_tp_channel_type_rx_set.num_values,
  23543 			req->args.oam_mpls_tp_channel_type_rx_set.list_of_values);
  23544 		break;
  23545 	case BCM_ASYNC_ENTRY_OAM_MPLS_TP_CHANNEL_TYPE_TX_DELETE:
  23546 		rv = bcm_oam_mpls_tp_channel_type_tx_delete(
  23547 			req->args.oam_mpls_tp_channel_type_tx_delete.unit,
  23548 			req->args.oam_mpls_tp_channel_type_tx_delete.channel_type,
  23549 			req->args.oam_mpls_tp_channel_type_tx_delete.value);
  23550 		break;
  23551 	case BCM_ASYNC_ENTRY_OAM_MPLS_TP_CHANNEL_TYPE_TX_GET:
  23552 		rv = bcm_oam_mpls_tp_channel_type_tx_get(
  23553 			req->args.oam_mpls_tp_channel_type_tx_get.unit,
  23554 			req->args.oam_mpls_tp_channel_type_tx_get.channel_type,
  23555 			req->args.oam_mpls_tp_channel_type_tx_get.value);
  23556 		break;
  23557 	case BCM_ASYNC_ENTRY_OAM_MPLS_TP_CHANNEL_TYPE_TX_SET:
  23558 		rv = bcm_oam_mpls_tp_channel_type_tx_set(
  23559 			req->args.oam_mpls_tp_channel_type_tx_set.unit,
  23560 			req->args.oam_mpls_tp_channel_type_tx_set.channel_type,
  23561 			req->args.oam_mpls_tp_channel_type_tx_set.value);
  23562 		break;
  23563 	case BCM_ASYNC_ENTRY_OAM_OPCODE_GROUP_GET:
  23564 		rv = bcm_oam_opcode_group_get(
  23565 			req->args.oam_opcode_group_get.unit,
  23566 			req->args.oam_opcode_group_get.protocol,
  23567 			req->args.oam_opcode_group_get.opcode,
  23568 			req->args.oam_opcode_group_get.opcode_group);
  23569 		break;
  23570 	case BCM_ASYNC_ENTRY_OAM_OPCODE_GROUP_SET:
  23571 		rv = bcm_oam_opcode_group_set(
  23572 			req->args.oam_opcode_group_set.unit,
  23573 			req->args.oam_opcode_group_set.protocol,
  23574 			req->args.oam_opcode_group_set.opcodes,
  23575 			req->args.oam_opcode_group_set.opcode_group);
  23576 		break;
  23577 	case BCM_ASYNC_ENTRY_OAM_OPCODE_MAP_GET:
  23578 		rv = bcm_oam_opcode_map_get(
  23579 			req->args.oam_opcode_map_get.unit,
  23580 			req->args.oam_opcode_map_get.opcode,
  23581 			req->args.oam_opcode_map_get.profile);
  23582 		break;
  23583 	case BCM_ASYNC_ENTRY_OAM_OPCODE_MAP_SET:
  23584 		rv = bcm_oam_opcode_map_set(
  23585 			req->args.oam_opcode_map_set.unit,
  23586 			req->args.oam_opcode_map_set.opcode,
  23587 			req->args.oam_opcode_map_set.profile);
  23588 		break;
  23589 	case BCM_ASYNC_ENTRY_OAM_OPCODES_COUNT_PROFILE_CREATE:
  23590 		rv = bcm_oam_opcodes_count_profile_create(
  23591 			req->args.oam_opcodes_count_profile_create.unit,
  23592 			req->args.oam_opcodes_count_profile_create.lm_count_profile);
  23593 		break;
  23594 	case BCM_ASYNC_ENTRY_OAM_OPCODES_COUNT_PROFILE_DELETE:
  23595 		rv = bcm_oam_opcodes_count_profile_delete(
  23596 			req->args.oam_opcodes_count_profile_delete.unit,
  23597 			req->args.oam_opcodes_count_profile_delete.lm_count_profile);
  23598 		break;
  23599 	case BCM_ASYNC_ENTRY_OAM_OPCODES_COUNT_PROFILE_GET:
  23600 		rv = bcm_oam_opcodes_count_profile_get(
  23601 			req->args.oam_opcodes_count_profile_get.unit,
  23602 			req->args.oam_opcodes_count_profile_get.lm_count_profile,
  23603 			req->args.oam_opcodes_count_profile_get.count_enable,
  23604 			req->args.oam_opcodes_count_profile_get.opcodes_bitmap);
  23605 		break;
  23606 	case BCM_ASYNC_ENTRY_OAM_OPCODES_COUNT_PROFILE_SET:
  23607 		rv = bcm_oam_opcodes_count_profile_set(
  23608 			req->args.oam_opcodes_count_profile_set.unit,
  23609 			req->args.oam_opcodes_count_profile_set.lm_count_profile,
  23610 			req->args.oam_opcodes_count_profile_set.count_enable,
  23611 			req->args.oam_opcodes_count_profile_set.opcodes_bitmap);
  23612 		break;
  23613 	case BCM_ASYNC_ENTRY_OAM_PERFORMANCE_EVENT_REGISTER:
  23614 		rv = bcm_oam_performance_event_register(
  23615 			req->args.oam_performance_event_register.unit,
  23616 			req->args.oam_performance_event_register.event_types,
  23617 			req->args.oam_performance_event_register.cb,
  23618 			req->args.oam_performance_event_register.user_data);
  23619 		break;
  23620 	case BCM_ASYNC_ENTRY_OAM_PERFORMANCE_EVENT_UNREGISTER:
  23621 		rv = bcm_oam_performance_event_unregister(
  23622 			req->args.oam_performance_event_unregister.unit,
  23623 			req->args.oam_performance_event_unregister.event_types,
  23624 			req->args.oam_performance_event_unregister.cb);
  23625 		break;
  23626 	case BCM_ASYNC_ENTRY_OAM_PM_EVENT_REGISTER:
  23627 		rv = bcm_oam_pm_event_register(
  23628 			req->args.oam_pm_event_register.unit,
  23629 			req->args.oam_pm_event_register.event_types,
  23630 			req->args.oam_pm_event_register.cb,
  23631 			req->args.oam_pm_event_register.user_data);
  23632 		break;
  23633 	case BCM_ASYNC_ENTRY_OAM_PM_EVENT_UNREGISTER:
  23634 		rv = bcm_oam_pm_event_unregister(
  23635 			req->args.oam_pm_event_unregister.unit,
  23636 			req->args.oam_pm_event_unregister.event_types,
  23637 			req->args.oam_pm_event_unregister.cb);
  23638 		break;
  23639 	case BCM_ASYNC_ENTRY_OAM_PM_PROFILE_ATTACH:
  23640 		rv = bcm_oam_pm_profile_attach(
  23641 			req->args.oam_pm_profile_attach.unit,
  23642 			req->args.oam_pm_profile_attach.endpoint_id,
  23643 			req->args.oam_pm_profile_attach.profile_id);
  23644 		break;
  23645 	case BCM_ASYNC_ENTRY_OAM_PM_PROFILE_ATTACH_GET:
  23646 		rv = bcm_oam_pm_profile_attach_get(
  23647 			req->args.oam_pm_profile_attach_get.unit,
  23648 			req->args.oam_pm_profile_attach_get.endpoint_id,
  23649 			req->args.oam_pm_profile_attach_get.profile_id);
  23650 		break;
  23651 	case BCM_ASYNC_ENTRY_OAM_PM_PROFILE_CREATE:
  23652 		rv = bcm_oam_pm_profile_create(
  23653 			req->args.oam_pm_profile_create.unit,
  23654 			req->args.oam_pm_profile_create.profile_info);
  23655 		break;
  23656 	case BCM_ASYNC_ENTRY_OAM_PM_PROFILE_DELETE:
  23657 		rv = bcm_oam_pm_profile_delete(
  23658 			req->args.oam_pm_profile_delete.unit,
  23659 			req->args.oam_pm_profile_delete.profile_id);
  23660 		break;
  23661 	case BCM_ASYNC_ENTRY_OAM_PM_PROFILE_DELETE_ALL:
  23662 		rv = bcm_oam_pm_profile_delete_all(
  23663 			req->args.oam_pm_profile_delete_all.unit);
  23664 		break;
  23665 	case BCM_ASYNC_ENTRY_OAM_PM_PROFILE_DETACH:
  23666 		rv = bcm_oam_pm_profile_detach(
  23667 			req->args.oam_pm_profile_detach.unit,
  23668 			req->args.oam_pm_profile_detach.endpoint_id,
  23669 			req->args.oam_pm_profile_detach.profile_id);
  23670 		break;
  23671 	case BCM_ASYNC_ENTRY_OAM_PM_PROFILE_GET:
  23672 		rv = bcm_oam_pm_profile_get(
  23673 			req->args.oam_pm_profile_get.unit,
  23674 			req->args.oam_pm_profile_get.profile_info);
  23675 		break;
  23676 	case BCM_ASYNC_ENTRY_OAM_PM_PROFILE_TRAVERSE:
  23677 		rv = bcm_oam_pm_profile_traverse(
  23678 			req->args.oam_pm_profile_traverse.unit,
  23679 			req->args.oam_pm_profile_traverse.cb,
  23680 			req->args.oam_pm_profile_traverse.user_data);
  23681 		break;
  23682 	case BCM_ASYNC_ENTRY_OAM_PM_RAW_DATA_READ_DONE:
  23683 		rv = bcm_oam_pm_raw_data_read_done(
  23684 			req->args.oam_pm_raw_data_read_done.unit,
  23685 			req->args.oam_pm_raw_data_read_done.event_types,
  23686 			req->args.oam_pm_raw_data_read_done.read_index);
  23687 		break;
  23688 	case BCM_ASYNC_ENTRY_OAM_PM_STATS_GET:
  23689 		rv = bcm_oam_pm_stats_get(
  23690 			req->args.oam_pm_stats_get.unit,
  23691 			req->args.oam_pm_stats_get.endpoint_id,
  23692 			req->args.oam_pm_stats_get.stats_ptr);
  23693 		break;
  23694 	case BCM_ASYNC_ENTRY_OAM_PROFILE_ACTION_GET:
  23695 		rv = bcm_oam_profile_action_get(
  23696 			req->args.oam_profile_action_get.unit,
  23697 			req->args.oam_profile_action_get.flags,
  23698 			req->args.oam_profile_action_get.profile_id,
  23699 			req->args.oam_profile_action_get.oam_action_key,
  23700 			req->args.oam_profile_action_get.oam_action_result);
  23701 		break;
  23702 	case BCM_ASYNC_ENTRY_OAM_PROFILE_ACTION_SET:
  23703 		rv = bcm_oam_profile_action_set(
  23704 			req->args.oam_profile_action_set.unit,
  23705 			req->args.oam_profile_action_set.flags,
  23706 			req->args.oam_profile_action_set.profile_id,
  23707 			req->args.oam_profile_action_set.oam_action_key,
  23708 			req->args.oam_profile_action_set.oam_action_result);
  23709 		break;
  23710 	case BCM_ASYNC_ENTRY_OAM_PROFILE_CREATE:
  23711 		rv = bcm_oam_profile_create(
  23712 			req->args.oam_profile_create.unit,
  23713 			req->args.oam_profile_create.flags,
  23714 			req->args.oam_profile_create.oam_profile_type,
  23715 			req->args.oam_profile_create.profile_id);
  23716 		break;
  23717 	case BCM_ASYNC_ENTRY_OAM_PROFILE_DELETE:
  23718 		rv = bcm_oam_profile_delete(
  23719 			req->args.oam_profile_delete.unit,
  23720 			req->args.oam_profile_delete.flags,
  23721 			req->args.oam_profile_delete.profile_id);
  23722 		break;
  23723 	case BCM_ASYNC_ENTRY_OAM_PROFILE_ID_GET_BY_TYPE:
  23724 		rv = bcm_oam_profile_id_get_by_type(
  23725 			req->args.oam_profile_id_get_by_type.unit,
  23726 			req->args.oam_profile_id_get_by_type.profile_id,
  23727 			req->args.oam_profile_id_get_by_type.oam_profile_type,
  23728 			req->args.oam_profile_id_get_by_type.flags,
  23729 			req->args.oam_profile_id_get_by_type.enc_profile_id);
  23730 		break;
  23731 	case BCM_ASYNC_ENTRY_OAM_PROTECTION_PACKET_HEADER_GET:
  23732 		rv = bcm_oam_protection_packet_header_get(
  23733 			req->args.oam_protection_packet_header_get.unit,
  23734 			req->args.oam_protection_packet_header_get.packet_header);
  23735 		break;
  23736 	case BCM_ASYNC_ENTRY_OAM_PROTECTION_PACKET_HEADER_SET:
  23737 		rv = bcm_oam_protection_packet_header_set(
  23738 			req->args.oam_protection_packet_header_set.unit,
  23739 			req->args.oam_protection_packet_header_set.packet_header);
  23740 		break;
  23741 	case BCM_ASYNC_ENTRY_OAM_PSC_ADD:
  23742 		rv = bcm_oam_psc_add(
  23743 			req->args.oam_psc_add.unit,
  23744 			req->args.oam_psc_add.psc_ptr);
  23745 		break;
  23746 	case BCM_ASYNC_ENTRY_OAM_PSC_DELETE:
  23747 		rv = bcm_oam_psc_delete(
  23748 			req->args.oam_psc_delete.unit,
  23749 			req->args.oam_psc_delete.psc_ptr);
  23750 		break;
  23751 	case BCM_ASYNC_ENTRY_OAM_PSC_GET:
  23752 		rv = bcm_oam_psc_get(
  23753 			req->args.oam_psc_get.unit,
  23754 			req->args.oam_psc_get.psc_ptr);
  23755 		break;
  23756 	case BCM_ASYNC_ENTRY_OAM_PW_STATUS_ADD:
  23757 		rv = bcm_oam_pw_status_add(
  23758 			req->args.oam_pw_status_add.unit,
  23759 			req->args.oam_pw_status_add.pw_status_ptr);
  23760 		break;
  23761 	case BCM_ASYNC_ENTRY_OAM_PW_STATUS_DELETE:
  23762 		rv = bcm_oam_pw_status_delete(
  23763 			req->args.oam_pw_status_delete.unit,
  23764 			req->args.oam_pw_status_delete.pw_status_ptr);
  23765 		break;
  23766 	case BCM_ASYNC_ENTRY_OAM_PW_STATUS_GET:
  23767 		rv = bcm_oam_pw_status_get(
  23768 			req->args.oam_pw_status_get.unit,
  23769 			req->args.oam_pw_status_get.pw_status_ptr);
  23770 		break;
  23771 	case BCM_ASYNC_ENTRY_OAM_REFLECTOR_ENCAP_CREATE:
  23772 		rv = bcm_oam_reflector_encap_create(
  23773 			req->args.oam_reflector_encap_create.unit,
  23774 			req->args.oam_reflector_encap_create.flags,
  23775 			req->args.oam_reflector_encap_create.encap_id);
  23776 		break;
  23777 	case BCM_ASYNC_ENTRY_OAM_REFLECTOR_ENCAP_DESTROY:
  23778 		rv = bcm_oam_reflector_encap_destroy(
  23779 			req->args.oam_reflector_encap_destroy.unit,
  23780 			req->args.oam_reflector_encap_destroy.flags,
  23781 			req->args.oam_reflector_encap_destroy.encap_id);
  23782 		break;
  23783 	case BCM_ASYNC_ENTRY_OAM_SD_SF_DETECTION_ADD:
  23784 		rv = bcm_oam_sd_sf_detection_add(
  23785 			req->args.oam_sd_sf_detection_add.unit,
  23786 			req->args.oam_sd_sf_detection_add.sd_sf_ptr);
  23787 		break;
  23788 	case BCM_ASYNC_ENTRY_OAM_SD_SF_DETECTION_DELETE:
  23789 		rv = bcm_oam_sd_sf_detection_delete(
  23790 			req->args.oam_sd_sf_detection_delete.unit,
  23791 			req->args.oam_sd_sf_detection_delete.sd_sf_ptr);
  23792 		break;
  23793 	case BCM_ASYNC_ENTRY_OAM_SD_SF_DETECTION_GET:
  23794 		rv = bcm_oam_sd_sf_detection_get(
  23795 			req->args.oam_sd_sf_detection_get.unit,
  23796 			req->args.oam_sd_sf_detection_get.sd_sf_ptr);
  23797 		break;
  23798 	case BCM_ASYNC_ENTRY_OAM_TOD_LEAP_CONTROL_GET:
  23799 		rv = bcm_oam_tod_leap_control_get(
  23800 			req->args.oam_tod_leap_control_get.unit,
  23801 			req->args.oam_tod_leap_control_get.ts_format,
  23802 			req->args.oam_tod_leap_control_get.leap_info);
  23803 		break;
  23804 	case BCM_ASYNC_ENTRY_OAM_TOD_LEAP_CONTROL_SET:
  23805 		rv = bcm_oam_tod_leap_control_set(
  23806 			req->args.oam_tod_leap_control_set.unit,
  23807 			req->args.oam_tod_leap_control_set.ts_format,
  23808 			req->args.oam_tod_leap_control_set.leap_info);
  23809 		break;
  23810 	case BCM_ASYNC_ENTRY_OAM_TRUNK_PORTS_ADD:
  23811 		rv = bcm_oam_trunk_ports_add(
  23812 			req->args.oam_trunk_ports_add.unit,
  23813 			req->args.oam_trunk_ports_add.trunk_gport,
  23814 			req->args.oam_trunk_ports_add.max_ports,
  23815 			req->args.oam_trunk_ports_add.port_arr);
  23816 		break;
  23817 	case BCM_ASYNC_ENTRY_OAM_TRUNK_PORTS_DELETE:
  23818 		rv = bcm_oam_trunk_ports_delete(
  23819 			req->args.oam_trunk_ports_delete.unit,
  23820 			req->args.oam_trunk_ports_delete.trunk_gport,
  23821 			req->args.oam_trunk_ports_delete.max_ports,
  23822 			req->args.oam_trunk_ports_delete.port_arr);
  23823 		break;
  23824 	case BCM_ASYNC_ENTRY_OAM_TRUNK_PORTS_GET:
  23825 		rv = bcm_oam_trunk_ports_get(
  23826 			req->args.oam_trunk_ports_get.unit,
  23827 			req->args.oam_trunk_ports_get.trunk_gport,
  23828 			req->args.oam_trunk_ports_get.max_ports,
  23829 			req->args.oam_trunk_ports_get.port_arr,
  23830 			req->args.oam_trunk_ports_get.port_count);
  23831 		break;
  23832 	case BCM_ASYNC_ENTRY_OAM_TST_RX_ADD:
  23833 		rv = bcm_oam_tst_rx_add(
  23834 			req->args.oam_tst_rx_add.unit,
  23835 			req->args.oam_tst_rx_add.tst_ptr);
  23836 		break;
  23837 	case BCM_ASYNC_ENTRY_OAM_TST_RX_DELETE:
  23838 		rv = bcm_oam_tst_rx_delete(
  23839 			req->args.oam_tst_rx_delete.unit,
  23840 			req->args.oam_tst_rx_delete.tst_ptr);
  23841 		break;
  23842 	case BCM_ASYNC_ENTRY_OAM_TST_RX_GET:
  23843 		rv = bcm_oam_tst_rx_get(
  23844 			req->args.oam_tst_rx_get.unit,
  23845 			req->args.oam_tst_rx_get.tst_ptr);
  23846 		break;
  23847 	case BCM_ASYNC_ENTRY_OAM_TST_TX_ADD:
  23848 		rv = bcm_oam_tst_tx_add(
  23849 			req->args.oam_tst_tx_add.unit,
  23850 			req->args.oam_tst_tx_add.tst_ptr);
  23851 		break;
  23852 	case BCM_ASYNC_ENTRY_OAM_TST_TX_DELETE:
  23853 		rv = bcm_oam_tst_tx_delete(
  23854 			req->args.oam_tst_tx_delete.unit,
  23855 			req->args.oam_tst_tx_delete.tst_ptr);
  23856 		break;
  23857 	case BCM_ASYNC_ENTRY_OAM_TST_TX_GET:
  23858 		rv = bcm_oam_tst_tx_get(
  23859 			req->args.oam_tst_tx_get.unit,
  23860 			req->args.oam_tst_tx_get.tst_ptr);
  23861 		break;
  23862 	case BCM_ASYNC_ENTRY_OAM_UPMEP_COSQ_GET:
  23863 		rv = bcm_oam_upmep_cosq_get(
  23864 			req->args.oam_upmep_cosq_get.unit,
  23865 			req->args.oam_upmep_cosq_get.upmep_pdu_type,
  23866 			req->args.oam_upmep_cosq_get.cosq);
  23867 		break;
  23868 	case BCM_ASYNC_ENTRY_OAM_UPMEP_COSQ_SET:
  23869 		rv = bcm_oam_upmep_cosq_set(
  23870 			req->args.oam_upmep_cosq_set.unit,
  23871 			req->args.oam_upmep_cosq_set.upmep_pdu_type,
  23872 			req->args.oam_upmep_cosq_set.cosq);
  23873 		break;
  23874 	case BCM_ASYNC_ENTRY_OAM_Y_1711_ALARM_ADD:
  23875 		rv = bcm_oam_y_1711_alarm_add(
  23876 			req->args.oam_y_1711_alarm_add.unit,
  23877 			req->args.oam_y_1711_alarm_add.alarm_ptr);
  23878 		break;
  23879 	case BCM_ASYNC_ENTRY_OAM_Y_1711_ALARM_DELETE:
  23880 		rv = bcm_oam_y_1711_alarm_delete(
  23881 			req->args.oam_y_1711_alarm_delete.unit,
  23882 			req->args.oam_y_1711_alarm_delete.alarm_ptr);
  23883 		break;
  23884 	case BCM_ASYNC_ENTRY_OAM_Y_1711_ALARM_GET:
  23885 		rv = bcm_oam_y_1711_alarm_get(
  23886 			req->args.oam_y_1711_alarm_get.unit,
  23887 			req->args.oam_y_1711_alarm_get.alarm_ptr);
  23888 		break;
  23889 	case BCM_ASYNC_ENTRY_OBM_CB_REGISTER:
  23890 		rv = bcm_obm_cb_register(
  23891 			req->args.obm_cb_register.unit,
  23892 			req->args.obm_cb_register.fn,
  23893 			req->args.obm_cb_register.user_data);
  23894 		break;
  23895 	case BCM_ASYNC_ENTRY_OBM_CB_UNREGISTER:
  23896 		rv = bcm_obm_cb_unregister(
  23897 			req->args.obm_cb_unregister.unit,
  23898 			req->args.obm_cb_unregister.fn,
  23899 			req->args.obm_cb_unregister.user_data);
  23900 		break;
  23901 	case BCM_ASYNC_ENTRY_OBM_PORT_MAX_USAGE_MODE_GET:
  23902 		rv = bcm_obm_port_max_usage_mode_get(
  23903 			req->args.obm_port_max_usage_mode_get.unit,
  23904 			req->args.obm_port_max_usage_mode_get.port,
  23905 			req->args.obm_port_max_usage_mode_get.obm_wm_mode);
  23906 		break;
  23907 	case BCM_ASYNC_ENTRY_OBM_PORT_MAX_USAGE_MODE_SET:
  23908 		rv = bcm_obm_port_max_usage_mode_set(
  23909 			req->args.obm_port_max_usage_mode_set.unit,
  23910 			req->args.obm_port_max_usage_mode_set.port,
  23911 			req->args.obm_port_max_usage_mode_set.obm_wm_mode);
  23912 		break;
  23913 	case BCM_ASYNC_ENTRY_OBM_PORT_PRI_TRAFFIC_CLASS_MAPPING_GET:
  23914 		rv = bcm_obm_port_pri_traffic_class_mapping_get(
  23915 			req->args.obm_port_pri_traffic_class_mapping_get.unit,
  23916 			req->args.obm_port_pri_traffic_class_mapping_get.port,
  23917 			req->args.obm_port_pri_traffic_class_mapping_get.piority_type,
  23918 			req->args.obm_port_pri_traffic_class_mapping_get.priority,
  23919 			req->args.obm_port_pri_traffic_class_mapping_get.obm_tc);
  23920 		break;
  23921 	case BCM_ASYNC_ENTRY_OBM_PORT_PRI_TRAFFIC_CLASS_MAPPING_SET:
  23922 		rv = bcm_obm_port_pri_traffic_class_mapping_set(
  23923 			req->args.obm_port_pri_traffic_class_mapping_set.unit,
  23924 			req->args.obm_port_pri_traffic_class_mapping_set.port,
  23925 			req->args.obm_port_pri_traffic_class_mapping_set.piority_type,
  23926 			req->args.obm_port_pri_traffic_class_mapping_set.priority,
  23927 			req->args.obm_port_pri_traffic_class_mapping_set.obm_tc);
  23928 		break;
  23929 	case BCM_ASYNC_ENTRY_OBM_TRAFFIC_CLASS_PFC_PRIORITY_MAPPING_GET:
  23930 		rv = bcm_obm_traffic_class_pfc_priority_mapping_get(
  23931 			req->args.obm_traffic_class_pfc_priority_mapping_get.unit,
  23932 			req->args.obm_traffic_class_pfc_priority_mapping_get.port,
  23933 			req->args.obm_traffic_class_pfc_priority_mapping_get.obm_traffic_class,
  23934 			req->args.obm_traffic_class_pfc_priority_mapping_get.max_pri_count,
  23935 			req->args.obm_traffic_class_pfc_priority_mapping_get.priority_list,
  23936 			req->args.obm_traffic_class_pfc_priority_mapping_get.pri_count);
  23937 		break;
  23938 	case BCM_ASYNC_ENTRY_OBM_TRAFFIC_CLASS_PFC_PRIORITY_MAPPING_SET:
  23939 		rv = bcm_obm_traffic_class_pfc_priority_mapping_set(
  23940 			req->args.obm_traffic_class_pfc_priority_mapping_set.unit,
  23941 			req->args.obm_traffic_class_pfc_priority_mapping_set.port,
  23942 			req->args.obm_traffic_class_pfc_priority_mapping_set.obm_traffic_class,
  23943 			req->args.obm_traffic_class_pfc_priority_mapping_set.max_pri_count,
  23944 			req->args.obm_traffic_class_pfc_priority_mapping_set.priority_list);
  23945 		break;
  23946 	case BCM_ASYNC_ENTRY_OOB_FC_RX_CONFIG_GET:
  23947 		rv = bcm_oob_fc_rx_config_get(
  23948 			req->args.oob_fc_rx_config_get.unit,
  23949 			req->args.oob_fc_rx_config_get.intf_id,
  23950 			req->args.oob_fc_rx_config_get.config,
  23951 			req->args.oob_fc_rx_config_get.array_max,
  23952 			req->args.oob_fc_rx_config_get.gport_array,
  23953 			req->args.oob_fc_rx_config_get.array_count);
  23954 		break;
  23955 	case BCM_ASYNC_ENTRY_OOB_FC_RX_CONFIG_SET:
  23956 		rv = bcm_oob_fc_rx_config_set(
  23957 			req->args.oob_fc_rx_config_set.unit,
  23958 			req->args.oob_fc_rx_config_set.intf_id,
  23959 			req->args.oob_fc_rx_config_set.config,
  23960 			req->args.oob_fc_rx_config_set.array_count,
  23961 			req->args.oob_fc_rx_config_set.gport_array);
  23962 		break;
  23963 	case BCM_ASYNC_ENTRY_OOB_FC_RX_PORT_OFFSET_GET:
  23964 		rv = bcm_oob_fc_rx_port_offset_get(
  23965 			req->args.oob_fc_rx_port_offset_get.unit,
  23966 			req->args.oob_fc_rx_port_offset_get.intf_id,
  23967 			req->args.oob_fc_rx_port_offset_get.gport,
  23968 			req->args.oob_fc_rx_port_offset_get.offset);
  23969 		break;
  23970 	case BCM_ASYNC_ENTRY_OOB_FC_RX_PORT_TC_MAPPING_GET:
  23971 		rv = bcm_oob_fc_rx_port_tc_mapping_get(
  23972 			req->args.oob_fc_rx_port_tc_mapping_get.unit,
  23973 			req->args.oob_fc_rx_port_tc_mapping_get.intf_id,
  23974 			req->args.oob_fc_rx_port_tc_mapping_get.gport,
  23975 			req->args.oob_fc_rx_port_tc_mapping_get.tc,
  23976 			req->args.oob_fc_rx_port_tc_mapping_get.pri_bmp);
  23977 		break;
  23978 	case BCM_ASYNC_ENTRY_OOB_FC_RX_PORT_TC_MAPPING_MULTI_GET:
  23979 		rv = bcm_oob_fc_rx_port_tc_mapping_multi_get(
  23980 			req->args.oob_fc_rx_port_tc_mapping_multi_get.unit,
  23981 			req->args.oob_fc_rx_port_tc_mapping_multi_get.intf_id,
  23982 			req->args.oob_fc_rx_port_tc_mapping_multi_get.gport,
  23983 			req->args.oob_fc_rx_port_tc_mapping_multi_get.array_max,
  23984 			req->args.oob_fc_rx_port_tc_mapping_multi_get.tc,
  23985 			req->args.oob_fc_rx_port_tc_mapping_multi_get.pri_bmp,
  23986 			req->args.oob_fc_rx_port_tc_mapping_multi_get.array_count);
  23987 		break;
  23988 	case BCM_ASYNC_ENTRY_OOB_FC_RX_PORT_TC_MAPPING_MULTI_SET:
  23989 		rv = bcm_oob_fc_rx_port_tc_mapping_multi_set(
  23990 			req->args.oob_fc_rx_port_tc_mapping_multi_set.unit,
  23991 			req->args.oob_fc_rx_port_tc_mapping_multi_set.intf_id,
  23992 			req->args.oob_fc_rx_port_tc_mapping_multi_set.gport,
  23993 			req->args.oob_fc_rx_port_tc_mapping_multi_set.array_count,
  23994 			req->args.oob_fc_rx_port_tc_mapping_multi_set.tc,
  23995 			req->args.oob_fc_rx_port_tc_mapping_multi_set.pri_bmp);
  23996 		break;
  23997 	case BCM_ASYNC_ENTRY_OOB_FC_RX_PORT_TC_MAPPING_SET:
  23998 		rv = bcm_oob_fc_rx_port_tc_mapping_set(
  23999 			req->args.oob_fc_rx_port_tc_mapping_set.unit,
  24000 			req->args.oob_fc_rx_port_tc_mapping_set.intf_id,
  24001 			req->args.oob_fc_rx_port_tc_mapping_set.gport,
  24002 			req->args.oob_fc_rx_port_tc_mapping_set.tc,
  24003 			req->args.oob_fc_rx_port_tc_mapping_set.pri_bmp);
  24004 		break;
  24005 	case BCM_ASYNC_ENTRY_OOB_FC_TX_CONFIG_GET:
  24006 		rv = bcm_oob_fc_tx_config_get(
  24007 			req->args.oob_fc_tx_config_get.unit,
  24008 			req->args.oob_fc_tx_config_get.config);
  24009 		break;
  24010 	case BCM_ASYNC_ENTRY_OOB_FC_TX_CONFIG_SET:
  24011 		rv = bcm_oob_fc_tx_config_set(
  24012 			req->args.oob_fc_tx_config_set.unit,
  24013 			req->args.oob_fc_tx_config_set.config);
  24014 		break;
  24015 	case BCM_ASYNC_ENTRY_OOB_FC_TX_INFO_GET:
  24016 		rv = bcm_oob_fc_tx_info_get(
  24017 			req->args.oob_fc_tx_info_get.unit,
  24018 			req->args.oob_fc_tx_info_get.info);
  24019 		break;
  24020 	case BCM_ASYNC_ENTRY_OOB_FC_TX_PORT_MAPPING_GET:
  24021 		rv = bcm_oob_fc_tx_port_mapping_get(
  24022 			req->args.oob_fc_tx_port_mapping_get.unit,
  24023 			req->args.oob_fc_tx_port_mapping_get.max_count,
  24024 			req->args.oob_fc_tx_port_mapping_get.port_array,
  24025 			req->args.oob_fc_tx_port_mapping_get.oob_port_array,
  24026 			req->args.oob_fc_tx_port_mapping_get.count);
  24027 		break;
  24028 	case BCM_ASYNC_ENTRY_OOB_FC_TX_PORT_MAPPING_SET:
  24029 		rv = bcm_oob_fc_tx_port_mapping_set(
  24030 			req->args.oob_fc_tx_port_mapping_set.unit,
  24031 			req->args.oob_fc_tx_port_mapping_set.count,
  24032 			req->args.oob_fc_tx_port_mapping_set.port_array,
  24033 			req->args.oob_fc_tx_port_mapping_set.oob_port_array);
  24034 		break;
  24035 	case BCM_ASYNC_ENTRY_OOB_FC_TX_QUEUE_PROFILE_GET:
  24036 		rv = bcm_oob_fc_tx_queue_profile_get(
  24037 			req->args.oob_fc_tx_queue_profile_get.unit,
  24038 			req->args.oob_fc_tx_queue_profile_get.profile_id,
  24039 			req->args.oob_fc_tx_queue_profile_get.max_count,
  24040 			req->args.oob_fc_tx_queue_profile_get.config,
  24041 			req->args.oob_fc_tx_queue_profile_get.count);
  24042 		break;
  24043 	case BCM_ASYNC_ENTRY_OOB_FC_TX_QUEUE_PROFILE_SET:
  24044 		rv = bcm_oob_fc_tx_queue_profile_set(
  24045 			req->args.oob_fc_tx_queue_profile_set.unit,
  24046 			req->args.oob_fc_tx_queue_profile_set.profile_id,
  24047 			req->args.oob_fc_tx_queue_profile_set.count,
  24048 			req->args.oob_fc_tx_queue_profile_set.config);
  24049 		break;
  24050 	case BCM_ASYNC_ENTRY_OOB_STATS_CONFIG_GET:
  24051 		rv = bcm_oob_stats_config_get(
  24052 			req->args.oob_stats_config_get.unit,
  24053 			req->args.oob_stats_config_get.config);
  24054 		break;
  24055 	case BCM_ASYNC_ENTRY_OOB_STATS_CONFIG_SET:
  24056 		rv = bcm_oob_stats_config_set(
  24057 			req->args.oob_stats_config_set.unit,
  24058 			req->args.oob_stats_config_set.config);
  24059 		break;
  24060 	case BCM_ASYNC_ENTRY_OOB_STATS_POOL_MAPPING_GET:
  24061 		rv = bcm_oob_stats_pool_mapping_get(
  24062 			req->args.oob_stats_pool_mapping_get.unit,
  24063 			req->args.oob_stats_pool_mapping_get.offset,
  24064 			req->args.oob_stats_pool_mapping_get.dir,
  24065 			req->args.oob_stats_pool_mapping_get.pool);
  24066 		break;
  24067 	case BCM_ASYNC_ENTRY_OOB_STATS_POOL_MAPPING_MULTI_GET:
  24068 		rv = bcm_oob_stats_pool_mapping_multi_get(
  24069 			req->args.oob_stats_pool_mapping_multi_get.unit,
  24070 			req->args.oob_stats_pool_mapping_multi_get.array_max,
  24071 			req->args.oob_stats_pool_mapping_multi_get.offset_array,
  24072 			req->args.oob_stats_pool_mapping_multi_get.dir_array,
  24073 			req->args.oob_stats_pool_mapping_multi_get.pool_array,
  24074 			req->args.oob_stats_pool_mapping_multi_get.array_count);
  24075 		break;
  24076 	case BCM_ASYNC_ENTRY_OOB_STATS_POOL_MAPPING_MULTI_SET:
  24077 		rv = bcm_oob_stats_pool_mapping_multi_set(
  24078 			req->args.oob_stats_pool_mapping_multi_set.unit,
  24079 			req->args.oob_stats_pool_mapping_multi_set.array_count,
  24080 			req->args.oob_stats_pool_mapping_multi_set.offset_array,
  24081 			req->args.oob_stats_pool_mapping_multi_set.dir_array,
  24082 			req->args.oob_stats_pool_mapping_multi_set.pool_array);
  24083 		break;
  24084 	case BCM_ASYNC_ENTRY_OOB_STATS_POOL_MAPPING_SET:
  24085 		rv = bcm_oob_stats_pool_mapping_set(
  24086 			req->args.oob_stats_pool_mapping_set.unit,
  24087 			req->args.oob_stats_pool_mapping_set.offset,
  24088 			req->args.oob_stats_pool_mapping_set.dir,
  24089 			req->args.oob_stats_pool_mapping_set.pool);
  24090 		break;
  24091 	case BCM_ASYNC_ENTRY_OOB_STATS_QUEUE_MAPPING_GET:
  24092 		rv = bcm_oob_stats_queue_mapping_get(
  24093 			req->args.oob_stats_queue_mapping_get.unit,
  24094 			req->args.oob_stats_queue_mapping_get.offset,
  24095 			req->args.oob_stats_queue_mapping_get.gport);
  24096 		break;
  24097 	case BCM_ASYNC_ENTRY_OOB_STATS_QUEUE_MAPPING_MULTI_GET:
  24098 		rv = bcm_oob_stats_queue_mapping_multi_get(
  24099 			req->args.oob_stats_queue_mapping_multi_get.unit,
  24100 			req->args.oob_stats_queue_mapping_multi_get.array_max,
  24101 			req->args.oob_stats_queue_mapping_multi_get.offset_array,
  24102 			req->args.oob_stats_queue_mapping_multi_get.gport_array,
  24103 			req->args.oob_stats_queue_mapping_multi_get.array_count);
  24104 		break;
  24105 	case BCM_ASYNC_ENTRY_OOB_STATS_QUEUE_MAPPING_MULTI_SET:
  24106 		rv = bcm_oob_stats_queue_mapping_multi_set(
  24107 			req->args.oob_stats_queue_mapping_multi_set.unit,
  24108 			req->args.oob_stats_queue_mapping_multi_set.array_count,
  24109 			req->args.oob_stats_queue_mapping_multi_set.offset_array,
  24110 			req->args.oob_stats_queue_mapping_multi_set.gport_array);
  24111 		break;
  24112 	case BCM_ASYNC_ENTRY_OOB_STATS_QUEUE_MAPPING_SET:
  24113 		rv = bcm_oob_stats_queue_mapping_set(
  24114 			req->args.oob_stats_queue_mapping_set.unit,
  24115 			req->args.oob_stats_queue_mapping_set.offset,
  24116 			req->args.oob_stats_queue_mapping_set.gport);
  24117 		break;
  24118 	case BCM_ASYNC_ENTRY_PKT_ALLOC:
  24119 		rv = bcm_pkt_alloc(
  24120 			req->args.pkt_alloc.unit,
  24121 			req->args.pkt_alloc.size,
  24122 			req->args.pkt_alloc.flags,
  24123 			req->args.pkt_alloc.pkt_buf);
  24124 		break;
  24125 	case BCM_ASYNC_ENTRY_PKT_BLK_ALLOC:
  24126 		rv = bcm_pkt_blk_alloc(
  24127 			req->args.pkt_blk_alloc.unit,
  24128 			req->args.pkt_blk_alloc.count,
  24129 			req->args.pkt_blk_alloc.size,
  24130 			req->args.pkt_blk_alloc.flags,
  24131 			req->args.pkt_blk_alloc.packet_array);
  24132 		break;
  24133 	case BCM_ASYNC_ENTRY_PKT_BLK_FREE:
  24134 		rv = bcm_pkt_blk_free(
  24135 			req->args.pkt_blk_free.unit,
  24136 			req->args.pkt_blk_free.pkt,
  24137 			req->args.pkt_blk_free.count);
  24138 		break;
  24139 	case BCM_ASYNC_ENTRY_PKT_BYTE_INDEX:
  24140 		rv = bcm_pkt_byte_index(
  24141 			req->args.pkt_byte_index.pkt,
  24142 			req->args.pkt_byte_index.n,
  24143 			req->args.pkt_byte_index.len,
  24144 			req->args.pkt_byte_index.blk_idx,
  24145 			req->args.pkt_byte_index.location);
  24146 		break;
  24147 	case BCM_ASYNC_ENTRY_PKT_CLEAR:
  24148 		rv = bcm_pkt_clear(
  24149 			req->args.pkt_clear.unit,
  24150 			req->args.pkt_clear.pkt,
  24151 			req->args.pkt_clear.blks,
  24152 			req->args.pkt_clear.blk_count,
  24153 			req->args.pkt_clear.flags,
  24154 			req->args.pkt_clear.pkt_buf);
  24155 		break;
  24156 	case BCM_ASYNC_ENTRY_PKT_ECMP_GRP_SET:
  24157 		rv = bcm_pkt_ecmp_grp_set(
  24158 			req->args.pkt_ecmp_grp_set.unit,
  24159 			req->args.pkt_ecmp_grp_set.pkt,
  24160 			req->args.pkt_ecmp_grp_set.ecmp_group_id);
  24161 		break;
  24162 	case BCM_ASYNC_ENTRY_PKT_ECMP_MEMBER_SET:
  24163 		rv = bcm_pkt_ecmp_member_set(
  24164 			req->args.pkt_ecmp_member_set.unit,
  24165 			req->args.pkt_ecmp_member_set.pkt,
  24166 			req->args.pkt_ecmp_member_set.ecmp_group_id,
  24167 			req->args.pkt_ecmp_member_set.ecmp_member_id);
  24168 		break;
  24169 	case BCM_ASYNC_ENTRY_PKT_FLAGS_INIT:
  24170 		rv = bcm_pkt_flags_init(
  24171 			req->args.pkt_flags_init.unit,
  24172 			req->args.pkt_flags_init.pkt,
  24173 			req->args.pkt_flags_init.init_flags);
  24174 		break;
  24175 	case BCM_ASYNC_ENTRY_PKT_FLAGS_LEN_SETUP:
  24176 		rv = bcm_pkt_flags_len_setup(
  24177 			req->args.pkt_flags_len_setup.unit,
  24178 			req->args.pkt_flags_len_setup.pkt,
  24179 			req->args.pkt_flags_len_setup.alloc_bytes,
  24180 			req->args.pkt_flags_len_setup.payload_len,
  24181 			req->args.pkt_flags_len_setup.flags);
  24182 		break;
  24183 	case BCM_ASYNC_ENTRY_PKT_FREE:
  24184 		rv = bcm_pkt_free(
  24185 			req->args.pkt_free.unit,
  24186 			req->args.pkt_free.pkt);
  24187 		break;
  24188 	case BCM_ASYNC_ENTRY_PKT_MEMCPY:
  24189 		rv = bcm_pkt_memcpy(
  24190 			req->args.pkt_memcpy.pkt,
  24191 			req->args.pkt_memcpy.dest_byte,
  24192 			req->args.pkt_memcpy.src,
  24193 			req->args.pkt_memcpy.len);
  24194 		break;
  24195 	case BCM_ASYNC_ENTRY_PKT_NEXTHOP_SET:
  24196 		rv = bcm_pkt_nexthop_set(
  24197 			req->args.pkt_nexthop_set.unit,
  24198 			req->args.pkt_nexthop_set.pkt,
  24199 			req->args.pkt_nexthop_set.nexthop_id);
  24200 		break;
  24201 	case BCM_ASYNC_ENTRY_PKT_RX_ALLOC:
  24202 		rv = bcm_pkt_rx_alloc(
  24203 			req->args.pkt_rx_alloc.unit,
  24204 			req->args.pkt_rx_alloc.len,
  24205 			req->args.pkt_rx_alloc.pkt_buf);
  24206 		break;
  24207 	case BCM_ASYNC_ENTRY_PKT_RX_FREE:
  24208 		rv = bcm_pkt_rx_free(
  24209 			req->args.pkt_rx_free.unit,
  24210 			req->args.pkt_rx_free.pkt);
  24211 		break;
  24212 	case BCM_ASYNC_ENTRY_POLICER_ACTION_ADD:
  24213 		rv = bcm_policer_action_add(
  24214 			req->args.policer_action_add.unit,
  24215 			req->args.policer_action_add.action_id,
  24216 			req->args.policer_action_add.action,
  24217 			req->args.policer_action_add.param0);
  24218 		break;
  24219 	case BCM_ASYNC_ENTRY_POLICER_ACTION_ATTACH:
  24220 		rv = bcm_policer_action_attach(
  24221 			req->args.policer_action_attach.unit,
  24222 			req->args.policer_action_attach.policer_id,
  24223 			req->args.policer_action_attach.action_id);
  24224 		break;
  24225 	case BCM_ASYNC_ENTRY_POLICER_ACTION_ATTACH_GET:
  24226 		rv = bcm_policer_action_attach_get(
  24227 			req->args.policer_action_attach_get.unit,
  24228 			req->args.policer_action_attach_get.policer_id,
  24229 			req->args.policer_action_attach_get.action_id);
  24230 		break;
  24231 	case BCM_ASYNC_ENTRY_POLICER_ACTION_CREATE:
  24232 		rv = bcm_policer_action_create(
  24233 			req->args.policer_action_create.unit,
  24234 			req->args.policer_action_create.action_id);
  24235 		break;
  24236 	case BCM_ASYNC_ENTRY_POLICER_ACTION_DESTROY:
  24237 		rv = bcm_policer_action_destroy(
  24238 			req->args.policer_action_destroy.unit,
  24239 			req->args.policer_action_destroy.action_id);
  24240 		break;
  24241 	case BCM_ASYNC_ENTRY_POLICER_ACTION_DETACH:
  24242 		rv = bcm_policer_action_detach(
  24243 			req->args.policer_action_detach.unit,
  24244 			req->args.policer_action_detach.policer_id,
  24245 			req->args.policer_action_detach.action_id);
  24246 		break;
  24247 	case BCM_ASYNC_ENTRY_POLICER_ACTION_GET:
  24248 		rv = bcm_policer_action_get(
  24249 			req->args.policer_action_get.unit,
  24250 			req->args.policer_action_get.action_id,
  24251 			req->args.policer_action_get.action,
  24252 			req->args.policer_action_get.param0);
  24253 		break;
  24254 	case BCM_ASYNC_ENTRY_POLICER_AGGREGATE_GROUP_CREATE:
  24255 		rv = bcm_policer_aggregate_group_create(
  24256 			req->args.policer_aggregate_group_create.unit,
  24257 			req->args.policer_aggregate_group_create.info,
  24258 			req->args.policer_aggregate_group_create.policer_id,
  24259 			req->args.policer_aggregate_group_create.npolicers);
  24260 		break;
  24261 	case BCM_ASYNC_ENTRY_POLICER_COLOR_DECISION_GET:
  24262 		rv = bcm_policer_color_decision_get(
  24263 			req->args.policer_color_decision_get.unit,
  24264 			req->args.policer_color_decision_get.policer_color_decision);
  24265 		break;
  24266 	case BCM_ASYNC_ENTRY_POLICER_COLOR_DECISION_SET:
  24267 		rv = bcm_policer_color_decision_set(
  24268 			req->args.policer_color_decision_set.unit,
  24269 			req->args.policer_color_decision_set.policer_color_decision);
  24270 		break;
  24271 	case BCM_ASYNC_ENTRY_POLICER_COLOR_RESOLUTION_GET:
  24272 		rv = bcm_policer_color_resolution_get(
  24273 			req->args.policer_color_resolution_get.unit,
  24274 			req->args.policer_color_resolution_get.policer_color_resolution);
  24275 		break;
  24276 	case BCM_ASYNC_ENTRY_POLICER_COLOR_RESOLUTION_SET:
  24277 		rv = bcm_policer_color_resolution_set(
  24278 			req->args.policer_color_resolution_set.unit,
  24279 			req->args.policer_color_resolution_set.policer_color_resolution);
  24280 		break;
  24281 	case BCM_ASYNC_ENTRY_POLICER_CONTROL_GET:
  24282 		rv = bcm_policer_control_get(
  24283 			req->args.policer_control_get.unit,
  24284 			req->args.policer_control_get.flags,
  24285 			req->args.policer_control_get.policer_database_handle,
  24286 			req->args.policer_control_get.type,
  24287 			req->args.policer_control_get.arg);
  24288 		break;
  24289 	case BCM_ASYNC_ENTRY_POLICER_CONTROL_SET:
  24290 		rv = bcm_policer_control_set(
  24291 			req->args.policer_control_set.unit,
  24292 			req->args.policer_control_set.flags,
  24293 			req->args.policer_control_set.policer_database_handle,
  24294 			req->args.policer_control_set.type,
  24295 			req->args.policer_control_set.arg);
  24296 		break;
  24297 	case BCM_ASYNC_ENTRY_POLICER_CREATE:
  24298 		rv = bcm_policer_create(
  24299 			req->args.policer_create.unit,
  24300 			req->args.policer_create.pol_cfg,
  24301 			req->args.policer_create.policer_id);
  24302 		break;
  24303 	case BCM_ASYNC_ENTRY_POLICER_CUSTOM_GROUP_CREATE:
  24304 		rv = bcm_policer_custom_group_create(
  24305 			req->args.policer_custom_group_create.unit,
  24306 			req->args.policer_custom_group_create.flags,
  24307 			req->args.policer_custom_group_create.mode_id,
  24308 			req->args.policer_custom_group_create.macro_flow_policer_id,
  24309 			req->args.policer_custom_group_create.policer_id,
  24310 			req->args.policer_custom_group_create.npolicers);
  24311 		break;
  24312 	case BCM_ASYNC_ENTRY_POLICER_CUSTOM_GROUP_ID_COPY:
  24313 		rv = bcm_policer_custom_group_id_copy(
  24314 			req->args.policer_custom_group_id_copy.unit,
  24315 			req->args.policer_custom_group_id_copy.old_policer_group_info,
  24316 			req->args.policer_custom_group_id_copy.new_policer_group_info);
  24317 		break;
  24318 	case BCM_ASYNC_ENTRY_POLICER_CUSTOM_GROUP_ID_CREATE:
  24319 		rv = bcm_policer_custom_group_id_create(
  24320 			req->args.policer_custom_group_id_create.unit,
  24321 			req->args.policer_custom_group_id_create.flags,
  24322 			req->args.policer_custom_group_id_create.mode_id,
  24323 			req->args.policer_custom_group_id_create.macro_flow_policer_id,
  24324 			req->args.policer_custom_group_id_create.policer_group_info);
  24325 		break;
  24326 	case BCM_ASYNC_ENTRY_POLICER_DATABASE_CREATE:
  24327 		rv = bcm_policer_database_create(
  24328 			req->args.policer_database_create.unit,
  24329 			req->args.policer_database_create.flags,
  24330 			req->args.policer_database_create.policer_database_handle,
  24331 			req->args.policer_database_create.config);
  24332 		break;
  24333 	case BCM_ASYNC_ENTRY_POLICER_DATABASE_DESTROY:
  24334 		rv = bcm_policer_database_destroy(
  24335 			req->args.policer_database_destroy.unit,
  24336 			req->args.policer_database_destroy.flags,
  24337 			req->args.policer_database_destroy.policer_database_handle);
  24338 		break;
  24339 	case BCM_ASYNC_ENTRY_POLICER_DATABASE_ENABLE_GET:
  24340 		rv = bcm_policer_database_enable_get(
  24341 			req->args.policer_database_enable_get.unit,
  24342 			req->args.policer_database_enable_get.flags,
  24343 			req->args.policer_database_enable_get.policer_database_handle,
  24344 			req->args.policer_database_enable_get.enable);
  24345 		break;
  24346 	case BCM_ASYNC_ENTRY_POLICER_DATABASE_ENABLE_SET:
  24347 		rv = bcm_policer_database_enable_set(
  24348 			req->args.policer_database_enable_set.unit,
  24349 			req->args.policer_database_enable_set.flags,
  24350 			req->args.policer_database_enable_set.policer_database_handle,
  24351 			req->args.policer_database_enable_set.enable);
  24352 		break;
  24353 	case BCM_ASYNC_ENTRY_POLICER_DESTROY:
  24354 		rv = bcm_policer_destroy(
  24355 			req->args.policer_destroy.unit,
  24356 			req->args.policer_destroy.policer_id);
  24357 		break;
  24358 	case BCM_ASYNC_ENTRY_POLICER_DESTROY_ALL:
  24359 		rv = bcm_policer_destroy_all(
  24360 			req->args.policer_destroy_all.unit);
  24361 		break;
  24362 	case BCM_ASYNC_ENTRY_POLICER_ENGINE_DATABASE_ATTACH:
  24363 		rv = bcm_policer_engine_database_attach(
  24364 			req->args.policer_engine_database_attach.unit,
  24365 			req->args.policer_engine_database_attach.flags,
  24366 			req->args.policer_engine_database_attach.engine,
  24367 			req->args.policer_engine_database_attach.config);
  24368 		break;
  24369 	case BCM_ASYNC_ENTRY_POLICER_ENGINE_DATABASE_DETACH:
  24370 		rv = bcm_policer_engine_database_detach(
  24371 			req->args.policer_engine_database_detach.unit,
  24372 			req->args.policer_engine_database_detach.flags,
  24373 			req->args.policer_engine_database_detach.engine);
  24374 		break;
  24375 	case BCM_ASYNC_ENTRY_POLICER_ENGINE_DATABASE_GET:
  24376 		rv = bcm_policer_engine_database_get(
  24377 			req->args.policer_engine_database_get.unit,
  24378 			req->args.policer_engine_database_get.flags,
  24379 			req->args.policer_engine_database_get.engine,
  24380 			req->args.policer_engine_database_get.config);
  24381 		break;
  24382 	case BCM_ASYNC_ENTRY_POLICER_ENVELOP_CREATE:
  24383 		rv = bcm_policer_envelop_create(
  24384 			req->args.policer_envelop_create.unit,
  24385 			req->args.policer_envelop_create.flag,
  24386 			req->args.policer_envelop_create.macro_flow_policer_id,
  24387 			req->args.policer_envelop_create.policer_id);
  24388 		break;
  24389 	case BCM_ASYNC_ENTRY_POLICER_ENVELOP_GROUP_CREATE:
  24390 		rv = bcm_policer_envelop_group_create(
  24391 			req->args.policer_envelop_group_create.unit,
  24392 			req->args.policer_envelop_group_create.flag,
  24393 			req->args.policer_envelop_group_create.mode,
  24394 			req->args.policer_envelop_group_create.macro_flow_policer_id,
  24395 			req->args.policer_envelop_group_create.policer_id,
  24396 			req->args.policer_envelop_group_create.npolicers);
  24397 		break;
  24398 	case BCM_ASYNC_ENTRY_POLICER_EXPANSION_GROUPS_GET:
  24399 		rv = bcm_policer_expansion_groups_get(
  24400 			req->args.policer_expansion_groups_get.unit,
  24401 			req->args.policer_expansion_groups_get.flags,
  24402 			req->args.policer_expansion_groups_get.core_id,
  24403 			req->args.policer_expansion_groups_get.expansion_group);
  24404 		break;
  24405 	case BCM_ASYNC_ENTRY_POLICER_EXPANSION_GROUPS_SET:
  24406 		rv = bcm_policer_expansion_groups_set(
  24407 			req->args.policer_expansion_groups_set.unit,
  24408 			req->args.policer_expansion_groups_set.flags,
  24409 			req->args.policer_expansion_groups_set.core_id,
  24410 			req->args.policer_expansion_groups_set.expansion_group);
  24411 		break;
  24412 	case BCM_ASYNC_ENTRY_POLICER_GET:
  24413 		rv = bcm_policer_get(
  24414 			req->args.policer_get.unit,
  24415 			req->args.policer_get.policer_id,
  24416 			req->args.policer_get.pol_cfg);
  24417 		break;
  24418 	case BCM_ASYNC_ENTRY_POLICER_GLOBAL_METER_CONFIG_GET:
  24419 		rv = bcm_policer_global_meter_config_get(
  24420 			req->args.policer_global_meter_config_get.unit,
  24421 			req->args.policer_global_meter_config_get.config);
  24422 		break;
  24423 	case BCM_ASYNC_ENTRY_POLICER_GLOBAL_METER_CONFIG_SET:
  24424 		rv = bcm_policer_global_meter_config_set(
  24425 			req->args.policer_global_meter_config_set.unit,
  24426 			req->args.policer_global_meter_config_set.config);
  24427 		break;
  24428 	case BCM_ASYNC_ENTRY_POLICER_GROUP_CREATE:
  24429 		rv = bcm_policer_group_create(
  24430 			req->args.policer_group_create.unit,
  24431 			req->args.policer_group_create.mode,
  24432 			req->args.policer_group_create.policer_id,
  24433 			req->args.policer_group_create.npolicers);
  24434 		break;
  24435 	case BCM_ASYNC_ENTRY_POLICER_GROUP_CREATE_WITH_MAP:
  24436 		rv = bcm_policer_group_create_with_map(
  24437 			req->args.policer_group_create_with_map.unit,
  24438 			req->args.policer_group_create_with_map.mode,
  24439 			req->args.policer_group_create_with_map.offset_map,
  24440 			req->args.policer_group_create_with_map.policer_id,
  24441 			req->args.policer_group_create_with_map.num_policers);
  24442 		break;
  24443 	case BCM_ASYNC_ENTRY_POLICER_GROUP_GET:
  24444 		rv = bcm_policer_group_get(
  24445 			req->args.policer_group_get.unit,
  24446 			req->args.policer_group_get.base_policer_id,
  24447 			req->args.policer_group_get.member_max,
  24448 			req->args.policer_group_get.member_array,
  24449 			req->args.policer_group_get.member_count);
  24450 		break;
  24451 	case BCM_ASYNC_ENTRY_POLICER_GROUP_MODE_ID_CREATE:
  24452 		rv = bcm_policer_group_mode_id_create(
  24453 			req->args.policer_group_mode_id_create.unit,
  24454 			req->args.policer_group_mode_id_create.flags,
  24455 			req->args.policer_group_mode_id_create.type,
  24456 			req->args.policer_group_mode_id_create.total_policers,
  24457 			req->args.policer_group_mode_id_create.num_selectors,
  24458 			req->args.policer_group_mode_id_create.attr_selectors,
  24459 			req->args.policer_group_mode_id_create.mode_id);
  24460 		break;
  24461 	case BCM_ASYNC_ENTRY_POLICER_GROUP_MODE_ID_DESTROY:
  24462 		rv = bcm_policer_group_mode_id_destroy(
  24463 			req->args.policer_group_mode_id_destroy.unit,
  24464 			req->args.policer_group_mode_id_destroy.mode_id);
  24465 		break;
  24466 	case BCM_ASYNC_ENTRY_POLICER_GROUP_MODE_ID_GET:
  24467 		rv = bcm_policer_group_mode_id_get(
  24468 			req->args.policer_group_mode_id_get.unit,
  24469 			req->args.policer_group_mode_id_get.mode_id,
  24470 			req->args.policer_group_mode_id_get.num_selectors,
  24471 			req->args.policer_group_mode_id_get.flags,
  24472 			req->args.policer_group_mode_id_get.type,
  24473 			req->args.policer_group_mode_id_get.total_policers,
  24474 			req->args.policer_group_mode_id_get.attr_selectors,
  24475 			req->args.policer_group_mode_id_get.actual_num_selectors);
  24476 		break;
  24477 	case BCM_ASYNC_ENTRY_POLICER_INIT:
  24478 		rv = bcm_policer_init(
  24479 			req->args.policer_init.unit);
  24480 		break;
  24481 	case BCM_ASYNC_ENTRY_POLICER_PACKET_COUNTER_GET32:
  24482 		rv = bcm_policer_packet_counter_get32(
  24483 			req->args.policer_packet_counter_get32.unit,
  24484 			req->args.policer_packet_counter_get32.policer_id,
  24485 			req->args.policer_packet_counter_get32.count);
  24486 		break;
  24487 	case BCM_ASYNC_ENTRY_POLICER_PACKET_RESET_COUNTER_GET32:
  24488 		rv = bcm_policer_packet_reset_counter_get32(
  24489 			req->args.policer_packet_reset_counter_get32.unit,
  24490 			req->args.policer_packet_reset_counter_get32.policer_id,
  24491 			req->args.policer_packet_reset_counter_get32.count);
  24492 		break;
  24493 	case BCM_ASYNC_ENTRY_POLICER_PRIMARY_COLOR_RESOLUTION_GET:
  24494 		rv = bcm_policer_primary_color_resolution_get(
  24495 			req->args.policer_primary_color_resolution_get.unit,
  24496 			req->args.policer_primary_color_resolution_get.flags,
  24497 			req->args.policer_primary_color_resolution_get.key,
  24498 			req->args.policer_primary_color_resolution_get.config);
  24499 		break;
  24500 	case BCM_ASYNC_ENTRY_POLICER_PRIMARY_COLOR_RESOLUTION_SET:
  24501 		rv = bcm_policer_primary_color_resolution_set(
  24502 			req->args.policer_primary_color_resolution_set.unit,
  24503 			req->args.policer_primary_color_resolution_set.flags,
  24504 			req->args.policer_primary_color_resolution_set.key,
  24505 			req->args.policer_primary_color_resolution_set.config);
  24506 		break;
  24507 	case BCM_ASYNC_ENTRY_POLICER_SET:
  24508 		rv = bcm_policer_set(
  24509 			req->args.policer_set.unit,
  24510 			req->args.policer_set.policer_id,
  24511 			req->args.policer_set.pol_cfg);
  24512 		break;
  24513 	case BCM_ASYNC_ENTRY_POLICER_STAT_ENABLE_GET:
  24514 		rv = bcm_policer_stat_enable_get(
  24515 			req->args.policer_stat_enable_get.unit,
  24516 			req->args.policer_stat_enable_get.policer_id,
  24517 			req->args.policer_stat_enable_get.enable);
  24518 		break;
  24519 	case BCM_ASYNC_ENTRY_POLICER_STAT_ENABLE_SET:
  24520 		rv = bcm_policer_stat_enable_set(
  24521 			req->args.policer_stat_enable_set.unit,
  24522 			req->args.policer_stat_enable_set.policer_id,
  24523 			req->args.policer_stat_enable_set.enable);
  24524 		break;
  24525 	case BCM_ASYNC_ENTRY_POLICER_STAT_GET:
  24526 		rv = bcm_policer_stat_get(
  24527 			req->args.policer_stat_get.unit,
  24528 			req->args.policer_stat_get.policer_id,
  24529 			req->args.policer_stat_get.int_pri,
  24530 			req->args.policer_stat_get.stat,
  24531 			req->args.policer_stat_get.value);
  24532 		break;
  24533 	case BCM_ASYNC_ENTRY_POLICER_STAT_GET32:
  24534 		rv = bcm_policer_stat_get32(
  24535 			req->args.policer_stat_get32.unit,
  24536 			req->args.policer_stat_get32.policer_id,
  24537 			req->args.policer_stat_get32.int_pri,
  24538 			req->args.policer_stat_get32.stat,
  24539 			req->args.policer_stat_get32.value);
  24540 		break;
  24541 	case BCM_ASYNC_ENTRY_POLICER_STAT_SET:
  24542 		rv = bcm_policer_stat_set(
  24543 			req->args.policer_stat_set.unit,
  24544 			req->args.policer_stat_set.policer_id,
  24545 			req->args.policer_stat_set.int_pri,
  24546 			req->args.policer_stat_set.stat,
  24547 			req->args.policer_stat_set.value);
  24548 		break;
  24549 	case BCM_ASYNC_ENTRY_POLICER_STAT_SET32:
  24550 		rv = bcm_policer_stat_set32(
  24551 			req->args.policer_stat_set32.unit,
  24552 			req->args.policer_stat_set32.policer_id,
  24553 			req->args.policer_stat_set32.int_pri,
  24554 			req->args.policer_stat_set32.stat,
  24555 			req->args.policer_stat_set32.value);
  24556 		break;
  24557 	case BCM_ASYNC_ENTRY_POLICER_TRAVERSE:
  24558 		rv = bcm_policer_traverse(
  24559 			req->args.policer_traverse.unit,
  24560 			req->args.policer_traverse.cb,
  24561 			req->args.policer_traverse.user_data);
  24562 		break;
  24563 	case BCM_ASYNC_ENTRY_PORT_ABILITY_ADVERT_GET:
  24564 		rv = bcm_port_ability_advert_get(
  24565 			req->args.port_ability_advert_get.unit,
  24566 			req->args.port_ability_advert_get.port,
  24567 			req->args.port_ability_advert_get.ability_mask);
  24568 		break;
  24569 	case BCM_ASYNC_ENTRY_PORT_ABILITY_ADVERT_SET:
  24570 		rv = bcm_port_ability_advert_set(
  24571 			req->args.port_ability_advert_set.unit,
  24572 			req->args.port_ability_advert_set.port,
  24573 			req->args.port_ability_advert_set.ability_mask);
  24574 		break;
  24575 	case BCM_ASYNC_ENTRY_PORT_ABILITY_GET:
  24576 		rv = bcm_port_ability_get(
  24577 			req->args.port_ability_get.unit,
  24578 			req->args.port_ability_get.port,
  24579 			req->args.port_ability_get.local_ability_mask);
  24580 		break;
  24581 	case BCM_ASYNC_ENTRY_PORT_ABILITY_LOCAL_GET:
  24582 		rv = bcm_port_ability_local_get(
  24583 			req->args.port_ability_local_get.unit,
  24584 			req->args.port_ability_local_get.port,
  24585 			req->args.port_ability_local_get.local_ability_mask);
  24586 		break;
  24587 	case BCM_ASYNC_ENTRY_PORT_ABILITY_REMOTE_GET:
  24588 		rv = bcm_port_ability_remote_get(
  24589 			req->args.port_ability_remote_get.unit,
  24590 			req->args.port_ability_remote_get.port,
  24591 			req->args.port_ability_remote_get.ability_mask);
  24592 		break;
  24593 	case BCM_ASYNC_ENTRY_PORT_ADD:
  24594 		rv = bcm_port_add(
  24595 			req->args.port_add.unit,
  24596 			req->args.port_add.port,
  24597 			req->args.port_add.flags,
  24598 			req->args.port_add.interface_info,
  24599 			req->args.port_add.mapping_info);
  24600 		break;
  24601 	case BCM_ASYNC_ENTRY_PORT_ADVERT_GET:
  24602 		rv = bcm_port_advert_get(
  24603 			req->args.port_advert_get.unit,
  24604 			req->args.port_advert_get.port,
  24605 			req->args.port_advert_get.ability_mask);
  24606 		break;
  24607 	case BCM_ASYNC_ENTRY_PORT_ADVERT_REMOTE_GET:
  24608 		rv = bcm_port_advert_remote_get(
  24609 			req->args.port_advert_remote_get.unit,
  24610 			req->args.port_advert_remote_get.port,
  24611 			req->args.port_advert_remote_get.ability_mask);
  24612 		break;
  24613 	case BCM_ASYNC_ENTRY_PORT_ADVERT_SET:
  24614 		rv = bcm_port_advert_set(
  24615 			req->args.port_advert_set.unit,
  24616 			req->args.port_advert_set.port,
  24617 			req->args.port_advert_set.ability_mask);
  24618 		break;
  24619 	case BCM_ASYNC_ENTRY_PORT_AUTONEG_ABILITY_ADVERT_GET:
  24620 		rv = bcm_port_autoneg_ability_advert_get(
  24621 			req->args.port_autoneg_ability_advert_get.unit,
  24622 			req->args.port_autoneg_ability_advert_get.port,
  24623 			req->args.port_autoneg_ability_advert_get.max_num_ability,
  24624 			req->args.port_autoneg_ability_advert_get.abilities_array,
  24625 			req->args.port_autoneg_ability_advert_get.actual_num_ability);
  24626 		break;
  24627 	case BCM_ASYNC_ENTRY_PORT_AUTONEG_ABILITY_ADVERT_SET:
  24628 		rv = bcm_port_autoneg_ability_advert_set(
  24629 			req->args.port_autoneg_ability_advert_set.unit,
  24630 			req->args.port_autoneg_ability_advert_set.port,
  24631 			req->args.port_autoneg_ability_advert_set.num_ability,
  24632 			req->args.port_autoneg_ability_advert_set.abilities_array);
  24633 		break;
  24634 	case BCM_ASYNC_ENTRY_PORT_AUTONEG_ABILITY_REMOTE_GET:
  24635 		rv = bcm_port_autoneg_ability_remote_get(
  24636 			req->args.port_autoneg_ability_remote_get.unit,
  24637 			req->args.port_autoneg_ability_remote_get.port,
  24638 			req->args.port_autoneg_ability_remote_get.max_num_ability,
  24639 			req->args.port_autoneg_ability_remote_get.abilities_array,
  24640 			req->args.port_autoneg_ability_remote_get.actual_num_ability);
  24641 		break;
  24642 	case BCM_ASYNC_ENTRY_PORT_AUTONEG_GET:
  24643 		rv = bcm_port_autoneg_get(
  24644 			req->args.port_autoneg_get.unit,
  24645 			req->args.port_autoneg_get.port,
  24646 			req->args.port_autoneg_get.autoneg);
  24647 		break;
  24648 	case BCM_ASYNC_ENTRY_PORT_AUTONEG_SET:
  24649 		rv = bcm_port_autoneg_set(
  24650 			req->args.port_autoneg_set.unit,
  24651 			req->args.port_autoneg_set.port,
  24652 			req->args.port_autoneg_set.autoneg);
  24653 		break;
  24654 	case BCM_ASYNC_ENTRY_PORT_BPDU_ENABLE_GET:
  24655 		rv = bcm_port_bpdu_enable_get(
  24656 			req->args.port_bpdu_enable_get.unit,
  24657 			req->args.port_bpdu_enable_get.port,
  24658 			req->args.port_bpdu_enable_get.enable);
  24659 		break;
  24660 	case BCM_ASYNC_ENTRY_PORT_BPDU_ENABLE_SET:
  24661 		rv = bcm_port_bpdu_enable_set(
  24662 			req->args.port_bpdu_enable_set.unit,
  24663 			req->args.port_bpdu_enable_set.port,
  24664 			req->args.port_bpdu_enable_set.enable);
  24665 		break;
  24666 	case BCM_ASYNC_ENTRY_PORT_CABLE_DIAG:
  24667 		rv = bcm_port_cable_diag(
  24668 			req->args.port_cable_diag.unit,
  24669 			req->args.port_cable_diag.port,
  24670 			req->args.port_cable_diag.status);
  24671 		break;
  24672 	case BCM_ASYNC_ENTRY_PORT_CFI_COLOR_GET:
  24673 		rv = bcm_port_cfi_color_get(
  24674 			req->args.port_cfi_color_get.unit,
  24675 			req->args.port_cfi_color_get.port,
  24676 			req->args.port_cfi_color_get.cfi,
  24677 			req->args.port_cfi_color_get.color);
  24678 		break;
  24679 	case BCM_ASYNC_ENTRY_PORT_CFI_COLOR_SET:
  24680 		rv = bcm_port_cfi_color_set(
  24681 			req->args.port_cfi_color_set.unit,
  24682 			req->args.port_cfi_color_set.port,
  24683 			req->args.port_cfi_color_set.cfi,
  24684 			req->args.port_cfi_color_set.color);
  24685 		break;
  24686 	case BCM_ASYNC_ENTRY_PORT_CLASS_GET:
  24687 		rv = bcm_port_class_get(
  24688 			req->args.port_class_get.unit,
  24689 			req->args.port_class_get.port,
  24690 			req->args.port_class_get.pclass,
  24691 			req->args.port_class_get.class_id);
  24692 		break;
  24693 	case BCM_ASYNC_ENTRY_PORT_CLASS_SET:
  24694 		rv = bcm_port_class_set(
  24695 			req->args.port_class_set.unit,
  24696 			req->args.port_class_set.port,
  24697 			req->args.port_class_set.pclass,
  24698 			req->args.port_class_set.class_id);
  24699 		break;
  24700 	case BCM_ASYNC_ENTRY_PORT_CLEAR:
  24701 		rv = bcm_port_clear(
  24702 			req->args.port_clear.unit);
  24703 		break;
  24704 	case BCM_ASYNC_ENTRY_PORT_CONFIG_GET:
  24705 		rv = bcm_port_config_get(
  24706 			req->args.port_config_get.unit,
  24707 			req->args.port_config_get.config);
  24708 		break;
  24709 	case BCM_ASYNC_ENTRY_PORT_CONFIG_PHY_OAM_GET:
  24710 		rv = bcm_port_config_phy_oam_get(
  24711 			req->args.port_config_phy_oam_get.unit,
  24712 			req->args.port_config_phy_oam_get.port,
  24713 			req->args.port_config_phy_oam_get.conf);
  24714 		break;
  24715 	case BCM_ASYNC_ENTRY_PORT_CONFIG_PHY_OAM_SET:
  24716 		rv = bcm_port_config_phy_oam_set(
  24717 			req->args.port_config_phy_oam_set.unit,
  24718 			req->args.port_config_phy_oam_set.port,
  24719 			req->args.port_config_phy_oam_set.conf);
  24720 		break;
  24721 	case BCM_ASYNC_ENTRY_PORT_CONGESTION_CONFIG_GET:
  24722 		rv = bcm_port_congestion_config_get(
  24723 			req->args.port_congestion_config_get.unit,
  24724 			req->args.port_congestion_config_get.port,
  24725 			req->args.port_congestion_config_get.config);
  24726 		break;
  24727 	case BCM_ASYNC_ENTRY_PORT_CONGESTION_CONFIG_SET:
  24728 		rv = bcm_port_congestion_config_set(
  24729 			req->args.port_congestion_config_set.unit,
  24730 			req->args.port_congestion_config_set.port,
  24731 			req->args.port_congestion_config_set.config);
  24732 		break;
  24733 	case BCM_ASYNC_ENTRY_PORT_CONGESTION_GET:
  24734 		rv = bcm_port_congestion_get(
  24735 			req->args.port_congestion_get.unit,
  24736 			req->args.port_congestion_get.congestion_port,
  24737 			req->args.port_congestion_get.port,
  24738 			req->args.port_congestion_get.flags,
  24739 			req->args.port_congestion_get.channel_id);
  24740 		break;
  24741 	case BCM_ASYNC_ENTRY_PORT_CONGESTION_SET:
  24742 		rv = bcm_port_congestion_set(
  24743 			req->args.port_congestion_set.unit,
  24744 			req->args.port_congestion_set.congestion_port,
  24745 			req->args.port_congestion_set.port,
  24746 			req->args.port_congestion_set.flags,
  24747 			req->args.port_congestion_set.channel_id);
  24748 		break;
  24749 	case BCM_ASYNC_ENTRY_PORT_CONTROL_GET:
  24750 		rv = bcm_port_control_get(
  24751 			req->args.port_control_get.unit,
  24752 			req->args.port_control_get.port,
  24753 			req->args.port_control_get.type,
  24754 			req->args.port_control_get.value);
  24755 		break;
  24756 	case BCM_ASYNC_ENTRY_PORT_CONTROL_PHY_OAM_GET:
  24757 		rv = bcm_port_control_phy_oam_get(
  24758 			req->args.port_control_phy_oam_get.unit,
  24759 			req->args.port_control_phy_oam_get.port,
  24760 			req->args.port_control_phy_oam_get.type,
  24761 			req->args.port_control_phy_oam_get.value);
  24762 		break;
  24763 	case BCM_ASYNC_ENTRY_PORT_CONTROL_PHY_OAM_SET:
  24764 		rv = bcm_port_control_phy_oam_set(
  24765 			req->args.port_control_phy_oam_set.unit,
  24766 			req->args.port_control_phy_oam_set.port,
  24767 			req->args.port_control_phy_oam_set.type,
  24768 			req->args.port_control_phy_oam_set.value);
  24769 		break;
  24770 	case BCM_ASYNC_ENTRY_PORT_CONTROL_PHY_TIMESYNC_GET:
  24771 		rv = bcm_port_control_phy_timesync_get(
  24772 			req->args.port_control_phy_timesync_get.unit,
  24773 			req->args.port_control_phy_timesync_get.port,
  24774 			req->args.port_control_phy_timesync_get.type,
  24775 			req->args.port_control_phy_timesync_get.value);
  24776 		break;
  24777 	case BCM_ASYNC_ENTRY_PORT_CONTROL_PHY_TIMESYNC_SET:
  24778 		rv = bcm_port_control_phy_timesync_set(
  24779 			req->args.port_control_phy_timesync_set.unit,
  24780 			req->args.port_control_phy_timesync_set.port,
  24781 			req->args.port_control_phy_timesync_set.type,
  24782 			req->args.port_control_phy_timesync_set.value);
  24783 		break;
  24784 	case BCM_ASYNC_ENTRY_PORT_CONTROL_SET:
  24785 		rv = bcm_port_control_set(
  24786 			req->args.port_control_set.unit,
  24787 			req->args.port_control_set.port,
  24788 			req->args.port_control_set.type,
  24789 			req->args.port_control_set.value);
  24790 		break;
  24791 	case BCM_ASYNC_ENTRY_PORT_DETACH:
  24792 		rv = bcm_port_detach(
  24793 			req->args.port_detach.unit,
  24794 			req->args.port_detach.pbmp,
  24795 			req->args.port_detach.detached);
  24796 		break;
  24797 	case BCM_ASYNC_ENTRY_PORT_DISCARD_GET:
  24798 		rv = bcm_port_discard_get(
  24799 			req->args.port_discard_get.unit,
  24800 			req->args.port_discard_get.port,
  24801 			req->args.port_discard_get.mode);
  24802 		break;
  24803 	case BCM_ASYNC_ENTRY_PORT_DISCARD_SET:
  24804 		rv = bcm_port_discard_set(
  24805 			req->args.port_discard_set.unit,
  24806 			req->args.port_discard_set.port,
  24807 			req->args.port_discard_set.mode);
  24808 		break;
  24809 	case BCM_ASYNC_ENTRY_PORT_DSCP_MAP_GET:
  24810 		rv = bcm_port_dscp_map_get(
  24811 			req->args.port_dscp_map_get.unit,
  24812 			req->args.port_dscp_map_get.port,
  24813 			req->args.port_dscp_map_get.srccp,
  24814 			req->args.port_dscp_map_get.mapcp,
  24815 			req->args.port_dscp_map_get.prio);
  24816 		break;
  24817 	case BCM_ASYNC_ENTRY_PORT_DSCP_MAP_MODE_GET:
  24818 		rv = bcm_port_dscp_map_mode_get(
  24819 			req->args.port_dscp_map_mode_get.unit,
  24820 			req->args.port_dscp_map_mode_get.port,
  24821 			req->args.port_dscp_map_mode_get.mode);
  24822 		break;
  24823 	case BCM_ASYNC_ENTRY_PORT_DSCP_MAP_MODE_SET:
  24824 		rv = bcm_port_dscp_map_mode_set(
  24825 			req->args.port_dscp_map_mode_set.unit,
  24826 			req->args.port_dscp_map_mode_set.port,
  24827 			req->args.port_dscp_map_mode_set.mode);
  24828 		break;
  24829 	case BCM_ASYNC_ENTRY_PORT_DSCP_MAP_SET:
  24830 		rv = bcm_port_dscp_map_set(
  24831 			req->args.port_dscp_map_set.unit,
  24832 			req->args.port_dscp_map_set.port,
  24833 			req->args.port_dscp_map_set.srccp,
  24834 			req->args.port_dscp_map_set.mapcp,
  24835 			req->args.port_dscp_map_set.prio);
  24836 		break;
  24837 	case BCM_ASYNC_ENTRY_PORT_DSCP_UNMAP_GET:
  24838 		rv = bcm_port_dscp_unmap_get(
  24839 			req->args.port_dscp_unmap_get.unit,
  24840 			req->args.port_dscp_unmap_get.port,
  24841 			req->args.port_dscp_unmap_get.internal_pri,
  24842 			req->args.port_dscp_unmap_get.color,
  24843 			req->args.port_dscp_unmap_get.pkt_dscp);
  24844 		break;
  24845 	case BCM_ASYNC_ENTRY_PORT_DSCP_UNMAP_SET:
  24846 		rv = bcm_port_dscp_unmap_set(
  24847 			req->args.port_dscp_unmap_set.unit,
  24848 			req->args.port_dscp_unmap_set.port,
  24849 			req->args.port_dscp_unmap_set.internal_pri,
  24850 			req->args.port_dscp_unmap_set.color,
  24851 			req->args.port_dscp_unmap_set.pkt_dscp);
  24852 		break;
  24853 	case BCM_ASYNC_ENTRY_PORT_DTAG_MODE_GET:
  24854 		rv = bcm_port_dtag_mode_get(
  24855 			req->args.port_dtag_mode_get.unit,
  24856 			req->args.port_dtag_mode_get.port,
  24857 			req->args.port_dtag_mode_get.mode);
  24858 		break;
  24859 	case BCM_ASYNC_ENTRY_PORT_DTAG_MODE_SET:
  24860 		rv = bcm_port_dtag_mode_set(
  24861 			req->args.port_dtag_mode_set.unit,
  24862 			req->args.port_dtag_mode_set.port,
  24863 			req->args.port_dtag_mode_set.mode);
  24864 		break;
  24865 	case BCM_ASYNC_ENTRY_PORT_DUPLEX_GET:
  24866 		rv = bcm_port_duplex_get(
  24867 			req->args.port_duplex_get.unit,
  24868 			req->args.port_duplex_get.port,
  24869 			req->args.port_duplex_get.duplex);
  24870 		break;
  24871 	case BCM_ASYNC_ENTRY_PORT_DUPLEX_SET:
  24872 		rv = bcm_port_duplex_set(
  24873 			req->args.port_duplex_set.unit,
  24874 			req->args.port_duplex_set.port,
  24875 			req->args.port_duplex_set.duplex);
  24876 		break;
  24877 	case BCM_ASYNC_ENTRY_PORT_E2EFC_REMOTE_MODULE_ENABLE_GET:
  24878 		rv = bcm_port_e2efc_remote_module_enable_get(
  24879 			req->args.port_e2efc_remote_module_enable_get.unit,
  24880 			req->args.port_e2efc_remote_module_enable_get.remote_module,
  24881 			req->args.port_e2efc_remote_module_enable_get.mode,
  24882 			req->args.port_e2efc_remote_module_enable_get.enable,
  24883 			req->args.port_e2efc_remote_module_enable_get.e2efc_rmod_cfg);
  24884 		break;
  24885 	case BCM_ASYNC_ENTRY_PORT_E2EFC_REMOTE_MODULE_ENABLE_SET:
  24886 		rv = bcm_port_e2efc_remote_module_enable_set(
  24887 			req->args.port_e2efc_remote_module_enable_set.unit,
  24888 			req->args.port_e2efc_remote_module_enable_set.remote_module,
  24889 			req->args.port_e2efc_remote_module_enable_set.mode,
  24890 			req->args.port_e2efc_remote_module_enable_set.enable,
  24891 			req->args.port_e2efc_remote_module_enable_set.e2efc_rmod_cfg);
  24892 		break;
  24893 	case BCM_ASYNC_ENTRY_PORT_E2EFC_REMOTE_MODULE_TRAVERSE:
  24894 		rv = bcm_port_e2efc_remote_module_traverse(
  24895 			req->args.port_e2efc_remote_module_traverse.unit,
  24896 			req->args.port_e2efc_remote_module_traverse.cb,
  24897 			req->args.port_e2efc_remote_module_traverse.user_data);
  24898 		break;
  24899 	case BCM_ASYNC_ENTRY_PORT_E2EFC_REMOTE_PORT_ADD:
  24900 		rv = bcm_port_e2efc_remote_port_add(
  24901 			req->args.port_e2efc_remote_port_add.unit,
  24902 			req->args.port_e2efc_remote_port_add.e2efc_rport_cfg,
  24903 			req->args.port_e2efc_remote_port_add.rport_handle_id);
  24904 		break;
  24905 	case BCM_ASYNC_ENTRY_PORT_E2EFC_REMOTE_PORT_DELETE:
  24906 		rv = bcm_port_e2efc_remote_port_delete(
  24907 			req->args.port_e2efc_remote_port_delete.unit,
  24908 			req->args.port_e2efc_remote_port_delete.rport_handle_id);
  24909 		break;
  24910 	case BCM_ASYNC_ENTRY_PORT_E2EFC_REMOTE_PORT_GET:
  24911 		rv = bcm_port_e2efc_remote_port_get(
  24912 			req->args.port_e2efc_remote_port_get.unit,
  24913 			req->args.port_e2efc_remote_port_get.rport_handle_id,
  24914 			req->args.port_e2efc_remote_port_get.e2efc_rport_cfg);
  24915 		break;
  24916 	case BCM_ASYNC_ENTRY_PORT_E2EFC_REMOTE_PORT_SET:
  24917 		rv = bcm_port_e2efc_remote_port_set(
  24918 			req->args.port_e2efc_remote_port_set.unit,
  24919 			req->args.port_e2efc_remote_port_set.rport_handle_id,
  24920 			req->args.port_e2efc_remote_port_set.e2efc_rport_cfg);
  24921 		break;
  24922 	case BCM_ASYNC_ENTRY_PORT_E2EFC_REMOTE_PORT_TRAVERSE:
  24923 		rv = bcm_port_e2efc_remote_port_traverse(
  24924 			req->args.port_e2efc_remote_port_traverse.unit,
  24925 			req->args.port_e2efc_remote_port_traverse.cb,
  24926 			req->args.port_e2efc_remote_port_traverse.user_data);
  24927 		break;
  24928 	case BCM_ASYNC_ENTRY_PORT_EGRESS_GET:
  24929 		rv = bcm_port_egress_get(
  24930 			req->args.port_egress_get.unit,
  24931 			req->args.port_egress_get.port,
  24932 			req->args.port_egress_get.modid,
  24933 			req->args.port_egress_get.pbmp);
  24934 		break;
  24935 	case BCM_ASYNC_ENTRY_PORT_EGRESS_SET:
  24936 		rv = bcm_port_egress_set(
  24937 			req->args.port_egress_set.unit,
  24938 			req->args.port_egress_set.port,
  24939 			req->args.port_egress_set.modid,
  24940 			req->args.port_egress_set.pbmp);
  24941 		break;
  24942 	case BCM_ASYNC_ENTRY_PORT_ENABLE_GET:
  24943 		rv = bcm_port_enable_get(
  24944 			req->args.port_enable_get.unit,
  24945 			req->args.port_enable_get.port,
  24946 			req->args.port_enable_get.enable);
  24947 		break;
  24948 	case BCM_ASYNC_ENTRY_PORT_ENABLE_SET:
  24949 		rv = bcm_port_enable_set(
  24950 			req->args.port_enable_set.unit,
  24951 			req->args.port_enable_set.port,
  24952 			req->args.port_enable_set.enable);
  24953 		break;
  24954 	case BCM_ASYNC_ENTRY_PORT_ENCAP_CONFIG_GET:
  24955 		rv = bcm_port_encap_config_get(
  24956 			req->args.port_encap_config_get.unit,
  24957 			req->args.port_encap_config_get.gport,
  24958 			req->args.port_encap_config_get.encap_config);
  24959 		break;
  24960 	case BCM_ASYNC_ENTRY_PORT_ENCAP_CONFIG_SET:
  24961 		rv = bcm_port_encap_config_set(
  24962 			req->args.port_encap_config_set.unit,
  24963 			req->args.port_encap_config_set.gport,
  24964 			req->args.port_encap_config_set.encap_config);
  24965 		break;
  24966 	case BCM_ASYNC_ENTRY_PORT_ENCAP_GET:
  24967 		rv = bcm_port_encap_get(
  24968 			req->args.port_encap_get.unit,
  24969 			req->args.port_encap_get.port,
  24970 			req->args.port_encap_get.mode);
  24971 		break;
  24972 	case BCM_ASYNC_ENTRY_PORT_ENCAP_LOCAL_GET:
  24973 		rv = bcm_port_encap_local_get(
  24974 			req->args.port_encap_local_get.unit,
  24975 			req->args.port_encap_local_get.gport,
  24976 			req->args.port_encap_local_get.flags,
  24977 			req->args.port_encap_local_get.encap_local_id);
  24978 		break;
  24979 	case BCM_ASYNC_ENTRY_PORT_ENCAP_MAP_GET:
  24980 		rv = bcm_port_encap_map_get(
  24981 			req->args.port_encap_map_get.unit,
  24982 			req->args.port_encap_map_get.flags,
  24983 			req->args.port_encap_map_get.encap_id,
  24984 			req->args.port_encap_map_get.port);
  24985 		break;
  24986 	case BCM_ASYNC_ENTRY_PORT_ENCAP_MAP_SET:
  24987 		rv = bcm_port_encap_map_set(
  24988 			req->args.port_encap_map_set.unit,
  24989 			req->args.port_encap_map_set.flags,
  24990 			req->args.port_encap_map_set.encap_id,
  24991 			req->args.port_encap_map_set.port);
  24992 		break;
  24993 	case BCM_ASYNC_ENTRY_PORT_ENCAP_SET:
  24994 		rv = bcm_port_encap_set(
  24995 			req->args.port_encap_set.unit,
  24996 			req->args.port_encap_set.port,
  24997 			req->args.port_encap_set.mode);
  24998 		break;
  24999 	case BCM_ASYNC_ENTRY_PORT_EXTENDER_MAPPING_INFO_GET:
  25000 		rv = bcm_port_extender_mapping_info_get(
  25001 			req->args.port_extender_mapping_info_get.unit,
  25002 			req->args.port_extender_mapping_info_get.flags,
  25003 			req->args.port_extender_mapping_info_get.type,
  25004 			req->args.port_extender_mapping_info_get.mapping_info);
  25005 		break;
  25006 	case BCM_ASYNC_ENTRY_PORT_EXTENDER_MAPPING_INFO_SET:
  25007 		rv = bcm_port_extender_mapping_info_set(
  25008 			req->args.port_extender_mapping_info_set.unit,
  25009 			req->args.port_extender_mapping_info_set.flags,
  25010 			req->args.port_extender_mapping_info_set.type,
  25011 			req->args.port_extender_mapping_info_set.mapping_info);
  25012 		break;
  25013 	case BCM_ASYNC_ENTRY_PORT_FAULT_GET:
  25014 		rv = bcm_port_fault_get(
  25015 			req->args.port_fault_get.unit,
  25016 			req->args.port_fault_get.port,
  25017 			req->args.port_fault_get.flags);
  25018 		break;
  25019 	case BCM_ASYNC_ENTRY_PORT_FLOOD_BLOCK_GET:
  25020 		rv = bcm_port_flood_block_get(
  25021 			req->args.port_flood_block_get.unit,
  25022 			req->args.port_flood_block_get.ingress_port,
  25023 			req->args.port_flood_block_get.egress_port,
  25024 			req->args.port_flood_block_get.flags);
  25025 		break;
  25026 	case BCM_ASYNC_ENTRY_PORT_FLOOD_BLOCK_SET:
  25027 		rv = bcm_port_flood_block_set(
  25028 			req->args.port_flood_block_set.unit,
  25029 			req->args.port_flood_block_set.ingress_port,
  25030 			req->args.port_flood_block_set.egress_port,
  25031 			req->args.port_flood_block_set.flags);
  25032 		break;
  25033 	case BCM_ASYNC_ENTRY_PORT_FLOOD_GROUP_GET:
  25034 		rv = bcm_port_flood_group_get(
  25035 			req->args.port_flood_group_get.unit,
  25036 			req->args.port_flood_group_get.port,
  25037 			req->args.port_flood_group_get.flags,
  25038 			req->args.port_flood_group_get.flood_groups);
  25039 		break;
  25040 	case BCM_ASYNC_ENTRY_PORT_FLOOD_GROUP_SET:
  25041 		rv = bcm_port_flood_group_set(
  25042 			req->args.port_flood_group_set.unit,
  25043 			req->args.port_flood_group_set.port,
  25044 			req->args.port_flood_group_set.flags,
  25045 			req->args.port_flood_group_set.flood_groups);
  25046 		break;
  25047 	case BCM_ASYNC_ENTRY_PORT_FORCE_DEST_GET:
  25048 		rv = bcm_port_force_dest_get(
  25049 			req->args.port_force_dest_get.unit,
  25050 			req->args.port_force_dest_get.gport,
  25051 			req->args.port_force_dest_get.dest_info);
  25052 		break;
  25053 	case BCM_ASYNC_ENTRY_PORT_FORCE_DEST_SET:
  25054 		rv = bcm_port_force_dest_set(
  25055 			req->args.port_force_dest_set.unit,
  25056 			req->args.port_force_dest_set.gport,
  25057 			req->args.port_force_dest_set.dest_info);
  25058 		break;
  25059 	case BCM_ASYNC_ENTRY_PORT_FORCE_FORWARD_GET:
  25060 		rv = bcm_port_force_forward_get(
  25061 			req->args.port_force_forward_get.unit,
  25062 			req->args.port_force_forward_get.port,
  25063 			req->args.port_force_forward_get.egr_port,
  25064 			req->args.port_force_forward_get.enabled);
  25065 		break;
  25066 	case BCM_ASYNC_ENTRY_PORT_FORCE_FORWARD_MODE_GET:
  25067 		rv = bcm_port_force_forward_mode_get(
  25068 			req->args.port_force_forward_mode_get.unit,
  25069 			req->args.port_force_forward_mode_get.port,
  25070 			req->args.port_force_forward_mode_get.egr_port,
  25071 			req->args.port_force_forward_mode_get.flags);
  25072 		break;
  25073 	case BCM_ASYNC_ENTRY_PORT_FORCE_FORWARD_MODE_SET:
  25074 		rv = bcm_port_force_forward_mode_set(
  25075 			req->args.port_force_forward_mode_set.unit,
  25076 			req->args.port_force_forward_mode_set.port,
  25077 			req->args.port_force_forward_mode_set.egr_port,
  25078 			req->args.port_force_forward_mode_set.flags);
  25079 		break;
  25080 	case BCM_ASYNC_ENTRY_PORT_FORCE_FORWARD_SET:
  25081 		rv = bcm_port_force_forward_set(
  25082 			req->args.port_force_forward_set.unit,
  25083 			req->args.port_force_forward_set.port,
  25084 			req->args.port_force_forward_set.egr_port,
  25085 			req->args.port_force_forward_set.enable);
  25086 		break;
  25087 	case BCM_ASYNC_ENTRY_PORT_FORCE_VLAN_GET:
  25088 		rv = bcm_port_force_vlan_get(
  25089 			req->args.port_force_vlan_get.unit,
  25090 			req->args.port_force_vlan_get.port,
  25091 			req->args.port_force_vlan_get.vlan,
  25092 			req->args.port_force_vlan_get.pkt_prio,
  25093 			req->args.port_force_vlan_get.flags);
  25094 		break;
  25095 	case BCM_ASYNC_ENTRY_PORT_FORCE_VLAN_SET:
  25096 		rv = bcm_port_force_vlan_set(
  25097 			req->args.port_force_vlan_set.unit,
  25098 			req->args.port_force_vlan_set.port,
  25099 			req->args.port_force_vlan_set.vlan,
  25100 			req->args.port_force_vlan_set.pkt_prio,
  25101 			req->args.port_force_vlan_set.flags);
  25102 		break;
  25103 	case BCM_ASYNC_ENTRY_PORT_FRAME_MAX_GET:
  25104 		rv = bcm_port_frame_max_get(
  25105 			req->args.port_frame_max_get.unit,
  25106 			req->args.port_frame_max_get.port,
  25107 			req->args.port_frame_max_get.size);
  25108 		break;
  25109 	case BCM_ASYNC_ENTRY_PORT_FRAME_MAX_SET:
  25110 		rv = bcm_port_frame_max_set(
  25111 			req->args.port_frame_max_set.unit,
  25112 			req->args.port_frame_max_set.port,
  25113 			req->args.port_frame_max_set.size);
  25114 		break;
  25115 	case BCM_ASYNC_ENTRY_PORT_GET:
  25116 		rv = bcm_port_get(
  25117 			req->args.port_get.unit,
  25118 			req->args.port_get.port,
  25119 			req->args.port_get.flags,
  25120 			req->args.port_get.interface_info,
  25121 			req->args.port_get.mapping_info);
  25122 		break;
  25123 	case BCM_ASYNC_ENTRY_PORT_GPORT_ADD:
  25124 		rv = bcm_port_gport_add(
  25125 			req->args.port_gport_add.unit,
  25126 			req->args.port_gport_add.local_port,
  25127 			req->args.port_gport_add.modport);
  25128 		break;
  25129 	case BCM_ASYNC_ENTRY_PORT_GPORT_DELETE:
  25130 		rv = bcm_port_gport_delete(
  25131 			req->args.port_gport_delete.unit,
  25132 			req->args.port_gport_delete.local_port,
  25133 			req->args.port_gport_delete.modport);
  25134 		break;
  25135 	case BCM_ASYNC_ENTRY_PORT_GPORT_DELETE_ALL:
  25136 		rv = bcm_port_gport_delete_all(
  25137 			req->args.port_gport_delete_all.unit,
  25138 			req->args.port_gport_delete_all.local_port);
  25139 		break;
  25140 	case BCM_ASYNC_ENTRY_PORT_GPORT_FREE_RANGE_GET:
  25141 		rv = bcm_port_gport_free_range_get(
  25142 			req->args.port_gport_free_range_get.unit,
  25143 			req->args.port_gport_free_range_get.gport_type,
  25144 			req->args.port_gport_free_range_get.gport_min,
  25145 			req->args.port_gport_free_range_get.gport_max);
  25146 		break;
  25147 	case BCM_ASYNC_ENTRY_PORT_GPORT_GET:
  25148 		rv = bcm_port_gport_get(
  25149 			req->args.port_gport_get.unit,
  25150 			req->args.port_gport_get.port,
  25151 			req->args.port_gport_get.gport);
  25152 		break;
  25153 	case BCM_ASYNC_ENTRY_PORT_GPORT_GET_ALL:
  25154 		rv = bcm_port_gport_get_all(
  25155 			req->args.port_gport_get_all.unit,
  25156 			req->args.port_gport_get_all.local_port,
  25157 			req->args.port_gport_get_all.size,
  25158 			req->args.port_gport_get_all.gport_array,
  25159 			req->args.port_gport_get_all.count);
  25160 		break;
  25161 	case BCM_ASYNC_ENTRY_PORT_GPORT_IS_FREE:
  25162 		rv = bcm_port_gport_is_free(
  25163 			req->args.port_gport_is_free.unit,
  25164 			req->args.port_gport_is_free.gport);
  25165 		break;
  25166 	case BCM_ASYNC_ENTRY_PORT_IFG_GET:
  25167 		rv = bcm_port_ifg_get(
  25168 			req->args.port_ifg_get.unit,
  25169 			req->args.port_ifg_get.port,
  25170 			req->args.port_ifg_get.speed,
  25171 			req->args.port_ifg_get.duplex,
  25172 			req->args.port_ifg_get.bit_times);
  25173 		break;
  25174 	case BCM_ASYNC_ENTRY_PORT_IFG_SET:
  25175 		rv = bcm_port_ifg_set(
  25176 			req->args.port_ifg_set.unit,
  25177 			req->args.port_ifg_set.port,
  25178 			req->args.port_ifg_set.speed,
  25179 			req->args.port_ifg_set.duplex,
  25180 			req->args.port_ifg_set.bit_times);
  25181 		break;
  25182 	case BCM_ASYNC_ENTRY_PORT_IFILTER_GET:
  25183 		rv = bcm_port_ifilter_get(
  25184 			req->args.port_ifilter_get.unit,
  25185 			req->args.port_ifilter_get.port,
  25186 			req->args.port_ifilter_get.mode);
  25187 		break;
  25188 	case BCM_ASYNC_ENTRY_PORT_IFILTER_SET:
  25189 		rv = bcm_port_ifilter_set(
  25190 			req->args.port_ifilter_set.unit,
  25191 			req->args.port_ifilter_set.port,
  25192 			req->args.port_ifilter_set.mode);
  25193 		break;
  25194 	case BCM_ASYNC_ENTRY_PORT_ILKN_LANE_MAP_GET:
  25195 		rv = bcm_port_ilkn_lane_map_get(
  25196 			req->args.port_ilkn_lane_map_get.unit,
  25197 			req->args.port_ilkn_lane_map_get.flags,
  25198 			req->args.port_ilkn_lane_map_get.port,
  25199 			req->args.port_ilkn_lane_map_get.num_of_lanes,
  25200 			req->args.port_ilkn_lane_map_get.lanes);
  25201 		break;
  25202 	case BCM_ASYNC_ENTRY_PORT_ILKN_LANE_MAP_SET:
  25203 		rv = bcm_port_ilkn_lane_map_set(
  25204 			req->args.port_ilkn_lane_map_set.unit,
  25205 			req->args.port_ilkn_lane_map_set.flags,
  25206 			req->args.port_ilkn_lane_map_set.port,
  25207 			req->args.port_ilkn_lane_map_set.num_of_lanes,
  25208 			req->args.port_ilkn_lane_map_set.lanes);
  25209 		break;
  25210 	case BCM_ASYNC_ENTRY_PORT_INFO_GET:
  25211 		rv = bcm_port_info_get(
  25212 			req->args.port_info_get.unit,
  25213 			req->args.port_info_get.port,
  25214 			req->args.port_info_get.info);
  25215 		break;
  25216 	case BCM_ASYNC_ENTRY_PORT_INFO_RESTORE:
  25217 		rv = bcm_port_info_restore(
  25218 			req->args.port_info_restore.unit,
  25219 			req->args.port_info_restore.port,
  25220 			req->args.port_info_restore.info);
  25221 		break;
  25222 	case BCM_ASYNC_ENTRY_PORT_INFO_SAVE:
  25223 		rv = bcm_port_info_save(
  25224 			req->args.port_info_save.unit,
  25225 			req->args.port_info_save.port,
  25226 			req->args.port_info_save.info);
  25227 		break;
  25228 	case BCM_ASYNC_ENTRY_PORT_INFO_SET:
  25229 		rv = bcm_port_info_set(
  25230 			req->args.port_info_set.unit,
  25231 			req->args.port_info_set.port,
  25232 			req->args.port_info_set.info);
  25233 		break;
  25234 	case BCM_ASYNC_ENTRY_PORT_INGRESS_TDM_FAILOVER_GET:
  25235 		rv = bcm_port_ingress_tdm_failover_get(
  25236 			req->args.port_ingress_tdm_failover_get.unit,
  25237 			req->args.port_ingress_tdm_failover_get.flag,
  25238 			req->args.port_ingress_tdm_failover_get.tdm_enable_pbmp);
  25239 		break;
  25240 	case BCM_ASYNC_ENTRY_PORT_INGRESS_TDM_FAILOVER_SET:
  25241 		rv = bcm_port_ingress_tdm_failover_set(
  25242 			req->args.port_ingress_tdm_failover_set.unit,
  25243 			req->args.port_ingress_tdm_failover_set.flag,
  25244 			req->args.port_ingress_tdm_failover_set.tdm_enable_pbmp);
  25245 		break;
  25246 	case BCM_ASYNC_ENTRY_PORT_INIT:
  25247 		rv = bcm_port_init(
  25248 			req->args.port_init.unit);
  25249 		break;
  25250 	case BCM_ASYNC_ENTRY_PORT_INNER_TPID_GET:
  25251 		rv = bcm_port_inner_tpid_get(
  25252 			req->args.port_inner_tpid_get.unit,
  25253 			req->args.port_inner_tpid_get.port,
  25254 			req->args.port_inner_tpid_get.tpid);
  25255 		break;
  25256 	case BCM_ASYNC_ENTRY_PORT_INNER_TPID_SET:
  25257 		rv = bcm_port_inner_tpid_set(
  25258 			req->args.port_inner_tpid_set.unit,
  25259 			req->args.port_inner_tpid_set.port,
  25260 			req->args.port_inner_tpid_set.tpid);
  25261 		break;
  25262 	case BCM_ASYNC_ENTRY_PORT_INTERFACE_CONFIG_GET:
  25263 		rv = bcm_port_interface_config_get(
  25264 			req->args.port_interface_config_get.unit,
  25265 			req->args.port_interface_config_get.port,
  25266 			req->args.port_interface_config_get.config);
  25267 		break;
  25268 	case BCM_ASYNC_ENTRY_PORT_INTERFACE_CONFIG_SET:
  25269 		rv = bcm_port_interface_config_set(
  25270 			req->args.port_interface_config_set.unit,
  25271 			req->args.port_interface_config_set.port,
  25272 			req->args.port_interface_config_set.config);
  25273 		break;
  25274 	case BCM_ASYNC_ENTRY_PORT_INTERFACE_GET:
  25275 		rv = bcm_port_interface_get(
  25276 			req->args.port_interface_get.unit,
  25277 			req->args.port_interface_get.port,
  25278 			req->args.port_interface_get.intf);
  25279 		break;
  25280 	case BCM_ASYNC_ENTRY_PORT_INTERFACE_SET:
  25281 		rv = bcm_port_interface_set(
  25282 			req->args.port_interface_set.unit,
  25283 			req->args.port_interface_set.port,
  25284 			req->args.port_interface_set.intf);
  25285 		break;
  25286 	case BCM_ASYNC_ENTRY_PORT_INTERNAL_GET:
  25287 		rv = bcm_port_internal_get(
  25288 			req->args.port_internal_get.unit,
  25289 			req->args.port_internal_get.flags,
  25290 			req->args.port_internal_get.internal_ports_max,
  25291 			req->args.port_internal_get.internal_gport,
  25292 			req->args.port_internal_get.internal_ports_count);
  25293 		break;
  25294 	case BCM_ASYNC_ENTRY_PORT_IPMC_MODIFY_GET:
  25295 		rv = bcm_port_ipmc_modify_get(
  25296 			req->args.port_ipmc_modify_get.unit,
  25297 			req->args.port_ipmc_modify_get.port,
  25298 			req->args.port_ipmc_modify_get.flags);
  25299 		break;
  25300 	case BCM_ASYNC_ENTRY_PORT_IPMC_MODIFY_SET:
  25301 		rv = bcm_port_ipmc_modify_set(
  25302 			req->args.port_ipmc_modify_set.unit,
  25303 			req->args.port_ipmc_modify_set.port,
  25304 			req->args.port_ipmc_modify_set.flags);
  25305 		break;
  25306 	case BCM_ASYNC_ENTRY_PORT_JAM_GET:
  25307 		rv = bcm_port_jam_get(
  25308 			req->args.port_jam_get.unit,
  25309 			req->args.port_jam_get.port,
  25310 			req->args.port_jam_get.enable);
  25311 		break;
  25312 	case BCM_ASYNC_ENTRY_PORT_JAM_SET:
  25313 		rv = bcm_port_jam_set(
  25314 			req->args.port_jam_set.unit,
  25315 			req->args.port_jam_set.port,
  25316 			req->args.port_jam_set.enable);
  25317 		break;
  25318 	case BCM_ASYNC_ENTRY_PORT_L3_ENABLE_GET:
  25319 		rv = bcm_port_l3_enable_get(
  25320 			req->args.port_l3_enable_get.unit,
  25321 			req->args.port_l3_enable_get.port,
  25322 			req->args.port_l3_enable_get.enable);
  25323 		break;
  25324 	case BCM_ASYNC_ENTRY_PORT_L3_ENABLE_SET:
  25325 		rv = bcm_port_l3_enable_set(
  25326 			req->args.port_l3_enable_set.unit,
  25327 			req->args.port_l3_enable_set.port,
  25328 			req->args.port_l3_enable_set.enable);
  25329 		break;
  25330 	case BCM_ASYNC_ENTRY_PORT_L3_ENCAPSULATED_MTU_GET:
  25331 		rv = bcm_port_l3_encapsulated_mtu_get(
  25332 			req->args.port_l3_encapsulated_mtu_get.unit,
  25333 			req->args.port_l3_encapsulated_mtu_get.port,
  25334 			req->args.port_l3_encapsulated_mtu_get.size);
  25335 		break;
  25336 	case BCM_ASYNC_ENTRY_PORT_L3_ENCAPSULATED_MTU_SET:
  25337 		rv = bcm_port_l3_encapsulated_mtu_set(
  25338 			req->args.port_l3_encapsulated_mtu_set.unit,
  25339 			req->args.port_l3_encapsulated_mtu_set.port,
  25340 			req->args.port_l3_encapsulated_mtu_set.size);
  25341 		break;
  25342 	case BCM_ASYNC_ENTRY_PORT_L3_MODIFY_GET:
  25343 		rv = bcm_port_l3_modify_get(
  25344 			req->args.port_l3_modify_get.unit,
  25345 			req->args.port_l3_modify_get.port,
  25346 			req->args.port_l3_modify_get.flags);
  25347 		break;
  25348 	case BCM_ASYNC_ENTRY_PORT_L3_MODIFY_SET:
  25349 		rv = bcm_port_l3_modify_set(
  25350 			req->args.port_l3_modify_set.unit,
  25351 			req->args.port_l3_modify_set.port,
  25352 			req->args.port_l3_modify_set.flags);
  25353 		break;
  25354 	case BCM_ASYNC_ENTRY_PORT_L3_MTU_GET:
  25355 		rv = bcm_port_l3_mtu_get(
  25356 			req->args.port_l3_mtu_get.unit,
  25357 			req->args.port_l3_mtu_get.port,
  25358 			req->args.port_l3_mtu_get.size);
  25359 		break;
  25360 	case BCM_ASYNC_ENTRY_PORT_L3_MTU_SET:
  25361 		rv = bcm_port_l3_mtu_set(
  25362 			req->args.port_l3_mtu_set.unit,
  25363 			req->args.port_l3_mtu_set.port,
  25364 			req->args.port_l3_mtu_set.size);
  25365 		break;
  25366 	case BCM_ASYNC_ENTRY_PORT_LANE_TO_SERDES_MAP_GET:
  25367 		rv = bcm_port_lane_to_serdes_map_get(
  25368 			req->args.port_lane_to_serdes_map_get.unit,
  25369 			req->args.port_lane_to_serdes_map_get.flags,
  25370 			req->args.port_lane_to_serdes_map_get.map_size,
  25371 			req->args.port_lane_to_serdes_map_get.serdes_map);
  25372 		break;
  25373 	case BCM_ASYNC_ENTRY_PORT_LANE_TO_SERDES_MAP_SET:
  25374 		rv = bcm_port_lane_to_serdes_map_set(
  25375 			req->args.port_lane_to_serdes_map_set.unit,
  25376 			req->args.port_lane_to_serdes_map_set.flags,
  25377 			req->args.port_lane_to_serdes_map_set.map_size,
  25378 			req->args.port_lane_to_serdes_map_set.serdes_map);
  25379 		break;
  25380 	case BCM_ASYNC_ENTRY_PORT_LEARN_GET:
  25381 		rv = bcm_port_learn_get(
  25382 			req->args.port_learn_get.unit,
  25383 			req->args.port_learn_get.port,
  25384 			req->args.port_learn_get.flags);
  25385 		break;
  25386 	case BCM_ASYNC_ENTRY_PORT_LEARN_MODIFY:
  25387 		rv = bcm_port_learn_modify(
  25388 			req->args.port_learn_modify.unit,
  25389 			req->args.port_learn_modify.port,
  25390 			req->args.port_learn_modify.add,
  25391 			req->args.port_learn_modify.remove);
  25392 		break;
  25393 	case BCM_ASYNC_ENTRY_PORT_LEARN_SET:
  25394 		rv = bcm_port_learn_set(
  25395 			req->args.port_learn_set.unit,
  25396 			req->args.port_learn_set.port,
  25397 			req->args.port_learn_set.flags);
  25398 		break;
  25399 	case BCM_ASYNC_ENTRY_PORT_LINK_FAILED_CLEAR:
  25400 		rv = bcm_port_link_failed_clear(
  25401 			req->args.port_link_failed_clear.unit,
  25402 			req->args.port_link_failed_clear.port);
  25403 		break;
  25404 	case BCM_ASYNC_ENTRY_PORT_LINK_STATE_GET:
  25405 		rv = bcm_port_link_state_get(
  25406 			req->args.port_link_state_get.unit,
  25407 			req->args.port_link_state_get.port,
  25408 			req->args.port_link_state_get.flags,
  25409 			req->args.port_link_state_get.state);
  25410 		break;
  25411 	case BCM_ASYNC_ENTRY_PORT_LINK_STATUS_GET:
  25412 		rv = bcm_port_link_status_get(
  25413 			req->args.port_link_status_get.unit,
  25414 			req->args.port_link_status_get.port,
  25415 			req->args.port_link_status_get.status);
  25416 		break;
  25417 	case BCM_ASYNC_ENTRY_PORT_LINKSCAN_GET:
  25418 		rv = bcm_port_linkscan_get(
  25419 			req->args.port_linkscan_get.unit,
  25420 			req->args.port_linkscan_get.port,
  25421 			req->args.port_linkscan_get.linkscan);
  25422 		break;
  25423 	case BCM_ASYNC_ENTRY_PORT_LINKSCAN_SET:
  25424 		rv = bcm_port_linkscan_set(
  25425 			req->args.port_linkscan_set.unit,
  25426 			req->args.port_linkscan_set.port,
  25427 			req->args.port_linkscan_set.linkscan);
  25428 		break;
  25429 	case BCM_ASYNC_ENTRY_PORT_LOCAL_GET:
  25430 		rv = bcm_port_local_get(
  25431 			req->args.port_local_get.unit,
  25432 			req->args.port_local_get.gport,
  25433 			req->args.port_local_get.local_port);
  25434 		break;
  25435 	case BCM_ASYNC_ENTRY_PORT_LOOPBACK_GET:
  25436 		rv = bcm_port_loopback_get(
  25437 			req->args.port_loopback_get.unit,
  25438 			req->args.port_loopback_get.port,
  25439 			req->args.port_loopback_get.loopback);
  25440 		break;
  25441 	case BCM_ASYNC_ENTRY_PORT_LOOPBACK_SET:
  25442 		rv = bcm_port_loopback_set(
  25443 			req->args.port_loopback_set.unit,
  25444 			req->args.port_loopback_set.port,
  25445 			req->args.port_loopback_set.loopback);
  25446 		break;
  25447 	case BCM_ASYNC_ENTRY_PORT_MANAGEMENT_PACKET_CONFIG_GET:
  25448 		rv = bcm_port_management_packet_config_get(
  25449 			req->args.port_management_packet_config_get.unit,
  25450 			req->args.port_management_packet_config_get.port,
  25451 			req->args.port_management_packet_config_get.config_array,
  25452 			req->args.port_management_packet_config_get.max_config,
  25453 			req->args.port_management_packet_config_get.config_count);
  25454 		break;
  25455 	case BCM_ASYNC_ENTRY_PORT_MANAGEMENT_PACKET_CONFIG_SET:
  25456 		rv = bcm_port_management_packet_config_set(
  25457 			req->args.port_management_packet_config_set.unit,
  25458 			req->args.port_management_packet_config_set.port,
  25459 			req->args.port_management_packet_config_set.config);
  25460 		break;
  25461 	case BCM_ASYNC_ENTRY_PORT_MASTER_GET:
  25462 		rv = bcm_port_master_get(
  25463 			req->args.port_master_get.unit,
  25464 			req->args.port_master_get.port,
  25465 			req->args.port_master_get.ms);
  25466 		break;
  25467 	case BCM_ASYNC_ENTRY_PORT_MASTER_SET:
  25468 		rv = bcm_port_master_set(
  25469 			req->args.port_master_set.unit,
  25470 			req->args.port_master_set.port,
  25471 			req->args.port_master_set.ms);
  25472 		break;
  25473 	case BCM_ASYNC_ENTRY_PORT_MATCH_ADD:
  25474 		rv = bcm_port_match_add(
  25475 			req->args.port_match_add.unit,
  25476 			req->args.port_match_add.port,
  25477 			req->args.port_match_add.match);
  25478 		break;
  25479 	case BCM_ASYNC_ENTRY_PORT_MATCH_DELETE:
  25480 		rv = bcm_port_match_delete(
  25481 			req->args.port_match_delete.unit,
  25482 			req->args.port_match_delete.port,
  25483 			req->args.port_match_delete.match);
  25484 		break;
  25485 	case BCM_ASYNC_ENTRY_PORT_MATCH_DELETE_ALL:
  25486 		rv = bcm_port_match_delete_all(
  25487 			req->args.port_match_delete_all.unit,
  25488 			req->args.port_match_delete_all.port);
  25489 		break;
  25490 	case BCM_ASYNC_ENTRY_PORT_MATCH_MULTI_GET:
  25491 		rv = bcm_port_match_multi_get(
  25492 			req->args.port_match_multi_get.unit,
  25493 			req->args.port_match_multi_get.port,
  25494 			req->args.port_match_multi_get.size,
  25495 			req->args.port_match_multi_get.match_array,
  25496 			req->args.port_match_multi_get.count);
  25497 		break;
  25498 	case BCM_ASYNC_ENTRY_PORT_MATCH_REPLACE:
  25499 		rv = bcm_port_match_replace(
  25500 			req->args.port_match_replace.unit,
  25501 			req->args.port_match_replace.port,
  25502 			req->args.port_match_replace.old_match,
  25503 			req->args.port_match_replace.new_match);
  25504 		break;
  25505 	case BCM_ASYNC_ENTRY_PORT_MATCH_SET:
  25506 		rv = bcm_port_match_set(
  25507 			req->args.port_match_set.unit,
  25508 			req->args.port_match_set.port,
  25509 			req->args.port_match_set.size,
  25510 			req->args.port_match_set.match_array);
  25511 		break;
  25512 	case BCM_ASYNC_ENTRY_PORT_MDIX_GET:
  25513 		rv = bcm_port_mdix_get(
  25514 			req->args.port_mdix_get.unit,
  25515 			req->args.port_mdix_get.port,
  25516 			req->args.port_mdix_get.mode);
  25517 		break;
  25518 	case BCM_ASYNC_ENTRY_PORT_MDIX_SET:
  25519 		rv = bcm_port_mdix_set(
  25520 			req->args.port_mdix_set.unit,
  25521 			req->args.port_mdix_set.port,
  25522 			req->args.port_mdix_set.mode);
  25523 		break;
  25524 	case BCM_ASYNC_ENTRY_PORT_MDIX_STATUS_GET:
  25525 		rv = bcm_port_mdix_status_get(
  25526 			req->args.port_mdix_status_get.unit,
  25527 			req->args.port_mdix_status_get.port,
  25528 			req->args.port_mdix_status_get.status);
  25529 		break;
  25530 	case BCM_ASYNC_ENTRY_PORT_MEDIUM_CONFIG_GET:
  25531 		rv = bcm_port_medium_config_get(
  25532 			req->args.port_medium_config_get.unit,
  25533 			req->args.port_medium_config_get.port,
  25534 			req->args.port_medium_config_get.medium,
  25535 			req->args.port_medium_config_get.config);
  25536 		break;
  25537 	case BCM_ASYNC_ENTRY_PORT_MEDIUM_CONFIG_SET:
  25538 		rv = bcm_port_medium_config_set(
  25539 			req->args.port_medium_config_set.unit,
  25540 			req->args.port_medium_config_set.port,
  25541 			req->args.port_medium_config_set.medium,
  25542 			req->args.port_medium_config_set.config);
  25543 		break;
  25544 	case BCM_ASYNC_ENTRY_PORT_MEDIUM_GET:
  25545 		rv = bcm_port_medium_get(
  25546 			req->args.port_medium_get.unit,
  25547 			req->args.port_medium_get.port,
  25548 			req->args.port_medium_get.medium);
  25549 		break;
  25550 	case BCM_ASYNC_ENTRY_PORT_MEDIUM_STATUS_REGISTER:
  25551 		rv = bcm_port_medium_status_register(
  25552 			req->args.port_medium_status_register.unit,
  25553 			req->args.port_medium_status_register.port,
  25554 			req->args.port_medium_status_register.callback,
  25555 			req->args.port_medium_status_register.user_data);
  25556 		break;
  25557 	case BCM_ASYNC_ENTRY_PORT_MEDIUM_STATUS_UNREGISTER:
  25558 		rv = bcm_port_medium_status_unregister(
  25559 			req->args.port_medium_status_unregister.unit,
  25560 			req->args.port_medium_status_unregister.port,
  25561 			req->args.port_medium_status_unregister.callback,
  25562 			req->args.port_medium_status_unregister.user_data);
  25563 		break;
  25564 	case BCM_ASYNC_ENTRY_PORT_MODID_EGRESS_GET:
  25565 		rv = bcm_port_modid_egress_get(
  25566 			req->args.port_modid_egress_get.unit,
  25567 			req->args.port_modid_egress_get.port,
  25568 			req->args.port_modid_egress_get.modid,
  25569 			req->args.port_modid_egress_get.pbmp);
  25570 		break;
  25571 	case BCM_ASYNC_ENTRY_PORT_MODID_EGRESS_SET:
  25572 		rv = bcm_port_modid_egress_set(
  25573 			req->args.port_modid_egress_set.unit,
  25574 			req->args.port_modid_egress_set.port,
  25575 			req->args.port_modid_egress_set.modid,
  25576 			req->args.port_modid_egress_set.pbmp);
  25577 		break;
  25578 	case BCM_ASYNC_ENTRY_PORT_MODID_ENABLE_GET:
  25579 		rv = bcm_port_modid_enable_get(
  25580 			req->args.port_modid_enable_get.unit,
  25581 			req->args.port_modid_enable_get.port,
  25582 			req->args.port_modid_enable_get.modid,
  25583 			req->args.port_modid_enable_get.enable);
  25584 		break;
  25585 	case BCM_ASYNC_ENTRY_PORT_MODID_ENABLE_SET:
  25586 		rv = bcm_port_modid_enable_set(
  25587 			req->args.port_modid_enable_set.unit,
  25588 			req->args.port_modid_enable_set.port,
  25589 			req->args.port_modid_enable_set.modid,
  25590 			req->args.port_modid_enable_set.enable);
  25591 		break;
  25592 	case BCM_ASYNC_ENTRY_PORT_NIF_PRIORITY_GET:
  25593 		rv = bcm_port_nif_priority_get(
  25594 			req->args.port_nif_priority_get.unit,
  25595 			req->args.port_nif_priority_get.local_port,
  25596 			req->args.port_nif_priority_get.flags,
  25597 			req->args.port_nif_priority_get.priority,
  25598 			req->args.port_nif_priority_get.affected_ports);
  25599 		break;
  25600 	case BCM_ASYNC_ENTRY_PORT_NIF_PRIORITY_SET:
  25601 		rv = bcm_port_nif_priority_set(
  25602 			req->args.port_nif_priority_set.unit,
  25603 			req->args.port_nif_priority_set.local_port,
  25604 			req->args.port_nif_priority_set.flags,
  25605 			req->args.port_nif_priority_set.priority,
  25606 			req->args.port_nif_priority_set.affected_ports);
  25607 		break;
  25608 	case BCM_ASYNC_ENTRY_PORT_PAUSE_ADDR_GET:
  25609 		rv = bcm_port_pause_addr_get(
  25610 			req->args.port_pause_addr_get.unit,
  25611 			req->args.port_pause_addr_get.port,
  25612 			req->args.port_pause_addr_get.mac);
  25613 		break;
  25614 	case BCM_ASYNC_ENTRY_PORT_PAUSE_ADDR_SET:
  25615 		rv = bcm_port_pause_addr_set(
  25616 			req->args.port_pause_addr_set.unit,
  25617 			req->args.port_pause_addr_set.port,
  25618 			req->args.port_pause_addr_set.mac);
  25619 		break;
  25620 	case BCM_ASYNC_ENTRY_PORT_PAUSE_GET:
  25621 		rv = bcm_port_pause_get(
  25622 			req->args.port_pause_get.unit,
  25623 			req->args.port_pause_get.port,
  25624 			req->args.port_pause_get.pause_tx,
  25625 			req->args.port_pause_get.pause_rx);
  25626 		break;
  25627 	case BCM_ASYNC_ENTRY_PORT_PAUSE_SET:
  25628 		rv = bcm_port_pause_set(
  25629 			req->args.port_pause_set.unit,
  25630 			req->args.port_pause_set.port,
  25631 			req->args.port_pause_set.pause_tx,
  25632 			req->args.port_pause_set.pause_rx);
  25633 		break;
  25634 	case BCM_ASYNC_ENTRY_PORT_PAUSE_SYM_GET:
  25635 		rv = bcm_port_pause_sym_get(
  25636 			req->args.port_pause_sym_get.unit,
  25637 			req->args.port_pause_sym_get.port,
  25638 			req->args.port_pause_sym_get.pause);
  25639 		break;
  25640 	case BCM_ASYNC_ENTRY_PORT_PAUSE_SYM_SET:
  25641 		rv = bcm_port_pause_sym_set(
  25642 			req->args.port_pause_sym_set.unit,
  25643 			req->args.port_pause_sym_set.port,
  25644 			req->args.port_pause_sym_set.pause);
  25645 		break;
  25646 	case BCM_ASYNC_ENTRY_PORT_PFM_GET:
  25647 		rv = bcm_port_pfm_get(
  25648 			req->args.port_pfm_get.unit,
  25649 			req->args.port_pfm_get.port,
  25650 			req->args.port_pfm_get.mode);
  25651 		break;
  25652 	case BCM_ASYNC_ENTRY_PORT_PFM_SET:
  25653 		rv = bcm_port_pfm_set(
  25654 			req->args.port_pfm_set.unit,
  25655 			req->args.port_pfm_set.port,
  25656 			req->args.port_pfm_set.mode);
  25657 		break;
  25658 	case BCM_ASYNC_ENTRY_PORT_PHY_CONTROL_GET:
  25659 		rv = bcm_port_phy_control_get(
  25660 			req->args.port_phy_control_get.unit,
  25661 			req->args.port_phy_control_get.port,
  25662 			req->args.port_phy_control_get.type,
  25663 			req->args.port_phy_control_get.value);
  25664 		break;
  25665 	case BCM_ASYNC_ENTRY_PORT_PHY_CONTROL_SET:
  25666 		rv = bcm_port_phy_control_set(
  25667 			req->args.port_phy_control_set.unit,
  25668 			req->args.port_phy_control_set.port,
  25669 			req->args.port_phy_control_set.type,
  25670 			req->args.port_phy_control_set.value);
  25671 		break;
  25672 	case BCM_ASYNC_ENTRY_PORT_PHY_DRV_NAME_GET:
  25673 		rv = bcm_port_phy_drv_name_get(
  25674 			req->args.port_phy_drv_name_get.unit,
  25675 			req->args.port_phy_drv_name_get.port,
  25676 			req->args.port_phy_drv_name_get.name,
  25677 			req->args.port_phy_drv_name_get.len);
  25678 		break;
  25679 	case BCM_ASYNC_ENTRY_PORT_PHY_FIRMWARE_SET:
  25680 		rv = bcm_port_phy_firmware_set(
  25681 			req->args.port_phy_firmware_set.unit,
  25682 			req->args.port_phy_firmware_set.port,
  25683 			req->args.port_phy_firmware_set.flags,
  25684 			req->args.port_phy_firmware_set.offset,
  25685 			req->args.port_phy_firmware_set.array,
  25686 			req->args.port_phy_firmware_set.length);
  25687 		break;
  25688 	case BCM_ASYNC_ENTRY_PORT_PHY_GET:
  25689 		rv = bcm_port_phy_get(
  25690 			req->args.port_phy_get.unit,
  25691 			req->args.port_phy_get.port,
  25692 			req->args.port_phy_get.flags,
  25693 			req->args.port_phy_get.phy_reg_addr,
  25694 			req->args.port_phy_get.phy_data);
  25695 		break;
  25696 	case BCM_ASYNC_ENTRY_PORT_PHY_MODIFY:
  25697 		rv = bcm_port_phy_modify(
  25698 			req->args.port_phy_modify.unit,
  25699 			req->args.port_phy_modify.port,
  25700 			req->args.port_phy_modify.flags,
  25701 			req->args.port_phy_modify.phy_reg_addr,
  25702 			req->args.port_phy_modify.phy_data,
  25703 			req->args.port_phy_modify.phy_mask);
  25704 		break;
  25705 	case BCM_ASYNC_ENTRY_PORT_PHY_MULTI_GET:
  25706 		rv = bcm_port_phy_multi_get(
  25707 			req->args.port_phy_multi_get.unit,
  25708 			req->args.port_phy_multi_get.port,
  25709 			req->args.port_phy_multi_get.flags,
  25710 			req->args.port_phy_multi_get.dev_addr,
  25711 			req->args.port_phy_multi_get.offset,
  25712 			req->args.port_phy_multi_get.max_size,
  25713 			req->args.port_phy_multi_get.data,
  25714 			req->args.port_phy_multi_get.actual_size);
  25715 		break;
  25716 	case BCM_ASYNC_ENTRY_PORT_PHY_RESET:
  25717 		rv = bcm_port_phy_reset(
  25718 			req->args.port_phy_reset.unit,
  25719 			req->args.port_phy_reset.port);
  25720 		break;
  25721 	case BCM_ASYNC_ENTRY_PORT_PHY_RESET_REGISTER:
  25722 		rv = bcm_port_phy_reset_register(
  25723 			req->args.port_phy_reset_register.unit,
  25724 			req->args.port_phy_reset_register.port,
  25725 			req->args.port_phy_reset_register.callback,
  25726 			req->args.port_phy_reset_register.user_data);
  25727 		break;
  25728 	case BCM_ASYNC_ENTRY_PORT_PHY_RESET_UNREGISTER:
  25729 		rv = bcm_port_phy_reset_unregister(
  25730 			req->args.port_phy_reset_unregister.unit,
  25731 			req->args.port_phy_reset_unregister.port,
  25732 			req->args.port_phy_reset_unregister.callback,
  25733 			req->args.port_phy_reset_unregister.user_data);
  25734 		break;
  25735 	case BCM_ASYNC_ENTRY_PORT_PHY_SET:
  25736 		rv = bcm_port_phy_set(
  25737 			req->args.port_phy_set.unit,
  25738 			req->args.port_phy_set.port,
  25739 			req->args.port_phy_set.flags,
  25740 			req->args.port_phy_set.phy_reg_addr,
  25741 			req->args.port_phy_set.phy_data);
  25742 		break;
  25743 	case BCM_ASYNC_ENTRY_PORT_PHY_TIMESYNC_CONFIG_GET:
  25744 		rv = bcm_port_phy_timesync_config_get(
  25745 			req->args.port_phy_timesync_config_get.unit,
  25746 			req->args.port_phy_timesync_config_get.port,
  25747 			req->args.port_phy_timesync_config_get.conf);
  25748 		break;
  25749 	case BCM_ASYNC_ENTRY_PORT_PHY_TIMESYNC_CONFIG_SET:
  25750 		rv = bcm_port_phy_timesync_config_set(
  25751 			req->args.port_phy_timesync_config_set.unit,
  25752 			req->args.port_phy_timesync_config_set.port,
  25753 			req->args.port_phy_timesync_config_set.conf);
  25754 		break;
  25755 	case BCM_ASYNC_ENTRY_PORT_PHY_TIMESYNC_ENHANCED_CAPTURE_GET:
  25756 		rv = bcm_port_phy_timesync_enhanced_capture_get(
  25757 			req->args.port_phy_timesync_enhanced_capture_get.unit,
  25758 			req->args.port_phy_timesync_enhanced_capture_get.port,
  25759 			req->args.port_phy_timesync_enhanced_capture_get.value);
  25760 		break;
  25761 	case BCM_ASYNC_ENTRY_PORT_PHY_TX_GET:
  25762 		rv = bcm_port_phy_tx_get(
  25763 			req->args.port_phy_tx_get.unit,
  25764 			req->args.port_phy_tx_get.port,
  25765 			req->args.port_phy_tx_get.tx);
  25766 		break;
  25767 	case BCM_ASYNC_ENTRY_PORT_PHY_TX_SET:
  25768 		rv = bcm_port_phy_tx_set(
  25769 			req->args.port_phy_tx_set.unit,
  25770 			req->args.port_phy_tx_set.port,
  25771 			req->args.port_phy_tx_set.tx);
  25772 		break;
  25773 	case BCM_ASYNC_ENTRY_PORT_POLICER_GET:
  25774 		rv = bcm_port_policer_get(
  25775 			req->args.port_policer_get.unit,
  25776 			req->args.port_policer_get.port,
  25777 			req->args.port_policer_get.policer_id);
  25778 		break;
  25779 	case BCM_ASYNC_ENTRY_PORT_POLICER_SET:
  25780 		rv = bcm_port_policer_set(
  25781 			req->args.port_policer_set.unit,
  25782 			req->args.port_policer_set.port,
  25783 			req->args.port_policer_set.policer_id);
  25784 		break;
  25785 	case BCM_ASYNC_ENTRY_PORT_PON_INFO_GET:
  25786 		rv = bcm_port_pon_info_get(
  25787 			req->args.port_pon_info_get.unit,
  25788 			req->args.port_pon_info_get.pon_port,
  25789 			req->args.port_pon_info_get.info);
  25790 		break;
  25791 	case BCM_ASYNC_ENTRY_PORT_PON_INFO_SET:
  25792 		rv = bcm_port_pon_info_set(
  25793 			req->args.port_pon_info_set.unit,
  25794 			req->args.port_pon_info_set.pon_port,
  25795 			req->args.port_pon_info_set.info);
  25796 		break;
  25797 	case BCM_ASYNC_ENTRY_PORT_PON_TUNNEL_ADD:
  25798 		rv = bcm_port_pon_tunnel_add(
  25799 			req->args.port_pon_tunnel_add.unit,
  25800 			req->args.port_pon_tunnel_add.pon_port,
  25801 			req->args.port_pon_tunnel_add.flags,
  25802 			req->args.port_pon_tunnel_add.tunnel_port_id);
  25803 		break;
  25804 	case BCM_ASYNC_ENTRY_PORT_PON_TUNNEL_MAP_GET:
  25805 		rv = bcm_port_pon_tunnel_map_get(
  25806 			req->args.port_pon_tunnel_map_get.unit,
  25807 			req->args.port_pon_tunnel_map_get.pon_port,
  25808 			req->args.port_pon_tunnel_map_get.tunnel_id,
  25809 			req->args.port_pon_tunnel_map_get.tunnel_port_id);
  25810 		break;
  25811 	case BCM_ASYNC_ENTRY_PORT_PON_TUNNEL_MAP_SET:
  25812 		rv = bcm_port_pon_tunnel_map_set(
  25813 			req->args.port_pon_tunnel_map_set.unit,
  25814 			req->args.port_pon_tunnel_map_set.pon_port,
  25815 			req->args.port_pon_tunnel_map_set.tunnel_id,
  25816 			req->args.port_pon_tunnel_map_set.tunnel_port_id);
  25817 		break;
  25818 	case BCM_ASYNC_ENTRY_PORT_PON_TUNNEL_REMOVE:
  25819 		rv = bcm_port_pon_tunnel_remove(
  25820 			req->args.port_pon_tunnel_remove.unit,
  25821 			req->args.port_pon_tunnel_remove.tunnel_port_id);
  25822 		break;
  25823 	case BCM_ASYNC_ENTRY_PORT_PREEMPTION_CONTROL_GET:
  25824 		rv = bcm_port_preemption_control_get(
  25825 			req->args.port_preemption_control_get.unit,
  25826 			req->args.port_preemption_control_get.gport,
  25827 			req->args.port_preemption_control_get.type,
  25828 			req->args.port_preemption_control_get.arg);
  25829 		break;
  25830 	case BCM_ASYNC_ENTRY_PORT_PREEMPTION_CONTROL_SET:
  25831 		rv = bcm_port_preemption_control_set(
  25832 			req->args.port_preemption_control_set.unit,
  25833 			req->args.port_preemption_control_set.gport,
  25834 			req->args.port_preemption_control_set.type,
  25835 			req->args.port_preemption_control_set.arg);
  25836 		break;
  25837 	case BCM_ASYNC_ENTRY_PORT_PREEMPTION_STATUS_GET:
  25838 		rv = bcm_port_preemption_status_get(
  25839 			req->args.port_preemption_status_get.unit,
  25840 			req->args.port_preemption_status_get.gport,
  25841 			req->args.port_preemption_status_get.type,
  25842 			req->args.port_preemption_status_get.status);
  25843 		break;
  25844 	case BCM_ASYNC_ENTRY_PORT_PRIORITY_COLOR_GET:
  25845 		rv = bcm_port_priority_color_get(
  25846 			req->args.port_priority_color_get.unit,
  25847 			req->args.port_priority_color_get.port,
  25848 			req->args.port_priority_color_get.prio,
  25849 			req->args.port_priority_color_get.color);
  25850 		break;
  25851 	case BCM_ASYNC_ENTRY_PORT_PRIORITY_COLOR_SET:
  25852 		rv = bcm_port_priority_color_set(
  25853 			req->args.port_priority_color_set.unit,
  25854 			req->args.port_priority_color_set.port,
  25855 			req->args.port_priority_color_set.prio,
  25856 			req->args.port_priority_color_set.color);
  25857 		break;
  25858 	case BCM_ASYNC_ENTRY_PORT_PRIORITY_CONFIG_GET:
  25859 		rv = bcm_port_priority_config_get(
  25860 			req->args.port_priority_config_get.unit,
  25861 			req->args.port_priority_config_get.port,
  25862 			req->args.port_priority_config_get.priority_config);
  25863 		break;
  25864 	case BCM_ASYNC_ENTRY_PORT_PRIORITY_CONFIG_SET:
  25865 		rv = bcm_port_priority_config_set(
  25866 			req->args.port_priority_config_set.unit,
  25867 			req->args.port_priority_config_set.port,
  25868 			req->args.port_priority_config_set.port_priority_config);
  25869 		break;
  25870 	case BCM_ASYNC_ENTRY_PORT_PRIORITY_GROUP_CONFIG_GET:
  25871 		rv = bcm_port_priority_group_config_get(
  25872 			req->args.port_priority_group_config_get.unit,
  25873 			req->args.port_priority_group_config_get.gport,
  25874 			req->args.port_priority_group_config_get.priority_group,
  25875 			req->args.port_priority_group_config_get.prigrp_config);
  25876 		break;
  25877 	case BCM_ASYNC_ENTRY_PORT_PRIORITY_GROUP_CONFIG_SET:
  25878 		rv = bcm_port_priority_group_config_set(
  25879 			req->args.port_priority_group_config_set.unit,
  25880 			req->args.port_priority_group_config_set.gport,
  25881 			req->args.port_priority_group_config_set.priority_group,
  25882 			req->args.port_priority_group_config_set.prigrp_config);
  25883 		break;
  25884 	case BCM_ASYNC_ENTRY_PORT_PRIORITY_GROUP_MAPPING_GET:
  25885 		rv = bcm_port_priority_group_mapping_get(
  25886 			req->args.port_priority_group_mapping_get.unit,
  25887 			req->args.port_priority_group_mapping_get.gport,
  25888 			req->args.port_priority_group_mapping_get.prio,
  25889 			req->args.port_priority_group_mapping_get.priority_group);
  25890 		break;
  25891 	case BCM_ASYNC_ENTRY_PORT_PRIORITY_GROUP_MAPPING_SET:
  25892 		rv = bcm_port_priority_group_mapping_set(
  25893 			req->args.port_priority_group_mapping_set.unit,
  25894 			req->args.port_priority_group_mapping_set.gport,
  25895 			req->args.port_priority_group_mapping_set.prio,
  25896 			req->args.port_priority_group_mapping_set.priority_group);
  25897 		break;
  25898 	case BCM_ASYNC_ENTRY_PORT_PROBE:
  25899 		rv = bcm_port_probe(
  25900 			req->args.port_probe.unit,
  25901 			req->args.port_probe.pbmp,
  25902 			req->args.port_probe.okay_pbmp);
  25903 		break;
  25904 	case BCM_ASYNC_ENTRY_PORT_PROTOCOL_VLAN_ADD:
  25905 		rv = bcm_port_protocol_vlan_add(
  25906 			req->args.port_protocol_vlan_add.unit,
  25907 			req->args.port_protocol_vlan_add.port,
  25908 			req->args.port_protocol_vlan_add.frame,
  25909 			req->args.port_protocol_vlan_add.ether,
  25910 			req->args.port_protocol_vlan_add.vid);
  25911 		break;
  25912 	case BCM_ASYNC_ENTRY_PORT_PROTOCOL_VLAN_DELETE:
  25913 		rv = bcm_port_protocol_vlan_delete(
  25914 			req->args.port_protocol_vlan_delete.unit,
  25915 			req->args.port_protocol_vlan_delete.port,
  25916 			req->args.port_protocol_vlan_delete.frame,
  25917 			req->args.port_protocol_vlan_delete.ether);
  25918 		break;
  25919 	case BCM_ASYNC_ENTRY_PORT_PROTOCOL_VLAN_DELETE_ALL:
  25920 		rv = bcm_port_protocol_vlan_delete_all(
  25921 			req->args.port_protocol_vlan_delete_all.unit,
  25922 			req->args.port_protocol_vlan_delete_all.port);
  25923 		break;
  25924 	case BCM_ASYNC_ENTRY_PORT_QUEUED_COUNT_GET:
  25925 		rv = bcm_port_queued_count_get(
  25926 			req->args.port_queued_count_get.unit,
  25927 			req->args.port_queued_count_get.port,
  25928 			req->args.port_queued_count_get.count);
  25929 		break;
  25930 	case BCM_ASYNC_ENTRY_PORT_RATE_EGRESS_GET:
  25931 		rv = bcm_port_rate_egress_get(
  25932 			req->args.port_rate_egress_get.unit,
  25933 			req->args.port_rate_egress_get.port,
  25934 			req->args.port_rate_egress_get.kbits_sec,
  25935 			req->args.port_rate_egress_get.kbits_burst);
  25936 		break;
  25937 	case BCM_ASYNC_ENTRY_PORT_RATE_EGRESS_PPS_GET:
  25938 		rv = bcm_port_rate_egress_pps_get(
  25939 			req->args.port_rate_egress_pps_get.unit,
  25940 			req->args.port_rate_egress_pps_get.port,
  25941 			req->args.port_rate_egress_pps_get.pps,
  25942 			req->args.port_rate_egress_pps_get.burst);
  25943 		break;
  25944 	case BCM_ASYNC_ENTRY_PORT_RATE_EGRESS_PPS_SET:
  25945 		rv = bcm_port_rate_egress_pps_set(
  25946 			req->args.port_rate_egress_pps_set.unit,
  25947 			req->args.port_rate_egress_pps_set.port,
  25948 			req->args.port_rate_egress_pps_set.pps,
  25949 			req->args.port_rate_egress_pps_set.burst);
  25950 		break;
  25951 	case BCM_ASYNC_ENTRY_PORT_RATE_EGRESS_SET:
  25952 		rv = bcm_port_rate_egress_set(
  25953 			req->args.port_rate_egress_set.unit,
  25954 			req->args.port_rate_egress_set.port,
  25955 			req->args.port_rate_egress_set.kbits_sec,
  25956 			req->args.port_rate_egress_set.kbits_burst);
  25957 		break;
  25958 	case BCM_ASYNC_ENTRY_PORT_RATE_INGRESS_GET:
  25959 		rv = bcm_port_rate_ingress_get(
  25960 			req->args.port_rate_ingress_get.unit,
  25961 			req->args.port_rate_ingress_get.port,
  25962 			req->args.port_rate_ingress_get.kbits_sec,
  25963 			req->args.port_rate_ingress_get.kbits_burst);
  25964 		break;
  25965 	case BCM_ASYNC_ENTRY_PORT_RATE_INGRESS_SET:
  25966 		rv = bcm_port_rate_ingress_set(
  25967 			req->args.port_rate_ingress_set.unit,
  25968 			req->args.port_rate_ingress_set.port,
  25969 			req->args.port_rate_ingress_set.kbits_sec,
  25970 			req->args.port_rate_ingress_set.kbits_burst);
  25971 		break;
  25972 	case BCM_ASYNC_ENTRY_PORT_RATE_PAUSE_GET:
  25973 		rv = bcm_port_rate_pause_get(
  25974 			req->args.port_rate_pause_get.unit,
  25975 			req->args.port_rate_pause_get.port,
  25976 			req->args.port_rate_pause_get.kbits_pause,
  25977 			req->args.port_rate_pause_get.kbits_resume);
  25978 		break;
  25979 	case BCM_ASYNC_ENTRY_PORT_RATE_PAUSE_SET:
  25980 		rv = bcm_port_rate_pause_set(
  25981 			req->args.port_rate_pause_set.unit,
  25982 			req->args.port_rate_pause_set.port,
  25983 			req->args.port_rate_pause_set.kbits_pause,
  25984 			req->args.port_rate_pause_set.kbits_resume);
  25985 		break;
  25986 	case BCM_ASYNC_ENTRY_PORT_REDIRECT_CONFIG_GET:
  25987 		rv = bcm_port_redirect_config_get(
  25988 			req->args.port_redirect_config_get.unit,
  25989 			req->args.port_redirect_config_get.gport,
  25990 			req->args.port_redirect_config_get.redirect_config);
  25991 		break;
  25992 	case BCM_ASYNC_ENTRY_PORT_REDIRECT_CONFIG_SET:
  25993 		rv = bcm_port_redirect_config_set(
  25994 			req->args.port_redirect_config_set.unit,
  25995 			req->args.port_redirect_config_set.port,
  25996 			req->args.port_redirect_config_set.redirect_config);
  25997 		break;
  25998 	case BCM_ASYNC_ENTRY_PORT_REMOVE:
  25999 		rv = bcm_port_remove(
  26000 			req->args.port_remove.unit,
  26001 			req->args.port_remove.port,
  26002 			req->args.port_remove.flags);
  26003 		break;
  26004 	case BCM_ASYNC_ENTRY_PORT_RESOURCE_DEFAULT_GET:
  26005 		rv = bcm_port_resource_default_get(
  26006 			req->args.port_resource_default_get.unit,
  26007 			req->args.port_resource_default_get.port,
  26008 			req->args.port_resource_default_get.flags,
  26009 			req->args.port_resource_default_get.resource);
  26010 		break;
  26011 	case BCM_ASYNC_ENTRY_PORT_RESOURCE_GET:
  26012 		rv = bcm_port_resource_get(
  26013 			req->args.port_resource_get.unit,
  26014 			req->args.port_resource_get.port,
  26015 			req->args.port_resource_get.resource);
  26016 		break;
  26017 	case BCM_ASYNC_ENTRY_PORT_RESOURCE_MULTI_SET:
  26018 		rv = bcm_port_resource_multi_set(
  26019 			req->args.port_resource_multi_set.unit,
  26020 			req->args.port_resource_multi_set.nport,
  26021 			req->args.port_resource_multi_set.resource);
  26022 		break;
  26023 	case BCM_ASYNC_ENTRY_PORT_RESOURCE_SET:
  26024 		rv = bcm_port_resource_set(
  26025 			req->args.port_resource_set.unit,
  26026 			req->args.port_resource_set.port,
  26027 			req->args.port_resource_set.resource);
  26028 		break;
  26029 	case BCM_ASYNC_ENTRY_PORT_RESOURCE_SPEED_CONFIG_VALIDATE:
  26030 		rv = bcm_port_resource_speed_config_validate(
  26031 			req->args.port_resource_speed_config_validate.unit,
  26032 			req->args.port_resource_speed_config_validate.resource,
  26033 			req->args.port_resource_speed_config_validate.pbmp);
  26034 		break;
  26035 	case BCM_ASYNC_ENTRY_PORT_RESOURCE_SPEED_GET:
  26036 		rv = bcm_port_resource_speed_get(
  26037 			req->args.port_resource_speed_get.unit,
  26038 			req->args.port_resource_speed_get.port,
  26039 			req->args.port_resource_speed_get.resource);
  26040 		break;
  26041 	case BCM_ASYNC_ENTRY_PORT_RESOURCE_SPEED_MULTI_SET:
  26042 		rv = bcm_port_resource_speed_multi_set(
  26043 			req->args.port_resource_speed_multi_set.unit,
  26044 			req->args.port_resource_speed_multi_set.nport,
  26045 			req->args.port_resource_speed_multi_set.resource);
  26046 		break;
  26047 	case BCM_ASYNC_ENTRY_PORT_RESOURCE_SPEED_SET:
  26048 		rv = bcm_port_resource_speed_set(
  26049 			req->args.port_resource_speed_set.unit,
  26050 			req->args.port_resource_speed_set.port,
  26051 			req->args.port_resource_speed_set.resource);
  26052 		break;
  26053 	case BCM_ASYNC_ENTRY_PORT_RESOURCE_TRAVERSE:
  26054 		rv = bcm_port_resource_traverse(
  26055 			req->args.port_resource_traverse.unit,
  26056 			req->args.port_resource_traverse.trav_fn,
  26057 			req->args.port_resource_traverse.user_data);
  26058 		break;
  26059 	case BCM_ASYNC_ENTRY_PORT_RLM_CONFIG_GET:
  26060 		rv = bcm_port_rlm_config_get(
  26061 			req->args.port_rlm_config_get.unit,
  26062 			req->args.port_rlm_config_get.port,
  26063 			req->args.port_rlm_config_get.rlm_config,
  26064 			req->args.port_rlm_config_get.enable);
  26065 		break;
  26066 	case BCM_ASYNC_ENTRY_PORT_RLM_CONFIG_SET:
  26067 		rv = bcm_port_rlm_config_set(
  26068 			req->args.port_rlm_config_set.unit,
  26069 			req->args.port_rlm_config_set.port,
  26070 			req->args.port_rlm_config_set.rlm_config,
  26071 			req->args.port_rlm_config_set.enable);
  26072 		break;
  26073 	case BCM_ASYNC_ENTRY_PORT_RLM_STATUS_GET:
  26074 		rv = bcm_port_rlm_status_get(
  26075 			req->args.port_rlm_status_get.unit,
  26076 			req->args.port_rlm_status_get.port,
  26077 			req->args.port_rlm_status_get.rlm_status);
  26078 		break;
  26079 	case BCM_ASYNC_ENTRY_PORT_SAMPLE_RATE_GET:
  26080 		rv = bcm_port_sample_rate_get(
  26081 			req->args.port_sample_rate_get.unit,
  26082 			req->args.port_sample_rate_get.port,
  26083 			req->args.port_sample_rate_get.ingress_rate,
  26084 			req->args.port_sample_rate_get.egress_rate);
  26085 		break;
  26086 	case BCM_ASYNC_ENTRY_PORT_SAMPLE_RATE_SET:
  26087 		rv = bcm_port_sample_rate_set(
  26088 			req->args.port_sample_rate_set.unit,
  26089 			req->args.port_sample_rate_set.port,
  26090 			req->args.port_sample_rate_set.ingress_rate,
  26091 			req->args.port_sample_rate_set.egress_rate);
  26092 		break;
  26093 	case BCM_ASYNC_ENTRY_PORT_SELECTIVE_GET:
  26094 		rv = bcm_port_selective_get(
  26095 			req->args.port_selective_get.unit,
  26096 			req->args.port_selective_get.port,
  26097 			req->args.port_selective_get.info);
  26098 		break;
  26099 	case BCM_ASYNC_ENTRY_PORT_SELECTIVE_SET:
  26100 		rv = bcm_port_selective_set(
  26101 			req->args.port_selective_set.unit,
  26102 			req->args.port_selective_set.port,
  26103 			req->args.port_selective_set.info);
  26104 		break;
  26105 	case BCM_ASYNC_ENTRY_PORT_SPEED_ABILITY_LOCAL_GET:
  26106 		rv = bcm_port_speed_ability_local_get(
  26107 			req->args.port_speed_ability_local_get.unit,
  26108 			req->args.port_speed_ability_local_get.port,
  26109 			req->args.port_speed_ability_local_get.max_num_ability,
  26110 			req->args.port_speed_ability_local_get.abilities_array,
  26111 			req->args.port_speed_ability_local_get.actual_num_ability);
  26112 		break;
  26113 	case BCM_ASYNC_ENTRY_PORT_SPEED_GET:
  26114 		rv = bcm_port_speed_get(
  26115 			req->args.port_speed_get.unit,
  26116 			req->args.port_speed_get.port,
  26117 			req->args.port_speed_get.speed);
  26118 		break;
  26119 	case BCM_ASYNC_ENTRY_PORT_SPEED_MAX:
  26120 		rv = bcm_port_speed_max(
  26121 			req->args.port_speed_max.unit,
  26122 			req->args.port_speed_max.port,
  26123 			req->args.port_speed_max.speed);
  26124 		break;
  26125 	case BCM_ASYNC_ENTRY_PORT_SPEED_SET:
  26126 		rv = bcm_port_speed_set(
  26127 			req->args.port_speed_set.unit,
  26128 			req->args.port_speed_set.port,
  26129 			req->args.port_speed_set.speed);
  26130 		break;
  26131 	case BCM_ASYNC_ENTRY_PORT_STAT_ATTACH:
  26132 		rv = bcm_port_stat_attach(
  26133 			req->args.port_stat_attach.unit,
  26134 			req->args.port_stat_attach.port,
  26135 			req->args.port_stat_attach.stat_counter_id);
  26136 		break;
  26137 	case BCM_ASYNC_ENTRY_PORT_STAT_COUNTER_GET:
  26138 		rv = bcm_port_stat_counter_get(
  26139 			req->args.port_stat_counter_get.unit,
  26140 			req->args.port_stat_counter_get.port,
  26141 			req->args.port_stat_counter_get.stat,
  26142 			req->args.port_stat_counter_get.num_entries,
  26143 			req->args.port_stat_counter_get.counter_indexes,
  26144 			req->args.port_stat_counter_get.counter_values);
  26145 		break;
  26146 	case BCM_ASYNC_ENTRY_PORT_STAT_COUNTER_SET:
  26147 		rv = bcm_port_stat_counter_set(
  26148 			req->args.port_stat_counter_set.unit,
  26149 			req->args.port_stat_counter_set.port,
  26150 			req->args.port_stat_counter_set.stat,
  26151 			req->args.port_stat_counter_set.num_entries,
  26152 			req->args.port_stat_counter_set.counter_indexes,
  26153 			req->args.port_stat_counter_set.counter_values);
  26154 		break;
  26155 	case BCM_ASYNC_ENTRY_PORT_STAT_COUNTER_SYNC_GET:
  26156 		rv = bcm_port_stat_counter_sync_get(
  26157 			req->args.port_stat_counter_sync_get.unit,
  26158 			req->args.port_stat_counter_sync_get.port,
  26159 			req->args.port_stat_counter_sync_get.stat,
  26160 			req->args.port_stat_counter_sync_get.num_entries,
  26161 			req->args.port_stat_counter_sync_get.counter_indexes,
  26162 			req->args.port_stat_counter_sync_get.counter_values);
  26163 		break;
  26164 	case BCM_ASYNC_ENTRY_PORT_STAT_DETACH:
  26165 		rv = bcm_port_stat_detach(
  26166 			req->args.port_stat_detach.unit,
  26167 			req->args.port_stat_detach.port);
  26168 		break;
  26169 	case BCM_ASYNC_ENTRY_PORT_STAT_DETACH_WITH_ID:
  26170 		rv = bcm_port_stat_detach_with_id(
  26171 			req->args.port_stat_detach_with_id.unit,
  26172 			req->args.port_stat_detach_with_id.port,
  26173 			req->args.port_stat_detach_with_id.stat_counter_id);
  26174 		break;
  26175 	case BCM_ASYNC_ENTRY_PORT_STAT_ENABLE_SET:
  26176 		rv = bcm_port_stat_enable_set(
  26177 			req->args.port_stat_enable_set.unit,
  26178 			req->args.port_stat_enable_set.port,
  26179 			req->args.port_stat_enable_set.enable);
  26180 		break;
  26181 	case BCM_ASYNC_ENTRY_PORT_STAT_GET:
  26182 		rv = bcm_port_stat_get(
  26183 			req->args.port_stat_get.unit,
  26184 			req->args.port_stat_get.port,
  26185 			req->args.port_stat_get.stat,
  26186 			req->args.port_stat_get.val);
  26187 		break;
  26188 	case BCM_ASYNC_ENTRY_PORT_STAT_GET32:
  26189 		rv = bcm_port_stat_get32(
  26190 			req->args.port_stat_get32.unit,
  26191 			req->args.port_stat_get32.port,
  26192 			req->args.port_stat_get32.stat,
  26193 			req->args.port_stat_get32.val);
  26194 		break;
  26195 	case BCM_ASYNC_ENTRY_PORT_STAT_ID_GET:
  26196 		rv = bcm_port_stat_id_get(
  26197 			req->args.port_stat_id_get.unit,
  26198 			req->args.port_stat_id_get.port,
  26199 			req->args.port_stat_id_get.stat,
  26200 			req->args.port_stat_id_get.stat_counter_id);
  26201 		break;
  26202 	case BCM_ASYNC_ENTRY_PORT_STAT_MULTI_GET:
  26203 		rv = bcm_port_stat_multi_get(
  26204 			req->args.port_stat_multi_get.unit,
  26205 			req->args.port_stat_multi_get.port,
  26206 			req->args.port_stat_multi_get.nstat,
  26207 			req->args.port_stat_multi_get.stat_arr,
  26208 			req->args.port_stat_multi_get.value_arr);
  26209 		break;
  26210 	case BCM_ASYNC_ENTRY_PORT_STAT_MULTI_GET32:
  26211 		rv = bcm_port_stat_multi_get32(
  26212 			req->args.port_stat_multi_get32.unit,
  26213 			req->args.port_stat_multi_get32.port,
  26214 			req->args.port_stat_multi_get32.nstat,
  26215 			req->args.port_stat_multi_get32.stat_arr,
  26216 			req->args.port_stat_multi_get32.value_arr);
  26217 		break;
  26218 	case BCM_ASYNC_ENTRY_PORT_STAT_MULTI_SET:
  26219 		rv = bcm_port_stat_multi_set(
  26220 			req->args.port_stat_multi_set.unit,
  26221 			req->args.port_stat_multi_set.port,
  26222 			req->args.port_stat_multi_set.nstat,
  26223 			req->args.port_stat_multi_set.stat_arr,
  26224 			req->args.port_stat_multi_set.value_arr);
  26225 		break;
  26226 	case BCM_ASYNC_ENTRY_PORT_STAT_MULTI_SET32:
  26227 		rv = bcm_port_stat_multi_set32(
  26228 			req->args.port_stat_multi_set32.unit,
  26229 			req->args.port_stat_multi_set32.port,
  26230 			req->args.port_stat_multi_set32.nstat,
  26231 			req->args.port_stat_multi_set32.stat_arr,
  26232 			req->args.port_stat_multi_set32.value_arr);
  26233 		break;
  26234 	case BCM_ASYNC_ENTRY_PORT_STAT_SET:
  26235 		rv = bcm_port_stat_set(
  26236 			req->args.port_stat_set.unit,
  26237 			req->args.port_stat_set.port,
  26238 			req->args.port_stat_set.stat,
  26239 			req->args.port_stat_set.val);
  26240 		break;
  26241 	case BCM_ASYNC_ENTRY_PORT_STAT_SET32:
  26242 		rv = bcm_port_stat_set32(
  26243 			req->args.port_stat_set32.unit,
  26244 			req->args.port_stat_set32.port,
  26245 			req->args.port_stat_set32.stat,
  26246 			req->args.port_stat_set32.val);
  26247 		break;
  26248 	case BCM_ASYNC_ENTRY_PORT_STAT_SYNC_GET:
  26249 		rv = bcm_port_stat_sync_get(
  26250 			req->args.port_stat_sync_get.unit,
  26251 			req->args.port_stat_sync_get.port,
  26252 			req->args.port_stat_sync_get.stat,
  26253 			req->args.port_stat_sync_get.val);
  26254 		break;
  26255 	case BCM_ASYNC_ENTRY_PORT_STAT_SYNC_GET32:
  26256 		rv = bcm_port_stat_sync_get32(
  26257 			req->args.port_stat_sync_get32.unit,
  26258 			req->args.port_stat_sync_get32.port,
  26259 			req->args.port_stat_sync_get32.stat,
  26260 			req->args.port_stat_sync_get32.val);
  26261 		break;
  26262 	case BCM_ASYNC_ENTRY_PORT_STP_GET:
  26263 		rv = bcm_port_stp_get(
  26264 			req->args.port_stp_get.unit,
  26265 			req->args.port_stp_get.port,
  26266 			req->args.port_stp_get.state);
  26267 		break;
  26268 	case BCM_ASYNC_ENTRY_PORT_STP_SET:
  26269 		rv = bcm_port_stp_set(
  26270 			req->args.port_stp_set.unit,
  26271 			req->args.port_stp_set.port,
  26272 			req->args.port_stp_set.state);
  26273 		break;
  26274 	case BCM_ASYNC_ENTRY_PORT_SUBSIDIARY_PORTS_GET:
  26275 		rv = bcm_port_subsidiary_ports_get(
  26276 			req->args.port_subsidiary_ports_get.unit,
  26277 			req->args.port_subsidiary_ports_get.port,
  26278 			req->args.port_subsidiary_ports_get.pbmp);
  26279 		break;
  26280 	case BCM_ASYNC_ENTRY_PORT_TGID_GET:
  26281 		rv = bcm_port_tgid_get(
  26282 			req->args.port_tgid_get.unit,
  26283 			req->args.port_tgid_get.port,
  26284 			req->args.port_tgid_get.tgid,
  26285 			req->args.port_tgid_get.psc);
  26286 		break;
  26287 	case BCM_ASYNC_ENTRY_PORT_TGID_SET:
  26288 		rv = bcm_port_tgid_set(
  26289 			req->args.port_tgid_set.unit,
  26290 			req->args.port_tgid_set.port,
  26291 			req->args.port_tgid_set.tgid,
  26292 			req->args.port_tgid_set.psc);
  26293 		break;
  26294 	case BCM_ASYNC_ENTRY_PORT_TIMESTAMP_ADJUST_GET:
  26295 		rv = bcm_port_timestamp_adjust_get(
  26296 			req->args.port_timestamp_adjust_get.unit,
  26297 			req->args.port_timestamp_adjust_get.port,
  26298 			req->args.port_timestamp_adjust_get.ts_adjust);
  26299 		break;
  26300 	case BCM_ASYNC_ENTRY_PORT_TIMESTAMP_ADJUST_SET:
  26301 		rv = bcm_port_timestamp_adjust_set(
  26302 			req->args.port_timestamp_adjust_set.unit,
  26303 			req->args.port_timestamp_adjust_set.port,
  26304 			req->args.port_timestamp_adjust_set.ts_adjust);
  26305 		break;
  26306 	case BCM_ASYNC_ENTRY_PORT_TIMESYNC_CONFIG_GET:
  26307 		rv = bcm_port_timesync_config_get(
  26308 			req->args.port_timesync_config_get.unit,
  26309 			req->args.port_timesync_config_get.port,
  26310 			req->args.port_timesync_config_get.array_size,
  26311 			req->args.port_timesync_config_get.config_array,
  26312 			req->args.port_timesync_config_get.array_count);
  26313 		break;
  26314 	case BCM_ASYNC_ENTRY_PORT_TIMESYNC_CONFIG_SET:
  26315 		rv = bcm_port_timesync_config_set(
  26316 			req->args.port_timesync_config_set.unit,
  26317 			req->args.port_timesync_config_set.port,
  26318 			req->args.port_timesync_config_set.config_count,
  26319 			req->args.port_timesync_config_set.config_array);
  26320 		break;
  26321 	case BCM_ASYNC_ENTRY_PORT_TIMESYNC_TX_INFO_GET:
  26322 		rv = bcm_port_timesync_tx_info_get(
  26323 			req->args.port_timesync_tx_info_get.unit,
  26324 			req->args.port_timesync_tx_info_get.port,
  26325 			req->args.port_timesync_tx_info_get.tx_info);
  26326 		break;
  26327 	case BCM_ASYNC_ENTRY_PORT_TPID_ADD:
  26328 		rv = bcm_port_tpid_add(
  26329 			req->args.port_tpid_add.unit,
  26330 			req->args.port_tpid_add.port,
  26331 			req->args.port_tpid_add.tpid,
  26332 			req->args.port_tpid_add.color_select);
  26333 		break;
  26334 	case BCM_ASYNC_ENTRY_PORT_TPID_CLASS_CREATE:
  26335 		rv = bcm_port_tpid_class_create(
  26336 			req->args.port_tpid_class_create.unit,
  26337 			req->args.port_tpid_class_create.flags,
  26338 			req->args.port_tpid_class_create.tag_struct_type,
  26339 			req->args.port_tpid_class_create.tag_format_class_id);
  26340 		break;
  26341 	case BCM_ASYNC_ENTRY_PORT_TPID_CLASS_DESTROY:
  26342 		rv = bcm_port_tpid_class_destroy(
  26343 			req->args.port_tpid_class_destroy.unit,
  26344 			req->args.port_tpid_class_destroy.flags,
  26345 			req->args.port_tpid_class_destroy.tag_format_class_id);
  26346 		break;
  26347 	case BCM_ASYNC_ENTRY_PORT_TPID_CLASS_GET:
  26348 		rv = bcm_port_tpid_class_get(
  26349 			req->args.port_tpid_class_get.unit,
  26350 			req->args.port_tpid_class_get.tpid_class);
  26351 		break;
  26352 	case BCM_ASYNC_ENTRY_PORT_TPID_CLASS_SET:
  26353 		rv = bcm_port_tpid_class_set(
  26354 			req->args.port_tpid_class_set.unit,
  26355 			req->args.port_tpid_class_set.tpid_class);
  26356 		break;
  26357 	case BCM_ASYNC_ENTRY_PORT_TPID_DELETE:
  26358 		rv = bcm_port_tpid_delete(
  26359 			req->args.port_tpid_delete.unit,
  26360 			req->args.port_tpid_delete.port,
  26361 			req->args.port_tpid_delete.tpid);
  26362 		break;
  26363 	case BCM_ASYNC_ENTRY_PORT_TPID_DELETE_ALL:
  26364 		rv = bcm_port_tpid_delete_all(
  26365 			req->args.port_tpid_delete_all.unit,
  26366 			req->args.port_tpid_delete_all.port);
  26367 		break;
  26368 	case BCM_ASYNC_ENTRY_PORT_TPID_GET:
  26369 		rv = bcm_port_tpid_get(
  26370 			req->args.port_tpid_get.unit,
  26371 			req->args.port_tpid_get.port,
  26372 			req->args.port_tpid_get.tpid);
  26373 		break;
  26374 	case BCM_ASYNC_ENTRY_PORT_TPID_GET_ALL:
  26375 		rv = bcm_port_tpid_get_all(
  26376 			req->args.port_tpid_get_all.unit,
  26377 			req->args.port_tpid_get_all.port,
  26378 			req->args.port_tpid_get_all.size,
  26379 			req->args.port_tpid_get_all.tpid_array,
  26380 			req->args.port_tpid_get_all.color_array,
  26381 			req->args.port_tpid_get_all.count);
  26382 		break;
  26383 	case BCM_ASYNC_ENTRY_PORT_TPID_SET:
  26384 		rv = bcm_port_tpid_set(
  26385 			req->args.port_tpid_set.unit,
  26386 			req->args.port_tpid_set.port,
  26387 			req->args.port_tpid_set.tpid);
  26388 		break;
  26389 	case BCM_ASYNC_ENTRY_PORT_TRUNK_INDEX_GET:
  26390 		rv = bcm_port_trunk_index_get(
  26391 			req->args.port_trunk_index_get.unit,
  26392 			req->args.port_trunk_index_get.port,
  26393 			req->args.port_trunk_index_get.port_index);
  26394 		break;
  26395 	case BCM_ASYNC_ENTRY_PORT_TRUNK_INDEX_SET:
  26396 		rv = bcm_port_trunk_index_set(
  26397 			req->args.port_trunk_index_set.unit,
  26398 			req->args.port_trunk_index_set.port,
  26399 			req->args.port_trunk_index_set.port_index);
  26400 		break;
  26401 	case BCM_ASYNC_ENTRY_PORT_UNTAGGED_PRIORITY_GET:
  26402 		rv = bcm_port_untagged_priority_get(
  26403 			req->args.port_untagged_priority_get.unit,
  26404 			req->args.port_untagged_priority_get.port,
  26405 			req->args.port_untagged_priority_get.priority);
  26406 		break;
  26407 	case BCM_ASYNC_ENTRY_PORT_UNTAGGED_PRIORITY_SET:
  26408 		rv = bcm_port_untagged_priority_set(
  26409 			req->args.port_untagged_priority_set.unit,
  26410 			req->args.port_untagged_priority_set.port,
  26411 			req->args.port_untagged_priority_set.priority);
  26412 		break;
  26413 	case BCM_ASYNC_ENTRY_PORT_UNTAGGED_VLAN_GET:
  26414 		rv = bcm_port_untagged_vlan_get(
  26415 			req->args.port_untagged_vlan_get.unit,
  26416 			req->args.port_untagged_vlan_get.port,
  26417 			req->args.port_untagged_vlan_get.vid_ptr);
  26418 		break;
  26419 	case BCM_ASYNC_ENTRY_PORT_UNTAGGED_VLAN_SET:
  26420 		rv = bcm_port_untagged_vlan_set(
  26421 			req->args.port_untagged_vlan_set.unit,
  26422 			req->args.port_untagged_vlan_set.port,
  26423 			req->args.port_untagged_vlan_set.vid);
  26424 		break;
  26425 	case BCM_ASYNC_ENTRY_PORT_UPDATE:
  26426 		rv = bcm_port_update(
  26427 			req->args.port_update.unit,
  26428 			req->args.port_update.port,
  26429 			req->args.port_update.link);
  26430 		break;
  26431 	case BCM_ASYNC_ENTRY_PORT_VLAN_DSCP_MAP_GET:
  26432 		rv = bcm_port_vlan_dscp_map_get(
  26433 			req->args.port_vlan_dscp_map_get.unit,
  26434 			req->args.port_vlan_dscp_map_get.port,
  26435 			req->args.port_vlan_dscp_map_get.vlan,
  26436 			req->args.port_vlan_dscp_map_get.dscp,
  26437 			req->args.port_vlan_dscp_map_get.internal_pri,
  26438 			req->args.port_vlan_dscp_map_get.color);
  26439 		break;
  26440 	case BCM_ASYNC_ENTRY_PORT_VLAN_DSCP_MAP_SET:
  26441 		rv = bcm_port_vlan_dscp_map_set(
  26442 			req->args.port_vlan_dscp_map_set.unit,
  26443 			req->args.port_vlan_dscp_map_set.port,
  26444 			req->args.port_vlan_dscp_map_set.vlan,
  26445 			req->args.port_vlan_dscp_map_set.dscp,
  26446 			req->args.port_vlan_dscp_map_set.internal_pri,
  26447 			req->args.port_vlan_dscp_map_set.color);
  26448 		break;
  26449 	case BCM_ASYNC_ENTRY_PORT_VLAN_INNER_TAG_GET:
  26450 		rv = bcm_port_vlan_inner_tag_get(
  26451 			req->args.port_vlan_inner_tag_get.unit,
  26452 			req->args.port_vlan_inner_tag_get.port,
  26453 			req->args.port_vlan_inner_tag_get.inner_tag);
  26454 		break;
  26455 	case BCM_ASYNC_ENTRY_PORT_VLAN_INNER_TAG_SET:
  26456 		rv = bcm_port_vlan_inner_tag_set(
  26457 			req->args.port_vlan_inner_tag_set.unit,
  26458 			req->args.port_vlan_inner_tag_set.port,
  26459 			req->args.port_vlan_inner_tag_set.inner_tag);
  26460 		break;
  26461 	case BCM_ASYNC_ENTRY_PORT_VLAN_MEMBER_GET:
  26462 		rv = bcm_port_vlan_member_get(
  26463 			req->args.port_vlan_member_get.unit,
  26464 			req->args.port_vlan_member_get.port,
  26465 			req->args.port_vlan_member_get.flags);
  26466 		break;
  26467 	case BCM_ASYNC_ENTRY_PORT_VLAN_MEMBER_SET:
  26468 		rv = bcm_port_vlan_member_set(
  26469 			req->args.port_vlan_member_set.unit,
  26470 			req->args.port_vlan_member_set.port,
  26471 			req->args.port_vlan_member_set.flags);
  26472 		break;
  26473 	case BCM_ASYNC_ENTRY_PORT_VLAN_PRI_MAP_GET:
  26474 		rv = bcm_port_vlan_pri_map_get(
  26475 			req->args.port_vlan_pri_map_get.unit,
  26476 			req->args.port_vlan_pri_map_get.port,
  26477 			req->args.port_vlan_pri_map_get.vlan,
  26478 			req->args.port_vlan_pri_map_get.pkt_pri,
  26479 			req->args.port_vlan_pri_map_get.cfi,
  26480 			req->args.port_vlan_pri_map_get.internal_pri,
  26481 			req->args.port_vlan_pri_map_get.color);
  26482 		break;
  26483 	case BCM_ASYNC_ENTRY_PORT_VLAN_PRI_MAP_SET:
  26484 		rv = bcm_port_vlan_pri_map_set(
  26485 			req->args.port_vlan_pri_map_set.unit,
  26486 			req->args.port_vlan_pri_map_set.port,
  26487 			req->args.port_vlan_pri_map_set.vlan,
  26488 			req->args.port_vlan_pri_map_set.pkt_pri,
  26489 			req->args.port_vlan_pri_map_set.cfi,
  26490 			req->args.port_vlan_pri_map_set.internal_pri,
  26491 			req->args.port_vlan_pri_map_set.color);
  26492 		break;
  26493 	case BCM_ASYNC_ENTRY_PORT_VLAN_PRIORITY_MAP_GET:
  26494 		rv = bcm_port_vlan_priority_map_get(
  26495 			req->args.port_vlan_priority_map_get.unit,
  26496 			req->args.port_vlan_priority_map_get.port,
  26497 			req->args.port_vlan_priority_map_get.pkt_pri,
  26498 			req->args.port_vlan_priority_map_get.cfi,
  26499 			req->args.port_vlan_priority_map_get.internal_pri,
  26500 			req->args.port_vlan_priority_map_get.color);
  26501 		break;
  26502 	case BCM_ASYNC_ENTRY_PORT_VLAN_PRIORITY_MAP_SET:
  26503 		rv = bcm_port_vlan_priority_map_set(
  26504 			req->args.port_vlan_priority_map_set.unit,
  26505 			req->args.port_vlan_priority_map_set.port,
  26506 			req->args.port_vlan_priority_map_set.pkt_pri,
  26507 			req->args.port_vlan_priority_map_set.cfi,
  26508 			req->args.port_vlan_priority_map_set.internal_pri,
  26509 			req->args.port_vlan_priority_map_set.color);
  26510 		break;
  26511 	case BCM_ASYNC_ENTRY_PORT_VLAN_PRIORITY_MAPPING_GET:
  26512 		rv = bcm_port_vlan_priority_mapping_get(
  26513 			req->args.port_vlan_priority_mapping_get.unit,
  26514 			req->args.port_vlan_priority_mapping_get.port,
  26515 			req->args.port_vlan_priority_mapping_get.vid,
  26516 			req->args.port_vlan_priority_mapping_get.pkt_pri,
  26517 			req->args.port_vlan_priority_mapping_get.cfi,
  26518 			req->args.port_vlan_priority_mapping_get.pri_map);
  26519 		break;
  26520 	case BCM_ASYNC_ENTRY_PORT_VLAN_PRIORITY_MAPPING_SET:
  26521 		rv = bcm_port_vlan_priority_mapping_set(
  26522 			req->args.port_vlan_priority_mapping_set.unit,
  26523 			req->args.port_vlan_priority_mapping_set.port,
  26524 			req->args.port_vlan_priority_mapping_set.vid,
  26525 			req->args.port_vlan_priority_mapping_set.pkt_pri,
  26526 			req->args.port_vlan_priority_mapping_set.cfi,
  26527 			req->args.port_vlan_priority_mapping_set.pri_map);
  26528 		break;
  26529 	case BCM_ASYNC_ENTRY_PORT_VLAN_PRIORITY_UNMAP_GET:
  26530 		rv = bcm_port_vlan_priority_unmap_get(
  26531 			req->args.port_vlan_priority_unmap_get.unit,
  26532 			req->args.port_vlan_priority_unmap_get.port,
  26533 			req->args.port_vlan_priority_unmap_get.internal_pri,
  26534 			req->args.port_vlan_priority_unmap_get.color,
  26535 			req->args.port_vlan_priority_unmap_get.pkt_pri,
  26536 			req->args.port_vlan_priority_unmap_get.cfi);
  26537 		break;
  26538 	case BCM_ASYNC_ENTRY_PORT_VLAN_PRIORITY_UNMAP_SET:
  26539 		rv = bcm_port_vlan_priority_unmap_set(
  26540 			req->args.port_vlan_priority_unmap_set.unit,
  26541 			req->args.port_vlan_priority_unmap_set.port,
  26542 			req->args.port_vlan_priority_unmap_set.internal_pri,
  26543 			req->args.port_vlan_priority_unmap_set.color,
  26544 			req->args.port_vlan_priority_unmap_set.pkt_pri,
  26545 			req->args.port_vlan_priority_unmap_set.cfi);
  26546 		break;
  26547 	case BCM_ASYNC_ENTRY_PORT_VLAN_VECTOR_GET:
  26548 		rv = bcm_port_vlan_vector_get(
  26549 			req->args.port_vlan_vector_get.unit,
  26550 			req->args.port_vlan_vector_get.port_id,
  26551 			req->args.port_vlan_vector_get.vlan_vec);
  26552 		break;
  26553 	case BCM_ASYNC_ENTRY_PORT_VLAN_VECTOR_SET:
  26554 		rv = bcm_port_vlan_vector_set(
  26555 			req->args.port_vlan_vector_set.unit,
  26556 			req->args.port_vlan_vector_set.port_id,
  26557 			req->args.port_vlan_vector_set.vlan_vec);
  26558 		break;
  26559 	case BCM_ASYNC_ENTRY_PORT_WIDE_DATA_GET:
  26560 		rv = bcm_port_wide_data_get(
  26561 			req->args.port_wide_data_get.unit,
  26562 			req->args.port_wide_data_get.gport,
  26563 			req->args.port_wide_data_get.flags,
  26564 			req->args.port_wide_data_get.data);
  26565 		break;
  26566 	case BCM_ASYNC_ENTRY_PORT_WIDE_DATA_SET:
  26567 		rv = bcm_port_wide_data_set(
  26568 			req->args.port_wide_data_set.unit,
  26569 			req->args.port_wide_data_set.gport,
  26570 			req->args.port_wide_data_set.flags,
  26571 			req->args.port_wide_data_set.data);
  26572 		break;
  26573 #ifdef	INCLUDE_L3
  26574 	case BCM_ASYNC_ENTRY_PROXY_CLEANUP:
  26575 		rv = bcm_proxy_cleanup(
  26576 			req->args.proxy_cleanup.unit);
  26577 		break;
  26578 	case BCM_ASYNC_ENTRY_PROXY_CLIENT_SET:
  26579 		rv = bcm_proxy_client_set(
  26580 			req->args.proxy_client_set.unit,
  26581 			req->args.proxy_client_set.client_port,
  26582 			req->args.proxy_client_set.proto_type,
  26583 			req->args.proxy_client_set.server_modid,
  26584 			req->args.proxy_client_set.server_port,
  26585 			req->args.proxy_client_set.enable);
  26586 		break;
  26587 	case BCM_ASYNC_ENTRY_PROXY_EGRESS_CREATE:
  26588 		rv = bcm_proxy_egress_create(
  26589 			req->args.proxy_egress_create.unit,
  26590 			req->args.proxy_egress_create.flags,
  26591 			req->args.proxy_egress_create.proxy_egress,
  26592 			req->args.proxy_egress_create.proxy_if_id);
  26593 		break;
  26594 	case BCM_ASYNC_ENTRY_PROXY_EGRESS_DESTROY:
  26595 		rv = bcm_proxy_egress_destroy(
  26596 			req->args.proxy_egress_destroy.unit,
  26597 			req->args.proxy_egress_destroy.proxy_if_id);
  26598 		break;
  26599 	case BCM_ASYNC_ENTRY_PROXY_EGRESS_GET:
  26600 		rv = bcm_proxy_egress_get(
  26601 			req->args.proxy_egress_get.unit,
  26602 			req->args.proxy_egress_get.proxy_if_id,
  26603 			req->args.proxy_egress_get.proxy_egress);
  26604 		break;
  26605 	case BCM_ASYNC_ENTRY_PROXY_EGRESS_TRAVERSE:
  26606 		rv = bcm_proxy_egress_traverse(
  26607 			req->args.proxy_egress_traverse.unit,
  26608 			req->args.proxy_egress_traverse.trav_fn,
  26609 			req->args.proxy_egress_traverse.user_data);
  26610 		break;
  26611 	case BCM_ASYNC_ENTRY_PROXY_INIT:
  26612 		rv = bcm_proxy_init(
  26613 			req->args.proxy_init.unit);
  26614 		break;
  26615 	case BCM_ASYNC_ENTRY_PROXY_SERVER_GET:
  26616 		rv = bcm_proxy_server_get(
  26617 			req->args.proxy_server_get.unit,
  26618 			req->args.proxy_server_get.server_port,
  26619 			req->args.proxy_server_get.mode,
  26620 			req->args.proxy_server_get.enable);
  26621 		break;
  26622 	case BCM_ASYNC_ENTRY_PROXY_SERVER_PORT_GET:
  26623 		rv = bcm_proxy_server_port_get(
  26624 			req->args.proxy_server_port_get.unit,
  26625 			req->args.proxy_server_port_get.local_ingress_port,
  26626 			req->args.proxy_server_port_get.proxy_server,
  26627 			req->args.proxy_server_port_get.enable);
  26628 		break;
  26629 	case BCM_ASYNC_ENTRY_PROXY_SERVER_PORT_SET:
  26630 		rv = bcm_proxy_server_port_set(
  26631 			req->args.proxy_server_port_set.unit,
  26632 			req->args.proxy_server_port_set.local_ingress_port,
  26633 			req->args.proxy_server_port_set.proxy_server,
  26634 			req->args.proxy_server_port_set.enable);
  26635 		break;
  26636 	case BCM_ASYNC_ENTRY_PROXY_SERVER_SET:
  26637 		rv = bcm_proxy_server_set(
  26638 			req->args.proxy_server_set.unit,
  26639 			req->args.proxy_server_set.server_port,
  26640 			req->args.proxy_server_set.mode,
  26641 			req->args.proxy_server_set.enable);
  26642 		break;
  26643 #endif	/* INCLUDE_L3 */
  26644 #ifdef	INCLUDE_PSTATS
  26645 	case BCM_ASYNC_ENTRY_PSTATS_DATA_SYNC:
  26646 		rv = bcm_pstats_data_sync(
  26647 			req->args.pstats_data_sync.unit);
  26648 		break;
  26649 	case BCM_ASYNC_ENTRY_PSTATS_SESSION_CREATE:
  26650 		rv = bcm_pstats_session_create(
  26651 			req->args.pstats_session_create.unit,
  26652 			req->args.pstats_session_create.options,
  26653 			req->args.pstats_session_create.array_count,
  26654 			req->args.pstats_session_create.element_array,
  26655 			req->args.pstats_session_create.session_id);
  26656 		break;
  26657 	case BCM_ASYNC_ENTRY_PSTATS_SESSION_DATA_CLEAR:
  26658 		rv = bcm_pstats_session_data_clear(
  26659 			req->args.pstats_session_data_clear.unit,
  26660 			req->args.pstats_session_data_clear.session_id);
  26661 		break;
  26662 	case BCM_ASYNC_ENTRY_PSTATS_SESSION_DATA_GET:
  26663 		rv = bcm_pstats_session_data_get(
  26664 			req->args.pstats_session_data_get.unit,
  26665 			req->args.pstats_session_data_get.session_id,
  26666 			req->args.pstats_session_data_get.timestamp,
  26667 			req->args.pstats_session_data_get.array_max,
  26668 			req->args.pstats_session_data_get.data_array,
  26669 			req->args.pstats_session_data_get.array_count);
  26670 		break;
  26671 	case BCM_ASYNC_ENTRY_PSTATS_SESSION_DATA_SYNC_GET:
  26672 		rv = bcm_pstats_session_data_sync_get(
  26673 			req->args.pstats_session_data_sync_get.unit,
  26674 			req->args.pstats_session_data_sync_get.session_id,
  26675 			req->args.pstats_session_data_sync_get.timestamp,
  26676 			req->args.pstats_session_data_sync_get.array_max,
  26677 			req->args.pstats_session_data_sync_get.data_array,
  26678 			req->args.pstats_session_data_sync_get.array_count);
  26679 		break;
  26680 	case BCM_ASYNC_ENTRY_PSTATS_SESSION_DESTROY:
  26681 		rv = bcm_pstats_session_destroy(
  26682 			req->args.pstats_session_destroy.unit,
  26683 			req->args.pstats_session_destroy.session_id);
  26684 		break;
  26685 	case BCM_ASYNC_ENTRY_PSTATS_SESSION_GET:
  26686 		rv = bcm_pstats_session_get(
  26687 			req->args.pstats_session_get.unit,
  26688 			req->args.pstats_session_get.session_id,
  26689 			req->args.pstats_session_get.array_max,
  26690 			req->args.pstats_session_get.element_array,
  26691 			req->args.pstats_session_get.array_count);
  26692 		break;
  26693 	case BCM_ASYNC_ENTRY_PSTATS_SESSION_TRAVERSE:
  26694 		rv = bcm_pstats_session_traverse(
  26695 			req->args.pstats_session_traverse.unit,
  26696 			req->args.pstats_session_traverse.cb,
  26697 			req->args.pstats_session_traverse.user_data);
  26698 		break;
  26699 #endif	/* INCLUDE_PSTATS */
  26700 #ifdef	INCLUDE_PTP
  26701 	case BCM_ASYNC_ENTRY_PTP_ACCEPTABLE_MASTER_ADD:
  26702 		rv = bcm_ptp_acceptable_master_add(
  26703 			req->args.ptp_acceptable_master_add.unit,
  26704 			req->args.ptp_acceptable_master_add.ptp_id,
  26705 			req->args.ptp_acceptable_master_add.clock_num,
  26706 			req->args.ptp_acceptable_master_add.port_num,
  26707 			req->args.ptp_acceptable_master_add.priority1_alt_value,
  26708 			req->args.ptp_acceptable_master_add.master_info);
  26709 		break;
  26710 	case BCM_ASYNC_ENTRY_PTP_ACCEPTABLE_MASTER_ENABLED_GET:
  26711 		rv = bcm_ptp_acceptable_master_enabled_get(
  26712 			req->args.ptp_acceptable_master_enabled_get.unit,
  26713 			req->args.ptp_acceptable_master_enabled_get.ptp_id,
  26714 			req->args.ptp_acceptable_master_enabled_get.clock_num,
  26715 			req->args.ptp_acceptable_master_enabled_get.port_num,
  26716 			req->args.ptp_acceptable_master_enabled_get.enabled);
  26717 		break;
  26718 	case BCM_ASYNC_ENTRY_PTP_ACCEPTABLE_MASTER_ENABLED_SET:
  26719 		rv = bcm_ptp_acceptable_master_enabled_set(
  26720 			req->args.ptp_acceptable_master_enabled_set.unit,
  26721 			req->args.ptp_acceptable_master_enabled_set.ptp_id,
  26722 			req->args.ptp_acceptable_master_enabled_set.clock_num,
  26723 			req->args.ptp_acceptable_master_enabled_set.port_num,
  26724 			req->args.ptp_acceptable_master_enabled_set.enabled);
  26725 		break;
  26726 	case BCM_ASYNC_ENTRY_PTP_ACCEPTABLE_MASTER_LIST:
  26727 		rv = bcm_ptp_acceptable_master_list(
  26728 			req->args.ptp_acceptable_master_list.unit,
  26729 			req->args.ptp_acceptable_master_list.ptp_id,
  26730 			req->args.ptp_acceptable_master_list.clock_num,
  26731 			req->args.ptp_acceptable_master_list.port_num,
  26732 			req->args.ptp_acceptable_master_list.max_num_masters,
  26733 			req->args.ptp_acceptable_master_list.num_masters,
  26734 			req->args.ptp_acceptable_master_list.master_addr);
  26735 		break;
  26736 	case BCM_ASYNC_ENTRY_PTP_ACCEPTABLE_MASTER_REMOVE:
  26737 		rv = bcm_ptp_acceptable_master_remove(
  26738 			req->args.ptp_acceptable_master_remove.unit,
  26739 			req->args.ptp_acceptable_master_remove.ptp_id,
  26740 			req->args.ptp_acceptable_master_remove.clock_num,
  26741 			req->args.ptp_acceptable_master_remove.port_num,
  26742 			req->args.ptp_acceptable_master_remove.master_info);
  26743 		break;
  26744 	case BCM_ASYNC_ENTRY_PTP_ACCEPTABLE_MASTER_TABLE_CLEAR:
  26745 		rv = bcm_ptp_acceptable_master_table_clear(
  26746 			req->args.ptp_acceptable_master_table_clear.unit,
  26747 			req->args.ptp_acceptable_master_table_clear.ptp_id,
  26748 			req->args.ptp_acceptable_master_table_clear.clock_num,
  26749 			req->args.ptp_acceptable_master_table_clear.port_num);
  26750 		break;
  26751 	case BCM_ASYNC_ENTRY_PTP_ACCEPTABLE_MASTER_TABLE_SIZE_GET:
  26752 		rv = bcm_ptp_acceptable_master_table_size_get(
  26753 			req->args.ptp_acceptable_master_table_size_get.unit,
  26754 			req->args.ptp_acceptable_master_table_size_get.ptp_id,
  26755 			req->args.ptp_acceptable_master_table_size_get.clock_num,
  26756 			req->args.ptp_acceptable_master_table_size_get.port_num,
  26757 			req->args.ptp_acceptable_master_table_size_get.max_table_entries);
  26758 		break;
  26759 	case BCM_ASYNC_ENTRY_PTP_BS_TIME_INFO_GET:
  26760 		rv = bcm_ptp_bs_time_info_get(
  26761 			req->args.ptp_bs_time_info_get.unit,
  26762 			req->args.ptp_bs_time_info_get.ptp_id,
  26763 			req->args.ptp_bs_time_info_get.clock_num,
  26764 			req->args.ptp_bs_time_info_get.time);
  26765 		break;
  26766 	case BCM_ASYNC_ENTRY_PTP_CB_REGISTER:
  26767 		rv = bcm_ptp_cb_register(
  26768 			req->args.ptp_cb_register.unit,
  26769 			req->args.ptp_cb_register.cb_types,
  26770 			req->args.ptp_cb_register.cb,
  26771 			req->args.ptp_cb_register.user_data);
  26772 		break;
  26773 	case BCM_ASYNC_ENTRY_PTP_CB_UNREGISTER:
  26774 		rv = bcm_ptp_cb_unregister(
  26775 			req->args.ptp_cb_unregister.unit,
  26776 			req->args.ptp_cb_unregister.cb_types,
  26777 			req->args.ptp_cb_unregister.cb);
  26778 		break;
  26779 	case BCM_ASYNC_ENTRY_PTP_CLOCK_ACCURACY_GET:
  26780 		rv = bcm_ptp_clock_accuracy_get(
  26781 			req->args.ptp_clock_accuracy_get.unit,
  26782 			req->args.ptp_clock_accuracy_get.ptp_id,
  26783 			req->args.ptp_clock_accuracy_get.clock_num,
  26784 			req->args.ptp_clock_accuracy_get.accuracy);
  26785 		break;
  26786 	case BCM_ASYNC_ENTRY_PTP_CLOCK_ACCURACY_SET:
  26787 		rv = bcm_ptp_clock_accuracy_set(
  26788 			req->args.ptp_clock_accuracy_set.unit,
  26789 			req->args.ptp_clock_accuracy_set.ptp_id,
  26790 			req->args.ptp_clock_accuracy_set.clock_num,
  26791 			req->args.ptp_clock_accuracy_set.accuracy);
  26792 		break;
  26793 	case BCM_ASYNC_ENTRY_PTP_CLOCK_APTS_ENABLE_GET:
  26794 		rv = bcm_ptp_clock_apts_enable_get(
  26795 			req->args.ptp_clock_apts_enable_get.unit,
  26796 			req->args.ptp_clock_apts_enable_get.ptp_id,
  26797 			req->args.ptp_clock_apts_enable_get.clock_num,
  26798 			req->args.ptp_clock_apts_enable_get.enable);
  26799 		break;
  26800 	case BCM_ASYNC_ENTRY_PTP_CLOCK_APTS_ENABLE_SET:
  26801 		rv = bcm_ptp_clock_apts_enable_set(
  26802 			req->args.ptp_clock_apts_enable_set.unit,
  26803 			req->args.ptp_clock_apts_enable_set.ptp_id,
  26804 			req->args.ptp_clock_apts_enable_set.clock_num,
  26805 			req->args.ptp_clock_apts_enable_set.enable);
  26806 		break;
  26807 	case BCM_ASYNC_ENTRY_PTP_CLOCK_APTS_MODE_GET:
  26808 		rv = bcm_ptp_clock_apts_mode_get(
  26809 			req->args.ptp_clock_apts_mode_get.unit,
  26810 			req->args.ptp_clock_apts_mode_get.ptp_id,
  26811 			req->args.ptp_clock_apts_mode_get.clock_num,
  26812 			req->args.ptp_clock_apts_mode_get.current_mode);
  26813 		break;
  26814 	case BCM_ASYNC_ENTRY_PTP_CLOCK_APTS_SOURCE_ENABLE_GET:
  26815 		rv = bcm_ptp_clock_apts_source_enable_get(
  26816 			req->args.ptp_clock_apts_source_enable_get.unit,
  26817 			req->args.ptp_clock_apts_source_enable_get.ptp_id,
  26818 			req->args.ptp_clock_apts_source_enable_get.clock_num,
  26819 			req->args.ptp_clock_apts_source_enable_get.source,
  26820 			req->args.ptp_clock_apts_source_enable_get.enable);
  26821 		break;
  26822 	case BCM_ASYNC_ENTRY_PTP_CLOCK_APTS_SOURCE_ENABLE_SET:
  26823 		rv = bcm_ptp_clock_apts_source_enable_set(
  26824 			req->args.ptp_clock_apts_source_enable_set.unit,
  26825 			req->args.ptp_clock_apts_source_enable_set.ptp_id,
  26826 			req->args.ptp_clock_apts_source_enable_set.clock_num,
  26827 			req->args.ptp_clock_apts_source_enable_set.source,
  26828 			req->args.ptp_clock_apts_source_enable_set.enable);
  26829 		break;
  26830 	case BCM_ASYNC_ENTRY_PTP_CLOCK_APTS_SOURCE_PRIO_GET:
  26831 		rv = bcm_ptp_clock_apts_source_prio_get(
  26832 			req->args.ptp_clock_apts_source_prio_get.unit,
  26833 			req->args.ptp_clock_apts_source_prio_get.ptp_id,
  26834 			req->args.ptp_clock_apts_source_prio_get.clock_num,
  26835 			req->args.ptp_clock_apts_source_prio_get.num_sources,
  26836 			req->args.ptp_clock_apts_source_prio_get.priority_list);
  26837 		break;
  26838 	case BCM_ASYNC_ENTRY_PTP_CLOCK_APTS_SOURCE_PRIO_SET:
  26839 		rv = bcm_ptp_clock_apts_source_prio_set(
  26840 			req->args.ptp_clock_apts_source_prio_set.unit,
  26841 			req->args.ptp_clock_apts_source_prio_set.ptp_id,
  26842 			req->args.ptp_clock_apts_source_prio_set.clock_num,
  26843 			req->args.ptp_clock_apts_source_prio_set.num_sources,
  26844 			req->args.ptp_clock_apts_source_prio_set.priority_list);
  26845 		break;
  26846 	case BCM_ASYNC_ENTRY_PTP_CLOCK_BMCA_OVERRIDE_GET:
  26847 		rv = bcm_ptp_clock_bmca_override_get(
  26848 			req->args.ptp_clock_bmca_override_get.unit,
  26849 			req->args.ptp_clock_bmca_override_get.ptp_id,
  26850 			req->args.ptp_clock_bmca_override_get.clock_num,
  26851 			req->args.ptp_clock_bmca_override_get.flags,
  26852 			req->args.ptp_clock_bmca_override_get.enable_mask);
  26853 		break;
  26854 	case BCM_ASYNC_ENTRY_PTP_CLOCK_BMCA_OVERRIDE_SET:
  26855 		rv = bcm_ptp_clock_bmca_override_set(
  26856 			req->args.ptp_clock_bmca_override_set.unit,
  26857 			req->args.ptp_clock_bmca_override_set.ptp_id,
  26858 			req->args.ptp_clock_bmca_override_set.clock_num,
  26859 			req->args.ptp_clock_bmca_override_set.flags,
  26860 			req->args.ptp_clock_bmca_override_set.enable_mask);
  26861 		break;
  26862 	case BCM_ASYNC_ENTRY_PTP_CLOCK_CREATE:
  26863 		rv = bcm_ptp_clock_create(
  26864 			req->args.ptp_clock_create.unit,
  26865 			req->args.ptp_clock_create.ptp_id,
  26866 			req->args.ptp_clock_create.clock_info);
  26867 		break;
  26868 	case BCM_ASYNC_ENTRY_PTP_CLOCK_CURRENT_DATASET_GET:
  26869 		rv = bcm_ptp_clock_current_dataset_get(
  26870 			req->args.ptp_clock_current_dataset_get.unit,
  26871 			req->args.ptp_clock_current_dataset_get.ptp_id,
  26872 			req->args.ptp_clock_current_dataset_get.clock_num,
  26873 			req->args.ptp_clock_current_dataset_get.dataset);
  26874 		break;
  26875 	case BCM_ASYNC_ENTRY_PTP_CLOCK_DEFAULT_DATASET_GET:
  26876 		rv = bcm_ptp_clock_default_dataset_get(
  26877 			req->args.ptp_clock_default_dataset_get.unit,
  26878 			req->args.ptp_clock_default_dataset_get.ptp_id,
  26879 			req->args.ptp_clock_default_dataset_get.clock_num,
  26880 			req->args.ptp_clock_default_dataset_get.dataset);
  26881 		break;
  26882 	case BCM_ASYNC_ENTRY_PTP_CLOCK_DOMAIN_GET:
  26883 		rv = bcm_ptp_clock_domain_get(
  26884 			req->args.ptp_clock_domain_get.unit,
  26885 			req->args.ptp_clock_domain_get.ptp_id,
  26886 			req->args.ptp_clock_domain_get.clock_num,
  26887 			req->args.ptp_clock_domain_get.domain);
  26888 		break;
  26889 	case BCM_ASYNC_ENTRY_PTP_CLOCK_DOMAIN_SET:
  26890 		rv = bcm_ptp_clock_domain_set(
  26891 			req->args.ptp_clock_domain_set.unit,
  26892 			req->args.ptp_clock_domain_set.ptp_id,
  26893 			req->args.ptp_clock_domain_set.clock_num,
  26894 			req->args.ptp_clock_domain_set.domain);
  26895 		break;
  26896 	case BCM_ASYNC_ENTRY_PTP_CLOCK_GET:
  26897 		rv = bcm_ptp_clock_get(
  26898 			req->args.ptp_clock_get.unit,
  26899 			req->args.ptp_clock_get.ptp_id,
  26900 			req->args.ptp_clock_get.clock_num,
  26901 			req->args.ptp_clock_get.clock_info);
  26902 		break;
  26903 	case BCM_ASYNC_ENTRY_PTP_CLOCK_LOCAL_PRIORITY_GET:
  26904 		rv = bcm_ptp_clock_local_priority_get(
  26905 			req->args.ptp_clock_local_priority_get.unit,
  26906 			req->args.ptp_clock_local_priority_get.ptp_id,
  26907 			req->args.ptp_clock_local_priority_get.clock_num,
  26908 			req->args.ptp_clock_local_priority_get.local_priority);
  26909 		break;
  26910 	case BCM_ASYNC_ENTRY_PTP_CLOCK_LOCAL_PRIORITY_SET:
  26911 		rv = bcm_ptp_clock_local_priority_set(
  26912 			req->args.ptp_clock_local_priority_set.unit,
  26913 			req->args.ptp_clock_local_priority_set.ptp_id,
  26914 			req->args.ptp_clock_local_priority_set.clock_num,
  26915 			req->args.ptp_clock_local_priority_set.local_priority);
  26916 		break;
  26917 	case BCM_ASYNC_ENTRY_PTP_CLOCK_MAX_STEPS_REMOVED_GET:
  26918 		rv = bcm_ptp_clock_max_steps_removed_get(
  26919 			req->args.ptp_clock_max_steps_removed_get.unit,
  26920 			req->args.ptp_clock_max_steps_removed_get.ptp_id,
  26921 			req->args.ptp_clock_max_steps_removed_get.clock_num,
  26922 			req->args.ptp_clock_max_steps_removed_get.max_steps_removed);
  26923 		break;
  26924 	case BCM_ASYNC_ENTRY_PTP_CLOCK_MAX_STEPS_REMOVED_SET:
  26925 		rv = bcm_ptp_clock_max_steps_removed_set(
  26926 			req->args.ptp_clock_max_steps_removed_set.unit,
  26927 			req->args.ptp_clock_max_steps_removed_set.ptp_id,
  26928 			req->args.ptp_clock_max_steps_removed_set.clock_num,
  26929 			req->args.ptp_clock_max_steps_removed_set.max_steps_removed);
  26930 		break;
  26931 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PARENT_DATASET_GET:
  26932 		rv = bcm_ptp_clock_parent_dataset_get(
  26933 			req->args.ptp_clock_parent_dataset_get.unit,
  26934 			req->args.ptp_clock_parent_dataset_get.ptp_id,
  26935 			req->args.ptp_clock_parent_dataset_get.clock_num,
  26936 			req->args.ptp_clock_parent_dataset_get.dataset);
  26937 		break;
  26938 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PEER_AGE_TIMER_GET:
  26939 		rv = bcm_ptp_clock_peer_age_timer_get(
  26940 			req->args.ptp_clock_peer_age_timer_get.unit,
  26941 			req->args.ptp_clock_peer_age_timer_get.ptp_id,
  26942 			req->args.ptp_clock_peer_age_timer_get.clock_num,
  26943 			req->args.ptp_clock_peer_age_timer_get.aging_time);
  26944 		break;
  26945 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PEER_AGE_TIMER_SET:
  26946 		rv = bcm_ptp_clock_peer_age_timer_set(
  26947 			req->args.ptp_clock_peer_age_timer_set.unit,
  26948 			req->args.ptp_clock_peer_age_timer_set.ptp_id,
  26949 			req->args.ptp_clock_peer_age_timer_set.clock_num,
  26950 			req->args.ptp_clock_peer_age_timer_set.aging_time);
  26951 		break;
  26952 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_ANNOUNCE_RECEIPT_TIMEOUT_GET:
  26953 		rv = bcm_ptp_clock_port_announce_receipt_timeout_get(
  26954 			req->args.ptp_clock_port_announce_receipt_timeout_get.unit,
  26955 			req->args.ptp_clock_port_announce_receipt_timeout_get.ptp_id,
  26956 			req->args.ptp_clock_port_announce_receipt_timeout_get.clock_num,
  26957 			req->args.ptp_clock_port_announce_receipt_timeout_get.clock_port,
  26958 			req->args.ptp_clock_port_announce_receipt_timeout_get.timeout);
  26959 		break;
  26960 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_ANNOUNCE_RECEIPT_TIMEOUT_SET:
  26961 		rv = bcm_ptp_clock_port_announce_receipt_timeout_set(
  26962 			req->args.ptp_clock_port_announce_receipt_timeout_set.unit,
  26963 			req->args.ptp_clock_port_announce_receipt_timeout_set.ptp_id,
  26964 			req->args.ptp_clock_port_announce_receipt_timeout_set.clock_num,
  26965 			req->args.ptp_clock_port_announce_receipt_timeout_set.clock_port,
  26966 			req->args.ptp_clock_port_announce_receipt_timeout_set.timeout);
  26967 		break;
  26968 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_CONFIGURE:
  26969 		rv = bcm_ptp_clock_port_configure(
  26970 			req->args.ptp_clock_port_configure.unit,
  26971 			req->args.ptp_clock_port_configure.ptp_id,
  26972 			req->args.ptp_clock_port_configure.clock_num,
  26973 			req->args.ptp_clock_port_configure.clock_port,
  26974 			req->args.ptp_clock_port_configure.info);
  26975 		break;
  26976 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_DATASET_GET:
  26977 		rv = bcm_ptp_clock_port_dataset_get(
  26978 			req->args.ptp_clock_port_dataset_get.unit,
  26979 			req->args.ptp_clock_port_dataset_get.ptp_id,
  26980 			req->args.ptp_clock_port_dataset_get.clock_num,
  26981 			req->args.ptp_clock_port_dataset_get.clock_port,
  26982 			req->args.ptp_clock_port_dataset_get.dataset);
  26983 		break;
  26984 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_DELAY_MECHANISM_GET:
  26985 		rv = bcm_ptp_clock_port_delay_mechanism_get(
  26986 			req->args.ptp_clock_port_delay_mechanism_get.unit,
  26987 			req->args.ptp_clock_port_delay_mechanism_get.ptp_id,
  26988 			req->args.ptp_clock_port_delay_mechanism_get.clock_num,
  26989 			req->args.ptp_clock_port_delay_mechanism_get.clock_port,
  26990 			req->args.ptp_clock_port_delay_mechanism_get.delay_mechanism);
  26991 		break;
  26992 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_DELAY_MECHANISM_SET:
  26993 		rv = bcm_ptp_clock_port_delay_mechanism_set(
  26994 			req->args.ptp_clock_port_delay_mechanism_set.unit,
  26995 			req->args.ptp_clock_port_delay_mechanism_set.ptp_id,
  26996 			req->args.ptp_clock_port_delay_mechanism_set.clock_num,
  26997 			req->args.ptp_clock_port_delay_mechanism_set.clock_port,
  26998 			req->args.ptp_clock_port_delay_mechanism_set.delay_mechanism);
  26999 		break;
  27000 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_DISABLE:
  27001 		rv = bcm_ptp_clock_port_disable(
  27002 			req->args.ptp_clock_port_disable.unit,
  27003 			req->args.ptp_clock_port_disable.ptp_id,
  27004 			req->args.ptp_clock_port_disable.clock_num,
  27005 			req->args.ptp_clock_port_disable.clock_port);
  27006 		break;
  27007 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_DROP_COUNTERS_ENABLE_SET:
  27008 		rv = bcm_ptp_clock_port_drop_counters_enable_set(
  27009 			req->args.ptp_clock_port_drop_counters_enable_set.unit,
  27010 			req->args.ptp_clock_port_drop_counters_enable_set.ptp_id,
  27011 			req->args.ptp_clock_port_drop_counters_enable_set.clock_num,
  27012 			req->args.ptp_clock_port_drop_counters_enable_set.clock_port,
  27013 			req->args.ptp_clock_port_drop_counters_enable_set.enable);
  27014 		break;
  27015 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_DROP_COUNTERS_GET:
  27016 		rv = bcm_ptp_clock_port_drop_counters_get(
  27017 			req->args.ptp_clock_port_drop_counters_get.unit,
  27018 			req->args.ptp_clock_port_drop_counters_get.ptp_id,
  27019 			req->args.ptp_clock_port_drop_counters_get.clock_num,
  27020 			req->args.ptp_clock_port_drop_counters_get.clock_port,
  27021 			req->args.ptp_clock_port_drop_counters_get.per_port_packet_drop_counters);
  27022 		break;
  27023 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_ENABLE:
  27024 		rv = bcm_ptp_clock_port_enable(
  27025 			req->args.ptp_clock_port_enable.unit,
  27026 			req->args.ptp_clock_port_enable.ptp_id,
  27027 			req->args.ptp_clock_port_enable.clock_num,
  27028 			req->args.ptp_clock_port_enable.clock_port);
  27029 		break;
  27030 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_IDENTITY_GET:
  27031 		rv = bcm_ptp_clock_port_identity_get(
  27032 			req->args.ptp_clock_port_identity_get.unit,
  27033 			req->args.ptp_clock_port_identity_get.ptp_id,
  27034 			req->args.ptp_clock_port_identity_get.clock_num,
  27035 			req->args.ptp_clock_port_identity_get.clock_port,
  27036 			req->args.ptp_clock_port_identity_get.identity);
  27037 		break;
  27038 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_INFO_GET:
  27039 		rv = bcm_ptp_clock_port_info_get(
  27040 			req->args.ptp_clock_port_info_get.unit,
  27041 			req->args.ptp_clock_port_info_get.ptp_id,
  27042 			req->args.ptp_clock_port_info_get.clock_num,
  27043 			req->args.ptp_clock_port_info_get.clock_port,
  27044 			req->args.ptp_clock_port_info_get.info);
  27045 		break;
  27046 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_LATENCY_SET:
  27047 		rv = bcm_ptp_clock_port_latency_set(
  27048 			req->args.ptp_clock_port_latency_set.unit,
  27049 			req->args.ptp_clock_port_latency_set.ptp_id,
  27050 			req->args.ptp_clock_port_latency_set.clock_num,
  27051 			req->args.ptp_clock_port_latency_set.clock_port,
  27052 			req->args.ptp_clock_port_latency_set.latency_in,
  27053 			req->args.ptp_clock_port_latency_set.latency_out);
  27054 		break;
  27055 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_LOG_ANNOUNCE_INTERVAL_GET:
  27056 		rv = bcm_ptp_clock_port_log_announce_interval_get(
  27057 			req->args.ptp_clock_port_log_announce_interval_get.unit,
  27058 			req->args.ptp_clock_port_log_announce_interval_get.ptp_id,
  27059 			req->args.ptp_clock_port_log_announce_interval_get.clock_num,
  27060 			req->args.ptp_clock_port_log_announce_interval_get.clock_port,
  27061 			req->args.ptp_clock_port_log_announce_interval_get.interval);
  27062 		break;
  27063 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_LOG_ANNOUNCE_INTERVAL_SET:
  27064 		rv = bcm_ptp_clock_port_log_announce_interval_set(
  27065 			req->args.ptp_clock_port_log_announce_interval_set.unit,
  27066 			req->args.ptp_clock_port_log_announce_interval_set.ptp_id,
  27067 			req->args.ptp_clock_port_log_announce_interval_set.clock_num,
  27068 			req->args.ptp_clock_port_log_announce_interval_set.clock_port,
  27069 			req->args.ptp_clock_port_log_announce_interval_set.interval);
  27070 		break;
  27071 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_LOG_MIN_DELAY_REQ_INTERVAL_GET:
  27072 		rv = bcm_ptp_clock_port_log_min_delay_req_interval_get(
  27073 			req->args.ptp_clock_port_log_min_delay_req_interval_get.unit,
  27074 			req->args.ptp_clock_port_log_min_delay_req_interval_get.ptp_id,
  27075 			req->args.ptp_clock_port_log_min_delay_req_interval_get.clock_num,
  27076 			req->args.ptp_clock_port_log_min_delay_req_interval_get.clock_port,
  27077 			req->args.ptp_clock_port_log_min_delay_req_interval_get.interval);
  27078 		break;
  27079 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_LOG_MIN_DELAY_REQ_INTERVAL_SET:
  27080 		rv = bcm_ptp_clock_port_log_min_delay_req_interval_set(
  27081 			req->args.ptp_clock_port_log_min_delay_req_interval_set.unit,
  27082 			req->args.ptp_clock_port_log_min_delay_req_interval_set.ptp_id,
  27083 			req->args.ptp_clock_port_log_min_delay_req_interval_set.clock_num,
  27084 			req->args.ptp_clock_port_log_min_delay_req_interval_set.clock_port,
  27085 			req->args.ptp_clock_port_log_min_delay_req_interval_set.interval);
  27086 		break;
  27087 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_LOG_MIN_PDELAY_REQ_INTERVAL_GET:
  27088 		rv = bcm_ptp_clock_port_log_min_pdelay_req_interval_get(
  27089 			req->args.ptp_clock_port_log_min_pdelay_req_interval_get.unit,
  27090 			req->args.ptp_clock_port_log_min_pdelay_req_interval_get.ptp_id,
  27091 			req->args.ptp_clock_port_log_min_pdelay_req_interval_get.clock_num,
  27092 			req->args.ptp_clock_port_log_min_pdelay_req_interval_get.clock_port,
  27093 			req->args.ptp_clock_port_log_min_pdelay_req_interval_get.interval);
  27094 		break;
  27095 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_LOG_MIN_PDELAY_REQ_INTERVAL_SET:
  27096 		rv = bcm_ptp_clock_port_log_min_pdelay_req_interval_set(
  27097 			req->args.ptp_clock_port_log_min_pdelay_req_interval_set.unit,
  27098 			req->args.ptp_clock_port_log_min_pdelay_req_interval_set.ptp_id,
  27099 			req->args.ptp_clock_port_log_min_pdelay_req_interval_set.clock_num,
  27100 			req->args.ptp_clock_port_log_min_pdelay_req_interval_set.clock_port,
  27101 			req->args.ptp_clock_port_log_min_pdelay_req_interval_set.interval);
  27102 		break;
  27103 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_LOG_SYNC_INTERVAL_GET:
  27104 		rv = bcm_ptp_clock_port_log_sync_interval_get(
  27105 			req->args.ptp_clock_port_log_sync_interval_get.unit,
  27106 			req->args.ptp_clock_port_log_sync_interval_get.ptp_id,
  27107 			req->args.ptp_clock_port_log_sync_interval_get.clock_num,
  27108 			req->args.ptp_clock_port_log_sync_interval_get.clock_port,
  27109 			req->args.ptp_clock_port_log_sync_interval_get.interval);
  27110 		break;
  27111 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_LOG_SYNC_INTERVAL_SET:
  27112 		rv = bcm_ptp_clock_port_log_sync_interval_set(
  27113 			req->args.ptp_clock_port_log_sync_interval_set.unit,
  27114 			req->args.ptp_clock_port_log_sync_interval_set.ptp_id,
  27115 			req->args.ptp_clock_port_log_sync_interval_set.clock_num,
  27116 			req->args.ptp_clock_port_log_sync_interval_set.clock_port,
  27117 			req->args.ptp_clock_port_log_sync_interval_set.interval);
  27118 		break;
  27119 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_MAC_GET:
  27120 		rv = bcm_ptp_clock_port_mac_get(
  27121 			req->args.ptp_clock_port_mac_get.unit,
  27122 			req->args.ptp_clock_port_mac_get.ptp_id,
  27123 			req->args.ptp_clock_port_mac_get.clock_num,
  27124 			req->args.ptp_clock_port_mac_get.clock_port,
  27125 			req->args.ptp_clock_port_mac_get.mac);
  27126 		break;
  27127 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_PROTOCOL_GET:
  27128 		rv = bcm_ptp_clock_port_protocol_get(
  27129 			req->args.ptp_clock_port_protocol_get.unit,
  27130 			req->args.ptp_clock_port_protocol_get.ptp_id,
  27131 			req->args.ptp_clock_port_protocol_get.clock_num,
  27132 			req->args.ptp_clock_port_protocol_get.clock_port,
  27133 			req->args.ptp_clock_port_protocol_get.protocol);
  27134 		break;
  27135 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_TYPE_GET:
  27136 		rv = bcm_ptp_clock_port_type_get(
  27137 			req->args.ptp_clock_port_type_get.unit,
  27138 			req->args.ptp_clock_port_type_get.ptp_id,
  27139 			req->args.ptp_clock_port_type_get.clock_num,
  27140 			req->args.ptp_clock_port_type_get.clock_port,
  27141 			req->args.ptp_clock_port_type_get.type);
  27142 		break;
  27143 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PORT_VERSION_NUMBER_GET:
  27144 		rv = bcm_ptp_clock_port_version_number_get(
  27145 			req->args.ptp_clock_port_version_number_get.unit,
  27146 			req->args.ptp_clock_port_version_number_get.ptp_id,
  27147 			req->args.ptp_clock_port_version_number_get.clock_num,
  27148 			req->args.ptp_clock_port_version_number_get.clock_port,
  27149 			req->args.ptp_clock_port_version_number_get.version);
  27150 		break;
  27151 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PRIORITY1_GET:
  27152 		rv = bcm_ptp_clock_priority1_get(
  27153 			req->args.ptp_clock_priority1_get.unit,
  27154 			req->args.ptp_clock_priority1_get.ptp_id,
  27155 			req->args.ptp_clock_priority1_get.clock_num,
  27156 			req->args.ptp_clock_priority1_get.priority1);
  27157 		break;
  27158 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PRIORITY1_SET:
  27159 		rv = bcm_ptp_clock_priority1_set(
  27160 			req->args.ptp_clock_priority1_set.unit,
  27161 			req->args.ptp_clock_priority1_set.ptp_id,
  27162 			req->args.ptp_clock_priority1_set.clock_num,
  27163 			req->args.ptp_clock_priority1_set.priority1);
  27164 		break;
  27165 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PRIORITY2_GET:
  27166 		rv = bcm_ptp_clock_priority2_get(
  27167 			req->args.ptp_clock_priority2_get.unit,
  27168 			req->args.ptp_clock_priority2_get.ptp_id,
  27169 			req->args.ptp_clock_priority2_get.clock_num,
  27170 			req->args.ptp_clock_priority2_get.priority2);
  27171 		break;
  27172 	case BCM_ASYNC_ENTRY_PTP_CLOCK_PRIORITY2_SET:
  27173 		rv = bcm_ptp_clock_priority2_set(
  27174 			req->args.ptp_clock_priority2_set.unit,
  27175 			req->args.ptp_clock_priority2_set.ptp_id,
  27176 			req->args.ptp_clock_priority2_set.clock_num,
  27177 			req->args.ptp_clock_priority2_set.priority2);
  27178 		break;
  27179 	case BCM_ASYNC_ENTRY_PTP_CLOCK_QUALITY_GET:
  27180 		rv = bcm_ptp_clock_quality_get(
  27181 			req->args.ptp_clock_quality_get.unit,
  27182 			req->args.ptp_clock_quality_get.ptp_id,
  27183 			req->args.ptp_clock_quality_get.clock_num,
  27184 			req->args.ptp_clock_quality_get.clock_quality,
  27185 			req->args.ptp_clock_quality_get.flags);
  27186 		break;
  27187 	case BCM_ASYNC_ENTRY_PTP_CLOCK_QUALITY_SET:
  27188 		rv = bcm_ptp_clock_quality_set(
  27189 			req->args.ptp_clock_quality_set.unit,
  27190 			req->args.ptp_clock_quality_set.ptp_id,
  27191 			req->args.ptp_clock_quality_set.clock_num,
  27192 			req->args.ptp_clock_quality_set.clock_quality,
  27193 			req->args.ptp_clock_quality_set.flags);
  27194 		break;
  27195 	case BCM_ASYNC_ENTRY_PTP_CLOCK_SLAVEONLY_GET:
  27196 		rv = bcm_ptp_clock_slaveonly_get(
  27197 			req->args.ptp_clock_slaveonly_get.unit,
  27198 			req->args.ptp_clock_slaveonly_get.ptp_id,
  27199 			req->args.ptp_clock_slaveonly_get.clock_num,
  27200 			req->args.ptp_clock_slaveonly_get.slaveonly);
  27201 		break;
  27202 	case BCM_ASYNC_ENTRY_PTP_CLOCK_SLAVEONLY_SET:
  27203 		rv = bcm_ptp_clock_slaveonly_set(
  27204 			req->args.ptp_clock_slaveonly_set.unit,
  27205 			req->args.ptp_clock_slaveonly_set.ptp_id,
  27206 			req->args.ptp_clock_slaveonly_set.clock_num,
  27207 			req->args.ptp_clock_slaveonly_set.slaveonly);
  27208 		break;
  27209 	case BCM_ASYNC_ENTRY_PTP_CLOCK_TIME_GET:
  27210 		rv = bcm_ptp_clock_time_get(
  27211 			req->args.ptp_clock_time_get.unit,
  27212 			req->args.ptp_clock_time_get.ptp_id,
  27213 			req->args.ptp_clock_time_get.clock_num,
  27214 			req->args.ptp_clock_time_get.time);
  27215 		break;
  27216 	case BCM_ASYNC_ENTRY_PTP_CLOCK_TIME_PROPERTIES_GET:
  27217 		rv = bcm_ptp_clock_time_properties_get(
  27218 			req->args.ptp_clock_time_properties_get.unit,
  27219 			req->args.ptp_clock_time_properties_get.ptp_id,
  27220 			req->args.ptp_clock_time_properties_get.clock_num,
  27221 			req->args.ptp_clock_time_properties_get.data);
  27222 		break;
  27223 	case BCM_ASYNC_ENTRY_PTP_CLOCK_TIME_SET:
  27224 		rv = bcm_ptp_clock_time_set(
  27225 			req->args.ptp_clock_time_set.unit,
  27226 			req->args.ptp_clock_time_set.ptp_id,
  27227 			req->args.ptp_clock_time_set.clock_num,
  27228 			req->args.ptp_clock_time_set.time);
  27229 		break;
  27230 	case BCM_ASYNC_ENTRY_PTP_CLOCK_TIMESCALE_GET:
  27231 		rv = bcm_ptp_clock_timescale_get(
  27232 			req->args.ptp_clock_timescale_get.unit,
  27233 			req->args.ptp_clock_timescale_get.ptp_id,
  27234 			req->args.ptp_clock_timescale_get.clock_num,
  27235 			req->args.ptp_clock_timescale_get.timescale);
  27236 		break;
  27237 	case BCM_ASYNC_ENTRY_PTP_CLOCK_TIMESCALE_SET:
  27238 		rv = bcm_ptp_clock_timescale_set(
  27239 			req->args.ptp_clock_timescale_set.unit,
  27240 			req->args.ptp_clock_timescale_set.ptp_id,
  27241 			req->args.ptp_clock_timescale_set.clock_num,
  27242 			req->args.ptp_clock_timescale_set.timescale);
  27243 		break;
  27244 	case BCM_ASYNC_ENTRY_PTP_CLOCK_TRACEABILITY_GET:
  27245 		rv = bcm_ptp_clock_traceability_get(
  27246 			req->args.ptp_clock_traceability_get.unit,
  27247 			req->args.ptp_clock_traceability_get.ptp_id,
  27248 			req->args.ptp_clock_traceability_get.clock_num,
  27249 			req->args.ptp_clock_traceability_get.trace);
  27250 		break;
  27251 	case BCM_ASYNC_ENTRY_PTP_CLOCK_TRACEABILITY_SET:
  27252 		rv = bcm_ptp_clock_traceability_set(
  27253 			req->args.ptp_clock_traceability_set.unit,
  27254 			req->args.ptp_clock_traceability_set.ptp_id,
  27255 			req->args.ptp_clock_traceability_set.clock_num,
  27256 			req->args.ptp_clock_traceability_set.trace);
  27257 		break;
  27258 	case BCM_ASYNC_ENTRY_PTP_CLOCK_USER_DESCRIPTION_SET:
  27259 		rv = bcm_ptp_clock_user_description_set(
  27260 			req->args.ptp_clock_user_description_set.unit,
  27261 			req->args.ptp_clock_user_description_set.ptp_id,
  27262 			req->args.ptp_clock_user_description_set.clock_num,
  27263 			req->args.ptp_clock_user_description_set.desc);
  27264 		break;
  27265 	case BCM_ASYNC_ENTRY_PTP_CLOCK_UTC_GET:
  27266 		rv = bcm_ptp_clock_utc_get(
  27267 			req->args.ptp_clock_utc_get.unit,
  27268 			req->args.ptp_clock_utc_get.ptp_id,
  27269 			req->args.ptp_clock_utc_get.clock_num,
  27270 			req->args.ptp_clock_utc_get.utc);
  27271 		break;
  27272 	case BCM_ASYNC_ENTRY_PTP_CLOCK_UTC_SET:
  27273 		rv = bcm_ptp_clock_utc_set(
  27274 			req->args.ptp_clock_utc_set.unit,
  27275 			req->args.ptp_clock_utc_set.ptp_id,
  27276 			req->args.ptp_clock_utc_set.clock_num,
  27277 			req->args.ptp_clock_utc_set.utc);
  27278 		break;
  27279 	case BCM_ASYNC_ENTRY_PTP_CTDEV_ALARM_CALLBACK_REGISTER:
  27280 		rv = bcm_ptp_ctdev_alarm_callback_register(
  27281 			req->args.ptp_ctdev_alarm_callback_register.unit,
  27282 			req->args.ptp_ctdev_alarm_callback_register.ptp_id,
  27283 			req->args.ptp_ctdev_alarm_callback_register.clock_num,
  27284 			req->args.ptp_ctdev_alarm_callback_register.alarm_cb);
  27285 		break;
  27286 	case BCM_ASYNC_ENTRY_PTP_CTDEV_ALARM_CALLBACK_UNREGISTER:
  27287 		rv = bcm_ptp_ctdev_alarm_callback_unregister(
  27288 			req->args.ptp_ctdev_alarm_callback_unregister.unit,
  27289 			req->args.ptp_ctdev_alarm_callback_unregister.ptp_id,
  27290 			req->args.ptp_ctdev_alarm_callback_unregister.clock_num);
  27291 		break;
  27292 	case BCM_ASYNC_ENTRY_PTP_CTDEV_ALPHA_GET:
  27293 		rv = bcm_ptp_ctdev_alpha_get(
  27294 			req->args.ptp_ctdev_alpha_get.unit,
  27295 			req->args.ptp_ctdev_alpha_get.ptp_id,
  27296 			req->args.ptp_ctdev_alpha_get.clock_num,
  27297 			req->args.ptp_ctdev_alpha_get.alpha_numerator,
  27298 			req->args.ptp_ctdev_alpha_get.alpha_denominator);
  27299 		break;
  27300 	case BCM_ASYNC_ENTRY_PTP_CTDEV_ALPHA_SET:
  27301 		rv = bcm_ptp_ctdev_alpha_set(
  27302 			req->args.ptp_ctdev_alpha_set.unit,
  27303 			req->args.ptp_ctdev_alpha_set.ptp_id,
  27304 			req->args.ptp_ctdev_alpha_set.clock_num,
  27305 			req->args.ptp_ctdev_alpha_set.alpha_numerator,
  27306 			req->args.ptp_ctdev_alpha_set.alpha_denominator);
  27307 		break;
  27308 	case BCM_ASYNC_ENTRY_PTP_CTDEV_ENABLE_GET:
  27309 		rv = bcm_ptp_ctdev_enable_get(
  27310 			req->args.ptp_ctdev_enable_get.unit,
  27311 			req->args.ptp_ctdev_enable_get.ptp_id,
  27312 			req->args.ptp_ctdev_enable_get.clock_num,
  27313 			req->args.ptp_ctdev_enable_get.enable,
  27314 			req->args.ptp_ctdev_enable_get.flags);
  27315 		break;
  27316 	case BCM_ASYNC_ENTRY_PTP_CTDEV_ENABLE_SET:
  27317 		rv = bcm_ptp_ctdev_enable_set(
  27318 			req->args.ptp_ctdev_enable_set.unit,
  27319 			req->args.ptp_ctdev_enable_set.ptp_id,
  27320 			req->args.ptp_ctdev_enable_set.clock_num,
  27321 			req->args.ptp_ctdev_enable_set.enable,
  27322 			req->args.ptp_ctdev_enable_set.flags);
  27323 		break;
  27324 	case BCM_ASYNC_ENTRY_PTP_CTDEV_VERBOSE_GET:
  27325 		rv = bcm_ptp_ctdev_verbose_get(
  27326 			req->args.ptp_ctdev_verbose_get.unit,
  27327 			req->args.ptp_ctdev_verbose_get.ptp_id,
  27328 			req->args.ptp_ctdev_verbose_get.clock_num,
  27329 			req->args.ptp_ctdev_verbose_get.verbose);
  27330 		break;
  27331 	case BCM_ASYNC_ENTRY_PTP_CTDEV_VERBOSE_SET:
  27332 		rv = bcm_ptp_ctdev_verbose_set(
  27333 			req->args.ptp_ctdev_verbose_set.unit,
  27334 			req->args.ptp_ctdev_verbose_set.ptp_id,
  27335 			req->args.ptp_ctdev_verbose_set.clock_num,
  27336 			req->args.ptp_ctdev_verbose_set.verbose);
  27337 		break;
  27338 	case BCM_ASYNC_ENTRY_PTP_DETACH:
  27339 		rv = bcm_ptp_detach(
  27340 			req->args.ptp_detach.unit);
  27341 		break;
  27342 	case BCM_ASYNC_ENTRY_PTP_EXTERNAL_PHY_SYNCHRONIZE:
  27343 		rv = bcm_ptp_external_phy_synchronize(
  27344 			req->args.ptp_external_phy_synchronize.unit,
  27345 			req->args.ptp_external_phy_synchronize.ptp_id,
  27346 			req->args.ptp_external_phy_synchronize.clock_num,
  27347 			req->args.ptp_external_phy_synchronize.extphy_config);
  27348 		break;
  27349 	case BCM_ASYNC_ENTRY_PTP_FOREIGN_MASTER_DATASET_GET:
  27350 		rv = bcm_ptp_foreign_master_dataset_get(
  27351 			req->args.ptp_foreign_master_dataset_get.unit,
  27352 			req->args.ptp_foreign_master_dataset_get.ptp_id,
  27353 			req->args.ptp_foreign_master_dataset_get.clock_num,
  27354 			req->args.ptp_foreign_master_dataset_get.port_num,
  27355 			req->args.ptp_foreign_master_dataset_get.data_set);
  27356 		break;
  27357 	case BCM_ASYNC_ENTRY_PTP_G8275P1_TRACEABILITY_INFO_CLOCK_CLASS_MAP:
  27358 		rv = bcm_ptp_g8275p1_traceability_info_clock_class_map(
  27359 			req->args.ptp_g8275p1_traceability_info_clock_class_map.unit,
  27360 			req->args.ptp_g8275p1_traceability_info_clock_class_map.ptp_id,
  27361 			req->args.ptp_g8275p1_traceability_info_clock_class_map.clock_num,
  27362 			req->args.ptp_g8275p1_traceability_info_clock_class_map.traceability_info,
  27363 			req->args.ptp_g8275p1_traceability_info_clock_class_map.clock_class);
  27364 		break;
  27365 	case BCM_ASYNC_ENTRY_PTP_INIT:
  27366 		rv = bcm_ptp_init(
  27367 			req->args.ptp_init.unit);
  27368 		break;
  27369 	case BCM_ASYNC_ENTRY_PTP_INPUT_CHANNEL_PRECEDENCE_MODE_SET:
  27370 		rv = bcm_ptp_input_channel_precedence_mode_set(
  27371 			req->args.ptp_input_channel_precedence_mode_set.unit,
  27372 			req->args.ptp_input_channel_precedence_mode_set.ptp_id,
  27373 			req->args.ptp_input_channel_precedence_mode_set.clock_num,
  27374 			req->args.ptp_input_channel_precedence_mode_set.channel_select_mode);
  27375 		break;
  27376 	case BCM_ASYNC_ENTRY_PTP_INPUT_CHANNEL_SWITCHING_MODE_SET:
  27377 		rv = bcm_ptp_input_channel_switching_mode_set(
  27378 			req->args.ptp_input_channel_switching_mode_set.unit,
  27379 			req->args.ptp_input_channel_switching_mode_set.ptp_id,
  27380 			req->args.ptp_input_channel_switching_mode_set.clock_num,
  27381 			req->args.ptp_input_channel_switching_mode_set.channel_switching_mode);
  27382 		break;
  27383 	case BCM_ASYNC_ENTRY_PTP_INPUT_CHANNELS_GET:
  27384 		rv = bcm_ptp_input_channels_get(
  27385 			req->args.ptp_input_channels_get.unit,
  27386 			req->args.ptp_input_channels_get.ptp_id,
  27387 			req->args.ptp_input_channels_get.clock_num,
  27388 			req->args.ptp_input_channels_get.num_channels,
  27389 			req->args.ptp_input_channels_get.channels);
  27390 		break;
  27391 	case BCM_ASYNC_ENTRY_PTP_INPUT_CHANNELS_SET:
  27392 		rv = bcm_ptp_input_channels_set(
  27393 			req->args.ptp_input_channels_set.unit,
  27394 			req->args.ptp_input_channels_set.ptp_id,
  27395 			req->args.ptp_input_channels_set.clock_num,
  27396 			req->args.ptp_input_channels_set.num_channels,
  27397 			req->args.ptp_input_channels_set.channels);
  27398 		break;
  27399 	case BCM_ASYNC_ENTRY_PTP_MODULAR_ENABLE_GET:
  27400 		rv = bcm_ptp_modular_enable_get(
  27401 			req->args.ptp_modular_enable_get.unit,
  27402 			req->args.ptp_modular_enable_get.ptp_id,
  27403 			req->args.ptp_modular_enable_get.clock_num,
  27404 			req->args.ptp_modular_enable_get.enable,
  27405 			req->args.ptp_modular_enable_get.flags);
  27406 		break;
  27407 	case BCM_ASYNC_ENTRY_PTP_MODULAR_ENABLE_SET:
  27408 		rv = bcm_ptp_modular_enable_set(
  27409 			req->args.ptp_modular_enable_set.unit,
  27410 			req->args.ptp_modular_enable_set.ptp_id,
  27411 			req->args.ptp_modular_enable_set.clock_num,
  27412 			req->args.ptp_modular_enable_set.enable,
  27413 			req->args.ptp_modular_enable_set.flags);
  27414 		break;
  27415 	case BCM_ASYNC_ENTRY_PTP_MODULAR_PHYTS_GET:
  27416 		rv = bcm_ptp_modular_phyts_get(
  27417 			req->args.ptp_modular_phyts_get.unit,
  27418 			req->args.ptp_modular_phyts_get.ptp_id,
  27419 			req->args.ptp_modular_phyts_get.clock_num,
  27420 			req->args.ptp_modular_phyts_get.phyts,
  27421 			req->args.ptp_modular_phyts_get.framesync_pin);
  27422 		break;
  27423 	case BCM_ASYNC_ENTRY_PTP_MODULAR_PHYTS_SET:
  27424 		rv = bcm_ptp_modular_phyts_set(
  27425 			req->args.ptp_modular_phyts_set.unit,
  27426 			req->args.ptp_modular_phyts_set.ptp_id,
  27427 			req->args.ptp_modular_phyts_set.clock_num,
  27428 			req->args.ptp_modular_phyts_set.phyts,
  27429 			req->args.ptp_modular_phyts_set.framesync_pin);
  27430 		break;
  27431 	case BCM_ASYNC_ENTRY_PTP_MODULAR_PORTBITMAP_GET:
  27432 		rv = bcm_ptp_modular_portbitmap_get(
  27433 			req->args.ptp_modular_portbitmap_get.unit,
  27434 			req->args.ptp_modular_portbitmap_get.ptp_id,
  27435 			req->args.ptp_modular_portbitmap_get.clock_num,
  27436 			req->args.ptp_modular_portbitmap_get.pbmp);
  27437 		break;
  27438 	case BCM_ASYNC_ENTRY_PTP_MODULAR_PORTBITMAP_SET:
  27439 		rv = bcm_ptp_modular_portbitmap_set(
  27440 			req->args.ptp_modular_portbitmap_set.unit,
  27441 			req->args.ptp_modular_portbitmap_set.ptp_id,
  27442 			req->args.ptp_modular_portbitmap_set.clock_num,
  27443 			req->args.ptp_modular_portbitmap_set.pbmp);
  27444 		break;
  27445 	case BCM_ASYNC_ENTRY_PTP_MODULAR_VERBOSE_GET:
  27446 		rv = bcm_ptp_modular_verbose_get(
  27447 			req->args.ptp_modular_verbose_get.unit,
  27448 			req->args.ptp_modular_verbose_get.ptp_id,
  27449 			req->args.ptp_modular_verbose_get.clock_num,
  27450 			req->args.ptp_modular_verbose_get.verbose);
  27451 		break;
  27452 	case BCM_ASYNC_ENTRY_PTP_MODULAR_VERBOSE_SET:
  27453 		rv = bcm_ptp_modular_verbose_set(
  27454 			req->args.ptp_modular_verbose_set.unit,
  27455 			req->args.ptp_modular_verbose_set.ptp_id,
  27456 			req->args.ptp_modular_verbose_set.clock_num,
  27457 			req->args.ptp_modular_verbose_set.verbose);
  27458 		break;
  27459 	case BCM_ASYNC_ENTRY_PTP_PACKET_COUNTERS_CLEAR:
  27460 		rv = bcm_ptp_packet_counters_clear(
  27461 			req->args.ptp_packet_counters_clear.unit,
  27462 			req->args.ptp_packet_counters_clear.ptp_id,
  27463 			req->args.ptp_packet_counters_clear.clock_num,
  27464 			req->args.ptp_packet_counters_clear.port_num,
  27465 			req->args.ptp_packet_counters_clear.counter_bitmap);
  27466 		break;
  27467 	case BCM_ASYNC_ENTRY_PTP_PACKET_COUNTERS_GET:
  27468 		rv = bcm_ptp_packet_counters_get(
  27469 			req->args.ptp_packet_counters_get.unit,
  27470 			req->args.ptp_packet_counters_get.ptp_id,
  27471 			req->args.ptp_packet_counters_get.clock_num,
  27472 			req->args.ptp_packet_counters_get.counters);
  27473 		break;
  27474 	case BCM_ASYNC_ENTRY_PTP_PEER_DATASET_GET:
  27475 		rv = bcm_ptp_peer_dataset_get(
  27476 			req->args.ptp_peer_dataset_get.unit,
  27477 			req->args.ptp_peer_dataset_get.ptp_id,
  27478 			req->args.ptp_peer_dataset_get.clock_num,
  27479 			req->args.ptp_peer_dataset_get.port_num,
  27480 			req->args.ptp_peer_dataset_get.max_num_peers,
  27481 			req->args.ptp_peer_dataset_get.peers,
  27482 			req->args.ptp_peer_dataset_get.num_peers);
  27483 		break;
  27484 	case BCM_ASYNC_ENTRY_PTP_PHASE_OFFSET_GET:
  27485 		rv = bcm_ptp_phase_offset_get(
  27486 			req->args.ptp_phase_offset_get.unit,
  27487 			req->args.ptp_phase_offset_get.ptp_id,
  27488 			req->args.ptp_phase_offset_get.clock_num,
  27489 			req->args.ptp_phase_offset_get.offset);
  27490 		break;
  27491 	case BCM_ASYNC_ENTRY_PTP_PHASE_OFFSET_SET:
  27492 		rv = bcm_ptp_phase_offset_set(
  27493 			req->args.ptp_phase_offset_set.unit,
  27494 			req->args.ptp_phase_offset_set.ptp_id,
  27495 			req->args.ptp_phase_offset_set.clock_num,
  27496 			req->args.ptp_phase_offset_set.offset);
  27497 		break;
  27498 	case BCM_ASYNC_ENTRY_PTP_PKT_FLAGS_OVERRIDE_GET:
  27499 		rv = bcm_ptp_pkt_flags_override_get(
  27500 			req->args.ptp_pkt_flags_override_get.unit,
  27501 			req->args.ptp_pkt_flags_override_get.ptp_id,
  27502 			req->args.ptp_pkt_flags_override_get.clock_num,
  27503 			req->args.ptp_pkt_flags_override_get.override_flag,
  27504 			req->args.ptp_pkt_flags_override_get.override_value);
  27505 		break;
  27506 	case BCM_ASYNC_ENTRY_PTP_PKT_FLAGS_OVERRIDE_SET:
  27507 		rv = bcm_ptp_pkt_flags_override_set(
  27508 			req->args.ptp_pkt_flags_override_set.unit,
  27509 			req->args.ptp_pkt_flags_override_set.ptp_id,
  27510 			req->args.ptp_pkt_flags_override_set.clock_num,
  27511 			req->args.ptp_pkt_flags_override_set.override_flag,
  27512 			req->args.ptp_pkt_flags_override_set.override_value);
  27513 		break;
  27514 	case BCM_ASYNC_ENTRY_PTP_PRIMARY_DOMAIN_GET:
  27515 		rv = bcm_ptp_primary_domain_get(
  27516 			req->args.ptp_primary_domain_get.unit,
  27517 			req->args.ptp_primary_domain_get.ptp_id,
  27518 			req->args.ptp_primary_domain_get.clock_num,
  27519 			req->args.ptp_primary_domain_get.primary_domain);
  27520 		break;
  27521 	case BCM_ASYNC_ENTRY_PTP_PRIMARY_DOMAIN_SET:
  27522 		rv = bcm_ptp_primary_domain_set(
  27523 			req->args.ptp_primary_domain_set.unit,
  27524 			req->args.ptp_primary_domain_set.ptp_id,
  27525 			req->args.ptp_primary_domain_set.clock_num,
  27526 			req->args.ptp_primary_domain_set.primary_domain);
  27527 		break;
  27528 	case BCM_ASYNC_ENTRY_PTP_SERVO_CONFIGURATION_GET:
  27529 		rv = bcm_ptp_servo_configuration_get(
  27530 			req->args.ptp_servo_configuration_get.unit,
  27531 			req->args.ptp_servo_configuration_get.ptp_id,
  27532 			req->args.ptp_servo_configuration_get.clock_num,
  27533 			req->args.ptp_servo_configuration_get.config);
  27534 		break;
  27535 	case BCM_ASYNC_ENTRY_PTP_SERVO_CONFIGURATION_SET:
  27536 		rv = bcm_ptp_servo_configuration_set(
  27537 			req->args.ptp_servo_configuration_set.unit,
  27538 			req->args.ptp_servo_configuration_set.ptp_id,
  27539 			req->args.ptp_servo_configuration_set.clock_num,
  27540 			req->args.ptp_servo_configuration_set.config);
  27541 		break;
  27542 	case BCM_ASYNC_ENTRY_PTP_SERVO_STATUS_GET:
  27543 		rv = bcm_ptp_servo_status_get(
  27544 			req->args.ptp_servo_status_get.unit,
  27545 			req->args.ptp_servo_status_get.ptp_id,
  27546 			req->args.ptp_servo_status_get.clock_num,
  27547 			req->args.ptp_servo_status_get.status);
  27548 		break;
  27549 	case BCM_ASYNC_ENTRY_PTP_SERVO_THRESHOLD_GET:
  27550 		rv = bcm_ptp_servo_threshold_get(
  27551 			req->args.ptp_servo_threshold_get.unit,
  27552 			req->args.ptp_servo_threshold_get.ptp_id,
  27553 			req->args.ptp_servo_threshold_get.clock_num,
  27554 			req->args.ptp_servo_threshold_get.threshold);
  27555 		break;
  27556 	case BCM_ASYNC_ENTRY_PTP_SERVO_THRESHOLD_SET:
  27557 		rv = bcm_ptp_servo_threshold_set(
  27558 			req->args.ptp_servo_threshold_set.unit,
  27559 			req->args.ptp_servo_threshold_set.ptp_id,
  27560 			req->args.ptp_servo_threshold_set.clock_num,
  27561 			req->args.ptp_servo_threshold_set.threshold);
  27562 		break;
  27563 	case BCM_ASYNC_ENTRY_PTP_SIGNAL_OUTPUT_GET:
  27564 		rv = bcm_ptp_signal_output_get(
  27565 			req->args.ptp_signal_output_get.unit,
  27566 			req->args.ptp_signal_output_get.ptp_id,
  27567 			req->args.ptp_signal_output_get.clock_num,
  27568 			req->args.ptp_signal_output_get.signal_output_count,
  27569 			req->args.ptp_signal_output_get.signal_output_id);
  27570 		break;
  27571 	case BCM_ASYNC_ENTRY_PTP_SIGNAL_OUTPUT_REMOVE:
  27572 		rv = bcm_ptp_signal_output_remove(
  27573 			req->args.ptp_signal_output_remove.unit,
  27574 			req->args.ptp_signal_output_remove.ptp_id,
  27575 			req->args.ptp_signal_output_remove.clock_num,
  27576 			req->args.ptp_signal_output_remove.signal_output_id);
  27577 		break;
  27578 	case BCM_ASYNC_ENTRY_PTP_SIGNAL_OUTPUT_SET:
  27579 		rv = bcm_ptp_signal_output_set(
  27580 			req->args.ptp_signal_output_set.unit,
  27581 			req->args.ptp_signal_output_set.ptp_id,
  27582 			req->args.ptp_signal_output_set.clock_num,
  27583 			req->args.ptp_signal_output_set.signal_output_id,
  27584 			req->args.ptp_signal_output_set.output_info);
  27585 		break;
  27586 	case BCM_ASYNC_ENTRY_PTP_SIGNALED_UNICAST_MASTER_ADD:
  27587 		rv = bcm_ptp_signaled_unicast_master_add(
  27588 			req->args.ptp_signaled_unicast_master_add.unit,
  27589 			req->args.ptp_signaled_unicast_master_add.ptp_id,
  27590 			req->args.ptp_signaled_unicast_master_add.clock_num,
  27591 			req->args.ptp_signaled_unicast_master_add.port_num,
  27592 			req->args.ptp_signaled_unicast_master_add.master_info,
  27593 			req->args.ptp_signaled_unicast_master_add.mask);
  27594 		break;
  27595 	case BCM_ASYNC_ENTRY_PTP_SIGNALED_UNICAST_MASTER_REMOVE:
  27596 		rv = bcm_ptp_signaled_unicast_master_remove(
  27597 			req->args.ptp_signaled_unicast_master_remove.unit,
  27598 			req->args.ptp_signaled_unicast_master_remove.ptp_id,
  27599 			req->args.ptp_signaled_unicast_master_remove.clock_num,
  27600 			req->args.ptp_signaled_unicast_master_remove.port_num,
  27601 			req->args.ptp_signaled_unicast_master_remove.master_info);
  27602 		break;
  27603 	case BCM_ASYNC_ENTRY_PTP_SIGNALED_UNICAST_SLAVE_LIST:
  27604 		rv = bcm_ptp_signaled_unicast_slave_list(
  27605 			req->args.ptp_signaled_unicast_slave_list.unit,
  27606 			req->args.ptp_signaled_unicast_slave_list.ptp_id,
  27607 			req->args.ptp_signaled_unicast_slave_list.clock_num,
  27608 			req->args.ptp_signaled_unicast_slave_list.port_num,
  27609 			req->args.ptp_signaled_unicast_slave_list.max_num_slaves,
  27610 			req->args.ptp_signaled_unicast_slave_list.num_slaves,
  27611 			req->args.ptp_signaled_unicast_slave_list.slave_info);
  27612 		break;
  27613 	case BCM_ASYNC_ENTRY_PTP_SIGNALED_UNICAST_SLAVE_TABLE_CLEAR:
  27614 		rv = bcm_ptp_signaled_unicast_slave_table_clear(
  27615 			req->args.ptp_signaled_unicast_slave_table_clear.unit,
  27616 			req->args.ptp_signaled_unicast_slave_table_clear.ptp_id,
  27617 			req->args.ptp_signaled_unicast_slave_table_clear.clock_num,
  27618 			req->args.ptp_signaled_unicast_slave_table_clear.port_num,
  27619 			req->args.ptp_signaled_unicast_slave_table_clear.callstack);
  27620 		break;
  27621 	case BCM_ASYNC_ENTRY_PTP_SIGNALING_ARBITER_REGISTER:
  27622 		rv = bcm_ptp_signaling_arbiter_register(
  27623 			req->args.ptp_signaling_arbiter_register.unit,
  27624 			req->args.ptp_signaling_arbiter_register.ptp_id,
  27625 			req->args.ptp_signaling_arbiter_register.clock_num,
  27626 			req->args.ptp_signaling_arbiter_register.arb,
  27627 			req->args.ptp_signaling_arbiter_register.user_data);
  27628 		break;
  27629 	case BCM_ASYNC_ENTRY_PTP_SIGNALING_ARBITER_UNREGISTER:
  27630 		rv = bcm_ptp_signaling_arbiter_unregister(
  27631 			req->args.ptp_signaling_arbiter_unregister.unit,
  27632 			req->args.ptp_signaling_arbiter_unregister.ptp_id,
  27633 			req->args.ptp_signaling_arbiter_unregister.clock_num);
  27634 		break;
  27635 	case BCM_ASYNC_ENTRY_PTP_STACK_CREATE:
  27636 		rv = bcm_ptp_stack_create(
  27637 			req->args.ptp_stack_create.unit,
  27638 			req->args.ptp_stack_create.ptp_info);
  27639 		break;
  27640 	case BCM_ASYNC_ENTRY_PTP_STACK_DESTROY:
  27641 		rv = bcm_ptp_stack_destroy(
  27642 			req->args.ptp_stack_destroy.unit,
  27643 			req->args.ptp_stack_destroy.ptp_id);
  27644 		break;
  27645 	case BCM_ASYNC_ENTRY_PTP_STACK_GET:
  27646 		rv = bcm_ptp_stack_get(
  27647 			req->args.ptp_stack_get.unit,
  27648 			req->args.ptp_stack_get.ptp_id,
  27649 			req->args.ptp_stack_get.ptp_info);
  27650 		break;
  27651 	case BCM_ASYNC_ENTRY_PTP_STACK_GET_ALL:
  27652 		rv = bcm_ptp_stack_get_all(
  27653 			req->args.ptp_stack_get_all.unit,
  27654 			req->args.ptp_stack_get_all.max_size,
  27655 			req->args.ptp_stack_get_all.ptp_info,
  27656 			req->args.ptp_stack_get_all.no_of_stacks);
  27657 		break;
  27658 	case BCM_ASYNC_ENTRY_PTP_STATIC_UNICAST_MASTER_ADD:
  27659 		rv = bcm_ptp_static_unicast_master_add(
  27660 			req->args.ptp_static_unicast_master_add.unit,
  27661 			req->args.ptp_static_unicast_master_add.ptp_id,
  27662 			req->args.ptp_static_unicast_master_add.clock_num,
  27663 			req->args.ptp_static_unicast_master_add.port_num,
  27664 			req->args.ptp_static_unicast_master_add.master_info);
  27665 		break;
  27666 	case BCM_ASYNC_ENTRY_PTP_STATIC_UNICAST_MASTER_LIST:
  27667 		rv = bcm_ptp_static_unicast_master_list(
  27668 			req->args.ptp_static_unicast_master_list.unit,
  27669 			req->args.ptp_static_unicast_master_list.ptp_id,
  27670 			req->args.ptp_static_unicast_master_list.clock_num,
  27671 			req->args.ptp_static_unicast_master_list.port_num,
  27672 			req->args.ptp_static_unicast_master_list.max_num_masters,
  27673 			req->args.ptp_static_unicast_master_list.num_masters,
  27674 			req->args.ptp_static_unicast_master_list.master_addr);
  27675 		break;
  27676 	case BCM_ASYNC_ENTRY_PTP_STATIC_UNICAST_MASTER_REMOVE:
  27677 		rv = bcm_ptp_static_unicast_master_remove(
  27678 			req->args.ptp_static_unicast_master_remove.unit,
  27679 			req->args.ptp_static_unicast_master_remove.ptp_id,
  27680 			req->args.ptp_static_unicast_master_remove.clock_num,
  27681 			req->args.ptp_static_unicast_master_remove.port_num,
  27682 			req->args.ptp_static_unicast_master_remove.master_info);
  27683 		break;
  27684 	case BCM_ASYNC_ENTRY_PTP_STATIC_UNICAST_MASTER_TABLE_CLEAR:
  27685 		rv = bcm_ptp_static_unicast_master_table_clear(
  27686 			req->args.ptp_static_unicast_master_table_clear.unit,
  27687 			req->args.ptp_static_unicast_master_table_clear.ptp_id,
  27688 			req->args.ptp_static_unicast_master_table_clear.clock_num,
  27689 			req->args.ptp_static_unicast_master_table_clear.port_num);
  27690 		break;
  27691 	case BCM_ASYNC_ENTRY_PTP_STATIC_UNICAST_MASTER_TABLE_SIZE_GET:
  27692 		rv = bcm_ptp_static_unicast_master_table_size_get(
  27693 			req->args.ptp_static_unicast_master_table_size_get.unit,
  27694 			req->args.ptp_static_unicast_master_table_size_get.ptp_id,
  27695 			req->args.ptp_static_unicast_master_table_size_get.clock_num,
  27696 			req->args.ptp_static_unicast_master_table_size_get.port_num,
  27697 			req->args.ptp_static_unicast_master_table_size_get.max_table_entries);
  27698 		break;
  27699 	case BCM_ASYNC_ENTRY_PTP_STATIC_UNICAST_SLAVE_ADD:
  27700 		rv = bcm_ptp_static_unicast_slave_add(
  27701 			req->args.ptp_static_unicast_slave_add.unit,
  27702 			req->args.ptp_static_unicast_slave_add.ptp_id,
  27703 			req->args.ptp_static_unicast_slave_add.clock_num,
  27704 			req->args.ptp_static_unicast_slave_add.port_num,
  27705 			req->args.ptp_static_unicast_slave_add.slave_info);
  27706 		break;
  27707 	case BCM_ASYNC_ENTRY_PTP_STATIC_UNICAST_SLAVE_LIST:
  27708 		rv = bcm_ptp_static_unicast_slave_list(
  27709 			req->args.ptp_static_unicast_slave_list.unit,
  27710 			req->args.ptp_static_unicast_slave_list.ptp_id,
  27711 			req->args.ptp_static_unicast_slave_list.clock_num,
  27712 			req->args.ptp_static_unicast_slave_list.port_num,
  27713 			req->args.ptp_static_unicast_slave_list.max_num_slaves,
  27714 			req->args.ptp_static_unicast_slave_list.num_slaves,
  27715 			req->args.ptp_static_unicast_slave_list.slave_info);
  27716 		break;
  27717 	case BCM_ASYNC_ENTRY_PTP_STATIC_UNICAST_SLAVE_REMOVE:
  27718 		rv = bcm_ptp_static_unicast_slave_remove(
  27719 			req->args.ptp_static_unicast_slave_remove.unit,
  27720 			req->args.ptp_static_unicast_slave_remove.ptp_id,
  27721 			req->args.ptp_static_unicast_slave_remove.clock_num,
  27722 			req->args.ptp_static_unicast_slave_remove.port_num,
  27723 			req->args.ptp_static_unicast_slave_remove.slave_info);
  27724 		break;
  27725 	case BCM_ASYNC_ENTRY_PTP_STATIC_UNICAST_SLAVE_TABLE_CLEAR:
  27726 		rv = bcm_ptp_static_unicast_slave_table_clear(
  27727 			req->args.ptp_static_unicast_slave_table_clear.unit,
  27728 			req->args.ptp_static_unicast_slave_table_clear.ptp_id,
  27729 			req->args.ptp_static_unicast_slave_table_clear.clock_num,
  27730 			req->args.ptp_static_unicast_slave_table_clear.port_num);
  27731 		break;
  27732 	case BCM_ASYNC_ENTRY_PTP_SYNC_PHY:
  27733 		rv = bcm_ptp_sync_phy(
  27734 			req->args.ptp_sync_phy.unit,
  27735 			req->args.ptp_sync_phy.ptp_id,
  27736 			req->args.ptp_sync_phy.clock_num,
  27737 			req->args.ptp_sync_phy.sync_input);
  27738 		break;
  27739 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_INIT:
  27740 		rv = bcm_ptp_telecom_g8265_init(
  27741 			req->args.ptp_telecom_g8265_init.unit,
  27742 			req->args.ptp_telecom_g8265_init.ptp_id,
  27743 			req->args.ptp_telecom_g8265_init.clock_num);
  27744 		break;
  27745 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_NETWORK_OPTION_GET:
  27746 		rv = bcm_ptp_telecom_g8265_network_option_get(
  27747 			req->args.ptp_telecom_g8265_network_option_get.unit,
  27748 			req->args.ptp_telecom_g8265_network_option_get.ptp_id,
  27749 			req->args.ptp_telecom_g8265_network_option_get.clock_num,
  27750 			req->args.ptp_telecom_g8265_network_option_get.network_option);
  27751 		break;
  27752 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_NETWORK_OPTION_SET:
  27753 		rv = bcm_ptp_telecom_g8265_network_option_set(
  27754 			req->args.ptp_telecom_g8265_network_option_set.unit,
  27755 			req->args.ptp_telecom_g8265_network_option_set.ptp_id,
  27756 			req->args.ptp_telecom_g8265_network_option_set.clock_num,
  27757 			req->args.ptp_telecom_g8265_network_option_set.network_option);
  27758 		break;
  27759 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_ADD:
  27760 		rv = bcm_ptp_telecom_g8265_packet_master_add(
  27761 			req->args.ptp_telecom_g8265_packet_master_add.unit,
  27762 			req->args.ptp_telecom_g8265_packet_master_add.ptp_id,
  27763 			req->args.ptp_telecom_g8265_packet_master_add.clock_num,
  27764 			req->args.ptp_telecom_g8265_packet_master_add.port_num,
  27765 			req->args.ptp_telecom_g8265_packet_master_add.address);
  27766 		break;
  27767 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_BEST_GET:
  27768 		rv = bcm_ptp_telecom_g8265_packet_master_best_get(
  27769 			req->args.ptp_telecom_g8265_packet_master_best_get.unit,
  27770 			req->args.ptp_telecom_g8265_packet_master_best_get.ptp_id,
  27771 			req->args.ptp_telecom_g8265_packet_master_best_get.clock_num,
  27772 			req->args.ptp_telecom_g8265_packet_master_best_get.pktmaster);
  27773 		break;
  27774 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_GET:
  27775 		rv = bcm_ptp_telecom_g8265_packet_master_get(
  27776 			req->args.ptp_telecom_g8265_packet_master_get.unit,
  27777 			req->args.ptp_telecom_g8265_packet_master_get.ptp_id,
  27778 			req->args.ptp_telecom_g8265_packet_master_get.clock_num,
  27779 			req->args.ptp_telecom_g8265_packet_master_get.address,
  27780 			req->args.ptp_telecom_g8265_packet_master_get.pktmaster);
  27781 		break;
  27782 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_LIST:
  27783 		rv = bcm_ptp_telecom_g8265_packet_master_list(
  27784 			req->args.ptp_telecom_g8265_packet_master_list.unit,
  27785 			req->args.ptp_telecom_g8265_packet_master_list.ptp_id,
  27786 			req->args.ptp_telecom_g8265_packet_master_list.clock_num,
  27787 			req->args.ptp_telecom_g8265_packet_master_list.max_master_count,
  27788 			req->args.ptp_telecom_g8265_packet_master_list.num_masters,
  27789 			req->args.ptp_telecom_g8265_packet_master_list.best_master,
  27790 			req->args.ptp_telecom_g8265_packet_master_list.pktmaster);
  27791 		break;
  27792 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_LOCKOUT_SET:
  27793 		rv = bcm_ptp_telecom_g8265_packet_master_lockout_set(
  27794 			req->args.ptp_telecom_g8265_packet_master_lockout_set.unit,
  27795 			req->args.ptp_telecom_g8265_packet_master_lockout_set.ptp_id,
  27796 			req->args.ptp_telecom_g8265_packet_master_lockout_set.clock_num,
  27797 			req->args.ptp_telecom_g8265_packet_master_lockout_set.lockout,
  27798 			req->args.ptp_telecom_g8265_packet_master_lockout_set.address);
  27799 		break;
  27800 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_NON_REVERSION_SET:
  27801 		rv = bcm_ptp_telecom_g8265_packet_master_non_reversion_set(
  27802 			req->args.ptp_telecom_g8265_packet_master_non_reversion_set.unit,
  27803 			req->args.ptp_telecom_g8265_packet_master_non_reversion_set.ptp_id,
  27804 			req->args.ptp_telecom_g8265_packet_master_non_reversion_set.clock_num,
  27805 			req->args.ptp_telecom_g8265_packet_master_non_reversion_set.nonres,
  27806 			req->args.ptp_telecom_g8265_packet_master_non_reversion_set.address);
  27807 		break;
  27808 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_PRIORITY_OVERRIDE:
  27809 		rv = bcm_ptp_telecom_g8265_packet_master_priority_override(
  27810 			req->args.ptp_telecom_g8265_packet_master_priority_override.unit,
  27811 			req->args.ptp_telecom_g8265_packet_master_priority_override.ptp_id,
  27812 			req->args.ptp_telecom_g8265_packet_master_priority_override.clock_num,
  27813 			req->args.ptp_telecom_g8265_packet_master_priority_override.override,
  27814 			req->args.ptp_telecom_g8265_packet_master_priority_override.address);
  27815 		break;
  27816 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_PRIORITY_SET:
  27817 		rv = bcm_ptp_telecom_g8265_packet_master_priority_set(
  27818 			req->args.ptp_telecom_g8265_packet_master_priority_set.unit,
  27819 			req->args.ptp_telecom_g8265_packet_master_priority_set.ptp_id,
  27820 			req->args.ptp_telecom_g8265_packet_master_priority_set.clock_num,
  27821 			req->args.ptp_telecom_g8265_packet_master_priority_set.priority,
  27822 			req->args.ptp_telecom_g8265_packet_master_priority_set.address);
  27823 		break;
  27824 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_REMOVE:
  27825 		rv = bcm_ptp_telecom_g8265_packet_master_remove(
  27826 			req->args.ptp_telecom_g8265_packet_master_remove.unit,
  27827 			req->args.ptp_telecom_g8265_packet_master_remove.ptp_id,
  27828 			req->args.ptp_telecom_g8265_packet_master_remove.clock_num,
  27829 			req->args.ptp_telecom_g8265_packet_master_remove.port_num,
  27830 			req->args.ptp_telecom_g8265_packet_master_remove.address);
  27831 		break;
  27832 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PACKET_MASTER_WAIT_DURATION_SET:
  27833 		rv = bcm_ptp_telecom_g8265_packet_master_wait_duration_set(
  27834 			req->args.ptp_telecom_g8265_packet_master_wait_duration_set.unit,
  27835 			req->args.ptp_telecom_g8265_packet_master_wait_duration_set.ptp_id,
  27836 			req->args.ptp_telecom_g8265_packet_master_wait_duration_set.clock_num,
  27837 			req->args.ptp_telecom_g8265_packet_master_wait_duration_set.wait_sec,
  27838 			req->args.ptp_telecom_g8265_packet_master_wait_duration_set.address);
  27839 		break;
  27840 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PKTSTATS_THRESHOLDS_GET:
  27841 		rv = bcm_ptp_telecom_g8265_pktstats_thresholds_get(
  27842 			req->args.ptp_telecom_g8265_pktstats_thresholds_get.unit,
  27843 			req->args.ptp_telecom_g8265_pktstats_thresholds_get.ptp_id,
  27844 			req->args.ptp_telecom_g8265_pktstats_thresholds_get.clock_num,
  27845 			req->args.ptp_telecom_g8265_pktstats_thresholds_get.thresholds);
  27846 		break;
  27847 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_PKTSTATS_THRESHOLDS_SET:
  27848 		rv = bcm_ptp_telecom_g8265_pktstats_thresholds_set(
  27849 			req->args.ptp_telecom_g8265_pktstats_thresholds_set.unit,
  27850 			req->args.ptp_telecom_g8265_pktstats_thresholds_set.ptp_id,
  27851 			req->args.ptp_telecom_g8265_pktstats_thresholds_set.clock_num,
  27852 			req->args.ptp_telecom_g8265_pktstats_thresholds_set.thresholds);
  27853 		break;
  27854 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_QUALITY_LEVEL_SET:
  27855 		rv = bcm_ptp_telecom_g8265_quality_level_set(
  27856 			req->args.ptp_telecom_g8265_quality_level_set.unit,
  27857 			req->args.ptp_telecom_g8265_quality_level_set.ptp_id,
  27858 			req->args.ptp_telecom_g8265_quality_level_set.clock_num,
  27859 			req->args.ptp_telecom_g8265_quality_level_set.ql);
  27860 		break;
  27861 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_RECEIPT_TIMEOUT_GET:
  27862 		rv = bcm_ptp_telecom_g8265_receipt_timeout_get(
  27863 			req->args.ptp_telecom_g8265_receipt_timeout_get.unit,
  27864 			req->args.ptp_telecom_g8265_receipt_timeout_get.ptp_id,
  27865 			req->args.ptp_telecom_g8265_receipt_timeout_get.clock_num,
  27866 			req->args.ptp_telecom_g8265_receipt_timeout_get.message_type,
  27867 			req->args.ptp_telecom_g8265_receipt_timeout_get.receipt_timeout);
  27868 		break;
  27869 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_RECEIPT_TIMEOUT_SET:
  27870 		rv = bcm_ptp_telecom_g8265_receipt_timeout_set(
  27871 			req->args.ptp_telecom_g8265_receipt_timeout_set.unit,
  27872 			req->args.ptp_telecom_g8265_receipt_timeout_set.ptp_id,
  27873 			req->args.ptp_telecom_g8265_receipt_timeout_set.clock_num,
  27874 			req->args.ptp_telecom_g8265_receipt_timeout_set.message_type,
  27875 			req->args.ptp_telecom_g8265_receipt_timeout_set.receipt_timeout);
  27876 		break;
  27877 	case BCM_ASYNC_ENTRY_PTP_TELECOM_G8265_SHUTDOWN:
  27878 		rv = bcm_ptp_telecom_g8265_shutdown(
  27879 			req->args.ptp_telecom_g8265_shutdown.unit);
  27880 		break;
  27881 	case BCM_ASYNC_ENTRY_PTP_TIME_FORMAT_SET:
  27882 		rv = bcm_ptp_time_format_set(
  27883 			req->args.ptp_time_format_set.unit,
  27884 			req->args.ptp_time_format_set.ptp_id,
  27885 			req->args.ptp_time_format_set.type);
  27886 		break;
  27887 	case BCM_ASYNC_ENTRY_PTP_TIMESOURCE_INPUT_STATUS_GET:
  27888 		rv = bcm_ptp_timesource_input_status_get(
  27889 			req->args.ptp_timesource_input_status_get.unit,
  27890 			req->args.ptp_timesource_input_status_get.ptp_id,
  27891 			req->args.ptp_timesource_input_status_get.clock_num,
  27892 			req->args.ptp_timesource_input_status_get.status);
  27893 		break;
  27894 	case BCM_ASYNC_ENTRY_PTP_TOD_INPUT_SOURCES_GET:
  27895 		rv = bcm_ptp_tod_input_sources_get(
  27896 			req->args.ptp_tod_input_sources_get.unit,
  27897 			req->args.ptp_tod_input_sources_get.ptp_id,
  27898 			req->args.ptp_tod_input_sources_get.clock_num,
  27899 			req->args.ptp_tod_input_sources_get.num_tod_sources,
  27900 			req->args.ptp_tod_input_sources_get.tod_sources);
  27901 		break;
  27902 	case BCM_ASYNC_ENTRY_PTP_TOD_INPUT_SOURCES_SET:
  27903 		rv = bcm_ptp_tod_input_sources_set(
  27904 			req->args.ptp_tod_input_sources_set.unit,
  27905 			req->args.ptp_tod_input_sources_set.ptp_id,
  27906 			req->args.ptp_tod_input_sources_set.clock_num,
  27907 			req->args.ptp_tod_input_sources_set.num_tod_sources,
  27908 			req->args.ptp_tod_input_sources_set.tod_sources);
  27909 		break;
  27910 	case BCM_ASYNC_ENTRY_PTP_TOD_OUTPUT_GET:
  27911 		rv = bcm_ptp_tod_output_get(
  27912 			req->args.ptp_tod_output_get.unit,
  27913 			req->args.ptp_tod_output_get.ptp_id,
  27914 			req->args.ptp_tod_output_get.clock_num,
  27915 			req->args.ptp_tod_output_get.tod_output_count,
  27916 			req->args.ptp_tod_output_get.tod_output);
  27917 		break;
  27918 	case BCM_ASYNC_ENTRY_PTP_TOD_OUTPUT_REMOVE:
  27919 		rv = bcm_ptp_tod_output_remove(
  27920 			req->args.ptp_tod_output_remove.unit,
  27921 			req->args.ptp_tod_output_remove.ptp_id,
  27922 			req->args.ptp_tod_output_remove.clock_num,
  27923 			req->args.ptp_tod_output_remove.tod_output_id);
  27924 		break;
  27925 	case BCM_ASYNC_ENTRY_PTP_TOD_OUTPUT_SET:
  27926 		rv = bcm_ptp_tod_output_set(
  27927 			req->args.ptp_tod_output_set.unit,
  27928 			req->args.ptp_tod_output_set.ptp_id,
  27929 			req->args.ptp_tod_output_set.clock_num,
  27930 			req->args.ptp_tod_output_set.tod_output_id,
  27931 			req->args.ptp_tod_output_set.output_info);
  27932 		break;
  27933 	case BCM_ASYNC_ENTRY_PTP_TRANSPARENT_CLOCK_DEFAULT_DATASET_GET:
  27934 		rv = bcm_ptp_transparent_clock_default_dataset_get(
  27935 			req->args.ptp_transparent_clock_default_dataset_get.unit,
  27936 			req->args.ptp_transparent_clock_default_dataset_get.ptp_id,
  27937 			req->args.ptp_transparent_clock_default_dataset_get.clock_num,
  27938 			req->args.ptp_transparent_clock_default_dataset_get.data_set);
  27939 		break;
  27940 	case BCM_ASYNC_ENTRY_PTP_TRANSPARENT_CLOCK_PORT_DATASET_GET:
  27941 		rv = bcm_ptp_transparent_clock_port_dataset_get(
  27942 			req->args.ptp_transparent_clock_port_dataset_get.unit,
  27943 			req->args.ptp_transparent_clock_port_dataset_get.ptp_id,
  27944 			req->args.ptp_transparent_clock_port_dataset_get.clock_num,
  27945 			req->args.ptp_transparent_clock_port_dataset_get.clock_port,
  27946 			req->args.ptp_transparent_clock_port_dataset_get.data_set);
  27947 		break;
  27948 	case BCM_ASYNC_ENTRY_PTP_UNICAST_REQUEST_DURATION_GET:
  27949 		rv = bcm_ptp_unicast_request_duration_get(
  27950 			req->args.ptp_unicast_request_duration_get.unit,
  27951 			req->args.ptp_unicast_request_duration_get.ptp_id,
  27952 			req->args.ptp_unicast_request_duration_get.clock_num,
  27953 			req->args.ptp_unicast_request_duration_get.port_num,
  27954 			req->args.ptp_unicast_request_duration_get.duration);
  27955 		break;
  27956 	case BCM_ASYNC_ENTRY_PTP_UNICAST_REQUEST_DURATION_MAX_GET:
  27957 		rv = bcm_ptp_unicast_request_duration_max_get(
  27958 			req->args.ptp_unicast_request_duration_max_get.unit,
  27959 			req->args.ptp_unicast_request_duration_max_get.ptp_id,
  27960 			req->args.ptp_unicast_request_duration_max_get.clock_num,
  27961 			req->args.ptp_unicast_request_duration_max_get.port_num,
  27962 			req->args.ptp_unicast_request_duration_max_get.duration_max);
  27963 		break;
  27964 	case BCM_ASYNC_ENTRY_PTP_UNICAST_REQUEST_DURATION_MAX_SET:
  27965 		rv = bcm_ptp_unicast_request_duration_max_set(
  27966 			req->args.ptp_unicast_request_duration_max_set.unit,
  27967 			req->args.ptp_unicast_request_duration_max_set.ptp_id,
  27968 			req->args.ptp_unicast_request_duration_max_set.clock_num,
  27969 			req->args.ptp_unicast_request_duration_max_set.port_num,
  27970 			req->args.ptp_unicast_request_duration_max_set.duration_max);
  27971 		break;
  27972 	case BCM_ASYNC_ENTRY_PTP_UNICAST_REQUEST_DURATION_MIN_GET:
  27973 		rv = bcm_ptp_unicast_request_duration_min_get(
  27974 			req->args.ptp_unicast_request_duration_min_get.unit,
  27975 			req->args.ptp_unicast_request_duration_min_get.ptp_id,
  27976 			req->args.ptp_unicast_request_duration_min_get.clock_num,
  27977 			req->args.ptp_unicast_request_duration_min_get.port_num,
  27978 			req->args.ptp_unicast_request_duration_min_get.duration_min);
  27979 		break;
  27980 	case BCM_ASYNC_ENTRY_PTP_UNICAST_REQUEST_DURATION_MIN_SET:
  27981 		rv = bcm_ptp_unicast_request_duration_min_set(
  27982 			req->args.ptp_unicast_request_duration_min_set.unit,
  27983 			req->args.ptp_unicast_request_duration_min_set.ptp_id,
  27984 			req->args.ptp_unicast_request_duration_min_set.clock_num,
  27985 			req->args.ptp_unicast_request_duration_min_set.port_num,
  27986 			req->args.ptp_unicast_request_duration_min_set.duration_min);
  27987 		break;
  27988 	case BCM_ASYNC_ENTRY_PTP_UNICAST_REQUEST_DURATION_SET:
  27989 		rv = bcm_ptp_unicast_request_duration_set(
  27990 			req->args.ptp_unicast_request_duration_set.unit,
  27991 			req->args.ptp_unicast_request_duration_set.ptp_id,
  27992 			req->args.ptp_unicast_request_duration_set.clock_num,
  27993 			req->args.ptp_unicast_request_duration_set.port_num,
  27994 			req->args.ptp_unicast_request_duration_set.duration);
  27995 		break;
  27996 #endif	/* INCLUDE_PTP */
  27997 	case BCM_ASYNC_ENTRY_QOS_CONTROL_GET:
  27998 		rv = bcm_qos_control_get(
  27999 			req->args.qos_control_get.unit,
  28000 			req->args.qos_control_get.type,
  28001 			req->args.qos_control_get.arg);
  28002 		break;
  28003 	case BCM_ASYNC_ENTRY_QOS_CONTROL_SET:
  28004 		rv = bcm_qos_control_set(
  28005 			req->args.qos_control_set.unit,
  28006 			req->args.qos_control_set.type,
  28007 			req->args.qos_control_set.arg);
  28008 		break;
  28009 	case BCM_ASYNC_ENTRY_QOS_DETACH:
  28010 		rv = bcm_qos_detach(
  28011 			req->args.qos_detach.unit);
  28012 		break;
  28013 	case BCM_ASYNC_ENTRY_QOS_INIT:
  28014 		rv = bcm_qos_init(
  28015 			req->args.qos_init.unit);
  28016 		break;
  28017 	case BCM_ASYNC_ENTRY_QOS_MAP_ADD:
  28018 		rv = bcm_qos_map_add(
  28019 			req->args.qos_map_add.unit,
  28020 			req->args.qos_map_add.flags,
  28021 			req->args.qos_map_add.map,
  28022 			req->args.qos_map_add.map_id);
  28023 		break;
  28024 	case BCM_ASYNC_ENTRY_QOS_MAP_CONTROL_GET:
  28025 		rv = bcm_qos_map_control_get(
  28026 			req->args.qos_map_control_get.unit,
  28027 			req->args.qos_map_control_get.map_id,
  28028 			req->args.qos_map_control_get.flags,
  28029 			req->args.qos_map_control_get.type,
  28030 			req->args.qos_map_control_get.arg);
  28031 		break;
  28032 	case BCM_ASYNC_ENTRY_QOS_MAP_CONTROL_SET:
  28033 		rv = bcm_qos_map_control_set(
  28034 			req->args.qos_map_control_set.unit,
  28035 			req->args.qos_map_control_set.map_id,
  28036 			req->args.qos_map_control_set.flags,
  28037 			req->args.qos_map_control_set.type,
  28038 			req->args.qos_map_control_set.arg);
  28039 		break;
  28040 	case BCM_ASYNC_ENTRY_QOS_MAP_CREATE:
  28041 		rv = bcm_qos_map_create(
  28042 			req->args.qos_map_create.unit,
  28043 			req->args.qos_map_create.flags,
  28044 			req->args.qos_map_create.map_id);
  28045 		break;
  28046 	case BCM_ASYNC_ENTRY_QOS_MAP_DELETE:
  28047 		rv = bcm_qos_map_delete(
  28048 			req->args.qos_map_delete.unit,
  28049 			req->args.qos_map_delete.flags,
  28050 			req->args.qos_map_delete.map,
  28051 			req->args.qos_map_delete.map_id);
  28052 		break;
  28053 	case BCM_ASYNC_ENTRY_QOS_MAP_DESTROY:
  28054 		rv = bcm_qos_map_destroy(
  28055 			req->args.qos_map_destroy.unit,
  28056 			req->args.qos_map_destroy.map_id);
  28057 		break;
  28058 	case BCM_ASYNC_ENTRY_QOS_MAP_ID_GET_BY_PROFILE:
  28059 		rv = bcm_qos_map_id_get_by_profile(
  28060 			req->args.qos_map_id_get_by_profile.unit,
  28061 			req->args.qos_map_id_get_by_profile.flags,
  28062 			req->args.qos_map_id_get_by_profile.profile,
  28063 			req->args.qos_map_id_get_by_profile.map_id);
  28064 		break;
  28065 	case BCM_ASYNC_ENTRY_QOS_MAP_MULTI_GET:
  28066 		rv = bcm_qos_map_multi_get(
  28067 			req->args.qos_map_multi_get.unit,
  28068 			req->args.qos_map_multi_get.flags,
  28069 			req->args.qos_map_multi_get.map_id,
  28070 			req->args.qos_map_multi_get.array_size,
  28071 			req->args.qos_map_multi_get.array,
  28072 			req->args.qos_map_multi_get.array_count);
  28073 		break;
  28074 	case BCM_ASYNC_ENTRY_QOS_MULTI_GET:
  28075 		rv = bcm_qos_multi_get(
  28076 			req->args.qos_multi_get.unit,
  28077 			req->args.qos_multi_get.array_size,
  28078 			req->args.qos_multi_get.map_ids_array,
  28079 			req->args.qos_multi_get.flags_array,
  28080 			req->args.qos_multi_get.array_count);
  28081 		break;
  28082 	case BCM_ASYNC_ENTRY_QOS_PORT_MAP_GET:
  28083 		rv = bcm_qos_port_map_get(
  28084 			req->args.qos_port_map_get.unit,
  28085 			req->args.qos_port_map_get.port,
  28086 			req->args.qos_port_map_get.ing_map,
  28087 			req->args.qos_port_map_get.egr_map);
  28088 		break;
  28089 	case BCM_ASYNC_ENTRY_QOS_PORT_MAP_SET:
  28090 		rv = bcm_qos_port_map_set(
  28091 			req->args.qos_port_map_set.unit,
  28092 			req->args.qos_port_map_set.port,
  28093 			req->args.qos_port_map_set.ing_map,
  28094 			req->args.qos_port_map_set.egr_map);
  28095 		break;
  28096 	case BCM_ASYNC_ENTRY_QOS_PORT_MAP_TYPE_GET:
  28097 		rv = bcm_qos_port_map_type_get(
  28098 			req->args.qos_port_map_type_get.unit,
  28099 			req->args.qos_port_map_type_get.port,
  28100 			req->args.qos_port_map_type_get.flags,
  28101 			req->args.qos_port_map_type_get.map_id);
  28102 		break;
  28103 	case BCM_ASYNC_ENTRY_QOS_PORT_VLAN_MAP_GET:
  28104 		rv = bcm_qos_port_vlan_map_get(
  28105 			req->args.qos_port_vlan_map_get.unit,
  28106 			req->args.qos_port_vlan_map_get.port,
  28107 			req->args.qos_port_vlan_map_get.vid,
  28108 			req->args.qos_port_vlan_map_get.ing_map,
  28109 			req->args.qos_port_vlan_map_get.egr_map);
  28110 		break;
  28111 	case BCM_ASYNC_ENTRY_QOS_PORT_VLAN_MAP_SET:
  28112 		rv = bcm_qos_port_vlan_map_set(
  28113 			req->args.qos_port_vlan_map_set.unit,
  28114 			req->args.qos_port_vlan_map_set.port,
  28115 			req->args.qos_port_vlan_map_set.vid,
  28116 			req->args.qos_port_vlan_map_set.ing_map,
  28117 			req->args.qos_port_vlan_map_set.egr_map);
  28118 		break;
  28119 	case BCM_ASYNC_ENTRY_RANGE_CREATE:
  28120 		rv = bcm_range_create(
  28121 			req->args.range_create.unit,
  28122 			req->args.range_create.flags,
  28123 			req->args.range_create.range_cfg);
  28124 		break;
  28125 	case BCM_ASYNC_ENTRY_RANGE_DESTROY:
  28126 		rv = bcm_range_destroy(
  28127 			req->args.range_destroy.unit,
  28128 			req->args.range_destroy.rid);
  28129 		break;
  28130 	case BCM_ASYNC_ENTRY_RANGE_GET:
  28131 		rv = bcm_range_get(
  28132 			req->args.range_get.unit,
  28133 			req->args.range_get.range_cfg);
  28134 		break;
  28135 	case BCM_ASYNC_ENTRY_RANGE_GROUP_CREATE:
  28136 		rv = bcm_range_group_create(
  28137 			req->args.range_group_create.unit,
  28138 			req->args.range_group_create.range_group_config);
  28139 		break;
  28140 	case BCM_ASYNC_ENTRY_RANGE_GROUP_DELETE:
  28141 		rv = bcm_range_group_delete(
  28142 			req->args.range_group_delete.unit,
  28143 			req->args.range_group_delete.range_group_config);
  28144 		break;
  28145 	case BCM_ASYNC_ENTRY_RANGE_GROUP_GET:
  28146 		rv = bcm_range_group_get(
  28147 			req->args.range_group_get.unit,
  28148 			req->args.range_group_get.range_group_config);
  28149 		break;
  28150 	case BCM_ASYNC_ENTRY_RANGE_GROUP_UPDATE:
  28151 		rv = bcm_range_group_update(
  28152 			req->args.range_group_update.unit,
  28153 			req->args.range_group_update.range_group_config);
  28154 		break;
  28155 	case BCM_ASYNC_ENTRY_RANGE_OPER_MODE_GET:
  28156 		rv = bcm_range_oper_mode_get(
  28157 			req->args.range_oper_mode_get.unit,
  28158 			req->args.range_oper_mode_get.oper_mode);
  28159 		break;
  28160 	case BCM_ASYNC_ENTRY_RANGE_OPER_MODE_SET:
  28161 		rv = bcm_range_oper_mode_set(
  28162 			req->args.range_oper_mode_set.unit,
  28163 			req->args.range_oper_mode_set.oper_mode);
  28164 		break;
  28165 	case BCM_ASYNC_ENTRY_RANGE_TRAVERSE:
  28166 		rv = bcm_range_traverse(
  28167 			req->args.range_traverse.unit,
  28168 			req->args.range_traverse.callback,
  28169 			req->args.range_traverse.user_data);
  28170 		break;
  28171 	case BCM_ASYNC_ENTRY_RATE_BANDWIDTH_GET:
  28172 		rv = bcm_rate_bandwidth_get(
  28173 			req->args.rate_bandwidth_get.unit,
  28174 			req->args.rate_bandwidth_get.port,
  28175 			req->args.rate_bandwidth_get.flags,
  28176 			req->args.rate_bandwidth_get.kbits_sec,
  28177 			req->args.rate_bandwidth_get.kbits_burst);
  28178 		break;
  28179 	case BCM_ASYNC_ENTRY_RATE_BANDWIDTH_SET:
  28180 		rv = bcm_rate_bandwidth_set(
  28181 			req->args.rate_bandwidth_set.unit,
  28182 			req->args.rate_bandwidth_set.port,
  28183 			req->args.rate_bandwidth_set.flags,
  28184 			req->args.rate_bandwidth_set.kbits_sec,
  28185 			req->args.rate_bandwidth_set.kbits_burst);
  28186 		break;
  28187 	case BCM_ASYNC_ENTRY_RATE_BCAST_GET:
  28188 		rv = bcm_rate_bcast_get(
  28189 			req->args.rate_bcast_get.unit,
  28190 			req->args.rate_bcast_get.pps,
  28191 			req->args.rate_bcast_get.flags,
  28192 			req->args.rate_bcast_get.port);
  28193 		break;
  28194 	case BCM_ASYNC_ENTRY_RATE_BCAST_SET:
  28195 		rv = bcm_rate_bcast_set(
  28196 			req->args.rate_bcast_set.unit,
  28197 			req->args.rate_bcast_set.pps,
  28198 			req->args.rate_bcast_set.flags,
  28199 			req->args.rate_bcast_set.port);
  28200 		break;
  28201 	case BCM_ASYNC_ENTRY_RATE_DLFBC_GET:
  28202 		rv = bcm_rate_dlfbc_get(
  28203 			req->args.rate_dlfbc_get.unit,
  28204 			req->args.rate_dlfbc_get.pps,
  28205 			req->args.rate_dlfbc_get.flags,
  28206 			req->args.rate_dlfbc_get.port);
  28207 		break;
  28208 	case BCM_ASYNC_ENTRY_RATE_DLFBC_SET:
  28209 		rv = bcm_rate_dlfbc_set(
  28210 			req->args.rate_dlfbc_set.unit,
  28211 			req->args.rate_dlfbc_set.pps,
  28212 			req->args.rate_dlfbc_set.flags,
  28213 			req->args.rate_dlfbc_set.port);
  28214 		break;
  28215 	case BCM_ASYNC_ENTRY_RATE_GET:
  28216 		rv = bcm_rate_get(
  28217 			req->args.rate_get.unit,
  28218 			req->args.rate_get.pps,
  28219 			req->args.rate_get.flags);
  28220 		break;
  28221 	case BCM_ASYNC_ENTRY_RATE_MCAST_GET:
  28222 		rv = bcm_rate_mcast_get(
  28223 			req->args.rate_mcast_get.unit,
  28224 			req->args.rate_mcast_get.pps,
  28225 			req->args.rate_mcast_get.flags,
  28226 			req->args.rate_mcast_get.port);
  28227 		break;
  28228 	case BCM_ASYNC_ENTRY_RATE_MCAST_SET:
  28229 		rv = bcm_rate_mcast_set(
  28230 			req->args.rate_mcast_set.unit,
  28231 			req->args.rate_mcast_set.pps,
  28232 			req->args.rate_mcast_set.flags,
  28233 			req->args.rate_mcast_set.port);
  28234 		break;
  28235 	case BCM_ASYNC_ENTRY_RATE_PACKET_GET:
  28236 		rv = bcm_rate_packet_get(
  28237 			req->args.rate_packet_get.unit,
  28238 			req->args.rate_packet_get.port,
  28239 			req->args.rate_packet_get.pkt_rate);
  28240 		break;
  28241 	case BCM_ASYNC_ENTRY_RATE_PACKET_SET:
  28242 		rv = bcm_rate_packet_set(
  28243 			req->args.rate_packet_set.unit,
  28244 			req->args.rate_packet_set.port,
  28245 			req->args.rate_packet_set.pkt_rate);
  28246 		break;
  28247 	case BCM_ASYNC_ENTRY_RATE_SET:
  28248 		rv = bcm_rate_set(
  28249 			req->args.rate_set.unit,
  28250 			req->args.rate_set.pps,
  28251 			req->args.rate_set.flags);
  28252 		break;
  28253 	case BCM_ASYNC_ENTRY_RATE_TYPE_GET:
  28254 		rv = bcm_rate_type_get(
  28255 			req->args.rate_type_get.unit,
  28256 			req->args.rate_type_get.rl);
  28257 		break;
  28258 	case BCM_ASYNC_ENTRY_RATE_TYPE_SET:
  28259 		rv = bcm_rate_type_set(
  28260 			req->args.rate_type_set.unit,
  28261 			req->args.rate_type_set.rl);
  28262 		break;
  28263 #ifdef	INCLUDE_REGEX
  28264 	case BCM_ASYNC_ENTRY_REGEX_CONFIG_GET:
  28265 		rv = bcm_regex_config_get(
  28266 			req->args.regex_config_get.unit,
  28267 			req->args.regex_config_get.config);
  28268 		break;
  28269 	case BCM_ASYNC_ENTRY_REGEX_CONFIG_SET:
  28270 		rv = bcm_regex_config_set(
  28271 			req->args.regex_config_set.unit,
  28272 			req->args.regex_config_set.config);
  28273 		break;
  28274 	case BCM_ASYNC_ENTRY_REGEX_ENGINE_CREATE:
  28275 		rv = bcm_regex_engine_create(
  28276 			req->args.regex_engine_create.unit,
  28277 			req->args.regex_engine_create.config,
  28278 			req->args.regex_engine_create.engid);
  28279 		break;
  28280 	case BCM_ASYNC_ENTRY_REGEX_ENGINE_DESTROY:
  28281 		rv = bcm_regex_engine_destroy(
  28282 			req->args.regex_engine_destroy.unit,
  28283 			req->args.regex_engine_destroy.engid);
  28284 		break;
  28285 	case BCM_ASYNC_ENTRY_REGEX_ENGINE_GET:
  28286 		rv = bcm_regex_engine_get(
  28287 			req->args.regex_engine_get.unit,
  28288 			req->args.regex_engine_get.engid,
  28289 			req->args.regex_engine_get.config);
  28290 		break;
  28291 	case BCM_ASYNC_ENTRY_REGEX_ENGINE_INFO_GET:
  28292 		rv = bcm_regex_engine_info_get(
  28293 			req->args.regex_engine_info_get.unit,
  28294 			req->args.regex_engine_info_get.engine_id,
  28295 			req->args.regex_engine_info_get.regex_engine_info);
  28296 		break;
  28297 	case BCM_ASYNC_ENTRY_REGEX_ENGINE_TRAVERSE:
  28298 		rv = bcm_regex_engine_traverse(
  28299 			req->args.regex_engine_traverse.unit,
  28300 			req->args.regex_engine_traverse.cb,
  28301 			req->args.regex_engine_traverse.user_data);
  28302 		break;
  28303 	case BCM_ASYNC_ENTRY_REGEX_EXCLUDE_ADD:
  28304 		rv = bcm_regex_exclude_add(
  28305 			req->args.regex_exclude_add.unit,
  28306 			req->args.regex_exclude_add.protocol,
  28307 			req->args.regex_exclude_add.l4_start,
  28308 			req->args.regex_exclude_add.l4_end);
  28309 		break;
  28310 	case BCM_ASYNC_ENTRY_REGEX_EXCLUDE_DELETE:
  28311 		rv = bcm_regex_exclude_delete(
  28312 			req->args.regex_exclude_delete.unit,
  28313 			req->args.regex_exclude_delete.protocol,
  28314 			req->args.regex_exclude_delete.l4_start,
  28315 			req->args.regex_exclude_delete.l4_end);
  28316 		break;
  28317 	case BCM_ASYNC_ENTRY_REGEX_EXCLUDE_DELETE_ALL:
  28318 		rv = bcm_regex_exclude_delete_all(
  28319 			req->args.regex_exclude_delete_all.unit);
  28320 		break;
  28321 	case BCM_ASYNC_ENTRY_REGEX_EXCLUDE_GET:
  28322 		rv = bcm_regex_exclude_get(
  28323 			req->args.regex_exclude_get.unit,
  28324 			req->args.regex_exclude_get.array_size,
  28325 			req->args.regex_exclude_get.protocol,
  28326 			req->args.regex_exclude_get.l4low,
  28327 			req->args.regex_exclude_get.l4high,
  28328 			req->args.regex_exclude_get.array_count);
  28329 		break;
  28330 	case BCM_ASYNC_ENTRY_REGEX_GET_MATCH_ID:
  28331 		rv = bcm_regex_get_match_id(
  28332 			req->args.regex_get_match_id.unit,
  28333 			req->args.regex_get_match_id.signature_id,
  28334 			req->args.regex_get_match_id.match_id);
  28335 		break;
  28336 	case BCM_ASYNC_ENTRY_REGEX_GET_SIG_ID:
  28337 		rv = bcm_regex_get_sig_id(
  28338 			req->args.regex_get_sig_id.unit,
  28339 			req->args.regex_get_sig_id.match_id,
  28340 			req->args.regex_get_sig_id.signature_id);
  28341 		break;
  28342 	case BCM_ASYNC_ENTRY_REGEX_INFO_GET:
  28343 		rv = bcm_regex_info_get(
  28344 			req->args.regex_info_get.unit,
  28345 			req->args.regex_info_get.regex_info);
  28346 		break;
  28347 	case BCM_ASYNC_ENTRY_REGEX_INIT:
  28348 		rv = bcm_regex_init(
  28349 			req->args.regex_init.unit);
  28350 		break;
  28351 	case BCM_ASYNC_ENTRY_REGEX_MATCH_CHECK:
  28352 		rv = bcm_regex_match_check(
  28353 			req->args.regex_match_check.unit,
  28354 			req->args.regex_match_check.matches,
  28355 			req->args.regex_match_check.count,
  28356 			req->args.regex_match_check.metric);
  28357 		break;
  28358 	case BCM_ASYNC_ENTRY_REGEX_MATCH_SET:
  28359 		rv = bcm_regex_match_set(
  28360 			req->args.regex_match_set.unit,
  28361 			req->args.regex_match_set.engid,
  28362 			req->args.regex_match_set.matches,
  28363 			req->args.regex_match_set.count);
  28364 		break;
  28365 	case BCM_ASYNC_ENTRY_REGEX_POLICY_ACTION_ADD:
  28366 		rv = bcm_regex_policy_action_add(
  28367 			req->args.regex_policy_action_add.unit,
  28368 			req->args.regex_policy_action_add.policy,
  28369 			req->args.regex_policy_action_add.action,
  28370 			req->args.regex_policy_action_add.param0,
  28371 			req->args.regex_policy_action_add.param1);
  28372 		break;
  28373 	case BCM_ASYNC_ENTRY_REGEX_POLICY_ACTION_DELETE:
  28374 		rv = bcm_regex_policy_action_delete(
  28375 			req->args.regex_policy_action_delete.unit,
  28376 			req->args.regex_policy_action_delete.policy,
  28377 			req->args.regex_policy_action_delete.action,
  28378 			req->args.regex_policy_action_delete.param0,
  28379 			req->args.regex_policy_action_delete.param1);
  28380 		break;
  28381 	case BCM_ASYNC_ENTRY_REGEX_POLICY_ACTION_GET:
  28382 		rv = bcm_regex_policy_action_get(
  28383 			req->args.regex_policy_action_get.unit,
  28384 			req->args.regex_policy_action_get.policy,
  28385 			req->args.regex_policy_action_get.action,
  28386 			req->args.regex_policy_action_get.param0,
  28387 			req->args.regex_policy_action_get.param1);
  28388 		break;
  28389 	case BCM_ASYNC_ENTRY_REGEX_POLICY_ACTION_MAC_ADD:
  28390 		rv = bcm_regex_policy_action_mac_add(
  28391 			req->args.regex_policy_action_mac_add.unit,
  28392 			req->args.regex_policy_action_mac_add.policy,
  28393 			req->args.regex_policy_action_mac_add.action,
  28394 			req->args.regex_policy_action_mac_add.mac);
  28395 		break;
  28396 	case BCM_ASYNC_ENTRY_REGEX_POLICY_ACTION_MAC_GET:
  28397 		rv = bcm_regex_policy_action_mac_get(
  28398 			req->args.regex_policy_action_mac_get.unit,
  28399 			req->args.regex_policy_action_mac_get.policy,
  28400 			req->args.regex_policy_action_mac_get.action,
  28401 			req->args.regex_policy_action_mac_get.mac);
  28402 		break;
  28403 	case BCM_ASYNC_ENTRY_REGEX_POLICY_ACTION_PORTS_ADD:
  28404 		rv = bcm_regex_policy_action_ports_add(
  28405 			req->args.regex_policy_action_ports_add.unit,
  28406 			req->args.regex_policy_action_ports_add.policy,
  28407 			req->args.regex_policy_action_ports_add.action,
  28408 			req->args.regex_policy_action_ports_add.pbmp);
  28409 		break;
  28410 	case BCM_ASYNC_ENTRY_REGEX_POLICY_ACTION_PORTS_GET:
  28411 		rv = bcm_regex_policy_action_ports_get(
  28412 			req->args.regex_policy_action_ports_get.unit,
  28413 			req->args.regex_policy_action_ports_get.policy,
  28414 			req->args.regex_policy_action_ports_get.action,
  28415 			req->args.regex_policy_action_ports_get.pbmp);
  28416 		break;
  28417 	case BCM_ASYNC_ENTRY_REGEX_POLICY_ACTION_REMOVE:
  28418 		rv = bcm_regex_policy_action_remove(
  28419 			req->args.regex_policy_action_remove.unit,
  28420 			req->args.regex_policy_action_remove.policy,
  28421 			req->args.regex_policy_action_remove.action);
  28422 		break;
  28423 	case BCM_ASYNC_ENTRY_REGEX_POLICY_ACTION_REMOVE_ALL:
  28424 		rv = bcm_regex_policy_action_remove_all(
  28425 			req->args.regex_policy_action_remove_all.unit,
  28426 			req->args.regex_policy_action_remove_all.policy);
  28427 		break;
  28428 	case BCM_ASYNC_ENTRY_REGEX_POLICY_CREATE:
  28429 		rv = bcm_regex_policy_create(
  28430 			req->args.regex_policy_create.unit,
  28431 			req->args.regex_policy_create.flags,
  28432 			req->args.regex_policy_create.policy);
  28433 		break;
  28434 	case BCM_ASYNC_ENTRY_REGEX_POLICY_DESTROY:
  28435 		rv = bcm_regex_policy_destroy(
  28436 			req->args.regex_policy_destroy.unit,
  28437 			req->args.regex_policy_destroy.policy);
  28438 		break;
  28439 	case BCM_ASYNC_ENTRY_REGEX_POLICY_DESTROY_ALL:
  28440 		rv = bcm_regex_policy_destroy_all(
  28441 			req->args.regex_policy_destroy_all.unit);
  28442 		break;
  28443 	case BCM_ASYNC_ENTRY_REGEX_POLICY_INSTALL:
  28444 		rv = bcm_regex_policy_install(
  28445 			req->args.regex_policy_install.unit,
  28446 			req->args.regex_policy_install.policy);
  28447 		break;
  28448 	case BCM_ASYNC_ENTRY_REGEX_POLICY_POLICER_ATTACH:
  28449 		rv = bcm_regex_policy_policer_attach(
  28450 			req->args.regex_policy_policer_attach.unit,
  28451 			req->args.regex_policy_policer_attach.policy,
  28452 			req->args.regex_policy_policer_attach.level,
  28453 			req->args.regex_policy_policer_attach.policer_id);
  28454 		break;
  28455 	case BCM_ASYNC_ENTRY_REGEX_POLICY_POLICER_DETACH:
  28456 		rv = bcm_regex_policy_policer_detach(
  28457 			req->args.regex_policy_policer_detach.unit,
  28458 			req->args.regex_policy_policer_detach.policy,
  28459 			req->args.regex_policy_policer_detach.level);
  28460 		break;
  28461 	case BCM_ASYNC_ENTRY_REGEX_POLICY_POLICER_DETACH_ALL:
  28462 		rv = bcm_regex_policy_policer_detach_all(
  28463 			req->args.regex_policy_policer_detach_all.unit,
  28464 			req->args.regex_policy_policer_detach_all.policy);
  28465 		break;
  28466 	case BCM_ASYNC_ENTRY_REGEX_POLICY_POLICER_GET:
  28467 		rv = bcm_regex_policy_policer_get(
  28468 			req->args.regex_policy_policer_get.unit,
  28469 			req->args.regex_policy_policer_get.policy,
  28470 			req->args.regex_policy_policer_get.level,
  28471 			req->args.regex_policy_policer_get.policer_id);
  28472 		break;
  28473 	case BCM_ASYNC_ENTRY_REGEX_POLICY_REMOVE:
  28474 		rv = bcm_regex_policy_remove(
  28475 			req->args.regex_policy_remove.unit,
  28476 			req->args.regex_policy_remove.policy);
  28477 		break;
  28478 	case BCM_ASYNC_ENTRY_REGEX_POLICY_STAT_ATTACH:
  28479 		rv = bcm_regex_policy_stat_attach(
  28480 			req->args.regex_policy_stat_attach.unit,
  28481 			req->args.regex_policy_stat_attach.policy,
  28482 			req->args.regex_policy_stat_attach.stat_id);
  28483 		break;
  28484 	case BCM_ASYNC_ENTRY_REGEX_POLICY_STAT_DETACH:
  28485 		rv = bcm_regex_policy_stat_detach(
  28486 			req->args.regex_policy_stat_detach.unit,
  28487 			req->args.regex_policy_stat_detach.policy,
  28488 			req->args.regex_policy_stat_detach.stat_id);
  28489 		break;
  28490 	case BCM_ASYNC_ENTRY_REGEX_POLICY_STAT_GET:
  28491 		rv = bcm_regex_policy_stat_get(
  28492 			req->args.regex_policy_stat_get.unit,
  28493 			req->args.regex_policy_stat_get.policy,
  28494 			req->args.regex_policy_stat_get.stat_id);
  28495 		break;
  28496 	case BCM_ASYNC_ENTRY_REGEX_REPORT_REGISTER:
  28497 		rv = bcm_regex_report_register(
  28498 			req->args.regex_report_register.unit,
  28499 			req->args.regex_report_register.reports,
  28500 			req->args.regex_report_register.callback,
  28501 			req->args.regex_report_register.user_data);
  28502 		break;
  28503 	case BCM_ASYNC_ENTRY_REGEX_REPORT_UNREGISTER:
  28504 		rv = bcm_regex_report_unregister(
  28505 			req->args.regex_report_unregister.unit,
  28506 			req->args.regex_report_unregister.reports,
  28507 			req->args.regex_report_unregister.callback,
  28508 			req->args.regex_report_unregister.user_data);
  28509 		break;
  28510 	case BCM_ASYNC_ENTRY_REGEX_SESSION_ADD:
  28511 		rv = bcm_regex_session_add(
  28512 			req->args.regex_session_add.unit,
  28513 			req->args.regex_session_add.flags,
  28514 			req->args.regex_session_add.key,
  28515 			req->args.regex_session_add.session);
  28516 		break;
  28517 	case BCM_ASYNC_ENTRY_REGEX_SESSION_DELETE:
  28518 		rv = bcm_regex_session_delete(
  28519 			req->args.regex_session_delete.unit,
  28520 			req->args.regex_session_delete.key);
  28521 		break;
  28522 	case BCM_ASYNC_ENTRY_REGEX_SESSION_DELETE_ALL:
  28523 		rv = bcm_regex_session_delete_all(
  28524 			req->args.regex_session_delete_all.unit);
  28525 		break;
  28526 	case BCM_ASYNC_ENTRY_REGEX_SESSION_GET:
  28527 		rv = bcm_regex_session_get(
  28528 			req->args.regex_session_get.unit,
  28529 			req->args.regex_session_get.flags,
  28530 			req->args.regex_session_get.key,
  28531 			req->args.regex_session_get.session);
  28532 		break;
  28533 	case BCM_ASYNC_ENTRY_REGEX_SESSION_POLICY_UPDATE:
  28534 		rv = bcm_regex_session_policy_update(
  28535 			req->args.regex_session_policy_update.unit,
  28536 			req->args.regex_session_policy_update.flags,
  28537 			req->args.regex_session_policy_update.flow_index,
  28538 			req->args.regex_session_policy_update.policy);
  28539 		break;
  28540 	case BCM_ASYNC_ENTRY_REGEX_SESSION_TRAVERSE:
  28541 		rv = bcm_regex_session_traverse(
  28542 			req->args.regex_session_traverse.unit,
  28543 			req->args.regex_session_traverse.flags,
  28544 			req->args.regex_session_traverse.cb,
  28545 			req->args.regex_session_traverse.user_data);
  28546 		break;
  28547 	case BCM_ASYNC_ENTRY_REGEX_STAT_CREATE:
  28548 		rv = bcm_regex_stat_create(
  28549 			req->args.regex_stat_create.unit,
  28550 			req->args.regex_stat_create.flags,
  28551 			req->args.regex_stat_create.nstat,
  28552 			req->args.regex_stat_create.stat_arr,
  28553 			req->args.regex_stat_create.stat_id);
  28554 		break;
  28555 	case BCM_ASYNC_ENTRY_REGEX_STAT_DESTROY:
  28556 		rv = bcm_regex_stat_destroy(
  28557 			req->args.regex_stat_destroy.unit,
  28558 			req->args.regex_stat_destroy.stat_id);
  28559 		break;
  28560 	case BCM_ASYNC_ENTRY_REGEX_STAT_GET:
  28561 		rv = bcm_regex_stat_get(
  28562 			req->args.regex_stat_get.unit,
  28563 			req->args.regex_stat_get.type,
  28564 			req->args.regex_stat_get.val);
  28565 		break;
  28566 	case BCM_ASYNC_ENTRY_REGEX_STAT_SET:
  28567 		rv = bcm_regex_stat_set(
  28568 			req->args.regex_stat_set.unit,
  28569 			req->args.regex_stat_set.type,
  28570 			req->args.regex_stat_set.val);
  28571 		break;
  28572 #endif	/* INCLUDE_REGEX */
  28573 	case BCM_ASYNC_ENTRY_RX_COPYTOCPU_CONFIG_ADD:
  28574 		rv = bcm_rx_CopyToCpu_config_add(
  28575 			req->args.rx_CopyToCpu_config_add.unit,
  28576 			req->args.rx_CopyToCpu_config_add.options,
  28577 			req->args.rx_CopyToCpu_config_add.copyToCpu_config);
  28578 		break;
  28579 	case BCM_ASYNC_ENTRY_RX_COPYTOCPU_CONFIG_DELETE:
  28580 		rv = bcm_rx_CopyToCpu_config_delete(
  28581 			req->args.rx_CopyToCpu_config_delete.unit,
  28582 			req->args.rx_CopyToCpu_config_delete.index);
  28583 		break;
  28584 	case BCM_ASYNC_ENTRY_RX_COPYTOCPU_CONFIG_DELETE_ALL:
  28585 		rv = bcm_rx_CopyToCpu_config_delete_all(
  28586 			req->args.rx_CopyToCpu_config_delete_all.unit);
  28587 		break;
  28588 	case BCM_ASYNC_ENTRY_RX_COPYTOCPU_CONFIG_GET:
  28589 		rv = bcm_rx_CopyToCpu_config_get(
  28590 			req->args.rx_CopyToCpu_config_get.unit,
  28591 			req->args.rx_CopyToCpu_config_get.index,
  28592 			req->args.rx_CopyToCpu_config_get.copyToCpu_config);
  28593 		break;
  28594 	case BCM_ASYNC_ENTRY_RX_COPYTOCPU_CONFIG_GET_ALL:
  28595 		rv = bcm_rx_CopyToCpu_config_get_all(
  28596 			req->args.rx_CopyToCpu_config_get_all.unit,
  28597 			req->args.rx_CopyToCpu_config_get_all.entries_max,
  28598 			req->args.rx_CopyToCpu_config_get_all.copyToCpu_config,
  28599 			req->args.rx_CopyToCpu_config_get_all.entries_count);
  28600 		break;
  28601 	case BCM_ASYNC_ENTRY_RX_ACTIVE:
  28602 		rv = bcm_rx_active(
  28603 			req->args.rx_active.unit);
  28604 		break;
  28605 	case BCM_ASYNC_ENTRY_RX_ALLOC:
  28606 		rv = bcm_rx_alloc(
  28607 			req->args.rx_alloc.unit,
  28608 			req->args.rx_alloc.pkt_size,
  28609 			req->args.rx_alloc.flags,
  28610 			req->args.rx_alloc.buf);
  28611 		break;
  28612 	case BCM_ASYNC_ENTRY_RX_BURST_GET:
  28613 		rv = bcm_rx_burst_get(
  28614 			req->args.rx_burst_get.unit,
  28615 			req->args.rx_burst_get.burst);
  28616 		break;
  28617 	case BCM_ASYNC_ENTRY_RX_BURST_SET:
  28618 		rv = bcm_rx_burst_set(
  28619 			req->args.rx_burst_set.unit,
  28620 			req->args.rx_burst_set.burst);
  28621 		break;
  28622 	case BCM_ASYNC_ENTRY_RX_CFG_GET:
  28623 		rv = bcm_rx_cfg_get(
  28624 			req->args.rx_cfg_get.unit,
  28625 			req->args.rx_cfg_get.cfg);
  28626 		break;
  28627 	case BCM_ASYNC_ENTRY_RX_CFG_INIT:
  28628 		rv = bcm_rx_cfg_init(
  28629 			req->args.rx_cfg_init.unit);
  28630 		break;
  28631 	case BCM_ASYNC_ENTRY_RX_CHANNELS_RUNNING:
  28632 		rv = bcm_rx_channels_running(
  28633 			req->args.rx_channels_running.unit,
  28634 			req->args.rx_channels_running.channels);
  28635 		break;
  28636 	case BCM_ASYNC_ENTRY_RX_CLEAR:
  28637 		rv = bcm_rx_clear(
  28638 			req->args.rx_clear.unit);
  28639 		break;
  28640 	case BCM_ASYNC_ENTRY_RX_CONTROL_GET:
  28641 		rv = bcm_rx_control_get(
  28642 			req->args.rx_control_get.unit,
  28643 			req->args.rx_control_get.type,
  28644 			req->args.rx_control_get.arg);
  28645 		break;
  28646 	case BCM_ASYNC_ENTRY_RX_CONTROL_SET:
  28647 		rv = bcm_rx_control_set(
  28648 			req->args.rx_control_set.unit,
  28649 			req->args.rx_control_set.type,
  28650 			req->args.rx_control_set.arg);
  28651 		break;
  28652 	case BCM_ASYNC_ENTRY_RX_COS_BURST_GET:
  28653 		rv = bcm_rx_cos_burst_get(
  28654 			req->args.rx_cos_burst_get.unit,
  28655 			req->args.rx_cos_burst_get.cos,
  28656 			req->args.rx_cos_burst_get.burst);
  28657 		break;
  28658 	case BCM_ASYNC_ENTRY_RX_COS_BURST_SET:
  28659 		rv = bcm_rx_cos_burst_set(
  28660 			req->args.rx_cos_burst_set.unit,
  28661 			req->args.rx_cos_burst_set.cos,
  28662 			req->args.rx_cos_burst_set.burst);
  28663 		break;
  28664 	case BCM_ASYNC_ENTRY_RX_COS_MAX_LEN_GET:
  28665 		rv = bcm_rx_cos_max_len_get(
  28666 			req->args.rx_cos_max_len_get.unit,
  28667 			req->args.rx_cos_max_len_get.cos,
  28668 			req->args.rx_cos_max_len_get.max_q_len);
  28669 		break;
  28670 	case BCM_ASYNC_ENTRY_RX_COS_MAX_LEN_SET:
  28671 		rv = bcm_rx_cos_max_len_set(
  28672 			req->args.rx_cos_max_len_set.unit,
  28673 			req->args.rx_cos_max_len_set.cos,
  28674 			req->args.rx_cos_max_len_set.max_q_len);
  28675 		break;
  28676 	case BCM_ASYNC_ENTRY_RX_COS_RATE_GET:
  28677 		rv = bcm_rx_cos_rate_get(
  28678 			req->args.rx_cos_rate_get.unit,
  28679 			req->args.rx_cos_rate_get.cos,
  28680 			req->args.rx_cos_rate_get.pps);
  28681 		break;
  28682 	case BCM_ASYNC_ENTRY_RX_COS_RATE_SET:
  28683 		rv = bcm_rx_cos_rate_set(
  28684 			req->args.rx_cos_rate_set.unit,
  28685 			req->args.rx_cos_rate_set.cos,
  28686 			req->args.rx_cos_rate_set.pps);
  28687 		break;
  28688 	case BCM_ASYNC_ENTRY_RX_COSQ_MAPPING_DELETE:
  28689 		rv = bcm_rx_cosq_mapping_delete(
  28690 			req->args.rx_cosq_mapping_delete.unit,
  28691 			req->args.rx_cosq_mapping_delete.index);
  28692 		break;
  28693 	case BCM_ASYNC_ENTRY_RX_COSQ_MAPPING_EXTENDED_GET:
  28694 		rv = bcm_rx_cosq_mapping_extended_get(
  28695 			req->args.rx_cosq_mapping_extended_get.unit,
  28696 			req->args.rx_cosq_mapping_extended_get.rx_cosq_mapping);
  28697 		break;
  28698 	case BCM_ASYNC_ENTRY_RX_COSQ_MAPPING_EXTENDED_SET:
  28699 		rv = bcm_rx_cosq_mapping_extended_set(
  28700 			req->args.rx_cosq_mapping_extended_set.unit,
  28701 			req->args.rx_cosq_mapping_extended_set.options,
  28702 			req->args.rx_cosq_mapping_extended_set.rx_cosq_mapping);
  28703 		break;
  28704 	case BCM_ASYNC_ENTRY_RX_COSQ_MAPPING_GET:
  28705 		rv = bcm_rx_cosq_mapping_get(
  28706 			req->args.rx_cosq_mapping_get.unit,
  28707 			req->args.rx_cosq_mapping_get.index,
  28708 			req->args.rx_cosq_mapping_get.reasons,
  28709 			req->args.rx_cosq_mapping_get.reasons_mask,
  28710 			req->args.rx_cosq_mapping_get.int_prio,
  28711 			req->args.rx_cosq_mapping_get.int_prio_mask,
  28712 			req->args.rx_cosq_mapping_get.packet_type,
  28713 			req->args.rx_cosq_mapping_get.packet_type_mask,
  28714 			req->args.rx_cosq_mapping_get.cosq);
  28715 		break;
  28716 	case BCM_ASYNC_ENTRY_RX_COSQ_MAPPING_REASONS_GET:
  28717 		rv = bcm_rx_cosq_mapping_reasons_get(
  28718 			req->args.rx_cosq_mapping_reasons_get.unit,
  28719 			req->args.rx_cosq_mapping_reasons_get.reasons);
  28720 		break;
  28721 	case BCM_ASYNC_ENTRY_RX_COSQ_MAPPING_SET:
  28722 		rv = bcm_rx_cosq_mapping_set(
  28723 			req->args.rx_cosq_mapping_set.unit,
  28724 			req->args.rx_cosq_mapping_set.index,
  28725 			req->args.rx_cosq_mapping_set.reasons,
  28726 			req->args.rx_cosq_mapping_set.reasons_mask,
  28727 			req->args.rx_cosq_mapping_set.int_prio,
  28728 			req->args.rx_cosq_mapping_set.int_prio_mask,
  28729 			req->args.rx_cosq_mapping_set.packet_type,
  28730 			req->args.rx_cosq_mapping_set.packet_type_mask,
  28731 			req->args.rx_cosq_mapping_set.cosq);
  28732 		break;
  28733 	case BCM_ASYNC_ENTRY_RX_COSQ_MAPPING_SIZE_GET:
  28734 		rv = bcm_rx_cosq_mapping_size_get(
  28735 			req->args.rx_cosq_mapping_size_get.unit,
  28736 			req->args.rx_cosq_mapping_size_get.size);
  28737 		break;
  28738 	case BCM_ASYNC_ENTRY_RX_CPU_RATE_GET:
  28739 		rv = bcm_rx_cpu_rate_get(
  28740 			req->args.rx_cpu_rate_get.unit,
  28741 			req->args.rx_cpu_rate_get.pps);
  28742 		break;
  28743 	case BCM_ASYNC_ENTRY_RX_CPU_RATE_SET:
  28744 		rv = bcm_rx_cpu_rate_set(
  28745 			req->args.rx_cpu_rate_set.unit,
  28746 			req->args.rx_cpu_rate_set.pps);
  28747 		break;
  28748 	case BCM_ASYNC_ENTRY_RX_FREE:
  28749 		rv = bcm_rx_free(
  28750 			req->args.rx_free.unit,
  28751 			req->args.rx_free.pkt_data);
  28752 		break;
  28753 	case BCM_ASYNC_ENTRY_RX_FREE_ENQUEUE:
  28754 		rv = bcm_rx_free_enqueue(
  28755 			req->args.rx_free_enqueue.unit,
  28756 			req->args.rx_free_enqueue.pkt_data);
  28757 		break;
  28758 	case BCM_ASYNC_ENTRY_RX_INIT:
  28759 		rv = bcm_rx_init(
  28760 			req->args.rx_init.unit);
  28761 		break;
  28762 	case BCM_ASYNC_ENTRY_RX_MTU_GET:
  28763 		rv = bcm_rx_mtu_get(
  28764 			req->args.rx_mtu_get.unit,
  28765 			req->args.rx_mtu_get.config);
  28766 		break;
  28767 	case BCM_ASYNC_ENTRY_RX_MTU_PROFILE_GET:
  28768 		rv = bcm_rx_mtu_profile_get(
  28769 			req->args.rx_mtu_profile_get.unit,
  28770 			req->args.rx_mtu_profile_get.flags,
  28771 			req->args.rx_mtu_profile_get.mtu_key,
  28772 			req->args.rx_mtu_profile_get.mtu_value);
  28773 		break;
  28774 	case BCM_ASYNC_ENTRY_RX_MTU_PROFILE_SET:
  28775 		rv = bcm_rx_mtu_profile_set(
  28776 			req->args.rx_mtu_profile_set.unit,
  28777 			req->args.rx_mtu_profile_set.flags,
  28778 			req->args.rx_mtu_profile_set.mtu_key,
  28779 			req->args.rx_mtu_profile_set.mtu_value);
  28780 		break;
  28781 	case BCM_ASYNC_ENTRY_RX_MTU_SET:
  28782 		rv = bcm_rx_mtu_set(
  28783 			req->args.rx_mtu_set.unit,
  28784 			req->args.rx_mtu_set.config);
  28785 		break;
  28786 	case BCM_ASYNC_ENTRY_RX_POOL_ALLOC:
  28787 		rv = bcm_rx_pool_alloc(
  28788 			req->args.rx_pool_alloc.unit,
  28789 			req->args.rx_pool_alloc.size,
  28790 			req->args.rx_pool_alloc.flags,
  28791 			req->args.rx_pool_alloc.pool);
  28792 		break;
  28793 	case BCM_ASYNC_ENTRY_RX_POOL_CLEANUP:
  28794 		rv = bcm_rx_pool_cleanup(
  28795 			);
  28796 		break;
  28797 	case BCM_ASYNC_ENTRY_RX_POOL_FREE:
  28798 		rv = bcm_rx_pool_free(
  28799 			req->args.rx_pool_free.unit,
  28800 			req->args.rx_pool_free.buf);
  28801 		break;
  28802 	case BCM_ASYNC_ENTRY_RX_POOL_SETUP:
  28803 		rv = bcm_rx_pool_setup(
  28804 			req->args.rx_pool_setup.pkt_count,
  28805 			req->args.rx_pool_setup.bytes_per_pkt);
  28806 		break;
  28807 	case BCM_ASYNC_ENTRY_RX_POOL_SETUP_DONE:
  28808 		rv = bcm_rx_pool_setup_done(
  28809 			);
  28810 		break;
  28811 	case BCM_ASYNC_ENTRY_RX_QUEUE_CHANNEL_GET:
  28812 		rv = bcm_rx_queue_channel_get(
  28813 			req->args.rx_queue_channel_get.unit,
  28814 			req->args.rx_queue_channel_get.queue_id,
  28815 			req->args.rx_queue_channel_get.chan_id);
  28816 		break;
  28817 	case BCM_ASYNC_ENTRY_RX_QUEUE_CHANNEL_SET:
  28818 		rv = bcm_rx_queue_channel_set(
  28819 			req->args.rx_queue_channel_set.unit,
  28820 			req->args.rx_queue_channel_set.queue_id,
  28821 			req->args.rx_queue_channel_set.chan_id);
  28822 		break;
  28823 	case BCM_ASYNC_ENTRY_RX_QUEUE_MAX_GET:
  28824 		rv = bcm_rx_queue_max_get(
  28825 			req->args.rx_queue_max_get.unit,
  28826 			req->args.rx_queue_max_get.cosq);
  28827 		break;
  28828 	case BCM_ASYNC_ENTRY_RX_QUEUE_PACKET_COUNT_GET:
  28829 		rv = bcm_rx_queue_packet_count_get(
  28830 			req->args.rx_queue_packet_count_get.unit,
  28831 			req->args.rx_queue_packet_count_get.cosq,
  28832 			req->args.rx_queue_packet_count_get.packet_count);
  28833 		break;
  28834 	case BCM_ASYNC_ENTRY_RX_QUEUE_RATE_LIMIT_STATUS_GET:
  28835 		rv = bcm_rx_queue_rate_limit_status_get(
  28836 			req->args.rx_queue_rate_limit_status_get.unit,
  28837 			req->args.rx_queue_rate_limit_status_get.cosq,
  28838 			req->args.rx_queue_rate_limit_status_get.packet_tokens);
  28839 		break;
  28840 	case BCM_ASYNC_ENTRY_RX_QUEUE_REGISTER:
  28841 		rv = bcm_rx_queue_register(
  28842 			req->args.rx_queue_register.unit,
  28843 			req->args.rx_queue_register.name,
  28844 			req->args.rx_queue_register.cosq,
  28845 			req->args.rx_queue_register.callback,
  28846 			req->args.rx_queue_register.priority,
  28847 			req->args.rx_queue_register.cookie,
  28848 			req->args.rx_queue_register.flags);
  28849 		break;
  28850 	case BCM_ASYNC_ENTRY_RX_QUEUE_UNREGISTER:
  28851 		rv = bcm_rx_queue_unregister(
  28852 			req->args.rx_queue_unregister.unit,
  28853 			req->args.rx_queue_unregister.cosq,
  28854 			req->args.rx_queue_unregister.callback,
  28855 			req->args.rx_queue_unregister.priority);
  28856 		break;
  28857 	case BCM_ASYNC_ENTRY_RX_RATE_GET:
  28858 		rv = bcm_rx_rate_get(
  28859 			req->args.rx_rate_get.unit,
  28860 			req->args.rx_rate_get.pps);
  28861 		break;
  28862 	case BCM_ASYNC_ENTRY_RX_RATE_SET:
  28863 		rv = bcm_rx_rate_set(
  28864 			req->args.rx_rate_set.unit,
  28865 			req->args.rx_rate_set.pps);
  28866 		break;
  28867 	case BCM_ASYNC_ENTRY_RX_REASONS_GET:
  28868 		rv = bcm_rx_reasons_get(
  28869 			req->args.rx_reasons_get.unit,
  28870 			req->args.rx_reasons_get.reasons);
  28871 		break;
  28872 	case BCM_ASYNC_ENTRY_RX_REASONS_POLICER_SET:
  28873 		rv = bcm_rx_reasons_policer_set(
  28874 			req->args.rx_reasons_policer_set.unit,
  28875 			req->args.rx_reasons_policer_set.rx_reasons,
  28876 			req->args.rx_reasons_policer_set.polid);
  28877 		break;
  28878 	case BCM_ASYNC_ENTRY_RX_REDIRECT_REASONS_GET:
  28879 		rv = bcm_rx_redirect_reasons_get(
  28880 			req->args.rx_redirect_reasons_get.unit,
  28881 			req->args.rx_redirect_reasons_get.mode,
  28882 			req->args.rx_redirect_reasons_get.reasons);
  28883 		break;
  28884 	case BCM_ASYNC_ENTRY_RX_REDIRECT_REASONS_SET:
  28885 		rv = bcm_rx_redirect_reasons_set(
  28886 			req->args.rx_redirect_reasons_set.unit,
  28887 			req->args.rx_redirect_reasons_set.mode,
  28888 			req->args.rx_redirect_reasons_set.reasons);
  28889 		break;
  28890 	case BCM_ASYNC_ENTRY_RX_REGISTER:
  28891 		rv = bcm_rx_register(
  28892 			req->args.rx_register.unit,
  28893 			req->args.rx_register.name,
  28894 			req->args.rx_register.callback,
  28895 			req->args.rx_register.priority,
  28896 			req->args.rx_register.cookie,
  28897 			req->args.rx_register.flags);
  28898 		break;
  28899 #ifdef	BCM_RPC_SUPPORT
  28900 	case BCM_ASYNC_ENTRY_RX_REMOTE_PKT_ALLOC:
  28901 		rv = bcm_rx_remote_pkt_alloc(
  28902 			req->args.rx_remote_pkt_alloc.len,
  28903 			req->args.rx_remote_pkt_alloc.pkt);
  28904 		break;
  28905 #endif	/* BCM_RPC_SUPPORT */
  28906 	case BCM_ASYNC_ENTRY_RX_REMOTE_PKT_ENQUEUE:
  28907 		rv = bcm_rx_remote_pkt_enqueue(
  28908 			req->args.rx_remote_pkt_enqueue.unit,
  28909 			req->args.rx_remote_pkt_enqueue.pkt);
  28910 		break;
  28911 #ifdef	BCM_RPC_SUPPORT
  28912 	case BCM_ASYNC_ENTRY_RX_REMOTE_PKT_FREE:
  28913 		rv = bcm_rx_remote_pkt_free(
  28914 			req->args.rx_remote_pkt_free.pkt);
  28915 		break;
  28916 #endif	/* BCM_RPC_SUPPORT */
  28917 	case BCM_ASYNC_ENTRY_RX_SCHED_REGISTER:
  28918 		rv = bcm_rx_sched_register(
  28919 			req->args.rx_sched_register.unit,
  28920 			req->args.rx_sched_register.sched_cb);
  28921 		break;
  28922 	case BCM_ASYNC_ENTRY_RX_SCHED_UNREGISTER:
  28923 		rv = bcm_rx_sched_unregister(
  28924 			req->args.rx_sched_unregister.unit);
  28925 		break;
  28926 #ifdef	BROADCOM_DEBUG
  28927 	case BCM_ASYNC_ENTRY_RX_SHOW:
  28928 		rv = bcm_rx_show(
  28929 			req->args.rx_show.unit);
  28930 		break;
  28931 #endif	/* BROADCOM_DEBUG */
  28932 	case BCM_ASYNC_ENTRY_RX_SNOOP_CREATE:
  28933 		rv = bcm_rx_snoop_create(
  28934 			req->args.rx_snoop_create.unit,
  28935 			req->args.rx_snoop_create.flags,
  28936 			req->args.rx_snoop_create.snoop_cmnd);
  28937 		break;
  28938 	case BCM_ASYNC_ENTRY_RX_SNOOP_DESTROY:
  28939 		rv = bcm_rx_snoop_destroy(
  28940 			req->args.rx_snoop_destroy.unit,
  28941 			req->args.rx_snoop_destroy.flags,
  28942 			req->args.rx_snoop_destroy.snoop_cmnd);
  28943 		break;
  28944 	case BCM_ASYNC_ENTRY_RX_SNOOP_GET:
  28945 		rv = bcm_rx_snoop_get(
  28946 			req->args.rx_snoop_get.unit,
  28947 			req->args.rx_snoop_get.snoop_cmnd,
  28948 			req->args.rx_snoop_get.config);
  28949 		break;
  28950 	case BCM_ASYNC_ENTRY_RX_SNOOP_SET:
  28951 		rv = bcm_rx_snoop_set(
  28952 			req->args.rx_snoop_set.unit,
  28953 			req->args.rx_snoop_set.snoop_cmnd,
  28954 			req->args.rx_snoop_set.config);
  28955 		break;
  28956 	case BCM_ASYNC_ENTRY_RX_START:
  28957 		rv = bcm_rx_start(
  28958 			req->args.rx_start.unit,
  28959 			req->args.rx_start.cfg);
  28960 		break;
  28961 	case BCM_ASYNC_ENTRY_RX_STOP:
  28962 		rv = bcm_rx_stop(
  28963 			req->args.rx_stop.unit,
  28964 			req->args.rx_stop.cfg);
  28965 		break;
  28966 	case BCM_ASYNC_ENTRY_RX_TRAP_ACTION_PROFILE_CLEAR:
  28967 		rv = bcm_rx_trap_action_profile_clear(
  28968 			req->args.rx_trap_action_profile_clear.unit,
  28969 			req->args.rx_trap_action_profile_clear.trap_type);
  28970 		break;
  28971 	case BCM_ASYNC_ENTRY_RX_TRAP_ACTION_PROFILE_GET:
  28972 		rv = bcm_rx_trap_action_profile_get(
  28973 			req->args.rx_trap_action_profile_get.unit,
  28974 			req->args.rx_trap_action_profile_get.trap_type,
  28975 			req->args.rx_trap_action_profile_get.gport);
  28976 		break;
  28977 	case BCM_ASYNC_ENTRY_RX_TRAP_ACTION_PROFILE_SET:
  28978 		rv = bcm_rx_trap_action_profile_set(
  28979 			req->args.rx_trap_action_profile_set.unit,
  28980 			req->args.rx_trap_action_profile_set.flags,
  28981 			req->args.rx_trap_action_profile_set.trap_type,
  28982 			req->args.rx_trap_action_profile_set.gport);
  28983 		break;
  28984 	case BCM_ASYNC_ENTRY_RX_TRAP_GET:
  28985 		rv = bcm_rx_trap_get(
  28986 			req->args.rx_trap_get.unit,
  28987 			req->args.rx_trap_get.trap_id,
  28988 			req->args.rx_trap_get.config);
  28989 		break;
  28990 	case BCM_ASYNC_ENTRY_RX_TRAP_LIF_GET:
  28991 		rv = bcm_rx_trap_lif_get(
  28992 			req->args.rx_trap_lif_get.unit,
  28993 			req->args.rx_trap_lif_get.lif_config_p);
  28994 		break;
  28995 	case BCM_ASYNC_ENTRY_RX_TRAP_LIF_SET:
  28996 		rv = bcm_rx_trap_lif_set(
  28997 			req->args.rx_trap_lif_set.unit,
  28998 			req->args.rx_trap_lif_set.flags,
  28999 			req->args.rx_trap_lif_set.lif_config_p);
  29000 		break;
  29001 	case BCM_ASYNC_ENTRY_RX_TRAP_PROG_GET:
  29002 		rv = bcm_rx_trap_prog_get(
  29003 			req->args.rx_trap_prog_get.unit,
  29004 			req->args.rx_trap_prog_get.prog_index,
  29005 			req->args.rx_trap_prog_get.prog_config_p);
  29006 		break;
  29007 	case BCM_ASYNC_ENTRY_RX_TRAP_PROG_SET:
  29008 		rv = bcm_rx_trap_prog_set(
  29009 			req->args.rx_trap_prog_set.unit,
  29010 			req->args.rx_trap_prog_set.flags,
  29011 			req->args.rx_trap_prog_set.prog_index,
  29012 			req->args.rx_trap_prog_set.prog_config_p);
  29013 		break;
  29014 	case BCM_ASYNC_ENTRY_RX_TRAP_PROTOCOL_CLEAR:
  29015 		rv = bcm_rx_trap_protocol_clear(
  29016 			req->args.rx_trap_protocol_clear.unit,
  29017 			req->args.rx_trap_protocol_clear.key_p);
  29018 		break;
  29019 	case BCM_ASYNC_ENTRY_RX_TRAP_PROTOCOL_GET:
  29020 		rv = bcm_rx_trap_protocol_get(
  29021 			req->args.rx_trap_protocol_get.unit,
  29022 			req->args.rx_trap_protocol_get.key_p,
  29023 			req->args.rx_trap_protocol_get.trap_gport_p);
  29024 		break;
  29025 	case BCM_ASYNC_ENTRY_RX_TRAP_PROTOCOL_PROFILES_GET:
  29026 		rv = bcm_rx_trap_protocol_profiles_get(
  29027 			req->args.rx_trap_protocol_profiles_get.unit,
  29028 			req->args.rx_trap_protocol_profiles_get.port,
  29029 			req->args.rx_trap_protocol_profiles_get.protocol_profiles_p);
  29030 		break;
  29031 	case BCM_ASYNC_ENTRY_RX_TRAP_PROTOCOL_PROFILES_SET:
  29032 		rv = bcm_rx_trap_protocol_profiles_set(
  29033 			req->args.rx_trap_protocol_profiles_set.unit,
  29034 			req->args.rx_trap_protocol_profiles_set.port,
  29035 			req->args.rx_trap_protocol_profiles_set.protocol_profiles_p);
  29036 		break;
  29037 	case BCM_ASYNC_ENTRY_RX_TRAP_PROTOCOL_SET:
  29038 		rv = bcm_rx_trap_protocol_set(
  29039 			req->args.rx_trap_protocol_set.unit,
  29040 			req->args.rx_trap_protocol_set.key_p,
  29041 			req->args.rx_trap_protocol_set.trap_gport);
  29042 		break;
  29043 	case BCM_ASYNC_ENTRY_RX_TRAP_SET:
  29044 		rv = bcm_rx_trap_set(
  29045 			req->args.rx_trap_set.unit,
  29046 			req->args.rx_trap_set.trap_id,
  29047 			req->args.rx_trap_set.config);
  29048 		break;
  29049 	case BCM_ASYNC_ENTRY_RX_TRAP_SW_TO_HW_ID_MAP_GET:
  29050 		rv = bcm_rx_trap_sw_to_hw_id_map_get(
  29051 			req->args.rx_trap_sw_to_hw_id_map_get.unit,
  29052 			req->args.rx_trap_sw_to_hw_id_map_get.flags,
  29053 			req->args.rx_trap_sw_to_hw_id_map_get.sw_trap_id,
  29054 			req->args.rx_trap_sw_to_hw_id_map_get.hw_trap_id);
  29055 		break;
  29056 	case BCM_ASYNC_ENTRY_RX_TRAP_TYPE_CREATE:
  29057 		rv = bcm_rx_trap_type_create(
  29058 			req->args.rx_trap_type_create.unit,
  29059 			req->args.rx_trap_type_create.flags,
  29060 			req->args.rx_trap_type_create.type,
  29061 			req->args.rx_trap_type_create.trap_id);
  29062 		break;
  29063 	case BCM_ASYNC_ENTRY_RX_TRAP_TYPE_DESTROY:
  29064 		rv = bcm_rx_trap_type_destroy(
  29065 			req->args.rx_trap_type_destroy.unit,
  29066 			req->args.rx_trap_type_destroy.trap_id);
  29067 		break;
  29068 	case BCM_ASYNC_ENTRY_RX_TRAP_TYPE_FROM_ID_GET:
  29069 		rv = bcm_rx_trap_type_from_id_get(
  29070 			req->args.rx_trap_type_from_id_get.unit,
  29071 			req->args.rx_trap_type_from_id_get.flags,
  29072 			req->args.rx_trap_type_from_id_get.trap_id,
  29073 			req->args.rx_trap_type_from_id_get.trap_type);
  29074 		break;
  29075 	case BCM_ASYNC_ENTRY_RX_TRAP_TYPE_GET:
  29076 		rv = bcm_rx_trap_type_get(
  29077 			req->args.rx_trap_type_get.unit,
  29078 			req->args.rx_trap_type_get.flags,
  29079 			req->args.rx_trap_type_get.type,
  29080 			req->args.rx_trap_type_get.trap_id);
  29081 		break;
  29082 	case BCM_ASYNC_ENTRY_RX_UNIT_NEXT_GET:
  29083 		rv = bcm_rx_unit_next_get(
  29084 			req->args.rx_unit_next_get.unit,
  29085 			req->args.rx_unit_next_get.next_unit);
  29086 		break;
  29087 	case BCM_ASYNC_ENTRY_RX_UNREGISTER:
  29088 		rv = bcm_rx_unregister(
  29089 			req->args.rx_unregister.unit,
  29090 			req->args.rx_unregister.callback,
  29091 			req->args.rx_unregister.priority);
  29092 		break;
  29093 	case BCM_ASYNC_ENTRY_SAT_CONFIG_GET:
  29094 		rv = bcm_sat_config_get(
  29095 			req->args.sat_config_get.unit,
  29096 			req->args.sat_config_get.conf);
  29097 		break;
  29098 	case BCM_ASYNC_ENTRY_SAT_CONFIG_SET:
  29099 		rv = bcm_sat_config_set(
  29100 			req->args.sat_config_set.unit,
  29101 			req->args.sat_config_set.conf);
  29102 		break;
  29103 	case BCM_ASYNC_ENTRY_SAT_CTF_AVAILABILITY_CONFIG_SET:
  29104 		rv = bcm_sat_ctf_availability_config_set(
  29105 			req->args.sat_ctf_availability_config_set.unit,
  29106 			req->args.sat_ctf_availability_config_set.ctf_id,
  29107 			req->args.sat_ctf_availability_config_set.config);
  29108 		break;
  29109 	case BCM_ASYNC_ENTRY_SAT_CTF_BIN_LIMIT_GET:
  29110 		rv = bcm_sat_ctf_bin_limit_get(
  29111 			req->args.sat_ctf_bin_limit_get.unit,
  29112 			req->args.sat_ctf_bin_limit_get.max_bins_count,
  29113 			req->args.sat_ctf_bin_limit_get.bins,
  29114 			req->args.sat_ctf_bin_limit_get.bins_count);
  29115 		break;
  29116 	case BCM_ASYNC_ENTRY_SAT_CTF_BIN_LIMIT_SET:
  29117 		rv = bcm_sat_ctf_bin_limit_set(
  29118 			req->args.sat_ctf_bin_limit_set.unit,
  29119 			req->args.sat_ctf_bin_limit_set.bins_count,
  29120 			req->args.sat_ctf_bin_limit_set.bins);
  29121 		break;
  29122 	case BCM_ASYNC_ENTRY_SAT_CTF_CREATE:
  29123 		rv = bcm_sat_ctf_create(
  29124 			req->args.sat_ctf_create.unit,
  29125 			req->args.sat_ctf_create.flags,
  29126 			req->args.sat_ctf_create.ctf_id);
  29127 		break;
  29128 	case BCM_ASYNC_ENTRY_SAT_CTF_DESTROY:
  29129 		rv = bcm_sat_ctf_destroy(
  29130 			req->args.sat_ctf_destroy.unit,
  29131 			req->args.sat_ctf_destroy.ctf_id);
  29132 		break;
  29133 	case BCM_ASYNC_ENTRY_SAT_CTF_DESTROY_ALL:
  29134 		rv = bcm_sat_ctf_destroy_all(
  29135 			req->args.sat_ctf_destroy_all.unit);
  29136 		break;
  29137 	case BCM_ASYNC_ENTRY_SAT_CTF_IDENTIFIER_MAP:
  29138 		rv = bcm_sat_ctf_identifier_map(
  29139 			req->args.sat_ctf_identifier_map.unit,
  29140 			req->args.sat_ctf_identifier_map.identifier,
  29141 			req->args.sat_ctf_identifier_map.ctf_id);
  29142 		break;
  29143 	case BCM_ASYNC_ENTRY_SAT_CTF_IDENTIFIER_UNMAP:
  29144 		rv = bcm_sat_ctf_identifier_unmap(
  29145 			req->args.sat_ctf_identifier_unmap.unit,
  29146 			req->args.sat_ctf_identifier_unmap.identifier);
  29147 		break;
  29148 	case BCM_ASYNC_ENTRY_SAT_CTF_PACKET_CONFIG:
  29149 		rv = bcm_sat_ctf_packet_config(
  29150 			req->args.sat_ctf_packet_config.unit,
  29151 			req->args.sat_ctf_packet_config.ctf_id,
  29152 			req->args.sat_ctf_packet_config.packet_info);
  29153 		break;
  29154 	case BCM_ASYNC_ENTRY_SAT_CTF_REPORTS_CONFIG_SET:
  29155 		rv = bcm_sat_ctf_reports_config_set(
  29156 			req->args.sat_ctf_reports_config_set.unit,
  29157 			req->args.sat_ctf_reports_config_set.ctf_id,
  29158 			req->args.sat_ctf_reports_config_set.reports);
  29159 		break;
  29160 	case BCM_ASYNC_ENTRY_SAT_CTF_STAT_CONFIG_SET:
  29161 		rv = bcm_sat_ctf_stat_config_set(
  29162 			req->args.sat_ctf_stat_config_set.unit,
  29163 			req->args.sat_ctf_stat_config_set.ctf_id,
  29164 			req->args.sat_ctf_stat_config_set.stat);
  29165 		break;
  29166 	case BCM_ASYNC_ENTRY_SAT_CTF_STAT_GET:
  29167 		rv = bcm_sat_ctf_stat_get(
  29168 			req->args.sat_ctf_stat_get.unit,
  29169 			req->args.sat_ctf_stat_get.ctf_id,
  29170 			req->args.sat_ctf_stat_get.flags,
  29171 			req->args.sat_ctf_stat_get.stat);
  29172 		break;
  29173 	case BCM_ASYNC_ENTRY_SAT_CTF_TRAP_ADD:
  29174 		rv = bcm_sat_ctf_trap_add(
  29175 			req->args.sat_ctf_trap_add.unit,
  29176 			req->args.sat_ctf_trap_add.trap_id);
  29177 		break;
  29178 	case BCM_ASYNC_ENTRY_SAT_CTF_TRAP_DATA_TO_SESSION_MAP:
  29179 		rv = bcm_sat_ctf_trap_data_to_session_map(
  29180 			req->args.sat_ctf_trap_data_to_session_map.unit,
  29181 			req->args.sat_ctf_trap_data_to_session_map.trap_data,
  29182 			req->args.sat_ctf_trap_data_to_session_map.trap_data_mask,
  29183 			req->args.sat_ctf_trap_data_to_session_map.session_id);
  29184 		break;
  29185 	case BCM_ASYNC_ENTRY_SAT_CTF_TRAP_DATA_TO_SESSION_UNMAP:
  29186 		rv = bcm_sat_ctf_trap_data_to_session_unmap(
  29187 			req->args.sat_ctf_trap_data_to_session_unmap.unit,
  29188 			req->args.sat_ctf_trap_data_to_session_unmap.trap_data,
  29189 			req->args.sat_ctf_trap_data_to_session_unmap.trap_data_mask);
  29190 		break;
  29191 	case BCM_ASYNC_ENTRY_SAT_CTF_TRAP_REMOVE:
  29192 		rv = bcm_sat_ctf_trap_remove(
  29193 			req->args.sat_ctf_trap_remove.unit,
  29194 			req->args.sat_ctf_trap_remove.trap_id);
  29195 		break;
  29196 	case BCM_ASYNC_ENTRY_SAT_CTF_TRAP_REMOVE_ALL:
  29197 		rv = bcm_sat_ctf_trap_remove_all(
  29198 			req->args.sat_ctf_trap_remove_all.unit);
  29199 		break;
  29200 	case BCM_ASYNC_ENTRY_SAT_CTF_TRAVERSE:
  29201 		rv = bcm_sat_ctf_traverse(
  29202 			req->args.sat_ctf_traverse.unit,
  29203 			req->args.sat_ctf_traverse.cb,
  29204 			req->args.sat_ctf_traverse.user_data);
  29205 		break;
  29206 	case BCM_ASYNC_ENTRY_SAT_ENDPOINT_CREATE:
  29207 		rv = bcm_sat_endpoint_create(
  29208 			req->args.sat_endpoint_create.unit,
  29209 			req->args.sat_endpoint_create.endpoint_info);
  29210 		break;
  29211 	case BCM_ASYNC_ENTRY_SAT_ENDPOINT_DESTROY:
  29212 		rv = bcm_sat_endpoint_destroy(
  29213 			req->args.sat_endpoint_destroy.unit,
  29214 			req->args.sat_endpoint_destroy.endpoint,
  29215 			req->args.sat_endpoint_destroy.flags);
  29216 		break;
  29217 	case BCM_ASYNC_ENTRY_SAT_ENDPOINT_DESTROY_ALL:
  29218 		rv = bcm_sat_endpoint_destroy_all(
  29219 			req->args.sat_endpoint_destroy_all.unit,
  29220 			req->args.sat_endpoint_destroy_all.flags);
  29221 		break;
  29222 	case BCM_ASYNC_ENTRY_SAT_ENDPOINT_GET:
  29223 		rv = bcm_sat_endpoint_get(
  29224 			req->args.sat_endpoint_get.unit,
  29225 			req->args.sat_endpoint_get.endpoint,
  29226 			req->args.sat_endpoint_get.flags,
  29227 			req->args.sat_endpoint_get.endpoint_info);
  29228 		break;
  29229 	case BCM_ASYNC_ENTRY_SAT_ENDPOINT_TRAVERSE:
  29230 		rv = bcm_sat_endpoint_traverse(
  29231 			req->args.sat_endpoint_traverse.unit,
  29232 			req->args.sat_endpoint_traverse.flags,
  29233 			req->args.sat_endpoint_traverse.cb,
  29234 			req->args.sat_endpoint_traverse.user_data);
  29235 		break;
  29236 	case BCM_ASYNC_ENTRY_SAT_EVENT_REGISTER:
  29237 		rv = bcm_sat_event_register(
  29238 			req->args.sat_event_register.unit,
  29239 			req->args.sat_event_register.event_type,
  29240 			req->args.sat_event_register.cb,
  29241 			req->args.sat_event_register.user_data);
  29242 		break;
  29243 	case BCM_ASYNC_ENTRY_SAT_EVENT_UNREGISTER:
  29244 		rv = bcm_sat_event_unregister(
  29245 			req->args.sat_event_unregister.unit,
  29246 			req->args.sat_event_unregister.event_type,
  29247 			req->args.sat_event_unregister.cb);
  29248 		break;
  29249 	case BCM_ASYNC_ENTRY_SAT_GTF_BANDWIDTH_GET:
  29250 		rv = bcm_sat_gtf_bandwidth_get(
  29251 			req->args.sat_gtf_bandwidth_get.unit,
  29252 			req->args.sat_gtf_bandwidth_get.gtf_id,
  29253 			req->args.sat_gtf_bandwidth_get.priority,
  29254 			req->args.sat_gtf_bandwidth_get.bw);
  29255 		break;
  29256 	case BCM_ASYNC_ENTRY_SAT_GTF_BANDWIDTH_SET:
  29257 		rv = bcm_sat_gtf_bandwidth_set(
  29258 			req->args.sat_gtf_bandwidth_set.unit,
  29259 			req->args.sat_gtf_bandwidth_set.gtf_id,
  29260 			req->args.sat_gtf_bandwidth_set.priority,
  29261 			req->args.sat_gtf_bandwidth_set.bw);
  29262 		break;
  29263 	case BCM_ASYNC_ENTRY_SAT_GTF_CREATE:
  29264 		rv = bcm_sat_gtf_create(
  29265 			req->args.sat_gtf_create.unit,
  29266 			req->args.sat_gtf_create.flags,
  29267 			req->args.sat_gtf_create.gtf_id);
  29268 		break;
  29269 	case BCM_ASYNC_ENTRY_SAT_GTF_DESTROY:
  29270 		rv = bcm_sat_gtf_destroy(
  29271 			req->args.sat_gtf_destroy.unit,
  29272 			req->args.sat_gtf_destroy.gtf_id);
  29273 		break;
  29274 	case BCM_ASYNC_ENTRY_SAT_GTF_DESTROY_ALL:
  29275 		rv = bcm_sat_gtf_destroy_all(
  29276 			req->args.sat_gtf_destroy_all.unit);
  29277 		break;
  29278 	case BCM_ASYNC_ENTRY_SAT_GTF_PACKET_CONFIG:
  29279 		rv = bcm_sat_gtf_packet_config(
  29280 			req->args.sat_gtf_packet_config.unit,
  29281 			req->args.sat_gtf_packet_config.gtf_id,
  29282 			req->args.sat_gtf_packet_config.config);
  29283 		break;
  29284 	case BCM_ASYNC_ENTRY_SAT_GTF_PACKET_CONFIG_GET:
  29285 		rv = bcm_sat_gtf_packet_config_get(
  29286 			req->args.sat_gtf_packet_config_get.unit,
  29287 			req->args.sat_gtf_packet_config_get.gtf_id,
  29288 			req->args.sat_gtf_packet_config_get.config);
  29289 		break;
  29290 	case BCM_ASYNC_ENTRY_SAT_GTF_PACKET_CONFIG_SET:
  29291 		rv = bcm_sat_gtf_packet_config_set(
  29292 			req->args.sat_gtf_packet_config_set.unit,
  29293 			req->args.sat_gtf_packet_config_set.gtf_id,
  29294 			req->args.sat_gtf_packet_config_set.config);
  29295 		break;
  29296 	case BCM_ASYNC_ENTRY_SAT_GTF_PACKET_START:
  29297 		rv = bcm_sat_gtf_packet_start(
  29298 			req->args.sat_gtf_packet_start.unit,
  29299 			req->args.sat_gtf_packet_start.gtf_id,
  29300 			req->args.sat_gtf_packet_start.priority);
  29301 		break;
  29302 	case BCM_ASYNC_ENTRY_SAT_GTF_PACKET_STOP:
  29303 		rv = bcm_sat_gtf_packet_stop(
  29304 			req->args.sat_gtf_packet_stop.unit,
  29305 			req->args.sat_gtf_packet_stop.gtf_id,
  29306 			req->args.sat_gtf_packet_stop.priority);
  29307 		break;
  29308 	case BCM_ASYNC_ENTRY_SAT_GTF_RATE_PATTERN_GET:
  29309 		rv = bcm_sat_gtf_rate_pattern_get(
  29310 			req->args.sat_gtf_rate_pattern_get.unit,
  29311 			req->args.sat_gtf_rate_pattern_get.gtf_id,
  29312 			req->args.sat_gtf_rate_pattern_get.priority,
  29313 			req->args.sat_gtf_rate_pattern_get.config);
  29314 		break;
  29315 	case BCM_ASYNC_ENTRY_SAT_GTF_RATE_PATTERN_SET:
  29316 		rv = bcm_sat_gtf_rate_pattern_set(
  29317 			req->args.sat_gtf_rate_pattern_set.unit,
  29318 			req->args.sat_gtf_rate_pattern_set.gtf_id,
  29319 			req->args.sat_gtf_rate_pattern_set.priority,
  29320 			req->args.sat_gtf_rate_pattern_set.config);
  29321 		break;
  29322 	case BCM_ASYNC_ENTRY_SAT_GTF_STAT_GET:
  29323 		rv = bcm_sat_gtf_stat_get(
  29324 			req->args.sat_gtf_stat_get.unit,
  29325 			req->args.sat_gtf_stat_get.gtf_id,
  29326 			req->args.sat_gtf_stat_get.priority,
  29327 			req->args.sat_gtf_stat_get.flags,
  29328 			req->args.sat_gtf_stat_get.type,
  29329 			req->args.sat_gtf_stat_get.value);
  29330 		break;
  29331 	case BCM_ASYNC_ENTRY_SAT_GTF_STAT_MULTI_GET:
  29332 		rv = bcm_sat_gtf_stat_multi_get(
  29333 			req->args.sat_gtf_stat_multi_get.unit,
  29334 			req->args.sat_gtf_stat_multi_get.gtf_id,
  29335 			req->args.sat_gtf_stat_multi_get.stat);
  29336 		break;
  29337 	case BCM_ASYNC_ENTRY_SAT_GTF_TRAVERSE:
  29338 		rv = bcm_sat_gtf_traverse(
  29339 			req->args.sat_gtf_traverse.unit,
  29340 			req->args.sat_gtf_traverse.cb,
  29341 			req->args.sat_gtf_traverse.user_data);
  29342 		break;
  29343 	case BCM_ASYNC_ENTRY_SRV6_SID_INITIATOR_CREATE:
  29344 		rv = bcm_srv6_sid_initiator_create(
  29345 			req->args.srv6_sid_initiator_create.unit,
  29346 			req->args.srv6_sid_initiator_create.info);
  29347 		break;
  29348 	case BCM_ASYNC_ENTRY_SRV6_SID_INITIATOR_DELETE:
  29349 		rv = bcm_srv6_sid_initiator_delete(
  29350 			req->args.srv6_sid_initiator_delete.unit,
  29351 			req->args.srv6_sid_initiator_delete.info);
  29352 		break;
  29353 	case BCM_ASYNC_ENTRY_SRV6_SID_INITIATOR_GET:
  29354 		rv = bcm_srv6_sid_initiator_get(
  29355 			req->args.srv6_sid_initiator_get.unit,
  29356 			req->args.srv6_sid_initiator_get.info);
  29357 		break;
  29358 	case BCM_ASYNC_ENTRY_SRV6_SID_INITIATOR_TRAVERSE:
  29359 		rv = bcm_srv6_sid_initiator_traverse(
  29360 			req->args.srv6_sid_initiator_traverse.unit,
  29361 			req->args.srv6_sid_initiator_traverse.additional_info,
  29362 			req->args.srv6_sid_initiator_traverse.cb,
  29363 			req->args.srv6_sid_initiator_traverse.user_data);
  29364 		break;
  29365 	case BCM_ASYNC_ENTRY_SRV6_SRH_BASE_INITIATOR_CREATE:
  29366 		rv = bcm_srv6_srh_base_initiator_create(
  29367 			req->args.srv6_srh_base_initiator_create.unit,
  29368 			req->args.srv6_srh_base_initiator_create.info);
  29369 		break;
  29370 	case BCM_ASYNC_ENTRY_SRV6_SRH_BASE_INITIATOR_DELETE:
  29371 		rv = bcm_srv6_srh_base_initiator_delete(
  29372 			req->args.srv6_srh_base_initiator_delete.unit,
  29373 			req->args.srv6_srh_base_initiator_delete.info);
  29374 		break;
  29375 	case BCM_ASYNC_ENTRY_SRV6_SRH_BASE_INITIATOR_GET:
  29376 		rv = bcm_srv6_srh_base_initiator_get(
  29377 			req->args.srv6_srh_base_initiator_get.unit,
  29378 			req->args.srv6_srh_base_initiator_get.info);
  29379 		break;
  29380 	case BCM_ASYNC_ENTRY_SRV6_SRH_BASE_INITIATOR_TRAVERSE:
  29381 		rv = bcm_srv6_srh_base_initiator_traverse(
  29382 			req->args.srv6_srh_base_initiator_traverse.unit,
  29383 			req->args.srv6_srh_base_initiator_traverse.additional_info,
  29384 			req->args.srv6_srh_base_initiator_traverse.cb,
  29385 			req->args.srv6_srh_base_initiator_traverse.user_data);
  29386 		break;
  29387 	case BCM_ASYNC_ENTRY_SRV6_TERMINATOR_NEXT_PROTOCOL_ADD:
  29388 		rv = bcm_srv6_terminator_next_protocol_add(
  29389 			req->args.srv6_terminator_next_protocol_add.unit,
  29390 			req->args.srv6_terminator_next_protocol_add.info);
  29391 		break;
  29392 	case BCM_ASYNC_ENTRY_SRV6_TERMINATOR_NEXT_PROTOCOL_DELETE:
  29393 		rv = bcm_srv6_terminator_next_protocol_delete(
  29394 			req->args.srv6_terminator_next_protocol_delete.unit,
  29395 			req->args.srv6_terminator_next_protocol_delete.info);
  29396 		break;
  29397 	case BCM_ASYNC_ENTRY_SRV6_TERMINATOR_NEXT_PROTOCOL_GET:
  29398 		rv = bcm_srv6_terminator_next_protocol_get(
  29399 			req->args.srv6_terminator_next_protocol_get.unit,
  29400 			req->args.srv6_terminator_next_protocol_get.info);
  29401 		break;
  29402 	case BCM_ASYNC_ENTRY_SRV6_TERMINATOR_NEXT_PROTOCOL_TRAVERSE:
  29403 		rv = bcm_srv6_terminator_next_protocol_traverse(
  29404 			req->args.srv6_terminator_next_protocol_traverse.unit,
  29405 			req->args.srv6_terminator_next_protocol_traverse.additional_info,
  29406 			req->args.srv6_terminator_next_protocol_traverse.cb,
  29407 			req->args.srv6_terminator_next_protocol_traverse.user_data);
  29408 		break;
  29409 	case BCM_ASYNC_ENTRY_STAT_CLEAR:
  29410 		rv = bcm_stat_clear(
  29411 			req->args.stat_clear.unit,
  29412 			req->args.stat_clear.port);
  29413 		break;
  29414 	case BCM_ASYNC_ENTRY_STAT_CLEAR_SINGLE:
  29415 		rv = bcm_stat_clear_single(
  29416 			req->args.stat_clear_single.unit,
  29417 			req->args.stat_clear_single.port,
  29418 			req->args.stat_clear_single.type);
  29419 		break;
  29420 	case BCM_ASYNC_ENTRY_STAT_CONTROL_GET:
  29421 		rv = bcm_stat_control_get(
  29422 			req->args.stat_control_get.unit,
  29423 			req->args.stat_control_get.flags,
  29424 			req->args.stat_control_get.type,
  29425 			req->args.stat_control_get.arg);
  29426 		break;
  29427 	case BCM_ASYNC_ENTRY_STAT_CONTROL_SET:
  29428 		rv = bcm_stat_control_set(
  29429 			req->args.stat_control_set.unit,
  29430 			req->args.stat_control_set.flags,
  29431 			req->args.stat_control_set.type,
  29432 			req->args.stat_control_set.arg);
  29433 		break;
  29434 	case BCM_ASYNC_ENTRY_STAT_COUNTER_CONFIG_GET:
  29435 		rv = bcm_stat_counter_config_get(
  29436 			req->args.stat_counter_config_get.unit,
  29437 			req->args.stat_counter_config_get.engine,
  29438 			req->args.stat_counter_config_get.config);
  29439 		break;
  29440 	case BCM_ASYNC_ENTRY_STAT_COUNTER_CONFIG_SET:
  29441 		rv = bcm_stat_counter_config_set(
  29442 			req->args.stat_counter_config_set.unit,
  29443 			req->args.stat_counter_config_set.engine,
  29444 			req->args.stat_counter_config_set.config);
  29445 		break;
  29446 	case BCM_ASYNC_ENTRY_STAT_COUNTER_DATABASE_CONTROL_GET:
  29447 		rv = bcm_stat_counter_database_control_get(
  29448 			req->args.stat_counter_database_control_get.unit,
  29449 			req->args.stat_counter_database_control_get.flags,
  29450 			req->args.stat_counter_database_control_get.database,
  29451 			req->args.stat_counter_database_control_get.control,
  29452 			req->args.stat_counter_database_control_get.arg);
  29453 		break;
  29454 	case BCM_ASYNC_ENTRY_STAT_COUNTER_DATABASE_CONTROL_SET:
  29455 		rv = bcm_stat_counter_database_control_set(
  29456 			req->args.stat_counter_database_control_set.unit,
  29457 			req->args.stat_counter_database_control_set.flags,
  29458 			req->args.stat_counter_database_control_set.database,
  29459 			req->args.stat_counter_database_control_set.control,
  29460 			req->args.stat_counter_database_control_set.arg);
  29461 		break;
  29462 	case BCM_ASYNC_ENTRY_STAT_COUNTER_DATABASE_CREATE:
  29463 		rv = bcm_stat_counter_database_create(
  29464 			req->args.stat_counter_database_create.unit,
  29465 			req->args.stat_counter_database_create.flags,
  29466 			req->args.stat_counter_database_create.core_id,
  29467 			req->args.stat_counter_database_create.database_id);
  29468 		break;
  29469 	case BCM_ASYNC_ENTRY_STAT_COUNTER_DATABASE_DESTROY:
  29470 		rv = bcm_stat_counter_database_destroy(
  29471 			req->args.stat_counter_database_destroy.unit,
  29472 			req->args.stat_counter_database_destroy.flags,
  29473 			req->args.stat_counter_database_destroy.database);
  29474 		break;
  29475 	case BCM_ASYNC_ENTRY_STAT_COUNTER_DATABASE_ENABLE_GET:
  29476 		rv = bcm_stat_counter_database_enable_get(
  29477 			req->args.stat_counter_database_enable_get.unit,
  29478 			req->args.stat_counter_database_enable_get.flags,
  29479 			req->args.stat_counter_database_enable_get.database,
  29480 			req->args.stat_counter_database_enable_get.enable);
  29481 		break;
  29482 	case BCM_ASYNC_ENTRY_STAT_COUNTER_DATABASE_ENABLE_SET:
  29483 		rv = bcm_stat_counter_database_enable_set(
  29484 			req->args.stat_counter_database_enable_set.unit,
  29485 			req->args.stat_counter_database_enable_set.flags,
  29486 			req->args.stat_counter_database_enable_set.database,
  29487 			req->args.stat_counter_database_enable_set.enable);
  29488 		break;
  29489 	case BCM_ASYNC_ENTRY_STAT_COUNTER_ENGINE_ATTACH:
  29490 		rv = bcm_stat_counter_engine_attach(
  29491 			req->args.stat_counter_engine_attach.unit,
  29492 			req->args.stat_counter_engine_attach.flags,
  29493 			req->args.stat_counter_engine_attach.database,
  29494 			req->args.stat_counter_engine_attach.engine_id);
  29495 		break;
  29496 	case BCM_ASYNC_ENTRY_STAT_COUNTER_ENGINE_CONTROL_GET:
  29497 		rv = bcm_stat_counter_engine_control_get(
  29498 			req->args.stat_counter_engine_control_get.unit,
  29499 			req->args.stat_counter_engine_control_get.flags,
  29500 			req->args.stat_counter_engine_control_get.engine,
  29501 			req->args.stat_counter_engine_control_get.control,
  29502 			req->args.stat_counter_engine_control_get.arg);
  29503 		break;
  29504 	case BCM_ASYNC_ENTRY_STAT_COUNTER_ENGINE_CONTROL_SET:
  29505 		rv = bcm_stat_counter_engine_control_set(
  29506 			req->args.stat_counter_engine_control_set.unit,
  29507 			req->args.stat_counter_engine_control_set.flags,
  29508 			req->args.stat_counter_engine_control_set.engine,
  29509 			req->args.stat_counter_engine_control_set.control,
  29510 			req->args.stat_counter_engine_control_set.arg);
  29511 		break;
  29512 	case BCM_ASYNC_ENTRY_STAT_COUNTER_ENGINE_DETACH:
  29513 		rv = bcm_stat_counter_engine_detach(
  29514 			req->args.stat_counter_engine_detach.unit,
  29515 			req->args.stat_counter_engine_detach.flags,
  29516 			req->args.stat_counter_engine_detach.database,
  29517 			req->args.stat_counter_engine_detach.engine_id);
  29518 		break;
  29519 	case BCM_ASYNC_ENTRY_STAT_COUNTER_EVICTION_GET:
  29520 		rv = bcm_stat_counter_eviction_get(
  29521 			req->args.stat_counter_eviction_get.unit,
  29522 			req->args.stat_counter_eviction_get.flags,
  29523 			req->args.stat_counter_eviction_get.engine,
  29524 			req->args.stat_counter_eviction_get.eviction);
  29525 		break;
  29526 	case BCM_ASYNC_ENTRY_STAT_COUNTER_EVICTION_SET:
  29527 		rv = bcm_stat_counter_eviction_set(
  29528 			req->args.stat_counter_eviction_set.unit,
  29529 			req->args.stat_counter_eviction_set.flags,
  29530 			req->args.stat_counter_eviction_set.engine,
  29531 			req->args.stat_counter_eviction_set.eviction);
  29532 		break;
  29533 	case BCM_ASYNC_ENTRY_STAT_COUNTER_EXPANSION_SELECT_GET:
  29534 		rv = bcm_stat_counter_expansion_select_get(
  29535 			req->args.stat_counter_expansion_select_get.unit,
  29536 			req->args.stat_counter_expansion_select_get.flags,
  29537 			req->args.stat_counter_expansion_select_get.interface,
  29538 			req->args.stat_counter_expansion_select_get.expansion_select);
  29539 		break;
  29540 	case BCM_ASYNC_ENTRY_STAT_COUNTER_EXPANSION_SELECT_SET:
  29541 		rv = bcm_stat_counter_expansion_select_set(
  29542 			req->args.stat_counter_expansion_select_set.unit,
  29543 			req->args.stat_counter_expansion_select_set.flags,
  29544 			req->args.stat_counter_expansion_select_set.interface,
  29545 			req->args.stat_counter_expansion_select_set.expansion_select);
  29546 		break;
  29547 	case BCM_ASYNC_ENTRY_STAT_COUNTER_EXPLICIT_GET:
  29548 		rv = bcm_stat_counter_explicit_get(
  29549 			req->args.stat_counter_explicit_get.unit,
  29550 			req->args.stat_counter_explicit_get.flags,
  29551 			req->args.stat_counter_explicit_get.stat_counter_input_data,
  29552 			req->args.stat_counter_explicit_get.stat_counter_output_data);
  29553 		break;
  29554 	case BCM_ASYNC_ENTRY_STAT_COUNTER_FILTER_GET:
  29555 		rv = bcm_stat_counter_filter_get(
  29556 			req->args.stat_counter_filter_get.unit,
  29557 			req->args.stat_counter_filter_get.source,
  29558 			req->args.stat_counter_filter_get.filter_max_count,
  29559 			req->args.stat_counter_filter_get.filter_array,
  29560 			req->args.stat_counter_filter_get.filter_count);
  29561 		break;
  29562 	case BCM_ASYNC_ENTRY_STAT_COUNTER_FILTER_GROUP_GET:
  29563 		rv = bcm_stat_counter_filter_group_get(
  29564 			req->args.stat_counter_filter_group_get.unit,
  29565 			req->args.stat_counter_filter_group_get.flags,
  29566 			req->args.stat_counter_filter_group_get.key,
  29567 			req->args.stat_counter_filter_group_get.filter,
  29568 			req->args.stat_counter_filter_group_get.is_active);
  29569 		break;
  29570 	case BCM_ASYNC_ENTRY_STAT_COUNTER_FILTER_GROUP_SET:
  29571 		rv = bcm_stat_counter_filter_group_set(
  29572 			req->args.stat_counter_filter_group_set.unit,
  29573 			req->args.stat_counter_filter_group_set.flags,
  29574 			req->args.stat_counter_filter_group_set.key,
  29575 			req->args.stat_counter_filter_group_set.filter,
  29576 			req->args.stat_counter_filter_group_set.is_active);
  29577 		break;
  29578 	case BCM_ASYNC_ENTRY_STAT_COUNTER_FILTER_IS_ACTIVE_GET:
  29579 		rv = bcm_stat_counter_filter_is_active_get(
  29580 			req->args.stat_counter_filter_is_active_get.unit,
  29581 			req->args.stat_counter_filter_is_active_get.source,
  29582 			req->args.stat_counter_filter_is_active_get.filter,
  29583 			req->args.stat_counter_filter_is_active_get.is_active);
  29584 		break;
  29585 	case BCM_ASYNC_ENTRY_STAT_COUNTER_FILTER_SET:
  29586 		rv = bcm_stat_counter_filter_set(
  29587 			req->args.stat_counter_filter_set.unit,
  29588 			req->args.stat_counter_filter_set.source,
  29589 			req->args.stat_counter_filter_set.filter_array,
  29590 			req->args.stat_counter_filter_set.filter_count,
  29591 			req->args.stat_counter_filter_set.is_active);
  29592 		break;
  29593 	case BCM_ASYNC_ENTRY_STAT_COUNTER_GET:
  29594 		rv = bcm_stat_counter_get(
  29595 			req->args.stat_counter_get.unit,
  29596 			req->args.stat_counter_get.flags,
  29597 			req->args.stat_counter_get.stat_counter_input_data,
  29598 			req->args.stat_counter_get.stat_counter_output_data);
  29599 		break;
  29600 	case BCM_ASYNC_ENTRY_STAT_COUNTER_INTERFACE_GET:
  29601 		rv = bcm_stat_counter_interface_get(
  29602 			req->args.stat_counter_interface_get.unit,
  29603 			req->args.stat_counter_interface_get.flags,
  29604 			req->args.stat_counter_interface_get.database,
  29605 			req->args.stat_counter_interface_get.config);
  29606 		break;
  29607 	case BCM_ASYNC_ENTRY_STAT_COUNTER_INTERFACE_SET:
  29608 		rv = bcm_stat_counter_interface_set(
  29609 			req->args.stat_counter_interface_set.unit,
  29610 			req->args.stat_counter_interface_set.flags,
  29611 			req->args.stat_counter_interface_set.database,
  29612 			req->args.stat_counter_interface_set.config);
  29613 		break;
  29614 	case BCM_ASYNC_ENTRY_STAT_COUNTER_LIF_COUNTING_GET:
  29615 		rv = bcm_stat_counter_lif_counting_get(
  29616 			req->args.stat_counter_lif_counting_get.unit,
  29617 			req->args.stat_counter_lif_counting_get.flags,
  29618 			req->args.stat_counter_lif_counting_get.source,
  29619 			req->args.stat_counter_lif_counting_get.counting_mask,
  29620 			req->args.stat_counter_lif_counting_get.lif_stack_id_to_count);
  29621 		break;
  29622 	case BCM_ASYNC_ENTRY_STAT_COUNTER_LIF_COUNTING_RANGE_GET:
  29623 		rv = bcm_stat_counter_lif_counting_range_get(
  29624 			req->args.stat_counter_lif_counting_range_get.unit,
  29625 			req->args.stat_counter_lif_counting_range_get.flags,
  29626 			req->args.stat_counter_lif_counting_range_get.source,
  29627 			req->args.stat_counter_lif_counting_range_get.range_id,
  29628 			req->args.stat_counter_lif_counting_range_get.lif_range);
  29629 		break;
  29630 	case BCM_ASYNC_ENTRY_STAT_COUNTER_LIF_COUNTING_RANGE_SET:
  29631 		rv = bcm_stat_counter_lif_counting_range_set(
  29632 			req->args.stat_counter_lif_counting_range_set.unit,
  29633 			req->args.stat_counter_lif_counting_range_set.flags,
  29634 			req->args.stat_counter_lif_counting_range_set.source,
  29635 			req->args.stat_counter_lif_counting_range_set.range_id,
  29636 			req->args.stat_counter_lif_counting_range_set.lif_range);
  29637 		break;
  29638 	case BCM_ASYNC_ENTRY_STAT_COUNTER_LIF_COUNTING_SET:
  29639 		rv = bcm_stat_counter_lif_counting_set(
  29640 			req->args.stat_counter_lif_counting_set.unit,
  29641 			req->args.stat_counter_lif_counting_set.flags,
  29642 			req->args.stat_counter_lif_counting_set.source,
  29643 			req->args.stat_counter_lif_counting_set.counting_mask,
  29644 			req->args.stat_counter_lif_counting_set.lif_stack_id_to_count);
  29645 		break;
  29646 	case BCM_ASYNC_ENTRY_STAT_COUNTER_SET_MAPPING_GET:
  29647 		rv = bcm_stat_counter_set_mapping_get(
  29648 			req->args.stat_counter_set_mapping_get.unit,
  29649 			req->args.stat_counter_set_mapping_get.flags,
  29650 			req->args.stat_counter_set_mapping_get.database,
  29651 			req->args.stat_counter_set_mapping_get.counter_set_map);
  29652 		break;
  29653 	case BCM_ASYNC_ENTRY_STAT_COUNTER_SET_MAPPING_SET:
  29654 		rv = bcm_stat_counter_set_mapping_set(
  29655 			req->args.stat_counter_set_mapping_set.unit,
  29656 			req->args.stat_counter_set_mapping_set.flags,
  29657 			req->args.stat_counter_set_mapping_set.database,
  29658 			req->args.stat_counter_set_mapping_set.counter_set_map);
  29659 		break;
  29660 	case BCM_ASYNC_ENTRY_STAT_CUSTOM_ADD:
  29661 		rv = bcm_stat_custom_add(
  29662 			req->args.stat_custom_add.unit,
  29663 			req->args.stat_custom_add.port,
  29664 			req->args.stat_custom_add.type,
  29665 			req->args.stat_custom_add.trigger);
  29666 		break;
  29667 	case BCM_ASYNC_ENTRY_STAT_CUSTOM_CHECK:
  29668 		rv = bcm_stat_custom_check(
  29669 			req->args.stat_custom_check.unit,
  29670 			req->args.stat_custom_check.port,
  29671 			req->args.stat_custom_check.type,
  29672 			req->args.stat_custom_check.trigger,
  29673 			req->args.stat_custom_check.result);
  29674 		break;
  29675 	case BCM_ASYNC_ENTRY_STAT_CUSTOM_COUNTER_ID_MOVE:
  29676 		rv = bcm_stat_custom_counter_id_move(
  29677 			req->args.stat_custom_counter_id_move.unit,
  29678 			req->args.stat_custom_counter_id_move.idx_action,
  29679 			req->args.stat_custom_counter_id_move.counter_info_old,
  29680 			req->args.stat_custom_counter_id_move.counter_info_new);
  29681 		break;
  29682 	case BCM_ASYNC_ENTRY_STAT_CUSTOM_DELETE:
  29683 		rv = bcm_stat_custom_delete(
  29684 			req->args.stat_custom_delete.unit,
  29685 			req->args.stat_custom_delete.port,
  29686 			req->args.stat_custom_delete.type,
  29687 			req->args.stat_custom_delete.trigger);
  29688 		break;
  29689 	case BCM_ASYNC_ENTRY_STAT_CUSTOM_DELETE_ALL:
  29690 		rv = bcm_stat_custom_delete_all(
  29691 			req->args.stat_custom_delete_all.unit,
  29692 			req->args.stat_custom_delete_all.port,
  29693 			req->args.stat_custom_delete_all.type);
  29694 		break;
  29695 	case BCM_ASYNC_ENTRY_STAT_CUSTOM_GET:
  29696 		rv = bcm_stat_custom_get(
  29697 			req->args.stat_custom_get.unit,
  29698 			req->args.stat_custom_get.port,
  29699 			req->args.stat_custom_get.type,
  29700 			req->args.stat_custom_get.flags);
  29701 		break;
  29702 	case BCM_ASYNC_ENTRY_STAT_CUSTOM_GROUP_CREATE:
  29703 		rv = bcm_stat_custom_group_create(
  29704 			req->args.stat_custom_group_create.unit,
  29705 			req->args.stat_custom_group_create.mode_id,
  29706 			req->args.stat_custom_group_create.object,
  29707 			req->args.stat_custom_group_create.stat_counter_id,
  29708 			req->args.stat_custom_group_create.num_entries);
  29709 		break;
  29710 	case BCM_ASYNC_ENTRY_STAT_CUSTOM_GROUP_ID_CREATE:
  29711 		rv = bcm_stat_custom_group_id_create(
  29712 			req->args.stat_custom_group_id_create.unit,
  29713 			req->args.stat_custom_group_id_create.mode_id,
  29714 			req->args.stat_custom_group_id_create.object,
  29715 			req->args.stat_custom_group_id_create.pool_id,
  29716 			req->args.stat_custom_group_id_create.base_idx,
  29717 			req->args.stat_custom_group_id_create.counter_info);
  29718 		break;
  29719 	case BCM_ASYNC_ENTRY_STAT_CUSTOM_SET:
  29720 		rv = bcm_stat_custom_set(
  29721 			req->args.stat_custom_set.unit,
  29722 			req->args.stat_custom_set.port,
  29723 			req->args.stat_custom_set.type,
  29724 			req->args.stat_custom_set.flags);
  29725 		break;
  29726 	case BCM_ASYNC_ENTRY_STAT_DIRECT_GET:
  29727 		rv = bcm_stat_direct_get(
  29728 			req->args.stat_direct_get.unit,
  29729 			req->args.stat_direct_get.port,
  29730 			req->args.stat_direct_get.type,
  29731 			req->args.stat_direct_get.value);
  29732 		break;
  29733 	case BCM_ASYNC_ENTRY_STAT_DIRECT_MULTI_GET:
  29734 		rv = bcm_stat_direct_multi_get(
  29735 			req->args.stat_direct_multi_get.unit,
  29736 			req->args.stat_direct_multi_get.port,
  29737 			req->args.stat_direct_multi_get.nstat,
  29738 			req->args.stat_direct_multi_get.stat_arr,
  29739 			req->args.stat_direct_multi_get.value_arr);
  29740 		break;
  29741 	case BCM_ASYNC_ENTRY_STAT_EGRESS_RECEIVE_TM_POINTER_FORMAT_GET:
  29742 		rv = bcm_stat_egress_receive_tm_pointer_format_get(
  29743 			req->args.stat_egress_receive_tm_pointer_format_get.unit,
  29744 			req->args.stat_egress_receive_tm_pointer_format_get.flags,
  29745 			req->args.stat_egress_receive_tm_pointer_format_get.pointer_format);
  29746 		break;
  29747 	case BCM_ASYNC_ENTRY_STAT_EGRESS_RECEIVE_TM_POINTER_FORMAT_SET:
  29748 		rv = bcm_stat_egress_receive_tm_pointer_format_set(
  29749 			req->args.stat_egress_receive_tm_pointer_format_set.unit,
  29750 			req->args.stat_egress_receive_tm_pointer_format_set.flags,
  29751 			req->args.stat_egress_receive_tm_pointer_format_set.pointer_format);
  29752 		break;
  29753 	case BCM_ASYNC_ENTRY_STAT_EVICTION_BOUNDARIES_GET:
  29754 		rv = bcm_stat_eviction_boundaries_get(
  29755 			req->args.stat_eviction_boundaries_get.unit,
  29756 			req->args.stat_eviction_boundaries_get.flags,
  29757 			req->args.stat_eviction_boundaries_get.engine,
  29758 			req->args.stat_eviction_boundaries_get.boundaries);
  29759 		break;
  29760 	case BCM_ASYNC_ENTRY_STAT_EVICTION_BOUNDARIES_SET:
  29761 		rv = bcm_stat_eviction_boundaries_set(
  29762 			req->args.stat_eviction_boundaries_set.unit,
  29763 			req->args.stat_eviction_boundaries_set.flags,
  29764 			req->args.stat_eviction_boundaries_set.engine,
  29765 			req->args.stat_eviction_boundaries_set.boundaries);
  29766 		break;
  29767 	case BCM_ASYNC_ENTRY_STAT_FLEX_COUNTER_GET:
  29768 		rv = bcm_stat_flex_counter_get(
  29769 			req->args.stat_flex_counter_get.unit,
  29770 			req->args.stat_flex_counter_get.stat_counter_id,
  29771 			req->args.stat_flex_counter_get.stat,
  29772 			req->args.stat_flex_counter_get.num_entries,
  29773 			req->args.stat_flex_counter_get.counter_indexes,
  29774 			req->args.stat_flex_counter_get.counter_values);
  29775 		break;
  29776 	case BCM_ASYNC_ENTRY_STAT_FLEX_COUNTER_SET:
  29777 		rv = bcm_stat_flex_counter_set(
  29778 			req->args.stat_flex_counter_set.unit,
  29779 			req->args.stat_flex_counter_set.stat_counter_id,
  29780 			req->args.stat_flex_counter_set.stat,
  29781 			req->args.stat_flex_counter_set.num_entries,
  29782 			req->args.stat_flex_counter_set.counter_indexes,
  29783 			req->args.stat_flex_counter_set.counter_values);
  29784 		break;
  29785 	case BCM_ASYNC_ENTRY_STAT_FLEX_COUNTER_SYNC_GET:
  29786 		rv = bcm_stat_flex_counter_sync_get(
  29787 			req->args.stat_flex_counter_sync_get.unit,
  29788 			req->args.stat_flex_counter_sync_get.stat_counter_id,
  29789 			req->args.stat_flex_counter_sync_get.stat,
  29790 			req->args.stat_flex_counter_sync_get.num_entries,
  29791 			req->args.stat_flex_counter_sync_get.counter_indexes,
  29792 			req->args.stat_flex_counter_sync_get.counter_values);
  29793 		break;
  29794 	case BCM_ASYNC_ENTRY_STAT_FLEX_POOL_INFO_MULTI_GET:
  29795 		rv = bcm_stat_flex_pool_info_multi_get(
  29796 			req->args.stat_flex_pool_info_multi_get.unit,
  29797 			req->args.stat_flex_pool_info_multi_get.direction,
  29798 			req->args.stat_flex_pool_info_multi_get.num_pools,
  29799 			req->args.stat_flex_pool_info_multi_get.flex_pool_stat,
  29800 			req->args.stat_flex_pool_info_multi_get.actual_num_pools);
  29801 		break;
  29802 	case BCM_ASYNC_ENTRY_STAT_GET:
  29803 		rv = bcm_stat_get(
  29804 			req->args.stat_get.unit,
  29805 			req->args.stat_get.port,
  29806 			req->args.stat_get.type,
  29807 			req->args.stat_get.value);
  29808 		break;
  29809 	case BCM_ASYNC_ENTRY_STAT_GET32:
  29810 		rv = bcm_stat_get32(
  29811 			req->args.stat_get32.unit,
  29812 			req->args.stat_get32.port,
  29813 			req->args.stat_get32.type,
  29814 			req->args.stat_get32.value);
  29815 		break;
  29816 	case BCM_ASYNC_ENTRY_STAT_GROUP_CREATE:
  29817 		rv = bcm_stat_group_create(
  29818 			req->args.stat_group_create.unit,
  29819 			req->args.stat_group_create.object,
  29820 			req->args.stat_group_create.group_mode,
  29821 			req->args.stat_group_create.stat_counter_id,
  29822 			req->args.stat_group_create.num_entries);
  29823 		break;
  29824 	case BCM_ASYNC_ENTRY_STAT_GROUP_DESTROY:
  29825 		rv = bcm_stat_group_destroy(
  29826 			req->args.stat_group_destroy.unit,
  29827 			req->args.stat_group_destroy.stat_counter_id);
  29828 		break;
  29829 	case BCM_ASYNC_ENTRY_STAT_GROUP_DROP_REASONS_GET:
  29830 		rv = bcm_stat_group_drop_reasons_get(
  29831 			req->args.stat_group_drop_reasons_get.unit,
  29832 			req->args.stat_group_drop_reasons_get.flags,
  29833 			req->args.stat_group_drop_reasons_get.group,
  29834 			req->args.stat_group_drop_reasons_get.max_drop_reason_count,
  29835 			req->args.stat_group_drop_reasons_get.drop_reasons_array,
  29836 			req->args.stat_group_drop_reasons_get.drop_reasons_count);
  29837 		break;
  29838 	case BCM_ASYNC_ENTRY_STAT_GROUP_DROP_REASONS_SET:
  29839 		rv = bcm_stat_group_drop_reasons_set(
  29840 			req->args.stat_group_drop_reasons_set.unit,
  29841 			req->args.stat_group_drop_reasons_set.flags,
  29842 			req->args.stat_group_drop_reasons_set.group,
  29843 			req->args.stat_group_drop_reasons_set.drop_reasons_array,
  29844 			req->args.stat_group_drop_reasons_set.drop_reasons_count);
  29845 		break;
  29846 	case BCM_ASYNC_ENTRY_STAT_GROUP_DUMP:
  29847 		rv = bcm_stat_group_dump(
  29848 			req->args.stat_group_dump.unit,
  29849 			req->args.stat_group_dump.object,
  29850 			req->args.stat_group_dump.group_mode);
  29851 		break;
  29852 	case BCM_ASYNC_ENTRY_STAT_GROUP_DUMP_ALL:
  29853 		rv = bcm_stat_group_dump_all(
  29854 			req->args.stat_group_dump_all.unit);
  29855 		break;
  29856 	case BCM_ASYNC_ENTRY_STAT_GROUP_MODE_ATTR_CLASS_ID_CREATE:
  29857 		rv = bcm_stat_group_mode_attr_class_id_create(
  29858 			req->args.stat_group_mode_attr_class_id_create.unit,
  29859 			req->args.stat_group_mode_attr_class_id_create.attr,
  29860 			req->args.stat_group_mode_attr_class_id_create.num_of_attr_values,
  29861 			req->args.stat_group_mode_attr_class_id_create.attr_values,
  29862 			req->args.stat_group_mode_attr_class_id_create.attr_class_id);
  29863 		break;
  29864 	case BCM_ASYNC_ENTRY_STAT_GROUP_MODE_ATTR_CLASS_ID_DESTROY:
  29865 		rv = bcm_stat_group_mode_attr_class_id_destroy(
  29866 			req->args.stat_group_mode_attr_class_id_destroy.unit,
  29867 			req->args.stat_group_mode_attr_class_id_destroy.attr_class_id);
  29868 		break;
  29869 	case BCM_ASYNC_ENTRY_STAT_GROUP_MODE_ID_CONFIG_CREATE:
  29870 		rv = bcm_stat_group_mode_id_config_create(
  29871 			req->args.stat_group_mode_id_config_create.unit,
  29872 			req->args.stat_group_mode_id_config_create.options,
  29873 			req->args.stat_group_mode_id_config_create.stat_config,
  29874 			req->args.stat_group_mode_id_config_create.num_selectors,
  29875 			req->args.stat_group_mode_id_config_create.attr_sel,
  29876 			req->args.stat_group_mode_id_config_create.mode_id);
  29877 		break;
  29878 	case BCM_ASYNC_ENTRY_STAT_GROUP_MODE_ID_CONFIG_GET:
  29879 		rv = bcm_stat_group_mode_id_config_get(
  29880 			req->args.stat_group_mode_id_config_get.unit,
  29881 			req->args.stat_group_mode_id_config_get.mode_id,
  29882 			req->args.stat_group_mode_id_config_get.config,
  29883 			req->args.stat_group_mode_id_config_get.num_selectors,
  29884 			req->args.stat_group_mode_id_config_get.attr_sel,
  29885 			req->args.stat_group_mode_id_config_get.actual_num_selectors);
  29886 		break;
  29887 	case BCM_ASYNC_ENTRY_STAT_GROUP_MODE_ID_CREATE:
  29888 		rv = bcm_stat_group_mode_id_create(
  29889 			req->args.stat_group_mode_id_create.unit,
  29890 			req->args.stat_group_mode_id_create.flags,
  29891 			req->args.stat_group_mode_id_create.total_counters,
  29892 			req->args.stat_group_mode_id_create.num_selectors,
  29893 			req->args.stat_group_mode_id_create.attr_selectors,
  29894 			req->args.stat_group_mode_id_create.mode_id);
  29895 		break;
  29896 	case BCM_ASYNC_ENTRY_STAT_GROUP_MODE_ID_DESTROY:
  29897 		rv = bcm_stat_group_mode_id_destroy(
  29898 			req->args.stat_group_mode_id_destroy.unit,
  29899 			req->args.stat_group_mode_id_destroy.mode_id);
  29900 		break;
  29901 	case BCM_ASYNC_ENTRY_STAT_GROUP_MODE_ID_GET:
  29902 		rv = bcm_stat_group_mode_id_get(
  29903 			req->args.stat_group_mode_id_get.unit,
  29904 			req->args.stat_group_mode_id_get.mode_id,
  29905 			req->args.stat_group_mode_id_get.flags,
  29906 			req->args.stat_group_mode_id_get.total_counters,
  29907 			req->args.stat_group_mode_id_get.num_selectors,
  29908 			req->args.stat_group_mode_id_get.attr_selectors,
  29909 			req->args.stat_group_mode_id_get.actual_num_selectors);
  29910 		break;
  29911 	case BCM_ASYNC_ENTRY_STAT_ID_GET_ALL:
  29912 		rv = bcm_stat_id_get_all(
  29913 			req->args.stat_id_get_all.unit,
  29914 			req->args.stat_id_get_all.object,
  29915 			req->args.stat_id_get_all.stat_max,
  29916 			req->args.stat_id_get_all.stat_array,
  29917 			req->args.stat_id_get_all.stat_count);
  29918 		break;
  29919 	case BCM_ASYNC_ENTRY_STAT_INIT:
  29920 		rv = bcm_stat_init(
  29921 			req->args.stat_init.unit);
  29922 		break;
  29923 	case BCM_ASYNC_ENTRY_STAT_LATENCY_PORT_STAT_ID_GET:
  29924 		rv = bcm_stat_latency_port_stat_id_get(
  29925 			req->args.stat_latency_port_stat_id_get.unit,
  29926 			req->args.stat_latency_port_stat_id_get.flags,
  29927 			req->args.stat_latency_port_stat_id_get.key,
  29928 			req->args.stat_latency_port_stat_id_get.stat_id);
  29929 		break;
  29930 	case BCM_ASYNC_ENTRY_STAT_LIF_COUNTING_PROFILE_GET:
  29931 		rv = bcm_stat_lif_counting_profile_get(
  29932 			req->args.stat_lif_counting_profile_get.unit,
  29933 			req->args.stat_lif_counting_profile_get.flags,
  29934 			req->args.stat_lif_counting_profile_get.lif_counting_profile,
  29935 			req->args.stat_lif_counting_profile_get.lif_counting);
  29936 		break;
  29937 	case BCM_ASYNC_ENTRY_STAT_LIF_COUNTING_PROFILE_SET:
  29938 		rv = bcm_stat_lif_counting_profile_set(
  29939 			req->args.stat_lif_counting_profile_set.unit,
  29940 			req->args.stat_lif_counting_profile_set.flags,
  29941 			req->args.stat_lif_counting_profile_set.lif_counting_profile,
  29942 			req->args.stat_lif_counting_profile_set.lif_counting);
  29943 		break;
  29944 	case BCM_ASYNC_ENTRY_STAT_LIF_COUNTING_STACK_LEVEL_PRIORITY_GET:
  29945 		rv = bcm_stat_lif_counting_stack_level_priority_get(
  29946 			req->args.stat_lif_counting_stack_level_priority_get.unit,
  29947 			req->args.stat_lif_counting_stack_level_priority_get.flags,
  29948 			req->args.stat_lif_counting_stack_level_priority_get.source,
  29949 			req->args.stat_lif_counting_stack_level_priority_get.lif_stack_level,
  29950 			req->args.stat_lif_counting_stack_level_priority_get.priority);
  29951 		break;
  29952 	case BCM_ASYNC_ENTRY_STAT_LIF_COUNTING_STACK_LEVEL_PRIORITY_SET:
  29953 		rv = bcm_stat_lif_counting_stack_level_priority_set(
  29954 			req->args.stat_lif_counting_stack_level_priority_set.unit,
  29955 			req->args.stat_lif_counting_stack_level_priority_set.flags,
  29956 			req->args.stat_lif_counting_stack_level_priority_set.source,
  29957 			req->args.stat_lif_counting_stack_level_priority_set.lif_stack_level,
  29958 			req->args.stat_lif_counting_stack_level_priority_set.priority);
  29959 		break;
  29960 	case BCM_ASYNC_ENTRY_STAT_MULTI_GET:
  29961 		rv = bcm_stat_multi_get(
  29962 			req->args.stat_multi_get.unit,
  29963 			req->args.stat_multi_get.port,
  29964 			req->args.stat_multi_get.nstat,
  29965 			req->args.stat_multi_get.stat_arr,
  29966 			req->args.stat_multi_get.value_arr);
  29967 		break;
  29968 	case BCM_ASYNC_ENTRY_STAT_MULTI_GET32:
  29969 		rv = bcm_stat_multi_get32(
  29970 			req->args.stat_multi_get32.unit,
  29971 			req->args.stat_multi_get32.port,
  29972 			req->args.stat_multi_get32.nstat,
  29973 			req->args.stat_multi_get32.stat_arr,
  29974 			req->args.stat_multi_get32.value_arr);
  29975 		break;
  29976 	case BCM_ASYNC_ENTRY_STAT_PKT_SIZE_ADJUST_SELECT_GET:
  29977 		rv = bcm_stat_pkt_size_adjust_select_get(
  29978 			req->args.stat_pkt_size_adjust_select_get.unit,
  29979 			req->args.stat_pkt_size_adjust_select_get.flags,
  29980 			req->args.stat_pkt_size_adjust_select_get.key,
  29981 			req->args.stat_pkt_size_adjust_select_get.select_type,
  29982 			req->args.stat_pkt_size_adjust_select_get.enable);
  29983 		break;
  29984 	case BCM_ASYNC_ENTRY_STAT_PKT_SIZE_ADJUST_SELECT_SET:
  29985 		rv = bcm_stat_pkt_size_adjust_select_set(
  29986 			req->args.stat_pkt_size_adjust_select_set.unit,
  29987 			req->args.stat_pkt_size_adjust_select_set.flags,
  29988 			req->args.stat_pkt_size_adjust_select_set.key,
  29989 			req->args.stat_pkt_size_adjust_select_set.select_type,
  29990 			req->args.stat_pkt_size_adjust_select_set.enable);
  29991 		break;
  29992 	case BCM_ASYNC_ENTRY_STAT_PP_PROFILE_CREATE:
  29993 		rv = bcm_stat_pp_profile_create(
  29994 			req->args.stat_pp_profile_create.unit,
  29995 			req->args.stat_pp_profile_create.flags,
  29996 			req->args.stat_pp_profile_create.engine_source,
  29997 			req->args.stat_pp_profile_create.stat_pp_profile,
  29998 			req->args.stat_pp_profile_create.stat_pp_profile_info);
  29999 		break;
  30000 	case BCM_ASYNC_ENTRY_STAT_PP_PROFILE_DELETE:
  30001 		rv = bcm_stat_pp_profile_delete(
  30002 			req->args.stat_pp_profile_delete.unit,
  30003 			req->args.stat_pp_profile_delete.stat_pp_profile);
  30004 		break;
  30005 	case BCM_ASYNC_ENTRY_STAT_PP_PROFILE_GET:
  30006 		rv = bcm_stat_pp_profile_get(
  30007 			req->args.stat_pp_profile_get.unit,
  30008 			req->args.stat_pp_profile_get.stat_pp_profile,
  30009 			req->args.stat_pp_profile_get.stat_pp_profile_info);
  30010 		break;
  30011 	case BCM_ASYNC_ENTRY_STAT_STIF_RECORD_FORMAT_GET:
  30012 		rv = bcm_stat_stif_record_format_get(
  30013 			req->args.stat_stif_record_format_get.unit,
  30014 			req->args.stat_stif_record_format_get.flags,
  30015 			req->args.stat_stif_record_format_get.max_nof_elements,
  30016 			req->args.stat_stif_record_format_get.elements_array,
  30017 			req->args.stat_stif_record_format_get.nof_elements);
  30018 		break;
  30019 	case BCM_ASYNC_ENTRY_STAT_STIF_RECORD_FORMAT_SET:
  30020 		rv = bcm_stat_stif_record_format_set(
  30021 			req->args.stat_stif_record_format_set.unit,
  30022 			req->args.stat_stif_record_format_set.flags,
  30023 			req->args.stat_stif_record_format_set.nof_elements,
  30024 			req->args.stat_stif_record_format_set.record_format_elements);
  30025 		break;
  30026 	case BCM_ASYNC_ENTRY_STAT_STIF_SOURCE_MAPPING_GET:
  30027 		rv = bcm_stat_stif_source_mapping_get(
  30028 			req->args.stat_stif_source_mapping_get.unit,
  30029 			req->args.stat_stif_source_mapping_get.flags,
  30030 			req->args.stat_stif_source_mapping_get.source,
  30031 			req->args.stat_stif_source_mapping_get.port);
  30032 		break;
  30033 	case BCM_ASYNC_ENTRY_STAT_STIF_SOURCE_MAPPING_SET:
  30034 		rv = bcm_stat_stif_source_mapping_set(
  30035 			req->args.stat_stif_source_mapping_set.unit,
  30036 			req->args.stat_stif_source_mapping_set.flags,
  30037 			req->args.stat_stif_source_mapping_set.source,
  30038 			req->args.stat_stif_source_mapping_set.port);
  30039 		break;
  30040 	case BCM_ASYNC_ENTRY_STAT_SYNC:
  30041 		rv = bcm_stat_sync(
  30042 			req->args.stat_sync.unit);
  30043 		break;
  30044 	case BCM_ASYNC_ENTRY_STAT_SYNC_GET:
  30045 		rv = bcm_stat_sync_get(
  30046 			req->args.stat_sync_get.unit,
  30047 			req->args.stat_sync_get.port,
  30048 			req->args.stat_sync_get.type,
  30049 			req->args.stat_sync_get.value);
  30050 		break;
  30051 	case BCM_ASYNC_ENTRY_STAT_SYNC_GET32:
  30052 		rv = bcm_stat_sync_get32(
  30053 			req->args.stat_sync_get32.unit,
  30054 			req->args.stat_sync_get32.port,
  30055 			req->args.stat_sync_get32.type,
  30056 			req->args.stat_sync_get32.value);
  30057 		break;
  30058 	case BCM_ASYNC_ENTRY_STAT_SYNC_MULTI_GET:
  30059 		rv = bcm_stat_sync_multi_get(
  30060 			req->args.stat_sync_multi_get.unit,
  30061 			req->args.stat_sync_multi_get.port,
  30062 			req->args.stat_sync_multi_get.nstat,
  30063 			req->args.stat_sync_multi_get.stat_arr,
  30064 			req->args.stat_sync_multi_get.value_arr);
  30065 		break;
  30066 	case BCM_ASYNC_ENTRY_STAT_SYNC_MULTI_GET32:
  30067 		rv = bcm_stat_sync_multi_get32(
  30068 			req->args.stat_sync_multi_get32.unit,
  30069 			req->args.stat_sync_multi_get32.port,
  30070 			req->args.stat_sync_multi_get32.nstat,
  30071 			req->args.stat_sync_multi_get32.stat_arr,
  30072 			req->args.stat_sync_multi_get32.value_arr);
  30073 		break;
  30074 	case BCM_ASYNC_ENTRY_STAT_THRESHOLD_GET:
  30075 		rv = bcm_stat_threshold_get(
  30076 			req->args.stat_threshold_get.unit,
  30077 			req->args.stat_threshold_get.port,
  30078 			req->args.stat_threshold_get.stat,
  30079 			req->args.stat_threshold_get.threshold);
  30080 		break;
  30081 	case BCM_ASYNC_ENTRY_STAT_THRESHOLD_SET:
  30082 		rv = bcm_stat_threshold_set(
  30083 			req->args.stat_threshold_set.unit,
  30084 			req->args.stat_threshold_set.port,
  30085 			req->args.stat_threshold_set.stat,
  30086 			req->args.stat_threshold_set.threshold);
  30087 		break;
  30088 	case BCM_ASYNC_ENTRY_STG_CLEAR:
  30089 		rv = bcm_stg_clear(
  30090 			req->args.stg_clear.unit);
  30091 		break;
  30092 	case BCM_ASYNC_ENTRY_STG_COUNT_GET:
  30093 		rv = bcm_stg_count_get(
  30094 			req->args.stg_count_get.unit,
  30095 			req->args.stg_count_get.max_stg);
  30096 		break;
  30097 	case BCM_ASYNC_ENTRY_STG_CREATE:
  30098 		rv = bcm_stg_create(
  30099 			req->args.stg_create.unit,
  30100 			req->args.stg_create.stg_ptr);
  30101 		break;
  30102 	case BCM_ASYNC_ENTRY_STG_CREATE_ID:
  30103 		rv = bcm_stg_create_id(
  30104 			req->args.stg_create_id.unit,
  30105 			req->args.stg_create_id.stg);
  30106 		break;
  30107 	case BCM_ASYNC_ENTRY_STG_DEFAULT_GET:
  30108 		rv = bcm_stg_default_get(
  30109 			req->args.stg_default_get.unit,
  30110 			req->args.stg_default_get.stg_ptr);
  30111 		break;
  30112 	case BCM_ASYNC_ENTRY_STG_DEFAULT_SET:
  30113 		rv = bcm_stg_default_set(
  30114 			req->args.stg_default_set.unit,
  30115 			req->args.stg_default_set.stg);
  30116 		break;
  30117 	case BCM_ASYNC_ENTRY_STG_DESTROY:
  30118 		rv = bcm_stg_destroy(
  30119 			req->args.stg_destroy.unit,
  30120 			req->args.stg_destroy.stg);
  30121 		break;
  30122 	case BCM_ASYNC_ENTRY_STG_INIT:
  30123 		rv = bcm_stg_init(
  30124 			req->args.stg_init.unit);
  30125 		break;
  30126 	case BCM_ASYNC_ENTRY_STG_LIST:
  30127 		rv = bcm_stg_list(
  30128 			req->args.stg_list.unit,
  30129 			req->args.stg_list.list,
  30130 			req->args.stg_list.count);
  30131 		break;
  30132 	case BCM_ASYNC_ENTRY_STG_LIST_DESTROY:
  30133 		rv = bcm_stg_list_destroy(
  30134 			req->args.stg_list_destroy.unit,
  30135 			req->args.stg_list_destroy.list,
  30136 			req->args.stg_list_destroy.count);
  30137 		break;
  30138 	case BCM_ASYNC_ENTRY_STG_STP_GET:
  30139 		rv = bcm_stg_stp_get(
  30140 			req->args.stg_stp_get.unit,
  30141 			req->args.stg_stp_get.stg,
  30142 			req->args.stg_stp_get.port,
  30143 			req->args.stg_stp_get.stp_state);
  30144 		break;
  30145 	case BCM_ASYNC_ENTRY_STG_STP_SET:
  30146 		rv = bcm_stg_stp_set(
  30147 			req->args.stg_stp_set.unit,
  30148 			req->args.stg_stp_set.stg,
  30149 			req->args.stg_stp_set.port,
  30150 			req->args.stg_stp_set.stp_state);
  30151 		break;
  30152 	case BCM_ASYNC_ENTRY_STG_VLAN_ADD:
  30153 		rv = bcm_stg_vlan_add(
  30154 			req->args.stg_vlan_add.unit,
  30155 			req->args.stg_vlan_add.stg,
  30156 			req->args.stg_vlan_add.vid);
  30157 		break;
  30158 	case BCM_ASYNC_ENTRY_STG_VLAN_LIST:
  30159 		rv = bcm_stg_vlan_list(
  30160 			req->args.stg_vlan_list.unit,
  30161 			req->args.stg_vlan_list.stg,
  30162 			req->args.stg_vlan_list.list,
  30163 			req->args.stg_vlan_list.count);
  30164 		break;
  30165 	case BCM_ASYNC_ENTRY_STG_VLAN_LIST_DESTROY:
  30166 		rv = bcm_stg_vlan_list_destroy(
  30167 			req->args.stg_vlan_list_destroy.unit,
  30168 			req->args.stg_vlan_list_destroy.list,
  30169 			req->args.stg_vlan_list_destroy.count);
  30170 		break;
  30171 	case BCM_ASYNC_ENTRY_STG_VLAN_REMOVE:
  30172 		rv = bcm_stg_vlan_remove(
  30173 			req->args.stg_vlan_remove.unit,
  30174 			req->args.stg_vlan_remove.stg,
  30175 			req->args.stg_vlan_remove.vid);
  30176 		break;
  30177 	case BCM_ASYNC_ENTRY_STG_VLAN_REMOVE_ALL:
  30178 		rv = bcm_stg_vlan_remove_all(
  30179 			req->args.stg_vlan_remove_all.unit,
  30180 			req->args.stg_vlan_remove_all.stg);
  30181 		break;
  30182 	case BCM_ASYNC_ENTRY_STK_DOMAIN_STK_TRUNK_ADD:
  30183 		rv = bcm_stk_domain_stk_trunk_add(
  30184 			req->args.stk_domain_stk_trunk_add.unit,
  30185 			req->args.stk_domain_stk_trunk_add.tm_domain,
  30186 			req->args.stk_domain_stk_trunk_add.stk_trunk);
  30187 		break;
  30188 	case BCM_ASYNC_ENTRY_STK_DOMAIN_STK_TRUNK_DELETE:
  30189 		rv = bcm_stk_domain_stk_trunk_delete(
  30190 			req->args.stk_domain_stk_trunk_delete.unit,
  30191 			req->args.stk_domain_stk_trunk_delete.tm_domain,
  30192 			req->args.stk_domain_stk_trunk_delete.stk_trunk);
  30193 		break;
  30194 	case BCM_ASYNC_ENTRY_STK_DOMAIN_STK_TRUNK_GET:
  30195 		rv = bcm_stk_domain_stk_trunk_get(
  30196 			req->args.stk_domain_stk_trunk_get.unit,
  30197 			req->args.stk_domain_stk_trunk_get.stk_trunk,
  30198 			req->args.stk_domain_stk_trunk_get.domain_max,
  30199 			req->args.stk_domain_stk_trunk_get.domain_array,
  30200 			req->args.stk_domain_stk_trunk_get.domain_count);
  30201 		break;
  30202 	case BCM_ASYNC_ENTRY_STK_FMOD_LMOD_MAPPING_GET:
  30203 		rv = bcm_stk_fmod_lmod_mapping_get(
  30204 			req->args.stk_fmod_lmod_mapping_get.unit,
  30205 			req->args.stk_fmod_lmod_mapping_get.port,
  30206 			req->args.stk_fmod_lmod_mapping_get.fmod,
  30207 			req->args.stk_fmod_lmod_mapping_get.lmod);
  30208 		break;
  30209 	case BCM_ASYNC_ENTRY_STK_FMOD_LMOD_MAPPING_SET:
  30210 		rv = bcm_stk_fmod_lmod_mapping_set(
  30211 			req->args.stk_fmod_lmod_mapping_set.unit,
  30212 			req->args.stk_fmod_lmod_mapping_set.port,
  30213 			req->args.stk_fmod_lmod_mapping_set.fmod,
  30214 			req->args.stk_fmod_lmod_mapping_set.lmod);
  30215 		break;
  30216 	case BCM_ASYNC_ENTRY_STK_FMOD_SMOD_MAPPING_GET:
  30217 		rv = bcm_stk_fmod_smod_mapping_get(
  30218 			req->args.stk_fmod_smod_mapping_get.unit,
  30219 			req->args.stk_fmod_smod_mapping_get.port,
  30220 			req->args.stk_fmod_smod_mapping_get.fmod,
  30221 			req->args.stk_fmod_smod_mapping_get.smod,
  30222 			req->args.stk_fmod_smod_mapping_get.sport,
  30223 			req->args.stk_fmod_smod_mapping_get.nports);
  30224 		break;
  30225 	case BCM_ASYNC_ENTRY_STK_FMOD_SMOD_MAPPING_SET:
  30226 		rv = bcm_stk_fmod_smod_mapping_set(
  30227 			req->args.stk_fmod_smod_mapping_set.unit,
  30228 			req->args.stk_fmod_smod_mapping_set.port,
  30229 			req->args.stk_fmod_smod_mapping_set.fmod,
  30230 			req->args.stk_fmod_smod_mapping_set.smod,
  30231 			req->args.stk_fmod_smod_mapping_set.sport,
  30232 			req->args.stk_fmod_smod_mapping_set.nports);
  30233 		break;
  30234 	case BCM_ASYNC_ENTRY_STK_GPORT_SYSPORT_GET:
  30235 		rv = bcm_stk_gport_sysport_get(
  30236 			req->args.stk_gport_sysport_get.unit,
  30237 			req->args.stk_gport_sysport_get.gport,
  30238 			req->args.stk_gport_sysport_get.sysport);
  30239 		break;
  30240 	case BCM_ASYNC_ENTRY_STK_INIT:
  30241 		rv = bcm_stk_init(
  30242 			req->args.stk_init.unit);
  30243 		break;
  30244 	case BCM_ASYNC_ENTRY_STK_MODE_GET:
  30245 		rv = bcm_stk_mode_get(
  30246 			req->args.stk_mode_get.unit,
  30247 			req->args.stk_mode_get.flags);
  30248 		break;
  30249 	case BCM_ASYNC_ENTRY_STK_MODE_SET:
  30250 		rv = bcm_stk_mode_set(
  30251 			req->args.stk_mode_set.unit,
  30252 			req->args.stk_mode_set.flags);
  30253 		break;
  30254 	case BCM_ASYNC_ENTRY_STK_MODID_CONFIG_ADD:
  30255 		rv = bcm_stk_modid_config_add(
  30256 			req->args.stk_modid_config_add.unit,
  30257 			req->args.stk_modid_config_add.modid);
  30258 		break;
  30259 	case BCM_ASYNC_ENTRY_STK_MODID_CONFIG_DELETE:
  30260 		rv = bcm_stk_modid_config_delete(
  30261 			req->args.stk_modid_config_delete.unit,
  30262 			req->args.stk_modid_config_delete.modid);
  30263 		break;
  30264 	case BCM_ASYNC_ENTRY_STK_MODID_CONFIG_DELETE_ALL:
  30265 		rv = bcm_stk_modid_config_delete_all(
  30266 			req->args.stk_modid_config_delete_all.unit);
  30267 		break;
  30268 	case BCM_ASYNC_ENTRY_STK_MODID_CONFIG_GET:
  30269 		rv = bcm_stk_modid_config_get(
  30270 			req->args.stk_modid_config_get.unit,
  30271 			req->args.stk_modid_config_get.modid);
  30272 		break;
  30273 	case BCM_ASYNC_ENTRY_STK_MODID_CONFIG_GET_ALL:
  30274 		rv = bcm_stk_modid_config_get_all(
  30275 			req->args.stk_modid_config_get_all.unit,
  30276 			req->args.stk_modid_config_get_all.modid_max,
  30277 			req->args.stk_modid_config_get_all.modid_array,
  30278 			req->args.stk_modid_config_get_all.modid_count);
  30279 		break;
  30280 	case BCM_ASYNC_ENTRY_STK_MODID_CONFIG_SET:
  30281 		rv = bcm_stk_modid_config_set(
  30282 			req->args.stk_modid_config_set.unit,
  30283 			req->args.stk_modid_config_set.modid);
  30284 		break;
  30285 	case BCM_ASYNC_ENTRY_STK_MODID_COUNT:
  30286 		rv = bcm_stk_modid_count(
  30287 			req->args.stk_modid_count.unit,
  30288 			req->args.stk_modid_count.num_modid);
  30289 		break;
  30290 	case BCM_ASYNC_ENTRY_STK_MODID_DOMAIN_ADD:
  30291 		rv = bcm_stk_modid_domain_add(
  30292 			req->args.stk_modid_domain_add.unit,
  30293 			req->args.stk_modid_domain_add.modid,
  30294 			req->args.stk_modid_domain_add.tm_domain);
  30295 		break;
  30296 	case BCM_ASYNC_ENTRY_STK_MODID_DOMAIN_DELETE:
  30297 		rv = bcm_stk_modid_domain_delete(
  30298 			req->args.stk_modid_domain_delete.unit,
  30299 			req->args.stk_modid_domain_delete.modid,
  30300 			req->args.stk_modid_domain_delete.tm_domain);
  30301 		break;
  30302 	case BCM_ASYNC_ENTRY_STK_MODID_DOMAIN_GET:
  30303 		rv = bcm_stk_modid_domain_get(
  30304 			req->args.stk_modid_domain_get.unit,
  30305 			req->args.stk_modid_domain_get.tm_domain,
  30306 			req->args.stk_modid_domain_get.mod_max,
  30307 			req->args.stk_modid_domain_get.mod_array,
  30308 			req->args.stk_modid_domain_get.mod_count);
  30309 		break;
  30310 	case BCM_ASYNC_ENTRY_STK_MODID_GET:
  30311 		rv = bcm_stk_modid_get(
  30312 			req->args.stk_modid_get.unit,
  30313 			req->args.stk_modid_get.modid);
  30314 		break;
  30315 	case BCM_ASYNC_ENTRY_STK_MODID_SET:
  30316 		rv = bcm_stk_modid_set(
  30317 			req->args.stk_modid_set.unit,
  30318 			req->args.stk_modid_set.modid);
  30319 		break;
  30320 	case BCM_ASYNC_ENTRY_STK_MODMAP_ENABLE_GET:
  30321 		rv = bcm_stk_modmap_enable_get(
  30322 			req->args.stk_modmap_enable_get.unit,
  30323 			req->args.stk_modmap_enable_get.port,
  30324 			req->args.stk_modmap_enable_get.enable);
  30325 		break;
  30326 	case BCM_ASYNC_ENTRY_STK_MODMAP_ENABLE_SET:
  30327 		rv = bcm_stk_modmap_enable_set(
  30328 			req->args.stk_modmap_enable_set.unit,
  30329 			req->args.stk_modmap_enable_set.port,
  30330 			req->args.stk_modmap_enable_set.enable);
  30331 		break;
  30332 	case BCM_ASYNC_ENTRY_STK_MODMAP_MAP:
  30333 		rv = bcm_stk_modmap_map(
  30334 			req->args.stk_modmap_map.unit,
  30335 			req->args.stk_modmap_map.setget,
  30336 			req->args.stk_modmap_map.mod_in,
  30337 			req->args.stk_modmap_map.port_in,
  30338 			req->args.stk_modmap_map.mod_out,
  30339 			req->args.stk_modmap_map.port_out);
  30340 		break;
  30341 	case BCM_ASYNC_ENTRY_STK_MODMAP_REGISTER:
  30342 		rv = bcm_stk_modmap_register(
  30343 			req->args.stk_modmap_register.unit,
  30344 			req->args.stk_modmap_register.func);
  30345 		break;
  30346 	case BCM_ASYNC_ENTRY_STK_MODMAP_UNREGISTER:
  30347 		rv = bcm_stk_modmap_unregister(
  30348 			req->args.stk_modmap_unregister.unit);
  30349 		break;
  30350 	case BCM_ASYNC_ENTRY_STK_MODPORT_ADD:
  30351 		rv = bcm_stk_modport_add(
  30352 			req->args.stk_modport_add.unit,
  30353 			req->args.stk_modport_add.modid,
  30354 			req->args.stk_modport_add.port);
  30355 		break;
  30356 	case BCM_ASYNC_ENTRY_STK_MODPORT_CLEAR:
  30357 		rv = bcm_stk_modport_clear(
  30358 			req->args.stk_modport_clear.unit,
  30359 			req->args.stk_modport_clear.modid);
  30360 		break;
  30361 	case BCM_ASYNC_ENTRY_STK_MODPORT_CLEAR_ALL:
  30362 		rv = bcm_stk_modport_clear_all(
  30363 			req->args.stk_modport_clear_all.unit);
  30364 		break;
  30365 	case BCM_ASYNC_ENTRY_STK_MODPORT_DELETE:
  30366 		rv = bcm_stk_modport_delete(
  30367 			req->args.stk_modport_delete.unit,
  30368 			req->args.stk_modport_delete.modid,
  30369 			req->args.stk_modport_delete.port);
  30370 		break;
  30371 	case BCM_ASYNC_ENTRY_STK_MODPORT_GET:
  30372 		rv = bcm_stk_modport_get(
  30373 			req->args.stk_modport_get.unit,
  30374 			req->args.stk_modport_get.modid,
  30375 			req->args.stk_modport_get.port);
  30376 		break;
  30377 	case BCM_ASYNC_ENTRY_STK_MODPORT_GET_ALL:
  30378 		rv = bcm_stk_modport_get_all(
  30379 			req->args.stk_modport_get_all.unit,
  30380 			req->args.stk_modport_get_all.modid,
  30381 			req->args.stk_modport_get_all.port_max,
  30382 			req->args.stk_modport_get_all.port_array,
  30383 			req->args.stk_modport_get_all.port_count);
  30384 		break;
  30385 	case BCM_ASYNC_ENTRY_STK_MODPORT_REMOTE_MAP_GET:
  30386 		rv = bcm_stk_modport_remote_map_get(
  30387 			req->args.stk_modport_remote_map_get.unit,
  30388 			req->args.stk_modport_remote_map_get.port,
  30389 			req->args.stk_modport_remote_map_get.flags,
  30390 			req->args.stk_modport_remote_map_get.remote_modid,
  30391 			req->args.stk_modport_remote_map_get.remote_port);
  30392 		break;
  30393 	case BCM_ASYNC_ENTRY_STK_MODPORT_REMOTE_MAP_SET:
  30394 		rv = bcm_stk_modport_remote_map_set(
  30395 			req->args.stk_modport_remote_map_set.unit,
  30396 			req->args.stk_modport_remote_map_set.port,
  30397 			req->args.stk_modport_remote_map_set.flags,
  30398 			req->args.stk_modport_remote_map_set.remote_modid,
  30399 			req->args.stk_modport_remote_map_set.remote_port);
  30400 		break;
  30401 	case BCM_ASYNC_ENTRY_STK_MODPORT_SET:
  30402 		rv = bcm_stk_modport_set(
  30403 			req->args.stk_modport_set.unit,
  30404 			req->args.stk_modport_set.modid,
  30405 			req->args.stk_modport_set.port);
  30406 		break;
  30407 	case BCM_ASYNC_ENTRY_STK_MODULE_CONTROL_GET:
  30408 		rv = bcm_stk_module_control_get(
  30409 			req->args.stk_module_control_get.unit,
  30410 			req->args.stk_module_control_get.flags,
  30411 			req->args.stk_module_control_get.module,
  30412 			req->args.stk_module_control_get.control,
  30413 			req->args.stk_module_control_get.arg);
  30414 		break;
  30415 	case BCM_ASYNC_ENTRY_STK_MODULE_CONTROL_SET:
  30416 		rv = bcm_stk_module_control_set(
  30417 			req->args.stk_module_control_set.unit,
  30418 			req->args.stk_module_control_set.flags,
  30419 			req->args.stk_module_control_set.module,
  30420 			req->args.stk_module_control_set.control,
  30421 			req->args.stk_module_control_set.arg);
  30422 		break;
  30423 	case BCM_ASYNC_ENTRY_STK_MODULE_ENABLE:
  30424 		rv = bcm_stk_module_enable(
  30425 			req->args.stk_module_enable.unit,
  30426 			req->args.stk_module_enable.modid,
  30427 			req->args.stk_module_enable.nports,
  30428 			req->args.stk_module_enable.enable);
  30429 		break;
  30430 	case BCM_ASYNC_ENTRY_STK_MODULE_MAX_GET:
  30431 		rv = bcm_stk_module_max_get(
  30432 			req->args.stk_module_max_get.unit,
  30433 			req->args.stk_module_max_get.flags,
  30434 			req->args.stk_module_max_get.max_module);
  30435 		break;
  30436 	case BCM_ASYNC_ENTRY_STK_MODULE_MAX_SET:
  30437 		rv = bcm_stk_module_max_set(
  30438 			req->args.stk_module_max_set.unit,
  30439 			req->args.stk_module_max_set.flags,
  30440 			req->args.stk_module_max_set.max_module);
  30441 		break;
  30442 	case BCM_ASYNC_ENTRY_STK_MY_MODID_GET:
  30443 		rv = bcm_stk_my_modid_get(
  30444 			req->args.stk_my_modid_get.unit,
  30445 			req->args.stk_my_modid_get.my_modid);
  30446 		break;
  30447 	case BCM_ASYNC_ENTRY_STK_MY_MODID_SET:
  30448 		rv = bcm_stk_my_modid_set(
  30449 			req->args.stk_my_modid_set.unit,
  30450 			req->args.stk_my_modid_set.my_modid);
  30451 		break;
  30452 	case BCM_ASYNC_ENTRY_STK_PBMP_GET:
  30453 		rv = bcm_stk_pbmp_get(
  30454 			req->args.stk_pbmp_get.unit,
  30455 			req->args.stk_pbmp_get.cur_pbm,
  30456 			req->args.stk_pbmp_get.inactive_pbm);
  30457 		break;
  30458 	case BCM_ASYNC_ENTRY_STK_PORT_GET:
  30459 		rv = bcm_stk_port_get(
  30460 			req->args.stk_port_get.unit,
  30461 			req->args.stk_port_get.port,
  30462 			req->args.stk_port_get.flags);
  30463 		break;
  30464 	case BCM_ASYNC_ENTRY_STK_PORT_MODMAP_GROUP_GET:
  30465 		rv = bcm_stk_port_modmap_group_get(
  30466 			req->args.stk_port_modmap_group_get.unit,
  30467 			req->args.stk_port_modmap_group_get.port,
  30468 			req->args.stk_port_modmap_group_get.group);
  30469 		break;
  30470 	case BCM_ASYNC_ENTRY_STK_PORT_MODMAP_GROUP_MAX_GET:
  30471 		rv = bcm_stk_port_modmap_group_max_get(
  30472 			req->args.stk_port_modmap_group_max_get.unit,
  30473 			req->args.stk_port_modmap_group_max_get.max_group);
  30474 		break;
  30475 	case BCM_ASYNC_ENTRY_STK_PORT_MODMAP_GROUP_SET:
  30476 		rv = bcm_stk_port_modmap_group_set(
  30477 			req->args.stk_port_modmap_group_set.unit,
  30478 			req->args.stk_port_modmap_group_set.port,
  30479 			req->args.stk_port_modmap_group_set.group);
  30480 		break;
  30481 	case BCM_ASYNC_ENTRY_STK_PORT_MODPORT_ADD:
  30482 		rv = bcm_stk_port_modport_add(
  30483 			req->args.stk_port_modport_add.unit,
  30484 			req->args.stk_port_modport_add.ing_port,
  30485 			req->args.stk_port_modport_add.dest_modid,
  30486 			req->args.stk_port_modport_add.dest_port);
  30487 		break;
  30488 	case BCM_ASYNC_ENTRY_STK_PORT_MODPORT_CLEAR:
  30489 		rv = bcm_stk_port_modport_clear(
  30490 			req->args.stk_port_modport_clear.unit,
  30491 			req->args.stk_port_modport_clear.ing_port,
  30492 			req->args.stk_port_modport_clear.dest_modid);
  30493 		break;
  30494 	case BCM_ASYNC_ENTRY_STK_PORT_MODPORT_CLEAR_ALL:
  30495 		rv = bcm_stk_port_modport_clear_all(
  30496 			req->args.stk_port_modport_clear_all.unit,
  30497 			req->args.stk_port_modport_clear_all.ing_port);
  30498 		break;
  30499 	case BCM_ASYNC_ENTRY_STK_PORT_MODPORT_DELETE:
  30500 		rv = bcm_stk_port_modport_delete(
  30501 			req->args.stk_port_modport_delete.unit,
  30502 			req->args.stk_port_modport_delete.ing_port,
  30503 			req->args.stk_port_modport_delete.dest_modid,
  30504 			req->args.stk_port_modport_delete.dest_port);
  30505 		break;
  30506 	case BCM_ASYNC_ENTRY_STK_PORT_MODPORT_GET:
  30507 		rv = bcm_stk_port_modport_get(
  30508 			req->args.stk_port_modport_get.unit,
  30509 			req->args.stk_port_modport_get.ing_port,
  30510 			req->args.stk_port_modport_get.dest_modid,
  30511 			req->args.stk_port_modport_get.dest_port);
  30512 		break;
  30513 	case BCM_ASYNC_ENTRY_STK_PORT_MODPORT_GET_ALL:
  30514 		rv = bcm_stk_port_modport_get_all(
  30515 			req->args.stk_port_modport_get_all.unit,
  30516 			req->args.stk_port_modport_get_all.ing_port,
  30517 			req->args.stk_port_modport_get_all.dest_modid,
  30518 			req->args.stk_port_modport_get_all.dest_port_max,
  30519 			req->args.stk_port_modport_get_all.dest_port_array,
  30520 			req->args.stk_port_modport_get_all.dest_port_count);
  30521 		break;
  30522 	case BCM_ASYNC_ENTRY_STK_PORT_MODPORT_SET:
  30523 		rv = bcm_stk_port_modport_set(
  30524 			req->args.stk_port_modport_set.unit,
  30525 			req->args.stk_port_modport_set.ing_port,
  30526 			req->args.stk_port_modport_set.dest_modid,
  30527 			req->args.stk_port_modport_set.dest_port);
  30528 		break;
  30529 	case BCM_ASYNC_ENTRY_STK_PORT_SET:
  30530 		rv = bcm_stk_port_set(
  30531 			req->args.stk_port_set.unit,
  30532 			req->args.stk_port_set.port,
  30533 			req->args.stk_port_set.flags);
  30534 		break;
  30535 	case BCM_ASYNC_ENTRY_STK_SYSPORT_GPORT_GET:
  30536 		rv = bcm_stk_sysport_gport_get(
  30537 			req->args.stk_sysport_gport_get.unit,
  30538 			req->args.stk_sysport_gport_get.sysport,
  30539 			req->args.stk_sysport_gport_get.gport);
  30540 		break;
  30541 	case BCM_ASYNC_ENTRY_STK_SYSPORT_GPORT_SET:
  30542 		rv = bcm_stk_sysport_gport_set(
  30543 			req->args.stk_sysport_gport_set.unit,
  30544 			req->args.stk_sysport_gport_set.sysport,
  30545 			req->args.stk_sysport_gport_set.gport);
  30546 		break;
  30547 	case BCM_ASYNC_ENTRY_STK_SYSTEM_GPORT_MAP_CREATE:
  30548 		rv = bcm_stk_system_gport_map_create(
  30549 			req->args.stk_system_gport_map_create.unit,
  30550 			req->args.stk_system_gport_map_create.sys_gport_map);
  30551 		break;
  30552 	case BCM_ASYNC_ENTRY_STK_SYSTEM_GPORT_MAP_DESTROY:
  30553 		rv = bcm_stk_system_gport_map_destroy(
  30554 			req->args.stk_system_gport_map_destroy.unit,
  30555 			req->args.stk_system_gport_map_destroy.system_gport);
  30556 		break;
  30557 	case BCM_ASYNC_ENTRY_STK_SYSTEM_GPORT_MAP_GET:
  30558 		rv = bcm_stk_system_gport_map_get(
  30559 			req->args.stk_system_gport_map_get.unit,
  30560 			req->args.stk_system_gport_map_get.sys_gport_map);
  30561 		break;
  30562 	case BCM_ASYNC_ENTRY_STK_UCBITMAP_DEL:
  30563 		rv = bcm_stk_ucbitmap_del(
  30564 			req->args.stk_ucbitmap_del.unit,
  30565 			req->args.stk_ucbitmap_del.port,
  30566 			req->args.stk_ucbitmap_del.modid,
  30567 			req->args.stk_ucbitmap_del.pbmp);
  30568 		break;
  30569 	case BCM_ASYNC_ENTRY_STK_UCBITMAP_GET:
  30570 		rv = bcm_stk_ucbitmap_get(
  30571 			req->args.stk_ucbitmap_get.unit,
  30572 			req->args.stk_ucbitmap_get.port,
  30573 			req->args.stk_ucbitmap_get.modid,
  30574 			req->args.stk_ucbitmap_get.pbmp);
  30575 		break;
  30576 	case BCM_ASYNC_ENTRY_STK_UCBITMAP_SET:
  30577 		rv = bcm_stk_ucbitmap_set(
  30578 			req->args.stk_ucbitmap_set.unit,
  30579 			req->args.stk_ucbitmap_set.port,
  30580 			req->args.stk_ucbitmap_set.modid,
  30581 			req->args.stk_ucbitmap_set.pbmp);
  30582 		break;
  30583 	case BCM_ASYNC_ENTRY_STK_UPDATE_CALLBACK_REGISTER:
  30584 		rv = bcm_stk_update_callback_register(
  30585 			req->args.stk_update_callback_register.unit,
  30586 			req->args.stk_update_callback_register.cb,
  30587 			req->args.stk_update_callback_register.cookie);
  30588 		break;
  30589 	case BCM_ASYNC_ENTRY_STK_UPDATE_CALLBACK_UNREGISTER:
  30590 		rv = bcm_stk_update_callback_unregister(
  30591 			req->args.stk_update_callback_unregister.unit,
  30592 			req->args.stk_update_callback_unregister.cb,
  30593 			req->args.stk_update_callback_unregister.cookie);
  30594 		break;
  30595 	case BCM_ASYNC_ENTRY_SUBPORT_CLEANUP:
  30596 		rv = bcm_subport_cleanup(
  30597 			req->args.subport_cleanup.unit);
  30598 		break;
  30599 	case BCM_ASYNC_ENTRY_SUBPORT_GPORT_MODPORT_GET:
  30600 		rv = bcm_subport_gport_modport_get(
  30601 			req->args.subport_gport_modport_get.unit,
  30602 			req->args.subport_gport_modport_get.subport_gport,
  30603 			req->args.subport_gport_modport_get.module,
  30604 			req->args.subport_gport_modport_get.port);
  30605 		break;
  30606 	case BCM_ASYNC_ENTRY_SUBPORT_GROUP_CREATE:
  30607 		rv = bcm_subport_group_create(
  30608 			req->args.subport_group_create.unit,
  30609 			req->args.subport_group_create.config,
  30610 			req->args.subport_group_create.group);
  30611 		break;
  30612 	case BCM_ASYNC_ENTRY_SUBPORT_GROUP_DESTROY:
  30613 		rv = bcm_subport_group_destroy(
  30614 			req->args.subport_group_destroy.unit,
  30615 			req->args.subport_group_destroy.group);
  30616 		break;
  30617 	case BCM_ASYNC_ENTRY_SUBPORT_GROUP_GET:
  30618 		rv = bcm_subport_group_get(
  30619 			req->args.subport_group_get.unit,
  30620 			req->args.subport_group_get.group,
  30621 			req->args.subport_group_get.config);
  30622 		break;
  30623 	case BCM_ASYNC_ENTRY_SUBPORT_GROUP_LINKPHY_CONFIG_GET:
  30624 		rv = bcm_subport_group_linkphy_config_get(
  30625 			req->args.subport_group_linkphy_config_get.unit,
  30626 			req->args.subport_group_linkphy_config_get.port,
  30627 			req->args.subport_group_linkphy_config_get.linkphy_config);
  30628 		break;
  30629 	case BCM_ASYNC_ENTRY_SUBPORT_GROUP_LINKPHY_CONFIG_SET:
  30630 		rv = bcm_subport_group_linkphy_config_set(
  30631 			req->args.subport_group_linkphy_config_set.unit,
  30632 			req->args.subport_group_linkphy_config_set.port,
  30633 			req->args.subport_group_linkphy_config_set.linkphy_config);
  30634 		break;
  30635 	case BCM_ASYNC_ENTRY_SUBPORT_GROUP_TRAVERSE:
  30636 		rv = bcm_subport_group_traverse(
  30637 			req->args.subport_group_traverse.unit,
  30638 			req->args.subport_group_traverse.subport_group,
  30639 			req->args.subport_group_traverse.cb,
  30640 			req->args.subport_group_traverse.user_data);
  30641 		break;
  30642 	case BCM_ASYNC_ENTRY_SUBPORT_INIT:
  30643 		rv = bcm_subport_init(
  30644 			req->args.subport_init.unit);
  30645 		break;
  30646 	case BCM_ASYNC_ENTRY_SUBPORT_LINKPHY_RX_ERROR_REGISTER:
  30647 		rv = bcm_subport_linkphy_rx_error_register(
  30648 			req->args.subport_linkphy_rx_error_register.unit,
  30649 			req->args.subport_linkphy_rx_error_register.errors,
  30650 			req->args.subport_linkphy_rx_error_register.reg_info,
  30651 			req->args.subport_linkphy_rx_error_register.user_data);
  30652 		break;
  30653 	case BCM_ASYNC_ENTRY_SUBPORT_LINKPHY_RX_ERROR_UNREGISTER:
  30654 		rv = bcm_subport_linkphy_rx_error_unregister(
  30655 			req->args.subport_linkphy_rx_error_unregister.unit,
  30656 			req->args.subport_linkphy_rx_error_unregister.errors);
  30657 		break;
  30658 	case BCM_ASYNC_ENTRY_SUBPORT_PORT_ADD:
  30659 		rv = bcm_subport_port_add(
  30660 			req->args.subport_port_add.unit,
  30661 			req->args.subport_port_add.config,
  30662 			req->args.subport_port_add.port);
  30663 		break;
  30664 	case BCM_ASYNC_ENTRY_SUBPORT_PORT_DELETE:
  30665 		rv = bcm_subport_port_delete(
  30666 			req->args.subport_port_delete.unit,
  30667 			req->args.subport_port_delete.port);
  30668 		break;
  30669 	case BCM_ASYNC_ENTRY_SUBPORT_PORT_GET:
  30670 		rv = bcm_subport_port_get(
  30671 			req->args.subport_port_get.unit,
  30672 			req->args.subport_port_get.port,
  30673 			req->args.subport_port_get.config);
  30674 		break;
  30675 	case BCM_ASYNC_ENTRY_SUBPORT_PORT_STAT_GET:
  30676 		rv = bcm_subport_port_stat_get(
  30677 			req->args.subport_port_stat_get.unit,
  30678 			req->args.subport_port_stat_get.port,
  30679 			req->args.subport_port_stat_get.stream_id,
  30680 			req->args.subport_port_stat_get.stat_type,
  30681 			req->args.subport_port_stat_get.val);
  30682 		break;
  30683 	case BCM_ASYNC_ENTRY_SUBPORT_PORT_STAT_SET:
  30684 		rv = bcm_subport_port_stat_set(
  30685 			req->args.subport_port_stat_set.unit,
  30686 			req->args.subport_port_stat_set.port,
  30687 			req->args.subport_port_stat_set.stream_id,
  30688 			req->args.subport_port_stat_set.stat_type,
  30689 			req->args.subport_port_stat_set.val);
  30690 		break;
  30691 	case BCM_ASYNC_ENTRY_SUBPORT_PORT_TRAVERSE:
  30692 		rv = bcm_subport_port_traverse(
  30693 			req->args.subport_port_traverse.unit,
  30694 			req->args.subport_port_traverse.cb,
  30695 			req->args.subport_port_traverse.user_data);
  30696 		break;
  30697 	case BCM_ASYNC_ENTRY_SUM_CONFIG_GET:
  30698 		rv = bcm_sum_config_get(
  30699 			req->args.sum_config_get.unit,
  30700 			req->args.sum_config_get.config_data,
  30701 			req->args.sum_config_get.pbmp);
  30702 		break;
  30703 	case BCM_ASYNC_ENTRY_SUM_CONFIG_SET:
  30704 		rv = bcm_sum_config_set(
  30705 			req->args.sum_config_set.unit,
  30706 			req->args.sum_config_set.config_data,
  30707 			req->args.sum_config_set.pbmp);
  30708 		break;
  30709 	case BCM_ASYNC_ENTRY_SUM_DETACH:
  30710 		rv = bcm_sum_detach(
  30711 			req->args.sum_detach.unit);
  30712 		break;
  30713 	case BCM_ASYNC_ENTRY_SUM_INIT:
  30714 		rv = bcm_sum_init(
  30715 			req->args.sum_init.unit);
  30716 		break;
  30717 	case BCM_ASYNC_ENTRY_SUM_STAT_GET:
  30718 		rv = bcm_sum_stat_get(
  30719 			req->args.sum_stat_get.unit,
  30720 			req->args.sum_stat_get.max_samples,
  30721 			req->args.sum_stat_get.stats_data,
  30722 			req->args.sum_stat_get.num_samples,
  30723 			req->args.sum_stat_get.stat_type,
  30724 			req->args.sum_stat_get.usec_sample_period);
  30725 		break;
  30726 	case BCM_ASYNC_ENTRY_SWITCH_AGM_CREATE:
  30727 		rv = bcm_switch_agm_create(
  30728 			req->args.switch_agm_create.unit,
  30729 			req->args.switch_agm_create.options,
  30730 			req->args.switch_agm_create.agm_info);
  30731 		break;
  30732 	case BCM_ASYNC_ENTRY_SWITCH_AGM_DESTROY:
  30733 		rv = bcm_switch_agm_destroy(
  30734 			req->args.switch_agm_destroy.unit,
  30735 			req->args.switch_agm_destroy.agm_id);
  30736 		break;
  30737 	case BCM_ASYNC_ENTRY_SWITCH_AGM_ENABLE_GET:
  30738 		rv = bcm_switch_agm_enable_get(
  30739 			req->args.switch_agm_enable_get.unit,
  30740 			req->args.switch_agm_enable_get.agm_id,
  30741 			req->args.switch_agm_enable_get.enable);
  30742 		break;
  30743 	case BCM_ASYNC_ENTRY_SWITCH_AGM_ENABLE_SET:
  30744 		rv = bcm_switch_agm_enable_set(
  30745 			req->args.switch_agm_enable_set.unit,
  30746 			req->args.switch_agm_enable_set.agm_id,
  30747 			req->args.switch_agm_enable_set.enable);
  30748 		break;
  30749 	case BCM_ASYNC_ENTRY_SWITCH_AGM_GET:
  30750 		rv = bcm_switch_agm_get(
  30751 			req->args.switch_agm_get.unit,
  30752 			req->args.switch_agm_get.agm_info);
  30753 		break;
  30754 	case BCM_ASYNC_ENTRY_SWITCH_AGM_L3_ECMP_ATTACH_GET:
  30755 		rv = bcm_switch_agm_l3_ecmp_attach_get(
  30756 			req->args.switch_agm_l3_ecmp_attach_get.unit,
  30757 			req->args.switch_agm_l3_ecmp_attach_get.agm_id,
  30758 			req->args.switch_agm_l3_ecmp_attach_get.l3_ecmp_id);
  30759 		break;
  30760 	case BCM_ASYNC_ENTRY_SWITCH_AGM_STAT_CLEAR:
  30761 		rv = bcm_switch_agm_stat_clear(
  30762 			req->args.switch_agm_stat_clear.unit,
  30763 			req->args.switch_agm_stat_clear.agm_id);
  30764 		break;
  30765 	case BCM_ASYNC_ENTRY_SWITCH_AGM_STAT_GET:
  30766 		rv = bcm_switch_agm_stat_get(
  30767 			req->args.switch_agm_stat_get.unit,
  30768 			req->args.switch_agm_stat_get.agm_id,
  30769 			req->args.switch_agm_stat_get.nstat,
  30770 			req->args.switch_agm_stat_get.stat_arr);
  30771 		break;
  30772 	case BCM_ASYNC_ENTRY_SWITCH_AGM_TRAVERSE:
  30773 		rv = bcm_switch_agm_traverse(
  30774 			req->args.switch_agm_traverse.unit,
  30775 			req->args.switch_agm_traverse.flags,
  30776 			req->args.switch_agm_traverse.trav_fn,
  30777 			req->args.switch_agm_traverse.user_data);
  30778 		break;
  30779 	case BCM_ASYNC_ENTRY_SWITCH_AGM_TRUNK_ATTACH_GET:
  30780 		rv = bcm_switch_agm_trunk_attach_get(
  30781 			req->args.switch_agm_trunk_attach_get.unit,
  30782 			req->args.switch_agm_trunk_attach_get.agm_id,
  30783 			req->args.switch_agm_trunk_attach_get.trunk_id);
  30784 		break;
  30785 	case BCM_ASYNC_ENTRY_SWITCH_CHIP_INFO_GET:
  30786 		rv = bcm_switch_chip_info_get(
  30787 			req->args.switch_chip_info_get.unit,
  30788 			req->args.switch_chip_info_get.info_type,
  30789 			req->args.switch_chip_info_get.max_size,
  30790 			req->args.switch_chip_info_get.data_buf,
  30791 			req->args.switch_chip_info_get.actual_size);
  30792 		break;
  30793 	case BCM_ASYNC_ENTRY_SWITCH_CONTROL_GET:
  30794 		rv = bcm_switch_control_get(
  30795 			req->args.switch_control_get.unit,
  30796 			req->args.switch_control_get.type,
  30797 			req->args.switch_control_get.arg);
  30798 		break;
  30799 	case BCM_ASYNC_ENTRY_SWITCH_CONTROL_INDEXED_GET:
  30800 		rv = bcm_switch_control_indexed_get(
  30801 			req->args.switch_control_indexed_get.unit,
  30802 			req->args.switch_control_indexed_get.key,
  30803 			req->args.switch_control_indexed_get.value);
  30804 		break;
  30805 	case BCM_ASYNC_ENTRY_SWITCH_CONTROL_INDEXED_PORT_GET:
  30806 		rv = bcm_switch_control_indexed_port_get(
  30807 			req->args.switch_control_indexed_port_get.unit,
  30808 			req->args.switch_control_indexed_port_get.port,
  30809 			req->args.switch_control_indexed_port_get.key,
  30810 			req->args.switch_control_indexed_port_get.value);
  30811 		break;
  30812 	case BCM_ASYNC_ENTRY_SWITCH_CONTROL_INDEXED_PORT_SET:
  30813 		rv = bcm_switch_control_indexed_port_set(
  30814 			req->args.switch_control_indexed_port_set.unit,
  30815 			req->args.switch_control_indexed_port_set.port,
  30816 			req->args.switch_control_indexed_port_set.key,
  30817 			req->args.switch_control_indexed_port_set.value);
  30818 		break;
  30819 	case BCM_ASYNC_ENTRY_SWITCH_CONTROL_INDEXED_SET:
  30820 		rv = bcm_switch_control_indexed_set(
  30821 			req->args.switch_control_indexed_set.unit,
  30822 			req->args.switch_control_indexed_set.key,
  30823 			req->args.switch_control_indexed_set.value);
  30824 		break;
  30825 	case BCM_ASYNC_ENTRY_SWITCH_CONTROL_PORT_GET:
  30826 		rv = bcm_switch_control_port_get(
  30827 			req->args.switch_control_port_get.unit,
  30828 			req->args.switch_control_port_get.port,
  30829 			req->args.switch_control_port_get.type,
  30830 			req->args.switch_control_port_get.arg);
  30831 		break;
  30832 	case BCM_ASYNC_ENTRY_SWITCH_CONTROL_PORT_SET:
  30833 		rv = bcm_switch_control_port_set(
  30834 			req->args.switch_control_port_set.unit,
  30835 			req->args.switch_control_port_set.port,
  30836 			req->args.switch_control_port_set.type,
  30837 			req->args.switch_control_port_set.arg);
  30838 		break;
  30839 	case BCM_ASYNC_ENTRY_SWITCH_CONTROL_SET:
  30840 		rv = bcm_switch_control_set(
  30841 			req->args.switch_control_set.unit,
  30842 			req->args.switch_control_set.type,
  30843 			req->args.switch_control_set.arg);
  30844 		break;
  30845 	case BCM_ASYNC_ENTRY_SWITCH_DOSATTACK_EVENT_GET:
  30846 		rv = bcm_switch_dosattack_event_get(
  30847 			req->args.switch_dosattack_event_get.unit,
  30848 			req->args.switch_dosattack_event_get.flags,
  30849 			req->args.switch_dosattack_event_get.event,
  30850 			req->args.switch_dosattack_event_get.arg);
  30851 		break;
  30852 	case BCM_ASYNC_ENTRY_SWITCH_DOSATTACK_EVENT_SET:
  30853 		rv = bcm_switch_dosattack_event_set(
  30854 			req->args.switch_dosattack_event_set.unit,
  30855 			req->args.switch_dosattack_event_set.flags,
  30856 			req->args.switch_dosattack_event_set.event,
  30857 			req->args.switch_dosattack_event_set.arg);
  30858 		break;
  30859 	case BCM_ASYNC_ENTRY_SWITCH_DRAM_INIT:
  30860 		rv = bcm_switch_dram_init(
  30861 			req->args.switch_dram_init.unit,
  30862 			req->args.switch_dram_init.flags);
  30863 		break;
  30864 	case BCM_ASYNC_ENTRY_SWITCH_DRAM_POWER_DOWN:
  30865 		rv = bcm_switch_dram_power_down(
  30866 			req->args.switch_dram_power_down.unit,
  30867 			req->args.switch_dram_power_down.flags);
  30868 		break;
  30869 	case BCM_ASYNC_ENTRY_SWITCH_DRAM_POWER_DOWN_CB_REGISTER:
  30870 		rv = bcm_switch_dram_power_down_cb_register(
  30871 			req->args.switch_dram_power_down_cb_register.unit,
  30872 			req->args.switch_dram_power_down_cb_register.flags,
  30873 			req->args.switch_dram_power_down_cb_register.callback,
  30874 			req->args.switch_dram_power_down_cb_register.userdata);
  30875 		break;
  30876 	case BCM_ASYNC_ENTRY_SWITCH_DRAM_POWER_DOWN_CB_UNREGISTER:
  30877 		rv = bcm_switch_dram_power_down_cb_unregister(
  30878 			req->args.switch_dram_power_down_cb_unregister.unit,
  30879 			req->args.switch_dram_power_down_cb_unregister.callback,
  30880 			req->args.switch_dram_power_down_cb_unregister.userdata);
  30881 		break;
  30882 	case BCM_ASYNC_ENTRY_SWITCH_DRAM_TRAFFIC_ENABLE_SET:
  30883 		rv = bcm_switch_dram_traffic_enable_set(
  30884 			req->args.switch_dram_traffic_enable_set.unit,
  30885 			req->args.switch_dram_traffic_enable_set.flags,
  30886 			req->args.switch_dram_traffic_enable_set.enable);
  30887 		break;
  30888 	case BCM_ASYNC_ENTRY_SWITCH_DRAM_VENDOR_INFO_GET:
  30889 		rv = bcm_switch_dram_vendor_info_get(
  30890 			req->args.switch_dram_vendor_info_get.unit,
  30891 			req->args.switch_dram_vendor_info_get.info);
  30892 		break;
  30893 	case BCM_ASYNC_ENTRY_SWITCH_ENCAP_CREATE:
  30894 		rv = bcm_switch_encap_create(
  30895 			req->args.switch_encap_create.unit,
  30896 			req->args.switch_encap_create.encap_info,
  30897 			req->args.switch_encap_create.encap_id);
  30898 		break;
  30899 	case BCM_ASYNC_ENTRY_SWITCH_ENCAP_DESTROY:
  30900 		rv = bcm_switch_encap_destroy(
  30901 			req->args.switch_encap_destroy.unit,
  30902 			req->args.switch_encap_destroy.encap_id);
  30903 		break;
  30904 	case BCM_ASYNC_ENTRY_SWITCH_ENCAP_DESTROY_ALL:
  30905 		rv = bcm_switch_encap_destroy_all(
  30906 			req->args.switch_encap_destroy_all.unit);
  30907 		break;
  30908 	case BCM_ASYNC_ENTRY_SWITCH_ENCAP_GET:
  30909 		rv = bcm_switch_encap_get(
  30910 			req->args.switch_encap_get.unit,
  30911 			req->args.switch_encap_get.encap_id,
  30912 			req->args.switch_encap_get.encap_info);
  30913 		break;
  30914 	case BCM_ASYNC_ENTRY_SWITCH_ENCAP_SET:
  30915 		rv = bcm_switch_encap_set(
  30916 			req->args.switch_encap_set.unit,
  30917 			req->args.switch_encap_set.encap_id,
  30918 			req->args.switch_encap_set.encap_info);
  30919 		break;
  30920 	case BCM_ASYNC_ENTRY_SWITCH_ENCAP_TRAVERSE:
  30921 		rv = bcm_switch_encap_traverse(
  30922 			req->args.switch_encap_traverse.unit,
  30923 			req->args.switch_encap_traverse.cb_fn,
  30924 			req->args.switch_encap_traverse.user_data);
  30925 		break;
  30926 	case BCM_ASYNC_ENTRY_SWITCH_EVENT_CONTROL_GET:
  30927 		rv = bcm_switch_event_control_get(
  30928 			req->args.switch_event_control_get.unit,
  30929 			req->args.switch_event_control_get.event,
  30930 			req->args.switch_event_control_get.type,
  30931 			req->args.switch_event_control_get.value);
  30932 		break;
  30933 	case BCM_ASYNC_ENTRY_SWITCH_EVENT_CONTROL_SET:
  30934 		rv = bcm_switch_event_control_set(
  30935 			req->args.switch_event_control_set.unit,
  30936 			req->args.switch_event_control_set.event,
  30937 			req->args.switch_event_control_set.type,
  30938 			req->args.switch_event_control_set.value);
  30939 		break;
  30940 	case BCM_ASYNC_ENTRY_SWITCH_EVENT_REGISTER:
  30941 		rv = bcm_switch_event_register(
  30942 			req->args.switch_event_register.unit,
  30943 			req->args.switch_event_register.cb,
  30944 			req->args.switch_event_register.userdata);
  30945 		break;
  30946 	case BCM_ASYNC_ENTRY_SWITCH_EVENT_UNREGISTER:
  30947 		rv = bcm_switch_event_unregister(
  30948 			req->args.switch_event_unregister.unit,
  30949 			req->args.switch_event_unregister.cb,
  30950 			req->args.switch_event_unregister.userdata);
  30951 		break;
  30952 	case BCM_ASYNC_ENTRY_SWITCH_FEC_PROPERTY_GET:
  30953 		rv = bcm_switch_fec_property_get(
  30954 			req->args.switch_fec_property_get.unit,
  30955 			req->args.switch_fec_property_get.fec_config);
  30956 		break;
  30957 	case BCM_ASYNC_ENTRY_SWITCH_HARD_RESET_CB_REGISTER:
  30958 		rv = bcm_switch_hard_reset_cb_register(
  30959 			req->args.switch_hard_reset_cb_register.unit,
  30960 			req->args.switch_hard_reset_cb_register.flags,
  30961 			req->args.switch_hard_reset_cb_register.callback,
  30962 			req->args.switch_hard_reset_cb_register.userdata);
  30963 		break;
  30964 	case BCM_ASYNC_ENTRY_SWITCH_HARD_RESET_CB_UNREGISTER:
  30965 		rv = bcm_switch_hard_reset_cb_unregister(
  30966 			req->args.switch_hard_reset_cb_unregister.unit,
  30967 			req->args.switch_hard_reset_cb_unregister.callback,
  30968 			req->args.switch_hard_reset_cb_unregister.userdata);
  30969 		break;
  30970 	case BCM_ASYNC_ENTRY_SWITCH_HASH_BANKS_CONFIG_GET:
  30971 		rv = bcm_switch_hash_banks_config_get(
  30972 			req->args.switch_hash_banks_config_get.unit,
  30973 			req->args.switch_hash_banks_config_get.hash_table,
  30974 			req->args.switch_hash_banks_config_get.bank_num,
  30975 			req->args.switch_hash_banks_config_get.hash_type,
  30976 			req->args.switch_hash_banks_config_get.hash_offset);
  30977 		break;
  30978 	case BCM_ASYNC_ENTRY_SWITCH_HASH_BANKS_CONFIG_SET:
  30979 		rv = bcm_switch_hash_banks_config_set(
  30980 			req->args.switch_hash_banks_config_set.unit,
  30981 			req->args.switch_hash_banks_config_set.hash_table,
  30982 			req->args.switch_hash_banks_config_set.bank_num,
  30983 			req->args.switch_hash_banks_config_set.hash_type,
  30984 			req->args.switch_hash_banks_config_set.hash_offset);
  30985 		break;
  30986 	case BCM_ASYNC_ENTRY_SWITCH_HASH_BANKS_MAX_GET:
  30987 		rv = bcm_switch_hash_banks_max_get(
  30988 			req->args.switch_hash_banks_max_get.unit,
  30989 			req->args.switch_hash_banks_max_get.hash_table,
  30990 			req->args.switch_hash_banks_max_get.bank_count);
  30991 		break;
  30992 	case BCM_ASYNC_ENTRY_SWITCH_HASH_ENTRY_CREATE:
  30993 		rv = bcm_switch_hash_entry_create(
  30994 			req->args.switch_hash_entry_create.unit,
  30995 			req->args.switch_hash_entry_create.group,
  30996 			req->args.switch_hash_entry_create.entry);
  30997 		break;
  30998 	case BCM_ASYNC_ENTRY_SWITCH_HASH_ENTRY_CREATE_QSET:
  30999 		rv = bcm_switch_hash_entry_create_qset(
  31000 			req->args.switch_hash_entry_create_qset.unit,
  31001 			req->args.switch_hash_entry_create_qset.qset,
  31002 			req->args.switch_hash_entry_create_qset.entry);
  31003 		break;
  31004 	case BCM_ASYNC_ENTRY_SWITCH_HASH_ENTRY_DESTROY:
  31005 		rv = bcm_switch_hash_entry_destroy(
  31006 			req->args.switch_hash_entry_destroy.unit,
  31007 			req->args.switch_hash_entry_destroy.entry);
  31008 		break;
  31009 	case BCM_ASYNC_ENTRY_SWITCH_HASH_ENTRY_GET:
  31010 		rv = bcm_switch_hash_entry_get(
  31011 			req->args.switch_hash_entry_get.unit,
  31012 			req->args.switch_hash_entry_get.entry,
  31013 			req->args.switch_hash_entry_get.config);
  31014 		break;
  31015 	case BCM_ASYNC_ENTRY_SWITCH_HASH_ENTRY_INSTALL:
  31016 		rv = bcm_switch_hash_entry_install(
  31017 			req->args.switch_hash_entry_install.unit,
  31018 			req->args.switch_hash_entry_install.entry,
  31019 			req->args.switch_hash_entry_install.offset);
  31020 		break;
  31021 	case BCM_ASYNC_ENTRY_SWITCH_HASH_ENTRY_REINSTALL:
  31022 		rv = bcm_switch_hash_entry_reinstall(
  31023 			req->args.switch_hash_entry_reinstall.unit,
  31024 			req->args.switch_hash_entry_reinstall.entry,
  31025 			req->args.switch_hash_entry_reinstall.offset);
  31026 		break;
  31027 	case BCM_ASYNC_ENTRY_SWITCH_HASH_ENTRY_REMOVE:
  31028 		rv = bcm_switch_hash_entry_remove(
  31029 			req->args.switch_hash_entry_remove.unit,
  31030 			req->args.switch_hash_entry_remove.entry);
  31031 		break;
  31032 	case BCM_ASYNC_ENTRY_SWITCH_HASH_ENTRY_SET:
  31033 		rv = bcm_switch_hash_entry_set(
  31034 			req->args.switch_hash_entry_set.unit,
  31035 			req->args.switch_hash_entry_set.entry,
  31036 			req->args.switch_hash_entry_set.config);
  31037 		break;
  31038 	case BCM_ASYNC_ENTRY_SWITCH_HASH_ENTRY_TRAVERSE:
  31039 		rv = bcm_switch_hash_entry_traverse(
  31040 			req->args.switch_hash_entry_traverse.unit,
  31041 			req->args.switch_hash_entry_traverse.flags,
  31042 			req->args.switch_hash_entry_traverse.cb_fn,
  31043 			req->args.switch_hash_entry_traverse.user_data);
  31044 		break;
  31045 	case BCM_ASYNC_ENTRY_SWITCH_HASH_QUALIFY_DATA:
  31046 		rv = bcm_switch_hash_qualify_data(
  31047 			req->args.switch_hash_qualify_data.unit,
  31048 			req->args.switch_hash_qualify_data.entry,
  31049 			req->args.switch_hash_qualify_data.qual_id,
  31050 			req->args.switch_hash_qualify_data.data,
  31051 			req->args.switch_hash_qualify_data.mask);
  31052 		break;
  31053 	case BCM_ASYNC_ENTRY_SWITCH_HASH_QUALIFY_UDF:
  31054 		rv = bcm_switch_hash_qualify_udf(
  31055 			req->args.switch_hash_qualify_udf.unit,
  31056 			req->args.switch_hash_qualify_udf.entry,
  31057 			req->args.switch_hash_qualify_udf.udf_id,
  31058 			req->args.switch_hash_qualify_udf.length,
  31059 			req->args.switch_hash_qualify_udf.data,
  31060 			req->args.switch_hash_qualify_udf.mask);
  31061 		break;
  31062 	case BCM_ASYNC_ENTRY_SWITCH_HASH_QUALIFY_UDF_GET:
  31063 		rv = bcm_switch_hash_qualify_udf_get(
  31064 			req->args.switch_hash_qualify_udf_get.unit,
  31065 			req->args.switch_hash_qualify_udf_get.entry,
  31066 			req->args.switch_hash_qualify_udf_get.udf_id,
  31067 			req->args.switch_hash_qualify_udf_get.max_length,
  31068 			req->args.switch_hash_qualify_udf_get.data,
  31069 			req->args.switch_hash_qualify_udf_get.mask,
  31070 			req->args.switch_hash_qualify_udf_get.actual_length);
  31071 		break;
  31072 	case BCM_ASYNC_ENTRY_SWITCH_IPV6_RESERVED_MULTICAST_ADDR_GET:
  31073 		rv = bcm_switch_ipv6_reserved_multicast_addr_get(
  31074 			req->args.switch_ipv6_reserved_multicast_addr_get.unit,
  31075 			req->args.switch_ipv6_reserved_multicast_addr_get.ip6_addr,
  31076 			req->args.switch_ipv6_reserved_multicast_addr_get.ip6_mask);
  31077 		break;
  31078 	case BCM_ASYNC_ENTRY_SWITCH_IPV6_RESERVED_MULTICAST_ADDR_MULTI_GET:
  31079 		rv = bcm_switch_ipv6_reserved_multicast_addr_multi_get(
  31080 			req->args.switch_ipv6_reserved_multicast_addr_multi_get.unit,
  31081 			req->args.switch_ipv6_reserved_multicast_addr_multi_get.inner,
  31082 			req->args.switch_ipv6_reserved_multicast_addr_multi_get.num,
  31083 			req->args.switch_ipv6_reserved_multicast_addr_multi_get.ip6_addr,
  31084 			req->args.switch_ipv6_reserved_multicast_addr_multi_get.ip6_mask);
  31085 		break;
  31086 	case BCM_ASYNC_ENTRY_SWITCH_IPV6_RESERVED_MULTICAST_ADDR_MULTI_SET:
  31087 		rv = bcm_switch_ipv6_reserved_multicast_addr_multi_set(
  31088 			req->args.switch_ipv6_reserved_multicast_addr_multi_set.unit,
  31089 			req->args.switch_ipv6_reserved_multicast_addr_multi_set.inner,
  31090 			req->args.switch_ipv6_reserved_multicast_addr_multi_set.num,
  31091 			req->args.switch_ipv6_reserved_multicast_addr_multi_set.ip6_addr,
  31092 			req->args.switch_ipv6_reserved_multicast_addr_multi_set.ip6_mask);
  31093 		break;
  31094 	case BCM_ASYNC_ENTRY_SWITCH_IPV6_RESERVED_MULTICAST_ADDR_SET:
  31095 		rv = bcm_switch_ipv6_reserved_multicast_addr_set(
  31096 			req->args.switch_ipv6_reserved_multicast_addr_set.unit,
  31097 			req->args.switch_ipv6_reserved_multicast_addr_set.ip6_addr,
  31098 			req->args.switch_ipv6_reserved_multicast_addr_set.ip6_mask);
  31099 		break;
  31100 	case BCM_ASYNC_ENTRY_SWITCH_KBP_APPTYPE_INFO_GET:
  31101 		rv = bcm_switch_kbp_apptype_info_get(
  31102 			req->args.switch_kbp_apptype_info_get.unit,
  31103 			req->args.switch_kbp_apptype_info_get.core,
  31104 			req->args.switch_kbp_apptype_info_get.apptype,
  31105 			req->args.switch_kbp_apptype_info_get.apptype_info);
  31106 		break;
  31107 	case BCM_ASYNC_ENTRY_SWITCH_KBP_INFO_GET:
  31108 		rv = bcm_switch_kbp_info_get(
  31109 			req->args.switch_kbp_info_get.unit,
  31110 			req->args.switch_kbp_info_get.core,
  31111 			req->args.switch_kbp_info_get.kbp_info);
  31112 		break;
  31113 	case BCM_ASYNC_ENTRY_SWITCH_L3_PROTOCOL_GROUP_GET:
  31114 		rv = bcm_switch_l3_protocol_group_get(
  31115 			req->args.switch_l3_protocol_group_get.unit,
  31116 			req->args.switch_l3_protocol_group_get.group_members,
  31117 			req->args.switch_l3_protocol_group_get.group_id);
  31118 		break;
  31119 	case BCM_ASYNC_ENTRY_SWITCH_L3_PROTOCOL_GROUP_SET:
  31120 		rv = bcm_switch_l3_protocol_group_set(
  31121 			req->args.switch_l3_protocol_group_set.unit,
  31122 			req->args.switch_l3_protocol_group_set.group_members,
  31123 			req->args.switch_l3_protocol_group_set.group_id);
  31124 		break;
  31125 	case BCM_ASYNC_ENTRY_SWITCH_LIF_PROPERTY_GET:
  31126 		rv = bcm_switch_lif_property_get(
  31127 			req->args.switch_lif_property_get.unit,
  31128 			req->args.switch_lif_property_get.lif_property,
  31129 			req->args.switch_lif_property_get.lif_config);
  31130 		break;
  31131 	case BCM_ASYNC_ENTRY_SWITCH_LIF_PROPERTY_SET:
  31132 		rv = bcm_switch_lif_property_set(
  31133 			req->args.switch_lif_property_set.unit,
  31134 			req->args.switch_lif_property_set.lif_property,
  31135 			req->args.switch_lif_property_set.lif_config);
  31136 		break;
  31137 	case BCM_ASYNC_ENTRY_SWITCH_MATCH_CONFIG_ADD:
  31138 		rv = bcm_switch_match_config_add(
  31139 			req->args.switch_match_config_add.unit,
  31140 			req->args.switch_match_config_add.match_service,
  31141 			req->args.switch_match_config_add.config_info,
  31142 			req->args.switch_match_config_add.match_id);
  31143 		break;
  31144 	case BCM_ASYNC_ENTRY_SWITCH_MATCH_CONFIG_DELETE:
  31145 		rv = bcm_switch_match_config_delete(
  31146 			req->args.switch_match_config_delete.unit,
  31147 			req->args.switch_match_config_delete.match_service,
  31148 			req->args.switch_match_config_delete.match_id);
  31149 		break;
  31150 	case BCM_ASYNC_ENTRY_SWITCH_MATCH_CONFIG_DELETE_ALL:
  31151 		rv = bcm_switch_match_config_delete_all(
  31152 			req->args.switch_match_config_delete_all.unit,
  31153 			req->args.switch_match_config_delete_all.match_service);
  31154 		break;
  31155 	case BCM_ASYNC_ENTRY_SWITCH_MATCH_CONFIG_GET:
  31156 		rv = bcm_switch_match_config_get(
  31157 			req->args.switch_match_config_get.unit,
  31158 			req->args.switch_match_config_get.match_service,
  31159 			req->args.switch_match_config_get.match_id,
  31160 			req->args.switch_match_config_get.config_info);
  31161 		break;
  31162 	case BCM_ASYNC_ENTRY_SWITCH_MATCH_CONFIG_SET:
  31163 		rv = bcm_switch_match_config_set(
  31164 			req->args.switch_match_config_set.unit,
  31165 			req->args.switch_match_config_set.match_service,
  31166 			req->args.switch_match_config_set.match_id,
  31167 			req->args.switch_match_config_set.config_info);
  31168 		break;
  31169 	case BCM_ASYNC_ENTRY_SWITCH_MATCH_CONFIG_TRAVERSE:
  31170 		rv = bcm_switch_match_config_traverse(
  31171 			req->args.switch_match_config_traverse.unit,
  31172 			req->args.switch_match_config_traverse.match_service,
  31173 			req->args.switch_match_config_traverse.cb_fn,
  31174 			req->args.switch_match_config_traverse.user_data);
  31175 		break;
  31176 	case BCM_ASYNC_ENTRY_SWITCH_MATCH_CONTROL_GET:
  31177 		rv = bcm_switch_match_control_get(
  31178 			req->args.switch_match_control_get.unit,
  31179 			req->args.switch_match_control_get.match_service,
  31180 			req->args.switch_match_control_get.control_type,
  31181 			req->args.switch_match_control_get.gport,
  31182 			req->args.switch_match_control_get.control_info);
  31183 		break;
  31184 	case BCM_ASYNC_ENTRY_SWITCH_MATCH_CONTROL_SET:
  31185 		rv = bcm_switch_match_control_set(
  31186 			req->args.switch_match_control_set.unit,
  31187 			req->args.switch_match_control_set.match_service,
  31188 			req->args.switch_match_control_set.control_type,
  31189 			req->args.switch_match_control_set.gport,
  31190 			req->args.switch_match_control_set.control_info);
  31191 		break;
  31192 	case BCM_ASYNC_ENTRY_SWITCH_MATCH_CONTROL_TRAVERSE:
  31193 		rv = bcm_switch_match_control_traverse(
  31194 			req->args.switch_match_control_traverse.unit,
  31195 			req->args.switch_match_control_traverse.match_service,
  31196 			req->args.switch_match_control_traverse.cb_fn,
  31197 			req->args.switch_match_control_traverse.user_data);
  31198 		break;
  31199 	case BCM_ASYNC_ENTRY_SWITCH_NETWORK_GROUP_CONFIG_GET:
  31200 		rv = bcm_switch_network_group_config_get(
  31201 			req->args.switch_network_group_config_get.unit,
  31202 			req->args.switch_network_group_config_get.source_network_group_id,
  31203 			req->args.switch_network_group_config_get.config);
  31204 		break;
  31205 	case BCM_ASYNC_ENTRY_SWITCH_NETWORK_GROUP_CONFIG_SET:
  31206 		rv = bcm_switch_network_group_config_set(
  31207 			req->args.switch_network_group_config_set.unit,
  31208 			req->args.switch_network_group_config_set.source_network_group_id,
  31209 			req->args.switch_network_group_config_set.config);
  31210 		break;
  31211 	case BCM_ASYNC_ENTRY_SWITCH_OBJECT_COUNT_GET:
  31212 		rv = bcm_switch_object_count_get(
  31213 			req->args.switch_object_count_get.unit,
  31214 			req->args.switch_object_count_get.object,
  31215 			req->args.switch_object_count_get.entries);
  31216 		break;
  31217 	case BCM_ASYNC_ENTRY_SWITCH_OBJECT_COUNT_MULTI_GET:
  31218 		rv = bcm_switch_object_count_multi_get(
  31219 			req->args.switch_object_count_multi_get.unit,
  31220 			req->args.switch_object_count_multi_get.object_size,
  31221 			req->args.switch_object_count_multi_get.object_array,
  31222 			req->args.switch_object_count_multi_get.entries);
  31223 		break;
  31224 	case BCM_ASYNC_ENTRY_SWITCH_OBM_CLASSIFIER_MAPPING_GET:
  31225 		rv = bcm_switch_obm_classifier_mapping_get(
  31226 			req->args.switch_obm_classifier_mapping_get.unit,
  31227 			req->args.switch_obm_classifier_mapping_get.gport,
  31228 			req->args.switch_obm_classifier_mapping_get.switch_obm_classifier_type,
  31229 			req->args.switch_obm_classifier_mapping_get.switch_obm_classifier);
  31230 		break;
  31231 	case BCM_ASYNC_ENTRY_SWITCH_OBM_CLASSIFIER_MAPPING_MULTI_GET:
  31232 		rv = bcm_switch_obm_classifier_mapping_multi_get(
  31233 			req->args.switch_obm_classifier_mapping_multi_get.unit,
  31234 			req->args.switch_obm_classifier_mapping_multi_get.port,
  31235 			req->args.switch_obm_classifier_mapping_multi_get.switch_obm_classifier_type,
  31236 			req->args.switch_obm_classifier_mapping_multi_get.array_max,
  31237 			req->args.switch_obm_classifier_mapping_multi_get.switch_obm_classifier,
  31238 			req->args.switch_obm_classifier_mapping_multi_get.array_count);
  31239 		break;
  31240 	case BCM_ASYNC_ENTRY_SWITCH_OBM_CLASSIFIER_MAPPING_MULTI_SET:
  31241 		rv = bcm_switch_obm_classifier_mapping_multi_set(
  31242 			req->args.switch_obm_classifier_mapping_multi_set.unit,
  31243 			req->args.switch_obm_classifier_mapping_multi_set.gport,
  31244 			req->args.switch_obm_classifier_mapping_multi_set.switch_obm_classifier_type,
  31245 			req->args.switch_obm_classifier_mapping_multi_set.array_count,
  31246 			req->args.switch_obm_classifier_mapping_multi_set.switch_obm_classifier);
  31247 		break;
  31248 	case BCM_ASYNC_ENTRY_SWITCH_OBM_CLASSIFIER_MAPPING_SET:
  31249 		rv = bcm_switch_obm_classifier_mapping_set(
  31250 			req->args.switch_obm_classifier_mapping_set.unit,
  31251 			req->args.switch_obm_classifier_mapping_set.gport,
  31252 			req->args.switch_obm_classifier_mapping_set.switch_obm_classifier_type,
  31253 			req->args.switch_obm_classifier_mapping_set.switch_obm_classifier);
  31254 		break;
  31255 	case BCM_ASYNC_ENTRY_SWITCH_OLP_L2_ADDR_ADD:
  31256 		rv = bcm_switch_olp_l2_addr_add(
  31257 			req->args.switch_olp_l2_addr_add.unit,
  31258 			req->args.switch_olp_l2_addr_add.options,
  31259 			req->args.switch_olp_l2_addr_add.l2_addr);
  31260 		break;
  31261 	case BCM_ASYNC_ENTRY_SWITCH_OLP_L2_ADDR_DELETE:
  31262 		rv = bcm_switch_olp_l2_addr_delete(
  31263 			req->args.switch_olp_l2_addr_delete.unit,
  31264 			req->args.switch_olp_l2_addr_delete.l2_addr);
  31265 		break;
  31266 	case BCM_ASYNC_ENTRY_SWITCH_OLP_L2_ADDR_DELETE_ALL:
  31267 		rv = bcm_switch_olp_l2_addr_delete_all(
  31268 			req->args.switch_olp_l2_addr_delete_all.unit);
  31269 		break;
  31270 	case BCM_ASYNC_ENTRY_SWITCH_OLP_L2_ADDR_GET:
  31271 		rv = bcm_switch_olp_l2_addr_get(
  31272 			req->args.switch_olp_l2_addr_get.unit,
  31273 			req->args.switch_olp_l2_addr_get.l2_addr);
  31274 		break;
  31275 	case BCM_ASYNC_ENTRY_SWITCH_OLP_L2_ADDR_TRAVERSE:
  31276 		rv = bcm_switch_olp_l2_addr_traverse(
  31277 			req->args.switch_olp_l2_addr_traverse.unit,
  31278 			req->args.switch_olp_l2_addr_traverse.cb_fn,
  31279 			req->args.switch_olp_l2_addr_traverse.user_data);
  31280 		break;
  31281 	case BCM_ASYNC_ENTRY_SWITCH_OPAQUE_TAG_CONFIG_GET:
  31282 		rv = bcm_switch_opaque_tag_config_get(
  31283 			req->args.switch_opaque_tag_config_get.unit,
  31284 			req->args.switch_opaque_tag_config_get.index,
  31285 			req->args.switch_opaque_tag_config_get.opaque_tag_config);
  31286 		break;
  31287 	case BCM_ASYNC_ENTRY_SWITCH_OPAQUE_TAG_CONFIG_SET:
  31288 		rv = bcm_switch_opaque_tag_config_set(
  31289 			req->args.switch_opaque_tag_config_set.unit,
  31290 			req->args.switch_opaque_tag_config_set.index,
  31291 			req->args.switch_opaque_tag_config_set.opaque_tag_config);
  31292 		break;
  31293 	case BCM_ASYNC_ENTRY_SWITCH_PKT_INFO_HASH_GET:
  31294 		rv = bcm_switch_pkt_info_hash_get(
  31295 			req->args.switch_pkt_info_hash_get.unit,
  31296 			req->args.switch_pkt_info_hash_get.pkt_info,
  31297 			req->args.switch_pkt_info_hash_get.dst_gport,
  31298 			req->args.switch_pkt_info_hash_get.dst_intf);
  31299 		break;
  31300 	case BCM_ASYNC_ENTRY_SWITCH_PKT_TRACE_INFO_CLEAR:
  31301 		rv = bcm_switch_pkt_trace_info_clear(
  31302 			req->args.switch_pkt_trace_info_clear.unit,
  31303 			req->args.switch_pkt_trace_info_clear.port);
  31304 		break;
  31305 	case BCM_ASYNC_ENTRY_SWITCH_PKT_TRACE_INFO_GET:
  31306 		rv = bcm_switch_pkt_trace_info_get(
  31307 			req->args.switch_pkt_trace_info_get.unit,
  31308 			req->args.switch_pkt_trace_info_get.options,
  31309 			req->args.switch_pkt_trace_info_get.port,
  31310 			req->args.switch_pkt_trace_info_get.len,
  31311 			req->args.switch_pkt_trace_info_get.data,
  31312 			req->args.switch_pkt_trace_info_get.pkt_trace_info);
  31313 		break;
  31314 	case BCM_ASYNC_ENTRY_SWITCH_PKT_TRACE_RAW_DATA_GET:
  31315 		rv = bcm_switch_pkt_trace_raw_data_get(
  31316 			req->args.switch_pkt_trace_raw_data_get.unit,
  31317 			req->args.switch_pkt_trace_raw_data_get.options,
  31318 			req->args.switch_pkt_trace_raw_data_get.port,
  31319 			req->args.switch_pkt_trace_raw_data_get.len,
  31320 			req->args.switch_pkt_trace_raw_data_get.data,
  31321 			req->args.switch_pkt_trace_raw_data_get.raw_data_buf_size,
  31322 			req->args.switch_pkt_trace_raw_data_get.raw_data,
  31323 			req->args.switch_pkt_trace_raw_data_get.raw_data_size);
  31324 		break;
  31325 	case BCM_ASYNC_ENTRY_SWITCH_RCPU_DECAP_PRIORITY_MAP_GET:
  31326 		rv = bcm_switch_rcpu_decap_priority_map_get(
  31327 			req->args.switch_rcpu_decap_priority_map_get.unit,
  31328 			req->args.switch_rcpu_decap_priority_map_get.decap_pri,
  31329 			req->args.switch_rcpu_decap_priority_map_get.internal_cpu_pri);
  31330 		break;
  31331 	case BCM_ASYNC_ENTRY_SWITCH_RCPU_DECAP_PRIORITY_MAP_SET:
  31332 		rv = bcm_switch_rcpu_decap_priority_map_set(
  31333 			req->args.switch_rcpu_decap_priority_map_set.unit,
  31334 			req->args.switch_rcpu_decap_priority_map_set.decap_pri,
  31335 			req->args.switch_rcpu_decap_priority_map_set.internal_cpu_pri);
  31336 		break;
  31337 	case BCM_ASYNC_ENTRY_SWITCH_RCPU_ENCAP_PRIORITY_MAP_GET:
  31338 		rv = bcm_switch_rcpu_encap_priority_map_get(
  31339 			req->args.switch_rcpu_encap_priority_map_get.unit,
  31340 			req->args.switch_rcpu_encap_priority_map_get.flags,
  31341 			req->args.switch_rcpu_encap_priority_map_get.internal_cpu_pri,
  31342 			req->args.switch_rcpu_encap_priority_map_get.encap_pri);
  31343 		break;
  31344 	case BCM_ASYNC_ENTRY_SWITCH_RCPU_ENCAP_PRIORITY_MAP_SET:
  31345 		rv = bcm_switch_rcpu_encap_priority_map_set(
  31346 			req->args.switch_rcpu_encap_priority_map_set.unit,
  31347 			req->args.switch_rcpu_encap_priority_map_set.flags,
  31348 			req->args.switch_rcpu_encap_priority_map_set.internal_cpu_pri,
  31349 			req->args.switch_rcpu_encap_priority_map_set.encap_pri);
  31350 		break;
  31351 	case BCM_ASYNC_ENTRY_SWITCH_REFLECTOR_CREATE:
  31352 		rv = bcm_switch_reflector_create(
  31353 			req->args.switch_reflector_create.unit,
  31354 			req->args.switch_reflector_create.flags,
  31355 			req->args.switch_reflector_create.encap_id,
  31356 			req->args.switch_reflector_create.data);
  31357 		break;
  31358 	case BCM_ASYNC_ENTRY_SWITCH_REFLECTOR_DESTROY:
  31359 		rv = bcm_switch_reflector_destroy(
  31360 			req->args.switch_reflector_destroy.unit,
  31361 			req->args.switch_reflector_destroy.flags,
  31362 			req->args.switch_reflector_destroy.encap_id);
  31363 		break;
  31364 	case BCM_ASYNC_ENTRY_SWITCH_REFLECTOR_GET:
  31365 		rv = bcm_switch_reflector_get(
  31366 			req->args.switch_reflector_get.unit,
  31367 			req->args.switch_reflector_get.flags,
  31368 			req->args.switch_reflector_get.encap_id,
  31369 			req->args.switch_reflector_get.data);
  31370 		break;
  31371 	case BCM_ASYNC_ENTRY_SWITCH_REFLECTOR_TRAVERSE:
  31372 		rv = bcm_switch_reflector_traverse(
  31373 			req->args.switch_reflector_traverse.unit,
  31374 			req->args.switch_reflector_traverse.flags,
  31375 			req->args.switch_reflector_traverse.traverse_cb,
  31376 			req->args.switch_reflector_traverse.user_data);
  31377 		break;
  31378 	case BCM_ASYNC_ENTRY_SWITCH_ROV_GET:
  31379 		rv = bcm_switch_rov_get(
  31380 			req->args.switch_rov_get.unit,
  31381 			req->args.switch_rov_get.flags,
  31382 			req->args.switch_rov_get.rov);
  31383 		break;
  31384 	case BCM_ASYNC_ENTRY_SWITCH_SER_ERROR_STAT_CLEAR:
  31385 		rv = bcm_switch_ser_error_stat_clear(
  31386 			req->args.switch_ser_error_stat_clear.unit,
  31387 			req->args.switch_ser_error_stat_clear.stat_type);
  31388 		break;
  31389 	case BCM_ASYNC_ENTRY_SWITCH_SER_ERROR_STAT_GET:
  31390 		rv = bcm_switch_ser_error_stat_get(
  31391 			req->args.switch_ser_error_stat_get.unit,
  31392 			req->args.switch_ser_error_stat_get.stat_type,
  31393 			req->args.switch_ser_error_stat_get.value);
  31394 		break;
  31395 	case BCM_ASYNC_ENTRY_SWITCH_SER_LOG_INFO_GET:
  31396 		rv = bcm_switch_ser_log_info_get(
  31397 			req->args.switch_ser_log_info_get.unit,
  31398 			req->args.switch_ser_log_info_get.id,
  31399 			req->args.switch_ser_log_info_get.info);
  31400 		break;
  31401 	case BCM_ASYNC_ENTRY_SWITCH_SERVICE_GET:
  31402 		rv = bcm_switch_service_get(
  31403 			req->args.switch_service_get.unit,
  31404 			req->args.switch_service_get.service,
  31405 			req->args.switch_service_get.config);
  31406 		break;
  31407 	case BCM_ASYNC_ENTRY_SWITCH_SERVICE_SET:
  31408 		rv = bcm_switch_service_set(
  31409 			req->args.switch_service_set.unit,
  31410 			req->args.switch_service_set.service,
  31411 			req->args.switch_service_set.config);
  31412 		break;
  31413 	case BCM_ASYNC_ENTRY_SWITCH_STABLE_REGISTER:
  31414 		rv = bcm_switch_stable_register(
  31415 			req->args.switch_stable_register.unit,
  31416 			req->args.switch_stable_register.rf,
  31417 			req->args.switch_stable_register.wf);
  31418 		break;
  31419 	case BCM_ASYNC_ENTRY_SWITCH_TEMPERATURE_MONITOR_GET:
  31420 		rv = bcm_switch_temperature_monitor_get(
  31421 			req->args.switch_temperature_monitor_get.unit,
  31422 			req->args.switch_temperature_monitor_get.temperature_max,
  31423 			req->args.switch_temperature_monitor_get.temperature_array,
  31424 			req->args.switch_temperature_monitor_get.temperature_count);
  31425 		break;
  31426 	case BCM_ASYNC_ENTRY_SWITCH_THERMO_SENSOR_READ:
  31427 		rv = bcm_switch_thermo_sensor_read(
  31428 			req->args.switch_thermo_sensor_read.unit,
  31429 			req->args.switch_thermo_sensor_read.sensor_type,
  31430 			req->args.switch_thermo_sensor_read.interface_id,
  31431 			req->args.switch_thermo_sensor_read.sensor_data);
  31432 		break;
  31433 	case BCM_ASYNC_ENTRY_SWITCH_TPID_ADD:
  31434 		rv = bcm_switch_tpid_add(
  31435 			req->args.switch_tpid_add.unit,
  31436 			req->args.switch_tpid_add.options,
  31437 			req->args.switch_tpid_add.tpid_info);
  31438 		break;
  31439 	case BCM_ASYNC_ENTRY_SWITCH_TPID_CLASS_GET:
  31440 		rv = bcm_switch_tpid_class_get(
  31441 			req->args.switch_tpid_class_get.unit,
  31442 			req->args.switch_tpid_class_get.tpid_class);
  31443 		break;
  31444 	case BCM_ASYNC_ENTRY_SWITCH_TPID_DELETE:
  31445 		rv = bcm_switch_tpid_delete(
  31446 			req->args.switch_tpid_delete.unit,
  31447 			req->args.switch_tpid_delete.tpid_info);
  31448 		break;
  31449 	case BCM_ASYNC_ENTRY_SWITCH_TPID_DELETE_ALL:
  31450 		rv = bcm_switch_tpid_delete_all(
  31451 			req->args.switch_tpid_delete_all.unit);
  31452 		break;
  31453 	case BCM_ASYNC_ENTRY_SWITCH_TPID_GET:
  31454 		rv = bcm_switch_tpid_get(
  31455 			req->args.switch_tpid_get.unit,
  31456 			req->args.switch_tpid_get.tpid_info);
  31457 		break;
  31458 	case BCM_ASYNC_ENTRY_SWITCH_TPID_GET_ALL:
  31459 		rv = bcm_switch_tpid_get_all(
  31460 			req->args.switch_tpid_get_all.unit,
  31461 			req->args.switch_tpid_get_all.size,
  31462 			req->args.switch_tpid_get_all.tpid_info_array,
  31463 			req->args.switch_tpid_get_all.count);
  31464 		break;
  31465 	case BCM_ASYNC_ENTRY_SWITCH_USER_BUFFER_READ:
  31466 		rv = bcm_switch_user_buffer_read(
  31467 			req->args.switch_user_buffer_read.unit,
  31468 			req->args.switch_user_buffer_read.flags,
  31469 			req->args.switch_user_buffer_read.buff_type,
  31470 			req->args.switch_user_buffer_read.buf,
  31471 			req->args.switch_user_buffer_read.offset,
  31472 			req->args.switch_user_buffer_read.nbytes);
  31473 		break;
  31474 	case BCM_ASYNC_ENTRY_SWITCH_USER_BUFFER_WRITE:
  31475 		rv = bcm_switch_user_buffer_write(
  31476 			req->args.switch_user_buffer_write.unit,
  31477 			req->args.switch_user_buffer_write.flags,
  31478 			req->args.switch_user_buffer_write.buff_type,
  31479 			req->args.switch_user_buffer_write.buf,
  31480 			req->args.switch_user_buffer_write.offset,
  31481 			req->args.switch_user_buffer_write.nbytes);
  31482 		break;
  31483 #ifdef	INCLUDE_PTP
  31484 	case BCM_ASYNC_ENTRY_TDPLL_DPLL_BANDWIDTH_GET:
  31485 		rv = bcm_tdpll_dpll_bandwidth_get(
  31486 			req->args.tdpll_dpll_bandwidth_get.unit,
  31487 			req->args.tdpll_dpll_bandwidth_get.stack_id,
  31488 			req->args.tdpll_dpll_bandwidth_get.dpll_index,
  31489 			req->args.tdpll_dpll_bandwidth_get.bandwidth);
  31490 		break;
  31491 	case BCM_ASYNC_ENTRY_TDPLL_DPLL_BANDWIDTH_SET:
  31492 		rv = bcm_tdpll_dpll_bandwidth_set(
  31493 			req->args.tdpll_dpll_bandwidth_set.unit,
  31494 			req->args.tdpll_dpll_bandwidth_set.stack_id,
  31495 			req->args.tdpll_dpll_bandwidth_set.dpll_index,
  31496 			req->args.tdpll_dpll_bandwidth_set.bandwidth);
  31497 		break;
  31498 	case BCM_ASYNC_ENTRY_TDPLL_DPLL_BINDINGS_GET:
  31499 		rv = bcm_tdpll_dpll_bindings_get(
  31500 			req->args.tdpll_dpll_bindings_get.unit,
  31501 			req->args.tdpll_dpll_bindings_get.stack_id,
  31502 			req->args.tdpll_dpll_bindings_get.dpll_index,
  31503 			req->args.tdpll_dpll_bindings_get.bindings);
  31504 		break;
  31505 	case BCM_ASYNC_ENTRY_TDPLL_DPLL_BINDINGS_SET:
  31506 		rv = bcm_tdpll_dpll_bindings_set(
  31507 			req->args.tdpll_dpll_bindings_set.unit,
  31508 			req->args.tdpll_dpll_bindings_set.stack_id,
  31509 			req->args.tdpll_dpll_bindings_set.dpll_index,
  31510 			req->args.tdpll_dpll_bindings_set.bindings);
  31511 		break;
  31512 	case BCM_ASYNC_ENTRY_TDPLL_DPLL_PHASE_CONTROL_GET:
  31513 		rv = bcm_tdpll_dpll_phase_control_get(
  31514 			req->args.tdpll_dpll_phase_control_get.unit,
  31515 			req->args.tdpll_dpll_phase_control_get.stack_id,
  31516 			req->args.tdpll_dpll_phase_control_get.dpll_index,
  31517 			req->args.tdpll_dpll_phase_control_get.phase_control);
  31518 		break;
  31519 	case BCM_ASYNC_ENTRY_TDPLL_DPLL_PHASE_CONTROL_SET:
  31520 		rv = bcm_tdpll_dpll_phase_control_set(
  31521 			req->args.tdpll_dpll_phase_control_set.unit,
  31522 			req->args.tdpll_dpll_phase_control_set.stack_id,
  31523 			req->args.tdpll_dpll_phase_control_set.dpll_index,
  31524 			req->args.tdpll_dpll_phase_control_set.phase_control);
  31525 		break;
  31526 	case BCM_ASYNC_ENTRY_TDPLL_DPLL_REFERENCE_GET:
  31527 		rv = bcm_tdpll_dpll_reference_get(
  31528 			req->args.tdpll_dpll_reference_get.unit,
  31529 			req->args.tdpll_dpll_reference_get.stack_id,
  31530 			req->args.tdpll_dpll_reference_get.max_num_dpll,
  31531 			req->args.tdpll_dpll_reference_get.dpll_ref,
  31532 			req->args.tdpll_dpll_reference_get.num_dpll);
  31533 		break;
  31534 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_ESSM_CODE_GET:
  31535 		rv = bcm_tdpll_esmc_essm_code_get(
  31536 			req->args.tdpll_esmc_essm_code_get.unit,
  31537 			req->args.tdpll_esmc_essm_code_get.stack_id,
  31538 			req->args.tdpll_esmc_essm_code_get.dpll_index,
  31539 			req->args.tdpll_esmc_essm_code_get.essm_code);
  31540 		break;
  31541 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_ESSM_CODE_SET:
  31542 		rv = bcm_tdpll_esmc_essm_code_set(
  31543 			req->args.tdpll_esmc_essm_code_set.unit,
  31544 			req->args.tdpll_esmc_essm_code_set.stack_id,
  31545 			req->args.tdpll_esmc_essm_code_set.dpll_index,
  31546 			req->args.tdpll_esmc_essm_code_set.essm_code);
  31547 		break;
  31548 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_HOLDOVER_QL_GET:
  31549 		rv = bcm_tdpll_esmc_holdover_ql_get(
  31550 			req->args.tdpll_esmc_holdover_ql_get.unit,
  31551 			req->args.tdpll_esmc_holdover_ql_get.stack_id,
  31552 			req->args.tdpll_esmc_holdover_ql_get.dpll_index,
  31553 			req->args.tdpll_esmc_holdover_ql_get.ql);
  31554 		break;
  31555 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_HOLDOVER_QL_SET:
  31556 		rv = bcm_tdpll_esmc_holdover_ql_set(
  31557 			req->args.tdpll_esmc_holdover_ql_set.unit,
  31558 			req->args.tdpll_esmc_holdover_ql_set.stack_id,
  31559 			req->args.tdpll_esmc_holdover_ql_set.dpll_index,
  31560 			req->args.tdpll_esmc_holdover_ql_set.ql);
  31561 		break;
  31562 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_MAC_GET:
  31563 		rv = bcm_tdpll_esmc_mac_get(
  31564 			req->args.tdpll_esmc_mac_get.unit,
  31565 			req->args.tdpll_esmc_mac_get.stack_id,
  31566 			req->args.tdpll_esmc_mac_get.dpll_index,
  31567 			req->args.tdpll_esmc_mac_get.mac);
  31568 		break;
  31569 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_MAC_SET:
  31570 		rv = bcm_tdpll_esmc_mac_set(
  31571 			req->args.tdpll_esmc_mac_set.unit,
  31572 			req->args.tdpll_esmc_mac_set.stack_id,
  31573 			req->args.tdpll_esmc_mac_set.dpll_index,
  31574 			req->args.tdpll_esmc_mac_set.mac);
  31575 		break;
  31576 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_QL_GET:
  31577 		rv = bcm_tdpll_esmc_ql_get(
  31578 			req->args.tdpll_esmc_ql_get.unit,
  31579 			req->args.tdpll_esmc_ql_get.stack_id,
  31580 			req->args.tdpll_esmc_ql_get.dpll_index,
  31581 			req->args.tdpll_esmc_ql_get.ql);
  31582 		break;
  31583 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_QL_SET:
  31584 		rv = bcm_tdpll_esmc_ql_set(
  31585 			req->args.tdpll_esmc_ql_set.unit,
  31586 			req->args.tdpll_esmc_ql_set.stack_id,
  31587 			req->args.tdpll_esmc_ql_set.dpll_index,
  31588 			req->args.tdpll_esmc_ql_set.ql);
  31589 		break;
  31590 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_RX_ENABLE_GET:
  31591 		rv = bcm_tdpll_esmc_rx_enable_get(
  31592 			req->args.tdpll_esmc_rx_enable_get.unit,
  31593 			req->args.tdpll_esmc_rx_enable_get.stack_id,
  31594 			req->args.tdpll_esmc_rx_enable_get.enable);
  31595 		break;
  31596 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_RX_ENABLE_SET:
  31597 		rv = bcm_tdpll_esmc_rx_enable_set(
  31598 			req->args.tdpll_esmc_rx_enable_set.unit,
  31599 			req->args.tdpll_esmc_rx_enable_set.stack_id,
  31600 			req->args.tdpll_esmc_rx_enable_set.enable);
  31601 		break;
  31602 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_RX_PORTBITMAP_GET:
  31603 		rv = bcm_tdpll_esmc_rx_portbitmap_get(
  31604 			req->args.tdpll_esmc_rx_portbitmap_get.unit,
  31605 			req->args.tdpll_esmc_rx_portbitmap_get.stack_id,
  31606 			req->args.tdpll_esmc_rx_portbitmap_get.dpll_index,
  31607 			req->args.tdpll_esmc_rx_portbitmap_get.pbmp);
  31608 		break;
  31609 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_RX_PORTBITMAP_SET:
  31610 		rv = bcm_tdpll_esmc_rx_portbitmap_set(
  31611 			req->args.tdpll_esmc_rx_portbitmap_set.unit,
  31612 			req->args.tdpll_esmc_rx_portbitmap_set.stack_id,
  31613 			req->args.tdpll_esmc_rx_portbitmap_set.dpll_index,
  31614 			req->args.tdpll_esmc_rx_portbitmap_set.pbmp);
  31615 		break;
  31616 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_RX_STATE_MACHINE:
  31617 		rv = bcm_tdpll_esmc_rx_state_machine(
  31618 			req->args.tdpll_esmc_rx_state_machine.unit,
  31619 			req->args.tdpll_esmc_rx_state_machine.stack_id,
  31620 			req->args.tdpll_esmc_rx_state_machine.ingress_port,
  31621 			req->args.tdpll_esmc_rx_state_machine.esmc_pdu_data);
  31622 		break;
  31623 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_TX_ENABLE_GET:
  31624 		rv = bcm_tdpll_esmc_tx_enable_get(
  31625 			req->args.tdpll_esmc_tx_enable_get.unit,
  31626 			req->args.tdpll_esmc_tx_enable_get.stack_id,
  31627 			req->args.tdpll_esmc_tx_enable_get.dpll_index,
  31628 			req->args.tdpll_esmc_tx_enable_get.enable);
  31629 		break;
  31630 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_TX_ENABLE_SET:
  31631 		rv = bcm_tdpll_esmc_tx_enable_set(
  31632 			req->args.tdpll_esmc_tx_enable_set.unit,
  31633 			req->args.tdpll_esmc_tx_enable_set.stack_id,
  31634 			req->args.tdpll_esmc_tx_enable_set.dpll_index,
  31635 			req->args.tdpll_esmc_tx_enable_set.enable);
  31636 		break;
  31637 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_TX_PORTBITMAP_GET:
  31638 		rv = bcm_tdpll_esmc_tx_portbitmap_get(
  31639 			req->args.tdpll_esmc_tx_portbitmap_get.unit,
  31640 			req->args.tdpll_esmc_tx_portbitmap_get.stack_id,
  31641 			req->args.tdpll_esmc_tx_portbitmap_get.dpll_index,
  31642 			req->args.tdpll_esmc_tx_portbitmap_get.pbmp);
  31643 		break;
  31644 	case BCM_ASYNC_ENTRY_TDPLL_ESMC_TX_PORTBITMAP_SET:
  31645 		rv = bcm_tdpll_esmc_tx_portbitmap_set(
  31646 			req->args.tdpll_esmc_tx_portbitmap_set.unit,
  31647 			req->args.tdpll_esmc_tx_portbitmap_set.stack_id,
  31648 			req->args.tdpll_esmc_tx_portbitmap_set.dpll_index,
  31649 			req->args.tdpll_esmc_tx_portbitmap_set.pbmp);
  31650 		break;
  31651 	case BCM_ASYNC_ENTRY_TDPLL_EVENT_CALLBACK_REGISTER:
  31652 		rv = bcm_tdpll_event_callback_register(
  31653 			req->args.tdpll_event_callback_register.unit,
  31654 			req->args.tdpll_event_callback_register.stack_id,
  31655 			req->args.tdpll_event_callback_register.event_cb);
  31656 		break;
  31657 	case BCM_ASYNC_ENTRY_TDPLL_EVENT_CALLBACK_UNREGISTER:
  31658 		rv = bcm_tdpll_event_callback_unregister(
  31659 			req->args.tdpll_event_callback_unregister.unit,
  31660 			req->args.tdpll_event_callback_unregister.stack_id);
  31661 		break;
  31662 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_BEST_GET:
  31663 		rv = bcm_tdpll_input_clock_best_get(
  31664 			req->args.tdpll_input_clock_best_get.unit,
  31665 			req->args.tdpll_input_clock_best_get.stack_id,
  31666 			req->args.tdpll_input_clock_best_get.dpll_index,
  31667 			req->args.tdpll_input_clock_best_get.best_clock);
  31668 		break;
  31669 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_CALLBACK_REGISTER:
  31670 		rv = bcm_tdpll_input_clock_callback_register(
  31671 			req->args.tdpll_input_clock_callback_register.unit,
  31672 			req->args.tdpll_input_clock_callback_register.stack_id,
  31673 			req->args.tdpll_input_clock_callback_register.type,
  31674 			req->args.tdpll_input_clock_callback_register.callback);
  31675 		break;
  31676 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_CALLBACK_UNREGISTER:
  31677 		rv = bcm_tdpll_input_clock_callback_unregister(
  31678 			req->args.tdpll_input_clock_callback_unregister.unit,
  31679 			req->args.tdpll_input_clock_callback_unregister.stack_id,
  31680 			req->args.tdpll_input_clock_callback_unregister.type);
  31681 		break;
  31682 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_CONTROL:
  31683 		rv = bcm_tdpll_input_clock_control(
  31684 			req->args.tdpll_input_clock_control.unit,
  31685 			req->args.tdpll_input_clock_control.stack_id,
  31686 			req->args.tdpll_input_clock_control.enable);
  31687 		break;
  31688 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_ENABLE_GET:
  31689 		rv = bcm_tdpll_input_clock_enable_get(
  31690 			req->args.tdpll_input_clock_enable_get.unit,
  31691 			req->args.tdpll_input_clock_enable_get.stack_id,
  31692 			req->args.tdpll_input_clock_enable_get.clock_index,
  31693 			req->args.tdpll_input_clock_enable_get.enable);
  31694 		break;
  31695 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_ENABLE_SET:
  31696 		rv = bcm_tdpll_input_clock_enable_set(
  31697 			req->args.tdpll_input_clock_enable_set.unit,
  31698 			req->args.tdpll_input_clock_enable_set.stack_id,
  31699 			req->args.tdpll_input_clock_enable_set.clock_index,
  31700 			req->args.tdpll_input_clock_enable_set.enable);
  31701 		break;
  31702 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_FREQUENCY_ERROR_GET:
  31703 		rv = bcm_tdpll_input_clock_frequency_error_get(
  31704 			req->args.tdpll_input_clock_frequency_error_get.unit,
  31705 			req->args.tdpll_input_clock_frequency_error_get.stack_id,
  31706 			req->args.tdpll_input_clock_frequency_error_get.clock_index,
  31707 			req->args.tdpll_input_clock_frequency_error_get.freq_error_ppb);
  31708 		break;
  31709 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_FREQUENCY_GET:
  31710 		rv = bcm_tdpll_input_clock_frequency_get(
  31711 			req->args.tdpll_input_clock_frequency_get.unit,
  31712 			req->args.tdpll_input_clock_frequency_get.stack_id,
  31713 			req->args.tdpll_input_clock_frequency_get.clock_index,
  31714 			req->args.tdpll_input_clock_frequency_get.clock_frequency,
  31715 			req->args.tdpll_input_clock_frequency_get.tsevent_frequency);
  31716 		break;
  31717 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_FREQUENCY_SET:
  31718 		rv = bcm_tdpll_input_clock_frequency_set(
  31719 			req->args.tdpll_input_clock_frequency_set.unit,
  31720 			req->args.tdpll_input_clock_frequency_set.stack_id,
  31721 			req->args.tdpll_input_clock_frequency_set.clock_index,
  31722 			req->args.tdpll_input_clock_frequency_set.clock_frequency,
  31723 			req->args.tdpll_input_clock_frequency_set.tsevent_frequency);
  31724 		break;
  31725 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_L1MUX_GET:
  31726 		rv = bcm_tdpll_input_clock_l1mux_get(
  31727 			req->args.tdpll_input_clock_l1mux_get.unit,
  31728 			req->args.tdpll_input_clock_l1mux_get.stack_id,
  31729 			req->args.tdpll_input_clock_l1mux_get.clock_index,
  31730 			req->args.tdpll_input_clock_l1mux_get.l1mux);
  31731 		break;
  31732 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_L1MUX_SET:
  31733 		rv = bcm_tdpll_input_clock_l1mux_set(
  31734 			req->args.tdpll_input_clock_l1mux_set.unit,
  31735 			req->args.tdpll_input_clock_l1mux_set.stack_id,
  31736 			req->args.tdpll_input_clock_l1mux_set.clock_index,
  31737 			req->args.tdpll_input_clock_l1mux_set.l1mux);
  31738 		break;
  31739 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_LOCKOUT_GET:
  31740 		rv = bcm_tdpll_input_clock_lockout_get(
  31741 			req->args.tdpll_input_clock_lockout_get.unit,
  31742 			req->args.tdpll_input_clock_lockout_get.stack_id,
  31743 			req->args.tdpll_input_clock_lockout_get.clock_index,
  31744 			req->args.tdpll_input_clock_lockout_get.lockout);
  31745 		break;
  31746 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_LOCKOUT_SET:
  31747 		rv = bcm_tdpll_input_clock_lockout_set(
  31748 			req->args.tdpll_input_clock_lockout_set.unit,
  31749 			req->args.tdpll_input_clock_lockout_set.stack_id,
  31750 			req->args.tdpll_input_clock_lockout_set.clock_index,
  31751 			req->args.tdpll_input_clock_lockout_set.lockout);
  31752 		break;
  31753 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_MAC_GET:
  31754 		rv = bcm_tdpll_input_clock_mac_get(
  31755 			req->args.tdpll_input_clock_mac_get.unit,
  31756 			req->args.tdpll_input_clock_mac_get.stack_id,
  31757 			req->args.tdpll_input_clock_mac_get.clock_index,
  31758 			req->args.tdpll_input_clock_mac_get.mac);
  31759 		break;
  31760 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_MAC_SET:
  31761 		rv = bcm_tdpll_input_clock_mac_set(
  31762 			req->args.tdpll_input_clock_mac_set.unit,
  31763 			req->args.tdpll_input_clock_mac_set.stack_id,
  31764 			req->args.tdpll_input_clock_mac_set.clock_index,
  31765 			req->args.tdpll_input_clock_mac_set.mac);
  31766 		break;
  31767 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_MONITOR_CALLBACK_REGISTER:
  31768 		rv = bcm_tdpll_input_clock_monitor_callback_register(
  31769 			req->args.tdpll_input_clock_monitor_callback_register.unit,
  31770 			req->args.tdpll_input_clock_monitor_callback_register.stack_id,
  31771 			req->args.tdpll_input_clock_monitor_callback_register.monitor_cb);
  31772 		break;
  31773 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_MONITOR_CALLBACK_UNREGISTER:
  31774 		rv = bcm_tdpll_input_clock_monitor_callback_unregister(
  31775 			req->args.tdpll_input_clock_monitor_callback_unregister.unit,
  31776 			req->args.tdpll_input_clock_monitor_callback_unregister.stack_id);
  31777 		break;
  31778 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_MONITOR_INTERVAL_GET:
  31779 		rv = bcm_tdpll_input_clock_monitor_interval_get(
  31780 			req->args.tdpll_input_clock_monitor_interval_get.unit,
  31781 			req->args.tdpll_input_clock_monitor_interval_get.stack_id,
  31782 			req->args.tdpll_input_clock_monitor_interval_get.monitor_interval);
  31783 		break;
  31784 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_MONITOR_INTERVAL_SET:
  31785 		rv = bcm_tdpll_input_clock_monitor_interval_set(
  31786 			req->args.tdpll_input_clock_monitor_interval_set.unit,
  31787 			req->args.tdpll_input_clock_monitor_interval_set.stack_id,
  31788 			req->args.tdpll_input_clock_monitor_interval_set.monitor_interval);
  31789 		break;
  31790 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_MONITOR_THRESHOLD_GET:
  31791 		rv = bcm_tdpll_input_clock_monitor_threshold_get(
  31792 			req->args.tdpll_input_clock_monitor_threshold_get.unit,
  31793 			req->args.tdpll_input_clock_monitor_threshold_get.stack_id,
  31794 			req->args.tdpll_input_clock_monitor_threshold_get.threshold_type,
  31795 			req->args.tdpll_input_clock_monitor_threshold_get.threshold);
  31796 		break;
  31797 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_MONITOR_THRESHOLD_SET:
  31798 		rv = bcm_tdpll_input_clock_monitor_threshold_set(
  31799 			req->args.tdpll_input_clock_monitor_threshold_set.unit,
  31800 			req->args.tdpll_input_clock_monitor_threshold_set.stack_id,
  31801 			req->args.tdpll_input_clock_monitor_threshold_set.threshold_type,
  31802 			req->args.tdpll_input_clock_monitor_threshold_set.threshold);
  31803 		break;
  31804 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_PRIORITY_GET:
  31805 		rv = bcm_tdpll_input_clock_priority_get(
  31806 			req->args.tdpll_input_clock_priority_get.unit,
  31807 			req->args.tdpll_input_clock_priority_get.stack_id,
  31808 			req->args.tdpll_input_clock_priority_get.clock_index,
  31809 			req->args.tdpll_input_clock_priority_get.priority);
  31810 		break;
  31811 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_PRIORITY_SET:
  31812 		rv = bcm_tdpll_input_clock_priority_set(
  31813 			req->args.tdpll_input_clock_priority_set.unit,
  31814 			req->args.tdpll_input_clock_priority_set.stack_id,
  31815 			req->args.tdpll_input_clock_priority_set.clock_index,
  31816 			req->args.tdpll_input_clock_priority_set.priority);
  31817 		break;
  31818 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_QL_CHANGE_CALLBACK_REGISTER:
  31819 		rv = bcm_tdpll_input_clock_ql_change_callback_register(
  31820 			req->args.tdpll_input_clock_ql_change_callback_register.unit,
  31821 			req->args.tdpll_input_clock_ql_change_callback_register.stack_id,
  31822 			req->args.tdpll_input_clock_ql_change_callback_register.ql_change_cb);
  31823 		break;
  31824 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_QL_CHANGE_CALLBACK_UNREGISTER:
  31825 		rv = bcm_tdpll_input_clock_ql_change_callback_unregister(
  31826 			req->args.tdpll_input_clock_ql_change_callback_unregister.unit,
  31827 			req->args.tdpll_input_clock_ql_change_callback_unregister.stack_id);
  31828 		break;
  31829 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_QL_ENABLED_GET:
  31830 		rv = bcm_tdpll_input_clock_ql_enabled_get(
  31831 			req->args.tdpll_input_clock_ql_enabled_get.unit,
  31832 			req->args.tdpll_input_clock_ql_enabled_get.stack_id,
  31833 			req->args.tdpll_input_clock_ql_enabled_get.dpll_index,
  31834 			req->args.tdpll_input_clock_ql_enabled_get.ql_enabled);
  31835 		break;
  31836 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_QL_ENABLED_SET:
  31837 		rv = bcm_tdpll_input_clock_ql_enabled_set(
  31838 			req->args.tdpll_input_clock_ql_enabled_set.unit,
  31839 			req->args.tdpll_input_clock_ql_enabled_set.stack_id,
  31840 			req->args.tdpll_input_clock_ql_enabled_set.dpll_index,
  31841 			req->args.tdpll_input_clock_ql_enabled_set.ql_enabled);
  31842 		break;
  31843 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_QL_GET:
  31844 		rv = bcm_tdpll_input_clock_ql_get(
  31845 			req->args.tdpll_input_clock_ql_get.unit,
  31846 			req->args.tdpll_input_clock_ql_get.stack_id,
  31847 			req->args.tdpll_input_clock_ql_get.clock_index,
  31848 			req->args.tdpll_input_clock_ql_get.ql);
  31849 		break;
  31850 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_QL_SET:
  31851 		rv = bcm_tdpll_input_clock_ql_set(
  31852 			req->args.tdpll_input_clock_ql_set.unit,
  31853 			req->args.tdpll_input_clock_ql_set.stack_id,
  31854 			req->args.tdpll_input_clock_ql_set.clock_index,
  31855 			req->args.tdpll_input_clock_ql_set.ql);
  31856 		break;
  31857 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_REVERTIVE_GET:
  31858 		rv = bcm_tdpll_input_clock_revertive_get(
  31859 			req->args.tdpll_input_clock_revertive_get.unit,
  31860 			req->args.tdpll_input_clock_revertive_get.stack_id,
  31861 			req->args.tdpll_input_clock_revertive_get.dpll_index,
  31862 			req->args.tdpll_input_clock_revertive_get.revertive);
  31863 		break;
  31864 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_REVERTIVE_SET:
  31865 		rv = bcm_tdpll_input_clock_revertive_set(
  31866 			req->args.tdpll_input_clock_revertive_set.unit,
  31867 			req->args.tdpll_input_clock_revertive_set.stack_id,
  31868 			req->args.tdpll_input_clock_revertive_set.dpll_index,
  31869 			req->args.tdpll_input_clock_revertive_set.revertive);
  31870 		break;
  31871 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_SELECTOR_CALLBACK_REGISTER:
  31872 		rv = bcm_tdpll_input_clock_selector_callback_register(
  31873 			req->args.tdpll_input_clock_selector_callback_register.unit,
  31874 			req->args.tdpll_input_clock_selector_callback_register.stack_id,
  31875 			req->args.tdpll_input_clock_selector_callback_register.selector_cb);
  31876 		break;
  31877 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_SELECTOR_CALLBACK_UNREGISTER:
  31878 		rv = bcm_tdpll_input_clock_selector_callback_unregister(
  31879 			req->args.tdpll_input_clock_selector_callback_unregister.unit,
  31880 			req->args.tdpll_input_clock_selector_callback_unregister.stack_id);
  31881 		break;
  31882 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_THRESHOLD_STATE_GET:
  31883 		rv = bcm_tdpll_input_clock_threshold_state_get(
  31884 			req->args.tdpll_input_clock_threshold_state_get.unit,
  31885 			req->args.tdpll_input_clock_threshold_state_get.stack_id,
  31886 			req->args.tdpll_input_clock_threshold_state_get.clock_index,
  31887 			req->args.tdpll_input_clock_threshold_state_get.threshold_type,
  31888 			req->args.tdpll_input_clock_threshold_state_get.threshold_state);
  31889 		break;
  31890 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_VALID_GET:
  31891 		rv = bcm_tdpll_input_clock_valid_get(
  31892 			req->args.tdpll_input_clock_valid_get.unit,
  31893 			req->args.tdpll_input_clock_valid_get.stack_id,
  31894 			req->args.tdpll_input_clock_valid_get.clock_index,
  31895 			req->args.tdpll_input_clock_valid_get.valid);
  31896 		break;
  31897 	case BCM_ASYNC_ENTRY_TDPLL_INPUT_CLOCK_VALID_SET:
  31898 		rv = bcm_tdpll_input_clock_valid_set(
  31899 			req->args.tdpll_input_clock_valid_set.unit,
  31900 			req->args.tdpll_input_clock_valid_set.stack_id,
  31901 			req->args.tdpll_input_clock_valid_set.clock_index,
  31902 			req->args.tdpll_input_clock_valid_set.valid);
  31903 		break;
  31904 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_DERIV_FREQUENCY_GET:
  31905 		rv = bcm_tdpll_output_clock_deriv_frequency_get(
  31906 			req->args.tdpll_output_clock_deriv_frequency_get.unit,
  31907 			req->args.tdpll_output_clock_deriv_frequency_get.stack_id,
  31908 			req->args.tdpll_output_clock_deriv_frequency_get.clock_index,
  31909 			req->args.tdpll_output_clock_deriv_frequency_get.deriv_frequency);
  31910 		break;
  31911 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_DERIV_FREQUENCY_SET:
  31912 		rv = bcm_tdpll_output_clock_deriv_frequency_set(
  31913 			req->args.tdpll_output_clock_deriv_frequency_set.unit,
  31914 			req->args.tdpll_output_clock_deriv_frequency_set.stack_id,
  31915 			req->args.tdpll_output_clock_deriv_frequency_set.clock_index,
  31916 			req->args.tdpll_output_clock_deriv_frequency_set.deriv_frequency);
  31917 		break;
  31918 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_ENABLE_GET:
  31919 		rv = bcm_tdpll_output_clock_enable_get(
  31920 			req->args.tdpll_output_clock_enable_get.unit,
  31921 			req->args.tdpll_output_clock_enable_get.stack_id,
  31922 			req->args.tdpll_output_clock_enable_get.clock_index,
  31923 			req->args.tdpll_output_clock_enable_get.enable);
  31924 		break;
  31925 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_ENABLE_SET:
  31926 		rv = bcm_tdpll_output_clock_enable_set(
  31927 			req->args.tdpll_output_clock_enable_set.unit,
  31928 			req->args.tdpll_output_clock_enable_set.stack_id,
  31929 			req->args.tdpll_output_clock_enable_set.clock_index,
  31930 			req->args.tdpll_output_clock_enable_set.enable);
  31931 		break;
  31932 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_HOLDOVER_DATA_GET:
  31933 		rv = bcm_tdpll_output_clock_holdover_data_get(
  31934 			req->args.tdpll_output_clock_holdover_data_get.unit,
  31935 			req->args.tdpll_output_clock_holdover_data_get.stack_id,
  31936 			req->args.tdpll_output_clock_holdover_data_get.clock_index,
  31937 			req->args.tdpll_output_clock_holdover_data_get.hdata);
  31938 		break;
  31939 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_HOLDOVER_FREQUENCY_SET:
  31940 		rv = bcm_tdpll_output_clock_holdover_frequency_set(
  31941 			req->args.tdpll_output_clock_holdover_frequency_set.unit,
  31942 			req->args.tdpll_output_clock_holdover_frequency_set.stack_id,
  31943 			req->args.tdpll_output_clock_holdover_frequency_set.clock_index,
  31944 			req->args.tdpll_output_clock_holdover_frequency_set.hfreq);
  31945 		break;
  31946 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_HOLDOVER_MODE_GET:
  31947 		rv = bcm_tdpll_output_clock_holdover_mode_get(
  31948 			req->args.tdpll_output_clock_holdover_mode_get.unit,
  31949 			req->args.tdpll_output_clock_holdover_mode_get.stack_id,
  31950 			req->args.tdpll_output_clock_holdover_mode_get.clock_index,
  31951 			req->args.tdpll_output_clock_holdover_mode_get.hmode);
  31952 		break;
  31953 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_HOLDOVER_MODE_SET:
  31954 		rv = bcm_tdpll_output_clock_holdover_mode_set(
  31955 			req->args.tdpll_output_clock_holdover_mode_set.unit,
  31956 			req->args.tdpll_output_clock_holdover_mode_set.stack_id,
  31957 			req->args.tdpll_output_clock_holdover_mode_set.clock_index,
  31958 			req->args.tdpll_output_clock_holdover_mode_set.hmode);
  31959 		break;
  31960 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_HOLDOVER_RESET:
  31961 		rv = bcm_tdpll_output_clock_holdover_reset(
  31962 			req->args.tdpll_output_clock_holdover_reset.unit,
  31963 			req->args.tdpll_output_clock_holdover_reset.stack_id,
  31964 			req->args.tdpll_output_clock_holdover_reset.clock_index);
  31965 		break;
  31966 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_SYNTH_FREQUENCY_GET:
  31967 		rv = bcm_tdpll_output_clock_synth_frequency_get(
  31968 			req->args.tdpll_output_clock_synth_frequency_get.unit,
  31969 			req->args.tdpll_output_clock_synth_frequency_get.stack_id,
  31970 			req->args.tdpll_output_clock_synth_frequency_get.clock_index,
  31971 			req->args.tdpll_output_clock_synth_frequency_get.synth_frequency,
  31972 			req->args.tdpll_output_clock_synth_frequency_get.tsevent_frequency);
  31973 		break;
  31974 	case BCM_ASYNC_ENTRY_TDPLL_OUTPUT_CLOCK_SYNTH_FREQUENCY_SET:
  31975 		rv = bcm_tdpll_output_clock_synth_frequency_set(
  31976 			req->args.tdpll_output_clock_synth_frequency_set.unit,
  31977 			req->args.tdpll_output_clock_synth_frequency_set.stack_id,
  31978 			req->args.tdpll_output_clock_synth_frequency_set.clock_index,
  31979 			req->args.tdpll_output_clock_synth_frequency_set.synth_frequency,
  31980 			req->args.tdpll_output_clock_synth_frequency_set.tsevent_frequency);
  31981 		break;
  31982 #endif	/* INCLUDE_PTP */
  31983 	case BCM_ASYNC_ENTRY_TELEMETRY_CONFIG_GET:
  31984 		rv = bcm_telemetry_config_get(
  31985 			req->args.telemetry_config_get.unit,
  31986 			req->args.telemetry_config_get.telemetry_instance,
  31987 			req->args.telemetry_config_get.core,
  31988 			req->args.telemetry_config_get.max_count,
  31989 			req->args.telemetry_config_get.telemetry_config_list,
  31990 			req->args.telemetry_config_get.config_count);
  31991 		break;
  31992 	case BCM_ASYNC_ENTRY_TELEMETRY_CONFIG_SET:
  31993 		rv = bcm_telemetry_config_set(
  31994 			req->args.telemetry_config_set.unit,
  31995 			req->args.telemetry_config_set.telemetry_instance,
  31996 			req->args.telemetry_config_set.core,
  31997 			req->args.telemetry_config_set.config_count,
  31998 			req->args.telemetry_config_set.telemetry_config_list);
  31999 		break;
  32000 	case BCM_ASYNC_ENTRY_TELEMETRY_DETACH:
  32001 		rv = bcm_telemetry_detach(
  32002 			req->args.telemetry_detach.unit);
  32003 		break;
  32004 	case BCM_ASYNC_ENTRY_TELEMETRY_EXPORT_CONFIG_DELETE:
  32005 		rv = bcm_telemetry_export_config_delete(
  32006 			req->args.telemetry_export_config_delete.unit,
  32007 			req->args.telemetry_export_config_delete.telemetry_instance,
  32008 			req->args.telemetry_export_config_delete.collector_id,
  32009 			req->args.telemetry_export_config_delete.export_profile_id);
  32010 		break;
  32011 	case BCM_ASYNC_ENTRY_TELEMETRY_EXPORT_CONFIG_GET:
  32012 		rv = bcm_telemetry_export_config_get(
  32013 			req->args.telemetry_export_config_get.unit,
  32014 			req->args.telemetry_export_config_get.telemetry_instance,
  32015 			req->args.telemetry_export_config_get.collector_id,
  32016 			req->args.telemetry_export_config_get.export_profile_id);
  32017 		break;
  32018 	case BCM_ASYNC_ENTRY_TELEMETRY_EXPORT_CONFIG_SET:
  32019 		rv = bcm_telemetry_export_config_set(
  32020 			req->args.telemetry_export_config_set.unit,
  32021 			req->args.telemetry_export_config_set.telemetry_instance,
  32022 			req->args.telemetry_export_config_set.collector_id,
  32023 			req->args.telemetry_export_config_set.export_profile_id);
  32024 		break;
  32025 	case BCM_ASYNC_ENTRY_TELEMETRY_INIT:
  32026 		rv = bcm_telemetry_init(
  32027 			req->args.telemetry_init.unit);
  32028 		break;
  32029 	case BCM_ASYNC_ENTRY_TELEMETRY_INSTANCE_EXPORT_STATS_GET:
  32030 		rv = bcm_telemetry_instance_export_stats_get(
  32031 			req->args.telemetry_instance_export_stats_get.unit,
  32032 			req->args.telemetry_instance_export_stats_get.telemetry_instance,
  32033 			req->args.telemetry_instance_export_stats_get.collector_id,
  32034 			req->args.telemetry_instance_export_stats_get.stats);
  32035 		break;
  32036 	case BCM_ASYNC_ENTRY_TELEMETRY_INSTANCE_EXPORT_STATS_SET:
  32037 		rv = bcm_telemetry_instance_export_stats_set(
  32038 			req->args.telemetry_instance_export_stats_set.unit,
  32039 			req->args.telemetry_instance_export_stats_set.telemetry_instance,
  32040 			req->args.telemetry_instance_export_stats_set.collector_id,
  32041 			req->args.telemetry_instance_export_stats_set.stats);
  32042 		break;
  32043 	case BCM_ASYNC_ENTRY_TELEMETRY_SYSTEM_ID_GET:
  32044 		rv = bcm_telemetry_system_id_get(
  32045 			req->args.telemetry_system_id_get.unit,
  32046 			req->args.telemetry_system_id_get.max_system_id_len,
  32047 			req->args.telemetry_system_id_get.system_id_len,
  32048 			req->args.telemetry_system_id_get.system_id);
  32049 		break;
  32050 	case BCM_ASYNC_ENTRY_TELEMETRY_SYSTEM_ID_SET:
  32051 		rv = bcm_telemetry_system_id_set(
  32052 			req->args.telemetry_system_id_set.unit,
  32053 			req->args.telemetry_system_id_set.system_id_len,
  32054 			req->args.telemetry_system_id_set.system_id);
  32055 		break;
  32056 	case BCM_ASYNC_ENTRY_TIME_BS_LOG_CONFIGURE_GET:
  32057 		rv = bcm_time_bs_log_configure_get(
  32058 			req->args.time_bs_log_configure_get.unit,
  32059 			req->args.time_bs_log_configure_get.bs_log_cfg);
  32060 		break;
  32061 	case BCM_ASYNC_ENTRY_TIME_BS_LOG_CONFIGURE_SET:
  32062 		rv = bcm_time_bs_log_configure_set(
  32063 			req->args.time_bs_log_configure_set.unit,
  32064 			req->args.time_bs_log_configure_set.bs_log_cfg);
  32065 		break;
  32066 	case BCM_ASYNC_ENTRY_TIME_BS_TIME_GET:
  32067 		rv = bcm_time_bs_time_get(
  32068 			req->args.time_bs_time_get.unit,
  32069 			req->args.time_bs_time_get.bs_time);
  32070 		break;
  32071 	case BCM_ASYNC_ENTRY_TIME_CAPTURE_CB_REGISTER:
  32072 		rv = bcm_time_capture_cb_register(
  32073 			req->args.time_capture_cb_register.unit,
  32074 			req->args.time_capture_cb_register.id,
  32075 			req->args.time_capture_cb_register.cb_type,
  32076 			req->args.time_capture_cb_register.cb,
  32077 			req->args.time_capture_cb_register.user_data);
  32078 		break;
  32079 	case BCM_ASYNC_ENTRY_TIME_CAPTURE_CB_UNREGISTER:
  32080 		rv = bcm_time_capture_cb_unregister(
  32081 			req->args.time_capture_cb_unregister.unit,
  32082 			req->args.time_capture_cb_unregister.id,
  32083 			req->args.time_capture_cb_unregister.cb_type);
  32084 		break;
  32085 	case BCM_ASYNC_ENTRY_TIME_CAPTURE_ENABLE_SET:
  32086 		rv = bcm_time_capture_enable_set(
  32087 			req->args.time_capture_enable_set.unit,
  32088 			req->args.time_capture_enable_set.id,
  32089 			req->args.time_capture_enable_set.time_capture,
  32090 			req->args.time_capture_enable_set.enable,
  32091 			req->args.time_capture_enable_set.capture_handle);
  32092 		break;
  32093 	case BCM_ASYNC_ENTRY_TIME_CAPTURE_GET:
  32094 		rv = bcm_time_capture_get(
  32095 			req->args.time_capture_get.unit,
  32096 			req->args.time_capture_get.intf_id,
  32097 			req->args.time_capture_get.time);
  32098 		break;
  32099 	case BCM_ASYNC_ENTRY_TIME_DEINIT:
  32100 		rv = bcm_time_deinit(
  32101 			req->args.time_deinit.unit);
  32102 		break;
  32103 	case BCM_ASYNC_ENTRY_TIME_HEARTBEAT_ENABLE_GET:
  32104 		rv = bcm_time_heartbeat_enable_get(
  32105 			req->args.time_heartbeat_enable_get.unit,
  32106 			req->args.time_heartbeat_enable_get.id,
  32107 			req->args.time_heartbeat_enable_get.enable);
  32108 		break;
  32109 	case BCM_ASYNC_ENTRY_TIME_HEARTBEAT_ENABLE_SET:
  32110 		rv = bcm_time_heartbeat_enable_set(
  32111 			req->args.time_heartbeat_enable_set.unit,
  32112 			req->args.time_heartbeat_enable_set.id,
  32113 			req->args.time_heartbeat_enable_set.enable);
  32114 		break;
  32115 	case BCM_ASYNC_ENTRY_TIME_HEARTBEAT_REGISTER:
  32116 		rv = bcm_time_heartbeat_register(
  32117 			req->args.time_heartbeat_register.unit,
  32118 			req->args.time_heartbeat_register.id,
  32119 			req->args.time_heartbeat_register.f,
  32120 			req->args.time_heartbeat_register.user_data);
  32121 		break;
  32122 	case BCM_ASYNC_ENTRY_TIME_HEARTBEAT_UNREGISTER:
  32123 		rv = bcm_time_heartbeat_unregister(
  32124 			req->args.time_heartbeat_unregister.unit,
  32125 			req->args.time_heartbeat_unregister.id);
  32126 		break;
  32127 	case BCM_ASYNC_ENTRY_TIME_INIT:
  32128 		rv = bcm_time_init(
  32129 			req->args.time_init.unit);
  32130 		break;
  32131 	case BCM_ASYNC_ENTRY_TIME_INTERFACE_ADD:
  32132 		rv = bcm_time_interface_add(
  32133 			req->args.time_interface_add.unit,
  32134 			req->args.time_interface_add.intf);
  32135 		break;
  32136 	case BCM_ASYNC_ENTRY_TIME_INTERFACE_DELETE:
  32137 		rv = bcm_time_interface_delete(
  32138 			req->args.time_interface_delete.unit,
  32139 			req->args.time_interface_delete.intf_id);
  32140 		break;
  32141 	case BCM_ASYNC_ENTRY_TIME_INTERFACE_DELETE_ALL:
  32142 		rv = bcm_time_interface_delete_all(
  32143 			req->args.time_interface_delete_all.unit);
  32144 		break;
  32145 	case BCM_ASYNC_ENTRY_TIME_INTERFACE_GET:
  32146 		rv = bcm_time_interface_get(
  32147 			req->args.time_interface_get.unit,
  32148 			req->args.time_interface_get.intf);
  32149 		break;
  32150 	case BCM_ASYNC_ENTRY_TIME_INTERFACE_TRAVERSE:
  32151 		rv = bcm_time_interface_traverse(
  32152 			req->args.time_interface_traverse.unit,
  32153 			req->args.time_interface_traverse.cb,
  32154 			req->args.time_interface_traverse.user_data);
  32155 		break;
  32156 	case BCM_ASYNC_ENTRY_TIME_SYNCE_CLOCK_GET:
  32157 		rv = bcm_time_synce_clock_get(
  32158 			req->args.time_synce_clock_get.unit,
  32159 			req->args.time_synce_clock_get.clk_src,
  32160 			req->args.time_synce_clock_get.divisor_setting);
  32161 		break;
  32162 	case BCM_ASYNC_ENTRY_TIME_SYNCE_CLOCK_SET:
  32163 		rv = bcm_time_synce_clock_set(
  32164 			req->args.time_synce_clock_set.unit,
  32165 			req->args.time_synce_clock_set.clk_src,
  32166 			req->args.time_synce_clock_set.divisor_setting);
  32167 		break;
  32168 	case BCM_ASYNC_ENTRY_TIME_SYNCE_CLOCK_SOURCE_CONTROL_GET:
  32169 		rv = bcm_time_synce_clock_source_control_get(
  32170 			req->args.time_synce_clock_source_control_get.unit,
  32171 			req->args.time_synce_clock_source_control_get.clk_src_config,
  32172 			req->args.time_synce_clock_source_control_get.control,
  32173 			req->args.time_synce_clock_source_control_get.value);
  32174 		break;
  32175 	case BCM_ASYNC_ENTRY_TIME_SYNCE_CLOCK_SOURCE_CONTROL_SET:
  32176 		rv = bcm_time_synce_clock_source_control_set(
  32177 			req->args.time_synce_clock_source_control_set.unit,
  32178 			req->args.time_synce_clock_source_control_set.clk_src_config,
  32179 			req->args.time_synce_clock_source_control_set.control,
  32180 			req->args.time_synce_clock_source_control_set.value);
  32181 		break;
  32182 	case BCM_ASYNC_ENTRY_TIME_TOD_GET:
  32183 		rv = bcm_time_tod_get(
  32184 			req->args.time_tod_get.unit,
  32185 			req->args.time_tod_get.stages,
  32186 			req->args.time_tod_get.tod);
  32187 		break;
  32188 	case BCM_ASYNC_ENTRY_TIME_TOD_SET:
  32189 		rv = bcm_time_tod_set(
  32190 			req->args.time_tod_set.unit,
  32191 			req->args.time_tod_set.stages,
  32192 			req->args.time_tod_set.tod);
  32193 		break;
  32194 	case BCM_ASYNC_ENTRY_TIME_TRIGGER_ENABLE_GET:
  32195 		rv = bcm_time_trigger_enable_get(
  32196 			req->args.time_trigger_enable_get.unit,
  32197 			req->args.time_trigger_enable_get.id,
  32198 			req->args.time_trigger_enable_get.mode_flags);
  32199 		break;
  32200 	case BCM_ASYNC_ENTRY_TIME_TRIGGER_ENABLE_SET:
  32201 		rv = bcm_time_trigger_enable_set(
  32202 			req->args.time_trigger_enable_set.unit,
  32203 			req->args.time_trigger_enable_set.id,
  32204 			req->args.time_trigger_enable_set.mode_flags);
  32205 		break;
  32206 	case BCM_ASYNC_ENTRY_TIME_TS_COUNTER_GET:
  32207 		rv = bcm_time_ts_counter_get(
  32208 			req->args.time_ts_counter_get.unit,
  32209 			req->args.time_ts_counter_get.counter);
  32210 		break;
  32211 	case BCM_ASYNC_ENTRY_TIME_TS_COUNTER_SET:
  32212 		rv = bcm_time_ts_counter_set(
  32213 			req->args.time_ts_counter_set.unit,
  32214 			req->args.time_ts_counter_set.counter);
  32215 		break;
  32216 	case BCM_ASYNC_ENTRY_TOPO_PORT_GET:
  32217 		rv = bcm_topo_port_get(
  32218 			req->args.topo_port_get.unit,
  32219 			req->args.topo_port_get.dest_modid,
  32220 			req->args.topo_port_get.exit_port);
  32221 		break;
  32222 #ifdef	INCLUDE_L3
  32223 	case BCM_ASYNC_ENTRY_TRILL_CLEANUP:
  32224 		rv = bcm_trill_cleanup(
  32225 			req->args.trill_cleanup.unit);
  32226 		break;
  32227 	case BCM_ASYNC_ENTRY_TRILL_INIT:
  32228 		rv = bcm_trill_init(
  32229 			req->args.trill_init.unit);
  32230 		break;
  32231 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_ADJACENCY_ADD:
  32232 		rv = bcm_trill_multicast_adjacency_add(
  32233 			req->args.trill_multicast_adjacency_add.unit,
  32234 			req->args.trill_multicast_adjacency_add.trill_multicast_adjacency);
  32235 		break;
  32236 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_ADJACENCY_DELETE:
  32237 		rv = bcm_trill_multicast_adjacency_delete(
  32238 			req->args.trill_multicast_adjacency_delete.unit,
  32239 			req->args.trill_multicast_adjacency_delete.trill_multicast_adjacency);
  32240 		break;
  32241 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_ADJACENCY_DELETE_ALL:
  32242 		rv = bcm_trill_multicast_adjacency_delete_all(
  32243 			req->args.trill_multicast_adjacency_delete_all.unit);
  32244 		break;
  32245 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_ADJACENCY_TRAVERSE:
  32246 		rv = bcm_trill_multicast_adjacency_traverse(
  32247 			req->args.trill_multicast_adjacency_traverse.unit,
  32248 			req->args.trill_multicast_adjacency_traverse.cb,
  32249 			req->args.trill_multicast_adjacency_traverse.user_data);
  32250 		break;
  32251 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_DELETE_ALL:
  32252 		rv = bcm_trill_multicast_delete_all(
  32253 			req->args.trill_multicast_delete_all.unit,
  32254 			req->args.trill_multicast_delete_all.root_name);
  32255 		break;
  32256 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_ENTRY_ADD:
  32257 		rv = bcm_trill_multicast_entry_add(
  32258 			req->args.trill_multicast_entry_add.unit,
  32259 			req->args.trill_multicast_entry_add.trill_mc_entry);
  32260 		break;
  32261 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_ENTRY_DELETE:
  32262 		rv = bcm_trill_multicast_entry_delete(
  32263 			req->args.trill_multicast_entry_delete.unit,
  32264 			req->args.trill_multicast_entry_delete.trill_mc_entry);
  32265 		break;
  32266 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_ENTRY_GET:
  32267 		rv = bcm_trill_multicast_entry_get(
  32268 			req->args.trill_multicast_entry_get.unit,
  32269 			req->args.trill_multicast_entry_get.trill_mc_entry);
  32270 		break;
  32271 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_ENTRY_TRAVERSE:
  32272 		rv = bcm_trill_multicast_entry_traverse(
  32273 			req->args.trill_multicast_entry_traverse.unit,
  32274 			req->args.trill_multicast_entry_traverse.cb,
  32275 			req->args.trill_multicast_entry_traverse.user_data);
  32276 		break;
  32277 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_SOURCE_ADD:
  32278 		rv = bcm_trill_multicast_source_add(
  32279 			req->args.trill_multicast_source_add.unit,
  32280 			req->args.trill_multicast_source_add.root_name,
  32281 			req->args.trill_multicast_source_add.source_rbridge_name,
  32282 			req->args.trill_multicast_source_add.port,
  32283 			req->args.trill_multicast_source_add.encap_intf);
  32284 		break;
  32285 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_SOURCE_DELETE:
  32286 		rv = bcm_trill_multicast_source_delete(
  32287 			req->args.trill_multicast_source_delete.unit,
  32288 			req->args.trill_multicast_source_delete.root_name,
  32289 			req->args.trill_multicast_source_delete.source_rbridge_name,
  32290 			req->args.trill_multicast_source_delete.port,
  32291 			req->args.trill_multicast_source_delete.encap_intf);
  32292 		break;
  32293 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_SOURCE_GET:
  32294 		rv = bcm_trill_multicast_source_get(
  32295 			req->args.trill_multicast_source_get.unit,
  32296 			req->args.trill_multicast_source_get.root_name,
  32297 			req->args.trill_multicast_source_get.source_rbridge_name,
  32298 			req->args.trill_multicast_source_get.port);
  32299 		break;
  32300 	case BCM_ASYNC_ENTRY_TRILL_MULTICAST_SOURCE_TRAVERSE:
  32301 		rv = bcm_trill_multicast_source_traverse(
  32302 			req->args.trill_multicast_source_traverse.unit,
  32303 			req->args.trill_multicast_source_traverse.cb,
  32304 			req->args.trill_multicast_source_traverse.user_data);
  32305 		break;
  32306 	case BCM_ASYNC_ENTRY_TRILL_PORT_ADD:
  32307 		rv = bcm_trill_port_add(
  32308 			req->args.trill_port_add.unit,
  32309 			req->args.trill_port_add.trill_port);
  32310 		break;
  32311 	case BCM_ASYNC_ENTRY_TRILL_PORT_DELETE:
  32312 		rv = bcm_trill_port_delete(
  32313 			req->args.trill_port_delete.unit,
  32314 			req->args.trill_port_delete.trill_port_id);
  32315 		break;
  32316 	case BCM_ASYNC_ENTRY_TRILL_PORT_DELETE_ALL:
  32317 		rv = bcm_trill_port_delete_all(
  32318 			req->args.trill_port_delete_all.unit);
  32319 		break;
  32320 	case BCM_ASYNC_ENTRY_TRILL_PORT_GET:
  32321 		rv = bcm_trill_port_get(
  32322 			req->args.trill_port_get.unit,
  32323 			req->args.trill_port_get.trill_port);
  32324 		break;
  32325 	case BCM_ASYNC_ENTRY_TRILL_PORT_GET_ALL:
  32326 		rv = bcm_trill_port_get_all(
  32327 			req->args.trill_port_get_all.unit,
  32328 			req->args.trill_port_get_all.port_max,
  32329 			req->args.trill_port_get_all.port_array,
  32330 			req->args.trill_port_get_all.port_count);
  32331 		break;
  32332 	case BCM_ASYNC_ENTRY_TRILL_RBRIDGE_ENTRY_ADD:
  32333 		rv = bcm_trill_rbridge_entry_add(
  32334 			req->args.trill_rbridge_entry_add.unit,
  32335 			req->args.trill_rbridge_entry_add.trill_entry);
  32336 		break;
  32337 	case BCM_ASYNC_ENTRY_TRILL_RBRIDGE_ENTRY_DELETE:
  32338 		rv = bcm_trill_rbridge_entry_delete(
  32339 			req->args.trill_rbridge_entry_delete.unit,
  32340 			req->args.trill_rbridge_entry_delete.trill_entry);
  32341 		break;
  32342 	case BCM_ASYNC_ENTRY_TRILL_RBRIDGE_ENTRY_GET:
  32343 		rv = bcm_trill_rbridge_entry_get(
  32344 			req->args.trill_rbridge_entry_get.unit,
  32345 			req->args.trill_rbridge_entry_get.trill_entry);
  32346 		break;
  32347 	case BCM_ASYNC_ENTRY_TRILL_STAT_CLEAR:
  32348 		rv = bcm_trill_stat_clear(
  32349 			req->args.trill_stat_clear.unit,
  32350 			req->args.trill_stat_clear.port,
  32351 			req->args.trill_stat_clear.stat);
  32352 		break;
  32353 	case BCM_ASYNC_ENTRY_TRILL_STAT_GET:
  32354 		rv = bcm_trill_stat_get(
  32355 			req->args.trill_stat_get.unit,
  32356 			req->args.trill_stat_get.port,
  32357 			req->args.trill_stat_get.stat,
  32358 			req->args.trill_stat_get.val);
  32359 		break;
  32360 	case BCM_ASYNC_ENTRY_TRILL_STAT_GET32:
  32361 		rv = bcm_trill_stat_get32(
  32362 			req->args.trill_stat_get32.unit,
  32363 			req->args.trill_stat_get32.port,
  32364 			req->args.trill_stat_get32.stat,
  32365 			req->args.trill_stat_get32.val);
  32366 		break;
  32367 	case BCM_ASYNC_ENTRY_TRILL_VPN_CREATE:
  32368 		rv = bcm_trill_vpn_create(
  32369 			req->args.trill_vpn_create.unit,
  32370 			req->args.trill_vpn_create.info);
  32371 		break;
  32372 	case BCM_ASYNC_ENTRY_TRILL_VPN_DESTROY:
  32373 		rv = bcm_trill_vpn_destroy(
  32374 			req->args.trill_vpn_destroy.unit,
  32375 			req->args.trill_vpn_destroy.vpn);
  32376 		break;
  32377 	case BCM_ASYNC_ENTRY_TRILL_VPN_DESTROY_ALL:
  32378 		rv = bcm_trill_vpn_destroy_all(
  32379 			req->args.trill_vpn_destroy_all.unit);
  32380 		break;
  32381 	case BCM_ASYNC_ENTRY_TRILL_VPN_GET:
  32382 		rv = bcm_trill_vpn_get(
  32383 			req->args.trill_vpn_get.unit,
  32384 			req->args.trill_vpn_get.vpn,
  32385 			req->args.trill_vpn_get.info);
  32386 		break;
  32387 	case BCM_ASYNC_ENTRY_TRILL_VPN_TRAVERSE:
  32388 		rv = bcm_trill_vpn_traverse(
  32389 			req->args.trill_vpn_traverse.unit,
  32390 			req->args.trill_vpn_traverse.cb,
  32391 			req->args.trill_vpn_traverse.user_data);
  32392 		break;
  32393 #endif	/* INCLUDE_L3 */
  32394 	case BCM_ASYNC_ENTRY_TRUNK_AGM_ATTACH:
  32395 		rv = bcm_trunk_agm_attach(
  32396 			req->args.trunk_agm_attach.unit,
  32397 			req->args.trunk_agm_attach.trunk_id,
  32398 			req->args.trunk_agm_attach.agm_id);
  32399 		break;
  32400 	case BCM_ASYNC_ENTRY_TRUNK_AGM_ATTACH_GET:
  32401 		rv = bcm_trunk_agm_attach_get(
  32402 			req->args.trunk_agm_attach_get.unit,
  32403 			req->args.trunk_agm_attach_get.trunk_id,
  32404 			req->args.trunk_agm_attach_get.agm_id);
  32405 		break;
  32406 	case BCM_ASYNC_ENTRY_TRUNK_AGM_DETACH:
  32407 		rv = bcm_trunk_agm_detach(
  32408 			req->args.trunk_agm_detach.unit,
  32409 			req->args.trunk_agm_detach.trunk_id,
  32410 			req->args.trunk_agm_detach.agm_id);
  32411 		break;
  32412 	case BCM_ASYNC_ENTRY_TRUNK_BITMAP_EXPAND:
  32413 		rv = bcm_trunk_bitmap_expand(
  32414 			req->args.trunk_bitmap_expand.unit,
  32415 			req->args.trunk_bitmap_expand.pbmp_ptr);
  32416 		break;
  32417 	case BCM_ASYNC_ENTRY_TRUNK_CHIP_INFO_GET:
  32418 		rv = bcm_trunk_chip_info_get(
  32419 			req->args.trunk_chip_info_get.unit,
  32420 			req->args.trunk_chip_info_get.ta_info);
  32421 		break;
  32422 	case BCM_ASYNC_ENTRY_TRUNK_CREATE:
  32423 		rv = bcm_trunk_create(
  32424 			req->args.trunk_create.unit,
  32425 			req->args.trunk_create.flags,
  32426 			req->args.trunk_create.tid);
  32427 		break;
  32428 	case BCM_ASYNC_ENTRY_TRUNK_DESTROY:
  32429 		rv = bcm_trunk_destroy(
  32430 			req->args.trunk_destroy.unit,
  32431 			req->args.trunk_destroy.tid);
  32432 		break;
  32433 	case BCM_ASYNC_ENTRY_TRUNK_DETACH:
  32434 		rv = bcm_trunk_detach(
  32435 			req->args.trunk_detach.unit);
  32436 		break;
  32437 	case BCM_ASYNC_ENTRY_TRUNK_EGRESS_GET:
  32438 		rv = bcm_trunk_egress_get(
  32439 			req->args.trunk_egress_get.unit,
  32440 			req->args.trunk_egress_get.tid,
  32441 			req->args.trunk_egress_get.pbmp);
  32442 		break;
  32443 	case BCM_ASYNC_ENTRY_TRUNK_EGRESS_SET:
  32444 		rv = bcm_trunk_egress_set(
  32445 			req->args.trunk_egress_set.unit,
  32446 			req->args.trunk_egress_set.tid,
  32447 			req->args.trunk_egress_set.pbmp);
  32448 		break;
  32449 	case BCM_ASYNC_ENTRY_TRUNK_ETHERTYPE_GET:
  32450 		rv = bcm_trunk_ethertype_get(
  32451 			req->args.trunk_ethertype_get.unit,
  32452 			req->args.trunk_ethertype_get.flags,
  32453 			req->args.trunk_ethertype_get.ethertype_max,
  32454 			req->args.trunk_ethertype_get.ethertype_array,
  32455 			req->args.trunk_ethertype_get.ethertype_count);
  32456 		break;
  32457 	case BCM_ASYNC_ENTRY_TRUNK_ETHERTYPE_SET:
  32458 		rv = bcm_trunk_ethertype_set(
  32459 			req->args.trunk_ethertype_set.unit,
  32460 			req->args.trunk_ethertype_set.flags,
  32461 			req->args.trunk_ethertype_set.ethertype_count,
  32462 			req->args.trunk_ethertype_set.ethertype_array);
  32463 		break;
  32464 	case BCM_ASYNC_ENTRY_TRUNK_FAILOVER_GET:
  32465 		rv = bcm_trunk_failover_get(
  32466 			req->args.trunk_failover_get.unit,
  32467 			req->args.trunk_failover_get.tid,
  32468 			req->args.trunk_failover_get.failport,
  32469 			req->args.trunk_failover_get.psc,
  32470 			req->args.trunk_failover_get.flags,
  32471 			req->args.trunk_failover_get.array_size,
  32472 			req->args.trunk_failover_get.fail_to_array,
  32473 			req->args.trunk_failover_get.array_count);
  32474 		break;
  32475 	case BCM_ASYNC_ENTRY_TRUNK_FAILOVER_SET:
  32476 		rv = bcm_trunk_failover_set(
  32477 			req->args.trunk_failover_set.unit,
  32478 			req->args.trunk_failover_set.tid,
  32479 			req->args.trunk_failover_set.failport,
  32480 			req->args.trunk_failover_set.psc,
  32481 			req->args.trunk_failover_set.flags,
  32482 			req->args.trunk_failover_set.count,
  32483 			req->args.trunk_failover_set.fail_to_array);
  32484 		break;
  32485 	case BCM_ASYNC_ENTRY_TRUNK_FIND:
  32486 		rv = bcm_trunk_find(
  32487 			req->args.trunk_find.unit,
  32488 			req->args.trunk_find.modid,
  32489 			req->args.trunk_find.gport,
  32490 			req->args.trunk_find.tid);
  32491 		break;
  32492 	case BCM_ASYNC_ENTRY_TRUNK_GET:
  32493 		rv = bcm_trunk_get(
  32494 			req->args.trunk_get.unit,
  32495 			req->args.trunk_get.tid,
  32496 			req->args.trunk_get.t_data,
  32497 			req->args.trunk_get.member_max,
  32498 			req->args.trunk_get.member_array,
  32499 			req->args.trunk_get.member_count);
  32500 		break;
  32501 	case BCM_ASYNC_ENTRY_TRUNK_GPORT_ADD:
  32502 		rv = bcm_trunk_gport_add(
  32503 			req->args.trunk_gport_add.unit,
  32504 			req->args.trunk_gport_add.tid,
  32505 			req->args.trunk_gport_add.gport);
  32506 		break;
  32507 	case BCM_ASYNC_ENTRY_TRUNK_GPORT_DELETE:
  32508 		rv = bcm_trunk_gport_delete(
  32509 			req->args.trunk_gport_delete.unit,
  32510 			req->args.trunk_gport_delete.tid,
  32511 			req->args.trunk_gport_delete.gport);
  32512 		break;
  32513 	case BCM_ASYNC_ENTRY_TRUNK_GPORT_DELETE_ALL:
  32514 		rv = bcm_trunk_gport_delete_all(
  32515 			req->args.trunk_gport_delete_all.unit,
  32516 			req->args.trunk_gport_delete_all.tid);
  32517 		break;
  32518 	case BCM_ASYNC_ENTRY_TRUNK_GPORT_GET_ALL:
  32519 		rv = bcm_trunk_gport_get_all(
  32520 			req->args.trunk_gport_get_all.unit,
  32521 			req->args.trunk_gport_get_all.tid,
  32522 			req->args.trunk_gport_get_all.gport_size,
  32523 			req->args.trunk_gport_get_all.gport_array,
  32524 			req->args.trunk_gport_get_all.count);
  32525 		break;
  32526 	case BCM_ASYNC_ENTRY_TRUNK_INIT:
  32527 		rv = bcm_trunk_init(
  32528 			req->args.trunk_init.unit);
  32529 		break;
  32530 	case BCM_ASYNC_ENTRY_TRUNK_MCAST_JOIN:
  32531 		rv = bcm_trunk_mcast_join(
  32532 			req->args.trunk_mcast_join.unit,
  32533 			req->args.trunk_mcast_join.tid,
  32534 			req->args.trunk_mcast_join.vid,
  32535 			req->args.trunk_mcast_join.mac);
  32536 		break;
  32537 	case BCM_ASYNC_ENTRY_TRUNK_MEMBER_ADD:
  32538 		rv = bcm_trunk_member_add(
  32539 			req->args.trunk_member_add.unit,
  32540 			req->args.trunk_member_add.tid,
  32541 			req->args.trunk_member_add.member);
  32542 		break;
  32543 	case BCM_ASYNC_ENTRY_TRUNK_MEMBER_DELETE:
  32544 		rv = bcm_trunk_member_delete(
  32545 			req->args.trunk_member_delete.unit,
  32546 			req->args.trunk_member_delete.tid,
  32547 			req->args.trunk_member_delete.member);
  32548 		break;
  32549 	case BCM_ASYNC_ENTRY_TRUNK_MEMBER_DELETE_ALL:
  32550 		rv = bcm_trunk_member_delete_all(
  32551 			req->args.trunk_member_delete_all.unit,
  32552 			req->args.trunk_member_delete_all.tid);
  32553 		break;
  32554 	case BCM_ASYNC_ENTRY_TRUNK_MEMBER_STATUS_GET:
  32555 		rv = bcm_trunk_member_status_get(
  32556 			req->args.trunk_member_status_get.unit,
  32557 			req->args.trunk_member_status_get.member,
  32558 			req->args.trunk_member_status_get.status);
  32559 		break;
  32560 	case BCM_ASYNC_ENTRY_TRUNK_MEMBER_STATUS_SET:
  32561 		rv = bcm_trunk_member_status_set(
  32562 			req->args.trunk_member_status_set.unit,
  32563 			req->args.trunk_member_status_set.member,
  32564 			req->args.trunk_member_status_set.status);
  32565 		break;
  32566 	case BCM_ASYNC_ENTRY_TRUNK_OVERRIDE_IPMC_GET:
  32567 		rv = bcm_trunk_override_ipmc_get(
  32568 			req->args.trunk_override_ipmc_get.unit,
  32569 			req->args.trunk_override_ipmc_get.port,
  32570 			req->args.trunk_override_ipmc_get.tid,
  32571 			req->args.trunk_override_ipmc_get.idx,
  32572 			req->args.trunk_override_ipmc_get.enable);
  32573 		break;
  32574 	case BCM_ASYNC_ENTRY_TRUNK_OVERRIDE_IPMC_SET:
  32575 		rv = bcm_trunk_override_ipmc_set(
  32576 			req->args.trunk_override_ipmc_set.unit,
  32577 			req->args.trunk_override_ipmc_set.port,
  32578 			req->args.trunk_override_ipmc_set.tid,
  32579 			req->args.trunk_override_ipmc_set.idx,
  32580 			req->args.trunk_override_ipmc_set.enable);
  32581 		break;
  32582 	case BCM_ASYNC_ENTRY_TRUNK_OVERRIDE_MCAST_GET:
  32583 		rv = bcm_trunk_override_mcast_get(
  32584 			req->args.trunk_override_mcast_get.unit,
  32585 			req->args.trunk_override_mcast_get.port,
  32586 			req->args.trunk_override_mcast_get.tid,
  32587 			req->args.trunk_override_mcast_get.idx,
  32588 			req->args.trunk_override_mcast_get.enable);
  32589 		break;
  32590 	case BCM_ASYNC_ENTRY_TRUNK_OVERRIDE_MCAST_SET:
  32591 		rv = bcm_trunk_override_mcast_set(
  32592 			req->args.trunk_override_mcast_set.unit,
  32593 			req->args.trunk_override_mcast_set.port,
  32594 			req->args.trunk_override_mcast_set.tid,
  32595 			req->args.trunk_override_mcast_set.idx,
  32596 			req->args.trunk_override_mcast_set.enable);
  32597 		break;
  32598 	case BCM_ASYNC_ENTRY_TRUNK_OVERRIDE_UCAST_GET:
  32599 		rv = bcm_trunk_override_ucast_get(
  32600 			req->args.trunk_override_ucast_get.unit,
  32601 			req->args.trunk_override_ucast_get.port,
  32602 			req->args.trunk_override_ucast_get.tid,
  32603 			req->args.trunk_override_ucast_get.modid,
  32604 			req->args.trunk_override_ucast_get.enable);
  32605 		break;
  32606 	case BCM_ASYNC_ENTRY_TRUNK_OVERRIDE_UCAST_SET:
  32607 		rv = bcm_trunk_override_ucast_set(
  32608 			req->args.trunk_override_ucast_set.unit,
  32609 			req->args.trunk_override_ucast_set.port,
  32610 			req->args.trunk_override_ucast_set.tid,
  32611 			req->args.trunk_override_ucast_set.modid,
  32612 			req->args.trunk_override_ucast_set.enable);
  32613 		break;
  32614 	case BCM_ASYNC_ENTRY_TRUNK_OVERRIDE_VLAN_GET:
  32615 		rv = bcm_trunk_override_vlan_get(
  32616 			req->args.trunk_override_vlan_get.unit,
  32617 			req->args.trunk_override_vlan_get.port,
  32618 			req->args.trunk_override_vlan_get.tid,
  32619 			req->args.trunk_override_vlan_get.vid,
  32620 			req->args.trunk_override_vlan_get.enable);
  32621 		break;
  32622 	case BCM_ASYNC_ENTRY_TRUNK_OVERRIDE_VLAN_SET:
  32623 		rv = bcm_trunk_override_vlan_set(
  32624 			req->args.trunk_override_vlan_set.unit,
  32625 			req->args.trunk_override_vlan_set.port,
  32626 			req->args.trunk_override_vlan_set.tid,
  32627 			req->args.trunk_override_vlan_set.vid,
  32628 			req->args.trunk_override_vlan_set.enable);
  32629 		break;
  32630 	case BCM_ASYNC_ENTRY_TRUNK_POOL_GET:
  32631 		rv = bcm_trunk_pool_get(
  32632 			req->args.trunk_pool_get.unit,
  32633 			req->args.trunk_pool_get.port,
  32634 			req->args.trunk_pool_get.tid,
  32635 			req->args.trunk_pool_get.size,
  32636 			req->args.trunk_pool_get.weights);
  32637 		break;
  32638 	case BCM_ASYNC_ENTRY_TRUNK_POOL_SET:
  32639 		rv = bcm_trunk_pool_set(
  32640 			req->args.trunk_pool_set.unit,
  32641 			req->args.trunk_pool_set.port,
  32642 			req->args.trunk_pool_set.tid,
  32643 			req->args.trunk_pool_set.size,
  32644 			req->args.trunk_pool_set.weights);
  32645 		break;
  32646 	case BCM_ASYNC_ENTRY_TRUNK_PP_PORT_ALLOCATION_GET:
  32647 		rv = bcm_trunk_pp_port_allocation_get(
  32648 			req->args.trunk_pp_port_allocation_get.unit,
  32649 			req->args.trunk_pp_port_allocation_get.trunk_id,
  32650 			req->args.trunk_pp_port_allocation_get.flags,
  32651 			req->args.trunk_pp_port_allocation_get.allocation_info);
  32652 		break;
  32653 	case BCM_ASYNC_ENTRY_TRUNK_PP_PORT_ALLOCATION_SET:
  32654 		rv = bcm_trunk_pp_port_allocation_set(
  32655 			req->args.trunk_pp_port_allocation_set.unit,
  32656 			req->args.trunk_pp_port_allocation_set.trunk_id,
  32657 			req->args.trunk_pp_port_allocation_set.flags,
  32658 			req->args.trunk_pp_port_allocation_set.allocation_info);
  32659 		break;
  32660 	case BCM_ASYNC_ENTRY_TRUNK_PSC_GET:
  32661 		rv = bcm_trunk_psc_get(
  32662 			req->args.trunk_psc_get.unit,
  32663 			req->args.trunk_psc_get.tid,
  32664 			req->args.trunk_psc_get.psc);
  32665 		break;
  32666 	case BCM_ASYNC_ENTRY_TRUNK_PSC_SET:
  32667 		rv = bcm_trunk_psc_set(
  32668 			req->args.trunk_psc_set.unit,
  32669 			req->args.trunk_psc_set.tid,
  32670 			req->args.trunk_psc_set.psc);
  32671 		break;
  32672 	case BCM_ASYNC_ENTRY_TRUNK_RESILIENT_REPLACE:
  32673 		rv = bcm_trunk_resilient_replace(
  32674 			req->args.trunk_resilient_replace.unit,
  32675 			req->args.trunk_resilient_replace.flags,
  32676 			req->args.trunk_resilient_replace.match_entry,
  32677 			req->args.trunk_resilient_replace.num_entries,
  32678 			req->args.trunk_resilient_replace.replace_entry);
  32679 		break;
  32680 	case BCM_ASYNC_ENTRY_TRUNK_RESILIENT_TRAVERSE:
  32681 		rv = bcm_trunk_resilient_traverse(
  32682 			req->args.trunk_resilient_traverse.unit,
  32683 			req->args.trunk_resilient_traverse.flags,
  32684 			req->args.trunk_resilient_traverse.match_entry,
  32685 			req->args.trunk_resilient_traverse.trav_fn,
  32686 			req->args.trunk_resilient_traverse.user_data);
  32687 		break;
  32688 	case BCM_ASYNC_ENTRY_TRUNK_SET:
  32689 		rv = bcm_trunk_set(
  32690 			req->args.trunk_set.unit,
  32691 			req->args.trunk_set.tid,
  32692 			req->args.trunk_set.trunk_info,
  32693 			req->args.trunk_set.member_count,
  32694 			req->args.trunk_set.member_array);
  32695 		break;
  32696 	case BCM_ASYNC_ENTRY_TRUNK_SPA_TO_SYSTEM_PHYS_PORT_MAP_GET:
  32697 		rv = bcm_trunk_spa_to_system_phys_port_map_get(
  32698 			req->args.trunk_spa_to_system_phys_port_map_get.unit,
  32699 			req->args.trunk_spa_to_system_phys_port_map_get.flags,
  32700 			req->args.trunk_spa_to_system_phys_port_map_get.system_port_aggregate,
  32701 			req->args.trunk_spa_to_system_phys_port_map_get.gport);
  32702 		break;
  32703 	case BCM_ASYNC_ENTRY_TRUNK_VPLAG_GET:
  32704 		rv = bcm_trunk_vplag_get(
  32705 			req->args.trunk_vplag_get.unit,
  32706 			req->args.trunk_vplag_get.tid,
  32707 			req->args.trunk_vplag_get.vplag_port_id);
  32708 		break;
  32709 	case BCM_ASYNC_ENTRY_TRUNK_WITH_VPLAG_CREATE:
  32710 		rv = bcm_trunk_with_vplag_create(
  32711 			req->args.trunk_with_vplag_create.unit,
  32712 			req->args.trunk_with_vplag_create.flags,
  32713 			req->args.trunk_with_vplag_create.tid,
  32714 			req->args.trunk_with_vplag_create.vplag_port_id);
  32715 		break;
  32716 	case BCM_ASYNC_ENTRY_TSN_CONTROL_GET:
  32717 		rv = bcm_tsn_control_get(
  32718 			req->args.tsn_control_get.unit,
  32719 			req->args.tsn_control_get.type,
  32720 			req->args.tsn_control_get.arg);
  32721 		break;
  32722 	case BCM_ASYNC_ENTRY_TSN_CONTROL_SET:
  32723 		rv = bcm_tsn_control_set(
  32724 			req->args.tsn_control_set.unit,
  32725 			req->args.tsn_control_set.type,
  32726 			req->args.tsn_control_set.arg);
  32727 		break;
  32728 	case BCM_ASYNC_ENTRY_TSN_DETACH:
  32729 		rv = bcm_tsn_detach(
  32730 			req->args.tsn_detach.unit);
  32731 		break;
  32732 	case BCM_ASYNC_ENTRY_TSN_EVENT_NOTIFICATION_TRAVERSE:
  32733 		rv = bcm_tsn_event_notification_traverse(
  32734 			req->args.tsn_event_notification_traverse.unit,
  32735 			req->args.tsn_event_notification_traverse.cb,
  32736 			req->args.tsn_event_notification_traverse.user_data);
  32737 		break;
  32738 	case BCM_ASYNC_ENTRY_TSN_EVENT_REGISTER:
  32739 		rv = bcm_tsn_event_register(
  32740 			req->args.tsn_event_register.unit,
  32741 			req->args.tsn_event_register.event,
  32742 			req->args.tsn_event_register.src,
  32743 			req->args.tsn_event_register.cb,
  32744 			req->args.tsn_event_register.user_data);
  32745 		break;
  32746 	case BCM_ASYNC_ENTRY_TSN_EVENT_UNREGISTER:
  32747 		rv = bcm_tsn_event_unregister(
  32748 			req->args.tsn_event_unregister.unit,
  32749 			req->args.tsn_event_unregister.event,
  32750 			req->args.tsn_event_unregister.src,
  32751 			req->args.tsn_event_unregister.cb);
  32752 		break;
  32753 	case BCM_ASYNC_ENTRY_TSN_FLOW_CONFIG_GET:
  32754 		rv = bcm_tsn_flow_config_get(
  32755 			req->args.tsn_flow_config_get.unit,
  32756 			req->args.tsn_flow_config_get.flow_id,
  32757 			req->args.tsn_flow_config_get.config);
  32758 		break;
  32759 	case BCM_ASYNC_ENTRY_TSN_FLOW_CONFIG_SET:
  32760 		rv = bcm_tsn_flow_config_set(
  32761 			req->args.tsn_flow_config_set.unit,
  32762 			req->args.tsn_flow_config_set.flow_id,
  32763 			req->args.tsn_flow_config_set.config);
  32764 		break;
  32765 	case BCM_ASYNC_ENTRY_TSN_FLOWSET_CONFIG_GET:
  32766 		rv = bcm_tsn_flowset_config_get(
  32767 			req->args.tsn_flowset_config_get.unit,
  32768 			req->args.tsn_flowset_config_get.flowset,
  32769 			req->args.tsn_flowset_config_get.pri_map,
  32770 			req->args.tsn_flowset_config_get.default_config);
  32771 		break;
  32772 	case BCM_ASYNC_ENTRY_TSN_FLOWSET_CREATE:
  32773 		rv = bcm_tsn_flowset_create(
  32774 			req->args.tsn_flowset_create.unit,
  32775 			req->args.tsn_flowset_create.pri_map,
  32776 			req->args.tsn_flowset_create.default_config,
  32777 			req->args.tsn_flowset_create.flowset);
  32778 		break;
  32779 	case BCM_ASYNC_ENTRY_TSN_FLOWSET_DESTROY:
  32780 		rv = bcm_tsn_flowset_destroy(
  32781 			req->args.tsn_flowset_destroy.unit,
  32782 			req->args.tsn_flowset_destroy.flowset);
  32783 		break;
  32784 	case BCM_ASYNC_ENTRY_TSN_FLOWSET_FLOW_GET:
  32785 		rv = bcm_tsn_flowset_flow_get(
  32786 			req->args.tsn_flowset_flow_get.unit,
  32787 			req->args.tsn_flowset_flow_get.flowset,
  32788 			req->args.tsn_flowset_flow_get.index,
  32789 			req->args.tsn_flowset_flow_get.flow_id);
  32790 		break;
  32791 	case BCM_ASYNC_ENTRY_TSN_FLOWSET_STATUS_GET:
  32792 		rv = bcm_tsn_flowset_status_get(
  32793 			req->args.tsn_flowset_status_get.unit,
  32794 			req->args.tsn_flowset_status_get.flowset,
  32795 			req->args.tsn_flowset_status_get.status);
  32796 		break;
  32797 	case BCM_ASYNC_ENTRY_TSN_FLOWSET_TRAVERSE:
  32798 		rv = bcm_tsn_flowset_traverse(
  32799 			req->args.tsn_flowset_traverse.unit,
  32800 			req->args.tsn_flowset_traverse.cb,
  32801 			req->args.tsn_flowset_traverse.user_data);
  32802 		break;
  32803 	case BCM_ASYNC_ENTRY_TSN_INGRESS_MTU_CONFIG_GET:
  32804 		rv = bcm_tsn_ingress_mtu_config_get(
  32805 			req->args.tsn_ingress_mtu_config_get.unit,
  32806 			req->args.tsn_ingress_mtu_config_get.config);
  32807 		break;
  32808 	case BCM_ASYNC_ENTRY_TSN_INGRESS_MTU_CONFIG_SET:
  32809 		rv = bcm_tsn_ingress_mtu_config_set(
  32810 			req->args.tsn_ingress_mtu_config_set.unit,
  32811 			req->args.tsn_ingress_mtu_config_set.config);
  32812 		break;
  32813 	case BCM_ASYNC_ENTRY_TSN_INGRESS_STU_CONFIG_GET:
  32814 		rv = bcm_tsn_ingress_stu_config_get(
  32815 			req->args.tsn_ingress_stu_config_get.unit,
  32816 			req->args.tsn_ingress_stu_config_get.config);
  32817 		break;
  32818 	case BCM_ASYNC_ENTRY_TSN_INGRESS_STU_CONFIG_SET:
  32819 		rv = bcm_tsn_ingress_stu_config_set(
  32820 			req->args.tsn_ingress_stu_config_set.unit,
  32821 			req->args.tsn_ingress_stu_config_set.config);
  32822 		break;
  32823 	case BCM_ASYNC_ENTRY_TSN_INIT:
  32824 		rv = bcm_tsn_init(
  32825 			req->args.tsn_init.unit);
  32826 		break;
  32827 	case BCM_ASYNC_ENTRY_TSN_MTU_PROFILE_CREATE:
  32828 		rv = bcm_tsn_mtu_profile_create(
  32829 			req->args.tsn_mtu_profile_create.unit,
  32830 			req->args.tsn_mtu_profile_create.type,
  32831 			req->args.tsn_mtu_profile_create.config,
  32832 			req->args.tsn_mtu_profile_create.mtu_profile_id);
  32833 		break;
  32834 	case BCM_ASYNC_ENTRY_TSN_MTU_PROFILE_DESTROY:
  32835 		rv = bcm_tsn_mtu_profile_destroy(
  32836 			req->args.tsn_mtu_profile_destroy.unit,
  32837 			req->args.tsn_mtu_profile_destroy.mtu_profile_id);
  32838 		break;
  32839 	case BCM_ASYNC_ENTRY_TSN_MTU_PROFILE_GET:
  32840 		rv = bcm_tsn_mtu_profile_get(
  32841 			req->args.tsn_mtu_profile_get.unit,
  32842 			req->args.tsn_mtu_profile_get.mtu_profile_id,
  32843 			req->args.tsn_mtu_profile_get.type,
  32844 			req->args.tsn_mtu_profile_get.config);
  32845 		break;
  32846 	case BCM_ASYNC_ENTRY_TSN_MTU_PROFILE_SET:
  32847 		rv = bcm_tsn_mtu_profile_set(
  32848 			req->args.tsn_mtu_profile_set.unit,
  32849 			req->args.tsn_mtu_profile_set.mtu_profile_id,
  32850 			req->args.tsn_mtu_profile_set.config);
  32851 		break;
  32852 	case BCM_ASYNC_ENTRY_TSN_MTU_PROFILE_TRAVERSE:
  32853 		rv = bcm_tsn_mtu_profile_traverse(
  32854 			req->args.tsn_mtu_profile_traverse.unit,
  32855 			req->args.tsn_mtu_profile_traverse.cb,
  32856 			req->args.tsn_mtu_profile_traverse.user_data);
  32857 		break;
  32858 	case BCM_ASYNC_ENTRY_TSN_PORT_CONTROL_GET:
  32859 		rv = bcm_tsn_port_control_get(
  32860 			req->args.tsn_port_control_get.unit,
  32861 			req->args.tsn_port_control_get.port,
  32862 			req->args.tsn_port_control_get.type,
  32863 			req->args.tsn_port_control_get.arg);
  32864 		break;
  32865 	case BCM_ASYNC_ENTRY_TSN_PORT_CONTROL_SET:
  32866 		rv = bcm_tsn_port_control_set(
  32867 			req->args.tsn_port_control_set.unit,
  32868 			req->args.tsn_port_control_set.port,
  32869 			req->args.tsn_port_control_set.type,
  32870 			req->args.tsn_port_control_set.arg);
  32871 		break;
  32872 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_GET:
  32873 		rv = bcm_tsn_port_stat_get(
  32874 			req->args.tsn_port_stat_get.unit,
  32875 			req->args.tsn_port_stat_get.port,
  32876 			req->args.tsn_port_stat_get.stat,
  32877 			req->args.tsn_port_stat_get.val);
  32878 		break;
  32879 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_GET32:
  32880 		rv = bcm_tsn_port_stat_get32(
  32881 			req->args.tsn_port_stat_get32.unit,
  32882 			req->args.tsn_port_stat_get32.port,
  32883 			req->args.tsn_port_stat_get32.stat,
  32884 			req->args.tsn_port_stat_get32.val);
  32885 		break;
  32886 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_MULTI_GET:
  32887 		rv = bcm_tsn_port_stat_multi_get(
  32888 			req->args.tsn_port_stat_multi_get.unit,
  32889 			req->args.tsn_port_stat_multi_get.port,
  32890 			req->args.tsn_port_stat_multi_get.nstat,
  32891 			req->args.tsn_port_stat_multi_get.stat_arr,
  32892 			req->args.tsn_port_stat_multi_get.value_arr);
  32893 		break;
  32894 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_MULTI_GET32:
  32895 		rv = bcm_tsn_port_stat_multi_get32(
  32896 			req->args.tsn_port_stat_multi_get32.unit,
  32897 			req->args.tsn_port_stat_multi_get32.port,
  32898 			req->args.tsn_port_stat_multi_get32.nstat,
  32899 			req->args.tsn_port_stat_multi_get32.stat_arr,
  32900 			req->args.tsn_port_stat_multi_get32.value_arr);
  32901 		break;
  32902 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_MULTI_SET:
  32903 		rv = bcm_tsn_port_stat_multi_set(
  32904 			req->args.tsn_port_stat_multi_set.unit,
  32905 			req->args.tsn_port_stat_multi_set.port,
  32906 			req->args.tsn_port_stat_multi_set.nstat,
  32907 			req->args.tsn_port_stat_multi_set.stat_arr,
  32908 			req->args.tsn_port_stat_multi_set.value_arr);
  32909 		break;
  32910 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_MULTI_SET32:
  32911 		rv = bcm_tsn_port_stat_multi_set32(
  32912 			req->args.tsn_port_stat_multi_set32.unit,
  32913 			req->args.tsn_port_stat_multi_set32.port,
  32914 			req->args.tsn_port_stat_multi_set32.nstat,
  32915 			req->args.tsn_port_stat_multi_set32.stat_arr,
  32916 			req->args.tsn_port_stat_multi_set32.value_arr);
  32917 		break;
  32918 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_SET:
  32919 		rv = bcm_tsn_port_stat_set(
  32920 			req->args.tsn_port_stat_set.unit,
  32921 			req->args.tsn_port_stat_set.port,
  32922 			req->args.tsn_port_stat_set.stat,
  32923 			req->args.tsn_port_stat_set.val);
  32924 		break;
  32925 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_SET32:
  32926 		rv = bcm_tsn_port_stat_set32(
  32927 			req->args.tsn_port_stat_set32.unit,
  32928 			req->args.tsn_port_stat_set32.port,
  32929 			req->args.tsn_port_stat_set32.stat,
  32930 			req->args.tsn_port_stat_set32.val);
  32931 		break;
  32932 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_SYNC_GET:
  32933 		rv = bcm_tsn_port_stat_sync_get(
  32934 			req->args.tsn_port_stat_sync_get.unit,
  32935 			req->args.tsn_port_stat_sync_get.port,
  32936 			req->args.tsn_port_stat_sync_get.stat,
  32937 			req->args.tsn_port_stat_sync_get.val);
  32938 		break;
  32939 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_SYNC_GET32:
  32940 		rv = bcm_tsn_port_stat_sync_get32(
  32941 			req->args.tsn_port_stat_sync_get32.unit,
  32942 			req->args.tsn_port_stat_sync_get32.port,
  32943 			req->args.tsn_port_stat_sync_get32.stat,
  32944 			req->args.tsn_port_stat_sync_get32.val);
  32945 		break;
  32946 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_SYNC_MULTI_GET:
  32947 		rv = bcm_tsn_port_stat_sync_multi_get(
  32948 			req->args.tsn_port_stat_sync_multi_get.unit,
  32949 			req->args.tsn_port_stat_sync_multi_get.port,
  32950 			req->args.tsn_port_stat_sync_multi_get.nstat,
  32951 			req->args.tsn_port_stat_sync_multi_get.stat_arr,
  32952 			req->args.tsn_port_stat_sync_multi_get.value_arr);
  32953 		break;
  32954 	case BCM_ASYNC_ENTRY_TSN_PORT_STAT_SYNC_MULTI_GET32:
  32955 		rv = bcm_tsn_port_stat_sync_multi_get32(
  32956 			req->args.tsn_port_stat_sync_multi_get32.unit,
  32957 			req->args.tsn_port_stat_sync_multi_get32.port,
  32958 			req->args.tsn_port_stat_sync_multi_get32.nstat,
  32959 			req->args.tsn_port_stat_sync_multi_get32.stat_arr,
  32960 			req->args.tsn_port_stat_sync_multi_get32.value_arr);
  32961 		break;
  32962 	case BCM_ASYNC_ENTRY_TSN_PRI_MAP_CREATE:
  32963 		rv = bcm_tsn_pri_map_create(
  32964 			req->args.tsn_pri_map_create.unit,
  32965 			req->args.tsn_pri_map_create.config,
  32966 			req->args.tsn_pri_map_create.map_id);
  32967 		break;
  32968 	case BCM_ASYNC_ENTRY_TSN_PRI_MAP_DESTROY:
  32969 		rv = bcm_tsn_pri_map_destroy(
  32970 			req->args.tsn_pri_map_destroy.unit,
  32971 			req->args.tsn_pri_map_destroy.map_id);
  32972 		break;
  32973 	case BCM_ASYNC_ENTRY_TSN_PRI_MAP_GET:
  32974 		rv = bcm_tsn_pri_map_get(
  32975 			req->args.tsn_pri_map_get.unit,
  32976 			req->args.tsn_pri_map_get.map_id,
  32977 			req->args.tsn_pri_map_get.config);
  32978 		break;
  32979 	case BCM_ASYNC_ENTRY_TSN_PRI_MAP_SET:
  32980 		rv = bcm_tsn_pri_map_set(
  32981 			req->args.tsn_pri_map_set.unit,
  32982 			req->args.tsn_pri_map_set.map_id,
  32983 			req->args.tsn_pri_map_set.config);
  32984 		break;
  32985 	case BCM_ASYNC_ENTRY_TSN_PRI_MAP_TRAVERSE:
  32986 		rv = bcm_tsn_pri_map_traverse(
  32987 			req->args.tsn_pri_map_traverse.unit,
  32988 			req->args.tsn_pri_map_traverse.cb,
  32989 			req->args.tsn_pri_map_traverse.user_data);
  32990 		break;
  32991 	case BCM_ASYNC_ENTRY_TSN_SR_AUTO_LEARN_ENABLE:
  32992 		rv = bcm_tsn_sr_auto_learn_enable(
  32993 			req->args.tsn_sr_auto_learn_enable.unit,
  32994 			req->args.tsn_sr_auto_learn_enable.enable,
  32995 			req->args.tsn_sr_auto_learn_enable.config);
  32996 		break;
  32997 	case BCM_ASYNC_ENTRY_TSN_SR_AUTO_LEARN_ENABLE_GET:
  32998 		rv = bcm_tsn_sr_auto_learn_enable_get(
  32999 			req->args.tsn_sr_auto_learn_enable_get.unit,
  33000 			req->args.tsn_sr_auto_learn_enable_get.enabled,
  33001 			req->args.tsn_sr_auto_learn_enable_get.config);
  33002 		break;
  33003 	case BCM_ASYNC_ENTRY_TSN_SR_AUTO_LEARN_GROUP_CREATE:
  33004 		rv = bcm_tsn_sr_auto_learn_group_create(
  33005 			req->args.tsn_sr_auto_learn_group_create.unit,
  33006 			req->args.tsn_sr_auto_learn_group_create.config,
  33007 			req->args.tsn_sr_auto_learn_group_create.group_id);
  33008 		break;
  33009 	case BCM_ASYNC_ENTRY_TSN_SR_AUTO_LEARN_GROUP_DESTROY:
  33010 		rv = bcm_tsn_sr_auto_learn_group_destroy(
  33011 			req->args.tsn_sr_auto_learn_group_destroy.unit,
  33012 			req->args.tsn_sr_auto_learn_group_destroy.group_id);
  33013 		break;
  33014 	case BCM_ASYNC_ENTRY_TSN_SR_AUTO_LEARN_GROUP_GET:
  33015 		rv = bcm_tsn_sr_auto_learn_group_get(
  33016 			req->args.tsn_sr_auto_learn_group_get.unit,
  33017 			req->args.tsn_sr_auto_learn_group_get.group_id,
  33018 			req->args.tsn_sr_auto_learn_group_get.config);
  33019 		break;
  33020 	case BCM_ASYNC_ENTRY_TSN_SR_AUTO_LEARN_GROUP_SET:
  33021 		rv = bcm_tsn_sr_auto_learn_group_set(
  33022 			req->args.tsn_sr_auto_learn_group_set.unit,
  33023 			req->args.tsn_sr_auto_learn_group_set.group_id,
  33024 			req->args.tsn_sr_auto_learn_group_set.config);
  33025 		break;
  33026 	case BCM_ASYNC_ENTRY_TSN_SR_AUTO_LEARN_GROUP_TRAVERSE:
  33027 		rv = bcm_tsn_sr_auto_learn_group_traverse(
  33028 			req->args.tsn_sr_auto_learn_group_traverse.unit,
  33029 			req->args.tsn_sr_auto_learn_group_traverse.cb,
  33030 			req->args.tsn_sr_auto_learn_group_traverse.user_data);
  33031 		break;
  33032 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_GET:
  33033 		rv = bcm_tsn_sr_flow_stat_get(
  33034 			req->args.tsn_sr_flow_stat_get.unit,
  33035 			req->args.tsn_sr_flow_stat_get.flow,
  33036 			req->args.tsn_sr_flow_stat_get.stat,
  33037 			req->args.tsn_sr_flow_stat_get.val);
  33038 		break;
  33039 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_GET32:
  33040 		rv = bcm_tsn_sr_flow_stat_get32(
  33041 			req->args.tsn_sr_flow_stat_get32.unit,
  33042 			req->args.tsn_sr_flow_stat_get32.flow,
  33043 			req->args.tsn_sr_flow_stat_get32.stat,
  33044 			req->args.tsn_sr_flow_stat_get32.val);
  33045 		break;
  33046 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_GROUP_GET:
  33047 		rv = bcm_tsn_sr_flow_stat_group_get(
  33048 			req->args.tsn_sr_flow_stat_group_get.unit,
  33049 			req->args.tsn_sr_flow_stat_group_get.flow,
  33050 			req->args.tsn_sr_flow_stat_group_get.group_type,
  33051 			req->args.tsn_sr_flow_stat_group_get.stat_group);
  33052 		break;
  33053 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_GROUP_SET:
  33054 		rv = bcm_tsn_sr_flow_stat_group_set(
  33055 			req->args.tsn_sr_flow_stat_group_set.unit,
  33056 			req->args.tsn_sr_flow_stat_group_set.flow,
  33057 			req->args.tsn_sr_flow_stat_group_set.group_type,
  33058 			req->args.tsn_sr_flow_stat_group_set.stat_group);
  33059 		break;
  33060 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_MULTI_GET:
  33061 		rv = bcm_tsn_sr_flow_stat_multi_get(
  33062 			req->args.tsn_sr_flow_stat_multi_get.unit,
  33063 			req->args.tsn_sr_flow_stat_multi_get.flow,
  33064 			req->args.tsn_sr_flow_stat_multi_get.nstat,
  33065 			req->args.tsn_sr_flow_stat_multi_get.stat_arr,
  33066 			req->args.tsn_sr_flow_stat_multi_get.value_arr);
  33067 		break;
  33068 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_MULTI_GET32:
  33069 		rv = bcm_tsn_sr_flow_stat_multi_get32(
  33070 			req->args.tsn_sr_flow_stat_multi_get32.unit,
  33071 			req->args.tsn_sr_flow_stat_multi_get32.flow,
  33072 			req->args.tsn_sr_flow_stat_multi_get32.nstat,
  33073 			req->args.tsn_sr_flow_stat_multi_get32.stat_arr,
  33074 			req->args.tsn_sr_flow_stat_multi_get32.value_arr);
  33075 		break;
  33076 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_MULTI_SET:
  33077 		rv = bcm_tsn_sr_flow_stat_multi_set(
  33078 			req->args.tsn_sr_flow_stat_multi_set.unit,
  33079 			req->args.tsn_sr_flow_stat_multi_set.flow,
  33080 			req->args.tsn_sr_flow_stat_multi_set.nstat,
  33081 			req->args.tsn_sr_flow_stat_multi_set.stat_arr,
  33082 			req->args.tsn_sr_flow_stat_multi_set.value_arr);
  33083 		break;
  33084 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_MULTI_SET32:
  33085 		rv = bcm_tsn_sr_flow_stat_multi_set32(
  33086 			req->args.tsn_sr_flow_stat_multi_set32.unit,
  33087 			req->args.tsn_sr_flow_stat_multi_set32.flow,
  33088 			req->args.tsn_sr_flow_stat_multi_set32.nstat,
  33089 			req->args.tsn_sr_flow_stat_multi_set32.stat_arr,
  33090 			req->args.tsn_sr_flow_stat_multi_set32.value_arr);
  33091 		break;
  33092 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_SET:
  33093 		rv = bcm_tsn_sr_flow_stat_set(
  33094 			req->args.tsn_sr_flow_stat_set.unit,
  33095 			req->args.tsn_sr_flow_stat_set.flow,
  33096 			req->args.tsn_sr_flow_stat_set.stat,
  33097 			req->args.tsn_sr_flow_stat_set.val);
  33098 		break;
  33099 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_SET32:
  33100 		rv = bcm_tsn_sr_flow_stat_set32(
  33101 			req->args.tsn_sr_flow_stat_set32.unit,
  33102 			req->args.tsn_sr_flow_stat_set32.flow,
  33103 			req->args.tsn_sr_flow_stat_set32.stat,
  33104 			req->args.tsn_sr_flow_stat_set32.val);
  33105 		break;
  33106 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_SYNC_GET:
  33107 		rv = bcm_tsn_sr_flow_stat_sync_get(
  33108 			req->args.tsn_sr_flow_stat_sync_get.unit,
  33109 			req->args.tsn_sr_flow_stat_sync_get.flow,
  33110 			req->args.tsn_sr_flow_stat_sync_get.stat,
  33111 			req->args.tsn_sr_flow_stat_sync_get.val);
  33112 		break;
  33113 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_SYNC_GET32:
  33114 		rv = bcm_tsn_sr_flow_stat_sync_get32(
  33115 			req->args.tsn_sr_flow_stat_sync_get32.unit,
  33116 			req->args.tsn_sr_flow_stat_sync_get32.flow,
  33117 			req->args.tsn_sr_flow_stat_sync_get32.stat,
  33118 			req->args.tsn_sr_flow_stat_sync_get32.val);
  33119 		break;
  33120 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_SYNC_MULTI_GET:
  33121 		rv = bcm_tsn_sr_flow_stat_sync_multi_get(
  33122 			req->args.tsn_sr_flow_stat_sync_multi_get.unit,
  33123 			req->args.tsn_sr_flow_stat_sync_multi_get.flow,
  33124 			req->args.tsn_sr_flow_stat_sync_multi_get.nstat,
  33125 			req->args.tsn_sr_flow_stat_sync_multi_get.stat_arr,
  33126 			req->args.tsn_sr_flow_stat_sync_multi_get.value_arr);
  33127 		break;
  33128 	case BCM_ASYNC_ENTRY_TSN_SR_FLOW_STAT_SYNC_MULTI_GET32:
  33129 		rv = bcm_tsn_sr_flow_stat_sync_multi_get32(
  33130 			req->args.tsn_sr_flow_stat_sync_multi_get32.unit,
  33131 			req->args.tsn_sr_flow_stat_sync_multi_get32.flow,
  33132 			req->args.tsn_sr_flow_stat_sync_multi_get32.nstat,
  33133 			req->args.tsn_sr_flow_stat_sync_multi_get32.stat_arr,
  33134 			req->args.tsn_sr_flow_stat_sync_multi_get32.value_arr);
  33135 		break;
  33136 	case BCM_ASYNC_ENTRY_TSN_SR_FLOWSET_DESTROY:
  33137 		rv = bcm_tsn_sr_flowset_destroy(
  33138 			req->args.tsn_sr_flowset_destroy.unit,
  33139 			req->args.tsn_sr_flowset_destroy.flowset);
  33140 		break;
  33141 	case BCM_ASYNC_ENTRY_TSN_SR_FLOWSET_FLOW_GET:
  33142 		rv = bcm_tsn_sr_flowset_flow_get(
  33143 			req->args.tsn_sr_flowset_flow_get.unit,
  33144 			req->args.tsn_sr_flowset_flow_get.flowset,
  33145 			req->args.tsn_sr_flowset_flow_get.index,
  33146 			req->args.tsn_sr_flowset_flow_get.flow_id);
  33147 		break;
  33148 	case BCM_ASYNC_ENTRY_TSN_SR_FLOWSET_STATUS_GET:
  33149 		rv = bcm_tsn_sr_flowset_status_get(
  33150 			req->args.tsn_sr_flowset_status_get.unit,
  33151 			req->args.tsn_sr_flowset_status_get.flowset,
  33152 			req->args.tsn_sr_flowset_status_get.status);
  33153 		break;
  33154 	case BCM_ASYNC_ENTRY_TSN_SR_FLOWSET_TRAVERSE:
  33155 		rv = bcm_tsn_sr_flowset_traverse(
  33156 			req->args.tsn_sr_flowset_traverse.unit,
  33157 			req->args.tsn_sr_flowset_traverse.is_rx,
  33158 			req->args.tsn_sr_flowset_traverse.cb,
  33159 			req->args.tsn_sr_flowset_traverse.user_data);
  33160 		break;
  33161 	case BCM_ASYNC_ENTRY_TSN_SR_PORT_CONFIG_GET:
  33162 		rv = bcm_tsn_sr_port_config_get(
  33163 			req->args.tsn_sr_port_config_get.unit,
  33164 			req->args.tsn_sr_port_config_get.port,
  33165 			req->args.tsn_sr_port_config_get.config);
  33166 		break;
  33167 	case BCM_ASYNC_ENTRY_TSN_SR_PORT_CONFIG_SET:
  33168 		rv = bcm_tsn_sr_port_config_set(
  33169 			req->args.tsn_sr_port_config_set.unit,
  33170 			req->args.tsn_sr_port_config_set.port,
  33171 			req->args.tsn_sr_port_config_set.config);
  33172 		break;
  33173 	case BCM_ASYNC_ENTRY_TSN_SR_RX_FLOW_CONFIG_GET:
  33174 		rv = bcm_tsn_sr_rx_flow_config_get(
  33175 			req->args.tsn_sr_rx_flow_config_get.unit,
  33176 			req->args.tsn_sr_rx_flow_config_get.flow_id,
  33177 			req->args.tsn_sr_rx_flow_config_get.config);
  33178 		break;
  33179 	case BCM_ASYNC_ENTRY_TSN_SR_RX_FLOW_CONFIG_SET:
  33180 		rv = bcm_tsn_sr_rx_flow_config_set(
  33181 			req->args.tsn_sr_rx_flow_config_set.unit,
  33182 			req->args.tsn_sr_rx_flow_config_set.flow_id,
  33183 			req->args.tsn_sr_rx_flow_config_set.config);
  33184 		break;
  33185 	case BCM_ASYNC_ENTRY_TSN_SR_RX_FLOW_RESET:
  33186 		rv = bcm_tsn_sr_rx_flow_reset(
  33187 			req->args.tsn_sr_rx_flow_reset.unit,
  33188 			req->args.tsn_sr_rx_flow_reset.flags,
  33189 			req->args.tsn_sr_rx_flow_reset.flow_id);
  33190 		break;
  33191 	case BCM_ASYNC_ENTRY_TSN_SR_RX_FLOW_SEQNUM_HISTORY_GET:
  33192 		rv = bcm_tsn_sr_rx_flow_seqnum_history_get(
  33193 			req->args.tsn_sr_rx_flow_seqnum_history_get.unit,
  33194 			req->args.tsn_sr_rx_flow_seqnum_history_get.flow_id,
  33195 			req->args.tsn_sr_rx_flow_seqnum_history_get.offset_in_bits,
  33196 			req->args.tsn_sr_rx_flow_seqnum_history_get.max_size_in_bits,
  33197 			req->args.tsn_sr_rx_flow_seqnum_history_get.history_bits,
  33198 			req->args.tsn_sr_rx_flow_seqnum_history_get.actual_size_in_bits);
  33199 		break;
  33200 	case BCM_ASYNC_ENTRY_TSN_SR_RX_FLOW_SEQNUM_HISTORY_SET:
  33201 		rv = bcm_tsn_sr_rx_flow_seqnum_history_set(
  33202 			req->args.tsn_sr_rx_flow_seqnum_history_set.unit,
  33203 			req->args.tsn_sr_rx_flow_seqnum_history_set.flow_id,
  33204 			req->args.tsn_sr_rx_flow_seqnum_history_set.offset_in_bits,
  33205 			req->args.tsn_sr_rx_flow_seqnum_history_set.size_in_bits,
  33206 			req->args.tsn_sr_rx_flow_seqnum_history_set.history_bits);
  33207 		break;
  33208 	case BCM_ASYNC_ENTRY_TSN_SR_RX_FLOW_STATUS_GET:
  33209 		rv = bcm_tsn_sr_rx_flow_status_get(
  33210 			req->args.tsn_sr_rx_flow_status_get.unit,
  33211 			req->args.tsn_sr_rx_flow_status_get.flow_id,
  33212 			req->args.tsn_sr_rx_flow_status_get.status);
  33213 		break;
  33214 	case BCM_ASYNC_ENTRY_TSN_SR_RX_FLOWSET_CONFIG_GET:
  33215 		rv = bcm_tsn_sr_rx_flowset_config_get(
  33216 			req->args.tsn_sr_rx_flowset_config_get.unit,
  33217 			req->args.tsn_sr_rx_flowset_config_get.flowset,
  33218 			req->args.tsn_sr_rx_flowset_config_get.pri_map,
  33219 			req->args.tsn_sr_rx_flowset_config_get.default_config);
  33220 		break;
  33221 	case BCM_ASYNC_ENTRY_TSN_SR_RX_FLOWSET_CREATE:
  33222 		rv = bcm_tsn_sr_rx_flowset_create(
  33223 			req->args.tsn_sr_rx_flowset_create.unit,
  33224 			req->args.tsn_sr_rx_flowset_create.pri_map,
  33225 			req->args.tsn_sr_rx_flowset_create.default_config,
  33226 			req->args.tsn_sr_rx_flowset_create.flowset);
  33227 		break;
  33228 	case BCM_ASYNC_ENTRY_TSN_SR_TX_FLOW_CONFIG_GET:
  33229 		rv = bcm_tsn_sr_tx_flow_config_get(
  33230 			req->args.tsn_sr_tx_flow_config_get.unit,
  33231 			req->args.tsn_sr_tx_flow_config_get.flow_id,
  33232 			req->args.tsn_sr_tx_flow_config_get.config);
  33233 		break;
  33234 	case BCM_ASYNC_ENTRY_TSN_SR_TX_FLOW_CONFIG_SET:
  33235 		rv = bcm_tsn_sr_tx_flow_config_set(
  33236 			req->args.tsn_sr_tx_flow_config_set.unit,
  33237 			req->args.tsn_sr_tx_flow_config_set.flow_id,
  33238 			req->args.tsn_sr_tx_flow_config_set.config);
  33239 		break;
  33240 	case BCM_ASYNC_ENTRY_TSN_SR_TX_FLOW_STATUS_GET:
  33241 		rv = bcm_tsn_sr_tx_flow_status_get(
  33242 			req->args.tsn_sr_tx_flow_status_get.unit,
  33243 			req->args.tsn_sr_tx_flow_status_get.flow_id,
  33244 			req->args.tsn_sr_tx_flow_status_get.status);
  33245 		break;
  33246 	case BCM_ASYNC_ENTRY_TSN_SR_TX_FLOWSET_CONFIG_GET:
  33247 		rv = bcm_tsn_sr_tx_flowset_config_get(
  33248 			req->args.tsn_sr_tx_flowset_config_get.unit,
  33249 			req->args.tsn_sr_tx_flowset_config_get.flowset,
  33250 			req->args.tsn_sr_tx_flowset_config_get.pri_map,
  33251 			req->args.tsn_sr_tx_flowset_config_get.default_config);
  33252 		break;
  33253 	case BCM_ASYNC_ENTRY_TSN_SR_TX_FLOWSET_CREATE:
  33254 		rv = bcm_tsn_sr_tx_flowset_create(
  33255 			req->args.tsn_sr_tx_flowset_create.unit,
  33256 			req->args.tsn_sr_tx_flowset_create.pri_map,
  33257 			req->args.tsn_sr_tx_flowset_create.default_config,
  33258 			req->args.tsn_sr_tx_flowset_create.flowset);
  33259 		break;
  33260 	case BCM_ASYNC_ENTRY_TSN_STAT_GROUP_CREATE:
  33261 		rv = bcm_tsn_stat_group_create(
  33262 			req->args.tsn_stat_group_create.unit,
  33263 			req->args.tsn_stat_group_create.group_type,
  33264 			req->args.tsn_stat_group_create.count,
  33265 			req->args.tsn_stat_group_create.stat_arr,
  33266 			req->args.tsn_stat_group_create.id);
  33267 		break;
  33268 	case BCM_ASYNC_ENTRY_TSN_STAT_GROUP_DESTROY:
  33269 		rv = bcm_tsn_stat_group_destroy(
  33270 			req->args.tsn_stat_group_destroy.unit,
  33271 			req->args.tsn_stat_group_destroy.id);
  33272 		break;
  33273 	case BCM_ASYNC_ENTRY_TSN_STAT_GROUP_GET:
  33274 		rv = bcm_tsn_stat_group_get(
  33275 			req->args.tsn_stat_group_get.unit,
  33276 			req->args.tsn_stat_group_get.id,
  33277 			req->args.tsn_stat_group_get.group_type,
  33278 			req->args.tsn_stat_group_get.max,
  33279 			req->args.tsn_stat_group_get.stat_arr,
  33280 			req->args.tsn_stat_group_get.count);
  33281 		break;
  33282 	case BCM_ASYNC_ENTRY_TSN_STAT_GROUP_SET:
  33283 		rv = bcm_tsn_stat_group_set(
  33284 			req->args.tsn_stat_group_set.unit,
  33285 			req->args.tsn_stat_group_set.id,
  33286 			req->args.tsn_stat_group_set.count,
  33287 			req->args.tsn_stat_group_set.stat_arr);
  33288 		break;
  33289 	case BCM_ASYNC_ENTRY_TSN_STAT_GROUP_TRAVERSE:
  33290 		rv = bcm_tsn_stat_group_traverse(
  33291 			req->args.tsn_stat_group_traverse.unit,
  33292 			req->args.tsn_stat_group_traverse.cb,
  33293 			req->args.tsn_stat_group_traverse.user_data);
  33294 		break;
  33295 	case BCM_ASYNC_ENTRY_TSN_STAT_THRESHOLD_GET:
  33296 		rv = bcm_tsn_stat_threshold_get(
  33297 			req->args.tsn_stat_threshold_get.unit,
  33298 			req->args.tsn_stat_threshold_get.source,
  33299 			req->args.tsn_stat_threshold_get.stat,
  33300 			req->args.tsn_stat_threshold_get.config);
  33301 		break;
  33302 	case BCM_ASYNC_ENTRY_TSN_STAT_THRESHOLD_SET:
  33303 		rv = bcm_tsn_stat_threshold_set(
  33304 			req->args.tsn_stat_threshold_set.unit,
  33305 			req->args.tsn_stat_threshold_set.source,
  33306 			req->args.tsn_stat_threshold_set.stat,
  33307 			req->args.tsn_stat_threshold_set.config);
  33308 		break;
  33309 	case BCM_ASYNC_ENTRY_TSN_STU_PROFILE_CREATE:
  33310 		rv = bcm_tsn_stu_profile_create(
  33311 			req->args.tsn_stu_profile_create.unit,
  33312 			req->args.tsn_stu_profile_create.type,
  33313 			req->args.tsn_stu_profile_create.config,
  33314 			req->args.tsn_stu_profile_create.stu_profile_id);
  33315 		break;
  33316 	case BCM_ASYNC_ENTRY_TSN_STU_PROFILE_DESTROY:
  33317 		rv = bcm_tsn_stu_profile_destroy(
  33318 			req->args.tsn_stu_profile_destroy.unit,
  33319 			req->args.tsn_stu_profile_destroy.stu_profile_id);
  33320 		break;
  33321 	case BCM_ASYNC_ENTRY_TSN_STU_PROFILE_GET:
  33322 		rv = bcm_tsn_stu_profile_get(
  33323 			req->args.tsn_stu_profile_get.unit,
  33324 			req->args.tsn_stu_profile_get.stu_profile_id,
  33325 			req->args.tsn_stu_profile_get.type,
  33326 			req->args.tsn_stu_profile_get.config);
  33327 		break;
  33328 	case BCM_ASYNC_ENTRY_TSN_STU_PROFILE_SET:
  33329 		rv = bcm_tsn_stu_profile_set(
  33330 			req->args.tsn_stu_profile_set.unit,
  33331 			req->args.tsn_stu_profile_set.stu_profile_id,
  33332 			req->args.tsn_stu_profile_set.config);
  33333 		break;
  33334 	case BCM_ASYNC_ENTRY_TSN_STU_PROFILE_TRAVERSE:
  33335 		rv = bcm_tsn_stu_profile_traverse(
  33336 			req->args.tsn_stu_profile_traverse.unit,
  33337 			req->args.tsn_stu_profile_traverse.cb,
  33338 			req->args.tsn_stu_profile_traverse.user_data);
  33339 		break;
  33340 	case BCM_ASYNC_ENTRY_TSN_TAF_CONTROL_GET:
  33341 		rv = bcm_tsn_taf_control_get(
  33342 			req->args.tsn_taf_control_get.unit,
  33343 			req->args.tsn_taf_control_get.taf_gate,
  33344 			req->args.tsn_taf_control_get.type,
  33345 			req->args.tsn_taf_control_get.arg);
  33346 		break;
  33347 	case BCM_ASYNC_ENTRY_TSN_TAF_CONTROL_SET:
  33348 		rv = bcm_tsn_taf_control_set(
  33349 			req->args.tsn_taf_control_set.unit,
  33350 			req->args.tsn_taf_control_set.taf_gate,
  33351 			req->args.tsn_taf_control_set.type,
  33352 			req->args.tsn_taf_control_set.arg);
  33353 		break;
  33354 	case BCM_ASYNC_ENTRY_TSN_TAF_COSQ_MAPPING_PROFILE_CREATE:
  33355 		rv = bcm_tsn_taf_cosq_mapping_profile_create(
  33356 			req->args.tsn_taf_cosq_mapping_profile_create.unit,
  33357 			req->args.tsn_taf_cosq_mapping_profile_create.cosq_profile);
  33358 		break;
  33359 	case BCM_ASYNC_ENTRY_TSN_TAF_COSQ_MAPPING_PROFILE_DESTROY:
  33360 		rv = bcm_tsn_taf_cosq_mapping_profile_destroy(
  33361 			req->args.tsn_taf_cosq_mapping_profile_destroy.unit,
  33362 			req->args.tsn_taf_cosq_mapping_profile_destroy.cosq_profile);
  33363 		break;
  33364 	case BCM_ASYNC_ENTRY_TSN_TAF_COSQ_MAPPING_PROFILE_GET:
  33365 		rv = bcm_tsn_taf_cosq_mapping_profile_get(
  33366 			req->args.tsn_taf_cosq_mapping_profile_get.unit,
  33367 			req->args.tsn_taf_cosq_mapping_profile_get.cosq_profile,
  33368 			req->args.tsn_taf_cosq_mapping_profile_get.priority,
  33369 			req->args.tsn_taf_cosq_mapping_profile_get.cosq);
  33370 		break;
  33371 	case BCM_ASYNC_ENTRY_TSN_TAF_COSQ_MAPPING_PROFILE_SET:
  33372 		rv = bcm_tsn_taf_cosq_mapping_profile_set(
  33373 			req->args.tsn_taf_cosq_mapping_profile_set.unit,
  33374 			req->args.tsn_taf_cosq_mapping_profile_set.cosq_profile,
  33375 			req->args.tsn_taf_cosq_mapping_profile_set.priority,
  33376 			req->args.tsn_taf_cosq_mapping_profile_set.cosq);
  33377 		break;
  33378 	case BCM_ASYNC_ENTRY_TSN_TAF_COSQ_MAPPING_PROFILE_TRAVERSE:
  33379 		rv = bcm_tsn_taf_cosq_mapping_profile_traverse(
  33380 			req->args.tsn_taf_cosq_mapping_profile_traverse.unit,
  33381 			req->args.tsn_taf_cosq_mapping_profile_traverse.cb,
  33382 			req->args.tsn_taf_cosq_mapping_profile_traverse.user_data);
  33383 		break;
  33384 	case BCM_ASYNC_ENTRY_TSN_TAF_EVENT_REGISTER:
  33385 		rv = bcm_tsn_taf_event_register(
  33386 			req->args.tsn_taf_event_register.unit,
  33387 			req->args.tsn_taf_event_register.event_types,
  33388 			req->args.tsn_taf_event_register.taf_gate,
  33389 			req->args.tsn_taf_event_register.cb,
  33390 			req->args.tsn_taf_event_register.user_data);
  33391 		break;
  33392 	case BCM_ASYNC_ENTRY_TSN_TAF_EVENT_UNREGISTER:
  33393 		rv = bcm_tsn_taf_event_unregister(
  33394 			req->args.tsn_taf_event_unregister.unit,
  33395 			req->args.tsn_taf_event_unregister.event_types,
  33396 			req->args.tsn_taf_event_unregister.taf_gate,
  33397 			req->args.tsn_taf_event_unregister.cb);
  33398 		break;
  33399 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_CREATE:
  33400 		rv = bcm_tsn_taf_gate_create(
  33401 			req->args.tsn_taf_gate_create.unit,
  33402 			req->args.tsn_taf_gate_create.flags,
  33403 			req->args.tsn_taf_gate_create.taf_gate_id);
  33404 		break;
  33405 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_DESTROY:
  33406 		rv = bcm_tsn_taf_gate_destroy(
  33407 			req->args.tsn_taf_gate_destroy.unit,
  33408 			req->args.tsn_taf_gate_destroy.taf_gate_id);
  33409 		break;
  33410 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_MAX_BYTES_PROFILE_CREATE:
  33411 		rv = bcm_tsn_taf_gate_max_bytes_profile_create(
  33412 			req->args.tsn_taf_gate_max_bytes_profile_create.unit,
  33413 			req->args.tsn_taf_gate_max_bytes_profile_create.taf_gate_id,
  33414 			req->args.tsn_taf_gate_max_bytes_profile_create.max_bytes,
  33415 			req->args.tsn_taf_gate_max_bytes_profile_create.profile_id);
  33416 		break;
  33417 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_MAX_BYTES_PROFILE_DESTROY:
  33418 		rv = bcm_tsn_taf_gate_max_bytes_profile_destroy(
  33419 			req->args.tsn_taf_gate_max_bytes_profile_destroy.unit,
  33420 			req->args.tsn_taf_gate_max_bytes_profile_destroy.taf_gate_id,
  33421 			req->args.tsn_taf_gate_max_bytes_profile_destroy.profile_id);
  33422 		break;
  33423 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_MAX_BYTES_PROFILE_GET:
  33424 		rv = bcm_tsn_taf_gate_max_bytes_profile_get(
  33425 			req->args.tsn_taf_gate_max_bytes_profile_get.unit,
  33426 			req->args.tsn_taf_gate_max_bytes_profile_get.taf_gate_id,
  33427 			req->args.tsn_taf_gate_max_bytes_profile_get.profile_id,
  33428 			req->args.tsn_taf_gate_max_bytes_profile_get.max_bytes);
  33429 		break;
  33430 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_MAX_BYTES_PROFILE_SET:
  33431 		rv = bcm_tsn_taf_gate_max_bytes_profile_set(
  33432 			req->args.tsn_taf_gate_max_bytes_profile_set.unit,
  33433 			req->args.tsn_taf_gate_max_bytes_profile_set.taf_gate_id,
  33434 			req->args.tsn_taf_gate_max_bytes_profile_set.profile_id,
  33435 			req->args.tsn_taf_gate_max_bytes_profile_set.max_bytes);
  33436 		break;
  33437 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_MAX_BYTES_PROFILE_TRAVERSE:
  33438 		rv = bcm_tsn_taf_gate_max_bytes_profile_traverse(
  33439 			req->args.tsn_taf_gate_max_bytes_profile_traverse.unit,
  33440 			req->args.tsn_taf_gate_max_bytes_profile_traverse.taf_gate_id,
  33441 			req->args.tsn_taf_gate_max_bytes_profile_traverse.cb,
  33442 			req->args.tsn_taf_gate_max_bytes_profile_traverse.user_data);
  33443 		break;
  33444 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_GET:
  33445 		rv = bcm_tsn_taf_gate_stat_get(
  33446 			req->args.tsn_taf_gate_stat_get.unit,
  33447 			req->args.tsn_taf_gate_stat_get.taf_gate_id,
  33448 			req->args.tsn_taf_gate_stat_get.stat,
  33449 			req->args.tsn_taf_gate_stat_get.val);
  33450 		break;
  33451 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_GET32:
  33452 		rv = bcm_tsn_taf_gate_stat_get32(
  33453 			req->args.tsn_taf_gate_stat_get32.unit,
  33454 			req->args.tsn_taf_gate_stat_get32.taf_gate_id,
  33455 			req->args.tsn_taf_gate_stat_get32.stat,
  33456 			req->args.tsn_taf_gate_stat_get32.val);
  33457 		break;
  33458 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_MULTI_GET:
  33459 		rv = bcm_tsn_taf_gate_stat_multi_get(
  33460 			req->args.tsn_taf_gate_stat_multi_get.unit,
  33461 			req->args.tsn_taf_gate_stat_multi_get.taf_gate_id,
  33462 			req->args.tsn_taf_gate_stat_multi_get.nstat,
  33463 			req->args.tsn_taf_gate_stat_multi_get.stat_arr,
  33464 			req->args.tsn_taf_gate_stat_multi_get.val_arr);
  33465 		break;
  33466 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_MULTI_GET32:
  33467 		rv = bcm_tsn_taf_gate_stat_multi_get32(
  33468 			req->args.tsn_taf_gate_stat_multi_get32.unit,
  33469 			req->args.tsn_taf_gate_stat_multi_get32.taf_gate_id,
  33470 			req->args.tsn_taf_gate_stat_multi_get32.nstat,
  33471 			req->args.tsn_taf_gate_stat_multi_get32.stat_arr,
  33472 			req->args.tsn_taf_gate_stat_multi_get32.val_arr);
  33473 		break;
  33474 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_MULTI_SET:
  33475 		rv = bcm_tsn_taf_gate_stat_multi_set(
  33476 			req->args.tsn_taf_gate_stat_multi_set.unit,
  33477 			req->args.tsn_taf_gate_stat_multi_set.taf_gate_id,
  33478 			req->args.tsn_taf_gate_stat_multi_set.nstat,
  33479 			req->args.tsn_taf_gate_stat_multi_set.stat_arr,
  33480 			req->args.tsn_taf_gate_stat_multi_set.val_arr);
  33481 		break;
  33482 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_MULTI_SET32:
  33483 		rv = bcm_tsn_taf_gate_stat_multi_set32(
  33484 			req->args.tsn_taf_gate_stat_multi_set32.unit,
  33485 			req->args.tsn_taf_gate_stat_multi_set32.taf_gate_id,
  33486 			req->args.tsn_taf_gate_stat_multi_set32.nstat,
  33487 			req->args.tsn_taf_gate_stat_multi_set32.stat_arr,
  33488 			req->args.tsn_taf_gate_stat_multi_set32.val_arr);
  33489 		break;
  33490 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_SET:
  33491 		rv = bcm_tsn_taf_gate_stat_set(
  33492 			req->args.tsn_taf_gate_stat_set.unit,
  33493 			req->args.tsn_taf_gate_stat_set.taf_gate_id,
  33494 			req->args.tsn_taf_gate_stat_set.stat,
  33495 			req->args.tsn_taf_gate_stat_set.val);
  33496 		break;
  33497 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_SET32:
  33498 		rv = bcm_tsn_taf_gate_stat_set32(
  33499 			req->args.tsn_taf_gate_stat_set32.unit,
  33500 			req->args.tsn_taf_gate_stat_set32.taf_gate_id,
  33501 			req->args.tsn_taf_gate_stat_set32.stat,
  33502 			req->args.tsn_taf_gate_stat_set32.val);
  33503 		break;
  33504 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_SYNC_GET:
  33505 		rv = bcm_tsn_taf_gate_stat_sync_get(
  33506 			req->args.tsn_taf_gate_stat_sync_get.unit,
  33507 			req->args.tsn_taf_gate_stat_sync_get.taf_gate_id,
  33508 			req->args.tsn_taf_gate_stat_sync_get.stat,
  33509 			req->args.tsn_taf_gate_stat_sync_get.val);
  33510 		break;
  33511 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_SYNC_GET32:
  33512 		rv = bcm_tsn_taf_gate_stat_sync_get32(
  33513 			req->args.tsn_taf_gate_stat_sync_get32.unit,
  33514 			req->args.tsn_taf_gate_stat_sync_get32.taf_gate_id,
  33515 			req->args.tsn_taf_gate_stat_sync_get32.stat,
  33516 			req->args.tsn_taf_gate_stat_sync_get32.val);
  33517 		break;
  33518 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_SYNC_MULTI_GET:
  33519 		rv = bcm_tsn_taf_gate_stat_sync_multi_get(
  33520 			req->args.tsn_taf_gate_stat_sync_multi_get.unit,
  33521 			req->args.tsn_taf_gate_stat_sync_multi_get.taf_gate_id,
  33522 			req->args.tsn_taf_gate_stat_sync_multi_get.nstat,
  33523 			req->args.tsn_taf_gate_stat_sync_multi_get.stat_arr,
  33524 			req->args.tsn_taf_gate_stat_sync_multi_get.val_arr);
  33525 		break;
  33526 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_STAT_SYNC_MULTI_GET32:
  33527 		rv = bcm_tsn_taf_gate_stat_sync_multi_get32(
  33528 			req->args.tsn_taf_gate_stat_sync_multi_get32.unit,
  33529 			req->args.tsn_taf_gate_stat_sync_multi_get32.taf_gate_id,
  33530 			req->args.tsn_taf_gate_stat_sync_multi_get32.nstat,
  33531 			req->args.tsn_taf_gate_stat_sync_multi_get32.stat_arr,
  33532 			req->args.tsn_taf_gate_stat_sync_multi_get32.val_arr);
  33533 		break;
  33534 	case BCM_ASYNC_ENTRY_TSN_TAF_GATE_TRAVERSE:
  33535 		rv = bcm_tsn_taf_gate_traverse(
  33536 			req->args.tsn_taf_gate_traverse.unit,
  33537 			req->args.tsn_taf_gate_traverse.cb,
  33538 			req->args.tsn_taf_gate_traverse.user_data);
  33539 		break;
  33540 	case BCM_ASYNC_ENTRY_TSN_TAF_PROFILE_COMMIT:
  33541 		rv = bcm_tsn_taf_profile_commit(
  33542 			req->args.tsn_taf_profile_commit.unit,
  33543 			req->args.tsn_taf_profile_commit.taf_gate,
  33544 			req->args.tsn_taf_profile_commit.pid);
  33545 		break;
  33546 	case BCM_ASYNC_ENTRY_TSN_TAF_PROFILE_CREATE:
  33547 		rv = bcm_tsn_taf_profile_create(
  33548 			req->args.tsn_taf_profile_create.unit,
  33549 			req->args.tsn_taf_profile_create.taf_gate,
  33550 			req->args.tsn_taf_profile_create.profile,
  33551 			req->args.tsn_taf_profile_create.pid);
  33552 		break;
  33553 	case BCM_ASYNC_ENTRY_TSN_TAF_PROFILE_DESTROY:
  33554 		rv = bcm_tsn_taf_profile_destroy(
  33555 			req->args.tsn_taf_profile_destroy.unit,
  33556 			req->args.tsn_taf_profile_destroy.taf_gate,
  33557 			req->args.tsn_taf_profile_destroy.pid);
  33558 		break;
  33559 	case BCM_ASYNC_ENTRY_TSN_TAF_PROFILE_DESTROY_ALL:
  33560 		rv = bcm_tsn_taf_profile_destroy_all(
  33561 			req->args.tsn_taf_profile_destroy_all.unit,
  33562 			req->args.tsn_taf_profile_destroy_all.taf_gate);
  33563 		break;
  33564 	case BCM_ASYNC_ENTRY_TSN_TAF_PROFILE_GET:
  33565 		rv = bcm_tsn_taf_profile_get(
  33566 			req->args.tsn_taf_profile_get.unit,
  33567 			req->args.tsn_taf_profile_get.taf_gate,
  33568 			req->args.tsn_taf_profile_get.pid,
  33569 			req->args.tsn_taf_profile_get.profile);
  33570 		break;
  33571 	case BCM_ASYNC_ENTRY_TSN_TAF_PROFILE_SET:
  33572 		rv = bcm_tsn_taf_profile_set(
  33573 			req->args.tsn_taf_profile_set.unit,
  33574 			req->args.tsn_taf_profile_set.taf_gate,
  33575 			req->args.tsn_taf_profile_set.pid,
  33576 			req->args.tsn_taf_profile_set.profile);
  33577 		break;
  33578 	case BCM_ASYNC_ENTRY_TSN_TAF_PROFILE_STATUS_GET:
  33579 		rv = bcm_tsn_taf_profile_status_get(
  33580 			req->args.tsn_taf_profile_status_get.unit,
  33581 			req->args.tsn_taf_profile_status_get.taf_gate,
  33582 			req->args.tsn_taf_profile_status_get.pid,
  33583 			req->args.tsn_taf_profile_status_get.status);
  33584 		break;
  33585 	case BCM_ASYNC_ENTRY_TSN_TAF_PROFILE_TRAVERSE:
  33586 		rv = bcm_tsn_taf_profile_traverse(
  33587 			req->args.tsn_taf_profile_traverse.unit,
  33588 			req->args.tsn_taf_profile_traverse.taf_gate,
  33589 			req->args.tsn_taf_profile_traverse.cb,
  33590 			req->args.tsn_taf_profile_traverse.user_data);
  33591 		break;
  33592 	case BCM_ASYNC_ENTRY_TSN_TAF_STATUS_GET:
  33593 		rv = bcm_tsn_taf_status_get(
  33594 			req->args.tsn_taf_status_get.unit,
  33595 			req->args.tsn_taf_status_get.taf_gate,
  33596 			req->args.tsn_taf_status_get.type,
  33597 			req->args.tsn_taf_status_get.arg);
  33598 		break;
  33599 #ifdef	INCLUDE_L3
  33600 	case BCM_ASYNC_ENTRY_TUNNEL_CONFIG_GET:
  33601 		rv = bcm_tunnel_config_get(
  33602 			req->args.tunnel_config_get.unit,
  33603 			req->args.tunnel_config_get.tconfig);
  33604 		break;
  33605 	case BCM_ASYNC_ENTRY_TUNNEL_CONFIG_SET:
  33606 		rv = bcm_tunnel_config_set(
  33607 			req->args.tunnel_config_set.unit,
  33608 			req->args.tunnel_config_set.tconfig);
  33609 		break;
  33610 	case BCM_ASYNC_ENTRY_TUNNEL_DSCP_MAP_CREATE:
  33611 		rv = bcm_tunnel_dscp_map_create(
  33612 			req->args.tunnel_dscp_map_create.unit,
  33613 			req->args.tunnel_dscp_map_create.flags,
  33614 			req->args.tunnel_dscp_map_create.dscp_map_id);
  33615 		break;
  33616 	case BCM_ASYNC_ENTRY_TUNNEL_DSCP_MAP_DESTROY:
  33617 		rv = bcm_tunnel_dscp_map_destroy(
  33618 			req->args.tunnel_dscp_map_destroy.unit,
  33619 			req->args.tunnel_dscp_map_destroy.dscp_map_id);
  33620 		break;
  33621 	case BCM_ASYNC_ENTRY_TUNNEL_DSCP_MAP_GET:
  33622 		rv = bcm_tunnel_dscp_map_get(
  33623 			req->args.tunnel_dscp_map_get.unit,
  33624 			req->args.tunnel_dscp_map_get.dscp_map_id,
  33625 			req->args.tunnel_dscp_map_get.dscp_map);
  33626 		break;
  33627 	case BCM_ASYNC_ENTRY_TUNNEL_DSCP_MAP_PORT_GET:
  33628 		rv = bcm_tunnel_dscp_map_port_get(
  33629 			req->args.tunnel_dscp_map_port_get.unit,
  33630 			req->args.tunnel_dscp_map_port_get.port,
  33631 			req->args.tunnel_dscp_map_port_get.dscp_map);
  33632 		break;
  33633 	case BCM_ASYNC_ENTRY_TUNNEL_DSCP_MAP_PORT_SET:
  33634 		rv = bcm_tunnel_dscp_map_port_set(
  33635 			req->args.tunnel_dscp_map_port_set.unit,
  33636 			req->args.tunnel_dscp_map_port_set.port,
  33637 			req->args.tunnel_dscp_map_port_set.dscp_map);
  33638 		break;
  33639 	case BCM_ASYNC_ENTRY_TUNNEL_DSCP_MAP_SET:
  33640 		rv = bcm_tunnel_dscp_map_set(
  33641 			req->args.tunnel_dscp_map_set.unit,
  33642 			req->args.tunnel_dscp_map_set.dscp_map_id,
  33643 			req->args.tunnel_dscp_map_set.dscp_map);
  33644 		break;
  33645 	case BCM_ASYNC_ENTRY_TUNNEL_INITIATOR_CLEAR:
  33646 		rv = bcm_tunnel_initiator_clear(
  33647 			req->args.tunnel_initiator_clear.unit,
  33648 			req->args.tunnel_initiator_clear.intf);
  33649 		break;
  33650 	case BCM_ASYNC_ENTRY_TUNNEL_INITIATOR_CREATE:
  33651 		rv = bcm_tunnel_initiator_create(
  33652 			req->args.tunnel_initiator_create.unit,
  33653 			req->args.tunnel_initiator_create.intf,
  33654 			req->args.tunnel_initiator_create.tunnel);
  33655 		break;
  33656 	case BCM_ASYNC_ENTRY_TUNNEL_INITIATOR_GET:
  33657 		rv = bcm_tunnel_initiator_get(
  33658 			req->args.tunnel_initiator_get.unit,
  33659 			req->args.tunnel_initiator_get.intf,
  33660 			req->args.tunnel_initiator_get.tunnel);
  33661 		break;
  33662 	case BCM_ASYNC_ENTRY_TUNNEL_INITIATOR_SET:
  33663 		rv = bcm_tunnel_initiator_set(
  33664 			req->args.tunnel_initiator_set.unit,
  33665 			req->args.tunnel_initiator_set.intf,
  33666 			req->args.tunnel_initiator_set.tunnel);
  33667 		break;
  33668 	case BCM_ASYNC_ENTRY_TUNNEL_INITIATOR_TRAVERSE:
  33669 		rv = bcm_tunnel_initiator_traverse(
  33670 			req->args.tunnel_initiator_traverse.unit,
  33671 			req->args.tunnel_initiator_traverse.cb,
  33672 			req->args.tunnel_initiator_traverse.user_data);
  33673 		break;
  33674 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_ADD:
  33675 		rv = bcm_tunnel_terminator_add(
  33676 			req->args.tunnel_terminator_add.unit,
  33677 			req->args.tunnel_terminator_add.info);
  33678 		break;
  33679 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_CONFIG_ADD:
  33680 		rv = bcm_tunnel_terminator_config_add(
  33681 			req->args.tunnel_terminator_config_add.unit,
  33682 			req->args.tunnel_terminator_config_add.flags,
  33683 			req->args.tunnel_terminator_config_add.config_key,
  33684 			req->args.tunnel_terminator_config_add.config_action);
  33685 		break;
  33686 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_CONFIG_DELETE:
  33687 		rv = bcm_tunnel_terminator_config_delete(
  33688 			req->args.tunnel_terminator_config_delete.unit,
  33689 			req->args.tunnel_terminator_config_delete.config_key);
  33690 		break;
  33691 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_CONFIG_GET:
  33692 		rv = bcm_tunnel_terminator_config_get(
  33693 			req->args.tunnel_terminator_config_get.unit,
  33694 			req->args.tunnel_terminator_config_get.config_key,
  33695 			req->args.tunnel_terminator_config_get.config_action);
  33696 		break;
  33697 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_CONFIG_TRAVERSE:
  33698 		rv = bcm_tunnel_terminator_config_traverse(
  33699 			req->args.tunnel_terminator_config_traverse.unit,
  33700 			req->args.tunnel_terminator_config_traverse.cb,
  33701 			req->args.tunnel_terminator_config_traverse.user_data);
  33702 		break;
  33703 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_CREATE:
  33704 		rv = bcm_tunnel_terminator_create(
  33705 			req->args.tunnel_terminator_create.unit,
  33706 			req->args.tunnel_terminator_create.info);
  33707 		break;
  33708 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_DELETE:
  33709 		rv = bcm_tunnel_terminator_delete(
  33710 			req->args.tunnel_terminator_delete.unit,
  33711 			req->args.tunnel_terminator_delete.info);
  33712 		break;
  33713 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_GET:
  33714 		rv = bcm_tunnel_terminator_get(
  33715 			req->args.tunnel_terminator_get.unit,
  33716 			req->args.tunnel_terminator_get.info);
  33717 		break;
  33718 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_TRAVERSE:
  33719 		rv = bcm_tunnel_terminator_traverse(
  33720 			req->args.tunnel_terminator_traverse.unit,
  33721 			req->args.tunnel_terminator_traverse.cb,
  33722 			req->args.tunnel_terminator_traverse.user_data);
  33723 		break;
  33724 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_UPDATE:
  33725 		rv = bcm_tunnel_terminator_update(
  33726 			req->args.tunnel_terminator_update.unit,
  33727 			req->args.tunnel_terminator_update.info);
  33728 		break;
  33729 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_VLAN_GET:
  33730 		rv = bcm_tunnel_terminator_vlan_get(
  33731 			req->args.tunnel_terminator_vlan_get.unit,
  33732 			req->args.tunnel_terminator_vlan_get.tunnel,
  33733 			req->args.tunnel_terminator_vlan_get.vlan_vec);
  33734 		break;
  33735 	case BCM_ASYNC_ENTRY_TUNNEL_TERMINATOR_VLAN_SET:
  33736 		rv = bcm_tunnel_terminator_vlan_set(
  33737 			req->args.tunnel_terminator_vlan_set.unit,
  33738 			req->args.tunnel_terminator_vlan_set.tunnel,
  33739 			req->args.tunnel_terminator_vlan_set.vlan_vec);
  33740 		break;
  33741 #endif	/* INCLUDE_L3 */
  33742 	case BCM_ASYNC_ENTRY_TX:
  33743 		rv = bcm_tx(
  33744 			req->args.tx.unit,
  33745 			req->args.tx.tx_pkt,
  33746 			req->args.tx.cookie);
  33747 		break;
  33748 	case BCM_ASYNC_ENTRY_TX_ARRAY:
  33749 		rv = bcm_tx_array(
  33750 			req->args.tx_array.unit,
  33751 			req->args.tx_array.pkt,
  33752 			req->args.tx_array.count,
  33753 			req->args.tx_array.all_done_cb,
  33754 			req->args.tx_array.cookie);
  33755 		break;
  33756 #ifdef	BCM_RPC_SUPPORT
  33757 	case BCM_ASYNC_ENTRY_TX_CPU_TUNNEL:
  33758 		rv = bcm_tx_cpu_tunnel(
  33759 			req->args.tx_cpu_tunnel.pkt,
  33760 			req->args.tx_cpu_tunnel.dest_unit,
  33761 			req->args.tx_cpu_tunnel.remote_port,
  33762 			req->args.tx_cpu_tunnel.flags,
  33763 			req->args.tx_cpu_tunnel.mode);
  33764 		break;
  33765 	case BCM_ASYNC_ENTRY_TX_CPU_TUNNEL_GET:
  33766 		rv = bcm_tx_cpu_tunnel_get(
  33767 			req->args.tx_cpu_tunnel_get.f);
  33768 		break;
  33769 	case BCM_ASYNC_ENTRY_TX_CPU_TUNNEL_SET:
  33770 		rv = bcm_tx_cpu_tunnel_set(
  33771 			req->args.tx_cpu_tunnel_set.f);
  33772 		break;
  33773 #endif	/* BCM_RPC_SUPPORT */
  33774 #ifdef	BROADCOM_DEBUG
  33775 	case BCM_ASYNC_ENTRY_TX_DV_DUMP:
  33776 		rv = bcm_tx_dv_dump(
  33777 			req->args.tx_dv_dump.unit,
  33778 			req->args.tx_dv_dump.dv_p);
  33779 		break;
  33780 #endif	/* BROADCOM_DEBUG */
  33781 	case BCM_ASYNC_ENTRY_TX_INIT:
  33782 		rv = bcm_tx_init(
  33783 			req->args.tx_init.unit);
  33784 		break;
  33785 	case BCM_ASYNC_ENTRY_TX_LIST:
  33786 		rv = bcm_tx_list(
  33787 			req->args.tx_list.unit,
  33788 			req->args.tx_list.pkt,
  33789 			req->args.tx_list.all_done_cb,
  33790 			req->args.tx_list.cookie);
  33791 		break;
  33792 	case BCM_ASYNC_ENTRY_TX_PKT_L2_MAP:
  33793 		rv = bcm_tx_pkt_l2_map(
  33794 			req->args.tx_pkt_l2_map.unit,
  33795 			req->args.tx_pkt_l2_map.pkt,
  33796 			req->args.tx_pkt_l2_map.dest_mac,
  33797 			req->args.tx_pkt_l2_map.vid);
  33798 		break;
  33799 	case BCM_ASYNC_ENTRY_TX_PKT_SETUP:
  33800 		rv = bcm_tx_pkt_setup(
  33801 			req->args.tx_pkt_setup.unit,
  33802 			req->args.tx_pkt_setup.tx_pkt);
  33803 		break;
  33804 #ifdef	BROADCOM_DEBUG
  33805 	case BCM_ASYNC_ENTRY_TX_SHOW:
  33806 		rv = bcm_tx_show(
  33807 			req->args.tx_show.unit);
  33808 		break;
  33809 #endif	/* BROADCOM_DEBUG */
  33810 	case BCM_ASYNC_ENTRY_TXBEACON_DESTROY:
  33811 		rv = bcm_txbeacon_destroy(
  33812 			req->args.txbeacon_destroy.unit,
  33813 			req->args.txbeacon_destroy.pkt_id);
  33814 		break;
  33815 	case BCM_ASYNC_ENTRY_TXBEACON_INIT:
  33816 		rv = bcm_txbeacon_init(
  33817 			req->args.txbeacon_init.unit,
  33818 			req->args.txbeacon_init.uC);
  33819 		break;
  33820 	case BCM_ASYNC_ENTRY_TXBEACON_PKT_GET:
  33821 		rv = bcm_txbeacon_pkt_get(
  33822 			req->args.txbeacon_pkt_get.unit,
  33823 			req->args.txbeacon_pkt_get.txbeacon);
  33824 		break;
  33825 	case BCM_ASYNC_ENTRY_TXBEACON_PKT_SETUP:
  33826 		rv = bcm_txbeacon_pkt_setup(
  33827 			req->args.txbeacon_pkt_setup.unit,
  33828 			req->args.txbeacon_pkt_setup.txbeacon);
  33829 		break;
  33830 	case BCM_ASYNC_ENTRY_TXBEACON_START:
  33831 		rv = bcm_txbeacon_start(
  33832 			req->args.txbeacon_start.unit,
  33833 			req->args.txbeacon_start.pkt_id);
  33834 		break;
  33835 	case BCM_ASYNC_ENTRY_TXBEACON_STOP:
  33836 		rv = bcm_txbeacon_stop(
  33837 			req->args.txbeacon_stop.unit,
  33838 			req->args.txbeacon_stop.pkt_id);
  33839 		break;
  33840 	case BCM_ASYNC_ENTRY_TXBEACON_TRAVERSE:
  33841 		rv = bcm_txbeacon_traverse(
  33842 			req->args.txbeacon_traverse.unit,
  33843 			req->args.txbeacon_traverse.trav_fn,
  33844 			req->args.txbeacon_traverse.user_data);
  33845 		break;
  33846 	case BCM_ASYNC_ENTRY_UDF_ABSTRACT_PKT_FORMAT_INFO_GET:
  33847 		rv = bcm_udf_abstract_pkt_format_info_get(
  33848 			req->args.udf_abstract_pkt_format_info_get.unit,
  33849 			req->args.udf_abstract_pkt_format_info_get.abstract_pkt_format,
  33850 			req->args.udf_abstract_pkt_format_info_get.pkt_format_info);
  33851 		break;
  33852 	case BCM_ASYNC_ENTRY_UDF_ABSTRACT_PKT_FORMAT_OBJECT_LIST_GET:
  33853 		rv = bcm_udf_abstract_pkt_format_object_list_get(
  33854 			req->args.udf_abstract_pkt_format_object_list_get.unit,
  33855 			req->args.udf_abstract_pkt_format_object_list_get.abstract_pkt_format,
  33856 			req->args.udf_abstract_pkt_format_object_list_get.max,
  33857 			req->args.udf_abstract_pkt_format_object_list_get.udf_id_list,
  33858 			req->args.udf_abstract_pkt_format_object_list_get.actual);
  33859 		break;
  33860 	case BCM_ASYNC_ENTRY_UDF_CHUNK_CREATE:
  33861 		rv = bcm_udf_chunk_create(
  33862 			req->args.udf_chunk_create.unit,
  33863 			req->args.udf_chunk_create.hints,
  33864 			req->args.udf_chunk_create.udf_chunk_info,
  33865 			req->args.udf_chunk_create.udf_id);
  33866 		break;
  33867 	case BCM_ASYNC_ENTRY_UDF_CHUNK_INFO_GET:
  33868 		rv = bcm_udf_chunk_info_get(
  33869 			req->args.udf_chunk_info_get.unit,
  33870 			req->args.udf_chunk_info_get.udf_id,
  33871 			req->args.udf_chunk_info_get.udf_chunk_info);
  33872 		break;
  33873 	case BCM_ASYNC_ENTRY_UDF_CREATE:
  33874 		rv = bcm_udf_create(
  33875 			req->args.udf_create.unit,
  33876 			req->args.udf_create.hints,
  33877 			req->args.udf_create.udf_info,
  33878 			req->args.udf_create.udf_id);
  33879 		break;
  33880 	case BCM_ASYNC_ENTRY_UDF_DESTROY:
  33881 		rv = bcm_udf_destroy(
  33882 			req->args.udf_destroy.unit,
  33883 			req->args.udf_destroy.udf_id);
  33884 		break;
  33885 	case BCM_ASYNC_ENTRY_UDF_DETACH:
  33886 		rv = bcm_udf_detach(
  33887 			req->args.udf_detach.unit);
  33888 		break;
  33889 	case BCM_ASYNC_ENTRY_UDF_FLOW_BASED_CHUNK_ARRANGE_GET:
  33890 		rv = bcm_udf_flow_based_chunk_arrange_get(
  33891 			req->args.udf_flow_based_chunk_arrange_get.unit,
  33892 			req->args.udf_flow_based_chunk_arrange_get.flow_type,
  33893 			req->args.udf_flow_based_chunk_arrange_get.chunk_bmap);
  33894 		break;
  33895 	case BCM_ASYNC_ENTRY_UDF_FLOW_BASED_CHUNK_ARRANGE_SET:
  33896 		rv = bcm_udf_flow_based_chunk_arrange_set(
  33897 			req->args.udf_flow_based_chunk_arrange_set.unit,
  33898 			req->args.udf_flow_based_chunk_arrange_set.flow_type,
  33899 			req->args.udf_flow_based_chunk_arrange_set.chunk_bmap);
  33900 		break;
  33901 	case BCM_ASYNC_ENTRY_UDF_GET:
  33902 		rv = bcm_udf_get(
  33903 			req->args.udf_get.unit,
  33904 			req->args.udf_get.udf_id,
  33905 			req->args.udf_get.udf_info);
  33906 		break;
  33907 	case BCM_ASYNC_ENTRY_UDF_GET_ALL:
  33908 		rv = bcm_udf_get_all(
  33909 			req->args.udf_get_all.unit,
  33910 			req->args.udf_get_all.max,
  33911 			req->args.udf_get_all.udf_id_list,
  33912 			req->args.udf_get_all.actual);
  33913 		break;
  33914 	case BCM_ASYNC_ENTRY_UDF_HASH_CONFIG_ADD:
  33915 		rv = bcm_udf_hash_config_add(
  33916 			req->args.udf_hash_config_add.unit,
  33917 			req->args.udf_hash_config_add.options,
  33918 			req->args.udf_hash_config_add.config);
  33919 		break;
  33920 	case BCM_ASYNC_ENTRY_UDF_HASH_CONFIG_DELETE:
  33921 		rv = bcm_udf_hash_config_delete(
  33922 			req->args.udf_hash_config_delete.unit,
  33923 			req->args.udf_hash_config_delete.config);
  33924 		break;
  33925 	case BCM_ASYNC_ENTRY_UDF_HASH_CONFIG_DELETE_ALL:
  33926 		rv = bcm_udf_hash_config_delete_all(
  33927 			req->args.udf_hash_config_delete_all.unit);
  33928 		break;
  33929 	case BCM_ASYNC_ENTRY_UDF_HASH_CONFIG_GET:
  33930 		rv = bcm_udf_hash_config_get(
  33931 			req->args.udf_hash_config_get.unit,
  33932 			req->args.udf_hash_config_get.config);
  33933 		break;
  33934 	case BCM_ASYNC_ENTRY_UDF_HASH_CONFIG_GET_ALL:
  33935 		rv = bcm_udf_hash_config_get_all(
  33936 			req->args.udf_hash_config_get_all.unit,
  33937 			req->args.udf_hash_config_get_all.max,
  33938 			req->args.udf_hash_config_get_all.config_list,
  33939 			req->args.udf_hash_config_get_all.actual);
  33940 		break;
  33941 	case BCM_ASYNC_ENTRY_UDF_INIT:
  33942 		rv = bcm_udf_init(
  33943 			req->args.udf_init.unit);
  33944 		break;
  33945 	case BCM_ASYNC_ENTRY_UDF_OPER_MODE_GET:
  33946 		rv = bcm_udf_oper_mode_get(
  33947 			req->args.udf_oper_mode_get.unit,
  33948 			req->args.udf_oper_mode_get.mode);
  33949 		break;
  33950 	case BCM_ASYNC_ENTRY_UDF_OPER_MODE_SET:
  33951 		rv = bcm_udf_oper_mode_set(
  33952 			req->args.udf_oper_mode_set.unit,
  33953 			req->args.udf_oper_mode_set.mode);
  33954 		break;
  33955 	case BCM_ASYNC_ENTRY_UDF_PKT_FORMAT_ADD:
  33956 		rv = bcm_udf_pkt_format_add(
  33957 			req->args.udf_pkt_format_add.unit,
  33958 			req->args.udf_pkt_format_add.udf_id,
  33959 			req->args.udf_pkt_format_add.pkt_format_id);
  33960 		break;
  33961 	case BCM_ASYNC_ENTRY_UDF_PKT_FORMAT_CREATE:
  33962 		rv = bcm_udf_pkt_format_create(
  33963 			req->args.udf_pkt_format_create.unit,
  33964 			req->args.udf_pkt_format_create.options,
  33965 			req->args.udf_pkt_format_create.pkt_format,
  33966 			req->args.udf_pkt_format_create.pkt_format_id);
  33967 		break;
  33968 	case BCM_ASYNC_ENTRY_UDF_PKT_FORMAT_DELETE:
  33969 		rv = bcm_udf_pkt_format_delete(
  33970 			req->args.udf_pkt_format_delete.unit,
  33971 			req->args.udf_pkt_format_delete.udf_id,
  33972 			req->args.udf_pkt_format_delete.pkt_format_id);
  33973 		break;
  33974 	case BCM_ASYNC_ENTRY_UDF_PKT_FORMAT_DELETE_ALL:
  33975 		rv = bcm_udf_pkt_format_delete_all(
  33976 			req->args.udf_pkt_format_delete_all.unit,
  33977 			req->args.udf_pkt_format_delete_all.udf_id);
  33978 		break;
  33979 	case BCM_ASYNC_ENTRY_UDF_PKT_FORMAT_DESTROY:
  33980 		rv = bcm_udf_pkt_format_destroy(
  33981 			req->args.udf_pkt_format_destroy.unit,
  33982 			req->args.udf_pkt_format_destroy.pkt_format_id);
  33983 		break;
  33984 	case BCM_ASYNC_ENTRY_UDF_PKT_FORMAT_GET:
  33985 		rv = bcm_udf_pkt_format_get(
  33986 			req->args.udf_pkt_format_get.unit,
  33987 			req->args.udf_pkt_format_get.pkt_format_id,
  33988 			req->args.udf_pkt_format_get.max,
  33989 			req->args.udf_pkt_format_get.udf_id_list,
  33990 			req->args.udf_pkt_format_get.actual);
  33991 		break;
  33992 	case BCM_ASYNC_ENTRY_UDF_PKT_FORMAT_GET_ALL:
  33993 		rv = bcm_udf_pkt_format_get_all(
  33994 			req->args.udf_pkt_format_get_all.unit,
  33995 			req->args.udf_pkt_format_get_all.udf_id,
  33996 			req->args.udf_pkt_format_get_all.max,
  33997 			req->args.udf_pkt_format_get_all.pkt_format_id_list,
  33998 			req->args.udf_pkt_format_get_all.actual);
  33999 		break;
  34000 	case BCM_ASYNC_ENTRY_UDF_PKT_FORMAT_INFO_GET:
  34001 		rv = bcm_udf_pkt_format_info_get(
  34002 			req->args.udf_pkt_format_info_get.unit,
  34003 			req->args.udf_pkt_format_info_get.pkt_format_id,
  34004 			req->args.udf_pkt_format_info_get.pkt_format);
  34005 		break;
  34006 	case BCM_ASYNC_ENTRY_UDF_RANGE_CHECKER_CHUNK_INFO_GET:
  34007 		rv = bcm_udf_range_checker_chunk_info_get(
  34008 			req->args.udf_range_checker_chunk_info_get.unit,
  34009 			req->args.udf_range_checker_chunk_info_get.num_chunks,
  34010 			req->args.udf_range_checker_chunk_info_get.chunk_bmap);
  34011 		break;
  34012 	case BCM_ASYNC_ENTRY_VLAN_BLOCK_GET:
  34013 		rv = bcm_vlan_block_get(
  34014 			req->args.vlan_block_get.unit,
  34015 			req->args.vlan_block_get.vlan,
  34016 			req->args.vlan_block_get.vlan_block);
  34017 		break;
  34018 	case BCM_ASYNC_ENTRY_VLAN_BLOCK_SET:
  34019 		rv = bcm_vlan_block_set(
  34020 			req->args.vlan_block_set.unit,
  34021 			req->args.vlan_block_set.vlan,
  34022 			req->args.vlan_block_set.vlan_block);
  34023 		break;
  34024 	case BCM_ASYNC_ENTRY_VLAN_CONTROL_GET:
  34025 		rv = bcm_vlan_control_get(
  34026 			req->args.vlan_control_get.unit,
  34027 			req->args.vlan_control_get.type,
  34028 			req->args.vlan_control_get.arg);
  34029 		break;
  34030 	case BCM_ASYNC_ENTRY_VLAN_CONTROL_PORT_GET:
  34031 		rv = bcm_vlan_control_port_get(
  34032 			req->args.vlan_control_port_get.unit,
  34033 			req->args.vlan_control_port_get.port,
  34034 			req->args.vlan_control_port_get.type,
  34035 			req->args.vlan_control_port_get.arg);
  34036 		break;
  34037 	case BCM_ASYNC_ENTRY_VLAN_CONTROL_PORT_SET:
  34038 		rv = bcm_vlan_control_port_set(
  34039 			req->args.vlan_control_port_set.unit,
  34040 			req->args.vlan_control_port_set.port,
  34041 			req->args.vlan_control_port_set.type,
  34042 			req->args.vlan_control_port_set.arg);
  34043 		break;
  34044 	case BCM_ASYNC_ENTRY_VLAN_CONTROL_SET:
  34045 		rv = bcm_vlan_control_set(
  34046 			req->args.vlan_control_set.unit,
  34047 			req->args.vlan_control_set.type,
  34048 			req->args.vlan_control_set.arg);
  34049 		break;
  34050 	case BCM_ASYNC_ENTRY_VLAN_CONTROL_VLAN_GET:
  34051 		rv = bcm_vlan_control_vlan_get(
  34052 			req->args.vlan_control_vlan_get.unit,
  34053 			req->args.vlan_control_vlan_get.vlan,
  34054 			req->args.vlan_control_vlan_get.control);
  34055 		break;
  34056 	case BCM_ASYNC_ENTRY_VLAN_CONTROL_VLAN_SELECTIVE_GET:
  34057 		rv = bcm_vlan_control_vlan_selective_get(
  34058 			req->args.vlan_control_vlan_selective_get.unit,
  34059 			req->args.vlan_control_vlan_selective_get.vlan,
  34060 			req->args.vlan_control_vlan_selective_get.valid_fields,
  34061 			req->args.vlan_control_vlan_selective_get.control);
  34062 		break;
  34063 	case BCM_ASYNC_ENTRY_VLAN_CONTROL_VLAN_SELECTIVE_SET:
  34064 		rv = bcm_vlan_control_vlan_selective_set(
  34065 			req->args.vlan_control_vlan_selective_set.unit,
  34066 			req->args.vlan_control_vlan_selective_set.vlan,
  34067 			req->args.vlan_control_vlan_selective_set.valid_fields,
  34068 			req->args.vlan_control_vlan_selective_set.control);
  34069 		break;
  34070 	case BCM_ASYNC_ENTRY_VLAN_CONTROL_VLAN_SET:
  34071 		rv = bcm_vlan_control_vlan_set(
  34072 			req->args.vlan_control_vlan_set.unit,
  34073 			req->args.vlan_control_vlan_set.vlan,
  34074 			req->args.vlan_control_vlan_set.control);
  34075 		break;
  34076 	case BCM_ASYNC_ENTRY_VLAN_CREATE:
  34077 		rv = bcm_vlan_create(
  34078 			req->args.vlan_create.unit,
  34079 			req->args.vlan_create.vid);
  34080 		break;
  34081 	case BCM_ASYNC_ENTRY_VLAN_CROSS_CONNECT_ADD:
  34082 		rv = bcm_vlan_cross_connect_add(
  34083 			req->args.vlan_cross_connect_add.unit,
  34084 			req->args.vlan_cross_connect_add.outer_vlan,
  34085 			req->args.vlan_cross_connect_add.inner_vlan,
  34086 			req->args.vlan_cross_connect_add.port_1,
  34087 			req->args.vlan_cross_connect_add.port_2);
  34088 		break;
  34089 	case BCM_ASYNC_ENTRY_VLAN_CROSS_CONNECT_DELETE:
  34090 		rv = bcm_vlan_cross_connect_delete(
  34091 			req->args.vlan_cross_connect_delete.unit,
  34092 			req->args.vlan_cross_connect_delete.outer_vlan,
  34093 			req->args.vlan_cross_connect_delete.inner_vlan);
  34094 		break;
  34095 	case BCM_ASYNC_ENTRY_VLAN_CROSS_CONNECT_DELETE_ALL:
  34096 		rv = bcm_vlan_cross_connect_delete_all(
  34097 			req->args.vlan_cross_connect_delete_all.unit);
  34098 		break;
  34099 	case BCM_ASYNC_ENTRY_VLAN_CROSS_CONNECT_TRAVERSE:
  34100 		rv = bcm_vlan_cross_connect_traverse(
  34101 			req->args.vlan_cross_connect_traverse.unit,
  34102 			req->args.vlan_cross_connect_traverse.cb,
  34103 			req->args.vlan_cross_connect_traverse.user_data);
  34104 		break;
  34105 	case BCM_ASYNC_ENTRY_VLAN_DEFAULT_GET:
  34106 		rv = bcm_vlan_default_get(
  34107 			req->args.vlan_default_get.unit,
  34108 			req->args.vlan_default_get.vid_ptr);
  34109 		break;
  34110 	case BCM_ASYNC_ENTRY_VLAN_DEFAULT_SET:
  34111 		rv = bcm_vlan_default_set(
  34112 			req->args.vlan_default_set.unit,
  34113 			req->args.vlan_default_set.vid);
  34114 		break;
  34115 	case BCM_ASYNC_ENTRY_VLAN_DESTROY:
  34116 		rv = bcm_vlan_destroy(
  34117 			req->args.vlan_destroy.unit,
  34118 			req->args.vlan_destroy.vid);
  34119 		break;
  34120 	case BCM_ASYNC_ENTRY_VLAN_DESTROY_ALL:
  34121 		rv = bcm_vlan_destroy_all(
  34122 			req->args.vlan_destroy_all.unit);
  34123 		break;
  34124 	case BCM_ASYNC_ENTRY_VLAN_DTAG_ADD:
  34125 		rv = bcm_vlan_dtag_add(
  34126 			req->args.vlan_dtag_add.unit,
  34127 			req->args.vlan_dtag_add.port,
  34128 			req->args.vlan_dtag_add.old_vid,
  34129 			req->args.vlan_dtag_add.new_vid,
  34130 			req->args.vlan_dtag_add.prio);
  34131 		break;
  34132 	case BCM_ASYNC_ENTRY_VLAN_DTAG_DELETE:
  34133 		rv = bcm_vlan_dtag_delete(
  34134 			req->args.vlan_dtag_delete.unit,
  34135 			req->args.vlan_dtag_delete.port,
  34136 			req->args.vlan_dtag_delete.old_vid);
  34137 		break;
  34138 	case BCM_ASYNC_ENTRY_VLAN_DTAG_DELETE_ALL:
  34139 		rv = bcm_vlan_dtag_delete_all(
  34140 			req->args.vlan_dtag_delete_all.unit);
  34141 		break;
  34142 	case BCM_ASYNC_ENTRY_VLAN_DTAG_GET:
  34143 		rv = bcm_vlan_dtag_get(
  34144 			req->args.vlan_dtag_get.unit,
  34145 			req->args.vlan_dtag_get.port,
  34146 			req->args.vlan_dtag_get.old_vid,
  34147 			req->args.vlan_dtag_get.new_vid,
  34148 			req->args.vlan_dtag_get.prio);
  34149 		break;
  34150 	case BCM_ASYNC_ENTRY_VLAN_DTAG_RANGE_ADD:
  34151 		rv = bcm_vlan_dtag_range_add(
  34152 			req->args.vlan_dtag_range_add.unit,
  34153 			req->args.vlan_dtag_range_add.port,
  34154 			req->args.vlan_dtag_range_add.old_vid_low,
  34155 			req->args.vlan_dtag_range_add.old_vid_high,
  34156 			req->args.vlan_dtag_range_add.new_vid,
  34157 			req->args.vlan_dtag_range_add.int_prio);
  34158 		break;
  34159 	case BCM_ASYNC_ENTRY_VLAN_DTAG_RANGE_DELETE:
  34160 		rv = bcm_vlan_dtag_range_delete(
  34161 			req->args.vlan_dtag_range_delete.unit,
  34162 			req->args.vlan_dtag_range_delete.port,
  34163 			req->args.vlan_dtag_range_delete.old_vid_low,
  34164 			req->args.vlan_dtag_range_delete.old_vid_high);
  34165 		break;
  34166 	case BCM_ASYNC_ENTRY_VLAN_DTAG_RANGE_DELETE_ALL:
  34167 		rv = bcm_vlan_dtag_range_delete_all(
  34168 			req->args.vlan_dtag_range_delete_all.unit);
  34169 		break;
  34170 	case BCM_ASYNC_ENTRY_VLAN_DTAG_RANGE_GET:
  34171 		rv = bcm_vlan_dtag_range_get(
  34172 			req->args.vlan_dtag_range_get.unit,
  34173 			req->args.vlan_dtag_range_get.port,
  34174 			req->args.vlan_dtag_range_get.old_vid_low,
  34175 			req->args.vlan_dtag_range_get.old_vid_high,
  34176 			req->args.vlan_dtag_range_get.new_vid,
  34177 			req->args.vlan_dtag_range_get.prio);
  34178 		break;
  34179 	case BCM_ASYNC_ENTRY_VLAN_DTAG_RANGE_TRAVERSE:
  34180 		rv = bcm_vlan_dtag_range_traverse(
  34181 			req->args.vlan_dtag_range_traverse.unit,
  34182 			req->args.vlan_dtag_range_traverse.cb,
  34183 			req->args.vlan_dtag_range_traverse.user_data);
  34184 		break;
  34185 	case BCM_ASYNC_ENTRY_VLAN_DTAG_TRAVERSE:
  34186 		rv = bcm_vlan_dtag_traverse(
  34187 			req->args.vlan_dtag_traverse.unit,
  34188 			req->args.vlan_dtag_traverse.cb,
  34189 			req->args.vlan_dtag_traverse.user_data);
  34190 		break;
  34191 	case BCM_ASYNC_ENTRY_VLAN_GPORT_ADD:
  34192 		rv = bcm_vlan_gport_add(
  34193 			req->args.vlan_gport_add.unit,
  34194 			req->args.vlan_gport_add.vlan,
  34195 			req->args.vlan_gport_add.port,
  34196 			req->args.vlan_gport_add.flags);
  34197 		break;
  34198 	case BCM_ASYNC_ENTRY_VLAN_GPORT_DELETE:
  34199 		rv = bcm_vlan_gport_delete(
  34200 			req->args.vlan_gport_delete.unit,
  34201 			req->args.vlan_gport_delete.vlan,
  34202 			req->args.vlan_gport_delete.port);
  34203 		break;
  34204 	case BCM_ASYNC_ENTRY_VLAN_GPORT_DELETE_ALL:
  34205 		rv = bcm_vlan_gport_delete_all(
  34206 			req->args.vlan_gport_delete_all.unit,
  34207 			req->args.vlan_gport_delete_all.vlan);
  34208 		break;
  34209 	case BCM_ASYNC_ENTRY_VLAN_GPORT_EXTENDED_DELETE:
  34210 		rv = bcm_vlan_gport_extended_delete(
  34211 			req->args.vlan_gport_extended_delete.unit,
  34212 			req->args.vlan_gport_extended_delete.vlan,
  34213 			req->args.vlan_gport_extended_delete.port,
  34214 			req->args.vlan_gport_extended_delete.flags);
  34215 		break;
  34216 	case BCM_ASYNC_ENTRY_VLAN_GPORT_GET:
  34217 		rv = bcm_vlan_gport_get(
  34218 			req->args.vlan_gport_get.unit,
  34219 			req->args.vlan_gport_get.vlan,
  34220 			req->args.vlan_gport_get.port,
  34221 			req->args.vlan_gport_get.flags);
  34222 		break;
  34223 	case BCM_ASYNC_ENTRY_VLAN_GPORT_GET_ALL:
  34224 		rv = bcm_vlan_gport_get_all(
  34225 			req->args.vlan_gport_get_all.unit,
  34226 			req->args.vlan_gport_get_all.vlan,
  34227 			req->args.vlan_gport_get_all.array_max,
  34228 			req->args.vlan_gport_get_all.gport_array,
  34229 			req->args.vlan_gport_get_all.flags_array,
  34230 			req->args.vlan_gport_get_all.array_size);
  34231 		break;
  34232 	case BCM_ASYNC_ENTRY_VLAN_GPORT_INFO_GET:
  34233 		rv = bcm_vlan_gport_info_get(
  34234 			req->args.vlan_gport_info_get.unit,
  34235 			req->args.vlan_gport_info_get.vlan_gport_info);
  34236 		break;
  34237 	case BCM_ASYNC_ENTRY_VLAN_INIT:
  34238 		rv = bcm_vlan_init(
  34239 			req->args.vlan_init.unit);
  34240 		break;
  34241 	case BCM_ASYNC_ENTRY_VLAN_IP_ACTION_ADD:
  34242 		rv = bcm_vlan_ip_action_add(
  34243 			req->args.vlan_ip_action_add.unit,
  34244 			req->args.vlan_ip_action_add.vlan_ip,
  34245 			req->args.vlan_ip_action_add.action);
  34246 		break;
  34247 	case BCM_ASYNC_ENTRY_VLAN_IP_ACTION_DELETE:
  34248 		rv = bcm_vlan_ip_action_delete(
  34249 			req->args.vlan_ip_action_delete.unit,
  34250 			req->args.vlan_ip_action_delete.vlan_ip);
  34251 		break;
  34252 	case BCM_ASYNC_ENTRY_VLAN_IP_ACTION_DELETE_ALL:
  34253 		rv = bcm_vlan_ip_action_delete_all(
  34254 			req->args.vlan_ip_action_delete_all.unit);
  34255 		break;
  34256 	case BCM_ASYNC_ENTRY_VLAN_IP_ACTION_GET:
  34257 		rv = bcm_vlan_ip_action_get(
  34258 			req->args.vlan_ip_action_get.unit,
  34259 			req->args.vlan_ip_action_get.vlan_ip,
  34260 			req->args.vlan_ip_action_get.action);
  34261 		break;
  34262 	case BCM_ASYNC_ENTRY_VLAN_IP_ACTION_TRAVERSE:
  34263 		rv = bcm_vlan_ip_action_traverse(
  34264 			req->args.vlan_ip_action_traverse.unit,
  34265 			req->args.vlan_ip_action_traverse.cb,
  34266 			req->args.vlan_ip_action_traverse.user_data);
  34267 		break;
  34268 	case BCM_ASYNC_ENTRY_VLAN_IP_ADD:
  34269 		rv = bcm_vlan_ip_add(
  34270 			req->args.vlan_ip_add.unit,
  34271 			req->args.vlan_ip_add.vlan_ip);
  34272 		break;
  34273 	case BCM_ASYNC_ENTRY_VLAN_IP_DELETE:
  34274 		rv = bcm_vlan_ip_delete(
  34275 			req->args.vlan_ip_delete.unit,
  34276 			req->args.vlan_ip_delete.vlan_ip);
  34277 		break;
  34278 	case BCM_ASYNC_ENTRY_VLAN_IP_DELETE_ALL:
  34279 		rv = bcm_vlan_ip_delete_all(
  34280 			req->args.vlan_ip_delete_all.unit);
  34281 		break;
  34282 	case BCM_ASYNC_ENTRY_VLAN_LIST:
  34283 		rv = bcm_vlan_list(
  34284 			req->args.vlan_list.unit,
  34285 			req->args.vlan_list.listp,
  34286 			req->args.vlan_list.countp);
  34287 		break;
  34288 	case BCM_ASYNC_ENTRY_VLAN_LIST_BY_PBMP:
  34289 		rv = bcm_vlan_list_by_pbmp(
  34290 			req->args.vlan_list_by_pbmp.unit,
  34291 			req->args.vlan_list_by_pbmp.ports,
  34292 			req->args.vlan_list_by_pbmp.listp,
  34293 			req->args.vlan_list_by_pbmp.countp);
  34294 		break;
  34295 	case BCM_ASYNC_ENTRY_VLAN_LIST_DESTROY:
  34296 		rv = bcm_vlan_list_destroy(
  34297 			req->args.vlan_list_destroy.unit,
  34298 			req->args.vlan_list_destroy.list,
  34299 			req->args.vlan_list_destroy.count);
  34300 		break;
  34301 	case BCM_ASYNC_ENTRY_VLAN_MAC_ACTION_ADD:
  34302 		rv = bcm_vlan_mac_action_add(
  34303 			req->args.vlan_mac_action_add.unit,
  34304 			req->args.vlan_mac_action_add.mac,
  34305 			req->args.vlan_mac_action_add.action);
  34306 		break;
  34307 	case BCM_ASYNC_ENTRY_VLAN_MAC_ACTION_DELETE:
  34308 		rv = bcm_vlan_mac_action_delete(
  34309 			req->args.vlan_mac_action_delete.unit,
  34310 			req->args.vlan_mac_action_delete.mac);
  34311 		break;
  34312 	case BCM_ASYNC_ENTRY_VLAN_MAC_ACTION_DELETE_ALL:
  34313 		rv = bcm_vlan_mac_action_delete_all(
  34314 			req->args.vlan_mac_action_delete_all.unit);
  34315 		break;
  34316 	case BCM_ASYNC_ENTRY_VLAN_MAC_ACTION_GET:
  34317 		rv = bcm_vlan_mac_action_get(
  34318 			req->args.vlan_mac_action_get.unit,
  34319 			req->args.vlan_mac_action_get.mac,
  34320 			req->args.vlan_mac_action_get.action);
  34321 		break;
  34322 	case BCM_ASYNC_ENTRY_VLAN_MAC_ACTION_TRAVERSE:
  34323 		rv = bcm_vlan_mac_action_traverse(
  34324 			req->args.vlan_mac_action_traverse.unit,
  34325 			req->args.vlan_mac_action_traverse.cb,
  34326 			req->args.vlan_mac_action_traverse.user_data);
  34327 		break;
  34328 	case BCM_ASYNC_ENTRY_VLAN_MAC_ADD:
  34329 		rv = bcm_vlan_mac_add(
  34330 			req->args.vlan_mac_add.unit,
  34331 			req->args.vlan_mac_add.mac,
  34332 			req->args.vlan_mac_add.vid,
  34333 			req->args.vlan_mac_add.prio);
  34334 		break;
  34335 	case BCM_ASYNC_ENTRY_VLAN_MAC_DELETE:
  34336 		rv = bcm_vlan_mac_delete(
  34337 			req->args.vlan_mac_delete.unit,
  34338 			req->args.vlan_mac_delete.mac);
  34339 		break;
  34340 	case BCM_ASYNC_ENTRY_VLAN_MAC_DELETE_ALL:
  34341 		rv = bcm_vlan_mac_delete_all(
  34342 			req->args.vlan_mac_delete_all.unit);
  34343 		break;
  34344 	case BCM_ASYNC_ENTRY_VLAN_MATCH_ACTION_ADD:
  34345 		rv = bcm_vlan_match_action_add(
  34346 			req->args.vlan_match_action_add.unit,
  34347 			req->args.vlan_match_action_add.options,
  34348 			req->args.vlan_match_action_add.match_info,
  34349 			req->args.vlan_match_action_add.action_set);
  34350 		break;
  34351 	case BCM_ASYNC_ENTRY_VLAN_MATCH_ACTION_DELETE:
  34352 		rv = bcm_vlan_match_action_delete(
  34353 			req->args.vlan_match_action_delete.unit,
  34354 			req->args.vlan_match_action_delete.match_info);
  34355 		break;
  34356 	case BCM_ASYNC_ENTRY_VLAN_MATCH_ACTION_DELETE_ALL:
  34357 		rv = bcm_vlan_match_action_delete_all(
  34358 			req->args.vlan_match_action_delete_all.unit,
  34359 			req->args.vlan_match_action_delete_all.match);
  34360 		break;
  34361 	case BCM_ASYNC_ENTRY_VLAN_MATCH_ACTION_GET:
  34362 		rv = bcm_vlan_match_action_get(
  34363 			req->args.vlan_match_action_get.unit,
  34364 			req->args.vlan_match_action_get.match_info,
  34365 			req->args.vlan_match_action_get.action_set);
  34366 		break;
  34367 	case BCM_ASYNC_ENTRY_VLAN_MATCH_ACTION_MULTI_GET:
  34368 		rv = bcm_vlan_match_action_multi_get(
  34369 			req->args.vlan_match_action_multi_get.unit,
  34370 			req->args.vlan_match_action_multi_get.match,
  34371 			req->args.vlan_match_action_multi_get.size,
  34372 			req->args.vlan_match_action_multi_get.match_info_array,
  34373 			req->args.vlan_match_action_multi_get.action_set_array,
  34374 			req->args.vlan_match_action_multi_get.count);
  34375 		break;
  34376 	case BCM_ASYNC_ENTRY_VLAN_MCAST_FLOOD_GET:
  34377 		rv = bcm_vlan_mcast_flood_get(
  34378 			req->args.vlan_mcast_flood_get.unit,
  34379 			req->args.vlan_mcast_flood_get.vlan,
  34380 			req->args.vlan_mcast_flood_get.mode);
  34381 		break;
  34382 	case BCM_ASYNC_ENTRY_VLAN_MCAST_FLOOD_SET:
  34383 		rv = bcm_vlan_mcast_flood_set(
  34384 			req->args.vlan_mcast_flood_set.unit,
  34385 			req->args.vlan_mcast_flood_set.vlan,
  34386 			req->args.vlan_mcast_flood_set.mode);
  34387 		break;
  34388 	case BCM_ASYNC_ENTRY_VLAN_POLICER_GET:
  34389 		rv = bcm_vlan_policer_get(
  34390 			req->args.vlan_policer_get.unit,
  34391 			req->args.vlan_policer_get.vlan,
  34392 			req->args.vlan_policer_get.policer_id);
  34393 		break;
  34394 	case BCM_ASYNC_ENTRY_VLAN_POLICER_SET:
  34395 		rv = bcm_vlan_policer_set(
  34396 			req->args.vlan_policer_set.unit,
  34397 			req->args.vlan_policer_set.vlan,
  34398 			req->args.vlan_policer_set.policer_id);
  34399 		break;
  34400 	case BCM_ASYNC_ENTRY_VLAN_PORT_ADD:
  34401 		rv = bcm_vlan_port_add(
  34402 			req->args.vlan_port_add.unit,
  34403 			req->args.vlan_port_add.vid,
  34404 			req->args.vlan_port_add.pbmp,
  34405 			req->args.vlan_port_add.ubmp);
  34406 		break;
  34407 	case BCM_ASYNC_ENTRY_VLAN_PORT_CREATE:
  34408 		rv = bcm_vlan_port_create(
  34409 			req->args.vlan_port_create.unit,
  34410 			req->args.vlan_port_create.vlan_port);
  34411 		break;
  34412 	case BCM_ASYNC_ENTRY_VLAN_PORT_DEFAULT_ACTION_DELETE:
  34413 		rv = bcm_vlan_port_default_action_delete(
  34414 			req->args.vlan_port_default_action_delete.unit,
  34415 			req->args.vlan_port_default_action_delete.port);
  34416 		break;
  34417 	case BCM_ASYNC_ENTRY_VLAN_PORT_DEFAULT_ACTION_GET:
  34418 		rv = bcm_vlan_port_default_action_get(
  34419 			req->args.vlan_port_default_action_get.unit,
  34420 			req->args.vlan_port_default_action_get.port,
  34421 			req->args.vlan_port_default_action_get.action);
  34422 		break;
  34423 	case BCM_ASYNC_ENTRY_VLAN_PORT_DEFAULT_ACTION_SET:
  34424 		rv = bcm_vlan_port_default_action_set(
  34425 			req->args.vlan_port_default_action_set.unit,
  34426 			req->args.vlan_port_default_action_set.port,
  34427 			req->args.vlan_port_default_action_set.action);
  34428 		break;
  34429 	case BCM_ASYNC_ENTRY_VLAN_PORT_DESTROY:
  34430 		rv = bcm_vlan_port_destroy(
  34431 			req->args.vlan_port_destroy.unit,
  34432 			req->args.vlan_port_destroy.gport);
  34433 		break;
  34434 	case BCM_ASYNC_ENTRY_VLAN_PORT_EGRESS_DEFAULT_ACTION_DELETE:
  34435 		rv = bcm_vlan_port_egress_default_action_delete(
  34436 			req->args.vlan_port_egress_default_action_delete.unit,
  34437 			req->args.vlan_port_egress_default_action_delete.port);
  34438 		break;
  34439 	case BCM_ASYNC_ENTRY_VLAN_PORT_EGRESS_DEFAULT_ACTION_GET:
  34440 		rv = bcm_vlan_port_egress_default_action_get(
  34441 			req->args.vlan_port_egress_default_action_get.unit,
  34442 			req->args.vlan_port_egress_default_action_get.port,
  34443 			req->args.vlan_port_egress_default_action_get.action);
  34444 		break;
  34445 	case BCM_ASYNC_ENTRY_VLAN_PORT_EGRESS_DEFAULT_ACTION_SET:
  34446 		rv = bcm_vlan_port_egress_default_action_set(
  34447 			req->args.vlan_port_egress_default_action_set.unit,
  34448 			req->args.vlan_port_egress_default_action_set.port,
  34449 			req->args.vlan_port_egress_default_action_set.action);
  34450 		break;
  34451 	case BCM_ASYNC_ENTRY_VLAN_PORT_FIND:
  34452 		rv = bcm_vlan_port_find(
  34453 			req->args.vlan_port_find.unit,
  34454 			req->args.vlan_port_find.vlan_port);
  34455 		break;
  34456 	case BCM_ASYNC_ENTRY_VLAN_PORT_GET:
  34457 		rv = bcm_vlan_port_get(
  34458 			req->args.vlan_port_get.unit,
  34459 			req->args.vlan_port_get.vid,
  34460 			req->args.vlan_port_get.pbmp,
  34461 			req->args.vlan_port_get.ubmp);
  34462 		break;
  34463 	case BCM_ASYNC_ENTRY_VLAN_PORT_PROTOCOL_ACTION_ADD:
  34464 		rv = bcm_vlan_port_protocol_action_add(
  34465 			req->args.vlan_port_protocol_action_add.unit,
  34466 			req->args.vlan_port_protocol_action_add.port,
  34467 			req->args.vlan_port_protocol_action_add.frame,
  34468 			req->args.vlan_port_protocol_action_add.ether,
  34469 			req->args.vlan_port_protocol_action_add.action);
  34470 		break;
  34471 	case BCM_ASYNC_ENTRY_VLAN_PORT_PROTOCOL_ACTION_DELETE:
  34472 		rv = bcm_vlan_port_protocol_action_delete(
  34473 			req->args.vlan_port_protocol_action_delete.unit,
  34474 			req->args.vlan_port_protocol_action_delete.port,
  34475 			req->args.vlan_port_protocol_action_delete.frame,
  34476 			req->args.vlan_port_protocol_action_delete.ether);
  34477 		break;
  34478 	case BCM_ASYNC_ENTRY_VLAN_PORT_PROTOCOL_ACTION_DELETE_ALL:
  34479 		rv = bcm_vlan_port_protocol_action_delete_all(
  34480 			req->args.vlan_port_protocol_action_delete_all.unit,
  34481 			req->args.vlan_port_protocol_action_delete_all.port);
  34482 		break;
  34483 	case BCM_ASYNC_ENTRY_VLAN_PORT_PROTOCOL_ACTION_GET:
  34484 		rv = bcm_vlan_port_protocol_action_get(
  34485 			req->args.vlan_port_protocol_action_get.unit,
  34486 			req->args.vlan_port_protocol_action_get.port,
  34487 			req->args.vlan_port_protocol_action_get.frame,
  34488 			req->args.vlan_port_protocol_action_get.ether,
  34489 			req->args.vlan_port_protocol_action_get.action);
  34490 		break;
  34491 	case BCM_ASYNC_ENTRY_VLAN_PORT_PROTOCOL_ACTION_TRAVERSE:
  34492 		rv = bcm_vlan_port_protocol_action_traverse(
  34493 			req->args.vlan_port_protocol_action_traverse.unit,
  34494 			req->args.vlan_port_protocol_action_traverse.cb,
  34495 			req->args.vlan_port_protocol_action_traverse.user_data);
  34496 		break;
  34497 	case BCM_ASYNC_ENTRY_VLAN_PORT_REMOVE:
  34498 		rv = bcm_vlan_port_remove(
  34499 			req->args.vlan_port_remove.unit,
  34500 			req->args.vlan_port_remove.vid,
  34501 			req->args.vlan_port_remove.pbmp);
  34502 		break;
  34503 	case BCM_ASYNC_ENTRY_VLAN_PORT_STAT_MULTI_GET:
  34504 		rv = bcm_vlan_port_stat_multi_get(
  34505 			req->args.vlan_port_stat_multi_get.unit,
  34506 			req->args.vlan_port_stat_multi_get.vlan,
  34507 			req->args.vlan_port_stat_multi_get.port,
  34508 			req->args.vlan_port_stat_multi_get.cos,
  34509 			req->args.vlan_port_stat_multi_get.nstat,
  34510 			req->args.vlan_port_stat_multi_get.stat_arr,
  34511 			req->args.vlan_port_stat_multi_get.value_arr);
  34512 		break;
  34513 	case BCM_ASYNC_ENTRY_VLAN_PORT_STAT_MULTI_GET32:
  34514 		rv = bcm_vlan_port_stat_multi_get32(
  34515 			req->args.vlan_port_stat_multi_get32.unit,
  34516 			req->args.vlan_port_stat_multi_get32.vlan,
  34517 			req->args.vlan_port_stat_multi_get32.port,
  34518 			req->args.vlan_port_stat_multi_get32.cos,
  34519 			req->args.vlan_port_stat_multi_get32.nstat,
  34520 			req->args.vlan_port_stat_multi_get32.stat_arr,
  34521 			req->args.vlan_port_stat_multi_get32.value_arr);
  34522 		break;
  34523 	case BCM_ASYNC_ENTRY_VLAN_PORT_STAT_MULTI_SET:
  34524 		rv = bcm_vlan_port_stat_multi_set(
  34525 			req->args.vlan_port_stat_multi_set.unit,
  34526 			req->args.vlan_port_stat_multi_set.vlan,
  34527 			req->args.vlan_port_stat_multi_set.port,
  34528 			req->args.vlan_port_stat_multi_set.cos,
  34529 			req->args.vlan_port_stat_multi_set.nstat,
  34530 			req->args.vlan_port_stat_multi_set.stat_arr,
  34531 			req->args.vlan_port_stat_multi_set.value_arr);
  34532 		break;
  34533 	case BCM_ASYNC_ENTRY_VLAN_PORT_STAT_MULTI_SET32:
  34534 		rv = bcm_vlan_port_stat_multi_set32(
  34535 			req->args.vlan_port_stat_multi_set32.unit,
  34536 			req->args.vlan_port_stat_multi_set32.vlan,
  34537 			req->args.vlan_port_stat_multi_set32.port,
  34538 			req->args.vlan_port_stat_multi_set32.cos,
  34539 			req->args.vlan_port_stat_multi_set32.nstat,
  34540 			req->args.vlan_port_stat_multi_set32.stat_arr,
  34541 			req->args.vlan_port_stat_multi_set32.value_arr);
  34542 		break;
  34543 	case BCM_ASYNC_ENTRY_VLAN_PORT_TRANSLATION_GET:
  34544 		rv = bcm_vlan_port_translation_get(
  34545 			req->args.vlan_port_translation_get.unit,
  34546 			req->args.vlan_port_translation_get.vlan_port_translation);
  34547 		break;
  34548 	case BCM_ASYNC_ENTRY_VLAN_PORT_TRANSLATION_SET:
  34549 		rv = bcm_vlan_port_translation_set(
  34550 			req->args.vlan_port_translation_set.unit,
  34551 			req->args.vlan_port_translation_set.vlan_port_translation);
  34552 		break;
  34553 	case BCM_ASYNC_ENTRY_VLAN_PORT_TRAVERSE:
  34554 		rv = bcm_vlan_port_traverse(
  34555 			req->args.vlan_port_traverse.unit,
  34556 			req->args.vlan_port_traverse.additional_info,
  34557 			req->args.vlan_port_traverse.trav_fn,
  34558 			req->args.vlan_port_traverse.user_data);
  34559 		break;
  34560 	case BCM_ASYNC_ENTRY_VLAN_QUEUE_MAP_ATTACH:
  34561 		rv = bcm_vlan_queue_map_attach(
  34562 			req->args.vlan_queue_map_attach.unit,
  34563 			req->args.vlan_queue_map_attach.vlan,
  34564 			req->args.vlan_queue_map_attach.qmid);
  34565 		break;
  34566 	case BCM_ASYNC_ENTRY_VLAN_QUEUE_MAP_ATTACH_GET:
  34567 		rv = bcm_vlan_queue_map_attach_get(
  34568 			req->args.vlan_queue_map_attach_get.unit,
  34569 			req->args.vlan_queue_map_attach_get.vlan,
  34570 			req->args.vlan_queue_map_attach_get.qmid);
  34571 		break;
  34572 	case BCM_ASYNC_ENTRY_VLAN_QUEUE_MAP_CREATE:
  34573 		rv = bcm_vlan_queue_map_create(
  34574 			req->args.vlan_queue_map_create.unit,
  34575 			req->args.vlan_queue_map_create.flags,
  34576 			req->args.vlan_queue_map_create.qmid);
  34577 		break;
  34578 	case BCM_ASYNC_ENTRY_VLAN_QUEUE_MAP_DESTROY:
  34579 		rv = bcm_vlan_queue_map_destroy(
  34580 			req->args.vlan_queue_map_destroy.unit,
  34581 			req->args.vlan_queue_map_destroy.qmid);
  34582 		break;
  34583 	case BCM_ASYNC_ENTRY_VLAN_QUEUE_MAP_DESTROY_ALL:
  34584 		rv = bcm_vlan_queue_map_destroy_all(
  34585 			req->args.vlan_queue_map_destroy_all.unit);
  34586 		break;
  34587 	case BCM_ASYNC_ENTRY_VLAN_QUEUE_MAP_DETACH:
  34588 		rv = bcm_vlan_queue_map_detach(
  34589 			req->args.vlan_queue_map_detach.unit,
  34590 			req->args.vlan_queue_map_detach.vlan);
  34591 		break;
  34592 	case BCM_ASYNC_ENTRY_VLAN_QUEUE_MAP_DETACH_ALL:
  34593 		rv = bcm_vlan_queue_map_detach_all(
  34594 			req->args.vlan_queue_map_detach_all.unit);
  34595 		break;
  34596 	case BCM_ASYNC_ENTRY_VLAN_QUEUE_MAP_GET:
  34597 		rv = bcm_vlan_queue_map_get(
  34598 			req->args.vlan_queue_map_get.unit,
  34599 			req->args.vlan_queue_map_get.qmid,
  34600 			req->args.vlan_queue_map_get.pkt_pri,
  34601 			req->args.vlan_queue_map_get.cfi,
  34602 			req->args.vlan_queue_map_get.queue,
  34603 			req->args.vlan_queue_map_get.color);
  34604 		break;
  34605 	case BCM_ASYNC_ENTRY_VLAN_QUEUE_MAP_SET:
  34606 		rv = bcm_vlan_queue_map_set(
  34607 			req->args.vlan_queue_map_set.unit,
  34608 			req->args.vlan_queue_map_set.qmid,
  34609 			req->args.vlan_queue_map_set.pkt_pri,
  34610 			req->args.vlan_queue_map_set.cfi,
  34611 			req->args.vlan_queue_map_set.queue,
  34612 			req->args.vlan_queue_map_set.color);
  34613 		break;
  34614 	case BCM_ASYNC_ENTRY_VLAN_STAT_ATTACH:
  34615 		rv = bcm_vlan_stat_attach(
  34616 			req->args.vlan_stat_attach.unit,
  34617 			req->args.vlan_stat_attach.vlan,
  34618 			req->args.vlan_stat_attach.stat_counter_id);
  34619 		break;
  34620 	case BCM_ASYNC_ENTRY_VLAN_STAT_COUNTER_GET:
  34621 		rv = bcm_vlan_stat_counter_get(
  34622 			req->args.vlan_stat_counter_get.unit,
  34623 			req->args.vlan_stat_counter_get.vlan,
  34624 			req->args.vlan_stat_counter_get.stat,
  34625 			req->args.vlan_stat_counter_get.num_entries,
  34626 			req->args.vlan_stat_counter_get.counter_indexes,
  34627 			req->args.vlan_stat_counter_get.counter_values);
  34628 		break;
  34629 	case BCM_ASYNC_ENTRY_VLAN_STAT_COUNTER_SET:
  34630 		rv = bcm_vlan_stat_counter_set(
  34631 			req->args.vlan_stat_counter_set.unit,
  34632 			req->args.vlan_stat_counter_set.vlan,
  34633 			req->args.vlan_stat_counter_set.stat,
  34634 			req->args.vlan_stat_counter_set.num_entries,
  34635 			req->args.vlan_stat_counter_set.counter_indexes,
  34636 			req->args.vlan_stat_counter_set.counter_values);
  34637 		break;
  34638 	case BCM_ASYNC_ENTRY_VLAN_STAT_COUNTER_SYNC_GET:
  34639 		rv = bcm_vlan_stat_counter_sync_get(
  34640 			req->args.vlan_stat_counter_sync_get.unit,
  34641 			req->args.vlan_stat_counter_sync_get.vlan,
  34642 			req->args.vlan_stat_counter_sync_get.stat,
  34643 			req->args.vlan_stat_counter_sync_get.num_entries,
  34644 			req->args.vlan_stat_counter_sync_get.counter_indexes,
  34645 			req->args.vlan_stat_counter_sync_get.counter_values);
  34646 		break;
  34647 	case BCM_ASYNC_ENTRY_VLAN_STAT_DETACH:
  34648 		rv = bcm_vlan_stat_detach(
  34649 			req->args.vlan_stat_detach.unit,
  34650 			req->args.vlan_stat_detach.vlan);
  34651 		break;
  34652 	case BCM_ASYNC_ENTRY_VLAN_STAT_DETACH_WITH_ID:
  34653 		rv = bcm_vlan_stat_detach_with_id(
  34654 			req->args.vlan_stat_detach_with_id.unit,
  34655 			req->args.vlan_stat_detach_with_id.vlan,
  34656 			req->args.vlan_stat_detach_with_id.stat_counter_id);
  34657 		break;
  34658 	case BCM_ASYNC_ENTRY_VLAN_STAT_ENABLE_SET:
  34659 		rv = bcm_vlan_stat_enable_set(
  34660 			req->args.vlan_stat_enable_set.unit,
  34661 			req->args.vlan_stat_enable_set.vlan,
  34662 			req->args.vlan_stat_enable_set.enable);
  34663 		break;
  34664 	case BCM_ASYNC_ENTRY_VLAN_STAT_GET:
  34665 		rv = bcm_vlan_stat_get(
  34666 			req->args.vlan_stat_get.unit,
  34667 			req->args.vlan_stat_get.vlan,
  34668 			req->args.vlan_stat_get.cos,
  34669 			req->args.vlan_stat_get.stat,
  34670 			req->args.vlan_stat_get.val);
  34671 		break;
  34672 	case BCM_ASYNC_ENTRY_VLAN_STAT_GET32:
  34673 		rv = bcm_vlan_stat_get32(
  34674 			req->args.vlan_stat_get32.unit,
  34675 			req->args.vlan_stat_get32.vlan,
  34676 			req->args.vlan_stat_get32.cos,
  34677 			req->args.vlan_stat_get32.stat,
  34678 			req->args.vlan_stat_get32.val);
  34679 		break;
  34680 	case BCM_ASYNC_ENTRY_VLAN_STAT_ID_GET:
  34681 		rv = bcm_vlan_stat_id_get(
  34682 			req->args.vlan_stat_id_get.unit,
  34683 			req->args.vlan_stat_id_get.vlan,
  34684 			req->args.vlan_stat_id_get.stat,
  34685 			req->args.vlan_stat_id_get.stat_counter_id);
  34686 		break;
  34687 	case BCM_ASYNC_ENTRY_VLAN_STAT_MULTI_GET:
  34688 		rv = bcm_vlan_stat_multi_get(
  34689 			req->args.vlan_stat_multi_get.unit,
  34690 			req->args.vlan_stat_multi_get.vlan,
  34691 			req->args.vlan_stat_multi_get.cos,
  34692 			req->args.vlan_stat_multi_get.nstat,
  34693 			req->args.vlan_stat_multi_get.stat_arr,
  34694 			req->args.vlan_stat_multi_get.value_arr);
  34695 		break;
  34696 	case BCM_ASYNC_ENTRY_VLAN_STAT_MULTI_GET32:
  34697 		rv = bcm_vlan_stat_multi_get32(
  34698 			req->args.vlan_stat_multi_get32.unit,
  34699 			req->args.vlan_stat_multi_get32.vlan,
  34700 			req->args.vlan_stat_multi_get32.cos,
  34701 			req->args.vlan_stat_multi_get32.nstat,
  34702 			req->args.vlan_stat_multi_get32.stat_arr,
  34703 			req->args.vlan_stat_multi_get32.value_arr);
  34704 		break;
  34705 	case BCM_ASYNC_ENTRY_VLAN_STAT_MULTI_SET:
  34706 		rv = bcm_vlan_stat_multi_set(
  34707 			req->args.vlan_stat_multi_set.unit,
  34708 			req->args.vlan_stat_multi_set.vlan,
  34709 			req->args.vlan_stat_multi_set.cos,
  34710 			req->args.vlan_stat_multi_set.nstat,
  34711 			req->args.vlan_stat_multi_set.stat_arr,
  34712 			req->args.vlan_stat_multi_set.value_arr);
  34713 		break;
  34714 	case BCM_ASYNC_ENTRY_VLAN_STAT_MULTI_SET32:
  34715 		rv = bcm_vlan_stat_multi_set32(
  34716 			req->args.vlan_stat_multi_set32.unit,
  34717 			req->args.vlan_stat_multi_set32.vlan,
  34718 			req->args.vlan_stat_multi_set32.cos,
  34719 			req->args.vlan_stat_multi_set32.nstat,
  34720 			req->args.vlan_stat_multi_set32.stat_arr,
  34721 			req->args.vlan_stat_multi_set32.value_arr);
  34722 		break;
  34723 	case BCM_ASYNC_ENTRY_VLAN_STAT_SET:
  34724 		rv = bcm_vlan_stat_set(
  34725 			req->args.vlan_stat_set.unit,
  34726 			req->args.vlan_stat_set.vlan,
  34727 			req->args.vlan_stat_set.cos,
  34728 			req->args.vlan_stat_set.stat,
  34729 			req->args.vlan_stat_set.val);
  34730 		break;
  34731 	case BCM_ASYNC_ENTRY_VLAN_STAT_SET32:
  34732 		rv = bcm_vlan_stat_set32(
  34733 			req->args.vlan_stat_set32.unit,
  34734 			req->args.vlan_stat_set32.vlan,
  34735 			req->args.vlan_stat_set32.cos,
  34736 			req->args.vlan_stat_set32.stat,
  34737 			req->args.vlan_stat_set32.val);
  34738 		break;
  34739 	case BCM_ASYNC_ENTRY_VLAN_STAT_SYNC_GET:
  34740 		rv = bcm_vlan_stat_sync_get(
  34741 			req->args.vlan_stat_sync_get.unit,
  34742 			req->args.vlan_stat_sync_get.vlan,
  34743 			req->args.vlan_stat_sync_get.cos,
  34744 			req->args.vlan_stat_sync_get.stat,
  34745 			req->args.vlan_stat_sync_get.val);
  34746 		break;
  34747 	case BCM_ASYNC_ENTRY_VLAN_STAT_SYNC_GET32:
  34748 		rv = bcm_vlan_stat_sync_get32(
  34749 			req->args.vlan_stat_sync_get32.unit,
  34750 			req->args.vlan_stat_sync_get32.vlan,
  34751 			req->args.vlan_stat_sync_get32.cos,
  34752 			req->args.vlan_stat_sync_get32.stat,
  34753 			req->args.vlan_stat_sync_get32.val);
  34754 		break;
  34755 	case BCM_ASYNC_ENTRY_VLAN_STG_GET:
  34756 		rv = bcm_vlan_stg_get(
  34757 			req->args.vlan_stg_get.unit,
  34758 			req->args.vlan_stg_get.vid,
  34759 			req->args.vlan_stg_get.stg_ptr);
  34760 		break;
  34761 	case BCM_ASYNC_ENTRY_VLAN_STG_SET:
  34762 		rv = bcm_vlan_stg_set(
  34763 			req->args.vlan_stg_set.unit,
  34764 			req->args.vlan_stg_set.vid,
  34765 			req->args.vlan_stg_set.stg);
  34766 		break;
  34767 	case BCM_ASYNC_ENTRY_VLAN_STP_GET:
  34768 		rv = bcm_vlan_stp_get(
  34769 			req->args.vlan_stp_get.unit,
  34770 			req->args.vlan_stp_get.vid,
  34771 			req->args.vlan_stp_get.port,
  34772 			req->args.vlan_stp_get.stp_state);
  34773 		break;
  34774 	case BCM_ASYNC_ENTRY_VLAN_STP_SET:
  34775 		rv = bcm_vlan_stp_set(
  34776 			req->args.vlan_stp_set.unit,
  34777 			req->args.vlan_stp_set.vid,
  34778 			req->args.vlan_stp_set.port,
  34779 			req->args.vlan_stp_set.stp_state);
  34780 		break;
  34781 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_ADD:
  34782 		rv = bcm_vlan_translate_action_add(
  34783 			req->args.vlan_translate_action_add.unit,
  34784 			req->args.vlan_translate_action_add.port,
  34785 			req->args.vlan_translate_action_add.key_type,
  34786 			req->args.vlan_translate_action_add.outer_vlan,
  34787 			req->args.vlan_translate_action_add.inner_vlan,
  34788 			req->args.vlan_translate_action_add.action);
  34789 		break;
  34790 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_CLASS_GET:
  34791 		rv = bcm_vlan_translate_action_class_get(
  34792 			req->args.vlan_translate_action_class_get.unit,
  34793 			req->args.vlan_translate_action_class_get.action_class);
  34794 		break;
  34795 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_CLASS_SET:
  34796 		rv = bcm_vlan_translate_action_class_set(
  34797 			req->args.vlan_translate_action_class_set.unit,
  34798 			req->args.vlan_translate_action_class_set.action_class);
  34799 		break;
  34800 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_CREATE:
  34801 		rv = bcm_vlan_translate_action_create(
  34802 			req->args.vlan_translate_action_create.unit,
  34803 			req->args.vlan_translate_action_create.port,
  34804 			req->args.vlan_translate_action_create.key_type,
  34805 			req->args.vlan_translate_action_create.outer_vlan,
  34806 			req->args.vlan_translate_action_create.inner_vlan,
  34807 			req->args.vlan_translate_action_create.action);
  34808 		break;
  34809 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_DELETE:
  34810 		rv = bcm_vlan_translate_action_delete(
  34811 			req->args.vlan_translate_action_delete.unit,
  34812 			req->args.vlan_translate_action_delete.port,
  34813 			req->args.vlan_translate_action_delete.key_type,
  34814 			req->args.vlan_translate_action_delete.outer_vlan,
  34815 			req->args.vlan_translate_action_delete.inner_vlan);
  34816 		break;
  34817 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_GET:
  34818 		rv = bcm_vlan_translate_action_get(
  34819 			req->args.vlan_translate_action_get.unit,
  34820 			req->args.vlan_translate_action_get.port,
  34821 			req->args.vlan_translate_action_get.key_type,
  34822 			req->args.vlan_translate_action_get.outer_vlan,
  34823 			req->args.vlan_translate_action_get.inner_vlan,
  34824 			req->args.vlan_translate_action_get.action);
  34825 		break;
  34826 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_ID_CREATE:
  34827 		rv = bcm_vlan_translate_action_id_create(
  34828 			req->args.vlan_translate_action_id_create.unit,
  34829 			req->args.vlan_translate_action_id_create.flags,
  34830 			req->args.vlan_translate_action_id_create.action_id);
  34831 		break;
  34832 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_ID_DESTROY:
  34833 		rv = bcm_vlan_translate_action_id_destroy(
  34834 			req->args.vlan_translate_action_id_destroy.unit,
  34835 			req->args.vlan_translate_action_id_destroy.flags,
  34836 			req->args.vlan_translate_action_id_destroy.action_id);
  34837 		break;
  34838 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_ID_DESTROY_ALL:
  34839 		rv = bcm_vlan_translate_action_id_destroy_all(
  34840 			req->args.vlan_translate_action_id_destroy_all.unit,
  34841 			req->args.vlan_translate_action_id_destroy_all.flags);
  34842 		break;
  34843 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_ID_GET:
  34844 		rv = bcm_vlan_translate_action_id_get(
  34845 			req->args.vlan_translate_action_id_get.unit,
  34846 			req->args.vlan_translate_action_id_get.flags,
  34847 			req->args.vlan_translate_action_id_get.action_id,
  34848 			req->args.vlan_translate_action_id_get.action);
  34849 		break;
  34850 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_ID_SET:
  34851 		rv = bcm_vlan_translate_action_id_set(
  34852 			req->args.vlan_translate_action_id_set.unit,
  34853 			req->args.vlan_translate_action_id_set.flags,
  34854 			req->args.vlan_translate_action_id_set.action_id,
  34855 			req->args.vlan_translate_action_id_set.action);
  34856 		break;
  34857 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_RANGE_ADD:
  34858 		rv = bcm_vlan_translate_action_range_add(
  34859 			req->args.vlan_translate_action_range_add.unit,
  34860 			req->args.vlan_translate_action_range_add.port,
  34861 			req->args.vlan_translate_action_range_add.outer_vlan_low,
  34862 			req->args.vlan_translate_action_range_add.outer_vlan_high,
  34863 			req->args.vlan_translate_action_range_add.inner_vlan_low,
  34864 			req->args.vlan_translate_action_range_add.inner_vlan_high,
  34865 			req->args.vlan_translate_action_range_add.action);
  34866 		break;
  34867 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_RANGE_DELETE:
  34868 		rv = bcm_vlan_translate_action_range_delete(
  34869 			req->args.vlan_translate_action_range_delete.unit,
  34870 			req->args.vlan_translate_action_range_delete.port,
  34871 			req->args.vlan_translate_action_range_delete.outer_vlan_low,
  34872 			req->args.vlan_translate_action_range_delete.outer_vlan_high,
  34873 			req->args.vlan_translate_action_range_delete.inner_vlan_low,
  34874 			req->args.vlan_translate_action_range_delete.inner_vlan_high);
  34875 		break;
  34876 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_RANGE_DELETE_ALL:
  34877 		rv = bcm_vlan_translate_action_range_delete_all(
  34878 			req->args.vlan_translate_action_range_delete_all.unit);
  34879 		break;
  34880 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_RANGE_GET:
  34881 		rv = bcm_vlan_translate_action_range_get(
  34882 			req->args.vlan_translate_action_range_get.unit,
  34883 			req->args.vlan_translate_action_range_get.port,
  34884 			req->args.vlan_translate_action_range_get.outer_vlan_low,
  34885 			req->args.vlan_translate_action_range_get.outer_vlan_high,
  34886 			req->args.vlan_translate_action_range_get.inner_vlan_low,
  34887 			req->args.vlan_translate_action_range_get.inner_vlan_high,
  34888 			req->args.vlan_translate_action_range_get.action);
  34889 		break;
  34890 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_RANGE_TRAVERSE:
  34891 		rv = bcm_vlan_translate_action_range_traverse(
  34892 			req->args.vlan_translate_action_range_traverse.unit,
  34893 			req->args.vlan_translate_action_range_traverse.cb,
  34894 			req->args.vlan_translate_action_range_traverse.user_data);
  34895 		break;
  34896 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ACTION_TRAVERSE:
  34897 		rv = bcm_vlan_translate_action_traverse(
  34898 			req->args.vlan_translate_action_traverse.unit,
  34899 			req->args.vlan_translate_action_traverse.cb,
  34900 			req->args.vlan_translate_action_traverse.user_data);
  34901 		break;
  34902 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_ADD:
  34903 		rv = bcm_vlan_translate_add(
  34904 			req->args.vlan_translate_add.unit,
  34905 			req->args.vlan_translate_add.port,
  34906 			req->args.vlan_translate_add.old_vid,
  34907 			req->args.vlan_translate_add.new_vid,
  34908 			req->args.vlan_translate_add.prio);
  34909 		break;
  34910 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_DELETE:
  34911 		rv = bcm_vlan_translate_delete(
  34912 			req->args.vlan_translate_delete.unit,
  34913 			req->args.vlan_translate_delete.port,
  34914 			req->args.vlan_translate_delete.old_vid);
  34915 		break;
  34916 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_DELETE_ALL:
  34917 		rv = bcm_vlan_translate_delete_all(
  34918 			req->args.vlan_translate_delete_all.unit);
  34919 		break;
  34920 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_ACTION_ADD:
  34921 		rv = bcm_vlan_translate_egress_action_add(
  34922 			req->args.vlan_translate_egress_action_add.unit,
  34923 			req->args.vlan_translate_egress_action_add.port_class,
  34924 			req->args.vlan_translate_egress_action_add.outer_vlan,
  34925 			req->args.vlan_translate_egress_action_add.inner_vlan,
  34926 			req->args.vlan_translate_egress_action_add.action);
  34927 		break;
  34928 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_ACTION_DELETE:
  34929 		rv = bcm_vlan_translate_egress_action_delete(
  34930 			req->args.vlan_translate_egress_action_delete.unit,
  34931 			req->args.vlan_translate_egress_action_delete.port_class,
  34932 			req->args.vlan_translate_egress_action_delete.outer_vlan,
  34933 			req->args.vlan_translate_egress_action_delete.inner_vlan);
  34934 		break;
  34935 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_ACTION_GET:
  34936 		rv = bcm_vlan_translate_egress_action_get(
  34937 			req->args.vlan_translate_egress_action_get.unit,
  34938 			req->args.vlan_translate_egress_action_get.port_class,
  34939 			req->args.vlan_translate_egress_action_get.outer_vlan,
  34940 			req->args.vlan_translate_egress_action_get.inner_vlan,
  34941 			req->args.vlan_translate_egress_action_get.action);
  34942 		break;
  34943 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_ACTION_TRAVERSE:
  34944 		rv = bcm_vlan_translate_egress_action_traverse(
  34945 			req->args.vlan_translate_egress_action_traverse.unit,
  34946 			req->args.vlan_translate_egress_action_traverse.cb,
  34947 			req->args.vlan_translate_egress_action_traverse.user_data);
  34948 		break;
  34949 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_ADD:
  34950 		rv = bcm_vlan_translate_egress_add(
  34951 			req->args.vlan_translate_egress_add.unit,
  34952 			req->args.vlan_translate_egress_add.port,
  34953 			req->args.vlan_translate_egress_add.old_vid,
  34954 			req->args.vlan_translate_egress_add.new_vid,
  34955 			req->args.vlan_translate_egress_add.prio);
  34956 		break;
  34957 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_DELETE:
  34958 		rv = bcm_vlan_translate_egress_delete(
  34959 			req->args.vlan_translate_egress_delete.unit,
  34960 			req->args.vlan_translate_egress_delete.port,
  34961 			req->args.vlan_translate_egress_delete.old_vid);
  34962 		break;
  34963 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_DELETE_ALL:
  34964 		rv = bcm_vlan_translate_egress_delete_all(
  34965 			req->args.vlan_translate_egress_delete_all.unit);
  34966 		break;
  34967 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_GET:
  34968 		rv = bcm_vlan_translate_egress_get(
  34969 			req->args.vlan_translate_egress_get.unit,
  34970 			req->args.vlan_translate_egress_get.port,
  34971 			req->args.vlan_translate_egress_get.old_vid,
  34972 			req->args.vlan_translate_egress_get.new_vid,
  34973 			req->args.vlan_translate_egress_get.prio);
  34974 		break;
  34975 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_GPORT_ACTION_ADD:
  34976 		rv = bcm_vlan_translate_egress_gport_action_add(
  34977 			req->args.vlan_translate_egress_gport_action_add.unit,
  34978 			req->args.vlan_translate_egress_gport_action_add.port,
  34979 			req->args.vlan_translate_egress_gport_action_add.outer_vlan,
  34980 			req->args.vlan_translate_egress_gport_action_add.inner_vlan,
  34981 			req->args.vlan_translate_egress_gport_action_add.action);
  34982 		break;
  34983 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_GPORT_ACTION_DELETE:
  34984 		rv = bcm_vlan_translate_egress_gport_action_delete(
  34985 			req->args.vlan_translate_egress_gport_action_delete.unit,
  34986 			req->args.vlan_translate_egress_gport_action_delete.port,
  34987 			req->args.vlan_translate_egress_gport_action_delete.outer_vlan,
  34988 			req->args.vlan_translate_egress_gport_action_delete.inner_vlan);
  34989 		break;
  34990 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_GPORT_ACTION_GET:
  34991 		rv = bcm_vlan_translate_egress_gport_action_get(
  34992 			req->args.vlan_translate_egress_gport_action_get.unit,
  34993 			req->args.vlan_translate_egress_gport_action_get.port,
  34994 			req->args.vlan_translate_egress_gport_action_get.outer_vlan,
  34995 			req->args.vlan_translate_egress_gport_action_get.inner_vlan,
  34996 			req->args.vlan_translate_egress_gport_action_get.action);
  34997 		break;
  34998 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_ATTACH:
  34999 		rv = bcm_vlan_translate_egress_stat_attach(
  35000 			req->args.vlan_translate_egress_stat_attach.unit,
  35001 			req->args.vlan_translate_egress_stat_attach.port_class,
  35002 			req->args.vlan_translate_egress_stat_attach.outer_vlan,
  35003 			req->args.vlan_translate_egress_stat_attach.inner_vlan,
  35004 			req->args.vlan_translate_egress_stat_attach.stat_counter_id);
  35005 		break;
  35006 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_COUNTER_GET:
  35007 		rv = bcm_vlan_translate_egress_stat_counter_get(
  35008 			req->args.vlan_translate_egress_stat_counter_get.unit,
  35009 			req->args.vlan_translate_egress_stat_counter_get.port_class,
  35010 			req->args.vlan_translate_egress_stat_counter_get.outer_vlan,
  35011 			req->args.vlan_translate_egress_stat_counter_get.inner_vlan,
  35012 			req->args.vlan_translate_egress_stat_counter_get.stat,
  35013 			req->args.vlan_translate_egress_stat_counter_get.num_entries,
  35014 			req->args.vlan_translate_egress_stat_counter_get.counter_indexes,
  35015 			req->args.vlan_translate_egress_stat_counter_get.counter_values);
  35016 		break;
  35017 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_COUNTER_SET:
  35018 		rv = bcm_vlan_translate_egress_stat_counter_set(
  35019 			req->args.vlan_translate_egress_stat_counter_set.unit,
  35020 			req->args.vlan_translate_egress_stat_counter_set.port_class,
  35021 			req->args.vlan_translate_egress_stat_counter_set.outer_vlan,
  35022 			req->args.vlan_translate_egress_stat_counter_set.inner_vlan,
  35023 			req->args.vlan_translate_egress_stat_counter_set.stat,
  35024 			req->args.vlan_translate_egress_stat_counter_set.num_entries,
  35025 			req->args.vlan_translate_egress_stat_counter_set.counter_indexes,
  35026 			req->args.vlan_translate_egress_stat_counter_set.counter_values);
  35027 		break;
  35028 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_COUNTER_SYNC_GET:
  35029 		rv = bcm_vlan_translate_egress_stat_counter_sync_get(
  35030 			req->args.vlan_translate_egress_stat_counter_sync_get.unit,
  35031 			req->args.vlan_translate_egress_stat_counter_sync_get.port_class,
  35032 			req->args.vlan_translate_egress_stat_counter_sync_get.outer_vlan,
  35033 			req->args.vlan_translate_egress_stat_counter_sync_get.inner_vlan,
  35034 			req->args.vlan_translate_egress_stat_counter_sync_get.stat,
  35035 			req->args.vlan_translate_egress_stat_counter_sync_get.num_entries,
  35036 			req->args.vlan_translate_egress_stat_counter_sync_get.counter_indexes,
  35037 			req->args.vlan_translate_egress_stat_counter_sync_get.counter_values);
  35038 		break;
  35039 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_DETACH:
  35040 		rv = bcm_vlan_translate_egress_stat_detach(
  35041 			req->args.vlan_translate_egress_stat_detach.unit,
  35042 			req->args.vlan_translate_egress_stat_detach.port_class,
  35043 			req->args.vlan_translate_egress_stat_detach.outer_vlan,
  35044 			req->args.vlan_translate_egress_stat_detach.inner_vlan);
  35045 		break;
  35046 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_ENABLE_SET:
  35047 		rv = bcm_vlan_translate_egress_stat_enable_set(
  35048 			req->args.vlan_translate_egress_stat_enable_set.unit,
  35049 			req->args.vlan_translate_egress_stat_enable_set.port_class,
  35050 			req->args.vlan_translate_egress_stat_enable_set.outer_vlan,
  35051 			req->args.vlan_translate_egress_stat_enable_set.inner_vlan,
  35052 			req->args.vlan_translate_egress_stat_enable_set.enable);
  35053 		break;
  35054 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_GET:
  35055 		rv = bcm_vlan_translate_egress_stat_get(
  35056 			req->args.vlan_translate_egress_stat_get.unit,
  35057 			req->args.vlan_translate_egress_stat_get.port_class,
  35058 			req->args.vlan_translate_egress_stat_get.outer_vlan,
  35059 			req->args.vlan_translate_egress_stat_get.inner_vlan,
  35060 			req->args.vlan_translate_egress_stat_get.stat,
  35061 			req->args.vlan_translate_egress_stat_get.val);
  35062 		break;
  35063 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_GET32:
  35064 		rv = bcm_vlan_translate_egress_stat_get32(
  35065 			req->args.vlan_translate_egress_stat_get32.unit,
  35066 			req->args.vlan_translate_egress_stat_get32.port_class,
  35067 			req->args.vlan_translate_egress_stat_get32.outer_vlan,
  35068 			req->args.vlan_translate_egress_stat_get32.inner_vlan,
  35069 			req->args.vlan_translate_egress_stat_get32.stat,
  35070 			req->args.vlan_translate_egress_stat_get32.val);
  35071 		break;
  35072 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_ID_GET:
  35073 		rv = bcm_vlan_translate_egress_stat_id_get(
  35074 			req->args.vlan_translate_egress_stat_id_get.unit,
  35075 			req->args.vlan_translate_egress_stat_id_get.port_class,
  35076 			req->args.vlan_translate_egress_stat_id_get.outer_vlan,
  35077 			req->args.vlan_translate_egress_stat_id_get.inner_vlan,
  35078 			req->args.vlan_translate_egress_stat_id_get.stat,
  35079 			req->args.vlan_translate_egress_stat_id_get.stat_counter_id);
  35080 		break;
  35081 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_MULTI_GET:
  35082 		rv = bcm_vlan_translate_egress_stat_multi_get(
  35083 			req->args.vlan_translate_egress_stat_multi_get.unit,
  35084 			req->args.vlan_translate_egress_stat_multi_get.port_class,
  35085 			req->args.vlan_translate_egress_stat_multi_get.outer_vlan,
  35086 			req->args.vlan_translate_egress_stat_multi_get.inner_vlan,
  35087 			req->args.vlan_translate_egress_stat_multi_get.nstat,
  35088 			req->args.vlan_translate_egress_stat_multi_get.stat_arr,
  35089 			req->args.vlan_translate_egress_stat_multi_get.value_arr);
  35090 		break;
  35091 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_MULTI_GET32:
  35092 		rv = bcm_vlan_translate_egress_stat_multi_get32(
  35093 			req->args.vlan_translate_egress_stat_multi_get32.unit,
  35094 			req->args.vlan_translate_egress_stat_multi_get32.port_class,
  35095 			req->args.vlan_translate_egress_stat_multi_get32.outer_vlan,
  35096 			req->args.vlan_translate_egress_stat_multi_get32.inner_vlan,
  35097 			req->args.vlan_translate_egress_stat_multi_get32.nstat,
  35098 			req->args.vlan_translate_egress_stat_multi_get32.stat_arr,
  35099 			req->args.vlan_translate_egress_stat_multi_get32.value_arr);
  35100 		break;
  35101 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_MULTI_SET:
  35102 		rv = bcm_vlan_translate_egress_stat_multi_set(
  35103 			req->args.vlan_translate_egress_stat_multi_set.unit,
  35104 			req->args.vlan_translate_egress_stat_multi_set.port_class,
  35105 			req->args.vlan_translate_egress_stat_multi_set.outer_vlan,
  35106 			req->args.vlan_translate_egress_stat_multi_set.inner_vlan,
  35107 			req->args.vlan_translate_egress_stat_multi_set.nstat,
  35108 			req->args.vlan_translate_egress_stat_multi_set.stat_arr,
  35109 			req->args.vlan_translate_egress_stat_multi_set.value_arr);
  35110 		break;
  35111 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_MULTI_SET32:
  35112 		rv = bcm_vlan_translate_egress_stat_multi_set32(
  35113 			req->args.vlan_translate_egress_stat_multi_set32.unit,
  35114 			req->args.vlan_translate_egress_stat_multi_set32.port_class,
  35115 			req->args.vlan_translate_egress_stat_multi_set32.outer_vlan,
  35116 			req->args.vlan_translate_egress_stat_multi_set32.inner_vlan,
  35117 			req->args.vlan_translate_egress_stat_multi_set32.nstat,
  35118 			req->args.vlan_translate_egress_stat_multi_set32.stat_arr,
  35119 			req->args.vlan_translate_egress_stat_multi_set32.value_arr);
  35120 		break;
  35121 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_SET:
  35122 		rv = bcm_vlan_translate_egress_stat_set(
  35123 			req->args.vlan_translate_egress_stat_set.unit,
  35124 			req->args.vlan_translate_egress_stat_set.port_class,
  35125 			req->args.vlan_translate_egress_stat_set.outer_vlan,
  35126 			req->args.vlan_translate_egress_stat_set.inner_vlan,
  35127 			req->args.vlan_translate_egress_stat_set.stat,
  35128 			req->args.vlan_translate_egress_stat_set.val);
  35129 		break;
  35130 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_SET32:
  35131 		rv = bcm_vlan_translate_egress_stat_set32(
  35132 			req->args.vlan_translate_egress_stat_set32.unit,
  35133 			req->args.vlan_translate_egress_stat_set32.port_class,
  35134 			req->args.vlan_translate_egress_stat_set32.outer_vlan,
  35135 			req->args.vlan_translate_egress_stat_set32.inner_vlan,
  35136 			req->args.vlan_translate_egress_stat_set32.stat,
  35137 			req->args.vlan_translate_egress_stat_set32.val);
  35138 		break;
  35139 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_SYNC_GET:
  35140 		rv = bcm_vlan_translate_egress_stat_sync_get(
  35141 			req->args.vlan_translate_egress_stat_sync_get.unit,
  35142 			req->args.vlan_translate_egress_stat_sync_get.port_class,
  35143 			req->args.vlan_translate_egress_stat_sync_get.outer_vlan,
  35144 			req->args.vlan_translate_egress_stat_sync_get.inner_vlan,
  35145 			req->args.vlan_translate_egress_stat_sync_get.stat,
  35146 			req->args.vlan_translate_egress_stat_sync_get.val);
  35147 		break;
  35148 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_STAT_SYNC_GET32:
  35149 		rv = bcm_vlan_translate_egress_stat_sync_get32(
  35150 			req->args.vlan_translate_egress_stat_sync_get32.unit,
  35151 			req->args.vlan_translate_egress_stat_sync_get32.port_class,
  35152 			req->args.vlan_translate_egress_stat_sync_get32.outer_vlan,
  35153 			req->args.vlan_translate_egress_stat_sync_get32.inner_vlan,
  35154 			req->args.vlan_translate_egress_stat_sync_get32.stat,
  35155 			req->args.vlan_translate_egress_stat_sync_get32.val);
  35156 		break;
  35157 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_EGRESS_TRAVERSE:
  35158 		rv = bcm_vlan_translate_egress_traverse(
  35159 			req->args.vlan_translate_egress_traverse.unit,
  35160 			req->args.vlan_translate_egress_traverse.cb,
  35161 			req->args.vlan_translate_egress_traverse.user_data);
  35162 		break;
  35163 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_GET:
  35164 		rv = bcm_vlan_translate_get(
  35165 			req->args.vlan_translate_get.unit,
  35166 			req->args.vlan_translate_get.port,
  35167 			req->args.vlan_translate_get.old_vid,
  35168 			req->args.vlan_translate_get.new_vid,
  35169 			req->args.vlan_translate_get.prio);
  35170 		break;
  35171 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_RANGE_ADD:
  35172 		rv = bcm_vlan_translate_range_add(
  35173 			req->args.vlan_translate_range_add.unit,
  35174 			req->args.vlan_translate_range_add.port,
  35175 			req->args.vlan_translate_range_add.old_vid_low,
  35176 			req->args.vlan_translate_range_add.old_vid_high,
  35177 			req->args.vlan_translate_range_add.new_vid,
  35178 			req->args.vlan_translate_range_add.int_prio);
  35179 		break;
  35180 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_RANGE_DELETE:
  35181 		rv = bcm_vlan_translate_range_delete(
  35182 			req->args.vlan_translate_range_delete.unit,
  35183 			req->args.vlan_translate_range_delete.port,
  35184 			req->args.vlan_translate_range_delete.old_vid_low,
  35185 			req->args.vlan_translate_range_delete.old_vid_high);
  35186 		break;
  35187 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_RANGE_DELETE_ALL:
  35188 		rv = bcm_vlan_translate_range_delete_all(
  35189 			req->args.vlan_translate_range_delete_all.unit);
  35190 		break;
  35191 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_RANGE_GET:
  35192 		rv = bcm_vlan_translate_range_get(
  35193 			req->args.vlan_translate_range_get.unit,
  35194 			req->args.vlan_translate_range_get.port,
  35195 			req->args.vlan_translate_range_get.old_vid_low,
  35196 			req->args.vlan_translate_range_get.old_vid_high,
  35197 			req->args.vlan_translate_range_get.new_vid,
  35198 			req->args.vlan_translate_range_get.int_prio);
  35199 		break;
  35200 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_RANGE_TRAVERSE:
  35201 		rv = bcm_vlan_translate_range_traverse(
  35202 			req->args.vlan_translate_range_traverse.unit,
  35203 			req->args.vlan_translate_range_traverse.cb,
  35204 			req->args.vlan_translate_range_traverse.user_data);
  35205 		break;
  35206 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_ATTACH:
  35207 		rv = bcm_vlan_translate_stat_attach(
  35208 			req->args.vlan_translate_stat_attach.unit,
  35209 			req->args.vlan_translate_stat_attach.port,
  35210 			req->args.vlan_translate_stat_attach.key_type,
  35211 			req->args.vlan_translate_stat_attach.outer_vlan,
  35212 			req->args.vlan_translate_stat_attach.inner_vlan,
  35213 			req->args.vlan_translate_stat_attach.stat_counter_id);
  35214 		break;
  35215 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_COUNTER_GET:
  35216 		rv = bcm_vlan_translate_stat_counter_get(
  35217 			req->args.vlan_translate_stat_counter_get.unit,
  35218 			req->args.vlan_translate_stat_counter_get.port,
  35219 			req->args.vlan_translate_stat_counter_get.key_type,
  35220 			req->args.vlan_translate_stat_counter_get.outer_vlan,
  35221 			req->args.vlan_translate_stat_counter_get.inner_vlan,
  35222 			req->args.vlan_translate_stat_counter_get.stat,
  35223 			req->args.vlan_translate_stat_counter_get.num_entries,
  35224 			req->args.vlan_translate_stat_counter_get.counter_indexes,
  35225 			req->args.vlan_translate_stat_counter_get.counter_values);
  35226 		break;
  35227 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_COUNTER_SET:
  35228 		rv = bcm_vlan_translate_stat_counter_set(
  35229 			req->args.vlan_translate_stat_counter_set.unit,
  35230 			req->args.vlan_translate_stat_counter_set.port,
  35231 			req->args.vlan_translate_stat_counter_set.key_type,
  35232 			req->args.vlan_translate_stat_counter_set.outer_vlan,
  35233 			req->args.vlan_translate_stat_counter_set.inner_vlan,
  35234 			req->args.vlan_translate_stat_counter_set.stat,
  35235 			req->args.vlan_translate_stat_counter_set.num_entries,
  35236 			req->args.vlan_translate_stat_counter_set.counter_indexes,
  35237 			req->args.vlan_translate_stat_counter_set.counter_values);
  35238 		break;
  35239 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_COUNTER_SYNC_GET:
  35240 		rv = bcm_vlan_translate_stat_counter_sync_get(
  35241 			req->args.vlan_translate_stat_counter_sync_get.unit,
  35242 			req->args.vlan_translate_stat_counter_sync_get.port,
  35243 			req->args.vlan_translate_stat_counter_sync_get.key_type,
  35244 			req->args.vlan_translate_stat_counter_sync_get.outer_vlan,
  35245 			req->args.vlan_translate_stat_counter_sync_get.inner_vlan,
  35246 			req->args.vlan_translate_stat_counter_sync_get.stat,
  35247 			req->args.vlan_translate_stat_counter_sync_get.num_entries,
  35248 			req->args.vlan_translate_stat_counter_sync_get.counter_indexes,
  35249 			req->args.vlan_translate_stat_counter_sync_get.counter_values);
  35250 		break;
  35251 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_DETACH:
  35252 		rv = bcm_vlan_translate_stat_detach(
  35253 			req->args.vlan_translate_stat_detach.unit,
  35254 			req->args.vlan_translate_stat_detach.port,
  35255 			req->args.vlan_translate_stat_detach.key_type,
  35256 			req->args.vlan_translate_stat_detach.outer_vlan,
  35257 			req->args.vlan_translate_stat_detach.inner_vlan);
  35258 		break;
  35259 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_ENABLE_SET:
  35260 		rv = bcm_vlan_translate_stat_enable_set(
  35261 			req->args.vlan_translate_stat_enable_set.unit,
  35262 			req->args.vlan_translate_stat_enable_set.port,
  35263 			req->args.vlan_translate_stat_enable_set.key_type,
  35264 			req->args.vlan_translate_stat_enable_set.outer_vlan,
  35265 			req->args.vlan_translate_stat_enable_set.inner_vlan,
  35266 			req->args.vlan_translate_stat_enable_set.enable);
  35267 		break;
  35268 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_GET:
  35269 		rv = bcm_vlan_translate_stat_get(
  35270 			req->args.vlan_translate_stat_get.unit,
  35271 			req->args.vlan_translate_stat_get.port,
  35272 			req->args.vlan_translate_stat_get.key_type,
  35273 			req->args.vlan_translate_stat_get.outer_vlan,
  35274 			req->args.vlan_translate_stat_get.inner_vlan,
  35275 			req->args.vlan_translate_stat_get.stat,
  35276 			req->args.vlan_translate_stat_get.val);
  35277 		break;
  35278 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_GET32:
  35279 		rv = bcm_vlan_translate_stat_get32(
  35280 			req->args.vlan_translate_stat_get32.unit,
  35281 			req->args.vlan_translate_stat_get32.port,
  35282 			req->args.vlan_translate_stat_get32.key_type,
  35283 			req->args.vlan_translate_stat_get32.outer_vlan,
  35284 			req->args.vlan_translate_stat_get32.inner_vlan,
  35285 			req->args.vlan_translate_stat_get32.stat,
  35286 			req->args.vlan_translate_stat_get32.val);
  35287 		break;
  35288 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_ID_GET:
  35289 		rv = bcm_vlan_translate_stat_id_get(
  35290 			req->args.vlan_translate_stat_id_get.unit,
  35291 			req->args.vlan_translate_stat_id_get.port,
  35292 			req->args.vlan_translate_stat_id_get.key_type,
  35293 			req->args.vlan_translate_stat_id_get.outer_vlan,
  35294 			req->args.vlan_translate_stat_id_get.inner_vlan,
  35295 			req->args.vlan_translate_stat_id_get.stat,
  35296 			req->args.vlan_translate_stat_id_get.stat_counter_id);
  35297 		break;
  35298 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_MULTI_GET:
  35299 		rv = bcm_vlan_translate_stat_multi_get(
  35300 			req->args.vlan_translate_stat_multi_get.unit,
  35301 			req->args.vlan_translate_stat_multi_get.port,
  35302 			req->args.vlan_translate_stat_multi_get.key_type,
  35303 			req->args.vlan_translate_stat_multi_get.outer_vlan,
  35304 			req->args.vlan_translate_stat_multi_get.inner_vlan,
  35305 			req->args.vlan_translate_stat_multi_get.nstat,
  35306 			req->args.vlan_translate_stat_multi_get.stat_arr,
  35307 			req->args.vlan_translate_stat_multi_get.value_arr);
  35308 		break;
  35309 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_MULTI_GET32:
  35310 		rv = bcm_vlan_translate_stat_multi_get32(
  35311 			req->args.vlan_translate_stat_multi_get32.unit,
  35312 			req->args.vlan_translate_stat_multi_get32.port,
  35313 			req->args.vlan_translate_stat_multi_get32.key_type,
  35314 			req->args.vlan_translate_stat_multi_get32.outer_vlan,
  35315 			req->args.vlan_translate_stat_multi_get32.inner_vlan,
  35316 			req->args.vlan_translate_stat_multi_get32.nstat,
  35317 			req->args.vlan_translate_stat_multi_get32.stat_arr,
  35318 			req->args.vlan_translate_stat_multi_get32.value_arr);
  35319 		break;
  35320 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_MULTI_SET:
  35321 		rv = bcm_vlan_translate_stat_multi_set(
  35322 			req->args.vlan_translate_stat_multi_set.unit,
  35323 			req->args.vlan_translate_stat_multi_set.port,
  35324 			req->args.vlan_translate_stat_multi_set.key_type,
  35325 			req->args.vlan_translate_stat_multi_set.outer_vlan,
  35326 			req->args.vlan_translate_stat_multi_set.inner_vlan,
  35327 			req->args.vlan_translate_stat_multi_set.nstat,
  35328 			req->args.vlan_translate_stat_multi_set.stat_arr,
  35329 			req->args.vlan_translate_stat_multi_set.value_arr);
  35330 		break;
  35331 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_MULTI_SET32:
  35332 		rv = bcm_vlan_translate_stat_multi_set32(
  35333 			req->args.vlan_translate_stat_multi_set32.unit,
  35334 			req->args.vlan_translate_stat_multi_set32.port,
  35335 			req->args.vlan_translate_stat_multi_set32.key_type,
  35336 			req->args.vlan_translate_stat_multi_set32.outer_vlan,
  35337 			req->args.vlan_translate_stat_multi_set32.inner_vlan,
  35338 			req->args.vlan_translate_stat_multi_set32.nstat,
  35339 			req->args.vlan_translate_stat_multi_set32.stat_arr,
  35340 			req->args.vlan_translate_stat_multi_set32.value_arr);
  35341 		break;
  35342 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_SET:
  35343 		rv = bcm_vlan_translate_stat_set(
  35344 			req->args.vlan_translate_stat_set.unit,
  35345 			req->args.vlan_translate_stat_set.port,
  35346 			req->args.vlan_translate_stat_set.key_type,
  35347 			req->args.vlan_translate_stat_set.outer_vlan,
  35348 			req->args.vlan_translate_stat_set.inner_vlan,
  35349 			req->args.vlan_translate_stat_set.stat,
  35350 			req->args.vlan_translate_stat_set.val);
  35351 		break;
  35352 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_SET32:
  35353 		rv = bcm_vlan_translate_stat_set32(
  35354 			req->args.vlan_translate_stat_set32.unit,
  35355 			req->args.vlan_translate_stat_set32.port,
  35356 			req->args.vlan_translate_stat_set32.key_type,
  35357 			req->args.vlan_translate_stat_set32.outer_vlan,
  35358 			req->args.vlan_translate_stat_set32.inner_vlan,
  35359 			req->args.vlan_translate_stat_set32.stat,
  35360 			req->args.vlan_translate_stat_set32.val);
  35361 		break;
  35362 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_SYNC_GET:
  35363 		rv = bcm_vlan_translate_stat_sync_get(
  35364 			req->args.vlan_translate_stat_sync_get.unit,
  35365 			req->args.vlan_translate_stat_sync_get.port,
  35366 			req->args.vlan_translate_stat_sync_get.key_type,
  35367 			req->args.vlan_translate_stat_sync_get.outer_vlan,
  35368 			req->args.vlan_translate_stat_sync_get.inner_vlan,
  35369 			req->args.vlan_translate_stat_sync_get.stat,
  35370 			req->args.vlan_translate_stat_sync_get.val);
  35371 		break;
  35372 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_STAT_SYNC_GET32:
  35373 		rv = bcm_vlan_translate_stat_sync_get32(
  35374 			req->args.vlan_translate_stat_sync_get32.unit,
  35375 			req->args.vlan_translate_stat_sync_get32.port,
  35376 			req->args.vlan_translate_stat_sync_get32.key_type,
  35377 			req->args.vlan_translate_stat_sync_get32.outer_vlan,
  35378 			req->args.vlan_translate_stat_sync_get32.inner_vlan,
  35379 			req->args.vlan_translate_stat_sync_get32.stat,
  35380 			req->args.vlan_translate_stat_sync_get32.val);
  35381 		break;
  35382 	case BCM_ASYNC_ENTRY_VLAN_TRANSLATE_TRAVERSE:
  35383 		rv = bcm_vlan_translate_traverse(
  35384 			req->args.vlan_translate_traverse.unit,
  35385 			req->args.vlan_translate_traverse.cb,
  35386 			req->args.vlan_translate_traverse.user_data);
  35387 		break;
  35388 	case BCM_ASYNC_ENTRY_VLAN_VECTOR_FLAGS_SET:
  35389 		rv = bcm_vlan_vector_flags_set(
  35390 			req->args.vlan_vector_flags_set.unit,
  35391 			req->args.vlan_vector_flags_set.vlan_vector,
  35392 			req->args.vlan_vector_flags_set.flags_mask,
  35393 			req->args.vlan_vector_flags_set.flags_value);
  35394 		break;
  35395 	case BCM_ASYNC_ENTRY_VLAN_VECTOR_STP_SET:
  35396 		rv = bcm_vlan_vector_stp_set(
  35397 			req->args.vlan_vector_stp_set.unit,
  35398 			req->args.vlan_vector_stp_set.vlan_vector,
  35399 			req->args.vlan_vector_stp_set.port,
  35400 			req->args.vlan_vector_stp_set.stp_state);
  35401 		break;
  35402 #ifdef	INCLUDE_L3
  35403 	case BCM_ASYNC_ENTRY_VLAN_VPN_CREATE:
  35404 		rv = bcm_vlan_vpn_create(
  35405 			req->args.vlan_vpn_create.unit,
  35406 			req->args.vlan_vpn_create.info);
  35407 		break;
  35408 	case BCM_ASYNC_ENTRY_VLAN_VPN_DESTROY:
  35409 		rv = bcm_vlan_vpn_destroy(
  35410 			req->args.vlan_vpn_destroy.unit,
  35411 			req->args.vlan_vpn_destroy.vpn);
  35412 		break;
  35413 	case BCM_ASYNC_ENTRY_VLAN_VPN_DESTROY_ALL:
  35414 		rv = bcm_vlan_vpn_destroy_all(
  35415 			req->args.vlan_vpn_destroy_all.unit);
  35416 		break;
  35417 	case BCM_ASYNC_ENTRY_VLAN_VPN_GET:
  35418 		rv = bcm_vlan_vpn_get(
  35419 			req->args.vlan_vpn_get.unit,
  35420 			req->args.vlan_vpn_get.vpn,
  35421 			req->args.vlan_vpn_get.info);
  35422 		break;
  35423 	case BCM_ASYNC_ENTRY_VLAN_VPN_TRAVERSE:
  35424 		rv = bcm_vlan_vpn_traverse(
  35425 			req->args.vlan_vpn_traverse.unit,
  35426 			req->args.vlan_vpn_traverse.cb,
  35427 			req->args.vlan_vpn_traverse.user_data);
  35428 		break;
  35429 #endif	/* INCLUDE_L3 */
  35430 	case BCM_ASYNC_ENTRY_VSWITCH_CREATE:
  35431 		rv = bcm_vswitch_create(
  35432 			req->args.vswitch_create.unit,
  35433 			req->args.vswitch_create.vsi);
  35434 		break;
  35435 	case BCM_ASYNC_ENTRY_VSWITCH_CREATE_WITH_ID:
  35436 		rv = bcm_vswitch_create_with_id(
  35437 			req->args.vswitch_create_with_id.unit,
  35438 			req->args.vswitch_create_with_id.vsi);
  35439 		break;
  35440 	case BCM_ASYNC_ENTRY_VSWITCH_CROSS_CONNECT_ADD:
  35441 		rv = bcm_vswitch_cross_connect_add(
  35442 			req->args.vswitch_cross_connect_add.unit,
  35443 			req->args.vswitch_cross_connect_add.gports);
  35444 		break;
  35445 	case BCM_ASYNC_ENTRY_VSWITCH_CROSS_CONNECT_DELETE:
  35446 		rv = bcm_vswitch_cross_connect_delete(
  35447 			req->args.vswitch_cross_connect_delete.unit,
  35448 			req->args.vswitch_cross_connect_delete.gports);
  35449 		break;
  35450 	case BCM_ASYNC_ENTRY_VSWITCH_CROSS_CONNECT_DELETE_ALL:
  35451 		rv = bcm_vswitch_cross_connect_delete_all(
  35452 			req->args.vswitch_cross_connect_delete_all.unit);
  35453 		break;
  35454 	case BCM_ASYNC_ENTRY_VSWITCH_CROSS_CONNECT_GET:
  35455 		rv = bcm_vswitch_cross_connect_get(
  35456 			req->args.vswitch_cross_connect_get.unit,
  35457 			req->args.vswitch_cross_connect_get.gports);
  35458 		break;
  35459 	case BCM_ASYNC_ENTRY_VSWITCH_CROSS_CONNECT_TRAVERSE:
  35460 		rv = bcm_vswitch_cross_connect_traverse(
  35461 			req->args.vswitch_cross_connect_traverse.unit,
  35462 			req->args.vswitch_cross_connect_traverse.cb,
  35463 			req->args.vswitch_cross_connect_traverse.user_data);
  35464 		break;
  35465 	case BCM_ASYNC_ENTRY_VSWITCH_DESTROY:
  35466 		rv = bcm_vswitch_destroy(
  35467 			req->args.vswitch_destroy.unit,
  35468 			req->args.vswitch_destroy.vsi);
  35469 		break;
  35470 	case BCM_ASYNC_ENTRY_VSWITCH_DESTROY_ALL:
  35471 		rv = bcm_vswitch_destroy_all(
  35472 			req->args.vswitch_destroy_all.unit);
  35473 		break;
  35474 	case BCM_ASYNC_ENTRY_VSWITCH_DETACH:
  35475 		rv = bcm_vswitch_detach(
  35476 			req->args.vswitch_detach.unit);
  35477 		break;
  35478 	case BCM_ASYNC_ENTRY_VSWITCH_FLEXIBLE_CONNECT_ADD:
  35479 		rv = bcm_vswitch_flexible_connect_add(
  35480 			req->args.vswitch_flexible_connect_add.unit,
  35481 			req->args.vswitch_flexible_connect_add.flags,
  35482 			req->args.vswitch_flexible_connect_add.port_match,
  35483 			req->args.vswitch_flexible_connect_add.port_fwd);
  35484 		break;
  35485 	case BCM_ASYNC_ENTRY_VSWITCH_FLEXIBLE_CONNECT_DELETE:
  35486 		rv = bcm_vswitch_flexible_connect_delete(
  35487 			req->args.vswitch_flexible_connect_delete.unit,
  35488 			req->args.vswitch_flexible_connect_delete.port_match);
  35489 		break;
  35490 	case BCM_ASYNC_ENTRY_VSWITCH_FLEXIBLE_CONNECT_GET:
  35491 		rv = bcm_vswitch_flexible_connect_get(
  35492 			req->args.vswitch_flexible_connect_get.unit,
  35493 			req->args.vswitch_flexible_connect_get.flags,
  35494 			req->args.vswitch_flexible_connect_get.port_match,
  35495 			req->args.vswitch_flexible_connect_get.port_fwd);
  35496 		break;
  35497 	case BCM_ASYNC_ENTRY_VSWITCH_INIT:
  35498 		rv = bcm_vswitch_init(
  35499 			req->args.vswitch_init.unit);
  35500 		break;
  35501 	case BCM_ASYNC_ENTRY_VSWITCH_PORT_ADD:
  35502 		rv = bcm_vswitch_port_add(
  35503 			req->args.vswitch_port_add.unit,
  35504 			req->args.vswitch_port_add.vsi,
  35505 			req->args.vswitch_port_add.port);
  35506 		break;
  35507 	case BCM_ASYNC_ENTRY_VSWITCH_PORT_DELETE:
  35508 		rv = bcm_vswitch_port_delete(
  35509 			req->args.vswitch_port_delete.unit,
  35510 			req->args.vswitch_port_delete.vsi,
  35511 			req->args.vswitch_port_delete.port);
  35512 		break;
  35513 	case BCM_ASYNC_ENTRY_VSWITCH_PORT_DELETE_ALL:
  35514 		rv = bcm_vswitch_port_delete_all(
  35515 			req->args.vswitch_port_delete_all.unit,
  35516 			req->args.vswitch_port_delete_all.vsi);
  35517 		break;
  35518 	case BCM_ASYNC_ENTRY_VSWITCH_PORT_GET:
  35519 		rv = bcm_vswitch_port_get(
  35520 			req->args.vswitch_port_get.unit,
  35521 			req->args.vswitch_port_get.port,
  35522 			req->args.vswitch_port_get.vsi);
  35523 		break;
  35524 	case BCM_ASYNC_ENTRY_VSWITCH_PORT_TRAVERSE:
  35525 		rv = bcm_vswitch_port_traverse(
  35526 			req->args.vswitch_port_traverse.unit,
  35527 			req->args.vswitch_port_traverse.vsi,
  35528 			req->args.vswitch_port_traverse.cb,
  35529 			req->args.vswitch_port_traverse.user_data);
  35530 		break;
  35531 #ifdef	INCLUDE_L3
  35532 	case BCM_ASYNC_ENTRY_VXLAN_CLEANUP:
  35533 		rv = bcm_vxlan_cleanup(
  35534 			req->args.vxlan_cleanup.unit);
  35535 		break;
  35536 	case BCM_ASYNC_ENTRY_VXLAN_DIP_STAT_ATTACH:
  35537 		rv = bcm_vxlan_dip_stat_attach(
  35538 			req->args.vxlan_dip_stat_attach.unit,
  35539 			req->args.vxlan_dip_stat_attach.vxlan_dip,
  35540 			req->args.vxlan_dip_stat_attach.stat_counter_id);
  35541 		break;
  35542 	case BCM_ASYNC_ENTRY_VXLAN_DIP_STAT_COUNTER_GET:
  35543 		rv = bcm_vxlan_dip_stat_counter_get(
  35544 			req->args.vxlan_dip_stat_counter_get.unit,
  35545 			req->args.vxlan_dip_stat_counter_get.vxlan_dip,
  35546 			req->args.vxlan_dip_stat_counter_get.stat,
  35547 			req->args.vxlan_dip_stat_counter_get.num_entries,
  35548 			req->args.vxlan_dip_stat_counter_get.counter_indexes,
  35549 			req->args.vxlan_dip_stat_counter_get.counter_values);
  35550 		break;
  35551 	case BCM_ASYNC_ENTRY_VXLAN_DIP_STAT_COUNTER_SET:
  35552 		rv = bcm_vxlan_dip_stat_counter_set(
  35553 			req->args.vxlan_dip_stat_counter_set.unit,
  35554 			req->args.vxlan_dip_stat_counter_set.vxlan_dip,
  35555 			req->args.vxlan_dip_stat_counter_set.stat,
  35556 			req->args.vxlan_dip_stat_counter_set.num_entries,
  35557 			req->args.vxlan_dip_stat_counter_set.counter_indexes,
  35558 			req->args.vxlan_dip_stat_counter_set.counter_values);
  35559 		break;
  35560 	case BCM_ASYNC_ENTRY_VXLAN_DIP_STAT_DETACH:
  35561 		rv = bcm_vxlan_dip_stat_detach(
  35562 			req->args.vxlan_dip_stat_detach.unit,
  35563 			req->args.vxlan_dip_stat_detach.vxlan_dip);
  35564 		break;
  35565 	case BCM_ASYNC_ENTRY_VXLAN_DIP_STAT_ID_GET:
  35566 		rv = bcm_vxlan_dip_stat_id_get(
  35567 			req->args.vxlan_dip_stat_id_get.unit,
  35568 			req->args.vxlan_dip_stat_id_get.vxlan_dip,
  35569 			req->args.vxlan_dip_stat_id_get.stat,
  35570 			req->args.vxlan_dip_stat_id_get.stat_counter_id);
  35571 		break;
  35572 	case BCM_ASYNC_ENTRY_VXLAN_DIP_STAT_MULTI_GET:
  35573 		rv = bcm_vxlan_dip_stat_multi_get(
  35574 			req->args.vxlan_dip_stat_multi_get.unit,
  35575 			req->args.vxlan_dip_stat_multi_get.vxlan_dip,
  35576 			req->args.vxlan_dip_stat_multi_get.nstat,
  35577 			req->args.vxlan_dip_stat_multi_get.stat_arr,
  35578 			req->args.vxlan_dip_stat_multi_get.value_arr);
  35579 		break;
  35580 	case BCM_ASYNC_ENTRY_VXLAN_DIP_STAT_MULTI_GET32:
  35581 		rv = bcm_vxlan_dip_stat_multi_get32(
  35582 			req->args.vxlan_dip_stat_multi_get32.unit,
  35583 			req->args.vxlan_dip_stat_multi_get32.vxlan_dip,
  35584 			req->args.vxlan_dip_stat_multi_get32.nstat,
  35585 			req->args.vxlan_dip_stat_multi_get32.stat_arr,
  35586 			req->args.vxlan_dip_stat_multi_get32.value_arr);
  35587 		break;
  35588 	case BCM_ASYNC_ENTRY_VXLAN_DIP_STAT_MULTI_SET:
  35589 		rv = bcm_vxlan_dip_stat_multi_set(
  35590 			req->args.vxlan_dip_stat_multi_set.unit,
  35591 			req->args.vxlan_dip_stat_multi_set.vxlan_dip,
  35592 			req->args.vxlan_dip_stat_multi_set.nstat,
  35593 			req->args.vxlan_dip_stat_multi_set.stat_arr,
  35594 			req->args.vxlan_dip_stat_multi_set.value_arr);
  35595 		break;
  35596 	case BCM_ASYNC_ENTRY_VXLAN_DIP_STAT_MULTI_SET32:
  35597 		rv = bcm_vxlan_dip_stat_multi_set32(
  35598 			req->args.vxlan_dip_stat_multi_set32.unit,
  35599 			req->args.vxlan_dip_stat_multi_set32.vxlan_dip,
  35600 			req->args.vxlan_dip_stat_multi_set32.nstat,
  35601 			req->args.vxlan_dip_stat_multi_set32.stat_arr,
  35602 			req->args.vxlan_dip_stat_multi_set32.value_arr);
  35603 		break;
  35604 	case BCM_ASYNC_ENTRY_VXLAN_INIT:
  35605 		rv = bcm_vxlan_init(
  35606 			req->args.vxlan_init.unit);
  35607 		break;
  35608 	case BCM_ASYNC_ENTRY_VXLAN_NETWORK_DOMAIN_CONFIG_ADD:
  35609 		rv = bcm_vxlan_network_domain_config_add(
  35610 			req->args.vxlan_network_domain_config_add.unit,
  35611 			req->args.vxlan_network_domain_config_add.config);
  35612 		break;
  35613 	case BCM_ASYNC_ENTRY_VXLAN_NETWORK_DOMAIN_CONFIG_GET:
  35614 		rv = bcm_vxlan_network_domain_config_get(
  35615 			req->args.vxlan_network_domain_config_get.unit,
  35616 			req->args.vxlan_network_domain_config_get.config);
  35617 		break;
  35618 	case BCM_ASYNC_ENTRY_VXLAN_NETWORK_DOMAIN_CONFIG_REMOVE:
  35619 		rv = bcm_vxlan_network_domain_config_remove(
  35620 			req->args.vxlan_network_domain_config_remove.unit,
  35621 			req->args.vxlan_network_domain_config_remove.config);
  35622 		break;
  35623 	case BCM_ASYNC_ENTRY_VXLAN_NETWORK_DOMAIN_CONFIG_TRAVERSE:
  35624 		rv = bcm_vxlan_network_domain_config_traverse(
  35625 			req->args.vxlan_network_domain_config_traverse.unit,
  35626 			req->args.vxlan_network_domain_config_traverse.additional_info,
  35627 			req->args.vxlan_network_domain_config_traverse.cb,
  35628 			req->args.vxlan_network_domain_config_traverse.user_data);
  35629 		break;
  35630 	case BCM_ASYNC_ENTRY_VXLAN_PORT_ADD:
  35631 		rv = bcm_vxlan_port_add(
  35632 			req->args.vxlan_port_add.unit,
  35633 			req->args.vxlan_port_add.l2vpn,
  35634 			req->args.vxlan_port_add.vxlan_port);
  35635 		break;
  35636 	case BCM_ASYNC_ENTRY_VXLAN_PORT_DELETE:
  35637 		rv = bcm_vxlan_port_delete(
  35638 			req->args.vxlan_port_delete.unit,
  35639 			req->args.vxlan_port_delete.l2vpn,
  35640 			req->args.vxlan_port_delete.vxlan_port_id);
  35641 		break;
  35642 	case BCM_ASYNC_ENTRY_VXLAN_PORT_DELETE_ALL:
  35643 		rv = bcm_vxlan_port_delete_all(
  35644 			req->args.vxlan_port_delete_all.unit,
  35645 			req->args.vxlan_port_delete_all.l2vpn);
  35646 		break;
  35647 	case BCM_ASYNC_ENTRY_VXLAN_PORT_GET:
  35648 		rv = bcm_vxlan_port_get(
  35649 			req->args.vxlan_port_get.unit,
  35650 			req->args.vxlan_port_get.l2vpn,
  35651 			req->args.vxlan_port_get.vxlan_port);
  35652 		break;
  35653 	case BCM_ASYNC_ENTRY_VXLAN_PORT_GET_ALL:
  35654 		rv = bcm_vxlan_port_get_all(
  35655 			req->args.vxlan_port_get_all.unit,
  35656 			req->args.vxlan_port_get_all.l2vpn,
  35657 			req->args.vxlan_port_get_all.port_max,
  35658 			req->args.vxlan_port_get_all.port_array,
  35659 			req->args.vxlan_port_get_all.port_count);
  35660 		break;
  35661 	case BCM_ASYNC_ENTRY_VXLAN_PORT_TRAVERSE:
  35662 		rv = bcm_vxlan_port_traverse(
  35663 			req->args.vxlan_port_traverse.unit,
  35664 			req->args.vxlan_port_traverse.cb,
  35665 			req->args.vxlan_port_traverse.user_data);
  35666 		break;
  35667 	case BCM_ASYNC_ENTRY_VXLAN_STAT_ATTACH:
  35668 		rv = bcm_vxlan_stat_attach(
  35669 			req->args.vxlan_stat_attach.unit,
  35670 			req->args.vxlan_stat_attach.port,
  35671 			req->args.vxlan_stat_attach.vpn,
  35672 			req->args.vxlan_stat_attach.stat_counter_id);
  35673 		break;
  35674 	case BCM_ASYNC_ENTRY_VXLAN_STAT_COUNTER_GET:
  35675 		rv = bcm_vxlan_stat_counter_get(
  35676 			req->args.vxlan_stat_counter_get.unit,
  35677 			req->args.vxlan_stat_counter_get.port,
  35678 			req->args.vxlan_stat_counter_get.vpn,
  35679 			req->args.vxlan_stat_counter_get.stat,
  35680 			req->args.vxlan_stat_counter_get.num_entries,
  35681 			req->args.vxlan_stat_counter_get.counter_indexes,
  35682 			req->args.vxlan_stat_counter_get.counter_values);
  35683 		break;
  35684 	case BCM_ASYNC_ENTRY_VXLAN_STAT_COUNTER_SET:
  35685 		rv = bcm_vxlan_stat_counter_set(
  35686 			req->args.vxlan_stat_counter_set.unit,
  35687 			req->args.vxlan_stat_counter_set.port,
  35688 			req->args.vxlan_stat_counter_set.vpn,
  35689 			req->args.vxlan_stat_counter_set.stat,
  35690 			req->args.vxlan_stat_counter_set.num_entries,
  35691 			req->args.vxlan_stat_counter_set.counter_indexes,
  35692 			req->args.vxlan_stat_counter_set.counter_values);
  35693 		break;
  35694 	case BCM_ASYNC_ENTRY_VXLAN_STAT_COUNTER_SYNC_GET:
  35695 		rv = bcm_vxlan_stat_counter_sync_get(
  35696 			req->args.vxlan_stat_counter_sync_get.unit,
  35697 			req->args.vxlan_stat_counter_sync_get.port,
  35698 			req->args.vxlan_stat_counter_sync_get.vpn,
  35699 			req->args.vxlan_stat_counter_sync_get.stat,
  35700 			req->args.vxlan_stat_counter_sync_get.num_entries,
  35701 			req->args.vxlan_stat_counter_sync_get.counter_indexes,
  35702 			req->args.vxlan_stat_counter_sync_get.counter_values);
  35703 		break;
  35704 	case BCM_ASYNC_ENTRY_VXLAN_STAT_DETACH:
  35705 		rv = bcm_vxlan_stat_detach(
  35706 			req->args.vxlan_stat_detach.unit,
  35707 			req->args.vxlan_stat_detach.port,
  35708 			req->args.vxlan_stat_detach.vpn);
  35709 		break;
  35710 	case BCM_ASYNC_ENTRY_VXLAN_STAT_ENABLE_SET:
  35711 		rv = bcm_vxlan_stat_enable_set(
  35712 			req->args.vxlan_stat_enable_set.unit,
  35713 			req->args.vxlan_stat_enable_set.port,
  35714 			req->args.vxlan_stat_enable_set.vpn,
  35715 			req->args.vxlan_stat_enable_set.enable);
  35716 		break;
  35717 	case BCM_ASYNC_ENTRY_VXLAN_STAT_ID_GET:
  35718 		rv = bcm_vxlan_stat_id_get(
  35719 			req->args.vxlan_stat_id_get.unit,
  35720 			req->args.vxlan_stat_id_get.port,
  35721 			req->args.vxlan_stat_id_get.vpn,
  35722 			req->args.vxlan_stat_id_get.stat,
  35723 			req->args.vxlan_stat_id_get.stat_counter_id);
  35724 		break;
  35725 	case BCM_ASYNC_ENTRY_VXLAN_STAT_MULTI_GET:
  35726 		rv = bcm_vxlan_stat_multi_get(
  35727 			req->args.vxlan_stat_multi_get.unit,
  35728 			req->args.vxlan_stat_multi_get.port,
  35729 			req->args.vxlan_stat_multi_get.vpn,
  35730 			req->args.vxlan_stat_multi_get.nstat,
  35731 			req->args.vxlan_stat_multi_get.stat_arr,
  35732 			req->args.vxlan_stat_multi_get.value_arr);
  35733 		break;
  35734 	case BCM_ASYNC_ENTRY_VXLAN_STAT_MULTI_GET32:
  35735 		rv = bcm_vxlan_stat_multi_get32(
  35736 			req->args.vxlan_stat_multi_get32.unit,
  35737 			req->args.vxlan_stat_multi_get32.port,
  35738 			req->args.vxlan_stat_multi_get32.vpn,
  35739 			req->args.vxlan_stat_multi_get32.nstat,
  35740 			req->args.vxlan_stat_multi_get32.stat_arr,
  35741 			req->args.vxlan_stat_multi_get32.value_arr);
  35742 		break;
  35743 	case BCM_ASYNC_ENTRY_VXLAN_STAT_MULTI_SET:
  35744 		rv = bcm_vxlan_stat_multi_set(
  35745 			req->args.vxlan_stat_multi_set.unit,
  35746 			req->args.vxlan_stat_multi_set.port,
  35747 			req->args.vxlan_stat_multi_set.vpn,
  35748 			req->args.vxlan_stat_multi_set.nstat,
  35749 			req->args.vxlan_stat_multi_set.stat_arr,
  35750 			req->args.vxlan_stat_multi_set.value_arr);
  35751 		break;
  35752 	case BCM_ASYNC_ENTRY_VXLAN_STAT_MULTI_SET32:
  35753 		rv = bcm_vxlan_stat_multi_set32(
  35754 			req->args.vxlan_stat_multi_set32.unit,
  35755 			req->args.vxlan_stat_multi_set32.port,
  35756 			req->args.vxlan_stat_multi_set32.vpn,
  35757 			req->args.vxlan_stat_multi_set32.nstat,
  35758 			req->args.vxlan_stat_multi_set32.stat_arr,
  35759 			req->args.vxlan_stat_multi_set32.value_arr);
  35760 		break;
  35761 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_INITIATOR_CREATE:
  35762 		rv = bcm_vxlan_tunnel_initiator_create(
  35763 			req->args.vxlan_tunnel_initiator_create.unit,
  35764 			req->args.vxlan_tunnel_initiator_create.info);
  35765 		break;
  35766 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_INITIATOR_DESTROY:
  35767 		rv = bcm_vxlan_tunnel_initiator_destroy(
  35768 			req->args.vxlan_tunnel_initiator_destroy.unit,
  35769 			req->args.vxlan_tunnel_initiator_destroy.vxlan_tunnel_id);
  35770 		break;
  35771 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_INITIATOR_DESTROY_ALL:
  35772 		rv = bcm_vxlan_tunnel_initiator_destroy_all(
  35773 			req->args.vxlan_tunnel_initiator_destroy_all.unit);
  35774 		break;
  35775 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_INITIATOR_GET:
  35776 		rv = bcm_vxlan_tunnel_initiator_get(
  35777 			req->args.vxlan_tunnel_initiator_get.unit,
  35778 			req->args.vxlan_tunnel_initiator_get.info);
  35779 		break;
  35780 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_INITIATOR_TRAVERSE:
  35781 		rv = bcm_vxlan_tunnel_initiator_traverse(
  35782 			req->args.vxlan_tunnel_initiator_traverse.unit,
  35783 			req->args.vxlan_tunnel_initiator_traverse.cb,
  35784 			req->args.vxlan_tunnel_initiator_traverse.user_data);
  35785 		break;
  35786 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_TERMINATOR_CREATE:
  35787 		rv = bcm_vxlan_tunnel_terminator_create(
  35788 			req->args.vxlan_tunnel_terminator_create.unit,
  35789 			req->args.vxlan_tunnel_terminator_create.info);
  35790 		break;
  35791 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_TERMINATOR_DESTROY:
  35792 		rv = bcm_vxlan_tunnel_terminator_destroy(
  35793 			req->args.vxlan_tunnel_terminator_destroy.unit,
  35794 			req->args.vxlan_tunnel_terminator_destroy.vxlan_tunnel_id);
  35795 		break;
  35796 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_TERMINATOR_DESTROY_ALL:
  35797 		rv = bcm_vxlan_tunnel_terminator_destroy_all(
  35798 			req->args.vxlan_tunnel_terminator_destroy_all.unit);
  35799 		break;
  35800 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_TERMINATOR_GET:
  35801 		rv = bcm_vxlan_tunnel_terminator_get(
  35802 			req->args.vxlan_tunnel_terminator_get.unit,
  35803 			req->args.vxlan_tunnel_terminator_get.info);
  35804 		break;
  35805 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_TERMINATOR_TRAVERSE:
  35806 		rv = bcm_vxlan_tunnel_terminator_traverse(
  35807 			req->args.vxlan_tunnel_terminator_traverse.unit,
  35808 			req->args.vxlan_tunnel_terminator_traverse.cb,
  35809 			req->args.vxlan_tunnel_terminator_traverse.user_data);
  35810 		break;
  35811 	case BCM_ASYNC_ENTRY_VXLAN_TUNNEL_TERMINATOR_UPDATE:
  35812 		rv = bcm_vxlan_tunnel_terminator_update(
  35813 			req->args.vxlan_tunnel_terminator_update.unit,
  35814 			req->args.vxlan_tunnel_terminator_update.info);
  35815 		break;
  35816 	case BCM_ASYNC_ENTRY_VXLAN_VPN_CREATE:
  35817 		rv = bcm_vxlan_vpn_create(
  35818 			req->args.vxlan_vpn_create.unit,
  35819 			req->args.vxlan_vpn_create.info);
  35820 		break;
  35821 	case BCM_ASYNC_ENTRY_VXLAN_VPN_DESTROY:
  35822 		rv = bcm_vxlan_vpn_destroy(
  35823 			req->args.vxlan_vpn_destroy.unit,
  35824 			req->args.vxlan_vpn_destroy.l2vpn);
  35825 		break;
  35826 	case BCM_ASYNC_ENTRY_VXLAN_VPN_DESTROY_ALL:
  35827 		rv = bcm_vxlan_vpn_destroy_all(
  35828 			req->args.vxlan_vpn_destroy_all.unit);
  35829 		break;
  35830 	case BCM_ASYNC_ENTRY_VXLAN_VPN_GET:
  35831 		rv = bcm_vxlan_vpn_get(
  35832 			req->args.vxlan_vpn_get.unit,
  35833 			req->args.vxlan_vpn_get.l2vpn,
  35834 			req->args.vxlan_vpn_get.info);
  35835 		break;
  35836 	case BCM_ASYNC_ENTRY_VXLAN_VPN_TRAVERSE:
  35837 		rv = bcm_vxlan_vpn_traverse(
  35838 			req->args.vxlan_vpn_traverse.unit,
  35839 			req->args.vxlan_vpn_traverse.cb,
  35840 			req->args.vxlan_vpn_traverse.user_data);
  35841 		break;
  35842 	case BCM_ASYNC_ENTRY_WLAN_CLIENT_ADD:
  35843 		rv = bcm_wlan_client_add(
  35844 			req->args.wlan_client_add.unit,
  35845 			req->args.wlan_client_add.info);
  35846 		break;
  35847 	case BCM_ASYNC_ENTRY_WLAN_CLIENT_DELETE:
  35848 		rv = bcm_wlan_client_delete(
  35849 			req->args.wlan_client_delete.unit,
  35850 			req->args.wlan_client_delete.mac);
  35851 		break;
  35852 	case BCM_ASYNC_ENTRY_WLAN_CLIENT_DELETE_ALL:
  35853 		rv = bcm_wlan_client_delete_all(
  35854 			req->args.wlan_client_delete_all.unit);
  35855 		break;
  35856 	case BCM_ASYNC_ENTRY_WLAN_CLIENT_GET:
  35857 		rv = bcm_wlan_client_get(
  35858 			req->args.wlan_client_get.unit,
  35859 			req->args.wlan_client_get.mac,
  35860 			req->args.wlan_client_get.info);
  35861 		break;
  35862 	case BCM_ASYNC_ENTRY_WLAN_CLIENT_TRAVERSE:
  35863 		rv = bcm_wlan_client_traverse(
  35864 			req->args.wlan_client_traverse.unit,
  35865 			req->args.wlan_client_traverse.cb,
  35866 			req->args.wlan_client_traverse.user_data);
  35867 		break;
  35868 	case BCM_ASYNC_ENTRY_WLAN_DETACH:
  35869 		rv = bcm_wlan_detach(
  35870 			req->args.wlan_detach.unit);
  35871 		break;
  35872 	case BCM_ASYNC_ENTRY_WLAN_INIT:
  35873 		rv = bcm_wlan_init(
  35874 			req->args.wlan_init.unit);
  35875 		break;
  35876 	case BCM_ASYNC_ENTRY_WLAN_PORT_ADD:
  35877 		rv = bcm_wlan_port_add(
  35878 			req->args.wlan_port_add.unit,
  35879 			req->args.wlan_port_add.info);
  35880 		break;
  35881 	case BCM_ASYNC_ENTRY_WLAN_PORT_DELETE:
  35882 		rv = bcm_wlan_port_delete(
  35883 			req->args.wlan_port_delete.unit,
  35884 			req->args.wlan_port_delete.wlan_port_id);
  35885 		break;
  35886 	case BCM_ASYNC_ENTRY_WLAN_PORT_DELETE_ALL:
  35887 		rv = bcm_wlan_port_delete_all(
  35888 			req->args.wlan_port_delete_all.unit);
  35889 		break;
  35890 	case BCM_ASYNC_ENTRY_WLAN_PORT_GET:
  35891 		rv = bcm_wlan_port_get(
  35892 			req->args.wlan_port_get.unit,
  35893 			req->args.wlan_port_get.wlan_port_id,
  35894 			req->args.wlan_port_get.info);
  35895 		break;
  35896 	case BCM_ASYNC_ENTRY_WLAN_PORT_TRAVERSE:
  35897 		rv = bcm_wlan_port_traverse(
  35898 			req->args.wlan_port_traverse.unit,
  35899 			req->args.wlan_port_traverse.cb,
  35900 			req->args.wlan_port_traverse.user_data);
  35901 		break;
  35902 	case BCM_ASYNC_ENTRY_WLAN_TUNNEL_INITIATOR_CREATE:
  35903 		rv = bcm_wlan_tunnel_initiator_create(
  35904 			req->args.wlan_tunnel_initiator_create.unit,
  35905 			req->args.wlan_tunnel_initiator_create.info);
  35906 		break;
  35907 	case BCM_ASYNC_ENTRY_WLAN_TUNNEL_INITIATOR_DESTROY:
  35908 		rv = bcm_wlan_tunnel_initiator_destroy(
  35909 			req->args.wlan_tunnel_initiator_destroy.unit,
  35910 			req->args.wlan_tunnel_initiator_destroy.wlan_tunnel_id);
  35911 		break;
  35912 	case BCM_ASYNC_ENTRY_WLAN_TUNNEL_INITIATOR_GET:
  35913 		rv = bcm_wlan_tunnel_initiator_get(
  35914 			req->args.wlan_tunnel_initiator_get.unit,
  35915 			req->args.wlan_tunnel_initiator_get.info);
  35916 		break;
  35917 #endif	/* INCLUDE_L3 */
  35918 #ifdef	INCLUDE_XFLOW_MACSEC
  35919 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_CONTROL_GET:
  35920 		rv = bcm_xflow_macsec_control_get(
  35921 			req->args.xflow_macsec_control_get.unit,
  35922 			req->args.xflow_macsec_control_get.flags,
  35923 			req->args.xflow_macsec_control_get.instance_id,
  35924 			req->args.xflow_macsec_control_get.type,
  35925 			req->args.xflow_macsec_control_get.value);
  35926 		break;
  35927 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_CONTROL_SET:
  35928 		rv = bcm_xflow_macsec_control_set(
  35929 			req->args.xflow_macsec_control_set.unit,
  35930 			req->args.xflow_macsec_control_set.flags,
  35931 			req->args.xflow_macsec_control_set.instance_id,
  35932 			req->args.xflow_macsec_control_set.type,
  35933 			req->args.xflow_macsec_control_set.value);
  35934 		break;
  35935 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_FLOW_CREATE:
  35936 		rv = bcm_xflow_macsec_decrypt_flow_create(
  35937 			req->args.xflow_macsec_decrypt_flow_create.unit,
  35938 			req->args.xflow_macsec_decrypt_flow_create.flags,
  35939 			req->args.xflow_macsec_decrypt_flow_create.instance_id,
  35940 			req->args.xflow_macsec_decrypt_flow_create.flow_info,
  35941 			req->args.xflow_macsec_decrypt_flow_create.priority,
  35942 			req->args.xflow_macsec_decrypt_flow_create.flow_id);
  35943 		break;
  35944 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_FLOW_DESTROY:
  35945 		rv = bcm_xflow_macsec_decrypt_flow_destroy(
  35946 			req->args.xflow_macsec_decrypt_flow_destroy.unit,
  35947 			req->args.xflow_macsec_decrypt_flow_destroy.flow_id);
  35948 		break;
  35949 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_FLOW_ENABLE_GET:
  35950 		rv = bcm_xflow_macsec_decrypt_flow_enable_get(
  35951 			req->args.xflow_macsec_decrypt_flow_enable_get.unit,
  35952 			req->args.xflow_macsec_decrypt_flow_enable_get.flow_id,
  35953 			req->args.xflow_macsec_decrypt_flow_enable_get.enable);
  35954 		break;
  35955 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_FLOW_ENABLE_SET:
  35956 		rv = bcm_xflow_macsec_decrypt_flow_enable_set(
  35957 			req->args.xflow_macsec_decrypt_flow_enable_set.unit,
  35958 			req->args.xflow_macsec_decrypt_flow_enable_set.flow_id,
  35959 			req->args.xflow_macsec_decrypt_flow_enable_set.enable);
  35960 		break;
  35961 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_FLOW_GET:
  35962 		rv = bcm_xflow_macsec_decrypt_flow_get(
  35963 			req->args.xflow_macsec_decrypt_flow_get.unit,
  35964 			req->args.xflow_macsec_decrypt_flow_get.flow_id,
  35965 			req->args.xflow_macsec_decrypt_flow_get.flow_info,
  35966 			req->args.xflow_macsec_decrypt_flow_get.priority);
  35967 		break;
  35968 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_FLOW_SET:
  35969 		rv = bcm_xflow_macsec_decrypt_flow_set(
  35970 			req->args.xflow_macsec_decrypt_flow_set.unit,
  35971 			req->args.xflow_macsec_decrypt_flow_set.flow_id,
  35972 			req->args.xflow_macsec_decrypt_flow_set.flow_info,
  35973 			req->args.xflow_macsec_decrypt_flow_set.priority);
  35974 		break;
  35975 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_POLICY_CREATE:
  35976 		rv = bcm_xflow_macsec_decrypt_policy_create(
  35977 			req->args.xflow_macsec_decrypt_policy_create.unit,
  35978 			req->args.xflow_macsec_decrypt_policy_create.flags,
  35979 			req->args.xflow_macsec_decrypt_policy_create.instance_id,
  35980 			req->args.xflow_macsec_decrypt_policy_create.policy_info,
  35981 			req->args.xflow_macsec_decrypt_policy_create.policy_id);
  35982 		break;
  35983 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_POLICY_DESTROY:
  35984 		rv = bcm_xflow_macsec_decrypt_policy_destroy(
  35985 			req->args.xflow_macsec_decrypt_policy_destroy.unit,
  35986 			req->args.xflow_macsec_decrypt_policy_destroy.policy_id);
  35987 		break;
  35988 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_POLICY_GET:
  35989 		rv = bcm_xflow_macsec_decrypt_policy_get(
  35990 			req->args.xflow_macsec_decrypt_policy_get.unit,
  35991 			req->args.xflow_macsec_decrypt_policy_get.policy_id,
  35992 			req->args.xflow_macsec_decrypt_policy_get.policy_info);
  35993 		break;
  35994 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_DECRYPT_POLICY_SET:
  35995 		rv = bcm_xflow_macsec_decrypt_policy_set(
  35996 			req->args.xflow_macsec_decrypt_policy_set.unit,
  35997 			req->args.xflow_macsec_decrypt_policy_set.policy_id,
  35998 			req->args.xflow_macsec_decrypt_policy_set.policy_info);
  35999 		break;
  36000 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_EVENT_DEREGISTER:
  36001 		rv = bcm_xflow_macsec_event_deregister(
  36002 			req->args.xflow_macsec_event_deregister.unit,
  36003 			req->args.xflow_macsec_event_deregister.cb);
  36004 		break;
  36005 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_EVENT_REGISTER:
  36006 		rv = bcm_xflow_macsec_event_register(
  36007 			req->args.xflow_macsec_event_register.unit,
  36008 			req->args.xflow_macsec_event_register.cb,
  36009 			req->args.xflow_macsec_event_register.user_data);
  36010 		break;
  36011 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_MAC_ADDR_CONTROL_GET:
  36012 		rv = bcm_xflow_macsec_mac_addr_control_get(
  36013 			req->args.xflow_macsec_mac_addr_control_get.unit,
  36014 			req->args.xflow_macsec_mac_addr_control_get.flags,
  36015 			req->args.xflow_macsec_mac_addr_control_get.instance_id,
  36016 			req->args.xflow_macsec_mac_addr_control_get.control_type,
  36017 			req->args.xflow_macsec_mac_addr_control_get.control_info);
  36018 		break;
  36019 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_MAC_ADDR_CONTROL_SET:
  36020 		rv = bcm_xflow_macsec_mac_addr_control_set(
  36021 			req->args.xflow_macsec_mac_addr_control_set.unit,
  36022 			req->args.xflow_macsec_mac_addr_control_set.flags,
  36023 			req->args.xflow_macsec_mac_addr_control_set.instance_id,
  36024 			req->args.xflow_macsec_mac_addr_control_set.control_type,
  36025 			req->args.xflow_macsec_mac_addr_control_set.control_info);
  36026 		break;
  36027 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_MTU_GET:
  36028 		rv = bcm_xflow_macsec_mtu_get(
  36029 			req->args.xflow_macsec_mtu_get.unit,
  36030 			req->args.xflow_macsec_mtu_get.flags,
  36031 			req->args.xflow_macsec_mtu_get.instance_id,
  36032 			req->args.xflow_macsec_mtu_get.mtu_sel,
  36033 			req->args.xflow_macsec_mtu_get.mtu);
  36034 		break;
  36035 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_MTU_SET:
  36036 		rv = bcm_xflow_macsec_mtu_set(
  36037 			req->args.xflow_macsec_mtu_set.unit,
  36038 			req->args.xflow_macsec_mtu_set.flags,
  36039 			req->args.xflow_macsec_mtu_set.instance_id,
  36040 			req->args.xflow_macsec_mtu_set.mtu,
  36041 			req->args.xflow_macsec_mtu_set.mtu_sel);
  36042 		break;
  36043 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECTAG_ETYPE_GET:
  36044 		rv = bcm_xflow_macsec_sectag_etype_get(
  36045 			req->args.xflow_macsec_sectag_etype_get.unit,
  36046 			req->args.xflow_macsec_sectag_etype_get.instance_id,
  36047 			req->args.xflow_macsec_sectag_etype_get.sectag_etype_sel,
  36048 			req->args.xflow_macsec_sectag_etype_get.sectag_etype);
  36049 		break;
  36050 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECTAG_ETYPE_SET:
  36051 		rv = bcm_xflow_macsec_sectag_etype_set(
  36052 			req->args.xflow_macsec_sectag_etype_set.unit,
  36053 			req->args.xflow_macsec_sectag_etype_set.flags,
  36054 			req->args.xflow_macsec_sectag_etype_set.instance_id,
  36055 			req->args.xflow_macsec_sectag_etype_set.sectag_etype,
  36056 			req->args.xflow_macsec_sectag_etype_set.sectag_etype_sel);
  36057 		break;
  36058 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_ASSOC_CREATE:
  36059 		rv = bcm_xflow_macsec_secure_assoc_create(
  36060 			req->args.xflow_macsec_secure_assoc_create.unit,
  36061 			req->args.xflow_macsec_secure_assoc_create.flags,
  36062 			req->args.xflow_macsec_secure_assoc_create.chan_id,
  36063 			req->args.xflow_macsec_secure_assoc_create.assoc_info,
  36064 			req->args.xflow_macsec_secure_assoc_create.assoc_id);
  36065 		break;
  36066 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_ASSOC_DESTROY:
  36067 		rv = bcm_xflow_macsec_secure_assoc_destroy(
  36068 			req->args.xflow_macsec_secure_assoc_destroy.unit,
  36069 			req->args.xflow_macsec_secure_assoc_destroy.assoc_id);
  36070 		break;
  36071 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_ASSOC_GET:
  36072 		rv = bcm_xflow_macsec_secure_assoc_get(
  36073 			req->args.xflow_macsec_secure_assoc_get.unit,
  36074 			req->args.xflow_macsec_secure_assoc_get.assoc_id,
  36075 			req->args.xflow_macsec_secure_assoc_get.assoc_info,
  36076 			req->args.xflow_macsec_secure_assoc_get.chan_id);
  36077 		break;
  36078 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_ASSOC_SET:
  36079 		rv = bcm_xflow_macsec_secure_assoc_set(
  36080 			req->args.xflow_macsec_secure_assoc_set.unit,
  36081 			req->args.xflow_macsec_secure_assoc_set.assoc_id,
  36082 			req->args.xflow_macsec_secure_assoc_set.assoc_info);
  36083 		break;
  36084 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_ASSOC_TRAVERSE:
  36085 		rv = bcm_xflow_macsec_secure_assoc_traverse(
  36086 			req->args.xflow_macsec_secure_assoc_traverse.unit,
  36087 			req->args.xflow_macsec_secure_assoc_traverse.chan_id,
  36088 			req->args.xflow_macsec_secure_assoc_traverse.callback,
  36089 			req->args.xflow_macsec_secure_assoc_traverse.user_data);
  36090 		break;
  36091 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_CHAN_CREATE:
  36092 		rv = bcm_xflow_macsec_secure_chan_create(
  36093 			req->args.xflow_macsec_secure_chan_create.unit,
  36094 			req->args.xflow_macsec_secure_chan_create.flags,
  36095 			req->args.xflow_macsec_secure_chan_create.instance_id,
  36096 			req->args.xflow_macsec_secure_chan_create.chan_info,
  36097 			req->args.xflow_macsec_secure_chan_create.priority,
  36098 			req->args.xflow_macsec_secure_chan_create.chan_id);
  36099 		break;
  36100 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_CHAN_DESTROY:
  36101 		rv = bcm_xflow_macsec_secure_chan_destroy(
  36102 			req->args.xflow_macsec_secure_chan_destroy.unit,
  36103 			req->args.xflow_macsec_secure_chan_destroy.chan_id);
  36104 		break;
  36105 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_CHAN_ENABLE_GET:
  36106 		rv = bcm_xflow_macsec_secure_chan_enable_get(
  36107 			req->args.xflow_macsec_secure_chan_enable_get.unit,
  36108 			req->args.xflow_macsec_secure_chan_enable_get.chan_id,
  36109 			req->args.xflow_macsec_secure_chan_enable_get.enable);
  36110 		break;
  36111 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_CHAN_ENABLE_SET:
  36112 		rv = bcm_xflow_macsec_secure_chan_enable_set(
  36113 			req->args.xflow_macsec_secure_chan_enable_set.unit,
  36114 			req->args.xflow_macsec_secure_chan_enable_set.chan_id,
  36115 			req->args.xflow_macsec_secure_chan_enable_set.enable);
  36116 		break;
  36117 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_CHAN_GET:
  36118 		rv = bcm_xflow_macsec_secure_chan_get(
  36119 			req->args.xflow_macsec_secure_chan_get.unit,
  36120 			req->args.xflow_macsec_secure_chan_get.chan_id,
  36121 			req->args.xflow_macsec_secure_chan_get.chan_info,
  36122 			req->args.xflow_macsec_secure_chan_get.priority);
  36123 		break;
  36124 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_CHAN_INFO_TRAVERSE:
  36125 		rv = bcm_xflow_macsec_secure_chan_info_traverse(
  36126 			req->args.xflow_macsec_secure_chan_info_traverse.unit,
  36127 			req->args.xflow_macsec_secure_chan_info_traverse.flags,
  36128 			req->args.xflow_macsec_secure_chan_info_traverse.instance_id,
  36129 			req->args.xflow_macsec_secure_chan_info_traverse.callback,
  36130 			req->args.xflow_macsec_secure_chan_info_traverse.user_data);
  36131 		break;
  36132 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SECURE_CHAN_SET:
  36133 		rv = bcm_xflow_macsec_secure_chan_set(
  36134 			req->args.xflow_macsec_secure_chan_set.unit,
  36135 			req->args.xflow_macsec_secure_chan_set.flags,
  36136 			req->args.xflow_macsec_secure_chan_set.chan_id,
  36137 			req->args.xflow_macsec_secure_chan_set.chan_info,
  36138 			req->args.xflow_macsec_secure_chan_set.priority);
  36139 		break;
  36140 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_STAT_GET:
  36141 		rv = bcm_xflow_macsec_stat_get(
  36142 			req->args.xflow_macsec_stat_get.unit,
  36143 			req->args.xflow_macsec_stat_get.flags,
  36144 			req->args.xflow_macsec_stat_get.id,
  36145 			req->args.xflow_macsec_stat_get.stat_type,
  36146 			req->args.xflow_macsec_stat_get.value);
  36147 		break;
  36148 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_STAT_MULTI_GET:
  36149 		rv = bcm_xflow_macsec_stat_multi_get(
  36150 			req->args.xflow_macsec_stat_multi_get.unit,
  36151 			req->args.xflow_macsec_stat_multi_get.flags,
  36152 			req->args.xflow_macsec_stat_multi_get.id,
  36153 			req->args.xflow_macsec_stat_multi_get.num_stats,
  36154 			req->args.xflow_macsec_stat_multi_get.stat_type_array,
  36155 			req->args.xflow_macsec_stat_multi_get.value_array);
  36156 		break;
  36157 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_STAT_MULTI_SET:
  36158 		rv = bcm_xflow_macsec_stat_multi_set(
  36159 			req->args.xflow_macsec_stat_multi_set.unit,
  36160 			req->args.xflow_macsec_stat_multi_set.flags,
  36161 			req->args.xflow_macsec_stat_multi_set.id,
  36162 			req->args.xflow_macsec_stat_multi_set.num_stats,
  36163 			req->args.xflow_macsec_stat_multi_set.stat_type_array,
  36164 			req->args.xflow_macsec_stat_multi_set.value_array);
  36165 		break;
  36166 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_STAT_SET:
  36167 		rv = bcm_xflow_macsec_stat_set(
  36168 			req->args.xflow_macsec_stat_set.unit,
  36169 			req->args.xflow_macsec_stat_set.flags,
  36170 			req->args.xflow_macsec_stat_set.id,
  36171 			req->args.xflow_macsec_stat_set.stat_type,
  36172 			req->args.xflow_macsec_stat_set.value);
  36173 		break;
  36174 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_SUBPORT_ID_GET:
  36175 		rv = bcm_xflow_macsec_subport_id_get(
  36176 			req->args.xflow_macsec_subport_id_get.unit,
  36177 			req->args.xflow_macsec_subport_id_get.id,
  36178 			req->args.xflow_macsec_subport_id_get.macsec_subport_id);
  36179 		break;
  36180 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_VLAN_TPID_ARRAY_GET:
  36181 		rv = bcm_xflow_macsec_vlan_tpid_array_get(
  36182 			req->args.xflow_macsec_vlan_tpid_array_get.unit,
  36183 			req->args.xflow_macsec_vlan_tpid_array_get.instance_id,
  36184 			req->args.xflow_macsec_vlan_tpid_array_get.vlan_tpid);
  36185 		break;
  36186 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_VLAN_TPID_ARRAY_INDEX_GET:
  36187 		rv = bcm_xflow_macsec_vlan_tpid_array_index_get(
  36188 			req->args.xflow_macsec_vlan_tpid_array_index_get.unit,
  36189 			req->args.xflow_macsec_vlan_tpid_array_index_get.instance_id,
  36190 			req->args.xflow_macsec_vlan_tpid_array_index_get.vlan_tpid,
  36191 			req->args.xflow_macsec_vlan_tpid_array_index_get.tpid_index_sel);
  36192 		break;
  36193 	case BCM_ASYNC_ENTRY_XFLOW_MACSEC_VLAN_TPID_ARRAY_SET:
  36194 		rv = bcm_xflow_macsec_vlan_tpid_array_set(
  36195 			req->args.xflow_macsec_vlan_tpid_array_set.unit,
  36196 			req->args.xflow_macsec_vlan_tpid_array_set.instance_id,
  36197 			req->args.xflow_macsec_vlan_tpid_array_set.vlan_tpid);
  36198 		break;
  36199 #endif	/* INCLUDE_XFLOW_MACSEC */
  36200 	default:
  36201 		rv = BCM_E_UNAVAIL;
  36202 	}
  36203 	if (req->callback != 0) {
  36204 		(*req->callback)(req->cookie, rv);
  36205 	}
  36206 	sal_free(req);
  36207 }
  36208 
  36209 #endif	/* BCM_ASYNC_SUPPORT */