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

loop.c (1198487B)


      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:	loop.c
     12  * Purpose:	loop BCM API dispatch driver
     13  * Generator:	mkdispatch 1.54
     14  */
     15 
     16 #include <bcm/types.h>
     17 #include <bcm/auth.h>
     18 #include <bcm/bcmi2c.h>
     19 #include <bcm/bfd.h>
     20 #include <bcm/bregex.h>
     21 #include <bcm/collector.h>
     22 #include <bcm/cosq.h>
     23 #include <bcm/cpri.h>
     24 #include <bcm/custom.h>
     25 #include <bcm/eav.h>
     26 #include <bcm/ecn.h>
     27 #include <bcm/error.h>
     28 #include <bcm/extender.h>
     29 #include <bcm/fabric.h>
     30 #include <bcm/failover.h>
     31 #include <bcm/fcmap.h>
     32 #include <bcm/fcoe.h>
     33 #include <bcm/field.h>
     34 #include <bcm/flow.h>
     35 #include <bcm/flowtracker.h>
     36 #include <bcm/gdpll.h>
     37 #include <bcm/hash.h>
     38 #include <bcm/ifa.h>
     39 #include <bcm/init.h>
     40 #include <bcm/instru.h>
     41 #include <bcm/int.h>
     42 #include <bcm/ipfix.h>
     43 #include <bcm/ipmc.h>
     44 #include <bcm/ipsec.h>
     45 #include <bcm/knet.h>
     46 #include <bcm/l2.h>
     47 #include <bcm/l2gre.h>
     48 #include <bcm/l3.h>
     49 #include <bcm/latency_monitor.h>
     50 #include <bcm/lb.h>
     51 #include <bcm/link.h>
     52 #include <bcm/macsec.h>
     53 #include <bcm/mcast.h>
     54 #include <bcm/mim.h>
     55 #include <bcm/mirror.h>
     56 #include <bcm/module.h>
     57 #include <bcm/mpls.h>
     58 #include <bcm/multicast.h>
     59 #include <bcm/nat.h>
     60 #include <bcm/niv.h>
     61 #include <bcm/oam.h>
     62 #include <bcm/oob.h>
     63 #include <bcm/pkt.h>
     64 #include <bcm/policer.h>
     65 #include <bcm/port.h>
     66 #include <bcm/proxy.h>
     67 #include <bcm/pstats.h>
     68 #include <bcm/ptp.h>
     69 #include <bcm/qos.h>
     70 #include <bcm/range.h>
     71 #include <bcm/rate.h>
     72 #include <bcm/rx.h>
     73 #include <bcm/sat.h>
     74 #include <bcm/srv6.h>
     75 #include <bcm/stack.h>
     76 #include <bcm/stat.h>
     77 #include <bcm/stg.h>
     78 #include <bcm/subport.h>
     79 #include <bcm/sum.h>
     80 #include <bcm/switch.h>
     81 #include <bcm/telemetry.h>
     82 #include <bcm/time.h>
     83 #include <bcm/topo.h>
     84 #include <bcm/trill.h>
     85 #include <bcm/trunk.h>
     86 #include <bcm/tsn.h>
     87 #include <bcm/tunnel.h>
     88 #include <bcm/tx.h>
     89 #include <bcm/txbeacon.h>
     90 #include <bcm/udf.h>
     91 #include <bcm/vlan.h>
     92 #include <bcm/vswitch.h>
     93 #include <bcm/vxlan.h>
     94 #include <bcm/wlan.h>
     95 #include <bcm/xflow_macsec.h>
     96 
     97 #include <bcm_int/loop_dispatch.h>
     98 #include <bcm_int/control.h>
     99 
    100 #ifdef	BCM_LOOP_SUPPORT
    101 
    102 
    103 /* _bcm_attach is a control routine */
    104 
    105 /* _bcm_detach is a control routine */
    106 
    107 /* _bcm_shutdown not dispatchable */
    108 
    109 /* bcm_attach not dispatchable */
    110 
    111 /* bcm_attach_check not dispatchable */
    112 
    113 /* bcm_attach_early_txrx not dispatchable */
    114 
    115 /* bcm_attach_info_t_init not dispatchable */
    116 
    117 /* bcm_attach_max not dispatchable */
    118 
    119 /* bcm_attach_register not dispatchable */
    120 
    121 /* bcm_attach_unregister not dispatchable */
    122 
    123 int
    124 bcm_loop_auth_detach(
    125 	int	unit)
    126 {
    127 	return bcm_auth_detach(
    128 			BCM_CONTROL(unit)->unit);
    129 }
    130 
    131 int
    132 bcm_loop_auth_egress_get(
    133 	int	unit,
    134 	int	port,
    135 	int *	enable)
    136 {
    137 	return bcm_auth_egress_get(
    138 			BCM_CONTROL(unit)->unit,
    139 			port,
    140 			enable);
    141 }
    142 
    143 int
    144 bcm_loop_auth_egress_set(
    145 	int	unit,
    146 	int	port,
    147 	int	enable)
    148 {
    149 	return bcm_auth_egress_set(
    150 			BCM_CONTROL(unit)->unit,
    151 			port,
    152 			enable);
    153 }
    154 
    155 int
    156 bcm_loop_auth_init(
    157 	int	unit)
    158 {
    159 	return bcm_auth_init(
    160 			BCM_CONTROL(unit)->unit);
    161 }
    162 
    163 int
    164 bcm_loop_auth_mac_add(
    165 	int	unit,
    166 	int	port,
    167 	bcm_mac_t	mac)
    168 {
    169 	return bcm_auth_mac_add(
    170 			BCM_CONTROL(unit)->unit,
    171 			port,
    172 			mac);
    173 }
    174 
    175 int
    176 bcm_loop_auth_mac_control_get(
    177 	int	unit,
    178 	bcm_auth_mac_control_t	type,
    179 	uint32 *	value)
    180 {
    181 	return bcm_auth_mac_control_get(
    182 			BCM_CONTROL(unit)->unit,
    183 			type,
    184 			value);
    185 }
    186 
    187 int
    188 bcm_loop_auth_mac_control_set(
    189 	int	unit,
    190 	bcm_auth_mac_control_t	type,
    191 	uint32	value)
    192 {
    193 	return bcm_auth_mac_control_set(
    194 			BCM_CONTROL(unit)->unit,
    195 			type,
    196 			value);
    197 }
    198 
    199 int
    200 bcm_loop_auth_mac_delete(
    201 	int	unit,
    202 	int	port,
    203 	bcm_mac_t	mac)
    204 {
    205 	return bcm_auth_mac_delete(
    206 			BCM_CONTROL(unit)->unit,
    207 			port,
    208 			mac);
    209 }
    210 
    211 int
    212 bcm_loop_auth_mac_delete_all(
    213 	int	unit,
    214 	int	port)
    215 {
    216 	return bcm_auth_mac_delete_all(
    217 			BCM_CONTROL(unit)->unit,
    218 			port);
    219 }
    220 
    221 int
    222 bcm_loop_auth_mode_get(
    223 	int	unit,
    224 	int	port,
    225 	uint32 *	modep)
    226 {
    227 	return bcm_auth_mode_get(
    228 			BCM_CONTROL(unit)->unit,
    229 			port,
    230 			modep);
    231 }
    232 
    233 int
    234 bcm_loop_auth_mode_set(
    235 	int	unit,
    236 	int	port,
    237 	uint32	mode)
    238 {
    239 	return bcm_auth_mode_set(
    240 			BCM_CONTROL(unit)->unit,
    241 			port,
    242 			mode);
    243 }
    244 
    245 int
    246 bcm_loop_auth_unauth_callback(
    247 	int	unit,
    248 	bcm_auth_cb_t	func,
    249 	void *	cookie)
    250 {
    251 	return bcm_auth_unauth_callback(
    252 			BCM_CONTROL(unit)->unit,
    253 			func,
    254 			cookie);
    255 }
    256 
    257 #ifdef	INCLUDE_BFD
    258 
    259 int
    260 bcm_loop_bfd_auth_sha1_get(
    261 	int	unit,
    262 	int	index,
    263 	bcm_bfd_auth_sha1_t *	sha1)
    264 {
    265 	return bcm_bfd_auth_sha1_get(
    266 			BCM_CONTROL(unit)->unit,
    267 			index,
    268 			sha1);
    269 }
    270 
    271 int
    272 bcm_loop_bfd_auth_sha1_set(
    273 	int	unit,
    274 	int	index,
    275 	bcm_bfd_auth_sha1_t *	sha1)
    276 {
    277 	return bcm_bfd_auth_sha1_set(
    278 			BCM_CONTROL(unit)->unit,
    279 			index,
    280 			sha1);
    281 }
    282 
    283 int
    284 bcm_loop_bfd_auth_simple_password_get(
    285 	int	unit,
    286 	int	index,
    287 	bcm_bfd_auth_simple_password_t *	sp)
    288 {
    289 	return bcm_bfd_auth_simple_password_get(
    290 			BCM_CONTROL(unit)->unit,
    291 			index,
    292 			sp);
    293 }
    294 
    295 int
    296 bcm_loop_bfd_auth_simple_password_set(
    297 	int	unit,
    298 	int	index,
    299 	bcm_bfd_auth_simple_password_t *	sp)
    300 {
    301 	return bcm_bfd_auth_simple_password_set(
    302 			BCM_CONTROL(unit)->unit,
    303 			index,
    304 			sp);
    305 }
    306 
    307 int
    308 bcm_loop_bfd_detach(
    309 	int	unit)
    310 {
    311 	return bcm_bfd_detach(
    312 			BCM_CONTROL(unit)->unit);
    313 }
    314 
    315 int
    316 bcm_loop_bfd_discard_stat_get(
    317 	int	unit,
    318 	bcm_bfd_discard_stat_t *	discarded_info)
    319 {
    320 	return bcm_bfd_discard_stat_get(
    321 			BCM_CONTROL(unit)->unit,
    322 			discarded_info);
    323 }
    324 
    325 int
    326 bcm_loop_bfd_discard_stat_set(
    327 	int	unit,
    328 	bcm_bfd_discard_stat_t *	discarded_info)
    329 {
    330 	return bcm_bfd_discard_stat_set(
    331 			BCM_CONTROL(unit)->unit,
    332 			discarded_info);
    333 }
    334 
    335 int
    336 bcm_loop_bfd_endpoint_create(
    337 	int	unit,
    338 	bcm_bfd_endpoint_info_t *	endpoint_info)
    339 {
    340 	return bcm_bfd_endpoint_create(
    341 			BCM_CONTROL(unit)->unit,
    342 			endpoint_info);
    343 }
    344 
    345 int
    346 bcm_loop_bfd_endpoint_destroy(
    347 	int	unit,
    348 	bcm_bfd_endpoint_t	endpoint)
    349 {
    350 	return bcm_bfd_endpoint_destroy(
    351 			BCM_CONTROL(unit)->unit,
    352 			endpoint);
    353 }
    354 
    355 int
    356 bcm_loop_bfd_endpoint_destroy_all(
    357 	int	unit)
    358 {
    359 	return bcm_bfd_endpoint_destroy_all(
    360 			BCM_CONTROL(unit)->unit);
    361 }
    362 
    363 int
    364 bcm_loop_bfd_endpoint_get(
    365 	int	unit,
    366 	bcm_bfd_endpoint_t	endpoint,
    367 	bcm_bfd_endpoint_info_t *	endpoint_info)
    368 {
    369 	return bcm_bfd_endpoint_get(
    370 			BCM_CONTROL(unit)->unit,
    371 			endpoint,
    372 			endpoint_info);
    373 }
    374 
    375 /* bcm_bfd_endpoint_info_t_init not dispatchable */
    376 
    377 int
    378 bcm_loop_bfd_endpoint_poll(
    379 	int	unit,
    380 	bcm_bfd_endpoint_t	endpoint)
    381 {
    382 	return bcm_bfd_endpoint_poll(
    383 			BCM_CONTROL(unit)->unit,
    384 			endpoint);
    385 }
    386 
    387 int
    388 bcm_loop_bfd_endpoint_stat_get(
    389 	int	unit,
    390 	bcm_bfd_endpoint_t	endpoint,
    391 	bcm_bfd_endpoint_stat_t *	ctr_info,
    392 	uint32	options)
    393 {
    394 	return bcm_bfd_endpoint_stat_get(
    395 			BCM_CONTROL(unit)->unit,
    396 			endpoint,
    397 			ctr_info,
    398 			options);
    399 }
    400 
    401 int
    402 bcm_loop_bfd_event_register(
    403 	int	unit,
    404 	bcm_bfd_event_types_t	event_types,
    405 	bcm_bfd_event_cb	cb,
    406 	void *	user_data)
    407 {
    408 	return bcm_bfd_event_register(
    409 			BCM_CONTROL(unit)->unit,
    410 			event_types,
    411 			cb,
    412 			user_data);
    413 }
    414 
    415 int
    416 bcm_loop_bfd_event_unregister(
    417 	int	unit,
    418 	bcm_bfd_event_types_t	event_types,
    419 	bcm_bfd_event_cb	cb)
    420 {
    421 	return bcm_bfd_event_unregister(
    422 			BCM_CONTROL(unit)->unit,
    423 			event_types,
    424 			cb);
    425 }
    426 
    427 int
    428 bcm_loop_bfd_init(
    429 	int	unit)
    430 {
    431 	return bcm_bfd_init(
    432 			BCM_CONTROL(unit)->unit);
    433 }
    434 
    435 int
    436 bcm_loop_bfd_status_multi_get(
    437 	int	unit,
    438 	int	max_endpoints,
    439 	bcm_bfd_status_t *	status_arr,
    440 	int *	count)
    441 {
    442 	return bcm_bfd_status_multi_get(
    443 			BCM_CONTROL(unit)->unit,
    444 			max_endpoints,
    445 			status_arr,
    446 			count);
    447 }
    448 
    449 int
    450 bcm_loop_bfd_tx_start(
    451 	int	unit)
    452 {
    453 	return bcm_bfd_tx_start(
    454 			BCM_CONTROL(unit)->unit);
    455 }
    456 
    457 int
    458 bcm_loop_bfd_tx_stop(
    459 	int	unit)
    460 {
    461 	return bcm_bfd_tx_stop(
    462 			BCM_CONTROL(unit)->unit);
    463 }
    464 
    465 #endif	/* INCLUDE_BFD */
    466 
    467 int
    468 bcm_loop_clear(
    469 	int	unit)
    470 {
    471 	return bcm_clear(
    472 			BCM_CONTROL(unit)->unit);
    473 }
    474 
    475 /* bcm_collector_callback_options_t_init not dispatchable */
    476 
    477 int
    478 bcm_loop_collector_create(
    479 	int	unit,
    480 	uint32	options,
    481 	bcm_collector_t *	collector_id,
    482 	bcm_collector_info_t *	collector_info)
    483 {
    484 	return bcm_collector_create(
    485 			BCM_CONTROL(unit)->unit,
    486 			options,
    487 			collector_id,
    488 			collector_info);
    489 }
    490 
    491 int
    492 bcm_loop_collector_destroy(
    493 	int	unit,
    494 	bcm_collector_t	id)
    495 {
    496 	return bcm_collector_destroy(
    497 			BCM_CONTROL(unit)->unit,
    498 			id);
    499 }
    500 
    501 int
    502 bcm_loop_collector_detach(
    503 	int	unit)
    504 {
    505 	return bcm_collector_detach(
    506 			BCM_CONTROL(unit)->unit);
    507 }
    508 
    509 int
    510 bcm_loop_collector_export_profile_create(
    511 	int	unit,
    512 	uint32	options,
    513 	int *	export_profile_id,
    514 	bcm_collector_export_profile_t *	export_profile_info)
    515 {
    516 	return bcm_collector_export_profile_create(
    517 			BCM_CONTROL(unit)->unit,
    518 			options,
    519 			export_profile_id,
    520 			export_profile_info);
    521 }
    522 
    523 int
    524 bcm_loop_collector_export_profile_destroy(
    525 	int	unit,
    526 	int	export_profile_id)
    527 {
    528 	return bcm_collector_export_profile_destroy(
    529 			BCM_CONTROL(unit)->unit,
    530 			export_profile_id);
    531 }
    532 
    533 int
    534 bcm_loop_collector_export_profile_get(
    535 	int	unit,
    536 	int	export_profile_id,
    537 	bcm_collector_export_profile_t *	export_profile_info)
    538 {
    539 	return bcm_collector_export_profile_get(
    540 			BCM_CONTROL(unit)->unit,
    541 			export_profile_id,
    542 			export_profile_info);
    543 }
    544 
    545 int
    546 bcm_loop_collector_export_profile_ids_get_all(
    547 	int	unit,
    548 	int	max_size,
    549 	int *	export_profile_ids_list,
    550 	int *	list_size)
    551 {
    552 	return bcm_collector_export_profile_ids_get_all(
    553 			BCM_CONTROL(unit)->unit,
    554 			max_size,
    555 			export_profile_ids_list,
    556 			list_size);
    557 }
    558 
    559 /* bcm_collector_export_profile_t_init not dispatchable */
    560 
    561 int
    562 bcm_loop_collector_export_record_register(
    563 	int	unit,
    564 	bcm_collector_t	collector_id,
    565 	bcm_collector_callback_options_t	callback_options,
    566 	bcm_collector_export_record_cb_f	callback_fn,
    567 	void *	userdata)
    568 {
    569 	return bcm_collector_export_record_register(
    570 			BCM_CONTROL(unit)->unit,
    571 			collector_id,
    572 			callback_options,
    573 			callback_fn,
    574 			userdata);
    575 }
    576 
    577 /* bcm_collector_export_record_t_init not dispatchable */
    578 
    579 int
    580 bcm_loop_collector_export_record_unregister(
    581 	int	unit,
    582 	bcm_collector_t	collector_id,
    583 	bcm_collector_callback_options_t	callback_options,
    584 	bcm_collector_export_record_cb_f	callback_fn)
    585 {
    586 	return bcm_collector_export_record_unregister(
    587 			BCM_CONTROL(unit)->unit,
    588 			collector_id,
    589 			callback_options,
    590 			callback_fn);
    591 }
    592 
    593 int
    594 bcm_loop_collector_get(
    595 	int	unit,
    596 	bcm_collector_t	id,
    597 	bcm_collector_info_t *	collector_info)
    598 {
    599 	return bcm_collector_get(
    600 			BCM_CONTROL(unit)->unit,
    601 			id,
    602 			collector_info);
    603 }
    604 
    605 int
    606 bcm_loop_collector_get_all(
    607 	int	unit,
    608 	int	max_size,
    609 	bcm_collector_t *	collector_list,
    610 	int *	list_size)
    611 {
    612 	return bcm_collector_get_all(
    613 			BCM_CONTROL(unit)->unit,
    614 			max_size,
    615 			collector_list,
    616 			list_size);
    617 }
    618 
    619 /* bcm_collector_info_t_init not dispatchable */
    620 
    621 int
    622 bcm_loop_collector_init(
    623 	int	unit)
    624 {
    625 	return bcm_collector_init(
    626 			BCM_CONTROL(unit)->unit);
    627 }
    628 
    629 int
    630 bcm_loop_cosq_bandwidth_fabric_adjust_get(
    631 	int	unit,
    632 	uint32	flags,
    633 	bcm_cosq_bandwidth_fabric_adjust_key_t *	key,
    634 	uint32 *	bandwidth)
    635 {
    636 	return bcm_cosq_bandwidth_fabric_adjust_get(
    637 			BCM_CONTROL(unit)->unit,
    638 			flags,
    639 			key,
    640 			bandwidth);
    641 }
    642 
    643 int
    644 bcm_loop_cosq_bandwidth_fabric_adjust_set(
    645 	int	unit,
    646 	uint32	flags,
    647 	bcm_cosq_bandwidth_fabric_adjust_key_t *	key,
    648 	uint32	bandwidth)
    649 {
    650 	return bcm_cosq_bandwidth_fabric_adjust_set(
    651 			BCM_CONTROL(unit)->unit,
    652 			flags,
    653 			key,
    654 			bandwidth);
    655 }
    656 
    657 int
    658 bcm_loop_cosq_bst_multi_profile_get(
    659 	int	unit,
    660 	bcm_gport_t	gport,
    661 	bcm_cos_queue_t	cosq,
    662 	bcm_bst_stat_id_t	bid,
    663 	int	array_size,
    664 	bcm_cosq_bst_profile_t *	profile_array,
    665 	int *	count)
    666 {
    667 	return bcm_cosq_bst_multi_profile_get(
    668 			BCM_CONTROL(unit)->unit,
    669 			gport,
    670 			cosq,
    671 			bid,
    672 			array_size,
    673 			profile_array,
    674 			count);
    675 }
    676 
    677 int
    678 bcm_loop_cosq_bst_multi_profile_set(
    679 	int	unit,
    680 	bcm_gport_t	gport,
    681 	bcm_cos_queue_t	cosq,
    682 	bcm_bst_stat_id_t	bid,
    683 	int	array_size,
    684 	bcm_cosq_bst_profile_t *	profile_array)
    685 {
    686 	return bcm_cosq_bst_multi_profile_set(
    687 			BCM_CONTROL(unit)->unit,
    688 			gport,
    689 			cosq,
    690 			bid,
    691 			array_size,
    692 			profile_array);
    693 }
    694 
    695 int
    696 bcm_loop_cosq_bst_profile_get(
    697 	int	unit,
    698 	bcm_gport_t	gport,
    699 	bcm_cos_queue_t	cosq,
    700 	bcm_bst_stat_id_t	bid,
    701 	bcm_cosq_bst_profile_t *	profile)
    702 {
    703 	return bcm_cosq_bst_profile_get(
    704 			BCM_CONTROL(unit)->unit,
    705 			gport,
    706 			cosq,
    707 			bid,
    708 			profile);
    709 }
    710 
    711 int
    712 bcm_loop_cosq_bst_profile_set(
    713 	int	unit,
    714 	bcm_gport_t	gport,
    715 	bcm_cos_queue_t	cosq,
    716 	bcm_bst_stat_id_t	bid,
    717 	bcm_cosq_bst_profile_t *	profile)
    718 {
    719 	return bcm_cosq_bst_profile_set(
    720 			BCM_CONTROL(unit)->unit,
    721 			gport,
    722 			cosq,
    723 			bid,
    724 			profile);
    725 }
    726 
    727 /* bcm_cosq_bst_profile_t_init not dispatchable */
    728 
    729 int
    730 bcm_loop_cosq_bst_stat_clear(
    731 	int	unit,
    732 	bcm_gport_t	gport,
    733 	bcm_cos_queue_t	cosq,
    734 	bcm_bst_stat_id_t	bid)
    735 {
    736 	return bcm_cosq_bst_stat_clear(
    737 			BCM_CONTROL(unit)->unit,
    738 			gport,
    739 			cosq,
    740 			bid);
    741 }
    742 
    743 int
    744 bcm_loop_cosq_bst_stat_extended_clear(
    745 	int	unit,
    746 	bcm_cosq_object_id_t *	id,
    747 	bcm_bst_stat_id_t	bid)
    748 {
    749 	return bcm_cosq_bst_stat_extended_clear(
    750 			BCM_CONTROL(unit)->unit,
    751 			id,
    752 			bid);
    753 }
    754 
    755 int
    756 bcm_loop_cosq_bst_stat_extended_get(
    757 	int	unit,
    758 	bcm_cosq_object_id_t *	id,
    759 	bcm_bst_stat_id_t	bid,
    760 	uint32	options,
    761 	uint64 *	value)
    762 {
    763 	return bcm_cosq_bst_stat_extended_get(
    764 			BCM_CONTROL(unit)->unit,
    765 			id,
    766 			bid,
    767 			options,
    768 			value);
    769 }
    770 
    771 int
    772 bcm_loop_cosq_bst_stat_extended_get32(
    773 	int	unit,
    774 	bcm_cosq_object_id_t *	id,
    775 	bcm_bst_stat_id_t	bid,
    776 	uint32	options,
    777 	uint32 *	value)
    778 {
    779 	return bcm_cosq_bst_stat_extended_get32(
    780 			BCM_CONTROL(unit)->unit,
    781 			id,
    782 			bid,
    783 			options,
    784 			value);
    785 }
    786 
    787 int
    788 bcm_loop_cosq_bst_stat_get(
    789 	int	unit,
    790 	bcm_gport_t	gport,
    791 	bcm_cos_queue_t	cosq,
    792 	bcm_bst_stat_id_t	bid,
    793 	uint32	options,
    794 	uint64 *	value)
    795 {
    796 	return bcm_cosq_bst_stat_get(
    797 			BCM_CONTROL(unit)->unit,
    798 			gport,
    799 			cosq,
    800 			bid,
    801 			options,
    802 			value);
    803 }
    804 
    805 int
    806 bcm_loop_cosq_bst_stat_get32(
    807 	int	unit,
    808 	bcm_gport_t	gport,
    809 	bcm_cos_queue_t	cosq,
    810 	bcm_bst_stat_id_t	bid,
    811 	uint32	options,
    812 	uint32 *	value)
    813 {
    814 	return bcm_cosq_bst_stat_get32(
    815 			BCM_CONTROL(unit)->unit,
    816 			gport,
    817 			cosq,
    818 			bid,
    819 			options,
    820 			value);
    821 }
    822 
    823 int
    824 bcm_loop_cosq_bst_stat_multi_get(
    825 	int	unit,
    826 	bcm_gport_t	gport,
    827 	bcm_cos_queue_t	cosq,
    828 	uint32	options,
    829 	int	max_values,
    830 	bcm_bst_stat_id_t *	id_list,
    831 	uint64 *	values)
    832 {
    833 	return bcm_cosq_bst_stat_multi_get(
    834 			BCM_CONTROL(unit)->unit,
    835 			gport,
    836 			cosq,
    837 			options,
    838 			max_values,
    839 			id_list,
    840 			values);
    841 }
    842 
    843 int
    844 bcm_loop_cosq_bst_stat_multi_get32(
    845 	int	unit,
    846 	bcm_gport_t	gport,
    847 	bcm_cos_queue_t	cosq,
    848 	uint32	options,
    849 	int	max_values,
    850 	bcm_bst_stat_id_t *	id_list,
    851 	uint32 *	values)
    852 {
    853 	return bcm_cosq_bst_stat_multi_get32(
    854 			BCM_CONTROL(unit)->unit,
    855 			gport,
    856 			cosq,
    857 			options,
    858 			max_values,
    859 			id_list,
    860 			values);
    861 }
    862 
    863 int
    864 bcm_loop_cosq_bst_stat_sync(
    865 	int	unit,
    866 	bcm_bst_stat_id_t	bid)
    867 {
    868 	return bcm_cosq_bst_stat_sync(
    869 			BCM_CONTROL(unit)->unit,
    870 			bid);
    871 }
    872 
    873 int
    874 bcm_loop_cosq_buffer_id_multi_get(
    875 	int	unit,
    876 	bcm_gport_t	gport,
    877 	bcm_cos_queue_t	cosq,
    878 	bcm_cosq_dir_t	direction,
    879 	int	array_max,
    880 	bcm_cosq_buffer_id_t *	buf_id_array,
    881 	int *	array_count)
    882 {
    883 	return bcm_cosq_buffer_id_multi_get(
    884 			BCM_CONTROL(unit)->unit,
    885 			gport,
    886 			cosq,
    887 			direction,
    888 			array_max,
    889 			buf_id_array,
    890 			array_count);
    891 }
    892 
    893 int
    894 bcm_loop_cosq_burst_monitor_dma_config_get(
    895 	int	unit,
    896 	uint32 *	host_mem_size,
    897 	uint32 **	host_mem_add)
    898 {
    899 	return bcm_cosq_burst_monitor_dma_config_get(
    900 			BCM_CONTROL(unit)->unit,
    901 			host_mem_size,
    902 			host_mem_add);
    903 }
    904 
    905 int
    906 bcm_loop_cosq_burst_monitor_dma_config_set(
    907 	int	unit,
    908 	uint32	host_mem_size,
    909 	uint32 **	host_mem_add)
    910 {
    911 	return bcm_cosq_burst_monitor_dma_config_set(
    912 			BCM_CONTROL(unit)->unit,
    913 			host_mem_size,
    914 			host_mem_add);
    915 }
    916 
    917 int
    918 bcm_loop_cosq_burst_monitor_get(
    919 	int	unit,
    920 	int	max_gports,
    921 	bcm_gport_t *	gport_list,
    922 	int *	num_gports)
    923 {
    924 	return bcm_cosq_burst_monitor_get(
    925 			BCM_CONTROL(unit)->unit,
    926 			max_gports,
    927 			gport_list,
    928 			num_gports);
    929 }
    930 
    931 int
    932 bcm_loop_cosq_burst_monitor_set(
    933 	int	unit,
    934 	int	num_gports,
    935 	bcm_gport_t *	gport_list)
    936 {
    937 	return bcm_cosq_burst_monitor_set(
    938 			BCM_CONTROL(unit)->unit,
    939 			num_gports,
    940 			gport_list);
    941 }
    942 
    943 int
    944 bcm_loop_cosq_classifier_create(
    945 	int	unit,
    946 	bcm_cosq_classifier_t *	classifier,
    947 	int *	classifier_id)
    948 {
    949 	return bcm_cosq_classifier_create(
    950 			BCM_CONTROL(unit)->unit,
    951 			classifier,
    952 			classifier_id);
    953 }
    954 
    955 int
    956 bcm_loop_cosq_classifier_destroy(
    957 	int	unit,
    958 	int	classifier_id)
    959 {
    960 	return bcm_cosq_classifier_destroy(
    961 			BCM_CONTROL(unit)->unit,
    962 			classifier_id);
    963 }
    964 
    965 int
    966 bcm_loop_cosq_classifier_get(
    967 	int	unit,
    968 	int	classifier_id,
    969 	bcm_cosq_classifier_t *	classifier)
    970 {
    971 	return bcm_cosq_classifier_get(
    972 			BCM_CONTROL(unit)->unit,
    973 			classifier_id,
    974 			classifier);
    975 }
    976 
    977 int
    978 bcm_loop_cosq_classifier_id_get(
    979 	int	unit,
    980 	bcm_cosq_classifier_t *	classifier,
    981 	int	array_count,
    982 	bcm_cos_t *	priority_array,
    983 	bcm_cos_queue_t *	cosq_array,
    984 	int *	classifier_id)
    985 {
    986 	return bcm_cosq_classifier_id_get(
    987 			BCM_CONTROL(unit)->unit,
    988 			classifier,
    989 			array_count,
    990 			priority_array,
    991 			cosq_array,
    992 			classifier_id);
    993 }
    994 
    995 int
    996 bcm_loop_cosq_classifier_mapping_clear(
    997 	int	unit,
    998 	bcm_gport_t	port,
    999 	int	classifier_id)
   1000 {
   1001 	return bcm_cosq_classifier_mapping_clear(
   1002 			BCM_CONTROL(unit)->unit,
   1003 			port,
   1004 			classifier_id);
   1005 }
   1006 
   1007 int
   1008 bcm_loop_cosq_classifier_mapping_get(
   1009 	int	unit,
   1010 	bcm_gport_t	port,
   1011 	int	classifier_id,
   1012 	bcm_gport_t *	queue_group,
   1013 	bcm_cos_t	priority,
   1014 	bcm_cos_queue_t *	cosq)
   1015 {
   1016 	return bcm_cosq_classifier_mapping_get(
   1017 			BCM_CONTROL(unit)->unit,
   1018 			port,
   1019 			classifier_id,
   1020 			queue_group,
   1021 			priority,
   1022 			cosq);
   1023 }
   1024 
   1025 int
   1026 bcm_loop_cosq_classifier_mapping_multi_get(
   1027 	int	unit,
   1028 	bcm_gport_t	port,
   1029 	int	classifier_id,
   1030 	bcm_gport_t *	queue_group,
   1031 	int	array_max,
   1032 	bcm_cos_t *	priority_array,
   1033 	bcm_cos_queue_t *	cosq_array,
   1034 	int *	array_count)
   1035 {
   1036 	return bcm_cosq_classifier_mapping_multi_get(
   1037 			BCM_CONTROL(unit)->unit,
   1038 			port,
   1039 			classifier_id,
   1040 			queue_group,
   1041 			array_max,
   1042 			priority_array,
   1043 			cosq_array,
   1044 			array_count);
   1045 }
   1046 
   1047 int
   1048 bcm_loop_cosq_classifier_mapping_multi_set(
   1049 	int	unit,
   1050 	bcm_gport_t	port,
   1051 	int	classifier_id,
   1052 	bcm_gport_t	queue_group,
   1053 	int	array_count,
   1054 	bcm_cos_t *	priority_array,
   1055 	bcm_cos_queue_t *	cosq_array)
   1056 {
   1057 	return bcm_cosq_classifier_mapping_multi_set(
   1058 			BCM_CONTROL(unit)->unit,
   1059 			port,
   1060 			classifier_id,
   1061 			queue_group,
   1062 			array_count,
   1063 			priority_array,
   1064 			cosq_array);
   1065 }
   1066 
   1067 int
   1068 bcm_loop_cosq_classifier_mapping_set(
   1069 	int	unit,
   1070 	bcm_gport_t	port,
   1071 	int	classifier_id,
   1072 	bcm_gport_t	queue_group,
   1073 	bcm_cos_t	priority,
   1074 	bcm_cos_queue_t	cosq)
   1075 {
   1076 	return bcm_cosq_classifier_mapping_set(
   1077 			BCM_CONTROL(unit)->unit,
   1078 			port,
   1079 			classifier_id,
   1080 			queue_group,
   1081 			priority,
   1082 			cosq);
   1083 }
   1084 
   1085 /* bcm_cosq_classifier_t_init not dispatchable */
   1086 
   1087 int
   1088 bcm_loop_cosq_config_get(
   1089 	int	unit,
   1090 	int *	numq)
   1091 {
   1092 	return bcm_cosq_config_get(
   1093 			BCM_CONTROL(unit)->unit,
   1094 			numq);
   1095 }
   1096 
   1097 int
   1098 bcm_loop_cosq_config_set(
   1099 	int	unit,
   1100 	int	numq)
   1101 {
   1102 	return bcm_cosq_config_set(
   1103 			BCM_CONTROL(unit)->unit,
   1104 			numq);
   1105 }
   1106 
   1107 /* bcm_cosq_congestion_info_t_init not dispatchable */
   1108 
   1109 int
   1110 bcm_loop_cosq_congestion_mapping_get(
   1111 	int	unit,
   1112 	int	fabric_modid,
   1113 	bcm_cosq_congestion_mapping_info_t *	mapping_info)
   1114 {
   1115 	return bcm_cosq_congestion_mapping_get(
   1116 			BCM_CONTROL(unit)->unit,
   1117 			fabric_modid,
   1118 			mapping_info);
   1119 }
   1120 
   1121 /* bcm_cosq_congestion_mapping_info_t_init not dispatchable */
   1122 
   1123 int
   1124 bcm_loop_cosq_congestion_mapping_set(
   1125 	int	unit,
   1126 	int	fabric_modid,
   1127 	bcm_cosq_congestion_mapping_info_t *	mapping_info)
   1128 {
   1129 	return bcm_cosq_congestion_mapping_set(
   1130 			BCM_CONTROL(unit)->unit,
   1131 			fabric_modid,
   1132 			mapping_info);
   1133 }
   1134 
   1135 /* bcm_cosq_control_data_t_init not dispatchable */
   1136 
   1137 int
   1138 bcm_loop_cosq_control_dynamic_get(
   1139 	int	unit,
   1140 	bcm_cosq_control_t	type,
   1141 	bcm_cosq_dynamic_setting_type_t *	dynamic)
   1142 {
   1143 	return bcm_cosq_control_dynamic_get(
   1144 			BCM_CONTROL(unit)->unit,
   1145 			type,
   1146 			dynamic);
   1147 }
   1148 
   1149 int
   1150 bcm_loop_cosq_control_extended_get(
   1151 	int	unit,
   1152 	bcm_cosq_object_id_t *	id,
   1153 	bcm_cosq_control_data_t *	control)
   1154 {
   1155 	return bcm_cosq_control_extended_get(
   1156 			BCM_CONTROL(unit)->unit,
   1157 			id,
   1158 			control);
   1159 }
   1160 
   1161 int
   1162 bcm_loop_cosq_control_extended_set(
   1163 	int	unit,
   1164 	bcm_cosq_object_id_t *	id,
   1165 	bcm_cosq_control_data_t *	control)
   1166 {
   1167 	return bcm_cosq_control_extended_set(
   1168 			BCM_CONTROL(unit)->unit,
   1169 			id,
   1170 			control);
   1171 }
   1172 
   1173 int
   1174 bcm_loop_cosq_control_get(
   1175 	int	unit,
   1176 	bcm_gport_t	port,
   1177 	bcm_cos_queue_t	cosq,
   1178 	bcm_cosq_control_t	type,
   1179 	int *	arg)
   1180 {
   1181 	return bcm_cosq_control_get(
   1182 			BCM_CONTROL(unit)->unit,
   1183 			port,
   1184 			cosq,
   1185 			type,
   1186 			arg);
   1187 }
   1188 
   1189 int
   1190 bcm_loop_cosq_control_range_get(
   1191 	int	unit,
   1192 	bcm_gport_t	port,
   1193 	uint32	flags,
   1194 	bcm_cosq_control_range_type_t	type,
   1195 	bcm_cosq_range_t *	range)
   1196 {
   1197 	return bcm_cosq_control_range_get(
   1198 			BCM_CONTROL(unit)->unit,
   1199 			port,
   1200 			flags,
   1201 			type,
   1202 			range);
   1203 }
   1204 
   1205 int
   1206 bcm_loop_cosq_control_range_set(
   1207 	int	unit,
   1208 	bcm_gport_t	port,
   1209 	uint32	flags,
   1210 	bcm_cosq_control_range_type_t	type,
   1211 	bcm_cosq_range_t *	range)
   1212 {
   1213 	return bcm_cosq_control_range_set(
   1214 			BCM_CONTROL(unit)->unit,
   1215 			port,
   1216 			flags,
   1217 			type,
   1218 			range);
   1219 }
   1220 
   1221 int
   1222 bcm_loop_cosq_control_set(
   1223 	int	unit,
   1224 	bcm_gport_t	port,
   1225 	bcm_cos_queue_t	cosq,
   1226 	bcm_cosq_control_t	type,
   1227 	int	arg)
   1228 {
   1229 	return bcm_cosq_control_set(
   1230 			BCM_CONTROL(unit)->unit,
   1231 			port,
   1232 			cosq,
   1233 			type,
   1234 			arg);
   1235 }
   1236 
   1237 int
   1238 bcm_loop_cosq_cpu_cosq_enable_get(
   1239 	int	unit,
   1240 	bcm_cos_queue_t	cosq,
   1241 	int *	enable)
   1242 {
   1243 	return bcm_cosq_cpu_cosq_enable_get(
   1244 			BCM_CONTROL(unit)->unit,
   1245 			cosq,
   1246 			enable);
   1247 }
   1248 
   1249 int
   1250 bcm_loop_cosq_cpu_cosq_enable_set(
   1251 	int	unit,
   1252 	bcm_cos_queue_t	cosq,
   1253 	int	enable)
   1254 {
   1255 	return bcm_cosq_cpu_cosq_enable_set(
   1256 			BCM_CONTROL(unit)->unit,
   1257 			cosq,
   1258 			enable);
   1259 }
   1260 
   1261 int
   1262 bcm_loop_cosq_delay_tolerance_level_get(
   1263 	int	unit,
   1264 	int	delay_tolerance_level,
   1265 	bcm_cosq_delay_tolerance_t *	delay_tolerance)
   1266 {
   1267 	return bcm_cosq_delay_tolerance_level_get(
   1268 			BCM_CONTROL(unit)->unit,
   1269 			delay_tolerance_level,
   1270 			delay_tolerance);
   1271 }
   1272 
   1273 int
   1274 bcm_loop_cosq_delay_tolerance_level_set(
   1275 	int	unit,
   1276 	int	delay_tolerance_level,
   1277 	bcm_cosq_delay_tolerance_t *	delay_tolerance)
   1278 {
   1279 	return bcm_cosq_delay_tolerance_level_set(
   1280 			BCM_CONTROL(unit)->unit,
   1281 			delay_tolerance_level,
   1282 			delay_tolerance);
   1283 }
   1284 
   1285 /* bcm_cosq_delay_tolerance_preset_attr_t_init not dispatchable */
   1286 
   1287 int
   1288 bcm_loop_cosq_delay_tolerance_preset_get(
   1289 	int	unit,
   1290 	bcm_cosq_delay_tolerance_preset_attr_t *	preset_attr,
   1291 	bcm_cosq_delay_tolerance_t *	delay_tolerance)
   1292 {
   1293 	return bcm_cosq_delay_tolerance_preset_get(
   1294 			BCM_CONTROL(unit)->unit,
   1295 			preset_attr,
   1296 			delay_tolerance);
   1297 }
   1298 
   1299 int
   1300 bcm_loop_cosq_dest_credit_size_get(
   1301 	int	unit,
   1302 	bcm_module_t	dest_modid,
   1303 	uint32 *	credit_size)
   1304 {
   1305 	return bcm_cosq_dest_credit_size_get(
   1306 			BCM_CONTROL(unit)->unit,
   1307 			dest_modid,
   1308 			credit_size);
   1309 }
   1310 
   1311 int
   1312 bcm_loop_cosq_dest_credit_size_set(
   1313 	int	unit,
   1314 	bcm_module_t	dest_modid,
   1315 	uint32	credit_size)
   1316 {
   1317 	return bcm_cosq_dest_credit_size_set(
   1318 			BCM_CONTROL(unit)->unit,
   1319 			dest_modid,
   1320 			credit_size);
   1321 }
   1322 
   1323 int
   1324 bcm_loop_cosq_detach(
   1325 	int	unit)
   1326 {
   1327 	return bcm_cosq_detach(
   1328 			BCM_CONTROL(unit)->unit);
   1329 }
   1330 
   1331 int
   1332 bcm_loop_cosq_discard_get(
   1333 	int	unit,
   1334 	uint32 *	flags)
   1335 {
   1336 	return bcm_cosq_discard_get(
   1337 			BCM_CONTROL(unit)->unit,
   1338 			flags);
   1339 }
   1340 
   1341 int
   1342 bcm_loop_cosq_discard_port_get(
   1343 	int	unit,
   1344 	bcm_port_t	port,
   1345 	bcm_cos_queue_t	cosq,
   1346 	uint32	color,
   1347 	int *	drop_start,
   1348 	int *	drop_slope,
   1349 	int *	average_time)
   1350 {
   1351 	return bcm_cosq_discard_port_get(
   1352 			BCM_CONTROL(unit)->unit,
   1353 			port,
   1354 			cosq,
   1355 			color,
   1356 			drop_start,
   1357 			drop_slope,
   1358 			average_time);
   1359 }
   1360 
   1361 int
   1362 bcm_loop_cosq_discard_port_set(
   1363 	int	unit,
   1364 	bcm_port_t	port,
   1365 	bcm_cos_queue_t	cosq,
   1366 	uint32	color,
   1367 	int	drop_start,
   1368 	int	drop_slope,
   1369 	int	average_time)
   1370 {
   1371 	return bcm_cosq_discard_port_set(
   1372 			BCM_CONTROL(unit)->unit,
   1373 			port,
   1374 			cosq,
   1375 			color,
   1376 			drop_start,
   1377 			drop_slope,
   1378 			average_time);
   1379 }
   1380 
   1381 int
   1382 bcm_loop_cosq_discard_profile_create(
   1383 	int	unit,
   1384 	int *	profile_id)
   1385 {
   1386 	return bcm_cosq_discard_profile_create(
   1387 			BCM_CONTROL(unit)->unit,
   1388 			profile_id);
   1389 }
   1390 
   1391 int
   1392 bcm_loop_cosq_discard_profile_destroy(
   1393 	int	unit,
   1394 	int	profile_id)
   1395 {
   1396 	return bcm_cosq_discard_profile_destroy(
   1397 			BCM_CONTROL(unit)->unit,
   1398 			profile_id);
   1399 }
   1400 
   1401 int
   1402 bcm_loop_cosq_discard_profile_get(
   1403 	int	unit,
   1404 	int	profile_id,
   1405 	int	max,
   1406 	bcm_cosq_discard_rule_t *	rule_array,
   1407 	int *	rule_count)
   1408 {
   1409 	return bcm_cosq_discard_profile_get(
   1410 			BCM_CONTROL(unit)->unit,
   1411 			profile_id,
   1412 			max,
   1413 			rule_array,
   1414 			rule_count);
   1415 }
   1416 
   1417 int
   1418 bcm_loop_cosq_discard_profile_update(
   1419 	int	unit,
   1420 	int	profile_id,
   1421 	bcm_cosq_discard_rule_t *	rule)
   1422 {
   1423 	return bcm_cosq_discard_profile_update(
   1424 			BCM_CONTROL(unit)->unit,
   1425 			profile_id,
   1426 			rule);
   1427 }
   1428 
   1429 /* bcm_cosq_discard_rule_t_init not dispatchable */
   1430 
   1431 int
   1432 bcm_loop_cosq_discard_set(
   1433 	int	unit,
   1434 	uint32	flags)
   1435 {
   1436 	return bcm_cosq_discard_set(
   1437 			BCM_CONTROL(unit)->unit,
   1438 			flags);
   1439 }
   1440 
   1441 int
   1442 bcm_loop_cosq_event_register(
   1443 	int	unit,
   1444 	bcm_cosq_event_types_t	event_types,
   1445 	bcm_gport_t	port,
   1446 	bcm_cos_queue_t	cosq,
   1447 	bcm_cosq_event_cb	cb,
   1448 	void *	user_data)
   1449 {
   1450 	return bcm_cosq_event_register(
   1451 			BCM_CONTROL(unit)->unit,
   1452 			event_types,
   1453 			port,
   1454 			cosq,
   1455 			cb,
   1456 			user_data);
   1457 }
   1458 
   1459 int
   1460 bcm_loop_cosq_event_unregister(
   1461 	int	unit,
   1462 	bcm_cosq_event_types_t	event_types,
   1463 	bcm_gport_t	port,
   1464 	bcm_cos_queue_t	cosq,
   1465 	bcm_cosq_event_cb	cb)
   1466 {
   1467 	return bcm_cosq_event_unregister(
   1468 			BCM_CONTROL(unit)->unit,
   1469 			event_types,
   1470 			port,
   1471 			cosq,
   1472 			cb);
   1473 }
   1474 
   1475 /* bcm_cosq_fadt_info_t_init not dispatchable */
   1476 
   1477 int
   1478 bcm_loop_cosq_fc_path_add(
   1479 	int	unit,
   1480 	bcm_cosq_fc_direction_type_t	fc_direction,
   1481 	bcm_cosq_fc_endpoint_t *	source,
   1482 	bcm_cosq_fc_endpoint_t *	target)
   1483 {
   1484 	return bcm_cosq_fc_path_add(
   1485 			BCM_CONTROL(unit)->unit,
   1486 			fc_direction,
   1487 			source,
   1488 			target);
   1489 }
   1490 
   1491 int
   1492 bcm_loop_cosq_fc_path_delete(
   1493 	int	unit,
   1494 	bcm_cosq_fc_direction_type_t	fc_direction,
   1495 	bcm_cosq_fc_endpoint_t *	source,
   1496 	bcm_cosq_fc_endpoint_t *	target)
   1497 {
   1498 	return bcm_cosq_fc_path_delete(
   1499 			BCM_CONTROL(unit)->unit,
   1500 			fc_direction,
   1501 			source,
   1502 			target);
   1503 }
   1504 
   1505 int
   1506 bcm_loop_cosq_fc_path_get(
   1507 	int	unit,
   1508 	bcm_cosq_fc_direction_type_t	fc_direction,
   1509 	bcm_cosq_fc_endpoint_t *	source,
   1510 	int	target_max,
   1511 	bcm_cosq_fc_endpoint_t *	target,
   1512 	int *	target_count)
   1513 {
   1514 	return bcm_cosq_fc_path_get(
   1515 			BCM_CONTROL(unit)->unit,
   1516 			fc_direction,
   1517 			source,
   1518 			target_max,
   1519 			target,
   1520 			target_count);
   1521 }
   1522 
   1523 int
   1524 bcm_loop_cosq_generic_control_get(
   1525 	int	unit,
   1526 	uint32	flags,
   1527 	bcm_gport_t	gport,
   1528 	uint32	key,
   1529 	bcm_cosq_generic_control_t	type,
   1530 	uint32 *	arg)
   1531 {
   1532 	return bcm_cosq_generic_control_get(
   1533 			BCM_CONTROL(unit)->unit,
   1534 			flags,
   1535 			gport,
   1536 			key,
   1537 			type,
   1538 			arg);
   1539 }
   1540 
   1541 int
   1542 bcm_loop_cosq_generic_control_set(
   1543 	int	unit,
   1544 	uint32	flags,
   1545 	bcm_gport_t	gport,
   1546 	uint32	key,
   1547 	bcm_cosq_generic_control_t	type,
   1548 	uint32	arg)
   1549 {
   1550 	return bcm_cosq_generic_control_set(
   1551 			BCM_CONTROL(unit)->unit,
   1552 			flags,
   1553 			gport,
   1554 			key,
   1555 			type,
   1556 			arg);
   1557 }
   1558 
   1559 int
   1560 bcm_loop_cosq_gport_add(
   1561 	int	unit,
   1562 	bcm_gport_t	port,
   1563 	int	numq,
   1564 	uint32	flags,
   1565 	bcm_gport_t *	gport)
   1566 {
   1567 	return bcm_cosq_gport_add(
   1568 			BCM_CONTROL(unit)->unit,
   1569 			port,
   1570 			numq,
   1571 			flags,
   1572 			gport);
   1573 }
   1574 
   1575 int
   1576 bcm_loop_cosq_gport_attach(
   1577 	int	unit,
   1578 	bcm_gport_t	sched_port,
   1579 	bcm_gport_t	input_port,
   1580 	bcm_cos_queue_t	cosq)
   1581 {
   1582 	return bcm_cosq_gport_attach(
   1583 			BCM_CONTROL(unit)->unit,
   1584 			sched_port,
   1585 			input_port,
   1586 			cosq);
   1587 }
   1588 
   1589 int
   1590 bcm_loop_cosq_gport_attach_get(
   1591 	int	unit,
   1592 	bcm_gport_t	sched_port,
   1593 	bcm_gport_t *	input_port,
   1594 	bcm_cos_queue_t *	cosq)
   1595 {
   1596 	return bcm_cosq_gport_attach_get(
   1597 			BCM_CONTROL(unit)->unit,
   1598 			sched_port,
   1599 			input_port,
   1600 			cosq);
   1601 }
   1602 
   1603 int
   1604 bcm_loop_cosq_gport_bandwidth_get(
   1605 	int	unit,
   1606 	bcm_gport_t	gport,
   1607 	bcm_cos_queue_t	cosq,
   1608 	uint32 *	kbits_sec_min,
   1609 	uint32 *	kbits_sec_max,
   1610 	uint32 *	flags)
   1611 {
   1612 	return bcm_cosq_gport_bandwidth_get(
   1613 			BCM_CONTROL(unit)->unit,
   1614 			gport,
   1615 			cosq,
   1616 			kbits_sec_min,
   1617 			kbits_sec_max,
   1618 			flags);
   1619 }
   1620 
   1621 int
   1622 bcm_loop_cosq_gport_bandwidth_set(
   1623 	int	unit,
   1624 	bcm_gport_t	gport,
   1625 	bcm_cos_queue_t	cosq,
   1626 	uint32	kbits_sec_min,
   1627 	uint32	kbits_sec_max,
   1628 	uint32	flags)
   1629 {
   1630 	return bcm_cosq_gport_bandwidth_set(
   1631 			BCM_CONTROL(unit)->unit,
   1632 			gport,
   1633 			cosq,
   1634 			kbits_sec_min,
   1635 			kbits_sec_max,
   1636 			flags);
   1637 }
   1638 
   1639 int
   1640 bcm_loop_cosq_gport_child_get(
   1641 	int	unit,
   1642 	bcm_gport_t	in_gport,
   1643 	bcm_cos_queue_t	cosq,
   1644 	bcm_gport_t *	out_gport)
   1645 {
   1646 	return bcm_cosq_gport_child_get(
   1647 			BCM_CONTROL(unit)->unit,
   1648 			in_gport,
   1649 			cosq,
   1650 			out_gport);
   1651 }
   1652 
   1653 int
   1654 bcm_loop_cosq_gport_color_size_get(
   1655 	int	unit,
   1656 	bcm_gport_t	gport,
   1657 	bcm_cos_queue_t	cosq,
   1658 	bcm_color_t	color,
   1659 	uint32	flags,
   1660 	bcm_cosq_gport_size_t *	gport_size)
   1661 {
   1662 	return bcm_cosq_gport_color_size_get(
   1663 			BCM_CONTROL(unit)->unit,
   1664 			gport,
   1665 			cosq,
   1666 			color,
   1667 			flags,
   1668 			gport_size);
   1669 }
   1670 
   1671 int
   1672 bcm_loop_cosq_gport_color_size_set(
   1673 	int	unit,
   1674 	bcm_gport_t	gport,
   1675 	bcm_cos_queue_t	cosq,
   1676 	bcm_color_t	color,
   1677 	uint32	flags,
   1678 	bcm_cosq_gport_size_t *	gport_size)
   1679 {
   1680 	return bcm_cosq_gport_color_size_set(
   1681 			BCM_CONTROL(unit)->unit,
   1682 			gport,
   1683 			cosq,
   1684 			color,
   1685 			flags,
   1686 			gport_size);
   1687 }
   1688 
   1689 int
   1690 bcm_loop_cosq_gport_congestion_config_get(
   1691 	int	unit,
   1692 	bcm_gport_t	gport,
   1693 	bcm_cos_queue_t	cosq,
   1694 	bcm_cosq_congestion_info_t *	config)
   1695 {
   1696 	return bcm_cosq_gport_congestion_config_get(
   1697 			BCM_CONTROL(unit)->unit,
   1698 			gport,
   1699 			cosq,
   1700 			config);
   1701 }
   1702 
   1703 int
   1704 bcm_loop_cosq_gport_congestion_config_set(
   1705 	int	unit,
   1706 	bcm_gport_t	gport,
   1707 	bcm_cos_queue_t	cosq,
   1708 	bcm_cosq_congestion_info_t *	config)
   1709 {
   1710 	return bcm_cosq_gport_congestion_config_set(
   1711 			BCM_CONTROL(unit)->unit,
   1712 			gport,
   1713 			cosq,
   1714 			config);
   1715 }
   1716 
   1717 int
   1718 bcm_loop_cosq_gport_connection_get(
   1719 	int	unit,
   1720 	bcm_cosq_gport_connection_t *	gport_connect)
   1721 {
   1722 	return bcm_cosq_gport_connection_get(
   1723 			BCM_CONTROL(unit)->unit,
   1724 			gport_connect);
   1725 }
   1726 
   1727 int
   1728 bcm_loop_cosq_gport_connection_set(
   1729 	int	unit,
   1730 	bcm_cosq_gport_connection_t *	gport_connect)
   1731 {
   1732 	return bcm_cosq_gport_connection_set(
   1733 			BCM_CONTROL(unit)->unit,
   1734 			gport_connect);
   1735 }
   1736 
   1737 int
   1738 bcm_loop_cosq_gport_delete(
   1739 	int	unit,
   1740 	bcm_gport_t	gport)
   1741 {
   1742 	return bcm_cosq_gport_delete(
   1743 			BCM_CONTROL(unit)->unit,
   1744 			gport);
   1745 }
   1746 
   1747 int
   1748 bcm_loop_cosq_gport_destmod_attach(
   1749 	int	unit,
   1750 	bcm_gport_t	gport,
   1751 	bcm_port_t	ingress_port,
   1752 	bcm_module_t	dest_modid,
   1753 	int	fabric_egress_port)
   1754 {
   1755 	return bcm_cosq_gport_destmod_attach(
   1756 			BCM_CONTROL(unit)->unit,
   1757 			gport,
   1758 			ingress_port,
   1759 			dest_modid,
   1760 			fabric_egress_port);
   1761 }
   1762 
   1763 int
   1764 bcm_loop_cosq_gport_destmod_detach(
   1765 	int	unit,
   1766 	bcm_gport_t	gport,
   1767 	bcm_port_t	ingress_port,
   1768 	bcm_module_t	dest_modid,
   1769 	int	fabric_egress_port)
   1770 {
   1771 	return bcm_cosq_gport_destmod_detach(
   1772 			BCM_CONTROL(unit)->unit,
   1773 			gport,
   1774 			ingress_port,
   1775 			dest_modid,
   1776 			fabric_egress_port);
   1777 }
   1778 
   1779 int
   1780 bcm_loop_cosq_gport_detach(
   1781 	int	unit,
   1782 	bcm_gport_t	sched_port,
   1783 	bcm_gport_t	input_port,
   1784 	bcm_cos_queue_t	cosq)
   1785 {
   1786 	return bcm_cosq_gport_detach(
   1787 			BCM_CONTROL(unit)->unit,
   1788 			sched_port,
   1789 			input_port,
   1790 			cosq);
   1791 }
   1792 
   1793 int
   1794 bcm_loop_cosq_gport_discard_extended_get(
   1795 	int	unit,
   1796 	bcm_cosq_object_id_t *	id,
   1797 	bcm_cosq_gport_discard_t *	discard)
   1798 {
   1799 	return bcm_cosq_gport_discard_extended_get(
   1800 			BCM_CONTROL(unit)->unit,
   1801 			id,
   1802 			discard);
   1803 }
   1804 
   1805 int
   1806 bcm_loop_cosq_gport_discard_extended_set(
   1807 	int	unit,
   1808 	bcm_cosq_object_id_t *	id,
   1809 	bcm_cosq_gport_discard_t *	discard)
   1810 {
   1811 	return bcm_cosq_gport_discard_extended_set(
   1812 			BCM_CONTROL(unit)->unit,
   1813 			id,
   1814 			discard);
   1815 }
   1816 
   1817 int
   1818 bcm_loop_cosq_gport_discard_get(
   1819 	int	unit,
   1820 	bcm_gport_t	gport,
   1821 	bcm_cos_queue_t	cosq,
   1822 	bcm_cosq_gport_discard_t *	discard)
   1823 {
   1824 	return bcm_cosq_gport_discard_get(
   1825 			BCM_CONTROL(unit)->unit,
   1826 			gport,
   1827 			cosq,
   1828 			discard);
   1829 }
   1830 
   1831 int
   1832 bcm_loop_cosq_gport_discard_set(
   1833 	int	unit,
   1834 	bcm_gport_t	gport,
   1835 	bcm_cos_queue_t	cosq,
   1836 	bcm_cosq_gport_discard_t *	discard)
   1837 {
   1838 	return bcm_cosq_gport_discard_set(
   1839 			BCM_CONTROL(unit)->unit,
   1840 			gport,
   1841 			cosq,
   1842 			discard);
   1843 }
   1844 
   1845 /* bcm_cosq_gport_discard_t_init not dispatchable */
   1846 
   1847 int
   1848 bcm_loop_cosq_gport_dynamic_sched_get(
   1849 	int	unit,
   1850 	bcm_gport_t	gport,
   1851 	bcm_cos_queue_t	cosq,
   1852 	bcm_cosq_dynamic_state_t	state,
   1853 	int *	weight)
   1854 {
   1855 	return bcm_cosq_gport_dynamic_sched_get(
   1856 			BCM_CONTROL(unit)->unit,
   1857 			gport,
   1858 			cosq,
   1859 			state,
   1860 			weight);
   1861 }
   1862 
   1863 int
   1864 bcm_loop_cosq_gport_dynamic_sched_set(
   1865 	int	unit,
   1866 	bcm_gport_t	gport,
   1867 	bcm_cos_queue_t	cosq,
   1868 	bcm_cosq_dynamic_state_t	state,
   1869 	int	weight)
   1870 {
   1871 	return bcm_cosq_gport_dynamic_sched_set(
   1872 			BCM_CONTROL(unit)->unit,
   1873 			gport,
   1874 			cosq,
   1875 			state,
   1876 			weight);
   1877 }
   1878 
   1879 int
   1880 bcm_loop_cosq_gport_egress_map_get(
   1881 	int	unit,
   1882 	bcm_gport_t	gport,
   1883 	bcm_cos_t	ingress_pri,
   1884 	bcm_color_t	ingress_dp,
   1885 	bcm_cos_queue_t *	offset)
   1886 {
   1887 	return bcm_cosq_gport_egress_map_get(
   1888 			BCM_CONTROL(unit)->unit,
   1889 			gport,
   1890 			ingress_pri,
   1891 			ingress_dp,
   1892 			offset);
   1893 }
   1894 
   1895 int
   1896 bcm_loop_cosq_gport_egress_map_set(
   1897 	int	unit,
   1898 	bcm_gport_t	gport,
   1899 	bcm_cos_t	ingress_pri,
   1900 	bcm_color_t	ingress_dp,
   1901 	bcm_cos_queue_t	offset)
   1902 {
   1903 	return bcm_cosq_gport_egress_map_set(
   1904 			BCM_CONTROL(unit)->unit,
   1905 			gport,
   1906 			ingress_pri,
   1907 			ingress_dp,
   1908 			offset);
   1909 }
   1910 
   1911 int
   1912 bcm_loop_cosq_gport_egress_mapping_get(
   1913 	int	unit,
   1914 	bcm_gport_t	gport,
   1915 	bcm_cos_t *	int_pri,
   1916 	bcm_cos_t *	cos,
   1917 	uint32	flags)
   1918 {
   1919 	return bcm_cosq_gport_egress_mapping_get(
   1920 			BCM_CONTROL(unit)->unit,
   1921 			gport,
   1922 			int_pri,
   1923 			cos,
   1924 			flags);
   1925 }
   1926 
   1927 int
   1928 bcm_loop_cosq_gport_egress_mapping_set(
   1929 	int	unit,
   1930 	bcm_gport_t	gport,
   1931 	bcm_cos_t	int_pri,
   1932 	bcm_cos_t	cos,
   1933 	uint32	flags)
   1934 {
   1935 	return bcm_cosq_gport_egress_mapping_set(
   1936 			BCM_CONTROL(unit)->unit,
   1937 			gport,
   1938 			int_pri,
   1939 			cos,
   1940 			flags);
   1941 }
   1942 
   1943 int
   1944 bcm_loop_cosq_gport_egress_multicast_config_get(
   1945 	int	unit,
   1946 	bcm_gport_t	gport,
   1947 	bcm_cos_t	ingress_pri,
   1948 	bcm_color_t	ingress_dp,
   1949 	uint32	flags,
   1950 	bcm_cosq_egress_multicast_config_t *	config)
   1951 {
   1952 	return bcm_cosq_gport_egress_multicast_config_get(
   1953 			BCM_CONTROL(unit)->unit,
   1954 			gport,
   1955 			ingress_pri,
   1956 			ingress_dp,
   1957 			flags,
   1958 			config);
   1959 }
   1960 
   1961 int
   1962 bcm_loop_cosq_gport_egress_multicast_config_set(
   1963 	int	unit,
   1964 	bcm_gport_t	gport,
   1965 	bcm_cos_t	ingress_pri,
   1966 	bcm_color_t	ingress_dp,
   1967 	uint32	flags,
   1968 	bcm_cosq_egress_multicast_config_t *	config)
   1969 {
   1970 	return bcm_cosq_gport_egress_multicast_config_set(
   1971 			BCM_CONTROL(unit)->unit,
   1972 			gport,
   1973 			ingress_pri,
   1974 			ingress_dp,
   1975 			flags,
   1976 			config);
   1977 }
   1978 
   1979 int
   1980 bcm_loop_cosq_gport_enable_get(
   1981 	int	unit,
   1982 	bcm_gport_t	gport,
   1983 	bcm_cos_queue_t	cosq,
   1984 	int *	enable)
   1985 {
   1986 	return bcm_cosq_gport_enable_get(
   1987 			BCM_CONTROL(unit)->unit,
   1988 			gport,
   1989 			cosq,
   1990 			enable);
   1991 }
   1992 
   1993 int
   1994 bcm_loop_cosq_gport_enable_set(
   1995 	int	unit,
   1996 	bcm_gport_t	gport,
   1997 	bcm_cos_queue_t	cosq,
   1998 	int	enable)
   1999 {
   2000 	return bcm_cosq_gport_enable_set(
   2001 			BCM_CONTROL(unit)->unit,
   2002 			gport,
   2003 			cosq,
   2004 			enable);
   2005 }
   2006 
   2007 int
   2008 bcm_loop_cosq_gport_fadt_threshold_get(
   2009 	int	unit,
   2010 	uint32	flags,
   2011 	bcm_cosq_fadt_info_t *	fadt_info,
   2012 	bcm_cosq_fadt_threshold_t *	threshold)
   2013 {
   2014 	return bcm_cosq_gport_fadt_threshold_get(
   2015 			BCM_CONTROL(unit)->unit,
   2016 			flags,
   2017 			fadt_info,
   2018 			threshold);
   2019 }
   2020 
   2021 int
   2022 bcm_loop_cosq_gport_fadt_threshold_set(
   2023 	int	unit,
   2024 	uint32	flags,
   2025 	bcm_cosq_fadt_info_t *	fadt_info,
   2026 	bcm_cosq_fadt_threshold_t *	threshold)
   2027 {
   2028 	return bcm_cosq_gport_fadt_threshold_set(
   2029 			BCM_CONTROL(unit)->unit,
   2030 			flags,
   2031 			fadt_info,
   2032 			threshold);
   2033 }
   2034 
   2035 int
   2036 bcm_loop_cosq_gport_flow_control_get(
   2037 	int	unit,
   2038 	bcm_gport_t	port,
   2039 	bcm_cos_t	int_pri,
   2040 	uint32 *	flow_control_mask)
   2041 {
   2042 	return bcm_cosq_gport_flow_control_get(
   2043 			BCM_CONTROL(unit)->unit,
   2044 			port,
   2045 			int_pri,
   2046 			flow_control_mask);
   2047 }
   2048 
   2049 int
   2050 bcm_loop_cosq_gport_flow_control_set(
   2051 	int	unit,
   2052 	bcm_gport_t	port,
   2053 	bcm_cos_t	int_pri,
   2054 	uint32	flow_control_mask)
   2055 {
   2056 	return bcm_cosq_gport_flow_control_set(
   2057 			BCM_CONTROL(unit)->unit,
   2058 			port,
   2059 			int_pri,
   2060 			flow_control_mask);
   2061 }
   2062 
   2063 int
   2064 bcm_loop_cosq_gport_get(
   2065 	int	unit,
   2066 	bcm_gport_t	gport,
   2067 	bcm_gport_t *	physical_port,
   2068 	int *	num_cos_levels,
   2069 	uint32 *	flags)
   2070 {
   2071 	return bcm_cosq_gport_get(
   2072 			BCM_CONTROL(unit)->unit,
   2073 			gport,
   2074 			physical_port,
   2075 			num_cos_levels,
   2076 			flags);
   2077 }
   2078 
   2079 int
   2080 bcm_loop_cosq_gport_handle_core_get(
   2081 	int	unit,
   2082 	bcm_core_t	core,
   2083 	bcm_cosq_gport_info_core_t *	gport_info,
   2084 	bcm_gport_t *	out_gport)
   2085 {
   2086 	return bcm_cosq_gport_handle_core_get(
   2087 			BCM_CONTROL(unit)->unit,
   2088 			core,
   2089 			gport_info,
   2090 			out_gport);
   2091 }
   2092 
   2093 int
   2094 bcm_loop_cosq_gport_handle_get(
   2095 	int	unit,
   2096 	bcm_cosq_gport_type_t	gport_type,
   2097 	bcm_cosq_gport_info_t *	gport_info)
   2098 {
   2099 	return bcm_cosq_gport_handle_get(
   2100 			BCM_CONTROL(unit)->unit,
   2101 			gport_type,
   2102 			gport_info);
   2103 }
   2104 
   2105 int
   2106 bcm_loop_cosq_gport_info_get(
   2107 	int	unit,
   2108 	bcm_gport_t	gport,
   2109 	bcm_cosq_gport_level_info_t *	info)
   2110 {
   2111 	return bcm_cosq_gport_info_get(
   2112 			BCM_CONTROL(unit)->unit,
   2113 			gport,
   2114 			info);
   2115 }
   2116 
   2117 /* bcm_cosq_gport_level_info_t_init not dispatchable */
   2118 
   2119 int
   2120 bcm_loop_cosq_gport_mapping_get(
   2121 	int	unit,
   2122 	bcm_port_t	ing_port,
   2123 	bcm_cos_t	int_pri,
   2124 	uint32	flags,
   2125 	bcm_gport_t *	gport,
   2126 	bcm_cos_queue_t *	cosq)
   2127 {
   2128 	return bcm_cosq_gport_mapping_get(
   2129 			BCM_CONTROL(unit)->unit,
   2130 			ing_port,
   2131 			int_pri,
   2132 			flags,
   2133 			gport,
   2134 			cosq);
   2135 }
   2136 
   2137 int
   2138 bcm_loop_cosq_gport_mapping_set(
   2139 	int	unit,
   2140 	bcm_port_t	ing_port,
   2141 	bcm_cos_t	int_pri,
   2142 	uint32	flags,
   2143 	bcm_gport_t	gport,
   2144 	bcm_cos_queue_t	cosq)
   2145 {
   2146 	return bcm_cosq_gport_mapping_set(
   2147 			BCM_CONTROL(unit)->unit,
   2148 			ing_port,
   2149 			int_pri,
   2150 			flags,
   2151 			gport,
   2152 			cosq);
   2153 }
   2154 
   2155 int
   2156 bcm_loop_cosq_gport_multipath_add(
   2157 	int	unit,
   2158 	bcm_gport_t	multipath_gport,
   2159 	bcm_gport_t	member_gport,
   2160 	bcm_cos_queue_t	member_gport_cosq)
   2161 {
   2162 	return bcm_cosq_gport_multipath_add(
   2163 			BCM_CONTROL(unit)->unit,
   2164 			multipath_gport,
   2165 			member_gport,
   2166 			member_gport_cosq);
   2167 }
   2168 
   2169 int
   2170 bcm_loop_cosq_gport_multipath_delete(
   2171 	int	unit,
   2172 	bcm_gport_t	multipath_gport,
   2173 	bcm_gport_t	member_gport,
   2174 	bcm_cos_queue_t	member_gport_cosq)
   2175 {
   2176 	return bcm_cosq_gport_multipath_delete(
   2177 			BCM_CONTROL(unit)->unit,
   2178 			multipath_gport,
   2179 			member_gport,
   2180 			member_gport_cosq);
   2181 }
   2182 
   2183 int
   2184 bcm_loop_cosq_gport_multipath_get(
   2185 	int	unit,
   2186 	bcm_gport_t	multipath_gport,
   2187 	int	member_gport_max,
   2188 	bcm_gport_t *	member_gport_array,
   2189 	bcm_cos_queue_t *	member_gport_cosq_array,
   2190 	int *	member_gport_count)
   2191 {
   2192 	return bcm_cosq_gport_multipath_get(
   2193 			BCM_CONTROL(unit)->unit,
   2194 			multipath_gport,
   2195 			member_gport_max,
   2196 			member_gport_array,
   2197 			member_gport_cosq_array,
   2198 			member_gport_count);
   2199 }
   2200 
   2201 int
   2202 bcm_loop_cosq_gport_parent_get(
   2203 	int	unit,
   2204 	bcm_gport_t	child_port,
   2205 	bcm_cos_queue_t	cos,
   2206 	bcm_gport_t *	parent_port)
   2207 {
   2208 	return bcm_cosq_gport_parent_get(
   2209 			BCM_CONTROL(unit)->unit,
   2210 			child_port,
   2211 			cos,
   2212 			parent_port);
   2213 }
   2214 
   2215 int
   2216 bcm_loop_cosq_gport_pkt_size_adjust_get(
   2217 	int	unit,
   2218 	bcm_cosq_pkt_size_adjust_info_t *	adjust_info,
   2219 	int *	delta)
   2220 {
   2221 	return bcm_cosq_gport_pkt_size_adjust_get(
   2222 			BCM_CONTROL(unit)->unit,
   2223 			adjust_info,
   2224 			delta);
   2225 }
   2226 
   2227 int
   2228 bcm_loop_cosq_gport_pkt_size_adjust_set(
   2229 	int	unit,
   2230 	bcm_cosq_pkt_size_adjust_info_t *	adjust_info,
   2231 	int	delta)
   2232 {
   2233 	return bcm_cosq_gport_pkt_size_adjust_set(
   2234 			BCM_CONTROL(unit)->unit,
   2235 			adjust_info,
   2236 			delta);
   2237 }
   2238 
   2239 int
   2240 bcm_loop_cosq_gport_pon_link_sla_get(
   2241 	int	unit,
   2242 	bcm_gport_t	gport,
   2243 	bcm_cos_pon_link_sla_t *	link_sla)
   2244 {
   2245 	return bcm_cosq_gport_pon_link_sla_get(
   2246 			BCM_CONTROL(unit)->unit,
   2247 			gport,
   2248 			link_sla);
   2249 }
   2250 
   2251 int
   2252 bcm_loop_cosq_gport_pon_link_sla_set(
   2253 	int	unit,
   2254 	bcm_gport_t	gport,
   2255 	bcm_cos_pon_link_sla_t *	link_sla)
   2256 {
   2257 	return bcm_cosq_gport_pon_link_sla_set(
   2258 			BCM_CONTROL(unit)->unit,
   2259 			gport,
   2260 			link_sla);
   2261 }
   2262 
   2263 int
   2264 bcm_loop_cosq_gport_queue_attach(
   2265 	int	unit,
   2266 	uint32	flags,
   2267 	bcm_gport_t	ingress_queue,
   2268 	bcm_cos_t	ingress_int_pri,
   2269 	bcm_gport_t	egress_queue,
   2270 	bcm_cos_t	egress_int_pri,
   2271 	int *	attach_id)
   2272 {
   2273 	return bcm_cosq_gport_queue_attach(
   2274 			BCM_CONTROL(unit)->unit,
   2275 			flags,
   2276 			ingress_queue,
   2277 			ingress_int_pri,
   2278 			egress_queue,
   2279 			egress_int_pri,
   2280 			attach_id);
   2281 }
   2282 
   2283 int
   2284 bcm_loop_cosq_gport_queue_attach_get(
   2285 	int	unit,
   2286 	bcm_gport_t	ingress_queue,
   2287 	bcm_cos_t	ingress_int_pri,
   2288 	bcm_gport_t *	egress_queue,
   2289 	bcm_cos_t *	egress_int_pri,
   2290 	int	attach_id)
   2291 {
   2292 	return bcm_cosq_gport_queue_attach_get(
   2293 			BCM_CONTROL(unit)->unit,
   2294 			ingress_queue,
   2295 			ingress_int_pri,
   2296 			egress_queue,
   2297 			egress_int_pri,
   2298 			attach_id);
   2299 }
   2300 
   2301 int
   2302 bcm_loop_cosq_gport_queue_detach(
   2303 	int	unit,
   2304 	bcm_gport_t	ingress_queue,
   2305 	bcm_cos_t	ingress_int_pri,
   2306 	int	attach_id)
   2307 {
   2308 	return bcm_cosq_gport_queue_detach(
   2309 			BCM_CONTROL(unit)->unit,
   2310 			ingress_queue,
   2311 			ingress_int_pri,
   2312 			attach_id);
   2313 }
   2314 
   2315 int
   2316 bcm_loop_cosq_gport_rate_class_create(
   2317 	int	unit,
   2318 	bcm_gport_t	gport,
   2319 	uint32	flags,
   2320 	bcm_cosq_rate_class_create_info_t *	create_info)
   2321 {
   2322 	return bcm_cosq_gport_rate_class_create(
   2323 			BCM_CONTROL(unit)->unit,
   2324 			gport,
   2325 			flags,
   2326 			create_info);
   2327 }
   2328 
   2329 int
   2330 bcm_loop_cosq_gport_reattach(
   2331 	int	unit,
   2332 	bcm_gport_t	sched_port,
   2333 	bcm_gport_t	input_port,
   2334 	bcm_cos_queue_t	cosq)
   2335 {
   2336 	return bcm_cosq_gport_reattach(
   2337 			BCM_CONTROL(unit)->unit,
   2338 			sched_port,
   2339 			input_port,
   2340 			cosq);
   2341 }
   2342 
   2343 int
   2344 bcm_loop_cosq_gport_report_threshold_get(
   2345 	int	unit,
   2346 	bcm_gport_t	gport,
   2347 	bcm_cos_queue_t	cosq,
   2348 	bcm_cosq_report_threshold_t *	threshold)
   2349 {
   2350 	return bcm_cosq_gport_report_threshold_get(
   2351 			BCM_CONTROL(unit)->unit,
   2352 			gport,
   2353 			cosq,
   2354 			threshold);
   2355 }
   2356 
   2357 int
   2358 bcm_loop_cosq_gport_report_threshold_set(
   2359 	int	unit,
   2360 	bcm_gport_t	gport,
   2361 	bcm_cos_queue_t	cosq,
   2362 	bcm_cosq_report_threshold_t *	threshold)
   2363 {
   2364 	return bcm_cosq_gport_report_threshold_set(
   2365 			BCM_CONTROL(unit)->unit,
   2366 			gport,
   2367 			cosq,
   2368 			threshold);
   2369 }
   2370 
   2371 int
   2372 bcm_loop_cosq_gport_sched_config_get(
   2373 	int	unit,
   2374 	bcm_gport_t	gport,
   2375 	int	sched_mode,
   2376 	int	int_pri,
   2377 	uint32 *	flags)
   2378 {
   2379 	return bcm_cosq_gport_sched_config_get(
   2380 			BCM_CONTROL(unit)->unit,
   2381 			gport,
   2382 			sched_mode,
   2383 			int_pri,
   2384 			flags);
   2385 }
   2386 
   2387 int
   2388 bcm_loop_cosq_gport_sched_config_set(
   2389 	int	unit,
   2390 	bcm_gport_t	gport,
   2391 	int	sched_mode,
   2392 	int	int_pri,
   2393 	uint32	flags)
   2394 {
   2395 	return bcm_cosq_gport_sched_config_set(
   2396 			BCM_CONTROL(unit)->unit,
   2397 			gport,
   2398 			sched_mode,
   2399 			int_pri,
   2400 			flags);
   2401 }
   2402 
   2403 int
   2404 bcm_loop_cosq_gport_sched_get(
   2405 	int	unit,
   2406 	bcm_gport_t	gport,
   2407 	bcm_cos_queue_t	cosq,
   2408 	int *	mode,
   2409 	int *	weight)
   2410 {
   2411 	return bcm_cosq_gport_sched_get(
   2412 			BCM_CONTROL(unit)->unit,
   2413 			gport,
   2414 			cosq,
   2415 			mode,
   2416 			weight);
   2417 }
   2418 
   2419 int
   2420 bcm_loop_cosq_gport_sched_set(
   2421 	int	unit,
   2422 	bcm_gport_t	gport,
   2423 	bcm_cos_queue_t	cosq,
   2424 	int	mode,
   2425 	int	weight)
   2426 {
   2427 	return bcm_cosq_gport_sched_set(
   2428 			BCM_CONTROL(unit)->unit,
   2429 			gport,
   2430 			cosq,
   2431 			mode,
   2432 			weight);
   2433 }
   2434 
   2435 int
   2436 bcm_loop_cosq_gport_size_get(
   2437 	int	unit,
   2438 	bcm_gport_t	gport,
   2439 	bcm_cos_queue_t	cosq,
   2440 	uint32 *	bytes_min,
   2441 	uint32 *	bytes_max)
   2442 {
   2443 	return bcm_cosq_gport_size_get(
   2444 			BCM_CONTROL(unit)->unit,
   2445 			gport,
   2446 			cosq,
   2447 			bytes_min,
   2448 			bytes_max);
   2449 }
   2450 
   2451 int
   2452 bcm_loop_cosq_gport_size_set(
   2453 	int	unit,
   2454 	bcm_gport_t	gport,
   2455 	bcm_cos_queue_t	cosq,
   2456 	uint32	bytes_min,
   2457 	uint32	bytes_max)
   2458 {
   2459 	return bcm_cosq_gport_size_set(
   2460 			BCM_CONTROL(unit)->unit,
   2461 			gport,
   2462 			cosq,
   2463 			bytes_min,
   2464 			bytes_max);
   2465 }
   2466 
   2467 int
   2468 bcm_loop_cosq_gport_stat_enable_get(
   2469 	int	unit,
   2470 	bcm_gport_t	gport,
   2471 	int *	enable)
   2472 {
   2473 	return bcm_cosq_gport_stat_enable_get(
   2474 			BCM_CONTROL(unit)->unit,
   2475 			gport,
   2476 			enable);
   2477 }
   2478 
   2479 int
   2480 bcm_loop_cosq_gport_stat_enable_set(
   2481 	int	unit,
   2482 	bcm_gport_t	gport,
   2483 	int	enable)
   2484 {
   2485 	return bcm_cosq_gport_stat_enable_set(
   2486 			BCM_CONTROL(unit)->unit,
   2487 			gport,
   2488 			enable);
   2489 }
   2490 
   2491 int
   2492 bcm_loop_cosq_gport_stat_get(
   2493 	int	unit,
   2494 	bcm_gport_t	gport,
   2495 	bcm_cos_queue_t	cosq,
   2496 	bcm_cosq_gport_stats_t	stat,
   2497 	uint64 *	value)
   2498 {
   2499 	return bcm_cosq_gport_stat_get(
   2500 			BCM_CONTROL(unit)->unit,
   2501 			gport,
   2502 			cosq,
   2503 			stat,
   2504 			value);
   2505 }
   2506 
   2507 int
   2508 bcm_loop_cosq_gport_stat_set(
   2509 	int	unit,
   2510 	bcm_gport_t	gport,
   2511 	bcm_cos_queue_t	cosq,
   2512 	bcm_cosq_gport_stats_t	stat,
   2513 	uint64	value)
   2514 {
   2515 	return bcm_cosq_gport_stat_set(
   2516 			BCM_CONTROL(unit)->unit,
   2517 			gport,
   2518 			cosq,
   2519 			stat,
   2520 			value);
   2521 }
   2522 
   2523 int
   2524 bcm_loop_cosq_gport_stat_sync_get(
   2525 	int	unit,
   2526 	bcm_gport_t	gport,
   2527 	bcm_cos_queue_t	cosq,
   2528 	bcm_cosq_gport_stats_t	stat,
   2529 	uint64 *	value)
   2530 {
   2531 	return bcm_cosq_gport_stat_sync_get(
   2532 			BCM_CONTROL(unit)->unit,
   2533 			gport,
   2534 			cosq,
   2535 			stat,
   2536 			value);
   2537 }
   2538 
   2539 int
   2540 bcm_loop_cosq_gport_static_threshold_get(
   2541 	int	unit,
   2542 	uint32	flags,
   2543 	bcm_cosq_static_threshold_info_t *	thresh_info,
   2544 	bcm_cosq_static_threshold_t *	threshold)
   2545 {
   2546 	return bcm_cosq_gport_static_threshold_get(
   2547 			BCM_CONTROL(unit)->unit,
   2548 			flags,
   2549 			thresh_info,
   2550 			threshold);
   2551 }
   2552 
   2553 int
   2554 bcm_loop_cosq_gport_static_threshold_set(
   2555 	int	unit,
   2556 	uint32	flags,
   2557 	bcm_cosq_static_threshold_info_t *	thresh_info,
   2558 	bcm_cosq_static_threshold_t *	threshold)
   2559 {
   2560 	return bcm_cosq_gport_static_threshold_set(
   2561 			BCM_CONTROL(unit)->unit,
   2562 			flags,
   2563 			thresh_info,
   2564 			threshold);
   2565 }
   2566 
   2567 int
   2568 bcm_loop_cosq_gport_statistic_multi_get(
   2569 	int	unit,
   2570 	bcm_gport_t	gport,
   2571 	bcm_gport_t	lgl_gport,
   2572 	bcm_cos_queue_t	cosq,
   2573 	int	stat_count,
   2574 	bcm_cosq_gport_stats_t *	stats_array,
   2575 	int	value_count,
   2576 	uint64 *	value_array)
   2577 {
   2578 	return bcm_cosq_gport_statistic_multi_get(
   2579 			BCM_CONTROL(unit)->unit,
   2580 			gport,
   2581 			lgl_gport,
   2582 			cosq,
   2583 			stat_count,
   2584 			stats_array,
   2585 			value_count,
   2586 			value_array);
   2587 }
   2588 
   2589 int
   2590 bcm_loop_cosq_gport_statistic_multi_set(
   2591 	int	unit,
   2592 	bcm_gport_t	gport,
   2593 	bcm_gport_t	lgl_gport,
   2594 	bcm_cos_queue_t	cosq,
   2595 	int	stat_count,
   2596 	bcm_cosq_gport_stats_t *	stats_array,
   2597 	uint64	value)
   2598 {
   2599 	return bcm_cosq_gport_statistic_multi_set(
   2600 			BCM_CONTROL(unit)->unit,
   2601 			gport,
   2602 			lgl_gport,
   2603 			cosq,
   2604 			stat_count,
   2605 			stats_array,
   2606 			value);
   2607 }
   2608 
   2609 int
   2610 bcm_loop_cosq_gport_threshold_get(
   2611 	int	unit,
   2612 	bcm_gport_t	gport,
   2613 	bcm_cos_queue_t	cosq,
   2614 	bcm_cosq_threshold_t *	threshold)
   2615 {
   2616 	return bcm_cosq_gport_threshold_get(
   2617 			BCM_CONTROL(unit)->unit,
   2618 			gport,
   2619 			cosq,
   2620 			threshold);
   2621 }
   2622 
   2623 int
   2624 bcm_loop_cosq_gport_threshold_set(
   2625 	int	unit,
   2626 	bcm_gport_t	gport,
   2627 	bcm_cos_queue_t	cosq,
   2628 	bcm_cosq_threshold_t *	threshold)
   2629 {
   2630 	return bcm_cosq_gport_threshold_set(
   2631 			BCM_CONTROL(unit)->unit,
   2632 			gport,
   2633 			cosq,
   2634 			threshold);
   2635 }
   2636 
   2637 int
   2638 bcm_loop_cosq_gport_traverse(
   2639 	int	unit,
   2640 	bcm_cosq_gport_traverse_cb	cb,
   2641 	void *	user_data)
   2642 {
   2643 	return bcm_cosq_gport_traverse(
   2644 			BCM_CONTROL(unit)->unit,
   2645 			cb,
   2646 			user_data);
   2647 }
   2648 
   2649 int
   2650 bcm_loop_cosq_gport_traverse_by_port(
   2651 	int	unit,
   2652 	bcm_gport_t	port,
   2653 	bcm_cosq_gport_traverse_cb	cb,
   2654 	void *	user_data)
   2655 {
   2656 	return bcm_cosq_gport_traverse_by_port(
   2657 			BCM_CONTROL(unit)->unit,
   2658 			port,
   2659 			cb,
   2660 			user_data);
   2661 }
   2662 
   2663 int
   2664 bcm_loop_cosq_gport_vsq_add(
   2665 	int	unit,
   2666 	bcm_gport_t	vsq,
   2667 	bcm_gport_t	queue,
   2668 	bcm_cos_queue_t	cosq)
   2669 {
   2670 	return bcm_cosq_gport_vsq_add(
   2671 			BCM_CONTROL(unit)->unit,
   2672 			vsq,
   2673 			queue,
   2674 			cosq);
   2675 }
   2676 
   2677 int
   2678 bcm_loop_cosq_gport_vsq_create(
   2679 	int	unit,
   2680 	bcm_cosq_vsq_info_t *	vsq_info,
   2681 	bcm_gport_t *	vsq_gport)
   2682 {
   2683 	return bcm_cosq_gport_vsq_create(
   2684 			BCM_CONTROL(unit)->unit,
   2685 			vsq_info,
   2686 			vsq_gport);
   2687 }
   2688 
   2689 int
   2690 bcm_loop_cosq_gport_vsq_delete(
   2691 	int	unit,
   2692 	bcm_gport_t	vsq,
   2693 	bcm_gport_t	queue,
   2694 	bcm_cos_queue_t	cosq)
   2695 {
   2696 	return bcm_cosq_gport_vsq_delete(
   2697 			BCM_CONTROL(unit)->unit,
   2698 			vsq,
   2699 			queue,
   2700 			cosq);
   2701 }
   2702 
   2703 int
   2704 bcm_loop_cosq_gport_vsq_delete_all(
   2705 	int	unit,
   2706 	bcm_gport_t	vsq)
   2707 {
   2708 	return bcm_cosq_gport_vsq_delete_all(
   2709 			BCM_CONTROL(unit)->unit,
   2710 			vsq);
   2711 }
   2712 
   2713 int
   2714 bcm_loop_cosq_gport_vsq_destroy(
   2715 	int	unit,
   2716 	bcm_gport_t	vsq_gport)
   2717 {
   2718 	return bcm_cosq_gport_vsq_destroy(
   2719 			BCM_CONTROL(unit)->unit,
   2720 			vsq_gport);
   2721 }
   2722 
   2723 int
   2724 bcm_loop_cosq_gport_vsq_get(
   2725 	int	unit,
   2726 	bcm_gport_t	vsq,
   2727 	int	queue_max,
   2728 	bcm_gport_t *	queue_array,
   2729 	bcm_cos_queue_t *	cosq_array,
   2730 	int *	queue_count)
   2731 {
   2732 	return bcm_cosq_gport_vsq_get(
   2733 			BCM_CONTROL(unit)->unit,
   2734 			vsq,
   2735 			queue_max,
   2736 			queue_array,
   2737 			cosq_array,
   2738 			queue_count);
   2739 }
   2740 
   2741 int
   2742 bcm_loop_cosq_hdrm_pool_limit_set(
   2743 	int	unit,
   2744 	int	hdrm_pool,
   2745 	int	num_lossless_class,
   2746 	int	arr_size,
   2747 	bcm_cosq_pkt_size_dist_t *	pkt_dist_array)
   2748 {
   2749 	return bcm_cosq_hdrm_pool_limit_set(
   2750 			BCM_CONTROL(unit)->unit,
   2751 			hdrm_pool,
   2752 			num_lossless_class,
   2753 			arr_size,
   2754 			pkt_dist_array);
   2755 }
   2756 
   2757 int
   2758 bcm_loop_cosq_icgm_resource_stat_get(
   2759 	int	unit,
   2760 	bcm_cosq_icgm_resource_stat_key_t *	stat_key,
   2761 	uint64 *	value)
   2762 {
   2763 	return bcm_cosq_icgm_resource_stat_get(
   2764 			BCM_CONTROL(unit)->unit,
   2765 			stat_key,
   2766 			value);
   2767 }
   2768 
   2769 /* bcm_cosq_ingress_drop_control_frame_config_t_init not dispatchable */
   2770 
   2771 /* bcm_cosq_ingress_drop_flex_key_construct_id_t_init not dispatchable */
   2772 
   2773 /* bcm_cosq_ingress_drop_flex_key_construct_t_init not dispatchable */
   2774 
   2775 /* bcm_cosq_ingress_drop_flex_key_entry_t_init not dispatchable */
   2776 
   2777 /* bcm_cosq_ingress_drop_flex_key_t_init not dispatchable */
   2778 
   2779 int
   2780 bcm_loop_cosq_ingress_port_drop_control_frame_get(
   2781 	int	unit,
   2782 	bcm_port_t	port,
   2783 	uint32	flags,
   2784 	uint32	control_frame_index,
   2785 	bcm_cosq_ingress_drop_control_frame_config_t *	control_frame_config)
   2786 {
   2787 	return bcm_cosq_ingress_port_drop_control_frame_get(
   2788 			BCM_CONTROL(unit)->unit,
   2789 			port,
   2790 			flags,
   2791 			control_frame_index,
   2792 			control_frame_config);
   2793 }
   2794 
   2795 int
   2796 bcm_loop_cosq_ingress_port_drop_control_frame_set(
   2797 	int	unit,
   2798 	bcm_port_t	port,
   2799 	uint32	flags,
   2800 	uint32	control_frame_index,
   2801 	bcm_cosq_ingress_drop_control_frame_config_t *	control_frame_config)
   2802 {
   2803 	return bcm_cosq_ingress_port_drop_control_frame_set(
   2804 			BCM_CONTROL(unit)->unit,
   2805 			port,
   2806 			flags,
   2807 			control_frame_index,
   2808 			control_frame_config);
   2809 }
   2810 
   2811 int
   2812 bcm_loop_cosq_ingress_port_drop_custom_ether_type_get(
   2813 	int	unit,
   2814 	bcm_port_t	port,
   2815 	uint32	flags,
   2816 	uint32	ether_type_code,
   2817 	uint32 *	ether_type_val)
   2818 {
   2819 	return bcm_cosq_ingress_port_drop_custom_ether_type_get(
   2820 			BCM_CONTROL(unit)->unit,
   2821 			port,
   2822 			flags,
   2823 			ether_type_code,
   2824 			ether_type_val);
   2825 }
   2826 
   2827 int
   2828 bcm_loop_cosq_ingress_port_drop_custom_ether_type_set(
   2829 	int	unit,
   2830 	bcm_port_t	port,
   2831 	uint32	flags,
   2832 	uint32	ether_type_code,
   2833 	uint32	ether_type_val)
   2834 {
   2835 	return bcm_cosq_ingress_port_drop_custom_ether_type_set(
   2836 			BCM_CONTROL(unit)->unit,
   2837 			port,
   2838 			flags,
   2839 			ether_type_code,
   2840 			ether_type_val);
   2841 }
   2842 
   2843 int
   2844 bcm_loop_cosq_ingress_port_drop_default_priority_get(
   2845 	int	unit,
   2846 	bcm_port_t	port,
   2847 	uint32	flags,
   2848 	uint32 *	default_priority)
   2849 {
   2850 	return bcm_cosq_ingress_port_drop_default_priority_get(
   2851 			BCM_CONTROL(unit)->unit,
   2852 			port,
   2853 			flags,
   2854 			default_priority);
   2855 }
   2856 
   2857 int
   2858 bcm_loop_cosq_ingress_port_drop_default_priority_set(
   2859 	int	unit,
   2860 	bcm_port_t	port,
   2861 	uint32	flags,
   2862 	uint32	default_priority)
   2863 {
   2864 	return bcm_cosq_ingress_port_drop_default_priority_set(
   2865 			BCM_CONTROL(unit)->unit,
   2866 			port,
   2867 			flags,
   2868 			default_priority);
   2869 }
   2870 
   2871 int
   2872 bcm_loop_cosq_ingress_port_drop_enable_get(
   2873 	int	unit,
   2874 	bcm_port_t	port,
   2875 	uint32	flags,
   2876 	int *	enable_mode)
   2877 {
   2878 	return bcm_cosq_ingress_port_drop_enable_get(
   2879 			BCM_CONTROL(unit)->unit,
   2880 			port,
   2881 			flags,
   2882 			enable_mode);
   2883 }
   2884 
   2885 int
   2886 bcm_loop_cosq_ingress_port_drop_enable_set(
   2887 	int	unit,
   2888 	bcm_port_t	port,
   2889 	uint32	flags,
   2890 	int	enable_mode)
   2891 {
   2892 	return bcm_cosq_ingress_port_drop_enable_set(
   2893 			BCM_CONTROL(unit)->unit,
   2894 			port,
   2895 			flags,
   2896 			enable_mode);
   2897 }
   2898 
   2899 int
   2900 bcm_loop_cosq_ingress_port_drop_flex_key_construct_get(
   2901 	int	unit,
   2902 	bcm_cosq_ingress_drop_flex_key_construct_id_t *	key_id,
   2903 	uint32	flags,
   2904 	bcm_cosq_ingress_drop_flex_key_construct_t *	flex_key_config)
   2905 {
   2906 	return bcm_cosq_ingress_port_drop_flex_key_construct_get(
   2907 			BCM_CONTROL(unit)->unit,
   2908 			key_id,
   2909 			flags,
   2910 			flex_key_config);
   2911 }
   2912 
   2913 int
   2914 bcm_loop_cosq_ingress_port_drop_flex_key_construct_set(
   2915 	int	unit,
   2916 	bcm_cosq_ingress_drop_flex_key_construct_id_t *	key_id,
   2917 	uint32	flags,
   2918 	bcm_cosq_ingress_drop_flex_key_construct_t *	flex_key_config)
   2919 {
   2920 	return bcm_cosq_ingress_port_drop_flex_key_construct_set(
   2921 			BCM_CONTROL(unit)->unit,
   2922 			key_id,
   2923 			flags,
   2924 			flex_key_config);
   2925 }
   2926 
   2927 int
   2928 bcm_loop_cosq_ingress_port_drop_flex_key_entry_get(
   2929 	int	unit,
   2930 	bcm_port_t	port,
   2931 	uint32	flags,
   2932 	uint32	key_index,
   2933 	bcm_cosq_ingress_drop_flex_key_entry_t *	flex_key_info)
   2934 {
   2935 	return bcm_cosq_ingress_port_drop_flex_key_entry_get(
   2936 			BCM_CONTROL(unit)->unit,
   2937 			port,
   2938 			flags,
   2939 			key_index,
   2940 			flex_key_info);
   2941 }
   2942 
   2943 int
   2944 bcm_loop_cosq_ingress_port_drop_flex_key_entry_set(
   2945 	int	unit,
   2946 	bcm_port_t	port,
   2947 	uint32	flags,
   2948 	uint32	key_index,
   2949 	bcm_cosq_ingress_drop_flex_key_entry_t *	flex_key_info)
   2950 {
   2951 	return bcm_cosq_ingress_port_drop_flex_key_entry_set(
   2952 			BCM_CONTROL(unit)->unit,
   2953 			port,
   2954 			flags,
   2955 			key_index,
   2956 			flex_key_info);
   2957 }
   2958 
   2959 int
   2960 bcm_loop_cosq_ingress_port_drop_map_get(
   2961 	int	unit,
   2962 	bcm_port_t	port,
   2963 	uint32	flags,
   2964 	bcm_cosq_ingress_port_drop_map_t	map,
   2965 	uint32	key,
   2966 	int *	priority)
   2967 {
   2968 	return bcm_cosq_ingress_port_drop_map_get(
   2969 			BCM_CONTROL(unit)->unit,
   2970 			port,
   2971 			flags,
   2972 			map,
   2973 			key,
   2974 			priority);
   2975 }
   2976 
   2977 int
   2978 bcm_loop_cosq_ingress_port_drop_map_set(
   2979 	int	unit,
   2980 	bcm_port_t	port,
   2981 	uint32	flags,
   2982 	bcm_cosq_ingress_port_drop_map_t	map,
   2983 	uint32	key,
   2984 	int	priority)
   2985 {
   2986 	return bcm_cosq_ingress_port_drop_map_set(
   2987 			BCM_CONTROL(unit)->unit,
   2988 			port,
   2989 			flags,
   2990 			map,
   2991 			key,
   2992 			priority);
   2993 }
   2994 
   2995 /* bcm_cosq_ingress_port_drop_mpls_special_label_config_t_init not dispatchable */
   2996 
   2997 int
   2998 bcm_loop_cosq_ingress_port_drop_mpls_special_label_get(
   2999 	int	unit,
   3000 	bcm_port_t	port,
   3001 	uint32	flags,
   3002 	uint32	label_index,
   3003 	bcm_cosq_ingress_port_drop_mpls_special_label_config_t *	label_config)
   3004 {
   3005 	return bcm_cosq_ingress_port_drop_mpls_special_label_get(
   3006 			BCM_CONTROL(unit)->unit,
   3007 			port,
   3008 			flags,
   3009 			label_index,
   3010 			label_config);
   3011 }
   3012 
   3013 int
   3014 bcm_loop_cosq_ingress_port_drop_mpls_special_label_set(
   3015 	int	unit,
   3016 	bcm_port_t	port,
   3017 	uint32	flags,
   3018 	uint32	label_index,
   3019 	bcm_cosq_ingress_port_drop_mpls_special_label_config_t *	label_config)
   3020 {
   3021 	return bcm_cosq_ingress_port_drop_mpls_special_label_set(
   3022 			BCM_CONTROL(unit)->unit,
   3023 			port,
   3024 			flags,
   3025 			label_index,
   3026 			label_config);
   3027 }
   3028 
   3029 int
   3030 bcm_loop_cosq_ingress_port_drop_threshold_get(
   3031 	int	unit,
   3032 	bcm_port_t	port,
   3033 	uint32	flags,
   3034 	int	priority,
   3035 	uint32 *	value)
   3036 {
   3037 	return bcm_cosq_ingress_port_drop_threshold_get(
   3038 			BCM_CONTROL(unit)->unit,
   3039 			port,
   3040 			flags,
   3041 			priority,
   3042 			value);
   3043 }
   3044 
   3045 int
   3046 bcm_loop_cosq_ingress_port_drop_threshold_set(
   3047 	int	unit,
   3048 	bcm_port_t	port,
   3049 	uint32	flags,
   3050 	int	priority,
   3051 	uint32	value)
   3052 {
   3053 	return bcm_cosq_ingress_port_drop_threshold_set(
   3054 			BCM_CONTROL(unit)->unit,
   3055 			port,
   3056 			flags,
   3057 			priority,
   3058 			value);
   3059 }
   3060 
   3061 int
   3062 bcm_loop_cosq_ingress_queue_bundle_gport_add(
   3063 	int	unit,
   3064 	bcm_cosq_ingress_queue_bundle_gport_config_t *	config,
   3065 	bcm_gport_t *	gport)
   3066 {
   3067 	return bcm_cosq_ingress_queue_bundle_gport_add(
   3068 			BCM_CONTROL(unit)->unit,
   3069 			config,
   3070 			gport);
   3071 }
   3072 
   3073 int
   3074 bcm_loop_cosq_init(
   3075 	int	unit)
   3076 {
   3077 	return bcm_cosq_init(
   3078 			BCM_CONTROL(unit)->unit);
   3079 }
   3080 
   3081 int
   3082 bcm_loop_cosq_latency_profile_create(
   3083 	int	unit,
   3084 	int	flags,
   3085 	bcm_gport_t *	profile_gport)
   3086 {
   3087 	return bcm_cosq_latency_profile_create(
   3088 			BCM_CONTROL(unit)->unit,
   3089 			flags,
   3090 			profile_gport);
   3091 }
   3092 
   3093 int
   3094 bcm_loop_cosq_latency_profile_destroy(
   3095 	int	unit,
   3096 	int	flags,
   3097 	bcm_gport_t	profile_gport)
   3098 {
   3099 	return bcm_cosq_latency_profile_destroy(
   3100 			BCM_CONTROL(unit)->unit,
   3101 			flags,
   3102 			profile_gport);
   3103 }
   3104 
   3105 int
   3106 bcm_loop_cosq_mapping_get(
   3107 	int	unit,
   3108 	bcm_cos_t	priority,
   3109 	bcm_cos_queue_t *	cosq)
   3110 {
   3111 	return bcm_cosq_mapping_get(
   3112 			BCM_CONTROL(unit)->unit,
   3113 			priority,
   3114 			cosq);
   3115 }
   3116 
   3117 int
   3118 bcm_loop_cosq_mapping_set(
   3119 	int	unit,
   3120 	bcm_cos_t	priority,
   3121 	bcm_cos_queue_t	cosq)
   3122 {
   3123 	return bcm_cosq_mapping_set(
   3124 			BCM_CONTROL(unit)->unit,
   3125 			priority,
   3126 			cosq);
   3127 }
   3128 
   3129 /* bcm_cosq_mapping_t_init not dispatchable */
   3130 
   3131 int
   3132 bcm_loop_cosq_max_latency_pkts_get(
   3133 	int	unit,
   3134 	bcm_gport_t	gport,
   3135 	uint32	flags,
   3136 	int	max_count,
   3137 	bcm_cosq_max_latency_pkts_t *	max_latency_pkts,
   3138 	int *	actual_count)
   3139 {
   3140 	return bcm_cosq_max_latency_pkts_get(
   3141 			BCM_CONTROL(unit)->unit,
   3142 			gport,
   3143 			flags,
   3144 			max_count,
   3145 			max_latency_pkts,
   3146 			actual_count);
   3147 }
   3148 
   3149 int
   3150 bcm_loop_cosq_mirror_on_drop_group_get(
   3151 	int	unit,
   3152 	uint32	flags,
   3153 	int	group_id,
   3154 	bcm_cosq_mirror_on_drop_group_info_t *	group_info)
   3155 {
   3156 	return bcm_cosq_mirror_on_drop_group_get(
   3157 			BCM_CONTROL(unit)->unit,
   3158 			flags,
   3159 			group_id,
   3160 			group_info);
   3161 }
   3162 
   3163 int
   3164 bcm_loop_cosq_mirror_on_drop_group_set(
   3165 	int	unit,
   3166 	uint32	flags,
   3167 	int	group_id,
   3168 	bcm_cosq_mirror_on_drop_group_info_t *	group_info)
   3169 {
   3170 	return bcm_cosq_mirror_on_drop_group_set(
   3171 			BCM_CONTROL(unit)->unit,
   3172 			flags,
   3173 			group_id,
   3174 			group_info);
   3175 }
   3176 
   3177 /* bcm_cosq_object_id_t_init not dispatchable */
   3178 
   3179 int
   3180 bcm_loop_cosq_pfc_class_config_profile_get(
   3181 	int	unit,
   3182 	int	profile_id,
   3183 	int	max_count,
   3184 	bcm_cosq_pfc_class_map_config_t *	config_array,
   3185 	int *	count)
   3186 {
   3187 	return bcm_cosq_pfc_class_config_profile_get(
   3188 			BCM_CONTROL(unit)->unit,
   3189 			profile_id,
   3190 			max_count,
   3191 			config_array,
   3192 			count);
   3193 }
   3194 
   3195 int
   3196 bcm_loop_cosq_pfc_class_config_profile_set(
   3197 	int	unit,
   3198 	int	profile_id,
   3199 	int	count,
   3200 	bcm_cosq_pfc_class_map_config_t *	config_array)
   3201 {
   3202 	return bcm_cosq_pfc_class_config_profile_set(
   3203 			BCM_CONTROL(unit)->unit,
   3204 			profile_id,
   3205 			count,
   3206 			config_array);
   3207 }
   3208 
   3209 /* bcm_cosq_pfc_class_map_config_t_init not dispatchable */
   3210 
   3211 int
   3212 bcm_loop_cosq_pfc_class_mapping_get(
   3213 	int	unit,
   3214 	bcm_gport_t	port,
   3215 	int	array_max,
   3216 	bcm_cosq_pfc_class_mapping_t *	mapping_array,
   3217 	int *	array_count)
   3218 {
   3219 	return bcm_cosq_pfc_class_mapping_get(
   3220 			BCM_CONTROL(unit)->unit,
   3221 			port,
   3222 			array_max,
   3223 			mapping_array,
   3224 			array_count);
   3225 }
   3226 
   3227 int
   3228 bcm_loop_cosq_pfc_class_mapping_set(
   3229 	int	unit,
   3230 	bcm_gport_t	port,
   3231 	int	array_count,
   3232 	bcm_cosq_pfc_class_mapping_t *	mapping_array)
   3233 {
   3234 	return bcm_cosq_pfc_class_mapping_set(
   3235 			BCM_CONTROL(unit)->unit,
   3236 			port,
   3237 			array_count,
   3238 			mapping_array);
   3239 }
   3240 
   3241 /* bcm_cosq_pfc_class_mapping_t_init not dispatchable */
   3242 
   3243 int
   3244 bcm_loop_cosq_pfc_config_get(
   3245 	int	unit,
   3246 	bcm_gport_t	gport,
   3247 	bcm_cos_queue_t	cosq,
   3248 	uint32	flags,
   3249 	bcm_cosq_pfc_config_t *	config)
   3250 {
   3251 	return bcm_cosq_pfc_config_get(
   3252 			BCM_CONTROL(unit)->unit,
   3253 			gport,
   3254 			cosq,
   3255 			flags,
   3256 			config);
   3257 }
   3258 
   3259 int
   3260 bcm_loop_cosq_pfc_config_set(
   3261 	int	unit,
   3262 	bcm_gport_t	gport,
   3263 	bcm_cos_queue_t	cosq,
   3264 	uint32	flags,
   3265 	bcm_cosq_pfc_config_t *	config)
   3266 {
   3267 	return bcm_cosq_pfc_config_set(
   3268 			BCM_CONTROL(unit)->unit,
   3269 			gport,
   3270 			cosq,
   3271 			flags,
   3272 			config);
   3273 }
   3274 
   3275 int
   3276 bcm_loop_cosq_pfc_deadlock_config_get(
   3277 	int	unit,
   3278 	int	priority,
   3279 	bcm_cosq_pfc_deadlock_config_t *	config)
   3280 {
   3281 	return bcm_cosq_pfc_deadlock_config_get(
   3282 			BCM_CONTROL(unit)->unit,
   3283 			priority,
   3284 			config);
   3285 }
   3286 
   3287 int
   3288 bcm_loop_cosq_pfc_deadlock_config_set(
   3289 	int	unit,
   3290 	int	priority,
   3291 	bcm_cosq_pfc_deadlock_config_t *	config)
   3292 {
   3293 	return bcm_cosq_pfc_deadlock_config_set(
   3294 			BCM_CONTROL(unit)->unit,
   3295 			priority,
   3296 			config);
   3297 }
   3298 
   3299 /* bcm_cosq_pfc_deadlock_config_t_init not dispatchable */
   3300 
   3301 int
   3302 bcm_loop_cosq_pfc_deadlock_control_get(
   3303 	int	unit,
   3304 	bcm_port_t	port,
   3305 	int	pfc_priority,
   3306 	bcm_cosq_pfc_deadlock_control_t	type,
   3307 	int *	arg)
   3308 {
   3309 	return bcm_cosq_pfc_deadlock_control_get(
   3310 			BCM_CONTROL(unit)->unit,
   3311 			port,
   3312 			pfc_priority,
   3313 			type,
   3314 			arg);
   3315 }
   3316 
   3317 int
   3318 bcm_loop_cosq_pfc_deadlock_control_set(
   3319 	int	unit,
   3320 	bcm_port_t	port,
   3321 	int	pfc_priority,
   3322 	bcm_cosq_pfc_deadlock_control_t	type,
   3323 	int	arg)
   3324 {
   3325 	return bcm_cosq_pfc_deadlock_control_set(
   3326 			BCM_CONTROL(unit)->unit,
   3327 			port,
   3328 			pfc_priority,
   3329 			type,
   3330 			arg);
   3331 }
   3332 
   3333 int
   3334 bcm_loop_cosq_pfc_deadlock_info_get(
   3335 	int	unit,
   3336 	int	priority,
   3337 	bcm_cosq_pfc_deadlock_info_t *	pfc_deadlock_info)
   3338 {
   3339 	return bcm_cosq_pfc_deadlock_info_get(
   3340 			BCM_CONTROL(unit)->unit,
   3341 			priority,
   3342 			pfc_deadlock_info);
   3343 }
   3344 
   3345 /* bcm_cosq_pfc_deadlock_info_t_init not dispatchable */
   3346 
   3347 int
   3348 bcm_loop_cosq_pfc_deadlock_queue_config_get(
   3349 	int	unit,
   3350 	bcm_gport_t	gport,
   3351 	bcm_cosq_pfc_deadlock_queue_config_t *	q_config)
   3352 {
   3353 	return bcm_cosq_pfc_deadlock_queue_config_get(
   3354 			BCM_CONTROL(unit)->unit,
   3355 			gport,
   3356 			q_config);
   3357 }
   3358 
   3359 int
   3360 bcm_loop_cosq_pfc_deadlock_queue_config_set(
   3361 	int	unit,
   3362 	bcm_gport_t	gport,
   3363 	bcm_cosq_pfc_deadlock_queue_config_t *	q_config)
   3364 {
   3365 	return bcm_cosq_pfc_deadlock_queue_config_set(
   3366 			BCM_CONTROL(unit)->unit,
   3367 			gport,
   3368 			q_config);
   3369 }
   3370 
   3371 /* bcm_cosq_pfc_deadlock_queue_config_t_init not dispatchable */
   3372 
   3373 int
   3374 bcm_loop_cosq_pfc_deadlock_queue_status_get(
   3375 	int	unit,
   3376 	bcm_gport_t	gport,
   3377 	uint8 *	deadlock_status)
   3378 {
   3379 	return bcm_cosq_pfc_deadlock_queue_status_get(
   3380 			BCM_CONTROL(unit)->unit,
   3381 			gport,
   3382 			deadlock_status);
   3383 }
   3384 
   3385 int
   3386 bcm_loop_cosq_pfc_deadlock_recovery_event_register(
   3387 	int	unit,
   3388 	bcm_cosq_pfc_deadlock_recovery_event_cb_t	callback,
   3389 	void *	userdata)
   3390 {
   3391 	return bcm_cosq_pfc_deadlock_recovery_event_register(
   3392 			BCM_CONTROL(unit)->unit,
   3393 			callback,
   3394 			userdata);
   3395 }
   3396 
   3397 int
   3398 bcm_loop_cosq_pfc_deadlock_recovery_event_unregister(
   3399 	int	unit,
   3400 	bcm_cosq_pfc_deadlock_recovery_event_cb_t	callback,
   3401 	void *	userdata)
   3402 {
   3403 	return bcm_cosq_pfc_deadlock_recovery_event_unregister(
   3404 			BCM_CONTROL(unit)->unit,
   3405 			callback,
   3406 			userdata);
   3407 }
   3408 
   3409 int
   3410 bcm_loop_cosq_pfc_deadlock_recovery_exit(
   3411 	int	unit,
   3412 	bcm_port_t	port,
   3413 	bcm_cos_t	cosq)
   3414 {
   3415 	return bcm_cosq_pfc_deadlock_recovery_exit(
   3416 			BCM_CONTROL(unit)->unit,
   3417 			port,
   3418 			cosq);
   3419 }
   3420 
   3421 int
   3422 bcm_loop_cosq_pfc_deadlock_recovery_start(
   3423 	int	unit,
   3424 	bcm_port_t	port,
   3425 	bcm_cos_t	cosq)
   3426 {
   3427 	return bcm_cosq_pfc_deadlock_recovery_start(
   3428 			BCM_CONTROL(unit)->unit,
   3429 			port,
   3430 			cosq);
   3431 }
   3432 
   3433 int
   3434 bcm_loop_cosq_pkt_size_adjust_delta_map_get(
   3435 	int	unit,
   3436 	int	delta,
   3437 	int *	final_delta)
   3438 {
   3439 	return bcm_cosq_pkt_size_adjust_delta_map_get(
   3440 			BCM_CONTROL(unit)->unit,
   3441 			delta,
   3442 			final_delta);
   3443 }
   3444 
   3445 int
   3446 bcm_loop_cosq_pkt_size_adjust_delta_map_set(
   3447 	int	unit,
   3448 	int	delta,
   3449 	int	final_delta)
   3450 {
   3451 	return bcm_cosq_pkt_size_adjust_delta_map_set(
   3452 			BCM_CONTROL(unit)->unit,
   3453 			delta,
   3454 			final_delta);
   3455 }
   3456 
   3457 int
   3458 bcm_loop_cosq_port_bandwidth_get(
   3459 	int	unit,
   3460 	bcm_port_t	port,
   3461 	bcm_cos_queue_t	cosq,
   3462 	uint32 *	kbits_sec_min,
   3463 	uint32 *	kbits_sec_max,
   3464 	uint32 *	flags)
   3465 {
   3466 	return bcm_cosq_port_bandwidth_get(
   3467 			BCM_CONTROL(unit)->unit,
   3468 			port,
   3469 			cosq,
   3470 			kbits_sec_min,
   3471 			kbits_sec_max,
   3472 			flags);
   3473 }
   3474 
   3475 int
   3476 bcm_loop_cosq_port_bandwidth_set(
   3477 	int	unit,
   3478 	bcm_port_t	port,
   3479 	bcm_cos_queue_t	cosq,
   3480 	uint32	kbits_sec_min,
   3481 	uint32	kbits_sec_max,
   3482 	uint32	flags)
   3483 {
   3484 	return bcm_cosq_port_bandwidth_set(
   3485 			BCM_CONTROL(unit)->unit,
   3486 			port,
   3487 			cosq,
   3488 			kbits_sec_min,
   3489 			kbits_sec_max,
   3490 			flags);
   3491 }
   3492 
   3493 int
   3494 bcm_loop_cosq_port_mapping_get(
   3495 	int	unit,
   3496 	bcm_port_t	port,
   3497 	bcm_cos_t	priority,
   3498 	bcm_cos_queue_t *	cosq)
   3499 {
   3500 	return bcm_cosq_port_mapping_get(
   3501 			BCM_CONTROL(unit)->unit,
   3502 			port,
   3503 			priority,
   3504 			cosq);
   3505 }
   3506 
   3507 int
   3508 bcm_loop_cosq_port_mapping_multi_get(
   3509 	int	unit,
   3510 	bcm_port_t	port,
   3511 	int	count,
   3512 	bcm_cos_t *	priority_array,
   3513 	bcm_cos_queue_t *	cosq_array)
   3514 {
   3515 	return bcm_cosq_port_mapping_multi_get(
   3516 			BCM_CONTROL(unit)->unit,
   3517 			port,
   3518 			count,
   3519 			priority_array,
   3520 			cosq_array);
   3521 }
   3522 
   3523 int
   3524 bcm_loop_cosq_port_mapping_multi_set(
   3525 	int	unit,
   3526 	bcm_port_t	port,
   3527 	int	count,
   3528 	bcm_cos_t *	priority_array,
   3529 	bcm_cos_queue_t *	cosq_array)
   3530 {
   3531 	return bcm_cosq_port_mapping_multi_set(
   3532 			BCM_CONTROL(unit)->unit,
   3533 			port,
   3534 			count,
   3535 			priority_array,
   3536 			cosq_array);
   3537 }
   3538 
   3539 int
   3540 bcm_loop_cosq_port_mapping_set(
   3541 	int	unit,
   3542 	bcm_port_t	port,
   3543 	bcm_cos_t	priority,
   3544 	bcm_cos_queue_t	cosq)
   3545 {
   3546 	return bcm_cosq_port_mapping_set(
   3547 			BCM_CONTROL(unit)->unit,
   3548 			port,
   3549 			priority,
   3550 			cosq);
   3551 }
   3552 
   3553 int
   3554 bcm_loop_cosq_port_optimized_pfc_group_num_get(
   3555 	int	unit,
   3556 	bcm_port_t	port,
   3557 	int *	arg)
   3558 {
   3559 	return bcm_cosq_port_optimized_pfc_group_num_get(
   3560 			BCM_CONTROL(unit)->unit,
   3561 			port,
   3562 			arg);
   3563 }
   3564 
   3565 int
   3566 bcm_loop_cosq_port_prigrp_hdrm_set(
   3567 	int	unit,
   3568 	bcm_port_t	port,
   3569 	uint32	pri_bmp,
   3570 	int	cable_len,
   3571 	int	arr_size,
   3572 	bcm_cosq_pkt_size_dist_t *	pkt_dist_array)
   3573 {
   3574 	return bcm_cosq_port_prigrp_hdrm_set(
   3575 			BCM_CONTROL(unit)->unit,
   3576 			port,
   3577 			pri_bmp,
   3578 			cable_len,
   3579 			arr_size,
   3580 			pkt_dist_array);
   3581 }
   3582 
   3583 int
   3584 bcm_loop_cosq_port_priority_group_property_get(
   3585 	int	unit,
   3586 	bcm_port_t	port,
   3587 	int	priority_group_id,
   3588 	bcm_cosq_port_prigroup_control_t	type,
   3589 	int *	arg)
   3590 {
   3591 	return bcm_cosq_port_priority_group_property_get(
   3592 			BCM_CONTROL(unit)->unit,
   3593 			port,
   3594 			priority_group_id,
   3595 			type,
   3596 			arg);
   3597 }
   3598 
   3599 int
   3600 bcm_loop_cosq_port_priority_group_property_set(
   3601 	int	unit,
   3602 	bcm_port_t	port,
   3603 	int	priority_group_id,
   3604 	bcm_cosq_port_prigroup_control_t	type,
   3605 	int	arg)
   3606 {
   3607 	return bcm_cosq_port_priority_group_property_set(
   3608 			BCM_CONTROL(unit)->unit,
   3609 			port,
   3610 			priority_group_id,
   3611 			type,
   3612 			arg);
   3613 }
   3614 
   3615 int
   3616 bcm_loop_cosq_port_profile_get(
   3617 	int	unit,
   3618 	bcm_port_t	port,
   3619 	bcm_cosq_profile_type_t	profile_type,
   3620 	int *	profile_id)
   3621 {
   3622 	return bcm_cosq_port_profile_get(
   3623 			BCM_CONTROL(unit)->unit,
   3624 			port,
   3625 			profile_type,
   3626 			profile_id);
   3627 }
   3628 
   3629 int
   3630 bcm_loop_cosq_port_profile_set(
   3631 	int	unit,
   3632 	bcm_port_t	port,
   3633 	bcm_cosq_profile_type_t	profile_type,
   3634 	int	profile_id)
   3635 {
   3636 	return bcm_cosq_port_profile_set(
   3637 			BCM_CONTROL(unit)->unit,
   3638 			port,
   3639 			profile_type,
   3640 			profile_id);
   3641 }
   3642 
   3643 int
   3644 bcm_loop_cosq_port_sched_config_get(
   3645 	int	unit,
   3646 	bcm_pbmp_t	pbm,
   3647 	int	weight_arr_size,
   3648 	int *	weights,
   3649 	int *	weight_arr_count,
   3650 	int *	mode)
   3651 {
   3652 	return bcm_cosq_port_sched_config_get(
   3653 			BCM_CONTROL(unit)->unit,
   3654 			pbm,
   3655 			weight_arr_size,
   3656 			weights,
   3657 			weight_arr_count,
   3658 			mode);
   3659 }
   3660 
   3661 int
   3662 bcm_loop_cosq_port_sched_config_set(
   3663 	int	unit,
   3664 	bcm_pbmp_t	pbm,
   3665 	int	mode,
   3666 	int	weight_arr_size,
   3667 	int *	weights)
   3668 {
   3669 	return bcm_cosq_port_sched_config_set(
   3670 			BCM_CONTROL(unit)->unit,
   3671 			pbm,
   3672 			mode,
   3673 			weight_arr_size,
   3674 			weights);
   3675 }
   3676 
   3677 int
   3678 bcm_loop_cosq_port_sched_get(
   3679 	int	unit,
   3680 	bcm_pbmp_t	pbm,
   3681 	int *	mode,
   3682 	int	weights[BCM_COS_COUNT],
   3683 	int *	delay)
   3684 {
   3685 	return bcm_cosq_port_sched_get(
   3686 			BCM_CONTROL(unit)->unit,
   3687 			pbm,
   3688 			mode,
   3689 			weights,
   3690 			delay);
   3691 }
   3692 
   3693 int
   3694 bcm_loop_cosq_port_sched_set(
   3695 	int	unit,
   3696 	bcm_pbmp_t	pbm,
   3697 	int	mode,
   3698 	const int	weights[BCM_COS_COUNT],
   3699 	int	delay)
   3700 {
   3701 	return bcm_cosq_port_sched_set(
   3702 			BCM_CONTROL(unit)->unit,
   3703 			pbm,
   3704 			mode,
   3705 			weights,
   3706 			delay);
   3707 }
   3708 
   3709 int
   3710 bcm_loop_cosq_priority_get(
   3711 	int	unit,
   3712 	int	start_queue,
   3713 	int	end_queue,
   3714 	int *	pri_profile_id)
   3715 {
   3716 	return bcm_cosq_priority_get(
   3717 			BCM_CONTROL(unit)->unit,
   3718 			start_queue,
   3719 			end_queue,
   3720 			pri_profile_id);
   3721 }
   3722 
   3723 int
   3724 bcm_loop_cosq_priority_group_mapping_profile_get(
   3725 	int	unit,
   3726 	int	profile_index,
   3727 	bcm_cosq_priority_group_mapping_profile_type_t	type,
   3728 	int	array_max,
   3729 	int *	arg,
   3730 	int *	array_count)
   3731 {
   3732 	return bcm_cosq_priority_group_mapping_profile_get(
   3733 			BCM_CONTROL(unit)->unit,
   3734 			profile_index,
   3735 			type,
   3736 			array_max,
   3737 			arg,
   3738 			array_count);
   3739 }
   3740 
   3741 int
   3742 bcm_loop_cosq_priority_group_mapping_profile_set(
   3743 	int	unit,
   3744 	int	profile_index,
   3745 	bcm_cosq_priority_group_mapping_profile_type_t	type,
   3746 	int	array_count,
   3747 	int *	arg)
   3748 {
   3749 	return bcm_cosq_priority_group_mapping_profile_set(
   3750 			BCM_CONTROL(unit)->unit,
   3751 			profile_index,
   3752 			type,
   3753 			array_count,
   3754 			arg);
   3755 }
   3756 
   3757 int
   3758 bcm_loop_cosq_priority_group_pfc_priority_mapping_profile_get(
   3759 	int	unit,
   3760 	int	profile_id,
   3761 	int	array_max,
   3762 	int *	pg_array,
   3763 	int *	array_count)
   3764 {
   3765 	return bcm_cosq_priority_group_pfc_priority_mapping_profile_get(
   3766 			BCM_CONTROL(unit)->unit,
   3767 			profile_id,
   3768 			array_max,
   3769 			pg_array,
   3770 			array_count);
   3771 }
   3772 
   3773 int
   3774 bcm_loop_cosq_priority_group_pfc_priority_mapping_profile_set(
   3775 	int	unit,
   3776 	int	profile_id,
   3777 	int	array_count,
   3778 	int *	pg_array)
   3779 {
   3780 	return bcm_cosq_priority_group_pfc_priority_mapping_profile_set(
   3781 			BCM_CONTROL(unit)->unit,
   3782 			profile_id,
   3783 			array_count,
   3784 			pg_array);
   3785 }
   3786 
   3787 int
   3788 bcm_loop_cosq_priority_mapping_get_all(
   3789 	int	unit,
   3790 	bcm_gport_t	gport,
   3791 	int	index,
   3792 	bcm_cosq_priority_mapping_t	type,
   3793 	int	pri_max,
   3794 	int *	pri_array,
   3795 	int *	pri_count)
   3796 {
   3797 	return bcm_cosq_priority_mapping_get_all(
   3798 			BCM_CONTROL(unit)->unit,
   3799 			gport,
   3800 			index,
   3801 			type,
   3802 			pri_max,
   3803 			pri_array,
   3804 			pri_count);
   3805 }
   3806 
   3807 int
   3808 bcm_loop_cosq_priority_profile_get(
   3809 	int	unit,
   3810 	int	pri_profile_id,
   3811 	int *	count,
   3812 	bcm_cosq_gport_priority_profile_t *	pri_profile)
   3813 {
   3814 	return bcm_cosq_priority_profile_get(
   3815 			BCM_CONTROL(unit)->unit,
   3816 			pri_profile_id,
   3817 			count,
   3818 			pri_profile);
   3819 }
   3820 
   3821 int
   3822 bcm_loop_cosq_priority_profile_set(
   3823 	int	unit,
   3824 	int	pri_profile_id,
   3825 	int	count,
   3826 	bcm_cosq_gport_priority_profile_t *	pri_profile)
   3827 {
   3828 	return bcm_cosq_priority_profile_set(
   3829 			BCM_CONTROL(unit)->unit,
   3830 			pri_profile_id,
   3831 			count,
   3832 			pri_profile);
   3833 }
   3834 
   3835 int
   3836 bcm_loop_cosq_priority_set(
   3837 	int	unit,
   3838 	int	start_queue,
   3839 	int	end_queue,
   3840 	int	pri_profile_id)
   3841 {
   3842 	return bcm_cosq_priority_set(
   3843 			BCM_CONTROL(unit)->unit,
   3844 			start_queue,
   3845 			end_queue,
   3846 			pri_profile_id);
   3847 }
   3848 
   3849 int
   3850 bcm_loop_cosq_profile_info_inuse_get(
   3851 	int	unit,
   3852 	bcm_cosq_profile_type_t	profile_type,
   3853 	int	profile_id,
   3854 	int *	in_use)
   3855 {
   3856 	return bcm_cosq_profile_info_inuse_get(
   3857 			BCM_CONTROL(unit)->unit,
   3858 			profile_type,
   3859 			profile_id,
   3860 			in_use);
   3861 }
   3862 
   3863 int
   3864 bcm_loop_cosq_profile_info_portlist_get(
   3865 	int	unit,
   3866 	bcm_cosq_profile_type_t	profile_type,
   3867 	int	profile_id,
   3868 	int	max_port_count,
   3869 	bcm_port_t *	port_list,
   3870 	int *	port_count)
   3871 {
   3872 	return bcm_cosq_profile_info_portlist_get(
   3873 			BCM_CONTROL(unit)->unit,
   3874 			profile_type,
   3875 			profile_id,
   3876 			max_port_count,
   3877 			port_list,
   3878 			port_count);
   3879 }
   3880 
   3881 int
   3882 bcm_loop_cosq_profile_mapping_get(
   3883 	int	unit,
   3884 	bcm_gport_t	gport_to_map,
   3885 	bcm_cos_queue_t	cosq,
   3886 	uint32	flags,
   3887 	bcm_switch_profile_mapping_t *	profile_mapping)
   3888 {
   3889 	return bcm_cosq_profile_mapping_get(
   3890 			BCM_CONTROL(unit)->unit,
   3891 			gport_to_map,
   3892 			cosq,
   3893 			flags,
   3894 			profile_mapping);
   3895 }
   3896 
   3897 int
   3898 bcm_loop_cosq_profile_mapping_set(
   3899 	int	unit,
   3900 	bcm_gport_t	gport_to_map,
   3901 	bcm_cos_queue_t	cosq,
   3902 	uint32	flags,
   3903 	bcm_switch_profile_mapping_t *	profile_mapping)
   3904 {
   3905 	return bcm_cosq_profile_mapping_set(
   3906 			BCM_CONTROL(unit)->unit,
   3907 			gport_to_map,
   3908 			cosq,
   3909 			flags,
   3910 			profile_mapping);
   3911 }
   3912 
   3913 int
   3914 bcm_loop_cosq_profile_property_dynamic_get(
   3915 	int	unit,
   3916 	bcm_cosq_profile_type_t	profile_type,
   3917 	bcm_cosq_dynamic_setting_type_t *	dynamic)
   3918 {
   3919 	return bcm_cosq_profile_property_dynamic_get(
   3920 			BCM_CONTROL(unit)->unit,
   3921 			profile_type,
   3922 			dynamic);
   3923 }
   3924 
   3925 int
   3926 bcm_loop_cosq_qcn_config_get(
   3927 	int	unit,
   3928 	bcm_gport_t	port,
   3929 	bcm_cos_queue_t	cosq,
   3930 	uint32	flags,
   3931 	bcm_cosq_qcn_config_t *	config)
   3932 {
   3933 	return bcm_cosq_qcn_config_get(
   3934 			BCM_CONTROL(unit)->unit,
   3935 			port,
   3936 			cosq,
   3937 			flags,
   3938 			config);
   3939 }
   3940 
   3941 int
   3942 bcm_loop_cosq_qcn_config_set(
   3943 	int	unit,
   3944 	bcm_gport_t	port,
   3945 	bcm_cos_queue_t	cosq,
   3946 	uint32	flags,
   3947 	bcm_cosq_qcn_config_t *	config)
   3948 {
   3949 	return bcm_cosq_qcn_config_set(
   3950 			BCM_CONTROL(unit)->unit,
   3951 			port,
   3952 			cosq,
   3953 			flags,
   3954 			config);
   3955 }
   3956 
   3957 int
   3958 bcm_loop_cosq_resource_allocation_get(
   3959 	int	unit,
   3960 	uint32	flags,
   3961 	bcm_cosq_resource_t	resource,
   3962 	bcm_cosq_allocation_entity_t *	target,
   3963 	bcm_cosq_resource_amounts_t *	amounts)
   3964 {
   3965 	return bcm_cosq_resource_allocation_get(
   3966 			BCM_CONTROL(unit)->unit,
   3967 			flags,
   3968 			resource,
   3969 			target,
   3970 			amounts);
   3971 }
   3972 
   3973 int
   3974 bcm_loop_cosq_resource_allocation_set(
   3975 	int	unit,
   3976 	uint32	flags,
   3977 	bcm_cosq_resource_t	resource,
   3978 	bcm_cosq_allocation_entity_t *	target,
   3979 	bcm_cosq_resource_amounts_t *	amounts)
   3980 {
   3981 	return bcm_cosq_resource_allocation_set(
   3982 			BCM_CONTROL(unit)->unit,
   3983 			flags,
   3984 			resource,
   3985 			target,
   3986 			amounts);
   3987 }
   3988 
   3989 int
   3990 bcm_loop_cosq_safc_class_mapping_get(
   3991 	int	unit,
   3992 	bcm_gport_t	port,
   3993 	int	array_max,
   3994 	bcm_cosq_safc_class_mapping_t *	mapping_array,
   3995 	int *	array_count)
   3996 {
   3997 	return bcm_cosq_safc_class_mapping_get(
   3998 			BCM_CONTROL(unit)->unit,
   3999 			port,
   4000 			array_max,
   4001 			mapping_array,
   4002 			array_count);
   4003 }
   4004 
   4005 int
   4006 bcm_loop_cosq_safc_class_mapping_set(
   4007 	int	unit,
   4008 	bcm_gport_t	port,
   4009 	int	array_count,
   4010 	bcm_cosq_safc_class_mapping_t *	mapping_array)
   4011 {
   4012 	return bcm_cosq_safc_class_mapping_set(
   4013 			BCM_CONTROL(unit)->unit,
   4014 			port,
   4015 			array_count,
   4016 			mapping_array);
   4017 }
   4018 
   4019 /* bcm_cosq_safc_class_mapping_t_init not dispatchable */
   4020 
   4021 int
   4022 bcm_loop_cosq_sched_config_get(
   4023 	int	unit,
   4024 	int	weight_arr_size,
   4025 	int *	weights,
   4026 	int *	weight_arr_count,
   4027 	int *	mode)
   4028 {
   4029 	return bcm_cosq_sched_config_get(
   4030 			BCM_CONTROL(unit)->unit,
   4031 			weight_arr_size,
   4032 			weights,
   4033 			weight_arr_count,
   4034 			mode);
   4035 }
   4036 
   4037 int
   4038 bcm_loop_cosq_sched_config_set(
   4039 	int	unit,
   4040 	int	mode,
   4041 	int	weight_arr_size,
   4042 	int *	weights)
   4043 {
   4044 	return bcm_cosq_sched_config_set(
   4045 			BCM_CONTROL(unit)->unit,
   4046 			mode,
   4047 			weight_arr_size,
   4048 			weights);
   4049 }
   4050 
   4051 int
   4052 bcm_loop_cosq_sched_get(
   4053 	int	unit,
   4054 	int *	mode,
   4055 	int	weights[BCM_COS_COUNT],
   4056 	int *	delay)
   4057 {
   4058 	return bcm_cosq_sched_get(
   4059 			BCM_CONTROL(unit)->unit,
   4060 			mode,
   4061 			weights,
   4062 			delay);
   4063 }
   4064 
   4065 int
   4066 bcm_loop_cosq_sched_set(
   4067 	int	unit,
   4068 	int	mode,
   4069 	const int	weights[BCM_COS_COUNT],
   4070 	int	delay)
   4071 {
   4072 	return bcm_cosq_sched_set(
   4073 			BCM_CONTROL(unit)->unit,
   4074 			mode,
   4075 			weights,
   4076 			delay);
   4077 }
   4078 
   4079 int
   4080 bcm_loop_cosq_sched_weight_max_get(
   4081 	int	unit,
   4082 	int	mode,
   4083 	int *	weight_max)
   4084 {
   4085 	return bcm_cosq_sched_weight_max_get(
   4086 			BCM_CONTROL(unit)->unit,
   4087 			mode,
   4088 			weight_max);
   4089 }
   4090 
   4091 int
   4092 bcm_loop_cosq_schedq_mapping_get(
   4093 	int	unit,
   4094 	int	profile_index,
   4095 	int	array_max,
   4096 	bcm_cosq_mapping_t *	cosq_mapping_arr,
   4097 	int *	size)
   4098 {
   4099 	return bcm_cosq_schedq_mapping_get(
   4100 			BCM_CONTROL(unit)->unit,
   4101 			profile_index,
   4102 			array_max,
   4103 			cosq_mapping_arr,
   4104 			size);
   4105 }
   4106 
   4107 int
   4108 bcm_loop_cosq_schedq_mapping_set(
   4109 	int	unit,
   4110 	int	profile_index,
   4111 	int	size,
   4112 	bcm_cosq_mapping_t *	cosq_mapping_arr)
   4113 {
   4114 	return bcm_cosq_schedq_mapping_set(
   4115 			BCM_CONTROL(unit)->unit,
   4116 			profile_index,
   4117 			size,
   4118 			cosq_mapping_arr);
   4119 }
   4120 
   4121 int
   4122 bcm_loop_cosq_scheduler_gport_add(
   4123 	int	unit,
   4124 	uint32	flags,
   4125 	bcm_cosq_scheduler_gport_params_t *	params,
   4126 	bcm_gport_t *	gport)
   4127 {
   4128 	return bcm_cosq_scheduler_gport_add(
   4129 			BCM_CONTROL(unit)->unit,
   4130 			flags,
   4131 			params,
   4132 			gport);
   4133 }
   4134 
   4135 int
   4136 bcm_loop_cosq_scheduler_gport_get(
   4137 	int	unit,
   4138 	uint32	flags,
   4139 	bcm_gport_t	gport,
   4140 	bcm_cosq_scheduler_gport_params_t *	params)
   4141 {
   4142 	return bcm_cosq_scheduler_gport_get(
   4143 			BCM_CONTROL(unit)->unit,
   4144 			flags,
   4145 			gport,
   4146 			params);
   4147 }
   4148 
   4149 int
   4150 bcm_loop_cosq_service_pool_get(
   4151 	int	unit,
   4152 	bcm_service_pool_id_t	id,
   4153 	bcm_cosq_service_pool_t *	cosq_service_pool)
   4154 {
   4155 	return bcm_cosq_service_pool_get(
   4156 			BCM_CONTROL(unit)->unit,
   4157 			id,
   4158 			cosq_service_pool);
   4159 }
   4160 
   4161 int
   4162 bcm_loop_cosq_service_pool_override_get(
   4163 	int	unit,
   4164 	bcm_cosq_service_pool_override_type_t	type,
   4165 	bcm_service_pool_id_t *	service_pool,
   4166 	int *	enable)
   4167 {
   4168 	return bcm_cosq_service_pool_override_get(
   4169 			BCM_CONTROL(unit)->unit,
   4170 			type,
   4171 			service_pool,
   4172 			enable);
   4173 }
   4174 
   4175 int
   4176 bcm_loop_cosq_service_pool_override_set(
   4177 	int	unit,
   4178 	bcm_cosq_service_pool_override_type_t	type,
   4179 	bcm_service_pool_id_t	service_pool,
   4180 	int	enable)
   4181 {
   4182 	return bcm_cosq_service_pool_override_set(
   4183 			BCM_CONTROL(unit)->unit,
   4184 			type,
   4185 			service_pool,
   4186 			enable);
   4187 }
   4188 
   4189 int
   4190 bcm_loop_cosq_service_pool_set(
   4191 	int	unit,
   4192 	bcm_service_pool_id_t	id,
   4193 	bcm_cosq_service_pool_t	cosq_service_pool)
   4194 {
   4195 	return bcm_cosq_service_pool_set(
   4196 			BCM_CONTROL(unit)->unit,
   4197 			id,
   4198 			cosq_service_pool);
   4199 }
   4200 
   4201 /* bcm_cosq_service_pool_t_init not dispatchable */
   4202 
   4203 int
   4204 bcm_loop_cosq_slow_profile_get(
   4205 	int	unit,
   4206 	bcm_cosq_slow_level_t *	slow_level,
   4207 	bcm_cosq_slow_profile_attributes_t *	attr)
   4208 {
   4209 	return bcm_cosq_slow_profile_get(
   4210 			BCM_CONTROL(unit)->unit,
   4211 			slow_level,
   4212 			attr);
   4213 }
   4214 
   4215 int
   4216 bcm_loop_cosq_slow_profile_set(
   4217 	int	unit,
   4218 	bcm_cosq_slow_level_t *	slow_level,
   4219 	bcm_cosq_slow_profile_attributes_t *	attr)
   4220 {
   4221 	return bcm_cosq_slow_profile_set(
   4222 			BCM_CONTROL(unit)->unit,
   4223 			slow_level,
   4224 			attr);
   4225 }
   4226 
   4227 int
   4228 bcm_loop_cosq_src_vsqs_gport_add(
   4229 	int	unit,
   4230 	bcm_gport_t	port,
   4231 	bcm_cosq_src_vsqs_gport_config_t *	config,
   4232 	bcm_gport_t *	src_port_vsq_gport,
   4233 	bcm_gport_t *	pg_base_vsq_gport)
   4234 {
   4235 	return bcm_cosq_src_vsqs_gport_add(
   4236 			BCM_CONTROL(unit)->unit,
   4237 			port,
   4238 			config,
   4239 			src_port_vsq_gport,
   4240 			pg_base_vsq_gport);
   4241 }
   4242 
   4243 int
   4244 bcm_loop_cosq_src_vsqs_gport_get(
   4245 	int	unit,
   4246 	bcm_gport_t	port,
   4247 	bcm_cosq_src_vsqs_gport_config_t *	config,
   4248 	bcm_gport_t *	src_port_vsq_gport,
   4249 	bcm_gport_t *	pg_base_vsq_gport)
   4250 {
   4251 	return bcm_cosq_src_vsqs_gport_get(
   4252 			BCM_CONTROL(unit)->unit,
   4253 			port,
   4254 			config,
   4255 			src_port_vsq_gport,
   4256 			pg_base_vsq_gport);
   4257 }
   4258 
   4259 int
   4260 bcm_loop_cosq_stat_config_get(
   4261 	int	unit,
   4262 	int	stat_count,
   4263 	bcm_cosq_stat_t *	stat_array)
   4264 {
   4265 	return bcm_cosq_stat_config_get(
   4266 			BCM_CONTROL(unit)->unit,
   4267 			stat_count,
   4268 			stat_array);
   4269 }
   4270 
   4271 int
   4272 bcm_loop_cosq_stat_config_set(
   4273 	int	unit,
   4274 	int	stat_count,
   4275 	bcm_cosq_stat_t *	stat_array)
   4276 {
   4277 	return bcm_cosq_stat_config_set(
   4278 			BCM_CONTROL(unit)->unit,
   4279 			stat_count,
   4280 			stat_array);
   4281 }
   4282 
   4283 int
   4284 bcm_loop_cosq_stat_get(
   4285 	int	unit,
   4286 	bcm_gport_t	gport,
   4287 	bcm_cos_queue_t	cosq,
   4288 	bcm_cosq_stat_t	stat,
   4289 	uint64 *	value)
   4290 {
   4291 	return bcm_cosq_stat_get(
   4292 			BCM_CONTROL(unit)->unit,
   4293 			gport,
   4294 			cosq,
   4295 			stat,
   4296 			value);
   4297 }
   4298 
   4299 int
   4300 bcm_loop_cosq_stat_get32(
   4301 	int	unit,
   4302 	bcm_gport_t	gport,
   4303 	bcm_cos_queue_t	cosq,
   4304 	bcm_cosq_stat_t	stat,
   4305 	uint32 *	value)
   4306 {
   4307 	return bcm_cosq_stat_get32(
   4308 			BCM_CONTROL(unit)->unit,
   4309 			gport,
   4310 			cosq,
   4311 			stat,
   4312 			value);
   4313 }
   4314 
   4315 int
   4316 bcm_loop_cosq_stat_info_get(
   4317 	int	unit,
   4318 	int	flags,
   4319 	bcm_cosq_stat_info_key_t *	key,
   4320 	bcm_cosq_stat_info_t *	config)
   4321 {
   4322 	return bcm_cosq_stat_info_get(
   4323 			BCM_CONTROL(unit)->unit,
   4324 			flags,
   4325 			key,
   4326 			config);
   4327 }
   4328 
   4329 int
   4330 bcm_loop_cosq_stat_info_set(
   4331 	int	unit,
   4332 	int	flags,
   4333 	bcm_cosq_stat_info_key_t *	key,
   4334 	bcm_cosq_stat_info_t *	config)
   4335 {
   4336 	return bcm_cosq_stat_info_set(
   4337 			BCM_CONTROL(unit)->unit,
   4338 			flags,
   4339 			key,
   4340 			config);
   4341 }
   4342 
   4343 int
   4344 bcm_loop_cosq_stat_obj_map_get(
   4345 	int	unit,
   4346 	int	flags,
   4347 	bcm_cosq_obj_map_key_t *	key,
   4348 	uint32 *	object_stat_id)
   4349 {
   4350 	return bcm_cosq_stat_obj_map_get(
   4351 			BCM_CONTROL(unit)->unit,
   4352 			flags,
   4353 			key,
   4354 			object_stat_id);
   4355 }
   4356 
   4357 int
   4358 bcm_loop_cosq_stat_obj_map_set(
   4359 	int	unit,
   4360 	int	flags,
   4361 	bcm_cosq_obj_map_key_t *	key,
   4362 	uint32	object_stat_id)
   4363 {
   4364 	return bcm_cosq_stat_obj_map_set(
   4365 			BCM_CONTROL(unit)->unit,
   4366 			flags,
   4367 			key,
   4368 			object_stat_id);
   4369 }
   4370 
   4371 int
   4372 bcm_loop_cosq_stat_set(
   4373 	int	unit,
   4374 	bcm_gport_t	gport,
   4375 	bcm_cos_queue_t	cosq,
   4376 	bcm_cosq_stat_t	stat,
   4377 	uint64	value)
   4378 {
   4379 	return bcm_cosq_stat_set(
   4380 			BCM_CONTROL(unit)->unit,
   4381 			gport,
   4382 			cosq,
   4383 			stat,
   4384 			value);
   4385 }
   4386 
   4387 int
   4388 bcm_loop_cosq_stat_set32(
   4389 	int	unit,
   4390 	bcm_gport_t	gport,
   4391 	bcm_cos_queue_t	cosq,
   4392 	bcm_cosq_stat_t	stat,
   4393 	uint32	value)
   4394 {
   4395 	return bcm_cosq_stat_set32(
   4396 			BCM_CONTROL(unit)->unit,
   4397 			gport,
   4398 			cosq,
   4399 			stat,
   4400 			value);
   4401 }
   4402 
   4403 int
   4404 bcm_loop_cosq_stat_sync_get(
   4405 	int	unit,
   4406 	bcm_gport_t	gport,
   4407 	bcm_cos_queue_t	cosq,
   4408 	bcm_cosq_stat_t	stat,
   4409 	uint64 *	value)
   4410 {
   4411 	return bcm_cosq_stat_sync_get(
   4412 			BCM_CONTROL(unit)->unit,
   4413 			gport,
   4414 			cosq,
   4415 			stat,
   4416 			value);
   4417 }
   4418 
   4419 int
   4420 bcm_loop_cosq_stat_sync_get32(
   4421 	int	unit,
   4422 	bcm_gport_t	gport,
   4423 	bcm_cos_queue_t	cosq,
   4424 	bcm_cosq_stat_t	stat,
   4425 	uint32 *	value)
   4426 {
   4427 	return bcm_cosq_stat_sync_get32(
   4428 			BCM_CONTROL(unit)->unit,
   4429 			gport,
   4430 			cosq,
   4431 			stat,
   4432 			value);
   4433 }
   4434 
   4435 int
   4436 bcm_loop_cosq_stat_sync_multi_get(
   4437 	int	unit,
   4438 	bcm_gport_t	gport,
   4439 	bcm_cos_queue_t	cosq,
   4440 	int	nstat,
   4441 	bcm_cosq_stat_t *	stat_arr,
   4442 	uint64 *	value_arr)
   4443 {
   4444 	return bcm_cosq_stat_sync_multi_get(
   4445 			BCM_CONTROL(unit)->unit,
   4446 			gport,
   4447 			cosq,
   4448 			nstat,
   4449 			stat_arr,
   4450 			value_arr);
   4451 }
   4452 
   4453 int
   4454 bcm_loop_cosq_stat_sync_multi_get32(
   4455 	int	unit,
   4456 	bcm_gport_t	gport,
   4457 	bcm_cos_queue_t	cosq,
   4458 	int	nstat,
   4459 	bcm_cosq_stat_t *	stat_arr,
   4460 	uint32 *	value_arr)
   4461 {
   4462 	return bcm_cosq_stat_sync_multi_get32(
   4463 			BCM_CONTROL(unit)->unit,
   4464 			gport,
   4465 			cosq,
   4466 			nstat,
   4467 			stat_arr,
   4468 			value_arr);
   4469 }
   4470 
   4471 int
   4472 bcm_loop_cosq_subport_flow_control_get(
   4473 	int	unit,
   4474 	bcm_gport_t	subport,
   4475 	bcm_gport_t *	sched_port)
   4476 {
   4477 	return bcm_cosq_subport_flow_control_get(
   4478 			BCM_CONTROL(unit)->unit,
   4479 			subport,
   4480 			sched_port);
   4481 }
   4482 
   4483 int
   4484 bcm_loop_cosq_subport_flow_control_set(
   4485 	int	unit,
   4486 	bcm_gport_t	subport,
   4487 	bcm_gport_t	sched_port)
   4488 {
   4489 	return bcm_cosq_subport_flow_control_set(
   4490 			BCM_CONTROL(unit)->unit,
   4491 			subport,
   4492 			sched_port);
   4493 }
   4494 
   4495 int
   4496 bcm_loop_cosq_subscriber_map_add(
   4497 	int	unit,
   4498 	bcm_cosq_subscriber_map_t *	map)
   4499 {
   4500 	return bcm_cosq_subscriber_map_add(
   4501 			BCM_CONTROL(unit)->unit,
   4502 			map);
   4503 }
   4504 
   4505 int
   4506 bcm_loop_cosq_subscriber_map_delete(
   4507 	int	unit,
   4508 	bcm_cosq_subscriber_map_t *	map)
   4509 {
   4510 	return bcm_cosq_subscriber_map_delete(
   4511 			BCM_CONTROL(unit)->unit,
   4512 			map);
   4513 }
   4514 
   4515 int
   4516 bcm_loop_cosq_subscriber_map_delete_all(
   4517 	int	unit)
   4518 {
   4519 	return bcm_cosq_subscriber_map_delete_all(
   4520 			BCM_CONTROL(unit)->unit);
   4521 }
   4522 
   4523 int
   4524 bcm_loop_cosq_subscriber_map_get(
   4525 	int	unit,
   4526 	bcm_cosq_subscriber_map_t *	map)
   4527 {
   4528 	return bcm_cosq_subscriber_map_get(
   4529 			BCM_CONTROL(unit)->unit,
   4530 			map);
   4531 }
   4532 
   4533 int
   4534 bcm_loop_cosq_subscriber_traverse(
   4535 	int	unit,
   4536 	bcm_cosq_subscriber_map_traverse_cb	cb,
   4537 	void *	user_data)
   4538 {
   4539 	return bcm_cosq_subscriber_traverse(
   4540 			BCM_CONTROL(unit)->unit,
   4541 			cb,
   4542 			user_data);
   4543 }
   4544 
   4545 int
   4546 bcm_loop_cosq_sysport_ingress_queue_map_get(
   4547 	int	unit,
   4548 	uint32	flags,
   4549 	bcm_gport_t	sysport,
   4550 	bcm_gport_t *	ingress_queue)
   4551 {
   4552 	return bcm_cosq_sysport_ingress_queue_map_get(
   4553 			BCM_CONTROL(unit)->unit,
   4554 			flags,
   4555 			sysport,
   4556 			ingress_queue);
   4557 }
   4558 
   4559 int
   4560 bcm_loop_cosq_sysport_ingress_queue_map_set(
   4561 	int	unit,
   4562 	uint32	flags,
   4563 	bcm_gport_t	sysport,
   4564 	bcm_gport_t	ingress_queue)
   4565 {
   4566 	return bcm_cosq_sysport_ingress_queue_map_set(
   4567 			BCM_CONTROL(unit)->unit,
   4568 			flags,
   4569 			sysport,
   4570 			ingress_queue);
   4571 }
   4572 
   4573 int
   4574 bcm_loop_cosq_tas_control_get(
   4575 	int	unit,
   4576 	bcm_gport_t	port,
   4577 	bcm_cosq_tas_control_t	type,
   4578 	int *	arg)
   4579 {
   4580 	return bcm_cosq_tas_control_get(
   4581 			BCM_CONTROL(unit)->unit,
   4582 			port,
   4583 			type,
   4584 			arg);
   4585 }
   4586 
   4587 int
   4588 bcm_loop_cosq_tas_control_set(
   4589 	int	unit,
   4590 	bcm_gport_t	port,
   4591 	bcm_cosq_tas_control_t	type,
   4592 	int	arg)
   4593 {
   4594 	return bcm_cosq_tas_control_set(
   4595 			BCM_CONTROL(unit)->unit,
   4596 			port,
   4597 			type,
   4598 			arg);
   4599 }
   4600 
   4601 int
   4602 bcm_loop_cosq_tas_profile_commit(
   4603 	int	unit,
   4604 	bcm_gport_t	port,
   4605 	bcm_cosq_tas_profile_id_t	pid)
   4606 {
   4607 	return bcm_cosq_tas_profile_commit(
   4608 			BCM_CONTROL(unit)->unit,
   4609 			port,
   4610 			pid);
   4611 }
   4612 
   4613 int
   4614 bcm_loop_cosq_tas_profile_create(
   4615 	int	unit,
   4616 	bcm_gport_t	port,
   4617 	bcm_cosq_tas_profile_t *	profile,
   4618 	bcm_cosq_tas_profile_id_t *	pid)
   4619 {
   4620 	return bcm_cosq_tas_profile_create(
   4621 			BCM_CONTROL(unit)->unit,
   4622 			port,
   4623 			profile,
   4624 			pid);
   4625 }
   4626 
   4627 int
   4628 bcm_loop_cosq_tas_profile_destroy(
   4629 	int	unit,
   4630 	bcm_gport_t	port,
   4631 	bcm_cosq_tas_profile_id_t	pid)
   4632 {
   4633 	return bcm_cosq_tas_profile_destroy(
   4634 			BCM_CONTROL(unit)->unit,
   4635 			port,
   4636 			pid);
   4637 }
   4638 
   4639 int
   4640 bcm_loop_cosq_tas_profile_destroy_all(
   4641 	int	unit,
   4642 	bcm_gport_t	port)
   4643 {
   4644 	return bcm_cosq_tas_profile_destroy_all(
   4645 			BCM_CONTROL(unit)->unit,
   4646 			port);
   4647 }
   4648 
   4649 int
   4650 bcm_loop_cosq_tas_profile_get(
   4651 	int	unit,
   4652 	bcm_gport_t	port,
   4653 	bcm_cosq_tas_profile_id_t	pid,
   4654 	bcm_cosq_tas_profile_t *	profile)
   4655 {
   4656 	return bcm_cosq_tas_profile_get(
   4657 			BCM_CONTROL(unit)->unit,
   4658 			port,
   4659 			pid,
   4660 			profile);
   4661 }
   4662 
   4663 int
   4664 bcm_loop_cosq_tas_profile_set(
   4665 	int	unit,
   4666 	bcm_gport_t	port,
   4667 	bcm_cosq_tas_profile_id_t	pid,
   4668 	bcm_cosq_tas_profile_t *	profile)
   4669 {
   4670 	return bcm_cosq_tas_profile_set(
   4671 			BCM_CONTROL(unit)->unit,
   4672 			port,
   4673 			pid,
   4674 			profile);
   4675 }
   4676 
   4677 int
   4678 bcm_loop_cosq_tas_profile_status_get(
   4679 	int	unit,
   4680 	bcm_gport_t	port,
   4681 	bcm_cosq_tas_profile_id_t	pid,
   4682 	bcm_cosq_tas_profile_status_t *	status)
   4683 {
   4684 	return bcm_cosq_tas_profile_status_get(
   4685 			BCM_CONTROL(unit)->unit,
   4686 			port,
   4687 			pid,
   4688 			status);
   4689 }
   4690 
   4691 /* bcm_cosq_tas_profile_status_t_init not dispatchable */
   4692 
   4693 /* bcm_cosq_tas_profile_t_init not dispatchable */
   4694 
   4695 int
   4696 bcm_loop_cosq_tas_profile_traverse(
   4697 	int	unit,
   4698 	bcm_gport_t	port,
   4699 	bcm_cosq_tas_profile_traverse_cb	cb,
   4700 	void *	user_data)
   4701 {
   4702 	return bcm_cosq_tas_profile_traverse(
   4703 			BCM_CONTROL(unit)->unit,
   4704 			port,
   4705 			cb,
   4706 			user_data);
   4707 }
   4708 
   4709 int
   4710 bcm_loop_cosq_tas_status_get(
   4711 	int	unit,
   4712 	bcm_gport_t	port,
   4713 	bcm_cosq_tas_status_t	type,
   4714 	int *	arg)
   4715 {
   4716 	return bcm_cosq_tas_status_get(
   4717 			BCM_CONTROL(unit)->unit,
   4718 			port,
   4719 			type,
   4720 			arg);
   4721 }
   4722 
   4723 #ifdef	INCLUDE_TCB
   4724 
   4725 int
   4726 bcm_loop_cosq_tcb_buffer_multi_get(
   4727 	int	unit,
   4728 	bcm_cosq_buffer_id_t	buffer_id,
   4729 	int	array_max,
   4730 	bcm_cosq_tcb_buffer_t *	buffer_array,
   4731 	int *	array_count)
   4732 {
   4733 	return bcm_cosq_tcb_buffer_multi_get(
   4734 			BCM_CONTROL(unit)->unit,
   4735 			buffer_id,
   4736 			array_max,
   4737 			buffer_array,
   4738 			array_count);
   4739 }
   4740 
   4741 int
   4742 bcm_loop_cosq_tcb_cb_register(
   4743 	int	unit,
   4744 	bcm_cosq_tcb_callback_t	fn,
   4745 	void *	user_data)
   4746 {
   4747 	return bcm_cosq_tcb_cb_register(
   4748 			BCM_CONTROL(unit)->unit,
   4749 			fn,
   4750 			user_data);
   4751 }
   4752 
   4753 int
   4754 bcm_loop_cosq_tcb_cb_unregister(
   4755 	int	unit,
   4756 	bcm_cosq_tcb_callback_t	fn)
   4757 {
   4758 	return bcm_cosq_tcb_cb_unregister(
   4759 			BCM_CONTROL(unit)->unit,
   4760 			fn);
   4761 }
   4762 
   4763 int
   4764 bcm_loop_cosq_tcb_config_get(
   4765 	int	unit,
   4766 	bcm_cosq_buffer_id_t	buffer_id,
   4767 	bcm_cosq_tcb_config_t *	config)
   4768 {
   4769 	return bcm_cosq_tcb_config_get(
   4770 			BCM_CONTROL(unit)->unit,
   4771 			buffer_id,
   4772 			config);
   4773 }
   4774 
   4775 int
   4776 bcm_loop_cosq_tcb_config_set(
   4777 	int	unit,
   4778 	bcm_cosq_buffer_id_t	buffer_id,
   4779 	bcm_cosq_tcb_config_t *	config)
   4780 {
   4781 	return bcm_cosq_tcb_config_set(
   4782 			BCM_CONTROL(unit)->unit,
   4783 			buffer_id,
   4784 			config);
   4785 }
   4786 
   4787 /* bcm_cosq_tcb_config_t_init not dispatchable */
   4788 
   4789 int
   4790 bcm_loop_cosq_tcb_control_get(
   4791 	int	unit,
   4792 	int	buffer_id,
   4793 	bcm_cosq_tcb_control_t	type,
   4794 	int *	arg)
   4795 {
   4796 	return bcm_cosq_tcb_control_get(
   4797 			BCM_CONTROL(unit)->unit,
   4798 			buffer_id,
   4799 			type,
   4800 			arg);
   4801 }
   4802 
   4803 int
   4804 bcm_loop_cosq_tcb_control_set(
   4805 	int	unit,
   4806 	bcm_cosq_buffer_id_t	buffer_id,
   4807 	bcm_cosq_tcb_control_t	type,
   4808 	int	arg)
   4809 {
   4810 	return bcm_cosq_tcb_control_set(
   4811 			BCM_CONTROL(unit)->unit,
   4812 			buffer_id,
   4813 			type,
   4814 			arg);
   4815 }
   4816 
   4817 int
   4818 bcm_loop_cosq_tcb_event_multi_get(
   4819 	int	unit,
   4820 	bcm_cosq_buffer_id_t	buffer_id,
   4821 	int	array_max,
   4822 	bcm_cosq_tcb_event_t *	event_array,
   4823 	int *	array_count,
   4824 	int *	overflow_count)
   4825 {
   4826 	return bcm_cosq_tcb_event_multi_get(
   4827 			BCM_CONTROL(unit)->unit,
   4828 			buffer_id,
   4829 			array_max,
   4830 			event_array,
   4831 			array_count,
   4832 			overflow_count);
   4833 }
   4834 
   4835 int
   4836 bcm_loop_cosq_tcb_gport_threshold_mapping_get(
   4837 	int	unit,
   4838 	bcm_cosq_object_id_t *	id,
   4839 	int *	profile_index)
   4840 {
   4841 	return bcm_cosq_tcb_gport_threshold_mapping_get(
   4842 			BCM_CONTROL(unit)->unit,
   4843 			id,
   4844 			profile_index);
   4845 }
   4846 
   4847 int
   4848 bcm_loop_cosq_tcb_gport_threshold_mapping_set(
   4849 	int	unit,
   4850 	bcm_cosq_object_id_t *	id,
   4851 	int	profile_index)
   4852 {
   4853 	return bcm_cosq_tcb_gport_threshold_mapping_set(
   4854 			BCM_CONTROL(unit)->unit,
   4855 			id,
   4856 			profile_index);
   4857 }
   4858 
   4859 int
   4860 bcm_loop_cosq_tcb_threshold_profile_create(
   4861 	int	unit,
   4862 	int	flags,
   4863 	bcm_cosq_buffer_id_t	buffer_id,
   4864 	bcm_cosq_tcb_threshold_profile_t *	threshold,
   4865 	int *	profile_index)
   4866 {
   4867 	return bcm_cosq_tcb_threshold_profile_create(
   4868 			BCM_CONTROL(unit)->unit,
   4869 			flags,
   4870 			buffer_id,
   4871 			threshold,
   4872 			profile_index);
   4873 }
   4874 
   4875 int
   4876 bcm_loop_cosq_tcb_threshold_profile_destroy(
   4877 	int	unit,
   4878 	bcm_cosq_buffer_id_t	buffer_id,
   4879 	int	profile_index)
   4880 {
   4881 	return bcm_cosq_tcb_threshold_profile_destroy(
   4882 			BCM_CONTROL(unit)->unit,
   4883 			buffer_id,
   4884 			profile_index);
   4885 }
   4886 
   4887 int
   4888 bcm_loop_cosq_tcb_threshold_profile_get(
   4889 	int	unit,
   4890 	bcm_cosq_buffer_id_t	buffer_id,
   4891 	int	profile_index,
   4892 	bcm_cosq_tcb_threshold_profile_t *	threshold)
   4893 {
   4894 	return bcm_cosq_tcb_threshold_profile_get(
   4895 			BCM_CONTROL(unit)->unit,
   4896 			buffer_id,
   4897 			profile_index,
   4898 			threshold);
   4899 }
   4900 
   4901 /* bcm_cosq_tcb_threshold_profile_t_init not dispatchable */
   4902 
   4903 /* bcm_cosq_threshold_t_init not dispatchable */
   4904 
   4905 #endif	/* INCLUDE_TCB */
   4906 
   4907 int
   4908 bcm_loop_cosq_voq_connector_gport_add(
   4909 	int	unit,
   4910 	bcm_cosq_voq_connector_gport_t *	config,
   4911 	bcm_gport_t *	gport)
   4912 {
   4913 	return bcm_cosq_voq_connector_gport_add(
   4914 			BCM_CONTROL(unit)->unit,
   4915 			config,
   4916 			gport);
   4917 }
   4918 
   4919 int
   4920 bcm_loop_cpri_decap_presentation_time_config_get(
   4921 	int	unit,
   4922 	bcm_port_t	port,
   4923 	bcm_cpri_decap_presentation_config_t *	config)
   4924 {
   4925 	return bcm_cpri_decap_presentation_time_config_get(
   4926 			BCM_CONTROL(unit)->unit,
   4927 			port,
   4928 			config);
   4929 }
   4930 
   4931 int
   4932 bcm_loop_cpri_decap_presentation_time_config_set(
   4933 	int	unit,
   4934 	bcm_port_t	port,
   4935 	bcm_cpri_decap_presentation_config_t *	config)
   4936 {
   4937 	return bcm_cpri_decap_presentation_time_config_set(
   4938 			BCM_CONTROL(unit)->unit,
   4939 			port,
   4940 			config);
   4941 }
   4942 
   4943 int
   4944 bcm_loop_cpri_detach(
   4945 	int	unit)
   4946 {
   4947 	return bcm_cpri_detach(
   4948 			BCM_CONTROL(unit)->unit);
   4949 }
   4950 
   4951 int
   4952 bcm_loop_cpri_encap_control_queue_tag_to_flow_id_map_set(
   4953 	int	unit,
   4954 	int	port,
   4955 	uint32	tag_id,
   4956 	uint32	flow_id)
   4957 {
   4958 	return bcm_cpri_encap_control_queue_tag_to_flow_id_map_set(
   4959 			BCM_CONTROL(unit)->unit,
   4960 			port,
   4961 			tag_id,
   4962 			flow_id);
   4963 }
   4964 
   4965 int
   4966 bcm_loop_cpri_encap_presentation_time_config_get(
   4967 	int	unit,
   4968 	bcm_port_t	port,
   4969 	bcm_cpri_presentation_ts_attribute_t	attribute,
   4970 	bcm_cpri_presentation_time_t *	time_offset)
   4971 {
   4972 	return bcm_cpri_encap_presentation_time_config_get(
   4973 			BCM_CONTROL(unit)->unit,
   4974 			port,
   4975 			attribute,
   4976 			time_offset);
   4977 }
   4978 
   4979 int
   4980 bcm_loop_cpri_encap_presentation_time_config_set(
   4981 	int	unit,
   4982 	bcm_port_t	port,
   4983 	bcm_cpri_presentation_ts_attribute_t	attribute,
   4984 	bcm_cpri_presentation_time_t *	time)
   4985 {
   4986 	return bcm_cpri_encap_presentation_time_config_set(
   4987 			BCM_CONTROL(unit)->unit,
   4988 			port,
   4989 			attribute,
   4990 			time);
   4991 }
   4992 
   4993 int
   4994 bcm_loop_cpri_init(
   4995 	int	unit)
   4996 {
   4997 	return bcm_cpri_init(
   4998 			BCM_CONTROL(unit)->unit);
   4999 }
   5000 
   5001 int
   5002 bcm_loop_cpri_port_1588_timestamp_capture_config_get(
   5003 	int	unit,
   5004 	bcm_port_t	port,
   5005 	bcm_cpri_dir_t	direction,
   5006 	bcm_cpri_1588_capture_config_t *	config)
   5007 {
   5008 	return bcm_cpri_port_1588_timestamp_capture_config_get(
   5009 			BCM_CONTROL(unit)->unit,
   5010 			port,
   5011 			direction,
   5012 			config);
   5013 }
   5014 
   5015 int
   5016 bcm_loop_cpri_port_1588_timestamp_capture_config_set(
   5017 	int	unit,
   5018 	bcm_port_t	port,
   5019 	bcm_cpri_dir_t	direction,
   5020 	bcm_cpri_1588_capture_config_t *	config)
   5021 {
   5022 	return bcm_cpri_port_1588_timestamp_capture_config_set(
   5023 			BCM_CONTROL(unit)->unit,
   5024 			port,
   5025 			direction,
   5026 			config);
   5027 }
   5028 
   5029 int
   5030 bcm_loop_cpri_port_1588_timestamp_config_get(
   5031 	int	unit,
   5032 	bcm_port_t	port,
   5033 	bcm_cpri_dir_t	direction,
   5034 	bcm_cpri_1588_config_t *	config)
   5035 {
   5036 	return bcm_cpri_port_1588_timestamp_config_get(
   5037 			BCM_CONTROL(unit)->unit,
   5038 			port,
   5039 			direction,
   5040 			config);
   5041 }
   5042 
   5043 int
   5044 bcm_loop_cpri_port_1588_timestamp_config_set(
   5045 	int	unit,
   5046 	bcm_port_t	port,
   5047 	bcm_cpri_dir_t	direction,
   5048 	bcm_cpri_1588_config_t *	config)
   5049 {
   5050 	return bcm_cpri_port_1588_timestamp_config_set(
   5051 			BCM_CONTROL(unit)->unit,
   5052 			port,
   5053 			direction,
   5054 			config);
   5055 }
   5056 
   5057 int
   5058 bcm_loop_cpri_port_1588_timestamp_get(
   5059 	int	unit,
   5060 	bcm_port_t	port,
   5061 	bcm_cpri_dir_t	direction,
   5062 	bcm_cpri_1588_ts_type_t	type,
   5063 	int	max_count,
   5064 	int *	count,
   5065 	bcm_cpri_1588_timestamp_t *	ts_list)
   5066 {
   5067 	return bcm_cpri_port_1588_timestamp_get(
   5068 			BCM_CONTROL(unit)->unit,
   5069 			port,
   5070 			direction,
   5071 			type,
   5072 			max_count,
   5073 			count,
   5074 			ts_list);
   5075 }
   5076 
   5077 int
   5078 bcm_loop_cpri_port_1588_timestamp_ts_config_get(
   5079 	int	unit,
   5080 	bcm_port_t	port,
   5081 	bcm_cpri_dir_t	direction,
   5082 	bcm_cpri_1588_ts_type_t	type,
   5083 	bcm_cpri_1588_timestamp_ts_config_t *	config)
   5084 {
   5085 	return bcm_cpri_port_1588_timestamp_ts_config_get(
   5086 			BCM_CONTROL(unit)->unit,
   5087 			port,
   5088 			direction,
   5089 			type,
   5090 			config);
   5091 }
   5092 
   5093 int
   5094 bcm_loop_cpri_port_1588_timestamp_ts_config_set(
   5095 	int	unit,
   5096 	bcm_port_t	port,
   5097 	bcm_cpri_dir_t	direction,
   5098 	bcm_cpri_1588_ts_type_t	type,
   5099 	bcm_cpri_1588_timestamp_ts_config_t *	config)
   5100 {
   5101 	return bcm_cpri_port_1588_timestamp_ts_config_set(
   5102 			BCM_CONTROL(unit)->unit,
   5103 			port,
   5104 			direction,
   5105 			type,
   5106 			config);
   5107 }
   5108 
   5109 int
   5110 bcm_loop_cpri_port_agnostic_config_get(
   5111 	int	unit,
   5112 	bcm_port_t	port,
   5113 	bcm_cpri_dir_t	dir,
   5114 	int *	enable,
   5115 	bcm_cpri_port_agnostic_config_t *	config)
   5116 {
   5117 	return bcm_cpri_port_agnostic_config_get(
   5118 			BCM_CONTROL(unit)->unit,
   5119 			port,
   5120 			dir,
   5121 			enable,
   5122 			config);
   5123 }
   5124 
   5125 int
   5126 bcm_loop_cpri_port_agnostic_config_set(
   5127 	int	unit,
   5128 	bcm_port_t	port,
   5129 	bcm_cpri_dir_t	dir,
   5130 	int	enable,
   5131 	bcm_cpri_port_agnostic_config_t *	config)
   5132 {
   5133 	return bcm_cpri_port_agnostic_config_set(
   5134 			BCM_CONTROL(unit)->unit,
   5135 			port,
   5136 			dir,
   5137 			enable,
   5138 			config);
   5139 }
   5140 
   5141 int
   5142 bcm_loop_cpri_port_compression_lookup_table_get(
   5143 	int	unit,
   5144 	bcm_gport_t	port,
   5145 	int	max_depth,
   5146 	int *	table_depth,
   5147 	uint32 *	comp_table)
   5148 {
   5149 	return bcm_cpri_port_compression_lookup_table_get(
   5150 			BCM_CONTROL(unit)->unit,
   5151 			port,
   5152 			max_depth,
   5153 			table_depth,
   5154 			comp_table);
   5155 }
   5156 
   5157 int
   5158 bcm_loop_cpri_port_compression_lookup_table_set(
   5159 	int	unit,
   5160 	bcm_gport_t	port,
   5161 	int	table_depth,
   5162 	uint32 *	comp_table)
   5163 {
   5164 	return bcm_cpri_port_compression_lookup_table_set(
   5165 			BCM_CONTROL(unit)->unit,
   5166 			port,
   5167 			table_depth,
   5168 			comp_table);
   5169 }
   5170 
   5171 int
   5172 bcm_loop_cpri_port_compression_saturation_config_get(
   5173 	int	unit,
   5174 	bcm_port_t	port,
   5175 	uint32 *	threshold_value)
   5176 {
   5177 	return bcm_cpri_port_compression_saturation_config_get(
   5178 			BCM_CONTROL(unit)->unit,
   5179 			port,
   5180 			threshold_value);
   5181 }
   5182 
   5183 int
   5184 bcm_loop_cpri_port_compression_saturation_config_set(
   5185 	int	unit,
   5186 	bcm_port_t	port,
   5187 	uint32	threshold_value)
   5188 {
   5189 	return bcm_cpri_port_compression_saturation_config_set(
   5190 			BCM_CONTROL(unit)->unit,
   5191 			port,
   5192 			threshold_value);
   5193 }
   5194 
   5195 int
   5196 bcm_loop_cpri_port_cw_fast_eth_config_get(
   5197 	int	unit,
   5198 	int	port,
   5199 	bcm_cpri_fast_eth_config_info_t *	config)
   5200 {
   5201 	return bcm_cpri_port_cw_fast_eth_config_get(
   5202 			BCM_CONTROL(unit)->unit,
   5203 			port,
   5204 			config);
   5205 }
   5206 
   5207 int
   5208 bcm_loop_cpri_port_cw_fast_eth_config_set(
   5209 	int	unit,
   5210 	int	port,
   5211 	bcm_cpri_fast_eth_config_info_t *	config)
   5212 {
   5213 	return bcm_cpri_port_cw_fast_eth_config_set(
   5214 			BCM_CONTROL(unit)->unit,
   5215 			port,
   5216 			config);
   5217 }
   5218 
   5219 int
   5220 bcm_loop_cpri_port_cw_slow_hdlc_config_get(
   5221 	int	unit,
   5222 	int	port,
   5223 	bcm_cpri_slow_hdlc_config_info_t *	config)
   5224 {
   5225 	return bcm_cpri_port_cw_slow_hdlc_config_get(
   5226 			BCM_CONTROL(unit)->unit,
   5227 			port,
   5228 			config);
   5229 }
   5230 
   5231 int
   5232 bcm_loop_cpri_port_cw_slow_hdlc_config_set(
   5233 	int	unit,
   5234 	int	port,
   5235 	bcm_cpri_slow_hdlc_config_info_t *	config)
   5236 {
   5237 	return bcm_cpri_port_cw_slow_hdlc_config_set(
   5238 			BCM_CONTROL(unit)->unit,
   5239 			port,
   5240 			config);
   5241 }
   5242 
   5243 int
   5244 bcm_loop_cpri_port_decap_ethertype_get(
   5245 	int	unit,
   5246 	bcm_gport_t	port,
   5247 	bcm_cpri_ethertype_t	type,
   5248 	uint16 *	tpid)
   5249 {
   5250 	return bcm_cpri_port_decap_ethertype_get(
   5251 			BCM_CONTROL(unit)->unit,
   5252 			port,
   5253 			type,
   5254 			tpid);
   5255 }
   5256 
   5257 int
   5258 bcm_loop_cpri_port_decap_ethertype_set(
   5259 	int	unit,
   5260 	bcm_gport_t	port,
   5261 	bcm_cpri_ethertype_t	type,
   5262 	uint16	tpid)
   5263 {
   5264 	return bcm_cpri_port_decap_ethertype_set(
   5265 			BCM_CONTROL(unit)->unit,
   5266 			port,
   5267 			type,
   5268 			tpid);
   5269 }
   5270 
   5271 int
   5272 bcm_loop_cpri_port_decap_flow_config_get(
   5273 	int	unit,
   5274 	bcm_gport_t	port,
   5275 	uint8	roe_subtype,
   5276 	bcm_cpri_decap_flow_config_t *	config)
   5277 {
   5278 	return bcm_cpri_port_decap_flow_config_get(
   5279 			BCM_CONTROL(unit)->unit,
   5280 			port,
   5281 			roe_subtype,
   5282 			config);
   5283 }
   5284 
   5285 int
   5286 bcm_loop_cpri_port_decap_flow_config_set(
   5287 	int	unit,
   5288 	bcm_gport_t	port,
   5289 	uint8	roe_subtype,
   5290 	bcm_cpri_decap_flow_config_t *	config)
   5291 {
   5292 	return bcm_cpri_port_decap_flow_config_set(
   5293 			BCM_CONTROL(unit)->unit,
   5294 			port,
   5295 			roe_subtype,
   5296 			config);
   5297 }
   5298 
   5299 int
   5300 bcm_loop_cpri_port_decap_flow_to_queue_mapping_get(
   5301 	int	unit,
   5302 	bcm_gport_t	port,
   5303 	uint32	flow_id,
   5304 	uint32 *	queue_num)
   5305 {
   5306 	return bcm_cpri_port_decap_flow_to_queue_mapping_get(
   5307 			BCM_CONTROL(unit)->unit,
   5308 			port,
   5309 			flow_id,
   5310 			queue_num);
   5311 }
   5312 
   5313 int
   5314 bcm_loop_cpri_port_decap_flow_to_queue_mapping_set(
   5315 	int	unit,
   5316 	bcm_gport_t	port,
   5317 	uint32	flow_id,
   5318 	uint32	queue_num)
   5319 {
   5320 	return bcm_cpri_port_decap_flow_to_queue_mapping_set(
   5321 			BCM_CONTROL(unit)->unit,
   5322 			port,
   5323 			flow_id,
   5324 			queue_num);
   5325 }
   5326 
   5327 int
   5328 bcm_loop_cpri_port_decap_queue_flow_control_get(
   5329 	int	unit,
   5330 	bcm_gport_t	port,
   5331 	uint32	queue_num,
   5332 	uint32 *	xon_threshold,
   5333 	uint32 *	xoff_threshold,
   5334 	int *	enable)
   5335 {
   5336 	return bcm_cpri_port_decap_queue_flow_control_get(
   5337 			BCM_CONTROL(unit)->unit,
   5338 			port,
   5339 			queue_num,
   5340 			xon_threshold,
   5341 			xoff_threshold,
   5342 			enable);
   5343 }
   5344 
   5345 int
   5346 bcm_loop_cpri_port_decap_queue_flow_control_set(
   5347 	int	unit,
   5348 	bcm_gport_t	port,
   5349 	uint32	queue_num,
   5350 	uint32	xon_threshold,
   5351 	uint32	xoff_threshold,
   5352 	int	enable)
   5353 {
   5354 	return bcm_cpri_port_decap_queue_flow_control_set(
   5355 			BCM_CONTROL(unit)->unit,
   5356 			port,
   5357 			queue_num,
   5358 			xon_threshold,
   5359 			xoff_threshold,
   5360 			enable);
   5361 }
   5362 
   5363 int
   5364 bcm_loop_cpri_port_decap_queue_to_ordering_info_index_get(
   5365 	int	unit,
   5366 	bcm_gport_t	port,
   5367 	uint32	queue_num,
   5368 	uint32 *	ordering_info_index)
   5369 {
   5370 	return bcm_cpri_port_decap_queue_to_ordering_info_index_get(
   5371 			BCM_CONTROL(unit)->unit,
   5372 			port,
   5373 			queue_num,
   5374 			ordering_info_index);
   5375 }
   5376 
   5377 int
   5378 bcm_loop_cpri_port_decap_queue_to_ordering_info_index_set(
   5379 	int	unit,
   5380 	bcm_gport_t	port,
   5381 	uint32	queue_num,
   5382 	uint32	ordering_info_index)
   5383 {
   5384 	return bcm_cpri_port_decap_queue_to_ordering_info_index_set(
   5385 			BCM_CONTROL(unit)->unit,
   5386 			port,
   5387 			queue_num,
   5388 			ordering_info_index);
   5389 }
   5390 
   5391 int
   5392 bcm_loop_cpri_port_decap_roe_ordering_info_get(
   5393 	int	unit,
   5394 	bcm_gport_t	port,
   5395 	int	index,
   5396 	bcm_cpri_decap_roe_oi_t *	ordering_info)
   5397 {
   5398 	return bcm_cpri_port_decap_roe_ordering_info_get(
   5399 			BCM_CONTROL(unit)->unit,
   5400 			port,
   5401 			index,
   5402 			ordering_info);
   5403 }
   5404 
   5405 int
   5406 bcm_loop_cpri_port_decap_roe_ordering_info_set(
   5407 	int	unit,
   5408 	bcm_gport_t	port,
   5409 	int	index,
   5410 	bcm_cpri_decap_roe_oi_t *	ordering_info)
   5411 {
   5412 	return bcm_cpri_port_decap_roe_ordering_info_set(
   5413 			BCM_CONTROL(unit)->unit,
   5414 			port,
   5415 			index,
   5416 			ordering_info);
   5417 }
   5418 
   5419 int
   5420 bcm_loop_cpri_port_decap_roe_ordering_sequence_offset_get(
   5421 	int	unit,
   5422 	bcm_gport_t	port,
   5423 	int	queue,
   5424 	bcm_cpri_roe_oi_seq_offset_t *	seq_offset)
   5425 {
   5426 	return bcm_cpri_port_decap_roe_ordering_sequence_offset_get(
   5427 			BCM_CONTROL(unit)->unit,
   5428 			port,
   5429 			queue,
   5430 			seq_offset);
   5431 }
   5432 
   5433 int
   5434 bcm_loop_cpri_port_decap_roe_ordering_sequence_offset_set(
   5435 	int	unit,
   5436 	bcm_gport_t	port,
   5437 	int	queue,
   5438 	bcm_cpri_roe_oi_seq_offset_t *	seq_offset)
   5439 {
   5440 	return bcm_cpri_port_decap_roe_ordering_sequence_offset_set(
   5441 			BCM_CONTROL(unit)->unit,
   5442 			port,
   5443 			queue,
   5444 			seq_offset);
   5445 }
   5446 
   5447 int
   5448 bcm_loop_cpri_port_decap_secondary_key_to_queue_mapping_get(
   5449 	int	unit,
   5450 	bcm_port_t	port,
   5451 	uint32	secondary_key,
   5452 	uint32 *	queue_num)
   5453 {
   5454 	return bcm_cpri_port_decap_secondary_key_to_queue_mapping_get(
   5455 			BCM_CONTROL(unit)->unit,
   5456 			port,
   5457 			secondary_key,
   5458 			queue_num);
   5459 }
   5460 
   5461 int
   5462 bcm_loop_cpri_port_decap_secondary_key_to_queue_mapping_set(
   5463 	int	unit,
   5464 	bcm_port_t	port,
   5465 	uint32	secondary_key,
   5466 	uint32	queue_num)
   5467 {
   5468 	return bcm_cpri_port_decap_secondary_key_to_queue_mapping_set(
   5469 			BCM_CONTROL(unit)->unit,
   5470 			port,
   5471 			secondary_key,
   5472 			queue_num);
   5473 }
   5474 
   5475 int
   5476 bcm_loop_cpri_port_decompression_lookup_table_get(
   5477 	int	unit,
   5478 	bcm_gport_t	port,
   5479 	int	max_depth,
   5480 	int *	table_depth,
   5481 	uint32 *	comp_table)
   5482 {
   5483 	return bcm_cpri_port_decompression_lookup_table_get(
   5484 			BCM_CONTROL(unit)->unit,
   5485 			port,
   5486 			max_depth,
   5487 			table_depth,
   5488 			comp_table);
   5489 }
   5490 
   5491 int
   5492 bcm_loop_cpri_port_decompression_lookup_table_set(
   5493 	int	unit,
   5494 	bcm_gport_t	port,
   5495 	int	table_depth,
   5496 	uint32 *	comp_table)
   5497 {
   5498 	return bcm_cpri_port_decompression_lookup_table_set(
   5499 			BCM_CONTROL(unit)->unit,
   5500 			port,
   5501 			table_depth,
   5502 			comp_table);
   5503 }
   5504 
   5505 int
   5506 bcm_loop_cpri_port_decompression_saturation_config_get(
   5507 	int	unit,
   5508 	bcm_port_t	port,
   5509 	uint32 *	sat_value)
   5510 {
   5511 	return bcm_cpri_port_decompression_saturation_config_get(
   5512 			BCM_CONTROL(unit)->unit,
   5513 			port,
   5514 			sat_value);
   5515 }
   5516 
   5517 int
   5518 bcm_loop_cpri_port_decompression_saturation_config_set(
   5519 	int	unit,
   5520 	bcm_port_t	port,
   5521 	uint32	sat_value)
   5522 {
   5523 	return bcm_cpri_port_decompression_saturation_config_set(
   5524 			BCM_CONTROL(unit)->unit,
   5525 			port,
   5526 			sat_value);
   5527 }
   5528 
   5529 int
   5530 bcm_loop_cpri_port_encap_get(
   5531 	int	unit,
   5532 	bcm_gport_t	port,
   5533 	int	queue_num,
   5534 	bcm_cpri_encap_info_t *	encap_config)
   5535 {
   5536 	return bcm_cpri_port_encap_get(
   5537 			BCM_CONTROL(unit)->unit,
   5538 			port,
   5539 			queue_num,
   5540 			encap_config);
   5541 }
   5542 
   5543 int
   5544 bcm_loop_cpri_port_encap_roe_entry_macda_get(
   5545 	int	unit,
   5546 	bcm_gport_t	port,
   5547 	int	index,
   5548 	bcm_mac_t *	macaddr)
   5549 {
   5550 	return bcm_cpri_port_encap_roe_entry_macda_get(
   5551 			BCM_CONTROL(unit)->unit,
   5552 			port,
   5553 			index,
   5554 			macaddr);
   5555 }
   5556 
   5557 int
   5558 bcm_loop_cpri_port_encap_roe_entry_macda_set(
   5559 	int	unit,
   5560 	bcm_gport_t	port,
   5561 	int	index,
   5562 	bcm_mac_t	macaddr)
   5563 {
   5564 	return bcm_cpri_port_encap_roe_entry_macda_set(
   5565 			BCM_CONTROL(unit)->unit,
   5566 			port,
   5567 			index,
   5568 			macaddr);
   5569 }
   5570 
   5571 int
   5572 bcm_loop_cpri_port_encap_roe_entry_macsa_get(
   5573 	int	unit,
   5574 	bcm_gport_t	port,
   5575 	int	index,
   5576 	bcm_mac_t *	macaddr)
   5577 {
   5578 	return bcm_cpri_port_encap_roe_entry_macsa_get(
   5579 			BCM_CONTROL(unit)->unit,
   5580 			port,
   5581 			index,
   5582 			macaddr);
   5583 }
   5584 
   5585 int
   5586 bcm_loop_cpri_port_encap_roe_entry_macsa_set(
   5587 	int	unit,
   5588 	bcm_gport_t	port,
   5589 	int	index,
   5590 	bcm_mac_t	macaddr)
   5591 {
   5592 	return bcm_cpri_port_encap_roe_entry_macsa_set(
   5593 			BCM_CONTROL(unit)->unit,
   5594 			port,
   5595 			index,
   5596 			macaddr);
   5597 }
   5598 
   5599 int
   5600 bcm_loop_cpri_port_encap_roe_entry_vlan_get(
   5601 	int	unit,
   5602 	bcm_gport_t	port,
   5603 	uint32	flags,
   5604 	uint32	index,
   5605 	bcm_vlan_t *	vlan_id)
   5606 {
   5607 	return bcm_cpri_port_encap_roe_entry_vlan_get(
   5608 			BCM_CONTROL(unit)->unit,
   5609 			port,
   5610 			flags,
   5611 			index,
   5612 			vlan_id);
   5613 }
   5614 
   5615 int
   5616 bcm_loop_cpri_port_encap_roe_entry_vlan_set(
   5617 	int	unit,
   5618 	bcm_gport_t	port,
   5619 	uint32	flags,
   5620 	uint32	index,
   5621 	bcm_vlan_t	vlan_id)
   5622 {
   5623 	return bcm_cpri_port_encap_roe_entry_vlan_set(
   5624 			BCM_CONTROL(unit)->unit,
   5625 			port,
   5626 			flags,
   5627 			index,
   5628 			vlan_id);
   5629 }
   5630 
   5631 int
   5632 bcm_loop_cpri_port_encap_roe_ordering_info_get(
   5633 	int	unit,
   5634 	bcm_gport_t	port,
   5635 	int	index,
   5636 	bcm_cpri_encap_roe_oi_t *	ordering_info)
   5637 {
   5638 	return bcm_cpri_port_encap_roe_ordering_info_get(
   5639 			BCM_CONTROL(unit)->unit,
   5640 			port,
   5641 			index,
   5642 			ordering_info);
   5643 }
   5644 
   5645 int
   5646 bcm_loop_cpri_port_encap_roe_ordering_info_set(
   5647 	int	unit,
   5648 	bcm_gport_t	port,
   5649 	int	index,
   5650 	bcm_cpri_encap_roe_oi_t *	ordering_info)
   5651 {
   5652 	return bcm_cpri_port_encap_roe_ordering_info_set(
   5653 			BCM_CONTROL(unit)->unit,
   5654 			port,
   5655 			index,
   5656 			ordering_info);
   5657 }
   5658 
   5659 int
   5660 bcm_loop_cpri_port_encap_roe_ordering_sequence_offset_get(
   5661 	int	unit,
   5662 	bcm_gport_t	port,
   5663 	int	queue,
   5664 	int	control,
   5665 	bcm_cpri_roe_oi_seq_offset_t *	seq_offset)
   5666 {
   5667 	return bcm_cpri_port_encap_roe_ordering_sequence_offset_get(
   5668 			BCM_CONTROL(unit)->unit,
   5669 			port,
   5670 			queue,
   5671 			control,
   5672 			seq_offset);
   5673 }
   5674 
   5675 int
   5676 bcm_loop_cpri_port_encap_roe_ordering_sequence_offset_set(
   5677 	int	unit,
   5678 	bcm_gport_t	port,
   5679 	int	queue,
   5680 	int	control,
   5681 	bcm_cpri_roe_oi_seq_offset_t *	seq_offset)
   5682 {
   5683 	return bcm_cpri_port_encap_roe_ordering_sequence_offset_set(
   5684 			BCM_CONTROL(unit)->unit,
   5685 			port,
   5686 			queue,
   5687 			control,
   5688 			seq_offset);
   5689 }
   5690 
   5691 int
   5692 bcm_loop_cpri_port_encap_set(
   5693 	int	unit,
   5694 	bcm_gport_t	port,
   5695 	int	queue_num,
   5696 	bcm_cpri_encap_info_t *	encap_config)
   5697 {
   5698 	return bcm_cpri_port_encap_set(
   5699 			BCM_CONTROL(unit)->unit,
   5700 			port,
   5701 			queue_num,
   5702 			encap_config);
   5703 }
   5704 
   5705 int
   5706 bcm_loop_cpri_port_encap_vlan_config_get(
   5707 	int	unit,
   5708 	bcm_gport_t	port,
   5709 	bcm_cpri_encap_vlan_config_t *	vlan_config)
   5710 {
   5711 	return bcm_cpri_port_encap_vlan_config_get(
   5712 			BCM_CONTROL(unit)->unit,
   5713 			port,
   5714 			vlan_config);
   5715 }
   5716 
   5717 int
   5718 bcm_loop_cpri_port_encap_vlan_config_set(
   5719 	int	unit,
   5720 	bcm_gport_t	port,
   5721 	bcm_cpri_encap_vlan_config_t *	vlan_config)
   5722 {
   5723 	return bcm_cpri_port_encap_vlan_config_set(
   5724 			BCM_CONTROL(unit)->unit,
   5725 			port,
   5726 			vlan_config);
   5727 }
   5728 
   5729 int
   5730 bcm_loop_cpri_port_fec_aux_config_get(
   5731 	int	unit,
   5732 	bcm_gport_t	port,
   5733 	bcm_cpri_fec_aux_config_t	param_id,
   5734 	uint32 *	value)
   5735 {
   5736 	return bcm_cpri_port_fec_aux_config_get(
   5737 			BCM_CONTROL(unit)->unit,
   5738 			port,
   5739 			param_id,
   5740 			value);
   5741 }
   5742 
   5743 int
   5744 bcm_loop_cpri_port_fec_aux_config_set(
   5745 	int	unit,
   5746 	bcm_gport_t	port,
   5747 	bcm_cpri_fec_aux_config_t	param_id,
   5748 	uint32	value)
   5749 {
   5750 	return bcm_cpri_port_fec_aux_config_set(
   5751 			BCM_CONTROL(unit)->unit,
   5752 			port,
   5753 			param_id,
   5754 			value);
   5755 }
   5756 
   5757 int
   5758 bcm_loop_cpri_port_fec_enable_get(
   5759 	int	unit,
   5760 	bcm_gport_t	port,
   5761 	bcm_cpri_dir_t	dir,
   5762 	int *	enable)
   5763 {
   5764 	return bcm_cpri_port_fec_enable_get(
   5765 			BCM_CONTROL(unit)->unit,
   5766 			port,
   5767 			dir,
   5768 			enable);
   5769 }
   5770 
   5771 int
   5772 bcm_loop_cpri_port_fec_enable_set(
   5773 	int	unit,
   5774 	bcm_gport_t	port,
   5775 	bcm_cpri_dir_t	dir,
   5776 	int	enable)
   5777 {
   5778 	return bcm_cpri_port_fec_enable_set(
   5779 			BCM_CONTROL(unit)->unit,
   5780 			port,
   5781 			dir,
   5782 			enable);
   5783 }
   5784 
   5785 int
   5786 bcm_loop_cpri_port_fec_timestamp_config_get(
   5787 	int	unit,
   5788 	bcm_gport_t	port,
   5789 	bcm_cpri_dir_t	dir,
   5790 	bcm_cpri_fec_timestamp_config_t *	config)
   5791 {
   5792 	return bcm_cpri_port_fec_timestamp_config_get(
   5793 			BCM_CONTROL(unit)->unit,
   5794 			port,
   5795 			dir,
   5796 			config);
   5797 }
   5798 
   5799 int
   5800 bcm_loop_cpri_port_fec_timestamp_config_set(
   5801 	int	unit,
   5802 	bcm_gport_t	port,
   5803 	bcm_cpri_dir_t	dir,
   5804 	bcm_cpri_fec_timestamp_config_t *	config)
   5805 {
   5806 	return bcm_cpri_port_fec_timestamp_config_set(
   5807 			BCM_CONTROL(unit)->unit,
   5808 			port,
   5809 			dir,
   5810 			config);
   5811 }
   5812 
   5813 int
   5814 bcm_loop_cpri_port_frame_config_set(
   5815 	int	unit,
   5816 	bcm_port_t	port,
   5817 	bcm_cpri_port_frame_config_t *	config)
   5818 {
   5819 	return bcm_cpri_port_frame_config_set(
   5820 			BCM_CONTROL(unit)->unit,
   5821 			port,
   5822 			config);
   5823 }
   5824 
   5825 int
   5826 bcm_loop_cpri_port_interrupt_callback_register(
   5827 	int	unit,
   5828 	bcm_cpri_interrupt_type_t	cpri_intr_type,
   5829 	bcm_cpri_port_interrupt_callback_t	callback,
   5830 	void *	user_data)
   5831 {
   5832 	return bcm_cpri_port_interrupt_callback_register(
   5833 			BCM_CONTROL(unit)->unit,
   5834 			cpri_intr_type,
   5835 			callback,
   5836 			user_data);
   5837 }
   5838 
   5839 int
   5840 bcm_loop_cpri_port_interrupt_callback_unregister(
   5841 	int	unit,
   5842 	bcm_cpri_interrupt_type_t	cpri_intr_type,
   5843 	bcm_cpri_port_interrupt_callback_t	callback)
   5844 {
   5845 	return bcm_cpri_port_interrupt_callback_unregister(
   5846 			BCM_CONTROL(unit)->unit,
   5847 			cpri_intr_type,
   5848 			callback);
   5849 }
   5850 
   5851 int
   5852 bcm_loop_cpri_port_interrupt_enable_set(
   5853 	int	unit,
   5854 	bcm_port_t	port,
   5855 	bcm_cpri_interrupt_type_t	cpri_intr_type,
   5856 	int	data,
   5857 	int	enable)
   5858 {
   5859 	return bcm_cpri_port_interrupt_enable_set(
   5860 			BCM_CONTROL(unit)->unit,
   5861 			port,
   5862 			cpri_intr_type,
   5863 			data,
   5864 			enable);
   5865 }
   5866 
   5867 int
   5868 bcm_loop_cpri_port_rsvd4_agnostic_mode_config_get(
   5869 	int	unit,
   5870 	bcm_port_t	port,
   5871 	bcm_cpri_dir_t	direction,
   5872 	int *	enable,
   5873 	bcm_cpri_port_rsvd4_agnostic_config_t *	config)
   5874 {
   5875 	return bcm_cpri_port_rsvd4_agnostic_mode_config_get(
   5876 			BCM_CONTROL(unit)->unit,
   5877 			port,
   5878 			direction,
   5879 			enable,
   5880 			config);
   5881 }
   5882 
   5883 int
   5884 bcm_loop_cpri_port_rsvd4_agnostic_mode_config_set(
   5885 	int	unit,
   5886 	bcm_port_t	port,
   5887 	bcm_cpri_dir_t	direction,
   5888 	int	enable,
   5889 	bcm_cpri_port_rsvd4_agnostic_config_t *	config)
   5890 {
   5891 	return bcm_cpri_port_rsvd4_agnostic_mode_config_set(
   5892 			BCM_CONTROL(unit)->unit,
   5893 			port,
   5894 			direction,
   5895 			enable,
   5896 			config);
   5897 }
   5898 
   5899 int
   5900 bcm_loop_cpri_port_rsvd4_cm_fast_eth_config_set(
   5901 	int	unit,
   5902 	int	port,
   5903 	int	control_flow_id,
   5904 	bcm_rsvd4_fast_eth_config_info_t *	config)
   5905 {
   5906 	return bcm_cpri_port_rsvd4_cm_fast_eth_config_set(
   5907 			BCM_CONTROL(unit)->unit,
   5908 			port,
   5909 			control_flow_id,
   5910 			config);
   5911 }
   5912 
   5913 int
   5914 bcm_loop_cpri_port_rsvd4_dbm_entry_clear(
   5915 	int	unit,
   5916 	bcm_gport_t	port,
   5917 	int	index)
   5918 {
   5919 	return bcm_cpri_port_rsvd4_dbm_entry_clear(
   5920 			BCM_CONTROL(unit)->unit,
   5921 			port,
   5922 			index);
   5923 }
   5924 
   5925 int
   5926 bcm_loop_cpri_port_rsvd4_dbm_entry_get(
   5927 	int	unit,
   5928 	bcm_gport_t	port,
   5929 	int	index,
   5930 	bcm_rsvd4_dbm_entry_t *	entry)
   5931 {
   5932 	return bcm_cpri_port_rsvd4_dbm_entry_get(
   5933 			BCM_CONTROL(unit)->unit,
   5934 			port,
   5935 			index,
   5936 			entry);
   5937 }
   5938 
   5939 int
   5940 bcm_loop_cpri_port_rsvd4_dbm_entry_set(
   5941 	int	unit,
   5942 	bcm_gport_t	port,
   5943 	int	index,
   5944 	bcm_rsvd4_dbm_entry_t *	entry)
   5945 {
   5946 	return bcm_cpri_port_rsvd4_dbm_entry_set(
   5947 			BCM_CONTROL(unit)->unit,
   5948 			port,
   5949 			index,
   5950 			entry);
   5951 }
   5952 
   5953 int
   5954 bcm_loop_cpri_port_rsvd4_rx_bfn_sync_config_set(
   5955 	int	unit,
   5956 	bcm_gport_t	port,
   5957 	uint16	master_frame_count,
   5958 	uint64	master_frame_start)
   5959 {
   5960 	return bcm_cpri_port_rsvd4_rx_bfn_sync_config_set(
   5961 			BCM_CONTROL(unit)->unit,
   5962 			port,
   5963 			master_frame_count,
   5964 			master_frame_start);
   5965 }
   5966 
   5967 int
   5968 bcm_loop_cpri_port_rsvd4_rx_control_flow_add(
   5969 	int	unit,
   5970 	int	port,
   5971 	int	control_flow_id,
   5972 	bcm_rsvd4_control_flow_config_t *	config)
   5973 {
   5974 	return bcm_cpri_port_rsvd4_rx_control_flow_add(
   5975 			BCM_CONTROL(unit)->unit,
   5976 			port,
   5977 			control_flow_id,
   5978 			config);
   5979 }
   5980 
   5981 int
   5982 bcm_loop_cpri_port_rsvd4_rx_control_flow_delete(
   5983 	int	unit,
   5984 	int	port,
   5985 	int	control_flow_id,
   5986 	bcm_rsvd4_control_flow_config_t *	control_flow_cfg)
   5987 {
   5988 	return bcm_cpri_port_rsvd4_rx_control_flow_delete(
   5989 			BCM_CONTROL(unit)->unit,
   5990 			port,
   5991 			control_flow_id,
   5992 			control_flow_cfg);
   5993 }
   5994 
   5995 int
   5996 bcm_loop_cpri_port_rsvd4_rx_current_frame_sync_info_get(
   5997 	int	unit,
   5998 	bcm_gport_t	port,
   5999 	bcm_rsvd4_frame_sync_info_t *	frame_sync_info)
   6000 {
   6001 	return bcm_cpri_port_rsvd4_rx_current_frame_sync_info_get(
   6002 			BCM_CONTROL(unit)->unit,
   6003 			port,
   6004 			frame_sync_info);
   6005 }
   6006 
   6007 int
   6008 bcm_loop_cpri_port_rsvd4_rx_flow_add(
   6009 	int	unit,
   6010 	bcm_gport_t	port,
   6011 	int	flow_id,
   6012 	bcm_rsvd4_rx_flow_info_t *	flow_info)
   6013 {
   6014 	return bcm_cpri_port_rsvd4_rx_flow_add(
   6015 			BCM_CONTROL(unit)->unit,
   6016 			port,
   6017 			flow_id,
   6018 			flow_info);
   6019 }
   6020 
   6021 int
   6022 bcm_loop_cpri_port_rsvd4_rx_flow_delete(
   6023 	int	unit,
   6024 	bcm_gport_t	port,
   6025 	int	flow_id)
   6026 {
   6027 	return bcm_cpri_port_rsvd4_rx_flow_delete(
   6028 			BCM_CONTROL(unit)->unit,
   6029 			port,
   6030 			flow_id);
   6031 }
   6032 
   6033 int
   6034 bcm_loop_cpri_port_rsvd4_rx_frame_config_debug_set(
   6035 	int	unit,
   6036 	bcm_gport_t	port,
   6037 	bcm_rsvd4_rx_config_t	config_type,
   6038 	uint32	value)
   6039 {
   6040 	return bcm_cpri_port_rsvd4_rx_frame_config_debug_set(
   6041 			BCM_CONTROL(unit)->unit,
   6042 			port,
   6043 			config_type,
   6044 			value);
   6045 }
   6046 
   6047 int
   6048 bcm_loop_cpri_port_rsvd4_rx_frame_config_get(
   6049 	int	unit,
   6050 	bcm_gport_t	port,
   6051 	bcm_rsvd4_rx_frame_config_t *	config)
   6052 {
   6053 	return bcm_cpri_port_rsvd4_rx_frame_config_get(
   6054 			BCM_CONTROL(unit)->unit,
   6055 			port,
   6056 			config);
   6057 }
   6058 
   6059 int
   6060 bcm_loop_cpri_port_rsvd4_rx_frame_config_set(
   6061 	int	unit,
   6062 	bcm_gport_t	port,
   6063 	bcm_rsvd4_rx_frame_config_t *	config)
   6064 {
   6065 	return bcm_cpri_port_rsvd4_rx_frame_config_set(
   6066 			BCM_CONTROL(unit)->unit,
   6067 			port,
   6068 			config);
   6069 }
   6070 
   6071 int
   6072 bcm_loop_cpri_port_rsvd4_rx_fsm_state_set(
   6073 	int	unit,
   6074 	bcm_gport_t	port,
   6075 	bcm_rsvd4_rx_fsm_state_t	state)
   6076 {
   6077 	return bcm_cpri_port_rsvd4_rx_fsm_state_set(
   6078 			BCM_CONTROL(unit)->unit,
   6079 			port,
   6080 			state);
   6081 }
   6082 
   6083 int
   6084 bcm_loop_cpri_port_rsvd4_rx_override_set(
   6085 	int	unit,
   6086 	bcm_gport_t	port,
   6087 	bcm_rsvd4_rx_params_t	parameter,
   6088 	int	enable,
   6089 	int	value)
   6090 {
   6091 	return bcm_cpri_port_rsvd4_rx_override_set(
   6092 			BCM_CONTROL(unit)->unit,
   6093 			port,
   6094 			parameter,
   6095 			enable,
   6096 			value);
   6097 }
   6098 
   6099 int
   6100 bcm_loop_cpri_port_rsvd4_secondary_dbm_entry_clear(
   6101 	int	unit,
   6102 	bcm_gport_t	port,
   6103 	int	index)
   6104 {
   6105 	return bcm_cpri_port_rsvd4_secondary_dbm_entry_clear(
   6106 			BCM_CONTROL(unit)->unit,
   6107 			port,
   6108 			index);
   6109 }
   6110 
   6111 int
   6112 bcm_loop_cpri_port_rsvd4_secondary_dbm_entry_get(
   6113 	int	unit,
   6114 	bcm_gport_t	port,
   6115 	int	index,
   6116 	bcm_rsvd4_secondary_dbm_entry_t *	entry)
   6117 {
   6118 	return bcm_cpri_port_rsvd4_secondary_dbm_entry_get(
   6119 			BCM_CONTROL(unit)->unit,
   6120 			port,
   6121 			index,
   6122 			entry);
   6123 }
   6124 
   6125 int
   6126 bcm_loop_cpri_port_rsvd4_secondary_dbm_entry_set(
   6127 	int	unit,
   6128 	bcm_gport_t	port,
   6129 	int	index,
   6130 	bcm_rsvd4_secondary_dbm_entry_t *	entry)
   6131 {
   6132 	return bcm_cpri_port_rsvd4_secondary_dbm_entry_set(
   6133 			BCM_CONTROL(unit)->unit,
   6134 			port,
   6135 			index,
   6136 			entry);
   6137 }
   6138 
   6139 int
   6140 bcm_loop_cpri_port_rsvd4_sync_profile_entry_get(
   6141 	int	unit,
   6142 	int	port,
   6143 	int	index,
   6144 	bcm_rsvd4_sync_profile_entry_t *	config)
   6145 {
   6146 	return bcm_cpri_port_rsvd4_sync_profile_entry_get(
   6147 			BCM_CONTROL(unit)->unit,
   6148 			port,
   6149 			index,
   6150 			config);
   6151 }
   6152 
   6153 int
   6154 bcm_loop_cpri_port_rsvd4_sync_profile_entry_set(
   6155 	int	unit,
   6156 	int	port,
   6157 	int	index,
   6158 	bcm_rsvd4_sync_profile_entry_t *	config)
   6159 {
   6160 	return bcm_cpri_port_rsvd4_sync_profile_entry_set(
   6161 			BCM_CONTROL(unit)->unit,
   6162 			port,
   6163 			index,
   6164 			config);
   6165 }
   6166 
   6167 int
   6168 bcm_loop_cpri_port_rsvd4_tx_cm_eth_config_set(
   6169 	int	unit,
   6170 	int	port,
   6171 	bcm_rsvd4_tx_cm_eth_config_t *	config)
   6172 {
   6173 	return bcm_cpri_port_rsvd4_tx_cm_eth_config_set(
   6174 			BCM_CONTROL(unit)->unit,
   6175 			port,
   6176 			config);
   6177 }
   6178 
   6179 int
   6180 bcm_loop_cpri_port_rsvd4_tx_cm_hdr_config_entry_set(
   6181 	int	unit,
   6182 	int	port,
   6183 	int	index,
   6184 	bcm_rsvd4_tx_cm_hdr_entry_t *	entry)
   6185 {
   6186 	return bcm_cpri_port_rsvd4_tx_cm_hdr_config_entry_set(
   6187 			BCM_CONTROL(unit)->unit,
   6188 			port,
   6189 			index,
   6190 			entry);
   6191 }
   6192 
   6193 int
   6194 bcm_loop_cpri_port_rsvd4_tx_cm_hdr_lkup_entry_set(
   6195 	int	unit,
   6196 	int	port,
   6197 	int	flow_id,
   6198 	int	header_index)
   6199 {
   6200 	return bcm_cpri_port_rsvd4_tx_cm_hdr_lkup_entry_set(
   6201 			BCM_CONTROL(unit)->unit,
   6202 			port,
   6203 			flow_id,
   6204 			header_index);
   6205 }
   6206 
   6207 int
   6208 bcm_loop_cpri_port_rsvd4_tx_cm_raw_config_set(
   6209 	int	unit,
   6210 	int	port,
   6211 	bcm_rsvd4_tx_cm_raw_config_t *	config)
   6212 {
   6213 	return bcm_cpri_port_rsvd4_tx_cm_raw_config_set(
   6214 			BCM_CONTROL(unit)->unit,
   6215 			port,
   6216 			config);
   6217 }
   6218 
   6219 int
   6220 bcm_loop_cpri_port_rsvd4_tx_cm_tunnel_crc_config_set(
   6221 	int	unit,
   6222 	int	port,
   6223 	bcm_rsvd4_cm_tunnel_crc_option_t	crc_option)
   6224 {
   6225 	return bcm_cpri_port_rsvd4_tx_cm_tunnel_crc_config_set(
   6226 			BCM_CONTROL(unit)->unit,
   6227 			port,
   6228 			crc_option);
   6229 }
   6230 
   6231 int
   6232 bcm_loop_cpri_port_rsvd4_tx_control_flow_add(
   6233 	int	unit,
   6234 	int	port,
   6235 	int	control_flow_id,
   6236 	bcm_rsvd4_tx_control_flow_config_t *	config)
   6237 {
   6238 	return bcm_cpri_port_rsvd4_tx_control_flow_add(
   6239 			BCM_CONTROL(unit)->unit,
   6240 			port,
   6241 			control_flow_id,
   6242 			config);
   6243 }
   6244 
   6245 int
   6246 bcm_loop_cpri_port_rsvd4_tx_control_flow_group_member_add(
   6247 	int	unit,
   6248 	int	port,
   6249 	bcm_rsvd4_control_group_id_t	group_num,
   6250 	bcm_rsvd4_tx_control_flow_group_config_t *	config)
   6251 {
   6252 	return bcm_cpri_port_rsvd4_tx_control_flow_group_member_add(
   6253 			BCM_CONTROL(unit)->unit,
   6254 			port,
   6255 			group_num,
   6256 			config);
   6257 }
   6258 
   6259 int
   6260 bcm_loop_cpri_port_rsvd4_tx_control_flow_group_member_delete(
   6261 	int	unit,
   6262 	int	port,
   6263 	bcm_rsvd4_control_group_id_t	group_num,
   6264 	bcm_rsvd4_priority_t	priority)
   6265 {
   6266 	return bcm_cpri_port_rsvd4_tx_control_flow_group_member_delete(
   6267 			BCM_CONTROL(unit)->unit,
   6268 			port,
   6269 			group_num,
   6270 			priority);
   6271 }
   6272 
   6273 int
   6274 bcm_loop_cpri_port_rsvd4_tx_current_frame_sync_info_get(
   6275 	int	unit,
   6276 	bcm_gport_t	port,
   6277 	bcm_rsvd4_frame_sync_info_t *	frame_sync_info)
   6278 {
   6279 	return bcm_cpri_port_rsvd4_tx_current_frame_sync_info_get(
   6280 			BCM_CONTROL(unit)->unit,
   6281 			port,
   6282 			frame_sync_info);
   6283 }
   6284 
   6285 int
   6286 bcm_loop_cpri_port_rsvd4_tx_flow_add(
   6287 	int	unit,
   6288 	bcm_gport_t	port,
   6289 	int	flow_id,
   6290 	bcm_rsvd4_tx_flow_info_t *	flow_info)
   6291 {
   6292 	return bcm_cpri_port_rsvd4_tx_flow_add(
   6293 			BCM_CONTROL(unit)->unit,
   6294 			port,
   6295 			flow_id,
   6296 			flow_info);
   6297 }
   6298 
   6299 int
   6300 bcm_loop_cpri_port_rsvd4_tx_flow_delete(
   6301 	int	unit,
   6302 	bcm_gport_t	port,
   6303 	int	flow_id)
   6304 {
   6305 	return bcm_cpri_port_rsvd4_tx_flow_delete(
   6306 			BCM_CONTROL(unit)->unit,
   6307 			port,
   6308 			flow_id);
   6309 }
   6310 
   6311 int
   6312 bcm_loop_cpri_port_rsvd4_tx_frame_config_debug_set(
   6313 	int	unit,
   6314 	bcm_gport_t	port,
   6315 	bcm_rsvd4_tx_config_t	config_type,
   6316 	uint32	value)
   6317 {
   6318 	return bcm_cpri_port_rsvd4_tx_frame_config_debug_set(
   6319 			BCM_CONTROL(unit)->unit,
   6320 			port,
   6321 			config_type,
   6322 			value);
   6323 }
   6324 
   6325 int
   6326 bcm_loop_cpri_port_rsvd4_tx_frame_config_get(
   6327 	int	unit,
   6328 	bcm_gport_t	port,
   6329 	bcm_rsvd4_tx_frame_config_t *	config)
   6330 {
   6331 	return bcm_cpri_port_rsvd4_tx_frame_config_get(
   6332 			BCM_CONTROL(unit)->unit,
   6333 			port,
   6334 			config);
   6335 }
   6336 
   6337 int
   6338 bcm_loop_cpri_port_rsvd4_tx_frame_config_set(
   6339 	int	unit,
   6340 	bcm_gport_t	port,
   6341 	bcm_rsvd4_tx_frame_config_t *	config)
   6342 {
   6343 	return bcm_cpri_port_rsvd4_tx_frame_config_set(
   6344 			BCM_CONTROL(unit)->unit,
   6345 			port,
   6346 			config);
   6347 }
   6348 
   6349 int
   6350 bcm_loop_cpri_port_rsvd4_tx_fsm_state_set(
   6351 	int	unit,
   6352 	bcm_gport_t	port,
   6353 	bcm_rsvd4_tx_fsm_state_t	state)
   6354 {
   6355 	return bcm_cpri_port_rsvd4_tx_fsm_state_set(
   6356 			BCM_CONTROL(unit)->unit,
   6357 			port,
   6358 			state);
   6359 }
   6360 
   6361 int
   6362 bcm_loop_cpri_port_rsvd4_tx_modulo_rule_entry_get(
   6363 	int	unit,
   6364 	bcm_gport_t	port,
   6365 	uint32	modulo_rule_num,
   6366 	bcm_cpri_tx_rule_type_t	modulo_rule_type,
   6367 	bcm_cpri_modulo_rule_entry_t *	modulo_rule)
   6368 {
   6369 	return bcm_cpri_port_rsvd4_tx_modulo_rule_entry_get(
   6370 			BCM_CONTROL(unit)->unit,
   6371 			port,
   6372 			modulo_rule_num,
   6373 			modulo_rule_type,
   6374 			modulo_rule);
   6375 }
   6376 
   6377 int
   6378 bcm_loop_cpri_port_rsvd4_tx_modulo_rule_entry_set(
   6379 	int	unit,
   6380 	bcm_gport_t	port,
   6381 	uint32	modulo_rule_num,
   6382 	bcm_cpri_tx_rule_type_t	modulo_rule_type,
   6383 	bcm_cpri_modulo_rule_entry_t *	modulo_rule)
   6384 {
   6385 	return bcm_cpri_port_rsvd4_tx_modulo_rule_entry_set(
   6386 			BCM_CONTROL(unit)->unit,
   6387 			port,
   6388 			modulo_rule_num,
   6389 			modulo_rule_type,
   6390 			modulo_rule);
   6391 }
   6392 
   6393 int
   6394 bcm_loop_cpri_port_rsvd4_tx_override_set(
   6395 	int	unit,
   6396 	bcm_gport_t	port,
   6397 	bcm_rsvd4_tx_params_t	parameter,
   6398 	int	enable,
   6399 	int	value)
   6400 {
   6401 	return bcm_cpri_port_rsvd4_tx_override_set(
   6402 			BCM_CONTROL(unit)->unit,
   6403 			port,
   6404 			parameter,
   6405 			enable,
   6406 			value);
   6407 }
   6408 
   6409 int
   6410 bcm_loop_cpri_port_rsvd4_tx_position_entry_get(
   6411 	int	unit,
   6412 	bcm_gport_t	port,
   6413 	uint32	pos_index,
   6414 	bcm_cpri_dbm_position_entry_t *	pos_entry)
   6415 {
   6416 	return bcm_cpri_port_rsvd4_tx_position_entry_get(
   6417 			BCM_CONTROL(unit)->unit,
   6418 			port,
   6419 			pos_index,
   6420 			pos_entry);
   6421 }
   6422 
   6423 int
   6424 bcm_loop_cpri_port_rsvd4_tx_position_entry_set(
   6425 	int	unit,
   6426 	bcm_gport_t	port,
   6427 	uint32	pos_index,
   6428 	bcm_cpri_dbm_position_entry_t *	pos_entry)
   6429 {
   6430 	return bcm_cpri_port_rsvd4_tx_position_entry_set(
   6431 			BCM_CONTROL(unit)->unit,
   6432 			port,
   6433 			pos_index,
   6434 			pos_entry);
   6435 }
   6436 
   6437 int
   6438 bcm_loop_cpri_port_rx_axc_frame_add(
   6439 	int	unit,
   6440 	bcm_gport_t	port,
   6441 	int	axc_id,
   6442 	bcm_cpri_axc_frame_info_t *	axc_info)
   6443 {
   6444 	return bcm_cpri_port_rx_axc_frame_add(
   6445 			BCM_CONTROL(unit)->unit,
   6446 			port,
   6447 			axc_id,
   6448 			axc_info);
   6449 }
   6450 
   6451 int
   6452 bcm_loop_cpri_port_rx_axc_frame_delete(
   6453 	int	unit,
   6454 	bcm_gport_t	port,
   6455 	int	axc_id)
   6456 {
   6457 	return bcm_cpri_port_rx_axc_frame_delete(
   6458 			BCM_CONTROL(unit)->unit,
   6459 			port,
   6460 			axc_id);
   6461 }
   6462 
   6463 int
   6464 bcm_loop_cpri_port_rx_axc_frame_get(
   6465 	int	unit,
   6466 	bcm_gport_t	port,
   6467 	int	axc_id,
   6468 	bcm_cpri_axc_frame_info_t *	axc_info)
   6469 {
   6470 	return bcm_cpri_port_rx_axc_frame_get(
   6471 			BCM_CONTROL(unit)->unit,
   6472 			port,
   6473 			axc_id,
   6474 			axc_info);
   6475 }
   6476 
   6477 int
   6478 bcm_loop_cpri_port_rx_axc_frame_get_all(
   6479 	int	unit,
   6480 	bcm_gport_t	port,
   6481 	int	max_count,
   6482 	bcm_cpri_axc_frame_info_t *	axc_info_list,
   6483 	int *	axc_count)
   6484 {
   6485 	return bcm_cpri_port_rx_axc_frame_get_all(
   6486 			BCM_CONTROL(unit)->unit,
   6487 			port,
   6488 			max_count,
   6489 			axc_info_list,
   6490 			axc_count);
   6491 }
   6492 
   6493 int
   6494 bcm_loop_cpri_port_rx_cw_gcw_config_get(
   6495 	int	unit,
   6496 	int	port,
   6497 	uint8	index,
   6498 	bcm_cpri_rx_gcw_config_info_t *	config)
   6499 {
   6500 	return bcm_cpri_port_rx_cw_gcw_config_get(
   6501 			BCM_CONTROL(unit)->unit,
   6502 			port,
   6503 			index,
   6504 			config);
   6505 }
   6506 
   6507 int
   6508 bcm_loop_cpri_port_rx_cw_gcw_config_set(
   6509 	int	unit,
   6510 	int	port,
   6511 	uint8	index,
   6512 	bcm_cpri_rx_gcw_config_info_t *	config)
   6513 {
   6514 	return bcm_cpri_port_rx_cw_gcw_config_set(
   6515 			BCM_CONTROL(unit)->unit,
   6516 			port,
   6517 			index,
   6518 			config);
   6519 }
   6520 
   6521 int
   6522 bcm_loop_cpri_port_rx_cw_gcw_word_get(
   6523 	int	unit,
   6524 	bcm_port_t	port,
   6525 	int	group_index,
   6526 	uint16 *	gcw_word)
   6527 {
   6528 	return bcm_cpri_port_rx_cw_gcw_word_get(
   6529 			BCM_CONTROL(unit)->unit,
   6530 			port,
   6531 			group_index,
   6532 			gcw_word);
   6533 }
   6534 
   6535 int
   6536 bcm_loop_cpri_port_rx_cw_l1_signal_info_get(
   6537 	int	unit,
   6538 	int	port,
   6539 	bcm_cpri_cw_l1_protocol_info_t *	l1_info)
   6540 {
   6541 	return bcm_cpri_port_rx_cw_l1_signal_info_get(
   6542 			BCM_CONTROL(unit)->unit,
   6543 			port,
   6544 			l1_info);
   6545 }
   6546 
   6547 int
   6548 bcm_loop_cpri_port_rx_cw_l1_signal_protection_get(
   6549 	int	unit,
   6550 	int	port,
   6551 	uint32	signal_map,
   6552 	uint32 *	enable)
   6553 {
   6554 	return bcm_cpri_port_rx_cw_l1_signal_protection_get(
   6555 			BCM_CONTROL(unit)->unit,
   6556 			port,
   6557 			signal_map,
   6558 			enable);
   6559 }
   6560 
   6561 int
   6562 bcm_loop_cpri_port_rx_cw_l1_signal_protection_set(
   6563 	int	unit,
   6564 	int	port,
   6565 	uint32	signal_map,
   6566 	uint32	enable)
   6567 {
   6568 	return bcm_cpri_port_rx_cw_l1_signal_protection_set(
   6569 			BCM_CONTROL(unit)->unit,
   6570 			port,
   6571 			signal_map,
   6572 			enable);
   6573 }
   6574 
   6575 int
   6576 bcm_loop_cpri_port_rx_cw_rsvd5_config_get(
   6577 	int	unit,
   6578 	int	port,
   6579 	bcm_cpri_rx_rsvd5_config_info_t *	config)
   6580 {
   6581 	return bcm_cpri_port_rx_cw_rsvd5_config_get(
   6582 			BCM_CONTROL(unit)->unit,
   6583 			port,
   6584 			config);
   6585 }
   6586 
   6587 int
   6588 bcm_loop_cpri_port_rx_cw_rsvd5_config_set(
   6589 	int	unit,
   6590 	int	port,
   6591 	bcm_cpri_rx_rsvd5_config_info_t *	config)
   6592 {
   6593 	return bcm_cpri_port_rx_cw_rsvd5_config_set(
   6594 			BCM_CONTROL(unit)->unit,
   6595 			port,
   6596 			config);
   6597 }
   6598 
   6599 int
   6600 bcm_loop_cpri_port_rx_cw_sync_info_get(
   6601 	int	unit,
   6602 	int	port,
   6603 	uint32 *	hyper_frame_num,
   6604 	uint32 *	radio_frame_num)
   6605 {
   6606 	return bcm_cpri_port_rx_cw_sync_info_get(
   6607 			BCM_CONTROL(unit)->unit,
   6608 			port,
   6609 			hyper_frame_num,
   6610 			radio_frame_num);
   6611 }
   6612 
   6613 int
   6614 bcm_loop_cpri_port_rx_cw_vsd_config_get(
   6615 	int	unit,
   6616 	int	port,
   6617 	bcm_cpri_rx_vsd_config_info_t *	config)
   6618 {
   6619 	return bcm_cpri_port_rx_cw_vsd_config_get(
   6620 			BCM_CONTROL(unit)->unit,
   6621 			port,
   6622 			config);
   6623 }
   6624 
   6625 int
   6626 bcm_loop_cpri_port_rx_cw_vsd_config_set(
   6627 	int	unit,
   6628 	int	port,
   6629 	bcm_cpri_rx_vsd_config_info_t *	config)
   6630 {
   6631 	return bcm_cpri_port_rx_cw_vsd_config_set(
   6632 			BCM_CONTROL(unit)->unit,
   6633 			port,
   6634 			config);
   6635 }
   6636 
   6637 int
   6638 bcm_loop_cpri_port_rx_cw_vsd_ctrl_flow_add(
   6639 	int	unit,
   6640 	int	port,
   6641 	uint16	group_id,
   6642 	bcm_cpri_rx_vsd_flow_info_t *	config)
   6643 {
   6644 	return bcm_cpri_port_rx_cw_vsd_ctrl_flow_add(
   6645 			BCM_CONTROL(unit)->unit,
   6646 			port,
   6647 			group_id,
   6648 			config);
   6649 }
   6650 
   6651 int
   6652 bcm_loop_cpri_port_rx_cw_vsd_ctrl_flow_delete(
   6653 	int	unit,
   6654 	int	port,
   6655 	uint16	group_id)
   6656 {
   6657 	return bcm_cpri_port_rx_cw_vsd_ctrl_flow_delete(
   6658 			BCM_CONTROL(unit)->unit,
   6659 			port,
   6660 			group_id);
   6661 }
   6662 
   6663 int
   6664 bcm_loop_cpri_port_rx_cw_vsd_ctrl_flow_get(
   6665 	int	unit,
   6666 	int	port,
   6667 	uint16	group_id,
   6668 	bcm_cpri_rx_vsd_flow_info_t *	config)
   6669 {
   6670 	return bcm_cpri_port_rx_cw_vsd_ctrl_flow_get(
   6671 			BCM_CONTROL(unit)->unit,
   6672 			port,
   6673 			group_id,
   6674 			config);
   6675 }
   6676 
   6677 int
   6678 bcm_loop_cpri_port_rx_cw_vsd_raw_config_get(
   6679 	int	unit,
   6680 	int	port,
   6681 	uint8	vsd_raw_id,
   6682 	bcm_cpri_rx_vsd_raw_config_info_t *	config)
   6683 {
   6684 	return bcm_cpri_port_rx_cw_vsd_raw_config_get(
   6685 			BCM_CONTROL(unit)->unit,
   6686 			port,
   6687 			vsd_raw_id,
   6688 			config);
   6689 }
   6690 
   6691 int
   6692 bcm_loop_cpri_port_rx_cw_vsd_raw_config_set(
   6693 	int	unit,
   6694 	int	port,
   6695 	uint8	vsd_raw_id,
   6696 	bcm_cpri_rx_vsd_raw_config_info_t *	config)
   6697 {
   6698 	return bcm_cpri_port_rx_cw_vsd_raw_config_set(
   6699 			BCM_CONTROL(unit)->unit,
   6700 			port,
   6701 			vsd_raw_id,
   6702 			config);
   6703 }
   6704 
   6705 int
   6706 bcm_loop_cpri_port_rx_speed_get(
   6707 	int	unit,
   6708 	bcm_gport_t	port,
   6709 	bcm_cpri_port_type_t *	port_type,
   6710 	bcm_cpri_port_speed_t *	speed)
   6711 {
   6712 	return bcm_cpri_port_rx_speed_get(
   6713 			BCM_CONTROL(unit)->unit,
   6714 			port,
   6715 			port_type,
   6716 			speed);
   6717 }
   6718 
   6719 int
   6720 bcm_loop_cpri_port_rx_speed_set(
   6721 	int	unit,
   6722 	bcm_gport_t	port,
   6723 	bcm_cpri_port_type_t	port_type,
   6724 	bcm_cpri_port_speed_t	speed)
   6725 {
   6726 	return bcm_cpri_port_rx_speed_set(
   6727 			BCM_CONTROL(unit)->unit,
   6728 			port,
   6729 			port_type,
   6730 			speed);
   6731 }
   6732 
   6733 int
   6734 bcm_loop_cpri_port_rx_tag_config_set(
   6735 	int	unit,
   6736 	int	port,
   6737 	bcm_cpri_control_tag_config_t *	config)
   6738 {
   6739 	return bcm_cpri_port_rx_tag_config_set(
   6740 			BCM_CONTROL(unit)->unit,
   6741 			port,
   6742 			config);
   6743 }
   6744 
   6745 int
   6746 bcm_loop_cpri_port_rx_tag_entry_add(
   6747 	int	unit,
   6748 	int	port,
   6749 	bcm_cpri_tag_gen_entry_t *	config)
   6750 {
   6751 	return bcm_cpri_port_rx_tag_entry_add(
   6752 			BCM_CONTROL(unit)->unit,
   6753 			port,
   6754 			config);
   6755 }
   6756 
   6757 int
   6758 bcm_loop_cpri_port_rx_tag_entry_delete(
   6759 	int	unit,
   6760 	int	port,
   6761 	bcm_cpri_tag_gen_entry_t *	config)
   6762 {
   6763 	return bcm_cpri_port_rx_tag_entry_delete(
   6764 			BCM_CONTROL(unit)->unit,
   6765 			port,
   6766 			config);
   6767 }
   6768 
   6769 int
   6770 bcm_loop_cpri_port_stat_get(
   6771 	int	unit,
   6772 	bcm_gport_t	port,
   6773 	bcm_cpri_stat_type_t	type,
   6774 	uint64 *	val)
   6775 {
   6776 	return bcm_cpri_port_stat_get(
   6777 			BCM_CONTROL(unit)->unit,
   6778 			port,
   6779 			type,
   6780 			val);
   6781 }
   6782 
   6783 int
   6784 bcm_loop_cpri_port_tunnel_mode_config_get(
   6785 	int	unit,
   6786 	bcm_port_t	port,
   6787 	bcm_cpri_dir_t	direction,
   6788 	int *	enable,
   6789 	bcm_cpri_port_tunnel_config_t *	config)
   6790 {
   6791 	return bcm_cpri_port_tunnel_mode_config_get(
   6792 			BCM_CONTROL(unit)->unit,
   6793 			port,
   6794 			direction,
   6795 			enable,
   6796 			config);
   6797 }
   6798 
   6799 int
   6800 bcm_loop_cpri_port_tunnel_mode_config_set(
   6801 	int	unit,
   6802 	bcm_port_t	port,
   6803 	bcm_cpri_dir_t	direction,
   6804 	int	enable,
   6805 	bcm_cpri_port_tunnel_config_t *	config)
   6806 {
   6807 	return bcm_cpri_port_tunnel_mode_config_set(
   6808 			BCM_CONTROL(unit)->unit,
   6809 			port,
   6810 			direction,
   6811 			enable,
   6812 			config);
   6813 }
   6814 
   6815 int
   6816 bcm_loop_cpri_port_tx_axc_frame_add(
   6817 	int	unit,
   6818 	bcm_gport_t	port,
   6819 	int	axc_id,
   6820 	bcm_cpri_axc_frame_info_t *	axc_info)
   6821 {
   6822 	return bcm_cpri_port_tx_axc_frame_add(
   6823 			BCM_CONTROL(unit)->unit,
   6824 			port,
   6825 			axc_id,
   6826 			axc_info);
   6827 }
   6828 
   6829 int
   6830 bcm_loop_cpri_port_tx_axc_frame_delete(
   6831 	int	unit,
   6832 	bcm_gport_t	port,
   6833 	int	axc_id)
   6834 {
   6835 	return bcm_cpri_port_tx_axc_frame_delete(
   6836 			BCM_CONTROL(unit)->unit,
   6837 			port,
   6838 			axc_id);
   6839 }
   6840 
   6841 int
   6842 bcm_loop_cpri_port_tx_axc_frame_get(
   6843 	int	unit,
   6844 	bcm_gport_t	port,
   6845 	int	axc_id,
   6846 	bcm_cpri_axc_frame_info_t *	axc_info)
   6847 {
   6848 	return bcm_cpri_port_tx_axc_frame_get(
   6849 			BCM_CONTROL(unit)->unit,
   6850 			port,
   6851 			axc_id,
   6852 			axc_info);
   6853 }
   6854 
   6855 int
   6856 bcm_loop_cpri_port_tx_axc_frame_get_all(
   6857 	int	unit,
   6858 	bcm_gport_t	port,
   6859 	int	max_count,
   6860 	bcm_cpri_axc_frame_info_t *	axc_info_list,
   6861 	int *	axc_count)
   6862 {
   6863 	return bcm_cpri_port_tx_axc_frame_get_all(
   6864 			BCM_CONTROL(unit)->unit,
   6865 			port,
   6866 			max_count,
   6867 			axc_info_list,
   6868 			axc_count);
   6869 }
   6870 
   6871 int
   6872 bcm_loop_cpri_port_tx_cw_gcw_config_get(
   6873 	int	unit,
   6874 	int	port,
   6875 	uint8	index,
   6876 	bcm_cpri_tx_gcw_config_info_t *	config)
   6877 {
   6878 	return bcm_cpri_port_tx_cw_gcw_config_get(
   6879 			BCM_CONTROL(unit)->unit,
   6880 			port,
   6881 			index,
   6882 			config);
   6883 }
   6884 
   6885 int
   6886 bcm_loop_cpri_port_tx_cw_gcw_config_set(
   6887 	int	unit,
   6888 	int	port,
   6889 	uint8	index,
   6890 	bcm_cpri_tx_gcw_config_info_t *	config)
   6891 {
   6892 	return bcm_cpri_port_tx_cw_gcw_config_set(
   6893 			BCM_CONTROL(unit)->unit,
   6894 			port,
   6895 			index,
   6896 			config);
   6897 }
   6898 
   6899 int
   6900 bcm_loop_cpri_port_tx_cw_gcw_filter_get(
   6901 	int	unit,
   6902 	int	port,
   6903 	bcm_cpri_tx_gcw_tx_filter_info_t *	config)
   6904 {
   6905 	return bcm_cpri_port_tx_cw_gcw_filter_get(
   6906 			BCM_CONTROL(unit)->unit,
   6907 			port,
   6908 			config);
   6909 }
   6910 
   6911 int
   6912 bcm_loop_cpri_port_tx_cw_gcw_filter_set(
   6913 	int	unit,
   6914 	int	port,
   6915 	bcm_cpri_tx_gcw_tx_filter_info_t *	config)
   6916 {
   6917 	return bcm_cpri_port_tx_cw_gcw_filter_set(
   6918 			BCM_CONTROL(unit)->unit,
   6919 			port,
   6920 			config);
   6921 }
   6922 
   6923 int
   6924 bcm_loop_cpri_port_tx_cw_gcw_word_set(
   6925 	int	unit,
   6926 	bcm_port_t	port,
   6927 	int	group_index,
   6928 	uint16	gcw_word)
   6929 {
   6930 	return bcm_cpri_port_tx_cw_gcw_word_set(
   6931 			BCM_CONTROL(unit)->unit,
   6932 			port,
   6933 			group_index,
   6934 			gcw_word);
   6935 }
   6936 
   6937 int
   6938 bcm_loop_cpri_port_tx_cw_l1_config_set(
   6939 	int	unit,
   6940 	int	port,
   6941 	bcm_cpri_cw_l1_config_info_t *	entry)
   6942 {
   6943 	return bcm_cpri_port_tx_cw_l1_config_set(
   6944 			BCM_CONTROL(unit)->unit,
   6945 			port,
   6946 			entry);
   6947 }
   6948 
   6949 int
   6950 bcm_loop_cpri_port_tx_cw_rsvd5_config_get(
   6951 	int	unit,
   6952 	int	port,
   6953 	bcm_cpri_tx_cw_rsvd5_config_info_t *	config)
   6954 {
   6955 	return bcm_cpri_port_tx_cw_rsvd5_config_get(
   6956 			BCM_CONTROL(unit)->unit,
   6957 			port,
   6958 			config);
   6959 }
   6960 
   6961 int
   6962 bcm_loop_cpri_port_tx_cw_rsvd5_config_set(
   6963 	int	unit,
   6964 	int	port,
   6965 	bcm_cpri_tx_cw_rsvd5_config_info_t *	config)
   6966 {
   6967 	return bcm_cpri_port_tx_cw_rsvd5_config_set(
   6968 			BCM_CONTROL(unit)->unit,
   6969 			port,
   6970 			config);
   6971 }
   6972 
   6973 int
   6974 bcm_loop_cpri_port_tx_cw_sync_info_get(
   6975 	int	unit,
   6976 	int	port,
   6977 	bcm_cpri_cw_sync_info_t *	entry)
   6978 {
   6979 	return bcm_cpri_port_tx_cw_sync_info_get(
   6980 			BCM_CONTROL(unit)->unit,
   6981 			port,
   6982 			entry);
   6983 }
   6984 
   6985 int
   6986 bcm_loop_cpri_port_tx_cw_sync_info_set(
   6987 	int	unit,
   6988 	int	port,
   6989 	bcm_cpri_cw_sync_info_t *	entry)
   6990 {
   6991 	return bcm_cpri_port_tx_cw_sync_info_set(
   6992 			BCM_CONTROL(unit)->unit,
   6993 			port,
   6994 			entry);
   6995 }
   6996 
   6997 int
   6998 bcm_loop_cpri_port_tx_cw_vsd_config_get(
   6999 	int	unit,
   7000 	int	port,
   7001 	bcm_cpri_tx_vsd_config_info_t *	entry)
   7002 {
   7003 	return bcm_cpri_port_tx_cw_vsd_config_get(
   7004 			BCM_CONTROL(unit)->unit,
   7005 			port,
   7006 			entry);
   7007 }
   7008 
   7009 int
   7010 bcm_loop_cpri_port_tx_cw_vsd_config_set(
   7011 	int	unit,
   7012 	int	port,
   7013 	bcm_cpri_tx_vsd_config_info_t *	entry)
   7014 {
   7015 	return bcm_cpri_port_tx_cw_vsd_config_set(
   7016 			BCM_CONTROL(unit)->unit,
   7017 			port,
   7018 			entry);
   7019 }
   7020 
   7021 int
   7022 bcm_loop_cpri_port_tx_cw_vsd_ctrl_flow_add(
   7023 	int	unit,
   7024 	int	port,
   7025 	uint16	group_id,
   7026 	bcm_cpri_tx_vsd_flow_info_t *	config)
   7027 {
   7028 	return bcm_cpri_port_tx_cw_vsd_ctrl_flow_add(
   7029 			BCM_CONTROL(unit)->unit,
   7030 			port,
   7031 			group_id,
   7032 			config);
   7033 }
   7034 
   7035 int
   7036 bcm_loop_cpri_port_tx_cw_vsd_ctrl_flow_delete(
   7037 	int	unit,
   7038 	int	port,
   7039 	uint16	group_id)
   7040 {
   7041 	return bcm_cpri_port_tx_cw_vsd_ctrl_flow_delete(
   7042 			BCM_CONTROL(unit)->unit,
   7043 			port,
   7044 			group_id);
   7045 }
   7046 
   7047 int
   7048 bcm_loop_cpri_port_tx_cw_vsd_ctrl_flow_get(
   7049 	int	unit,
   7050 	int	port,
   7051 	uint16	group_id,
   7052 	bcm_cpri_tx_vsd_flow_info_t *	config)
   7053 {
   7054 	return bcm_cpri_port_tx_cw_vsd_ctrl_flow_get(
   7055 			BCM_CONTROL(unit)->unit,
   7056 			port,
   7057 			group_id,
   7058 			config);
   7059 }
   7060 
   7061 int
   7062 bcm_loop_cpri_port_tx_cw_vsd_raw_filter_get(
   7063 	int	unit,
   7064 	int	port,
   7065 	bcm_cpri_tx_cw_vsd_raw_filter_info_t *	config)
   7066 {
   7067 	return bcm_cpri_port_tx_cw_vsd_raw_filter_get(
   7068 			BCM_CONTROL(unit)->unit,
   7069 			port,
   7070 			config);
   7071 }
   7072 
   7073 int
   7074 bcm_loop_cpri_port_tx_cw_vsd_raw_filter_set(
   7075 	int	unit,
   7076 	int	port,
   7077 	bcm_cpri_tx_cw_vsd_raw_filter_info_t *	config)
   7078 {
   7079 	return bcm_cpri_port_tx_cw_vsd_raw_filter_set(
   7080 			BCM_CONTROL(unit)->unit,
   7081 			port,
   7082 			config);
   7083 }
   7084 
   7085 int
   7086 bcm_loop_cpri_port_tx_cw_vsd_raw_flow_config_get(
   7087 	int	unit,
   7088 	int	port,
   7089 	uint8	index,
   7090 	bcm_cpri_tx_vsd_raw_config_info_t *	config)
   7091 {
   7092 	return bcm_cpri_port_tx_cw_vsd_raw_flow_config_get(
   7093 			BCM_CONTROL(unit)->unit,
   7094 			port,
   7095 			index,
   7096 			config);
   7097 }
   7098 
   7099 int
   7100 bcm_loop_cpri_port_tx_cw_vsd_raw_flow_config_set(
   7101 	int	unit,
   7102 	int	port,
   7103 	uint8	index,
   7104 	bcm_cpri_tx_vsd_raw_config_info_t *	config)
   7105 {
   7106 	return bcm_cpri_port_tx_cw_vsd_raw_flow_config_set(
   7107 			BCM_CONTROL(unit)->unit,
   7108 			port,
   7109 			index,
   7110 			config);
   7111 }
   7112 
   7113 int
   7114 bcm_loop_cpri_port_tx_frame_tgen_config_set(
   7115 	int	unit,
   7116 	bcm_gport_t	port,
   7117 	int	enable,
   7118 	bcm_cpri_tx_frame_tgen_config_t *	tgen_config)
   7119 {
   7120 	return bcm_cpri_port_tx_frame_tgen_config_set(
   7121 			BCM_CONTROL(unit)->unit,
   7122 			port,
   7123 			enable,
   7124 			tgen_config);
   7125 }
   7126 
   7127 int
   7128 bcm_loop_cpri_port_tx_speed_get(
   7129 	int	unit,
   7130 	bcm_gport_t	port,
   7131 	bcm_cpri_port_type_t *	port_type,
   7132 	bcm_cpri_port_speed_t *	speed)
   7133 {
   7134 	return bcm_cpri_port_tx_speed_get(
   7135 			BCM_CONTROL(unit)->unit,
   7136 			port,
   7137 			port_type,
   7138 			speed);
   7139 }
   7140 
   7141 int
   7142 bcm_loop_cpri_port_tx_speed_set(
   7143 	int	unit,
   7144 	bcm_gport_t	port,
   7145 	bcm_cpri_port_type_t	port_type,
   7146 	bcm_cpri_port_speed_t	speed)
   7147 {
   7148 	return bcm_cpri_port_tx_speed_set(
   7149 			BCM_CONTROL(unit)->unit,
   7150 			port,
   7151 			port_type,
   7152 			speed);
   7153 }
   7154 
   7155 int
   7156 bcm_loop_custom_port_get(
   7157 	int	unit,
   7158 	bcm_port_t	port,
   7159 	int	type,
   7160 	int	max_len,
   7161 	uint32 *	args,
   7162 	int *	actual_len)
   7163 {
   7164 	return bcm_custom_port_get(
   7165 			BCM_CONTROL(unit)->unit,
   7166 			port,
   7167 			type,
   7168 			max_len,
   7169 			args,
   7170 			actual_len);
   7171 }
   7172 
   7173 int
   7174 bcm_loop_custom_port_set(
   7175 	int	unit,
   7176 	bcm_port_t	port,
   7177 	int	type,
   7178 	int	len,
   7179 	uint32 *	args)
   7180 {
   7181 	return bcm_custom_port_set(
   7182 			BCM_CONTROL(unit)->unit,
   7183 			port,
   7184 			type,
   7185 			len,
   7186 			args);
   7187 }
   7188 
   7189 int
   7190 bcm_loop_custom_register(
   7191 	int	unit,
   7192 	bcm_custom_cb_t	func,
   7193 	void *	user_data)
   7194 {
   7195 	return bcm_custom_register(
   7196 			BCM_CONTROL(unit)->unit,
   7197 			func,
   7198 			user_data);
   7199 }
   7200 
   7201 int
   7202 bcm_loop_custom_unregister(
   7203 	int	unit)
   7204 {
   7205 	return bcm_custom_unregister(
   7206 			BCM_CONTROL(unit)->unit);
   7207 }
   7208 
   7209 /* bcm_detach not dispatchable */
   7210 
   7211 /* bcm_detach_late_txrx not dispatchable */
   7212 
   7213 /* bcm_detach_retry_get not dispatchable */
   7214 
   7215 /* bcm_detach_retry_set not dispatchable */
   7216 
   7217 /* bcm_detach_retry_t_init not dispatchable */
   7218 
   7219 int
   7220 bcm_loop_device_member_get(
   7221 	int	unit,
   7222 	uint32	flags,
   7223 	bcm_device_member_t	member_type,
   7224 	int *	is_member)
   7225 {
   7226 	return bcm_device_member_get(
   7227 			BCM_CONTROL(unit)->unit,
   7228 			flags,
   7229 			member_type,
   7230 			is_member);
   7231 }
   7232 
   7233 int
   7234 bcm_loop_eav_bandwidth_get(
   7235 	int	unit,
   7236 	bcm_port_t	port,
   7237 	bcm_eav_stream_class_t	type,
   7238 	uint32 *	bytes_sec,
   7239 	uint32 *	bytes_burst)
   7240 {
   7241 	return bcm_eav_bandwidth_get(
   7242 			BCM_CONTROL(unit)->unit,
   7243 			port,
   7244 			type,
   7245 			bytes_sec,
   7246 			bytes_burst);
   7247 }
   7248 
   7249 int
   7250 bcm_loop_eav_bandwidth_set(
   7251 	int	unit,
   7252 	bcm_port_t	port,
   7253 	bcm_eav_stream_class_t	type,
   7254 	uint32	bytes_sec,
   7255 	uint32	bytes_burst)
   7256 {
   7257 	return bcm_eav_bandwidth_set(
   7258 			BCM_CONTROL(unit)->unit,
   7259 			port,
   7260 			type,
   7261 			bytes_sec,
   7262 			bytes_burst);
   7263 }
   7264 
   7265 int
   7266 bcm_loop_eav_control_get(
   7267 	int	unit,
   7268 	bcm_eav_control_t	type,
   7269 	uint32 *	arg,
   7270 	uint32 *	arg2)
   7271 {
   7272 	return bcm_eav_control_get(
   7273 			BCM_CONTROL(unit)->unit,
   7274 			type,
   7275 			arg,
   7276 			arg2);
   7277 }
   7278 
   7279 int
   7280 bcm_loop_eav_control_set(
   7281 	int	unit,
   7282 	bcm_eav_control_t	type,
   7283 	uint32	arg,
   7284 	uint32	arg2)
   7285 {
   7286 	return bcm_eav_control_set(
   7287 			BCM_CONTROL(unit)->unit,
   7288 			type,
   7289 			arg,
   7290 			arg2);
   7291 }
   7292 
   7293 int
   7294 bcm_loop_eav_init(
   7295 	int	unit)
   7296 {
   7297 	return bcm_eav_init(
   7298 			BCM_CONTROL(unit)->unit);
   7299 }
   7300 
   7301 int
   7302 bcm_loop_eav_link_status_get(
   7303 	int	unit,
   7304 	bcm_port_t	port,
   7305 	int *	link)
   7306 {
   7307 	return bcm_eav_link_status_get(
   7308 			BCM_CONTROL(unit)->unit,
   7309 			port,
   7310 			link);
   7311 }
   7312 
   7313 int
   7314 bcm_loop_eav_link_status_set(
   7315 	int	unit,
   7316 	bcm_port_t	port,
   7317 	int	link)
   7318 {
   7319 	return bcm_eav_link_status_set(
   7320 			BCM_CONTROL(unit)->unit,
   7321 			port,
   7322 			link);
   7323 }
   7324 
   7325 int
   7326 bcm_loop_eav_pcp_mapping_get(
   7327 	int	unit,
   7328 	bcm_eav_stream_class_t	type,
   7329 	int *	pcp,
   7330 	int *	remapped_pcp)
   7331 {
   7332 	return bcm_eav_pcp_mapping_get(
   7333 			BCM_CONTROL(unit)->unit,
   7334 			type,
   7335 			pcp,
   7336 			remapped_pcp);
   7337 }
   7338 
   7339 int
   7340 bcm_loop_eav_pcp_mapping_set(
   7341 	int	unit,
   7342 	bcm_eav_stream_class_t	type,
   7343 	int	pcp,
   7344 	int	remapped_pcp)
   7345 {
   7346 	return bcm_eav_pcp_mapping_set(
   7347 			BCM_CONTROL(unit)->unit,
   7348 			type,
   7349 			pcp,
   7350 			remapped_pcp);
   7351 }
   7352 
   7353 int
   7354 bcm_loop_eav_port_enable_get(
   7355 	int	unit,
   7356 	bcm_port_t	port,
   7357 	int *	enable)
   7358 {
   7359 	return bcm_eav_port_enable_get(
   7360 			BCM_CONTROL(unit)->unit,
   7361 			port,
   7362 			enable);
   7363 }
   7364 
   7365 int
   7366 bcm_loop_eav_port_enable_set(
   7367 	int	unit,
   7368 	bcm_port_t	port,
   7369 	int	enable)
   7370 {
   7371 	return bcm_eav_port_enable_set(
   7372 			BCM_CONTROL(unit)->unit,
   7373 			port,
   7374 			enable);
   7375 }
   7376 
   7377 int
   7378 bcm_loop_eav_srp_mac_ethertype_get(
   7379 	int	unit,
   7380 	bcm_mac_t	mac,
   7381 	bcm_port_ethertype_t *	ethertype)
   7382 {
   7383 	return bcm_eav_srp_mac_ethertype_get(
   7384 			BCM_CONTROL(unit)->unit,
   7385 			mac,
   7386 			ethertype);
   7387 }
   7388 
   7389 int
   7390 bcm_loop_eav_srp_mac_ethertype_set(
   7391 	int	unit,
   7392 	bcm_mac_t	mac,
   7393 	bcm_port_ethertype_t	ethertype)
   7394 {
   7395 	return bcm_eav_srp_mac_ethertype_set(
   7396 			BCM_CONTROL(unit)->unit,
   7397 			mac,
   7398 			ethertype);
   7399 }
   7400 
   7401 int
   7402 bcm_loop_eav_timestamp_get(
   7403 	int	unit,
   7404 	bcm_port_t	port,
   7405 	uint32 *	timestamp)
   7406 {
   7407 	return bcm_eav_timestamp_get(
   7408 			BCM_CONTROL(unit)->unit,
   7409 			port,
   7410 			timestamp);
   7411 }
   7412 
   7413 int
   7414 bcm_loop_eav_timesync_mac_get(
   7415 	int	unit,
   7416 	bcm_mac_t	eav_mac)
   7417 {
   7418 	return bcm_eav_timesync_mac_get(
   7419 			BCM_CONTROL(unit)->unit,
   7420 			eav_mac);
   7421 }
   7422 
   7423 int
   7424 bcm_loop_eav_timesync_mac_set(
   7425 	int	unit,
   7426 	bcm_mac_t	eav_mac)
   7427 {
   7428 	return bcm_eav_timesync_mac_set(
   7429 			BCM_CONTROL(unit)->unit,
   7430 			eav_mac);
   7431 }
   7432 
   7433 #ifdef	INCLUDE_L3
   7434 
   7435 int
   7436 bcm_loop_ecn_map_create(
   7437 	int	unit,
   7438 	uint32	flags,
   7439 	int *	ecn_map_id)
   7440 {
   7441 	return bcm_ecn_map_create(
   7442 			BCM_CONTROL(unit)->unit,
   7443 			flags,
   7444 			ecn_map_id);
   7445 }
   7446 
   7447 int
   7448 bcm_loop_ecn_map_destroy(
   7449 	int	unit,
   7450 	int	ecn_map_id)
   7451 {
   7452 	return bcm_ecn_map_destroy(
   7453 			BCM_CONTROL(unit)->unit,
   7454 			ecn_map_id);
   7455 }
   7456 
   7457 int
   7458 bcm_loop_ecn_map_get(
   7459 	int	unit,
   7460 	int	ecn_map_id,
   7461 	bcm_ecn_map_t *	ecn_map)
   7462 {
   7463 	return bcm_ecn_map_get(
   7464 			BCM_CONTROL(unit)->unit,
   7465 			ecn_map_id,
   7466 			ecn_map);
   7467 }
   7468 
   7469 int
   7470 bcm_loop_ecn_map_mode_get(
   7471 	int	unit,
   7472 	bcm_ecn_map_mode_t *	ecn_map_mode)
   7473 {
   7474 	return bcm_ecn_map_mode_get(
   7475 			BCM_CONTROL(unit)->unit,
   7476 			ecn_map_mode);
   7477 }
   7478 
   7479 int
   7480 bcm_loop_ecn_map_mode_set(
   7481 	int	unit,
   7482 	bcm_ecn_map_mode_t *	ecn_map_mode)
   7483 {
   7484 	return bcm_ecn_map_mode_set(
   7485 			BCM_CONTROL(unit)->unit,
   7486 			ecn_map_mode);
   7487 }
   7488 
   7489 /* bcm_ecn_map_mode_t_init not dispatchable */
   7490 
   7491 int
   7492 bcm_loop_ecn_map_set(
   7493 	int	unit,
   7494 	uint32	options,
   7495 	int	ecn_map_id,
   7496 	bcm_ecn_map_t *	ecn_map)
   7497 {
   7498 	return bcm_ecn_map_set(
   7499 			BCM_CONTROL(unit)->unit,
   7500 			options,
   7501 			ecn_map_id,
   7502 			ecn_map);
   7503 }
   7504 
   7505 /* bcm_ecn_map_t_init not dispatchable */
   7506 
   7507 int
   7508 bcm_loop_ecn_port_map_get(
   7509 	int	unit,
   7510 	bcm_gport_t	port,
   7511 	bcm_ecn_port_map_t *	ecn_map)
   7512 {
   7513 	return bcm_ecn_port_map_get(
   7514 			BCM_CONTROL(unit)->unit,
   7515 			port,
   7516 			ecn_map);
   7517 }
   7518 
   7519 int
   7520 bcm_loop_ecn_port_map_set(
   7521 	int	unit,
   7522 	bcm_gport_t	port,
   7523 	bcm_ecn_port_map_t *	ecn_map)
   7524 {
   7525 	return bcm_ecn_port_map_set(
   7526 			BCM_CONTROL(unit)->unit,
   7527 			port,
   7528 			ecn_map);
   7529 }
   7530 
   7531 /* bcm_ecn_port_map_t_init not dispatchable */
   7532 
   7533 #endif	/* INCLUDE_L3 */
   7534 
   7535 int
   7536 bcm_loop_ecn_responsive_protocol_get(
   7537 	int	unit,
   7538 	uint8	ip_proto,
   7539 	int *	responsive)
   7540 {
   7541 	return bcm_ecn_responsive_protocol_get(
   7542 			BCM_CONTROL(unit)->unit,
   7543 			ip_proto,
   7544 			responsive);
   7545 }
   7546 
   7547 int
   7548 bcm_loop_ecn_responsive_protocol_set(
   7549 	int	unit,
   7550 	uint8	ip_proto,
   7551 	int	responsive)
   7552 {
   7553 	return bcm_ecn_responsive_protocol_set(
   7554 			BCM_CONTROL(unit)->unit,
   7555 			ip_proto,
   7556 			responsive);
   7557 }
   7558 
   7559 int
   7560 bcm_loop_ecn_traffic_action_config_get(
   7561 	int	unit,
   7562 	bcm_ecn_traffic_action_config_t *	ecn_config)
   7563 {
   7564 	return bcm_ecn_traffic_action_config_get(
   7565 			BCM_CONTROL(unit)->unit,
   7566 			ecn_config);
   7567 }
   7568 
   7569 int
   7570 bcm_loop_ecn_traffic_action_config_set(
   7571 	int	unit,
   7572 	bcm_ecn_traffic_action_config_t *	ecn_config)
   7573 {
   7574 	return bcm_ecn_traffic_action_config_set(
   7575 			BCM_CONTROL(unit)->unit,
   7576 			ecn_config);
   7577 }
   7578 
   7579 /* bcm_ecn_traffic_action_config_t_init not dispatchable */
   7580 
   7581 int
   7582 bcm_loop_ecn_traffic_map_get(
   7583 	int	unit,
   7584 	bcm_ecn_traffic_map_info_t *	map)
   7585 {
   7586 	return bcm_ecn_traffic_map_get(
   7587 			BCM_CONTROL(unit)->unit,
   7588 			map);
   7589 }
   7590 
   7591 /* bcm_ecn_traffic_map_info_t_init not dispatchable */
   7592 
   7593 int
   7594 bcm_loop_ecn_traffic_map_set(
   7595 	int	unit,
   7596 	bcm_ecn_traffic_map_info_t *	map)
   7597 {
   7598 	return bcm_ecn_traffic_map_set(
   7599 			BCM_CONTROL(unit)->unit,
   7600 			map);
   7601 }
   7602 
   7603 #ifdef	INCLUDE_PTP
   7604 
   7605 int
   7606 bcm_loop_esmc_QL_SSM_map(
   7607 	int	unit,
   7608 	bcm_esmc_network_option_t	opt,
   7609 	bcm_esmc_quality_level_t	ql,
   7610 	uint8 *	ssm_code)
   7611 {
   7612 	return bcm_esmc_QL_SSM_map(
   7613 			BCM_CONTROL(unit)->unit,
   7614 			opt,
   7615 			ql,
   7616 			ssm_code);
   7617 }
   7618 
   7619 int
   7620 bcm_loop_esmc_SSM_QL_map(
   7621 	int	unit,
   7622 	bcm_esmc_network_option_t	opt,
   7623 	uint8	ssm_code,
   7624 	bcm_esmc_quality_level_t *	ql)
   7625 {
   7626 	return bcm_esmc_SSM_QL_map(
   7627 			BCM_CONTROL(unit)->unit,
   7628 			opt,
   7629 			ssm_code,
   7630 			ql);
   7631 }
   7632 
   7633 int
   7634 bcm_loop_esmc_g781_option_get(
   7635 	int	unit,
   7636 	int	stack_id,
   7637 	bcm_esmc_network_option_t *	g781_option)
   7638 {
   7639 	return bcm_esmc_g781_option_get(
   7640 			BCM_CONTROL(unit)->unit,
   7641 			stack_id,
   7642 			g781_option);
   7643 }
   7644 
   7645 int
   7646 bcm_loop_esmc_g781_option_set(
   7647 	int	unit,
   7648 	int	stack_id,
   7649 	bcm_esmc_network_option_t	g781_option)
   7650 {
   7651 	return bcm_esmc_g781_option_set(
   7652 			BCM_CONTROL(unit)->unit,
   7653 			stack_id,
   7654 			g781_option);
   7655 }
   7656 
   7657 int
   7658 bcm_loop_esmc_rx_callback_register(
   7659 	int	unit,
   7660 	int	stack_id,
   7661 	bcm_esmc_rx_cb	rx_cb)
   7662 {
   7663 	return bcm_esmc_rx_callback_register(
   7664 			BCM_CONTROL(unit)->unit,
   7665 			stack_id,
   7666 			rx_cb);
   7667 }
   7668 
   7669 int
   7670 bcm_loop_esmc_rx_callback_unregister(
   7671 	int	unit,
   7672 	int	stack_id)
   7673 {
   7674 	return bcm_esmc_rx_callback_unregister(
   7675 			BCM_CONTROL(unit)->unit,
   7676 			stack_id);
   7677 }
   7678 
   7679 int
   7680 bcm_loop_esmc_tunnel_get(
   7681 	int	unit,
   7682 	int	stack_id,
   7683 	int *	enable)
   7684 {
   7685 	return bcm_esmc_tunnel_get(
   7686 			BCM_CONTROL(unit)->unit,
   7687 			stack_id,
   7688 			enable);
   7689 }
   7690 
   7691 int
   7692 bcm_loop_esmc_tunnel_set(
   7693 	int	unit,
   7694 	int	stack_id,
   7695 	int	enable)
   7696 {
   7697 	return bcm_esmc_tunnel_set(
   7698 			BCM_CONTROL(unit)->unit,
   7699 			stack_id,
   7700 			enable);
   7701 }
   7702 
   7703 int
   7704 bcm_loop_esmc_tx(
   7705 	int	unit,
   7706 	int	stack_id,
   7707 	bcm_pbmp_t	pbmp,
   7708 	bcm_esmc_pdu_data_t *	esmc_pdu_data)
   7709 {
   7710 	return bcm_esmc_tx(
   7711 			BCM_CONTROL(unit)->unit,
   7712 			stack_id,
   7713 			pbmp,
   7714 			esmc_pdu_data);
   7715 }
   7716 
   7717 #endif	/* INCLUDE_PTP */
   7718 #ifdef	INCLUDE_L3
   7719 
   7720 int
   7721 bcm_loop_extender_cleanup(
   7722 	int	unit)
   7723 {
   7724 	return bcm_extender_cleanup(
   7725 			BCM_CONTROL(unit)->unit);
   7726 }
   7727 
   7728 int
   7729 bcm_loop_extender_egress_add(
   7730 	int	unit,
   7731 	bcm_gport_t	extender_port,
   7732 	bcm_extender_egress_t *	extender_egress)
   7733 {
   7734 	return bcm_extender_egress_add(
   7735 			BCM_CONTROL(unit)->unit,
   7736 			extender_port,
   7737 			extender_egress);
   7738 }
   7739 
   7740 int
   7741 bcm_loop_extender_egress_delete(
   7742 	int	unit,
   7743 	bcm_gport_t	extender_port,
   7744 	bcm_extender_egress_t *	extender_egress)
   7745 {
   7746 	return bcm_extender_egress_delete(
   7747 			BCM_CONTROL(unit)->unit,
   7748 			extender_port,
   7749 			extender_egress);
   7750 }
   7751 
   7752 int
   7753 bcm_loop_extender_egress_delete_all(
   7754 	int	unit,
   7755 	bcm_gport_t	extender_port)
   7756 {
   7757 	return bcm_extender_egress_delete_all(
   7758 			BCM_CONTROL(unit)->unit,
   7759 			extender_port);
   7760 }
   7761 
   7762 int
   7763 bcm_loop_extender_egress_get(
   7764 	int	unit,
   7765 	bcm_gport_t	extender_port,
   7766 	bcm_extender_egress_t *	extender_egress)
   7767 {
   7768 	return bcm_extender_egress_get(
   7769 			BCM_CONTROL(unit)->unit,
   7770 			extender_port,
   7771 			extender_egress);
   7772 }
   7773 
   7774 int
   7775 bcm_loop_extender_egress_get_all(
   7776 	int	unit,
   7777 	bcm_gport_t	extender_port,
   7778 	int	array_size,
   7779 	bcm_extender_egress_t *	extender_egress_array,
   7780 	int *	count)
   7781 {
   7782 	return bcm_extender_egress_get_all(
   7783 			BCM_CONTROL(unit)->unit,
   7784 			extender_port,
   7785 			array_size,
   7786 			extender_egress_array,
   7787 			count);
   7788 }
   7789 
   7790 int
   7791 bcm_loop_extender_egress_set(
   7792 	int	unit,
   7793 	bcm_gport_t	extender_port,
   7794 	int	array_size,
   7795 	bcm_extender_egress_t *	extender_egress_array)
   7796 {
   7797 	return bcm_extender_egress_set(
   7798 			BCM_CONTROL(unit)->unit,
   7799 			extender_port,
   7800 			array_size,
   7801 			extender_egress_array);
   7802 }
   7803 
   7804 /* bcm_extender_egress_t_init not dispatchable */
   7805 
   7806 int
   7807 bcm_loop_extender_encap_create(
   7808 	int	unit,
   7809 	bcm_extender_encap_t *	extender_encap)
   7810 {
   7811 	return bcm_extender_encap_create(
   7812 			BCM_CONTROL(unit)->unit,
   7813 			extender_encap);
   7814 }
   7815 
   7816 int
   7817 bcm_loop_extender_encap_destroy(
   7818 	int	unit,
   7819 	bcm_gport_t *	extender_encap_id)
   7820 {
   7821 	return bcm_extender_encap_destroy(
   7822 			BCM_CONTROL(unit)->unit,
   7823 			extender_encap_id);
   7824 }
   7825 
   7826 int
   7827 bcm_loop_extender_encap_destroy_all(
   7828 	int	unit)
   7829 {
   7830 	return bcm_extender_encap_destroy_all(
   7831 			BCM_CONTROL(unit)->unit);
   7832 }
   7833 
   7834 int
   7835 bcm_loop_extender_encap_get(
   7836 	int	unit,
   7837 	bcm_extender_encap_t *	extender_encap)
   7838 {
   7839 	return bcm_extender_encap_get(
   7840 			BCM_CONTROL(unit)->unit,
   7841 			extender_encap);
   7842 }
   7843 
   7844 /* bcm_extender_encap_t_init not dispatchable */
   7845 
   7846 int
   7847 bcm_loop_extender_encap_traverse(
   7848 	int	unit,
   7849 	bcm_extender_encap_traverse_cb	cb,
   7850 	void *	user_data)
   7851 {
   7852 	return bcm_extender_encap_traverse(
   7853 			BCM_CONTROL(unit)->unit,
   7854 			cb,
   7855 			user_data);
   7856 }
   7857 
   7858 int
   7859 bcm_loop_extender_forward_add(
   7860 	int	unit,
   7861 	bcm_extender_forward_t *	extender_forward_entry)
   7862 {
   7863 	return bcm_extender_forward_add(
   7864 			BCM_CONTROL(unit)->unit,
   7865 			extender_forward_entry);
   7866 }
   7867 
   7868 int
   7869 bcm_loop_extender_forward_delete(
   7870 	int	unit,
   7871 	bcm_extender_forward_t *	extender_forward_entry)
   7872 {
   7873 	return bcm_extender_forward_delete(
   7874 			BCM_CONTROL(unit)->unit,
   7875 			extender_forward_entry);
   7876 }
   7877 
   7878 int
   7879 bcm_loop_extender_forward_delete_all(
   7880 	int	unit)
   7881 {
   7882 	return bcm_extender_forward_delete_all(
   7883 			BCM_CONTROL(unit)->unit);
   7884 }
   7885 
   7886 int
   7887 bcm_loop_extender_forward_get(
   7888 	int	unit,
   7889 	bcm_extender_forward_t *	extender_forward_entry)
   7890 {
   7891 	return bcm_extender_forward_get(
   7892 			BCM_CONTROL(unit)->unit,
   7893 			extender_forward_entry);
   7894 }
   7895 
   7896 /* bcm_extender_forward_t_init not dispatchable */
   7897 
   7898 int
   7899 bcm_loop_extender_forward_traverse(
   7900 	int	unit,
   7901 	bcm_extender_forward_traverse_cb	cb,
   7902 	void *	user_data)
   7903 {
   7904 	return bcm_extender_forward_traverse(
   7905 			BCM_CONTROL(unit)->unit,
   7906 			cb,
   7907 			user_data);
   7908 }
   7909 
   7910 int
   7911 bcm_loop_extender_init(
   7912 	int	unit)
   7913 {
   7914 	return bcm_extender_init(
   7915 			BCM_CONTROL(unit)->unit);
   7916 }
   7917 
   7918 int
   7919 bcm_loop_extender_port_add(
   7920 	int	unit,
   7921 	bcm_extender_port_t *	extender_port)
   7922 {
   7923 	return bcm_extender_port_add(
   7924 			BCM_CONTROL(unit)->unit,
   7925 			extender_port);
   7926 }
   7927 
   7928 int
   7929 bcm_loop_extender_port_delete(
   7930 	int	unit,
   7931 	bcm_gport_t	extender_port_id)
   7932 {
   7933 	return bcm_extender_port_delete(
   7934 			BCM_CONTROL(unit)->unit,
   7935 			extender_port_id);
   7936 }
   7937 
   7938 int
   7939 bcm_loop_extender_port_delete_all(
   7940 	int	unit)
   7941 {
   7942 	return bcm_extender_port_delete_all(
   7943 			BCM_CONTROL(unit)->unit);
   7944 }
   7945 
   7946 int
   7947 bcm_loop_extender_port_get(
   7948 	int	unit,
   7949 	bcm_extender_port_t *	extender_port)
   7950 {
   7951 	return bcm_extender_port_get(
   7952 			BCM_CONTROL(unit)->unit,
   7953 			extender_port);
   7954 }
   7955 
   7956 /* bcm_extender_port_t_init not dispatchable */
   7957 
   7958 int
   7959 bcm_loop_extender_port_traverse(
   7960 	int	unit,
   7961 	bcm_extender_port_traverse_cb	cb,
   7962 	void *	user_data)
   7963 {
   7964 	return bcm_extender_port_traverse(
   7965 			BCM_CONTROL(unit)->unit,
   7966 			cb,
   7967 			user_data);
   7968 }
   7969 
   7970 #endif	/* INCLUDE_L3 */
   7971 
   7972 int
   7973 bcm_loop_fabric_action_create(
   7974 	int	unit,
   7975 	bcm_fabric_action_info_t *	action_info,
   7976 	bcm_fabric_action_t *	action_id)
   7977 {
   7978 	return bcm_fabric_action_create(
   7979 			BCM_CONTROL(unit)->unit,
   7980 			action_info,
   7981 			action_id);
   7982 }
   7983 
   7984 int
   7985 bcm_loop_fabric_action_destroy(
   7986 	int	unit,
   7987 	bcm_fabric_action_t	action_id)
   7988 {
   7989 	return bcm_fabric_action_destroy(
   7990 			BCM_CONTROL(unit)->unit,
   7991 			action_id);
   7992 }
   7993 
   7994 int
   7995 bcm_loop_fabric_action_destroy_all(
   7996 	int	unit)
   7997 {
   7998 	return bcm_fabric_action_destroy_all(
   7999 			BCM_CONTROL(unit)->unit);
   8000 }
   8001 
   8002 int
   8003 bcm_loop_fabric_action_get(
   8004 	int	unit,
   8005 	bcm_fabric_action_t	action_id,
   8006 	bcm_fabric_action_info_t *	action_info)
   8007 {
   8008 	return bcm_fabric_action_get(
   8009 			BCM_CONTROL(unit)->unit,
   8010 			action_id,
   8011 			action_info);
   8012 }
   8013 
   8014 /* bcm_fabric_action_info_t_init not dispatchable */
   8015 
   8016 int
   8017 bcm_loop_fabric_action_traverse(
   8018 	int	unit,
   8019 	bcm_fabric_action_traverse_cb	cb,
   8020 	void *	user_data)
   8021 {
   8022 	return bcm_fabric_action_traverse(
   8023 			BCM_CONTROL(unit)->unit,
   8024 			cb,
   8025 			user_data);
   8026 }
   8027 
   8028 int
   8029 bcm_loop_fabric_bandwidth_core_profile_get(
   8030 	int	unit,
   8031 	int	core,
   8032 	uint32	flags,
   8033 	int	profile_count,
   8034 	bcm_fabric_bandwidth_profile_t *	profile_array)
   8035 {
   8036 	return bcm_fabric_bandwidth_core_profile_get(
   8037 			BCM_CONTROL(unit)->unit,
   8038 			core,
   8039 			flags,
   8040 			profile_count,
   8041 			profile_array);
   8042 }
   8043 
   8044 int
   8045 bcm_loop_fabric_bandwidth_core_profile_set(
   8046 	int	unit,
   8047 	int	core,
   8048 	uint32	flags,
   8049 	int	profile_count,
   8050 	bcm_fabric_bandwidth_profile_t *	profile_array)
   8051 {
   8052 	return bcm_fabric_bandwidth_core_profile_set(
   8053 			BCM_CONTROL(unit)->unit,
   8054 			core,
   8055 			flags,
   8056 			profile_count,
   8057 			profile_array);
   8058 }
   8059 
   8060 int
   8061 bcm_loop_fabric_bandwidth_profile_get(
   8062 	int	unit,
   8063 	int	profile_count,
   8064 	bcm_fabric_bandwidth_profile_t *	profile_array)
   8065 {
   8066 	return bcm_fabric_bandwidth_profile_get(
   8067 			BCM_CONTROL(unit)->unit,
   8068 			profile_count,
   8069 			profile_array);
   8070 }
   8071 
   8072 int
   8073 bcm_loop_fabric_bandwidth_profile_set(
   8074 	int	unit,
   8075 	int	profile_count,
   8076 	bcm_fabric_bandwidth_profile_t *	profile_array)
   8077 {
   8078 	return bcm_fabric_bandwidth_profile_set(
   8079 			BCM_CONTROL(unit)->unit,
   8080 			profile_count,
   8081 			profile_array);
   8082 }
   8083 
   8084 int
   8085 bcm_loop_fabric_cgm_control_get(
   8086 	int	unit,
   8087 	uint32	flags,
   8088 	bcm_fabric_cgm_control_type_t	control_type,
   8089 	bcm_fabric_cgm_control_id_t	control_id,
   8090 	int *	value)
   8091 {
   8092 	return bcm_fabric_cgm_control_get(
   8093 			BCM_CONTROL(unit)->unit,
   8094 			flags,
   8095 			control_type,
   8096 			control_id,
   8097 			value);
   8098 }
   8099 
   8100 int
   8101 bcm_loop_fabric_cgm_control_set(
   8102 	int	unit,
   8103 	uint32	flags,
   8104 	bcm_fabric_cgm_control_type_t	control_type,
   8105 	bcm_fabric_cgm_control_id_t	control_id,
   8106 	int	value)
   8107 {
   8108 	return bcm_fabric_cgm_control_set(
   8109 			BCM_CONTROL(unit)->unit,
   8110 			flags,
   8111 			control_type,
   8112 			control_id,
   8113 			value);
   8114 }
   8115 
   8116 int
   8117 bcm_loop_fabric_config_discard_get(
   8118 	int	unit,
   8119 	bcm_fabric_config_discard_t *	discard)
   8120 {
   8121 	return bcm_fabric_config_discard_get(
   8122 			BCM_CONTROL(unit)->unit,
   8123 			discard);
   8124 }
   8125 
   8126 int
   8127 bcm_loop_fabric_config_discard_set(
   8128 	int	unit,
   8129 	bcm_fabric_config_discard_t *	discard)
   8130 {
   8131 	return bcm_fabric_config_discard_set(
   8132 			BCM_CONTROL(unit)->unit,
   8133 			discard);
   8134 }
   8135 
   8136 int
   8137 bcm_loop_fabric_control_get(
   8138 	int	unit,
   8139 	bcm_fabric_control_t	type,
   8140 	int *	arg)
   8141 {
   8142 	return bcm_fabric_control_get(
   8143 			BCM_CONTROL(unit)->unit,
   8144 			type,
   8145 			arg);
   8146 }
   8147 
   8148 int
   8149 bcm_loop_fabric_control_set(
   8150 	int	unit,
   8151 	bcm_fabric_control_t	type,
   8152 	int	arg)
   8153 {
   8154 	return bcm_fabric_control_set(
   8155 			BCM_CONTROL(unit)->unit,
   8156 			type,
   8157 			arg);
   8158 }
   8159 
   8160 int
   8161 bcm_loop_fabric_destination_link_min_get(
   8162 	int	unit,
   8163 	uint32	flags,
   8164 	bcm_module_t	module_id,
   8165 	int *	num_of_links)
   8166 {
   8167 	return bcm_fabric_destination_link_min_get(
   8168 			BCM_CONTROL(unit)->unit,
   8169 			flags,
   8170 			module_id,
   8171 			num_of_links);
   8172 }
   8173 
   8174 int
   8175 bcm_loop_fabric_destination_link_min_set(
   8176 	int	unit,
   8177 	uint32	flags,
   8178 	bcm_module_t	module_id,
   8179 	int	num_of_links)
   8180 {
   8181 	return bcm_fabric_destination_link_min_set(
   8182 			BCM_CONTROL(unit)->unit,
   8183 			flags,
   8184 			module_id,
   8185 			num_of_links);
   8186 }
   8187 
   8188 int
   8189 bcm_loop_fabric_init(
   8190 	int	unit)
   8191 {
   8192 	return bcm_fabric_init(
   8193 			BCM_CONTROL(unit)->unit);
   8194 }
   8195 
   8196 int
   8197 bcm_loop_fabric_link_connectivity_status_get(
   8198 	int	unit,
   8199 	int	link_partner_max,
   8200 	bcm_fabric_link_connectivity_t *	link_partner_array,
   8201 	int *	link_partner_count)
   8202 {
   8203 	return bcm_fabric_link_connectivity_status_get(
   8204 			BCM_CONTROL(unit)->unit,
   8205 			link_partner_max,
   8206 			link_partner_array,
   8207 			link_partner_count);
   8208 }
   8209 
   8210 int
   8211 bcm_loop_fabric_link_connectivity_status_single_get(
   8212 	int	unit,
   8213 	bcm_port_t	link_id,
   8214 	bcm_fabric_link_connectivity_t *	link_partner_info)
   8215 {
   8216 	return bcm_fabric_link_connectivity_status_single_get(
   8217 			BCM_CONTROL(unit)->unit,
   8218 			link_id,
   8219 			link_partner_info);
   8220 }
   8221 
   8222 int
   8223 bcm_loop_fabric_link_control_get(
   8224 	int	unit,
   8225 	bcm_port_t	link,
   8226 	bcm_fabric_link_control_t	type,
   8227 	int *	arg)
   8228 {
   8229 	return bcm_fabric_link_control_get(
   8230 			BCM_CONTROL(unit)->unit,
   8231 			link,
   8232 			type,
   8233 			arg);
   8234 }
   8235 
   8236 int
   8237 bcm_loop_fabric_link_control_set(
   8238 	int	unit,
   8239 	bcm_port_t	link,
   8240 	bcm_fabric_link_control_t	type,
   8241 	int	arg)
   8242 {
   8243 	return bcm_fabric_link_control_set(
   8244 			BCM_CONTROL(unit)->unit,
   8245 			link,
   8246 			type,
   8247 			arg);
   8248 }
   8249 
   8250 int
   8251 bcm_loop_fabric_link_profile_get(
   8252 	int	unit,
   8253 	int	profile_id,
   8254 	uint32	flags,
   8255 	uint32	links_count_max,
   8256 	uint32 *	links_count,
   8257 	bcm_port_t *	links)
   8258 {
   8259 	return bcm_fabric_link_profile_get(
   8260 			BCM_CONTROL(unit)->unit,
   8261 			profile_id,
   8262 			flags,
   8263 			links_count_max,
   8264 			links_count,
   8265 			links);
   8266 }
   8267 
   8268 int
   8269 bcm_loop_fabric_link_profile_set(
   8270 	int	unit,
   8271 	int	profile_id,
   8272 	uint32	flags,
   8273 	uint32	links_count,
   8274 	bcm_port_t *	links)
   8275 {
   8276 	return bcm_fabric_link_profile_set(
   8277 			BCM_CONTROL(unit)->unit,
   8278 			profile_id,
   8279 			flags,
   8280 			links_count,
   8281 			links);
   8282 }
   8283 
   8284 int
   8285 bcm_loop_fabric_link_remote_pipe_mapping_get(
   8286 	int	unit,
   8287 	bcm_port_t	port,
   8288 	bcm_fabric_link_remote_pipe_mapping_t *	mapping_config)
   8289 {
   8290 	return bcm_fabric_link_remote_pipe_mapping_get(
   8291 			BCM_CONTROL(unit)->unit,
   8292 			port,
   8293 			mapping_config);
   8294 }
   8295 
   8296 int
   8297 bcm_loop_fabric_link_remote_pipe_mapping_set(
   8298 	int	unit,
   8299 	bcm_port_t	port,
   8300 	bcm_fabric_link_remote_pipe_mapping_t *	mapping_config)
   8301 {
   8302 	return bcm_fabric_link_remote_pipe_mapping_set(
   8303 			BCM_CONTROL(unit)->unit,
   8304 			port,
   8305 			mapping_config);
   8306 }
   8307 
   8308 /* bcm_fabric_link_remote_pipe_mapping_t_init not dispatchable */
   8309 
   8310 int
   8311 bcm_loop_fabric_link_status_get(
   8312 	int	unit,
   8313 	bcm_port_t	link_id,
   8314 	uint32 *	link_status,
   8315 	uint32 *	errored_token_count)
   8316 {
   8317 	return bcm_fabric_link_status_get(
   8318 			BCM_CONTROL(unit)->unit,
   8319 			link_id,
   8320 			link_status,
   8321 			errored_token_count);
   8322 }
   8323 
   8324 int
   8325 bcm_loop_fabric_link_threshold_add(
   8326 	int	unit,
   8327 	uint32	flags,
   8328 	int *	fifo_type)
   8329 {
   8330 	return bcm_fabric_link_threshold_add(
   8331 			BCM_CONTROL(unit)->unit,
   8332 			flags,
   8333 			fifo_type);
   8334 }
   8335 
   8336 int
   8337 bcm_loop_fabric_link_threshold_delete(
   8338 	int	unit,
   8339 	int	fifo_type)
   8340 {
   8341 	return bcm_fabric_link_threshold_delete(
   8342 			BCM_CONTROL(unit)->unit,
   8343 			fifo_type);
   8344 }
   8345 
   8346 int
   8347 bcm_loop_fabric_link_thresholds_attach(
   8348 	int	unit,
   8349 	int	fifo_type,
   8350 	uint32	links_count,
   8351 	bcm_port_t *	links)
   8352 {
   8353 	return bcm_fabric_link_thresholds_attach(
   8354 			BCM_CONTROL(unit)->unit,
   8355 			fifo_type,
   8356 			links_count,
   8357 			links);
   8358 }
   8359 
   8360 int
   8361 bcm_loop_fabric_link_thresholds_get(
   8362 	int	unit,
   8363 	int	fifo_type,
   8364 	uint32	count,
   8365 	bcm_fabric_link_threshold_type_t *	type,
   8366 	int *	value)
   8367 {
   8368 	return bcm_fabric_link_thresholds_get(
   8369 			BCM_CONTROL(unit)->unit,
   8370 			fifo_type,
   8371 			count,
   8372 			type,
   8373 			value);
   8374 }
   8375 
   8376 int
   8377 bcm_loop_fabric_link_thresholds_pipe_get(
   8378 	int	unit,
   8379 	int	fifo_type,
   8380 	bcm_fabric_pipe_t	pipe,
   8381 	uint32	flags,
   8382 	uint32	count,
   8383 	bcm_fabric_link_threshold_type_t *	type,
   8384 	int *	value)
   8385 {
   8386 	return bcm_fabric_link_thresholds_pipe_get(
   8387 			BCM_CONTROL(unit)->unit,
   8388 			fifo_type,
   8389 			pipe,
   8390 			flags,
   8391 			count,
   8392 			type,
   8393 			value);
   8394 }
   8395 
   8396 int
   8397 bcm_loop_fabric_link_thresholds_pipe_set(
   8398 	int	unit,
   8399 	int	fifo_type,
   8400 	bcm_fabric_pipe_t	pipe,
   8401 	uint32	flags,
   8402 	uint32	count,
   8403 	bcm_fabric_link_threshold_type_t *	type,
   8404 	int *	value)
   8405 {
   8406 	return bcm_fabric_link_thresholds_pipe_set(
   8407 			BCM_CONTROL(unit)->unit,
   8408 			fifo_type,
   8409 			pipe,
   8410 			flags,
   8411 			count,
   8412 			type,
   8413 			value);
   8414 }
   8415 
   8416 int
   8417 bcm_loop_fabric_link_thresholds_retrieve(
   8418 	int	unit,
   8419 	int	fifo_type,
   8420 	uint32	links_count_max,
   8421 	bcm_port_t *	links,
   8422 	uint32 *	links_count)
   8423 {
   8424 	return bcm_fabric_link_thresholds_retrieve(
   8425 			BCM_CONTROL(unit)->unit,
   8426 			fifo_type,
   8427 			links_count_max,
   8428 			links,
   8429 			links_count);
   8430 }
   8431 
   8432 int
   8433 bcm_loop_fabric_link_thresholds_set(
   8434 	int	unit,
   8435 	int	fifo_type,
   8436 	uint32	count,
   8437 	bcm_fabric_link_threshold_type_t *	type,
   8438 	int *	value)
   8439 {
   8440 	return bcm_fabric_link_thresholds_set(
   8441 			BCM_CONTROL(unit)->unit,
   8442 			fifo_type,
   8443 			count,
   8444 			type,
   8445 			value);
   8446 }
   8447 
   8448 int
   8449 bcm_loop_fabric_link_topology_config_get(
   8450 	int	unit,
   8451 	uint32	flags,
   8452 	bcm_module_t	destination,
   8453 	bcm_fabric_topology_type_t	type,
   8454 	int	links_count_max,
   8455 	int *	links_count,
   8456 	bcm_port_t *	links_array)
   8457 {
   8458 	return bcm_fabric_link_topology_config_get(
   8459 			BCM_CONTROL(unit)->unit,
   8460 			flags,
   8461 			destination,
   8462 			type,
   8463 			links_count_max,
   8464 			links_count,
   8465 			links_array);
   8466 }
   8467 
   8468 int
   8469 bcm_loop_fabric_link_topology_config_set(
   8470 	int	unit,
   8471 	uint32	flags,
   8472 	bcm_module_t	destination,
   8473 	bcm_fabric_topology_type_t	type,
   8474 	int	links_count,
   8475 	bcm_port_t *	links_array)
   8476 {
   8477 	return bcm_fabric_link_topology_config_set(
   8478 			BCM_CONTROL(unit)->unit,
   8479 			flags,
   8480 			destination,
   8481 			type,
   8482 			links_count,
   8483 			links_array);
   8484 }
   8485 
   8486 int
   8487 bcm_loop_fabric_link_topology_get(
   8488 	int	unit,
   8489 	bcm_module_t	destination,
   8490 	int	max_links_count,
   8491 	int *	links_count,
   8492 	bcm_port_t *	links_array)
   8493 {
   8494 	return bcm_fabric_link_topology_get(
   8495 			BCM_CONTROL(unit)->unit,
   8496 			destination,
   8497 			max_links_count,
   8498 			links_count,
   8499 			links_array);
   8500 }
   8501 
   8502 int
   8503 bcm_loop_fabric_link_topology_set(
   8504 	int	unit,
   8505 	bcm_module_t	destination,
   8506 	int	links_count,
   8507 	bcm_port_t *	links_array)
   8508 {
   8509 	return bcm_fabric_link_topology_set(
   8510 			BCM_CONTROL(unit)->unit,
   8511 			destination,
   8512 			links_count,
   8513 			links_array);
   8514 }
   8515 
   8516 int
   8517 bcm_loop_fabric_modid_group_find(
   8518 	int	unit,
   8519 	bcm_module_t	modid,
   8520 	bcm_module_t *	group)
   8521 {
   8522 	return bcm_fabric_modid_group_find(
   8523 			BCM_CONTROL(unit)->unit,
   8524 			modid,
   8525 			group);
   8526 }
   8527 
   8528 int
   8529 bcm_loop_fabric_modid_group_get(
   8530 	int	unit,
   8531 	bcm_module_t	group,
   8532 	int	modid_max_count,
   8533 	bcm_module_t *	modid_array,
   8534 	int *	modid_count)
   8535 {
   8536 	return bcm_fabric_modid_group_get(
   8537 			BCM_CONTROL(unit)->unit,
   8538 			group,
   8539 			modid_max_count,
   8540 			modid_array,
   8541 			modid_count);
   8542 }
   8543 
   8544 int
   8545 bcm_loop_fabric_modid_group_set(
   8546 	int	unit,
   8547 	bcm_module_t	group,
   8548 	int	modid_count,
   8549 	bcm_module_t *	modid_array)
   8550 {
   8551 	return bcm_fabric_modid_group_set(
   8552 			BCM_CONTROL(unit)->unit,
   8553 			group,
   8554 			modid_count,
   8555 			modid_array);
   8556 }
   8557 
   8558 int
   8559 bcm_loop_fabric_modid_local_mapping_get(
   8560 	int	unit,
   8561 	bcm_module_t	local_modid,
   8562 	bcm_module_t *	modid)
   8563 {
   8564 	return bcm_fabric_modid_local_mapping_get(
   8565 			BCM_CONTROL(unit)->unit,
   8566 			local_modid,
   8567 			modid);
   8568 }
   8569 
   8570 int
   8571 bcm_loop_fabric_modid_local_mapping_set(
   8572 	int	unit,
   8573 	bcm_module_t	local_modid,
   8574 	bcm_module_t	modid)
   8575 {
   8576 	return bcm_fabric_modid_local_mapping_set(
   8577 			BCM_CONTROL(unit)->unit,
   8578 			local_modid,
   8579 			modid);
   8580 }
   8581 
   8582 int
   8583 bcm_loop_fabric_module_control_get(
   8584 	int	unit,
   8585 	uint32	flags,
   8586 	bcm_module_t	modid,
   8587 	bcm_fabric_module_control_t	control,
   8588 	int *	value)
   8589 {
   8590 	return bcm_fabric_module_control_get(
   8591 			BCM_CONTROL(unit)->unit,
   8592 			flags,
   8593 			modid,
   8594 			control,
   8595 			value);
   8596 }
   8597 
   8598 int
   8599 bcm_loop_fabric_module_control_set(
   8600 	int	unit,
   8601 	uint32	flags,
   8602 	bcm_module_t	modid,
   8603 	bcm_fabric_module_control_t	control,
   8604 	int	value)
   8605 {
   8606 	return bcm_fabric_module_control_set(
   8607 			BCM_CONTROL(unit)->unit,
   8608 			flags,
   8609 			modid,
   8610 			control,
   8611 			value);
   8612 }
   8613 
   8614 int
   8615 bcm_loop_fabric_multicast_get(
   8616 	int	unit,
   8617 	bcm_multicast_t	group,
   8618 	uint32	flags,
   8619 	int	destid_count_max,
   8620 	int *	destid_count,
   8621 	bcm_module_t *	destid_array)
   8622 {
   8623 	return bcm_fabric_multicast_get(
   8624 			BCM_CONTROL(unit)->unit,
   8625 			group,
   8626 			flags,
   8627 			destid_count_max,
   8628 			destid_count,
   8629 			destid_array);
   8630 }
   8631 
   8632 int
   8633 bcm_loop_fabric_multicast_local_route_get(
   8634 	int	unit,
   8635 	uint32	flags,
   8636 	uint32	nof_groups,
   8637 	bcm_multicast_t *	groups,
   8638 	int *	enable)
   8639 {
   8640 	return bcm_fabric_multicast_local_route_get(
   8641 			BCM_CONTROL(unit)->unit,
   8642 			flags,
   8643 			nof_groups,
   8644 			groups,
   8645 			enable);
   8646 }
   8647 
   8648 int
   8649 bcm_loop_fabric_multicast_local_route_set(
   8650 	int	unit,
   8651 	uint32	flags,
   8652 	uint32	nof_groups,
   8653 	bcm_multicast_t *	groups,
   8654 	int *	enable)
   8655 {
   8656 	return bcm_fabric_multicast_local_route_set(
   8657 			BCM_CONTROL(unit)->unit,
   8658 			flags,
   8659 			nof_groups,
   8660 			groups,
   8661 			enable);
   8662 }
   8663 
   8664 int
   8665 bcm_loop_fabric_multicast_multi_get(
   8666 	int	unit,
   8667 	uint32	flags,
   8668 	uint32	ngroups,
   8669 	bcm_multicast_t *	groups,
   8670 	bcm_fabric_module_vector_t *	dest_array)
   8671 {
   8672 	return bcm_fabric_multicast_multi_get(
   8673 			BCM_CONTROL(unit)->unit,
   8674 			flags,
   8675 			ngroups,
   8676 			groups,
   8677 			dest_array);
   8678 }
   8679 
   8680 int
   8681 bcm_loop_fabric_multicast_multi_set(
   8682 	int	unit,
   8683 	uint32	flags,
   8684 	uint32	ngroups,
   8685 	bcm_multicast_t *	groups,
   8686 	bcm_fabric_module_vector_t *	dest_array)
   8687 {
   8688 	return bcm_fabric_multicast_multi_set(
   8689 			BCM_CONTROL(unit)->unit,
   8690 			flags,
   8691 			ngroups,
   8692 			groups,
   8693 			dest_array);
   8694 }
   8695 
   8696 int
   8697 bcm_loop_fabric_multicast_set(
   8698 	int	unit,
   8699 	bcm_multicast_t	group,
   8700 	uint32	flags,
   8701 	uint32	destid_count,
   8702 	bcm_module_t *	destid_array)
   8703 {
   8704 	return bcm_fabric_multicast_set(
   8705 			BCM_CONTROL(unit)->unit,
   8706 			group,
   8707 			flags,
   8708 			destid_count,
   8709 			destid_array);
   8710 }
   8711 
   8712 int
   8713 bcm_loop_fabric_pcp_dest_mode_config_get(
   8714 	int	unit,
   8715 	uint32	flags,
   8716 	bcm_module_t	modid,
   8717 	bcm_fabric_pcp_mode_config_t *	pcp_config)
   8718 {
   8719 	return bcm_fabric_pcp_dest_mode_config_get(
   8720 			BCM_CONTROL(unit)->unit,
   8721 			flags,
   8722 			modid,
   8723 			pcp_config);
   8724 }
   8725 
   8726 int
   8727 bcm_loop_fabric_pcp_dest_mode_config_set(
   8728 	int	unit,
   8729 	uint32	flags,
   8730 	bcm_module_t	modid,
   8731 	bcm_fabric_pcp_mode_config_t *	pcp_config)
   8732 {
   8733 	return bcm_fabric_pcp_dest_mode_config_set(
   8734 			BCM_CONTROL(unit)->unit,
   8735 			flags,
   8736 			modid,
   8737 			pcp_config);
   8738 }
   8739 
   8740 int
   8741 bcm_loop_fabric_port_create(
   8742 	int	unit,
   8743 	bcm_gport_t	parent_port,
   8744 	int	offset,
   8745 	uint32	flags,
   8746 	bcm_gport_t *	port)
   8747 {
   8748 	return bcm_fabric_port_create(
   8749 			BCM_CONTROL(unit)->unit,
   8750 			parent_port,
   8751 			offset,
   8752 			flags,
   8753 			port);
   8754 }
   8755 
   8756 int
   8757 bcm_loop_fabric_port_destroy(
   8758 	int	unit,
   8759 	bcm_gport_t	parent_port)
   8760 {
   8761 	return bcm_fabric_port_destroy(
   8762 			BCM_CONTROL(unit)->unit,
   8763 			parent_port);
   8764 }
   8765 
   8766 int
   8767 bcm_loop_fabric_port_get(
   8768 	int	unit,
   8769 	bcm_gport_t	child_port,
   8770 	uint32	flags,
   8771 	bcm_gport_t *	parent_port)
   8772 {
   8773 	return bcm_fabric_port_get(
   8774 			BCM_CONTROL(unit)->unit,
   8775 			child_port,
   8776 			flags,
   8777 			parent_port);
   8778 }
   8779 
   8780 int
   8781 bcm_loop_fabric_predicate_action_create(
   8782 	int	unit,
   8783 	bcm_fabric_predicate_action_info_t *	predicate_action,
   8784 	bcm_fabric_predicate_action_t *	predicate_action_id)
   8785 {
   8786 	return bcm_fabric_predicate_action_create(
   8787 			BCM_CONTROL(unit)->unit,
   8788 			predicate_action,
   8789 			predicate_action_id);
   8790 }
   8791 
   8792 int
   8793 bcm_loop_fabric_predicate_action_destroy(
   8794 	int	unit,
   8795 	bcm_fabric_predicate_action_t	predicate_action_id)
   8796 {
   8797 	return bcm_fabric_predicate_action_destroy(
   8798 			BCM_CONTROL(unit)->unit,
   8799 			predicate_action_id);
   8800 }
   8801 
   8802 int
   8803 bcm_loop_fabric_predicate_action_destroy_all(
   8804 	int	unit)
   8805 {
   8806 	return bcm_fabric_predicate_action_destroy_all(
   8807 			BCM_CONTROL(unit)->unit);
   8808 }
   8809 
   8810 int
   8811 bcm_loop_fabric_predicate_action_get(
   8812 	int	unit,
   8813 	bcm_fabric_predicate_action_t	predicate_action_id,
   8814 	bcm_fabric_predicate_action_info_t *	predicate_action_info)
   8815 {
   8816 	return bcm_fabric_predicate_action_get(
   8817 			BCM_CONTROL(unit)->unit,
   8818 			predicate_action_id,
   8819 			predicate_action_info);
   8820 }
   8821 
   8822 /* bcm_fabric_predicate_action_info_t_init not dispatchable */
   8823 
   8824 int
   8825 bcm_loop_fabric_predicate_action_traverse(
   8826 	int	unit,
   8827 	bcm_fabric_predicate_action_traverse_cb	cb,
   8828 	void *	user_data)
   8829 {
   8830 	return bcm_fabric_predicate_action_traverse(
   8831 			BCM_CONTROL(unit)->unit,
   8832 			cb,
   8833 			user_data);
   8834 }
   8835 
   8836 int
   8837 bcm_loop_fabric_predicate_create(
   8838 	int	unit,
   8839 	bcm_fabric_predicate_info_t *	pred_info,
   8840 	bcm_fabric_predicate_t *	pred_id)
   8841 {
   8842 	return bcm_fabric_predicate_create(
   8843 			BCM_CONTROL(unit)->unit,
   8844 			pred_info,
   8845 			pred_id);
   8846 }
   8847 
   8848 int
   8849 bcm_loop_fabric_predicate_destroy(
   8850 	int	unit,
   8851 	bcm_fabric_predicate_t	pred_id)
   8852 {
   8853 	return bcm_fabric_predicate_destroy(
   8854 			BCM_CONTROL(unit)->unit,
   8855 			pred_id);
   8856 }
   8857 
   8858 int
   8859 bcm_loop_fabric_predicate_destroy_all(
   8860 	int	unit)
   8861 {
   8862 	return bcm_fabric_predicate_destroy_all(
   8863 			BCM_CONTROL(unit)->unit);
   8864 }
   8865 
   8866 int
   8867 bcm_loop_fabric_predicate_get(
   8868 	int	unit,
   8869 	bcm_fabric_predicate_t	pred_id,
   8870 	bcm_fabric_predicate_info_t *	pred_info)
   8871 {
   8872 	return bcm_fabric_predicate_get(
   8873 			BCM_CONTROL(unit)->unit,
   8874 			pred_id,
   8875 			pred_info);
   8876 }
   8877 
   8878 /* bcm_fabric_predicate_info_t_init not dispatchable */
   8879 
   8880 int
   8881 bcm_loop_fabric_predicate_traverse(
   8882 	int	unit,
   8883 	bcm_fabric_predicate_traverse_cb	cb,
   8884 	void *	user_data)
   8885 {
   8886 	return bcm_fabric_predicate_traverse(
   8887 			BCM_CONTROL(unit)->unit,
   8888 			cb,
   8889 			user_data);
   8890 }
   8891 
   8892 int
   8893 bcm_loop_fabric_priority_get(
   8894 	int	unit,
   8895 	uint32	flags,
   8896 	bcm_cos_t	ingress_pri,
   8897 	bcm_color_t	color,
   8898 	int *	fabric_priority)
   8899 {
   8900 	return bcm_fabric_priority_get(
   8901 			BCM_CONTROL(unit)->unit,
   8902 			flags,
   8903 			ingress_pri,
   8904 			color,
   8905 			fabric_priority);
   8906 }
   8907 
   8908 int
   8909 bcm_loop_fabric_priority_set(
   8910 	int	unit,
   8911 	uint32	flags,
   8912 	bcm_cos_t	ingress_pri,
   8913 	bcm_color_t	color,
   8914 	int	fabric_priority)
   8915 {
   8916 	return bcm_fabric_priority_set(
   8917 			BCM_CONTROL(unit)->unit,
   8918 			flags,
   8919 			ingress_pri,
   8920 			color,
   8921 			fabric_priority);
   8922 }
   8923 
   8924 int
   8925 bcm_loop_fabric_profile_threshold_get(
   8926 	int	unit,
   8927 	int	profile_id,
   8928 	bcm_fabric_threshold_id_t	threshold_id,
   8929 	bcm_fabric_threshold_type_t	threshold_type,
   8930 	uint32	flags,
   8931 	int *	value)
   8932 {
   8933 	return bcm_fabric_profile_threshold_get(
   8934 			BCM_CONTROL(unit)->unit,
   8935 			profile_id,
   8936 			threshold_id,
   8937 			threshold_type,
   8938 			flags,
   8939 			value);
   8940 }
   8941 
   8942 int
   8943 bcm_loop_fabric_profile_threshold_set(
   8944 	int	unit,
   8945 	int	profile_id,
   8946 	bcm_fabric_threshold_id_t	threshold_id,
   8947 	bcm_fabric_threshold_type_t	threshold_type,
   8948 	uint32	flags,
   8949 	int	value)
   8950 {
   8951 	return bcm_fabric_profile_threshold_set(
   8952 			BCM_CONTROL(unit)->unit,
   8953 			profile_id,
   8954 			threshold_id,
   8955 			threshold_type,
   8956 			flags,
   8957 			value);
   8958 }
   8959 
   8960 int
   8961 bcm_loop_fabric_qsel_create(
   8962 	int	unit,
   8963 	uint32	flags,
   8964 	int	base,
   8965 	int	count,
   8966 	bcm_fabric_qsel_t *	qsel_id)
   8967 {
   8968 	return bcm_fabric_qsel_create(
   8969 			BCM_CONTROL(unit)->unit,
   8970 			flags,
   8971 			base,
   8972 			count,
   8973 			qsel_id);
   8974 }
   8975 
   8976 int
   8977 bcm_loop_fabric_qsel_destroy(
   8978 	int	unit,
   8979 	bcm_fabric_qsel_t	qsel_id)
   8980 {
   8981 	return bcm_fabric_qsel_destroy(
   8982 			BCM_CONTROL(unit)->unit,
   8983 			qsel_id);
   8984 }
   8985 
   8986 int
   8987 bcm_loop_fabric_qsel_destroy_all(
   8988 	int	unit)
   8989 {
   8990 	return bcm_fabric_qsel_destroy_all(
   8991 			BCM_CONTROL(unit)->unit);
   8992 }
   8993 
   8994 int
   8995 bcm_loop_fabric_qsel_entry_get(
   8996 	int	unit,
   8997 	bcm_fabric_qsel_t	qsel_id,
   8998 	int	offset,
   8999 	bcm_gport_t *	queue,
   9000 	bcm_fabric_qsel_offset_t *	qsel_offset_id)
   9001 {
   9002 	return bcm_fabric_qsel_entry_get(
   9003 			BCM_CONTROL(unit)->unit,
   9004 			qsel_id,
   9005 			offset,
   9006 			queue,
   9007 			qsel_offset_id);
   9008 }
   9009 
   9010 int
   9011 bcm_loop_fabric_qsel_entry_multi_get(
   9012 	int	unit,
   9013 	bcm_fabric_qsel_t	qsel_id,
   9014 	int	offset,
   9015 	int	count,
   9016 	bcm_gport_t *	queue,
   9017 	bcm_fabric_qsel_offset_t *	qsel_offset_id)
   9018 {
   9019 	return bcm_fabric_qsel_entry_multi_get(
   9020 			BCM_CONTROL(unit)->unit,
   9021 			qsel_id,
   9022 			offset,
   9023 			count,
   9024 			queue,
   9025 			qsel_offset_id);
   9026 }
   9027 
   9028 int
   9029 bcm_loop_fabric_qsel_entry_multi_set(
   9030 	int	unit,
   9031 	bcm_fabric_qsel_t	qsel_id,
   9032 	int	offset,
   9033 	int	count,
   9034 	bcm_gport_t *	queue,
   9035 	bcm_fabric_qsel_offset_t *	qsel_offset_id)
   9036 {
   9037 	return bcm_fabric_qsel_entry_multi_set(
   9038 			BCM_CONTROL(unit)->unit,
   9039 			qsel_id,
   9040 			offset,
   9041 			count,
   9042 			queue,
   9043 			qsel_offset_id);
   9044 }
   9045 
   9046 int
   9047 bcm_loop_fabric_qsel_entry_set(
   9048 	int	unit,
   9049 	bcm_fabric_qsel_t	qsel_id,
   9050 	int	offset,
   9051 	bcm_gport_t	queue,
   9052 	bcm_fabric_qsel_offset_t	qsel_offset_id)
   9053 {
   9054 	return bcm_fabric_qsel_entry_set(
   9055 			BCM_CONTROL(unit)->unit,
   9056 			qsel_id,
   9057 			offset,
   9058 			queue,
   9059 			qsel_offset_id);
   9060 }
   9061 
   9062 int
   9063 bcm_loop_fabric_qsel_entry_traverse(
   9064 	int	unit,
   9065 	bcm_fabric_qsel_t	qsel_id,
   9066 	bcm_fabric_qsel_entry_traverse_cb	cb,
   9067 	void *	user_data)
   9068 {
   9069 	return bcm_fabric_qsel_entry_traverse(
   9070 			BCM_CONTROL(unit)->unit,
   9071 			qsel_id,
   9072 			cb,
   9073 			user_data);
   9074 }
   9075 
   9076 int
   9077 bcm_loop_fabric_qsel_get(
   9078 	int	unit,
   9079 	bcm_fabric_qsel_t	qsel_id,
   9080 	uint32 *	flags,
   9081 	int *	base,
   9082 	int *	count)
   9083 {
   9084 	return bcm_fabric_qsel_get(
   9085 			BCM_CONTROL(unit)->unit,
   9086 			qsel_id,
   9087 			flags,
   9088 			base,
   9089 			count);
   9090 }
   9091 
   9092 int
   9093 bcm_loop_fabric_qsel_offset_create(
   9094 	int	unit,
   9095 	uint32	flags,
   9096 	bcm_fabric_qsel_offset_t *	qsel_offset_id)
   9097 {
   9098 	return bcm_fabric_qsel_offset_create(
   9099 			BCM_CONTROL(unit)->unit,
   9100 			flags,
   9101 			qsel_offset_id);
   9102 }
   9103 
   9104 int
   9105 bcm_loop_fabric_qsel_offset_destroy(
   9106 	int	unit,
   9107 	bcm_fabric_qsel_offset_t	qsel_offset_id)
   9108 {
   9109 	return bcm_fabric_qsel_offset_destroy(
   9110 			BCM_CONTROL(unit)->unit,
   9111 			qsel_offset_id);
   9112 }
   9113 
   9114 int
   9115 bcm_loop_fabric_qsel_offset_destroy_all(
   9116 	int	unit)
   9117 {
   9118 	return bcm_fabric_qsel_offset_destroy_all(
   9119 			BCM_CONTROL(unit)->unit);
   9120 }
   9121 
   9122 int
   9123 bcm_loop_fabric_qsel_offset_entry_get(
   9124 	int	unit,
   9125 	bcm_fabric_qsel_offset_t	qsel_offset_id,
   9126 	bcm_cos_t	int_pri,
   9127 	int *	offset)
   9128 {
   9129 	return bcm_fabric_qsel_offset_entry_get(
   9130 			BCM_CONTROL(unit)->unit,
   9131 			qsel_offset_id,
   9132 			int_pri,
   9133 			offset);
   9134 }
   9135 
   9136 int
   9137 bcm_loop_fabric_qsel_offset_entry_set(
   9138 	int	unit,
   9139 	bcm_fabric_qsel_offset_t	qsel_offset_id,
   9140 	bcm_cos_t	int_pri,
   9141 	int	offset)
   9142 {
   9143 	return bcm_fabric_qsel_offset_entry_set(
   9144 			BCM_CONTROL(unit)->unit,
   9145 			qsel_offset_id,
   9146 			int_pri,
   9147 			offset);
   9148 }
   9149 
   9150 int
   9151 bcm_loop_fabric_qsel_offset_entry_traverse(
   9152 	int	unit,
   9153 	bcm_fabric_qsel_offset_t	qsel_offset_id,
   9154 	bcm_fabric_qsel_offset_entry_traverse_cb	cb,
   9155 	void *	user_data)
   9156 {
   9157 	return bcm_fabric_qsel_offset_entry_traverse(
   9158 			BCM_CONTROL(unit)->unit,
   9159 			qsel_offset_id,
   9160 			cb,
   9161 			user_data);
   9162 }
   9163 
   9164 int
   9165 bcm_loop_fabric_qsel_offset_traverse(
   9166 	int	unit,
   9167 	bcm_fabric_qsel_offset_traverse_cb	cb,
   9168 	void *	user_data)
   9169 {
   9170 	return bcm_fabric_qsel_offset_traverse(
   9171 			BCM_CONTROL(unit)->unit,
   9172 			cb,
   9173 			user_data);
   9174 }
   9175 
   9176 int
   9177 bcm_loop_fabric_qsel_traverse(
   9178 	int	unit,
   9179 	bcm_fabric_qsel_traverse_cb	cb,
   9180 	void *	user_data)
   9181 {
   9182 	return bcm_fabric_qsel_traverse(
   9183 			BCM_CONTROL(unit)->unit,
   9184 			cb,
   9185 			user_data);
   9186 }
   9187 
   9188 int
   9189 bcm_loop_fabric_rci_biasing_probability_get(
   9190 	int	unit,
   9191 	uint32	flags,
   9192 	bcm_fabric_rci_biasing_probability_info_t *	probability_info,
   9193 	int	probability[BCM_FABRIC_NUM_OF_RCI_LEVELS])
   9194 {
   9195 	return bcm_fabric_rci_biasing_probability_get(
   9196 			BCM_CONTROL(unit)->unit,
   9197 			flags,
   9198 			probability_info,
   9199 			probability);
   9200 }
   9201 
   9202 int
   9203 bcm_loop_fabric_rci_biasing_probability_set(
   9204 	int	unit,
   9205 	uint32	flags,
   9206 	bcm_fabric_rci_biasing_probability_info_t *	probability_info,
   9207 	int	probability[BCM_FABRIC_NUM_OF_RCI_LEVELS])
   9208 {
   9209 	return bcm_fabric_rci_biasing_probability_set(
   9210 			BCM_CONTROL(unit)->unit,
   9211 			flags,
   9212 			probability_info,
   9213 			probability);
   9214 }
   9215 
   9216 int
   9217 bcm_loop_fabric_rci_config_get(
   9218 	int	unit,
   9219 	bcm_fabric_rci_config_t *	rci_config)
   9220 {
   9221 	return bcm_fabric_rci_config_get(
   9222 			BCM_CONTROL(unit)->unit,
   9223 			rci_config);
   9224 }
   9225 
   9226 int
   9227 bcm_loop_fabric_rci_config_set(
   9228 	int	unit,
   9229 	bcm_fabric_rci_config_t	rci_config)
   9230 {
   9231 	return bcm_fabric_rci_config_set(
   9232 			BCM_CONTROL(unit)->unit,
   9233 			rci_config);
   9234 }
   9235 
   9236 /* bcm_fabric_rci_config_t_init not dispatchable */
   9237 
   9238 int
   9239 bcm_loop_fabric_rci_resolution_get(
   9240 	int	unit,
   9241 	uint32	flags,
   9242 	bcm_fabric_rci_resolution_key_t *	key,
   9243 	bcm_fabric_rci_resolution_config_t *	config)
   9244 {
   9245 	return bcm_fabric_rci_resolution_get(
   9246 			BCM_CONTROL(unit)->unit,
   9247 			flags,
   9248 			key,
   9249 			config);
   9250 }
   9251 
   9252 int
   9253 bcm_loop_fabric_rci_resolution_set(
   9254 	int	unit,
   9255 	uint32	flags,
   9256 	bcm_fabric_rci_resolution_key_t *	key,
   9257 	bcm_fabric_rci_resolution_config_t *	config)
   9258 {
   9259 	return bcm_fabric_rci_resolution_set(
   9260 			BCM_CONTROL(unit)->unit,
   9261 			flags,
   9262 			key,
   9263 			config);
   9264 }
   9265 
   9266 int
   9267 bcm_loop_fabric_reachability_status_get(
   9268 	int	unit,
   9269 	int	moduleid,
   9270 	int	links_max,
   9271 	uint32 *	links_array,
   9272 	int *	links_count)
   9273 {
   9274 	return bcm_fabric_reachability_status_get(
   9275 			BCM_CONTROL(unit)->unit,
   9276 			moduleid,
   9277 			links_max,
   9278 			links_array,
   9279 			links_count);
   9280 }
   9281 
   9282 int
   9283 bcm_loop_fabric_route_rx(
   9284 	int	unit,
   9285 	uint32	flags,
   9286 	uint32	data_out_max_size,
   9287 	uint32 *	data_out,
   9288 	uint32 *	data_out_size)
   9289 {
   9290 	return bcm_fabric_route_rx(
   9291 			BCM_CONTROL(unit)->unit,
   9292 			flags,
   9293 			data_out_max_size,
   9294 			data_out,
   9295 			data_out_size);
   9296 }
   9297 
   9298 /* bcm_fabric_route_t_init not dispatchable */
   9299 
   9300 int
   9301 bcm_loop_fabric_route_tx(
   9302 	int	unit,
   9303 	uint32	flags,
   9304 	bcm_fabric_route_t *	route,
   9305 	uint32	data_in_size,
   9306 	uint32 *	data_in)
   9307 {
   9308 	return bcm_fabric_route_tx(
   9309 			BCM_CONTROL(unit)->unit,
   9310 			flags,
   9311 			route,
   9312 			data_in_size,
   9313 			data_in);
   9314 }
   9315 
   9316 int
   9317 bcm_loop_fabric_static_replication_set(
   9318 	int	unit,
   9319 	bcm_port_t	port,
   9320 	uint32	flags,
   9321 	uint32	destid_count,
   9322 	bcm_module_t *	destid_array)
   9323 {
   9324 	return bcm_fabric_static_replication_set(
   9325 			BCM_CONTROL(unit)->unit,
   9326 			port,
   9327 			flags,
   9328 			destid_count,
   9329 			destid_array);
   9330 }
   9331 
   9332 int
   9333 bcm_loop_fabric_tdm_direct_routing_get(
   9334 	int	unit,
   9335 	bcm_gport_t	gport,
   9336 	bcm_fabric_tdm_direct_routing_t *	routing_info)
   9337 {
   9338 	return bcm_fabric_tdm_direct_routing_get(
   9339 			BCM_CONTROL(unit)->unit,
   9340 			gport,
   9341 			routing_info);
   9342 }
   9343 
   9344 int
   9345 bcm_loop_fabric_tdm_direct_routing_set(
   9346 	int	unit,
   9347 	bcm_gport_t	gport,
   9348 	bcm_fabric_tdm_direct_routing_t *	routing_info)
   9349 {
   9350 	return bcm_fabric_tdm_direct_routing_set(
   9351 			BCM_CONTROL(unit)->unit,
   9352 			gport,
   9353 			routing_info);
   9354 }
   9355 
   9356 int
   9357 bcm_loop_fabric_tdm_editing_get(
   9358 	int	unit,
   9359 	bcm_gport_t	gport,
   9360 	bcm_fabric_tdm_editing_t *	editing)
   9361 {
   9362 	return bcm_fabric_tdm_editing_get(
   9363 			BCM_CONTROL(unit)->unit,
   9364 			gport,
   9365 			editing);
   9366 }
   9367 
   9368 int
   9369 bcm_loop_fabric_tdm_editing_set(
   9370 	int	unit,
   9371 	bcm_gport_t	gport,
   9372 	bcm_fabric_tdm_editing_t *	editing)
   9373 {
   9374 	return bcm_fabric_tdm_editing_set(
   9375 			BCM_CONTROL(unit)->unit,
   9376 			gport,
   9377 			editing);
   9378 }
   9379 
   9380 /* bcm_fabric_tdm_editing_t_init not dispatchable */
   9381 
   9382 #ifdef	INCLUDE_L3
   9383 
   9384 int
   9385 bcm_loop_failover_cleanup(
   9386 	int	unit)
   9387 {
   9388 	return bcm_failover_cleanup(
   9389 			BCM_CONTROL(unit)->unit);
   9390 }
   9391 
   9392 int
   9393 bcm_loop_failover_create(
   9394 	int	unit,
   9395 	uint32	flags,
   9396 	bcm_failover_t *	failover_id)
   9397 {
   9398 	return bcm_failover_create(
   9399 			BCM_CONTROL(unit)->unit,
   9400 			flags,
   9401 			failover_id);
   9402 }
   9403 
   9404 int
   9405 bcm_loop_failover_destroy(
   9406 	int	unit,
   9407 	bcm_failover_t	failover_id)
   9408 {
   9409 	return bcm_failover_destroy(
   9410 			BCM_CONTROL(unit)->unit,
   9411 			failover_id);
   9412 }
   9413 
   9414 int
   9415 bcm_loop_failover_egress_clear(
   9416 	int	unit,
   9417 	bcm_if_t	intf)
   9418 {
   9419 	return bcm_failover_egress_clear(
   9420 			BCM_CONTROL(unit)->unit,
   9421 			intf);
   9422 }
   9423 
   9424 int
   9425 bcm_loop_failover_egress_get(
   9426 	int	unit,
   9427 	bcm_if_t	intf,
   9428 	bcm_l3_egress_t *	failover_egr)
   9429 {
   9430 	return bcm_failover_egress_get(
   9431 			BCM_CONTROL(unit)->unit,
   9432 			intf,
   9433 			failover_egr);
   9434 }
   9435 
   9436 int
   9437 bcm_loop_failover_egress_set(
   9438 	int	unit,
   9439 	bcm_if_t	intf,
   9440 	bcm_l3_egress_t *	failover_egr)
   9441 {
   9442 	return bcm_failover_egress_set(
   9443 			BCM_CONTROL(unit)->unit,
   9444 			intf,
   9445 			failover_egr);
   9446 }
   9447 
   9448 int
   9449 bcm_loop_failover_egress_status_get(
   9450 	int	unit,
   9451 	bcm_if_t	intf,
   9452 	int *	enable)
   9453 {
   9454 	return bcm_failover_egress_status_get(
   9455 			BCM_CONTROL(unit)->unit,
   9456 			intf,
   9457 			enable);
   9458 }
   9459 
   9460 int
   9461 bcm_loop_failover_egress_status_set(
   9462 	int	unit,
   9463 	bcm_if_t	intf,
   9464 	int	enable)
   9465 {
   9466 	return bcm_failover_egress_status_set(
   9467 			BCM_CONTROL(unit)->unit,
   9468 			intf,
   9469 			enable);
   9470 }
   9471 
   9472 /* bcm_failover_element_t_init not dispatchable */
   9473 
   9474 int
   9475 bcm_loop_failover_get(
   9476 	int	unit,
   9477 	bcm_failover_t	failover_id,
   9478 	int *	enable)
   9479 {
   9480 	return bcm_failover_get(
   9481 			BCM_CONTROL(unit)->unit,
   9482 			failover_id,
   9483 			enable);
   9484 }
   9485 
   9486 int
   9487 bcm_loop_failover_init(
   9488 	int	unit)
   9489 {
   9490 	return bcm_failover_init(
   9491 			BCM_CONTROL(unit)->unit);
   9492 }
   9493 
   9494 int
   9495 bcm_loop_failover_multi_level_attach(
   9496 	int	unit,
   9497 	bcm_failover_multi_level_t	multi_level_failover)
   9498 {
   9499 	return bcm_failover_multi_level_attach(
   9500 			BCM_CONTROL(unit)->unit,
   9501 			multi_level_failover);
   9502 }
   9503 
   9504 /* bcm_failover_multi_level_t_init not dispatchable */
   9505 
   9506 #endif	/* INCLUDE_L3 */
   9507 
   9508 int
   9509 bcm_loop_failover_ring_config_get(
   9510 	int	unit,
   9511 	bcm_failover_ring_t *	failover_ring)
   9512 {
   9513 	return bcm_failover_ring_config_get(
   9514 			BCM_CONTROL(unit)->unit,
   9515 			failover_ring);
   9516 }
   9517 
   9518 int
   9519 bcm_loop_failover_ring_config_set(
   9520 	int	unit,
   9521 	bcm_failover_ring_t *	failover_ring)
   9522 {
   9523 	return bcm_failover_ring_config_set(
   9524 			BCM_CONTROL(unit)->unit,
   9525 			failover_ring);
   9526 }
   9527 
   9528 /* bcm_failover_ring_t_init not dispatchable */
   9529 
   9530 #ifdef	INCLUDE_L3
   9531 
   9532 int
   9533 bcm_loop_failover_set(
   9534 	int	unit,
   9535 	bcm_failover_t	failover_id,
   9536 	int	enable)
   9537 {
   9538 	return bcm_failover_set(
   9539 			BCM_CONTROL(unit)->unit,
   9540 			failover_id,
   9541 			enable);
   9542 }
   9543 
   9544 int
   9545 bcm_loop_failover_status_get(
   9546 	int	unit,
   9547 	bcm_failover_element_t *	failover,
   9548 	int *	enable)
   9549 {
   9550 	return bcm_failover_status_get(
   9551 			BCM_CONTROL(unit)->unit,
   9552 			failover,
   9553 			enable);
   9554 }
   9555 
   9556 int
   9557 bcm_loop_failover_status_set(
   9558 	int	unit,
   9559 	bcm_failover_element_t *	failover,
   9560 	int	enable)
   9561 {
   9562 	return bcm_failover_status_set(
   9563 			BCM_CONTROL(unit)->unit,
   9564 			failover,
   9565 			enable);
   9566 }
   9567 
   9568 #endif	/* INCLUDE_L3 */
   9569 #ifdef	INCLUDE_FCMAP
   9570 
   9571 int
   9572 bcm_loop_fcmap_diag_get(
   9573 	int	unit,
   9574 	bcm_port_t	port,
   9575 	bcm_fcmap_diag_code_t *	diag)
   9576 {
   9577 	return bcm_fcmap_diag_get(
   9578 			BCM_CONTROL(unit)->unit,
   9579 			port,
   9580 			diag);
   9581 }
   9582 
   9583 int
   9584 bcm_loop_fcmap_event_enable_get(
   9585 	int	unit,
   9586 	bcm_fcmap_event_t	t,
   9587 	int *	enable)
   9588 {
   9589 	return bcm_fcmap_event_enable_get(
   9590 			BCM_CONTROL(unit)->unit,
   9591 			t,
   9592 			enable);
   9593 }
   9594 
   9595 int
   9596 bcm_loop_fcmap_event_enable_set(
   9597 	int	unit,
   9598 	bcm_fcmap_event_t	t,
   9599 	int	enable)
   9600 {
   9601 	return bcm_fcmap_event_enable_set(
   9602 			BCM_CONTROL(unit)->unit,
   9603 			t,
   9604 			enable);
   9605 }
   9606 
   9607 int
   9608 bcm_loop_fcmap_event_register(
   9609 	int	unit,
   9610 	bcm_fcmap_event_cb	cb,
   9611 	void *	user_data)
   9612 {
   9613 	return bcm_fcmap_event_register(
   9614 			BCM_CONTROL(unit)->unit,
   9615 			cb,
   9616 			user_data);
   9617 }
   9618 
   9619 int
   9620 bcm_loop_fcmap_event_unregister(
   9621 	int	unit,
   9622 	bcm_fcmap_event_cb	cb)
   9623 {
   9624 	return bcm_fcmap_event_unregister(
   9625 			BCM_CONTROL(unit)->unit,
   9626 			cb);
   9627 }
   9628 
   9629 int
   9630 bcm_loop_fcmap_linkfault_trigger_rc_get(
   9631 	int	unit,
   9632 	bcm_port_t	port,
   9633 	bcm_fcmap_lf_tr_t *	trigger,
   9634 	bcm_fcmap_lf_rc_t *	rc)
   9635 {
   9636 	return bcm_fcmap_linkfault_trigger_rc_get(
   9637 			BCM_CONTROL(unit)->unit,
   9638 			port,
   9639 			trigger,
   9640 			rc);
   9641 }
   9642 
   9643 int
   9644 bcm_loop_fcmap_port_ability_advert_get(
   9645 	int	unit,
   9646 	bcm_port_t	port,
   9647 	bcm_fcmap_port_ability_t *	ability_mask)
   9648 {
   9649 	return bcm_fcmap_port_ability_advert_get(
   9650 			BCM_CONTROL(unit)->unit,
   9651 			port,
   9652 			ability_mask);
   9653 }
   9654 
   9655 int
   9656 bcm_loop_fcmap_port_ability_advert_set(
   9657 	int	unit,
   9658 	bcm_port_t	port,
   9659 	bcm_fcmap_port_ability_t *	ability_mask)
   9660 {
   9661 	return bcm_fcmap_port_ability_advert_set(
   9662 			BCM_CONTROL(unit)->unit,
   9663 			port,
   9664 			ability_mask);
   9665 }
   9666 
   9667 int
   9668 bcm_loop_fcmap_port_config_get(
   9669 	int	unit,
   9670 	bcm_port_t	port,
   9671 	bcm_fcmap_port_config_t *	cfg)
   9672 {
   9673 	return bcm_fcmap_port_config_get(
   9674 			BCM_CONTROL(unit)->unit,
   9675 			port,
   9676 			cfg);
   9677 }
   9678 
   9679 int
   9680 bcm_loop_fcmap_port_config_selective_get(
   9681 	int	unit,
   9682 	bcm_port_t	port,
   9683 	bcm_fcmap_port_config_t *	cfg)
   9684 {
   9685 	return bcm_fcmap_port_config_selective_get(
   9686 			BCM_CONTROL(unit)->unit,
   9687 			port,
   9688 			cfg);
   9689 }
   9690 
   9691 int
   9692 bcm_loop_fcmap_port_config_selective_set(
   9693 	int	unit,
   9694 	bcm_port_t	port,
   9695 	bcm_fcmap_port_config_t *	cfg)
   9696 {
   9697 	return bcm_fcmap_port_config_selective_set(
   9698 			BCM_CONTROL(unit)->unit,
   9699 			port,
   9700 			cfg);
   9701 }
   9702 
   9703 int
   9704 bcm_loop_fcmap_port_config_set(
   9705 	int	unit,
   9706 	bcm_port_t	port,
   9707 	bcm_fcmap_port_config_t *	cfg)
   9708 {
   9709 	return bcm_fcmap_port_config_set(
   9710 			BCM_CONTROL(unit)->unit,
   9711 			port,
   9712 			cfg);
   9713 }
   9714 
   9715 int
   9716 bcm_loop_fcmap_port_enable(
   9717 	int	unit,
   9718 	bcm_port_t	port)
   9719 {
   9720 	return bcm_fcmap_port_enable(
   9721 			BCM_CONTROL(unit)->unit,
   9722 			port);
   9723 }
   9724 
   9725 int
   9726 bcm_loop_fcmap_port_link_reset(
   9727 	int	unit,
   9728 	bcm_port_t	port)
   9729 {
   9730 	return bcm_fcmap_port_link_reset(
   9731 			BCM_CONTROL(unit)->unit,
   9732 			port);
   9733 }
   9734 
   9735 int
   9736 bcm_loop_fcmap_port_shutdown(
   9737 	int	unit,
   9738 	bcm_port_t	port)
   9739 {
   9740 	return bcm_fcmap_port_shutdown(
   9741 			BCM_CONTROL(unit)->unit,
   9742 			port);
   9743 }
   9744 
   9745 int
   9746 bcm_loop_fcmap_port_speed_set(
   9747 	int	unit,
   9748 	bcm_port_t	port,
   9749 	bcm_fcmap_port_speed_t	speed)
   9750 {
   9751 	return bcm_fcmap_port_speed_set(
   9752 			BCM_CONTROL(unit)->unit,
   9753 			port,
   9754 			speed);
   9755 }
   9756 
   9757 int
   9758 bcm_loop_fcmap_port_traverse(
   9759 	int	unit,
   9760 	bcm_fcmap_port_traverse_cb	callbk,
   9761 	void *	user_data)
   9762 {
   9763 	return bcm_fcmap_port_traverse(
   9764 			BCM_CONTROL(unit)->unit,
   9765 			callbk,
   9766 			user_data);
   9767 }
   9768 
   9769 int
   9770 bcm_loop_fcmap_stat_clear(
   9771 	int	unit,
   9772 	bcm_port_t	port)
   9773 {
   9774 	return bcm_fcmap_stat_clear(
   9775 			BCM_CONTROL(unit)->unit,
   9776 			port);
   9777 }
   9778 
   9779 int
   9780 bcm_loop_fcmap_stat_get(
   9781 	int	unit,
   9782 	bcm_port_t	port,
   9783 	bcm_fcmap_stat_t	stat,
   9784 	uint64 *	val)
   9785 {
   9786 	return bcm_fcmap_stat_get(
   9787 			BCM_CONTROL(unit)->unit,
   9788 			port,
   9789 			stat,
   9790 			val);
   9791 }
   9792 
   9793 int
   9794 bcm_loop_fcmap_stat_get32(
   9795 	int	unit,
   9796 	bcm_port_t	port,
   9797 	bcm_fcmap_stat_t	stat,
   9798 	uint32 *	val)
   9799 {
   9800 	return bcm_fcmap_stat_get32(
   9801 			BCM_CONTROL(unit)->unit,
   9802 			port,
   9803 			stat,
   9804 			val);
   9805 }
   9806 
   9807 int
   9808 bcm_loop_fcmap_vlan_map_add(
   9809 	int	unit,
   9810 	bcm_port_t	port,
   9811 	bcm_fcmap_vlan_vsan_map_t *	vlan)
   9812 {
   9813 	return bcm_fcmap_vlan_map_add(
   9814 			BCM_CONTROL(unit)->unit,
   9815 			port,
   9816 			vlan);
   9817 }
   9818 
   9819 int
   9820 bcm_loop_fcmap_vlan_map_delete(
   9821 	int	unit,
   9822 	bcm_port_t	port,
   9823 	bcm_fcmap_vlan_vsan_map_t *	vlan)
   9824 {
   9825 	return bcm_fcmap_vlan_map_delete(
   9826 			BCM_CONTROL(unit)->unit,
   9827 			port,
   9828 			vlan);
   9829 }
   9830 
   9831 int
   9832 bcm_loop_fcmap_vlan_map_get(
   9833 	int	unit,
   9834 	bcm_port_t	port,
   9835 	bcm_fcmap_vlan_vsan_map_t *	vlan)
   9836 {
   9837 	return bcm_fcmap_vlan_map_get(
   9838 			BCM_CONTROL(unit)->unit,
   9839 			port,
   9840 			vlan);
   9841 }
   9842 
   9843 #endif	/* INCLUDE_FCMAP */
   9844 
   9845 int
   9846 bcm_loop_fcoe_cleanup(
   9847 	int	unit)
   9848 {
   9849 	return bcm_fcoe_cleanup(
   9850 			BCM_CONTROL(unit)->unit);
   9851 }
   9852 
   9853 int
   9854 bcm_loop_fcoe_control_vsan_get(
   9855 	int	unit,
   9856 	bcm_fcoe_vsan_id_t	vsan_id,
   9857 	bcm_fcoe_vsan_control_t	type,
   9858 	int *	arg)
   9859 {
   9860 	return bcm_fcoe_control_vsan_get(
   9861 			BCM_CONTROL(unit)->unit,
   9862 			vsan_id,
   9863 			type,
   9864 			arg);
   9865 }
   9866 
   9867 int
   9868 bcm_loop_fcoe_control_vsan_set(
   9869 	int	unit,
   9870 	bcm_fcoe_vsan_id_t	vsan_id,
   9871 	bcm_fcoe_vsan_control_t	type,
   9872 	int	arg)
   9873 {
   9874 	return bcm_fcoe_control_vsan_set(
   9875 			BCM_CONTROL(unit)->unit,
   9876 			vsan_id,
   9877 			type,
   9878 			arg);
   9879 }
   9880 
   9881 int
   9882 bcm_loop_fcoe_enable_set(
   9883 	int	unit)
   9884 {
   9885 	return bcm_fcoe_enable_set(
   9886 			BCM_CONTROL(unit)->unit);
   9887 }
   9888 
   9889 int
   9890 bcm_loop_fcoe_fc_header_type_get(
   9891 	int	unit,
   9892 	uint32	flags,
   9893 	uint8	r_ctl,
   9894 	bcm_fcoe_fc_header_type_t *	hdr_type)
   9895 {
   9896 	return bcm_fcoe_fc_header_type_get(
   9897 			BCM_CONTROL(unit)->unit,
   9898 			flags,
   9899 			r_ctl,
   9900 			hdr_type);
   9901 }
   9902 
   9903 int
   9904 bcm_loop_fcoe_fc_header_type_set(
   9905 	int	unit,
   9906 	uint32	flags,
   9907 	uint8	r_ctl,
   9908 	bcm_fcoe_fc_header_type_t	hdr_type)
   9909 {
   9910 	return bcm_fcoe_fc_header_type_set(
   9911 			BCM_CONTROL(unit)->unit,
   9912 			flags,
   9913 			r_ctl,
   9914 			hdr_type);
   9915 }
   9916 
   9917 int
   9918 bcm_loop_fcoe_init(
   9919 	int	unit)
   9920 {
   9921 	return bcm_fcoe_init(
   9922 			BCM_CONTROL(unit)->unit);
   9923 }
   9924 
   9925 int
   9926 bcm_loop_fcoe_intf_config_get(
   9927 	int	unit,
   9928 	uint32	flags,
   9929 	bcm_if_t	intf,
   9930 	bcm_fcoe_intf_config_t *	cfg)
   9931 {
   9932 	return bcm_fcoe_intf_config_get(
   9933 			BCM_CONTROL(unit)->unit,
   9934 			flags,
   9935 			intf,
   9936 			cfg);
   9937 }
   9938 
   9939 int
   9940 bcm_loop_fcoe_intf_config_set(
   9941 	int	unit,
   9942 	uint32	flags,
   9943 	bcm_if_t	intf,
   9944 	bcm_fcoe_intf_config_t *	cfg)
   9945 {
   9946 	return bcm_fcoe_intf_config_set(
   9947 			BCM_CONTROL(unit)->unit,
   9948 			flags,
   9949 			intf,
   9950 			cfg);
   9951 }
   9952 
   9953 /* bcm_fcoe_intf_config_t_init not dispatchable */
   9954 
   9955 int
   9956 bcm_loop_fcoe_route_add(
   9957 	int	unit,
   9958 	bcm_fcoe_route_t *	route)
   9959 {
   9960 	return bcm_fcoe_route_add(
   9961 			BCM_CONTROL(unit)->unit,
   9962 			route);
   9963 }
   9964 
   9965 int
   9966 bcm_loop_fcoe_route_delete(
   9967 	int	unit,
   9968 	bcm_fcoe_route_t *	route)
   9969 {
   9970 	return bcm_fcoe_route_delete(
   9971 			BCM_CONTROL(unit)->unit,
   9972 			route);
   9973 }
   9974 
   9975 int
   9976 bcm_loop_fcoe_route_delete_all(
   9977 	int	unit)
   9978 {
   9979 	return bcm_fcoe_route_delete_all(
   9980 			BCM_CONTROL(unit)->unit);
   9981 }
   9982 
   9983 int
   9984 bcm_loop_fcoe_route_delete_by_interface(
   9985 	int	unit,
   9986 	bcm_fcoe_route_t *	route)
   9987 {
   9988 	return bcm_fcoe_route_delete_by_interface(
   9989 			BCM_CONTROL(unit)->unit,
   9990 			route);
   9991 }
   9992 
   9993 int
   9994 bcm_loop_fcoe_route_delete_by_prefix(
   9995 	int	unit,
   9996 	bcm_fcoe_route_t *	route)
   9997 {
   9998 	return bcm_fcoe_route_delete_by_prefix(
   9999 			BCM_CONTROL(unit)->unit,
  10000 			route);
  10001 }
  10002 
  10003 int
  10004 bcm_loop_fcoe_route_find(
  10005 	int	unit,
  10006 	bcm_fcoe_route_t *	route)
  10007 {
  10008 	return bcm_fcoe_route_find(
  10009 			BCM_CONTROL(unit)->unit,
  10010 			route);
  10011 }
  10012 
  10013 int
  10014 bcm_loop_fcoe_route_stat_attach(
  10015 	int	unit,
  10016 	bcm_fcoe_route_t *	route,
  10017 	uint32	stat_counter_id)
  10018 {
  10019 	return bcm_fcoe_route_stat_attach(
  10020 			BCM_CONTROL(unit)->unit,
  10021 			route,
  10022 			stat_counter_id);
  10023 }
  10024 
  10025 int
  10026 bcm_loop_fcoe_route_stat_counter_get(
  10027 	int	unit,
  10028 	bcm_fcoe_route_t *	route,
  10029 	bcm_fcoe_route_stat_t	stat,
  10030 	uint32	num_entries,
  10031 	uint32 *	counter_indexes,
  10032 	bcm_stat_value_t *	counter_values)
  10033 {
  10034 	return bcm_fcoe_route_stat_counter_get(
  10035 			BCM_CONTROL(unit)->unit,
  10036 			route,
  10037 			stat,
  10038 			num_entries,
  10039 			counter_indexes,
  10040 			counter_values);
  10041 }
  10042 
  10043 int
  10044 bcm_loop_fcoe_route_stat_counter_set(
  10045 	int	unit,
  10046 	bcm_fcoe_route_t *	route,
  10047 	bcm_fcoe_route_stat_t	stat,
  10048 	uint32	num_entries,
  10049 	uint32 *	counter_indexes,
  10050 	bcm_stat_value_t *	counter_values)
  10051 {
  10052 	return bcm_fcoe_route_stat_counter_set(
  10053 			BCM_CONTROL(unit)->unit,
  10054 			route,
  10055 			stat,
  10056 			num_entries,
  10057 			counter_indexes,
  10058 			counter_values);
  10059 }
  10060 
  10061 int
  10062 bcm_loop_fcoe_route_stat_counter_sync_get(
  10063 	int	unit,
  10064 	bcm_fcoe_route_t *	route,
  10065 	bcm_fcoe_route_stat_t	stat,
  10066 	uint32	num_entries,
  10067 	uint32 *	counter_indexes,
  10068 	bcm_stat_value_t *	counter_values)
  10069 {
  10070 	return bcm_fcoe_route_stat_counter_sync_get(
  10071 			BCM_CONTROL(unit)->unit,
  10072 			route,
  10073 			stat,
  10074 			num_entries,
  10075 			counter_indexes,
  10076 			counter_values);
  10077 }
  10078 
  10079 int
  10080 bcm_loop_fcoe_route_stat_detach(
  10081 	int	unit,
  10082 	bcm_fcoe_route_t *	route)
  10083 {
  10084 	return bcm_fcoe_route_stat_detach(
  10085 			BCM_CONTROL(unit)->unit,
  10086 			route);
  10087 }
  10088 
  10089 int
  10090 bcm_loop_fcoe_route_stat_id_get(
  10091 	int	unit,
  10092 	bcm_fcoe_route_t *	route,
  10093 	bcm_fcoe_route_stat_t	stat,
  10094 	uint32 *	stat_counter_id)
  10095 {
  10096 	return bcm_fcoe_route_stat_id_get(
  10097 			BCM_CONTROL(unit)->unit,
  10098 			route,
  10099 			stat,
  10100 			stat_counter_id);
  10101 }
  10102 
  10103 /* bcm_fcoe_route_t_init not dispatchable */
  10104 
  10105 int
  10106 bcm_loop_fcoe_route_traverse(
  10107 	int	unit,
  10108 	uint32	flags,
  10109 	bcm_fcoe_route_traverse_cb	trav_fn,
  10110 	void *	user_data)
  10111 {
  10112 	return bcm_fcoe_route_traverse(
  10113 			BCM_CONTROL(unit)->unit,
  10114 			flags,
  10115 			trav_fn,
  10116 			user_data);
  10117 }
  10118 
  10119 /* bcm_fcoe_vsan_action_set_t_init not dispatchable */
  10120 
  10121 int
  10122 bcm_loop_fcoe_vsan_create(
  10123 	int	unit,
  10124 	uint32	options,
  10125 	bcm_fcoe_vsan_t *	vsan,
  10126 	bcm_fcoe_vsan_id_t *	vsan_id)
  10127 {
  10128 	return bcm_fcoe_vsan_create(
  10129 			BCM_CONTROL(unit)->unit,
  10130 			options,
  10131 			vsan,
  10132 			vsan_id);
  10133 }
  10134 
  10135 int
  10136 bcm_loop_fcoe_vsan_destroy(
  10137 	int	unit,
  10138 	bcm_fcoe_vsan_id_t	vsan_id)
  10139 {
  10140 	return bcm_fcoe_vsan_destroy(
  10141 			BCM_CONTROL(unit)->unit,
  10142 			vsan_id);
  10143 }
  10144 
  10145 int
  10146 bcm_loop_fcoe_vsan_destroy_all(
  10147 	int	unit)
  10148 {
  10149 	return bcm_fcoe_vsan_destroy_all(
  10150 			BCM_CONTROL(unit)->unit);
  10151 }
  10152 
  10153 int
  10154 bcm_loop_fcoe_vsan_get(
  10155 	int	unit,
  10156 	bcm_fcoe_vsan_id_t	vsan_id,
  10157 	bcm_fcoe_vsan_t *	vsan)
  10158 {
  10159 	return bcm_fcoe_vsan_get(
  10160 			BCM_CONTROL(unit)->unit,
  10161 			vsan_id,
  10162 			vsan);
  10163 }
  10164 
  10165 int
  10166 bcm_loop_fcoe_vsan_set(
  10167 	int	unit,
  10168 	bcm_fcoe_vsan_id_t	vsan_id,
  10169 	bcm_fcoe_vsan_t *	vsan)
  10170 {
  10171 	return bcm_fcoe_vsan_set(
  10172 			BCM_CONTROL(unit)->unit,
  10173 			vsan_id,
  10174 			vsan);
  10175 }
  10176 
  10177 int
  10178 bcm_loop_fcoe_vsan_stat_attach(
  10179 	int	unit,
  10180 	bcm_fcoe_vsan_id_t	vsan,
  10181 	uint32	stat_counter_id)
  10182 {
  10183 	return bcm_fcoe_vsan_stat_attach(
  10184 			BCM_CONTROL(unit)->unit,
  10185 			vsan,
  10186 			stat_counter_id);
  10187 }
  10188 
  10189 int
  10190 bcm_loop_fcoe_vsan_stat_counter_get(
  10191 	int	unit,
  10192 	bcm_fcoe_vsan_id_t	vsan,
  10193 	bcm_fcoe_vsan_stat_t	stat,
  10194 	uint32	num_entries,
  10195 	uint32 *	counter_indexes,
  10196 	bcm_stat_value_t *	counter_values)
  10197 {
  10198 	return bcm_fcoe_vsan_stat_counter_get(
  10199 			BCM_CONTROL(unit)->unit,
  10200 			vsan,
  10201 			stat,
  10202 			num_entries,
  10203 			counter_indexes,
  10204 			counter_values);
  10205 }
  10206 
  10207 int
  10208 bcm_loop_fcoe_vsan_stat_counter_set(
  10209 	int	unit,
  10210 	bcm_fcoe_vsan_id_t	vsan,
  10211 	bcm_fcoe_vsan_stat_t	stat,
  10212 	uint32	num_entries,
  10213 	uint32 *	counter_indexes,
  10214 	bcm_stat_value_t *	counter_values)
  10215 {
  10216 	return bcm_fcoe_vsan_stat_counter_set(
  10217 			BCM_CONTROL(unit)->unit,
  10218 			vsan,
  10219 			stat,
  10220 			num_entries,
  10221 			counter_indexes,
  10222 			counter_values);
  10223 }
  10224 
  10225 int
  10226 bcm_loop_fcoe_vsan_stat_counter_sync_get(
  10227 	int	unit,
  10228 	bcm_fcoe_vsan_id_t	vsan,
  10229 	bcm_fcoe_vsan_stat_t	stat,
  10230 	uint32	num_entries,
  10231 	uint32 *	counter_indexes,
  10232 	bcm_stat_value_t *	counter_values)
  10233 {
  10234 	return bcm_fcoe_vsan_stat_counter_sync_get(
  10235 			BCM_CONTROL(unit)->unit,
  10236 			vsan,
  10237 			stat,
  10238 			num_entries,
  10239 			counter_indexes,
  10240 			counter_values);
  10241 }
  10242 
  10243 int
  10244 bcm_loop_fcoe_vsan_stat_detach(
  10245 	int	unit,
  10246 	bcm_fcoe_vsan_id_t	vsan)
  10247 {
  10248 	return bcm_fcoe_vsan_stat_detach(
  10249 			BCM_CONTROL(unit)->unit,
  10250 			vsan);
  10251 }
  10252 
  10253 int
  10254 bcm_loop_fcoe_vsan_stat_id_get(
  10255 	int	unit,
  10256 	bcm_fcoe_vsan_id_t	vsan,
  10257 	bcm_fcoe_vsan_stat_t	stat,
  10258 	uint32 *	stat_counter_id)
  10259 {
  10260 	return bcm_fcoe_vsan_stat_id_get(
  10261 			BCM_CONTROL(unit)->unit,
  10262 			vsan,
  10263 			stat,
  10264 			stat_counter_id);
  10265 }
  10266 
  10267 /* bcm_fcoe_vsan_t_init not dispatchable */
  10268 
  10269 int
  10270 bcm_loop_fcoe_vsan_translate_action_add(
  10271 	int	unit,
  10272 	bcm_fcoe_vsan_translate_key_config_t *	key,
  10273 	bcm_fcoe_vsan_action_set_t *	action)
  10274 {
  10275 	return bcm_fcoe_vsan_translate_action_add(
  10276 			BCM_CONTROL(unit)->unit,
  10277 			key,
  10278 			action);
  10279 }
  10280 
  10281 int
  10282 bcm_loop_fcoe_vsan_translate_action_delete(
  10283 	int	unit,
  10284 	bcm_fcoe_vsan_translate_key_config_t *	key)
  10285 {
  10286 	return bcm_fcoe_vsan_translate_action_delete(
  10287 			BCM_CONTROL(unit)->unit,
  10288 			key);
  10289 }
  10290 
  10291 /* bcm_fcoe_vsan_translate_key_config_t_init not dispatchable */
  10292 
  10293 int
  10294 bcm_loop_fcoe_vsan_traverse(
  10295 	int	unit,
  10296 	uint32	flags,
  10297 	bcm_fcoe_vsan_traverse_cb	trav_fn,
  10298 	void *	user_data)
  10299 {
  10300 	return bcm_fcoe_vsan_traverse(
  10301 			BCM_CONTROL(unit)->unit,
  10302 			flags,
  10303 			trav_fn,
  10304 			user_data);
  10305 }
  10306 
  10307 /* bcm_fcoe_vsan_vft_t_init not dispatchable */
  10308 
  10309 int
  10310 bcm_loop_fcoe_zone_add(
  10311 	int	unit,
  10312 	bcm_fcoe_zone_entry_t *	zone)
  10313 {
  10314 	return bcm_fcoe_zone_add(
  10315 			BCM_CONTROL(unit)->unit,
  10316 			zone);
  10317 }
  10318 
  10319 int
  10320 bcm_loop_fcoe_zone_delete(
  10321 	int	unit,
  10322 	bcm_fcoe_zone_entry_t *	zone)
  10323 {
  10324 	return bcm_fcoe_zone_delete(
  10325 			BCM_CONTROL(unit)->unit,
  10326 			zone);
  10327 }
  10328 
  10329 int
  10330 bcm_loop_fcoe_zone_delete_all(
  10331 	int	unit)
  10332 {
  10333 	return bcm_fcoe_zone_delete_all(
  10334 			BCM_CONTROL(unit)->unit);
  10335 }
  10336 
  10337 int
  10338 bcm_loop_fcoe_zone_delete_by_did(
  10339 	int	unit,
  10340 	bcm_fcoe_zone_entry_t *	zone)
  10341 {
  10342 	return bcm_fcoe_zone_delete_by_did(
  10343 			BCM_CONTROL(unit)->unit,
  10344 			zone);
  10345 }
  10346 
  10347 int
  10348 bcm_loop_fcoe_zone_delete_by_sid(
  10349 	int	unit,
  10350 	bcm_fcoe_zone_entry_t *	zone)
  10351 {
  10352 	return bcm_fcoe_zone_delete_by_sid(
  10353 			BCM_CONTROL(unit)->unit,
  10354 			zone);
  10355 }
  10356 
  10357 int
  10358 bcm_loop_fcoe_zone_delete_by_vsan(
  10359 	int	unit,
  10360 	bcm_fcoe_zone_entry_t *	zone)
  10361 {
  10362 	return bcm_fcoe_zone_delete_by_vsan(
  10363 			BCM_CONTROL(unit)->unit,
  10364 			zone);
  10365 }
  10366 
  10367 /* bcm_fcoe_zone_entry_t_init not dispatchable */
  10368 
  10369 int
  10370 bcm_loop_fcoe_zone_get(
  10371 	int	unit,
  10372 	bcm_fcoe_zone_entry_t *	zone)
  10373 {
  10374 	return bcm_fcoe_zone_get(
  10375 			BCM_CONTROL(unit)->unit,
  10376 			zone);
  10377 }
  10378 
  10379 int
  10380 bcm_loop_fcoe_zone_traverse(
  10381 	int	unit,
  10382 	uint32	flags,
  10383 	bcm_fcoe_zone_traverse_cb	trav_fn,
  10384 	void *	user_data)
  10385 {
  10386 	return bcm_fcoe_zone_traverse(
  10387 			BCM_CONTROL(unit)->unit,
  10388 			flags,
  10389 			trav_fn,
  10390 			user_data);
  10391 }
  10392 
  10393 int
  10394 bcm_loop_field_ace_entry_add(
  10395 	int	unit,
  10396 	uint32	flags,
  10397 	bcm_field_ace_format_t	ace_format_id,
  10398 	bcm_field_ace_entry_info_t *	entry_info,
  10399 	uint32 *	entry_handle)
  10400 {
  10401 	return bcm_field_ace_entry_add(
  10402 			BCM_CONTROL(unit)->unit,
  10403 			flags,
  10404 			ace_format_id,
  10405 			entry_info,
  10406 			entry_handle);
  10407 }
  10408 
  10409 int
  10410 bcm_loop_field_ace_entry_delete(
  10411 	int	unit,
  10412 	uint32	entry_handle)
  10413 {
  10414 	return bcm_field_ace_entry_delete(
  10415 			BCM_CONTROL(unit)->unit,
  10416 			entry_handle);
  10417 }
  10418 
  10419 int
  10420 bcm_loop_field_ace_entry_info_get(
  10421 	int	unit,
  10422 	uint32	entry_handle,
  10423 	bcm_field_ace_entry_info_t *	entry_info)
  10424 {
  10425 	return bcm_field_ace_entry_info_get(
  10426 			BCM_CONTROL(unit)->unit,
  10427 			entry_handle,
  10428 			entry_info);
  10429 }
  10430 
  10431 /* bcm_field_ace_entry_info_t_init not dispatchable */
  10432 
  10433 int
  10434 bcm_loop_field_ace_format_add(
  10435 	int	unit,
  10436 	uint32	flags,
  10437 	bcm_field_ace_format_info_t *	ace_format_info,
  10438 	bcm_field_ace_format_t *	ace_format_id)
  10439 {
  10440 	return bcm_field_ace_format_add(
  10441 			BCM_CONTROL(unit)->unit,
  10442 			flags,
  10443 			ace_format_info,
  10444 			ace_format_id);
  10445 }
  10446 
  10447 int
  10448 bcm_loop_field_ace_format_delete(
  10449 	int	unit,
  10450 	bcm_field_ace_format_t	ace_format_id)
  10451 {
  10452 	return bcm_field_ace_format_delete(
  10453 			BCM_CONTROL(unit)->unit,
  10454 			ace_format_id);
  10455 }
  10456 
  10457 int
  10458 bcm_loop_field_ace_format_info_get(
  10459 	int	unit,
  10460 	bcm_field_ace_format_t	ace_format_id,
  10461 	bcm_field_ace_format_info_t *	ace_format_info)
  10462 {
  10463 	return bcm_field_ace_format_info_get(
  10464 			BCM_CONTROL(unit)->unit,
  10465 			ace_format_id,
  10466 			ace_format_info);
  10467 }
  10468 
  10469 /* bcm_field_ace_format_info_t_init not dispatchable */
  10470 
  10471 int
  10472 bcm_loop_field_action_add(
  10473 	int	unit,
  10474 	bcm_field_entry_t	entry,
  10475 	bcm_field_action_t	action,
  10476 	uint32	param0,
  10477 	uint32	param1)
  10478 {
  10479 	return bcm_field_action_add(
  10480 			BCM_CONTROL(unit)->unit,
  10481 			entry,
  10482 			action,
  10483 			param0,
  10484 			param1);
  10485 }
  10486 
  10487 int
  10488 bcm_loop_field_action_class_add(
  10489 	int	unit,
  10490 	bcm_field_entry_t	entry,
  10491 	bcm_field_class_info_t *	class_info)
  10492 {
  10493 	return bcm_field_action_class_add(
  10494 			BCM_CONTROL(unit)->unit,
  10495 			entry,
  10496 			class_info);
  10497 }
  10498 
  10499 int
  10500 bcm_loop_field_action_class_get(
  10501 	int	unit,
  10502 	bcm_field_entry_t	entry,
  10503 	bcm_field_class_info_t *	class_info)
  10504 {
  10505 	return bcm_field_action_class_get(
  10506 			BCM_CONTROL(unit)->unit,
  10507 			entry,
  10508 			class_info);
  10509 }
  10510 
  10511 int
  10512 bcm_loop_field_action_config_add(
  10513 	int	unit,
  10514 	bcm_field_entry_t	entry,
  10515 	bcm_field_action_t	action,
  10516 	int	core_config_arr_len,
  10517 	bcm_field_action_core_config_t *	core_config_arr)
  10518 {
  10519 	return bcm_field_action_config_add(
  10520 			BCM_CONTROL(unit)->unit,
  10521 			entry,
  10522 			action,
  10523 			core_config_arr_len,
  10524 			core_config_arr);
  10525 }
  10526 
  10527 int
  10528 bcm_loop_field_action_config_get(
  10529 	int	unit,
  10530 	bcm_field_entry_t	entry,
  10531 	bcm_field_action_t	action,
  10532 	int	core_config_arr_len,
  10533 	bcm_field_action_core_config_t *	core_config_arr)
  10534 {
  10535 	return bcm_field_action_config_get(
  10536 			BCM_CONTROL(unit)->unit,
  10537 			entry,
  10538 			action,
  10539 			core_config_arr_len,
  10540 			core_config_arr);
  10541 }
  10542 
  10543 int
  10544 bcm_loop_field_action_config_info_add(
  10545 	int	unit,
  10546 	bcm_field_entry_t	entry,
  10547 	bcm_field_action_t	action,
  10548 	bcm_field_action_params_t *	params,
  10549 	bcm_field_action_match_config_t *	match_config)
  10550 {
  10551 	return bcm_field_action_config_info_add(
  10552 			BCM_CONTROL(unit)->unit,
  10553 			entry,
  10554 			action,
  10555 			params,
  10556 			match_config);
  10557 }
  10558 
  10559 int
  10560 bcm_loop_field_action_config_info_get(
  10561 	int	unit,
  10562 	bcm_field_entry_t	entry,
  10563 	bcm_field_action_t	action,
  10564 	bcm_field_action_params_t *	params,
  10565 	bcm_field_action_match_config_t *	match_config)
  10566 {
  10567 	return bcm_field_action_config_info_get(
  10568 			BCM_CONTROL(unit)->unit,
  10569 			entry,
  10570 			action,
  10571 			params,
  10572 			match_config);
  10573 }
  10574 
  10575 int
  10576 bcm_loop_field_action_copytocpu_config_get(
  10577 	int	unit,
  10578 	bcm_field_entry_t	entry,
  10579 	bcm_field_CopyToCpu_config_t *	CopyToCpu_config)
  10580 {
  10581 	return bcm_field_action_copytocpu_config_get(
  10582 			BCM_CONTROL(unit)->unit,
  10583 			entry,
  10584 			CopyToCpu_config);
  10585 }
  10586 
  10587 int
  10588 bcm_loop_field_action_copytocpu_config_set(
  10589 	int	unit,
  10590 	bcm_field_entry_t	entry,
  10591 	bcm_field_CopyToCpu_config_t	CopyToCpu_config)
  10592 {
  10593 	return bcm_field_action_copytocpu_config_set(
  10594 			BCM_CONTROL(unit)->unit,
  10595 			entry,
  10596 			CopyToCpu_config);
  10597 }
  10598 
  10599 int
  10600 bcm_loop_field_action_create(
  10601 	int	unit,
  10602 	uint32	flags,
  10603 	bcm_field_action_info_t *	action_info,
  10604 	bcm_field_action_t *	action_id)
  10605 {
  10606 	return bcm_field_action_create(
  10607 			BCM_CONTROL(unit)->unit,
  10608 			flags,
  10609 			action_info,
  10610 			action_id);
  10611 }
  10612 
  10613 int
  10614 bcm_loop_field_action_delete(
  10615 	int	unit,
  10616 	bcm_field_entry_t	entry,
  10617 	bcm_field_action_t	action,
  10618 	uint32	param0,
  10619 	uint32	param1)
  10620 {
  10621 	return bcm_field_action_delete(
  10622 			BCM_CONTROL(unit)->unit,
  10623 			entry,
  10624 			action,
  10625 			param0,
  10626 			param1);
  10627 }
  10628 
  10629 int
  10630 bcm_loop_field_action_destroy(
  10631 	int	unit,
  10632 	bcm_field_action_t	action_id)
  10633 {
  10634 	return bcm_field_action_destroy(
  10635 			BCM_CONTROL(unit)->unit,
  10636 			action_id);
  10637 }
  10638 
  10639 int
  10640 bcm_loop_field_action_get(
  10641 	int	unit,
  10642 	bcm_field_entry_t	entry,
  10643 	bcm_field_action_t	action,
  10644 	uint32 *	param0,
  10645 	uint32 *	param1)
  10646 {
  10647 	return bcm_field_action_get(
  10648 			BCM_CONTROL(unit)->unit,
  10649 			entry,
  10650 			action,
  10651 			param0,
  10652 			param1);
  10653 }
  10654 
  10655 int
  10656 bcm_loop_field_action_info_get(
  10657 	int	unit,
  10658 	bcm_field_action_t	action_id,
  10659 	bcm_field_stage_t	stage,
  10660 	bcm_field_action_info_t *	action_info)
  10661 {
  10662 	return bcm_field_action_info_get(
  10663 			BCM_CONTROL(unit)->unit,
  10664 			action_id,
  10665 			stage,
  10666 			action_info);
  10667 }
  10668 
  10669 /* bcm_field_action_info_t_init not dispatchable */
  10670 
  10671 int
  10672 bcm_loop_field_action_mac_add(
  10673 	int	unit,
  10674 	bcm_field_entry_t	entry,
  10675 	bcm_field_action_t	action,
  10676 	bcm_mac_t	mac)
  10677 {
  10678 	return bcm_field_action_mac_add(
  10679 			BCM_CONTROL(unit)->unit,
  10680 			entry,
  10681 			action,
  10682 			mac);
  10683 }
  10684 
  10685 int
  10686 bcm_loop_field_action_mac_get(
  10687 	int	unit,
  10688 	bcm_field_entry_t	entry,
  10689 	bcm_field_action_t	action,
  10690 	bcm_mac_t *	mac)
  10691 {
  10692 	return bcm_field_action_mac_get(
  10693 			BCM_CONTROL(unit)->unit,
  10694 			entry,
  10695 			action,
  10696 			mac);
  10697 }
  10698 
  10699 int
  10700 bcm_loop_field_action_ports_add(
  10701 	int	unit,
  10702 	bcm_field_entry_t	entry,
  10703 	bcm_field_action_t	action,
  10704 	bcm_pbmp_t	pbmp)
  10705 {
  10706 	return bcm_field_action_ports_add(
  10707 			BCM_CONTROL(unit)->unit,
  10708 			entry,
  10709 			action,
  10710 			pbmp);
  10711 }
  10712 
  10713 int
  10714 bcm_loop_field_action_ports_get(
  10715 	int	unit,
  10716 	bcm_field_entry_t	entry,
  10717 	bcm_field_action_t	action,
  10718 	bcm_pbmp_t *	pbmp)
  10719 {
  10720 	return bcm_field_action_ports_get(
  10721 			BCM_CONTROL(unit)->unit,
  10722 			entry,
  10723 			action,
  10724 			pbmp);
  10725 }
  10726 
  10727 int
  10728 bcm_loop_field_action_redirect_config_get(
  10729 	int	unit,
  10730 	bcm_field_entry_t	entry,
  10731 	bcm_field_redirect_config_t *	redirect_config)
  10732 {
  10733 	return bcm_field_action_redirect_config_get(
  10734 			BCM_CONTROL(unit)->unit,
  10735 			entry,
  10736 			redirect_config);
  10737 }
  10738 
  10739 int
  10740 bcm_loop_field_action_redirect_config_set(
  10741 	int	unit,
  10742 	bcm_field_entry_t	entry,
  10743 	bcm_field_redirect_config_t	redirect_config)
  10744 {
  10745 	return bcm_field_action_redirect_config_set(
  10746 			BCM_CONTROL(unit)->unit,
  10747 			entry,
  10748 			redirect_config);
  10749 }
  10750 
  10751 int
  10752 bcm_loop_field_action_remove(
  10753 	int	unit,
  10754 	bcm_field_entry_t	entry,
  10755 	bcm_field_action_t	action)
  10756 {
  10757 	return bcm_field_action_remove(
  10758 			BCM_CONTROL(unit)->unit,
  10759 			entry,
  10760 			action);
  10761 }
  10762 
  10763 int
  10764 bcm_loop_field_action_remove_all(
  10765 	int	unit,
  10766 	bcm_field_entry_t	entry)
  10767 {
  10768 	return bcm_field_action_remove_all(
  10769 			BCM_CONTROL(unit)->unit,
  10770 			entry);
  10771 }
  10772 
  10773 int
  10774 bcm_loop_field_action_value_map(
  10775 	int	unit,
  10776 	bcm_field_stage_t	stage,
  10777 	bcm_field_action_t	bcm_action,
  10778 	uint32	bcm_value[BCM_FIELD_ACTION_WIDTH_IN_WORDS],
  10779 	uint32	hw_value[BCM_FIELD_ACTION_WIDTH_IN_WORDS])
  10780 {
  10781 	return bcm_field_action_value_map(
  10782 			BCM_CONTROL(unit)->unit,
  10783 			stage,
  10784 			bcm_action,
  10785 			bcm_value,
  10786 			hw_value);
  10787 }
  10788 
  10789 int
  10790 bcm_loop_field_action_vlan_actions_add(
  10791 	int	unit,
  10792 	bcm_field_entry_t	entry,
  10793 	bcm_field_action_t	action,
  10794 	bcm_vlan_action_set_t *	vlan_action_set)
  10795 {
  10796 	return bcm_field_action_vlan_actions_add(
  10797 			BCM_CONTROL(unit)->unit,
  10798 			entry,
  10799 			action,
  10800 			vlan_action_set);
  10801 }
  10802 
  10803 int
  10804 bcm_loop_field_action_vlan_actions_get(
  10805 	int	unit,
  10806 	bcm_field_entry_t	entry,
  10807 	bcm_field_action_t	action,
  10808 	bcm_vlan_action_set_t *	vlan_action_set)
  10809 {
  10810 	return bcm_field_action_vlan_actions_get(
  10811 			BCM_CONTROL(unit)->unit,
  10812 			entry,
  10813 			action,
  10814 			vlan_action_set);
  10815 }
  10816 
  10817 int
  10818 bcm_loop_field_action_width_get(
  10819 	int	unit,
  10820 	uint32	flags,
  10821 	int	internal_action,
  10822 	uint32 *	width_p)
  10823 {
  10824 	return bcm_field_action_width_get(
  10825 			BCM_CONTROL(unit)->unit,
  10826 			flags,
  10827 			internal_action,
  10828 			width_p);
  10829 }
  10830 
  10831 int
  10832 bcm_loop_field_action_width_set(
  10833 	int	unit,
  10834 	uint32	flags,
  10835 	int	internal_action,
  10836 	uint32	width)
  10837 {
  10838 	return bcm_field_action_width_set(
  10839 			BCM_CONTROL(unit)->unit,
  10840 			flags,
  10841 			internal_action,
  10842 			width);
  10843 }
  10844 
  10845 /* bcm_field_aset_t_init not dispatchable */
  10846 
  10847 /* bcm_field_class_info_t_init not dispatchable */
  10848 
  10849 int
  10850 bcm_loop_field_class_map_get(
  10851 	int	unit,
  10852 	bcm_field_stage_t	stage,
  10853 	bcm_field_qualify_t	qual,
  10854 	uint32	num_entries,
  10855 	uint32 *	orig_values_array,
  10856 	uint32 *	map_values_array)
  10857 {
  10858 	return bcm_field_class_map_get(
  10859 			BCM_CONTROL(unit)->unit,
  10860 			stage,
  10861 			qual,
  10862 			num_entries,
  10863 			orig_values_array,
  10864 			map_values_array);
  10865 }
  10866 
  10867 int
  10868 bcm_loop_field_class_map_set(
  10869 	int	unit,
  10870 	bcm_field_stage_t	stage,
  10871 	bcm_field_qualify_t	qual,
  10872 	uint32	num_entries,
  10873 	uint32 *	orig_values_array,
  10874 	uint32 *	map_values_array)
  10875 {
  10876 	return bcm_field_class_map_set(
  10877 			BCM_CONTROL(unit)->unit,
  10878 			stage,
  10879 			qual,
  10880 			num_entries,
  10881 			orig_values_array,
  10882 			map_values_array);
  10883 }
  10884 
  10885 int
  10886 bcm_loop_field_class_size_get(
  10887 	int	unit,
  10888 	bcm_field_qualify_t	qual,
  10889 	uint16 *	class_size)
  10890 {
  10891 	return bcm_field_class_size_get(
  10892 			BCM_CONTROL(unit)->unit,
  10893 			qual,
  10894 			class_size);
  10895 }
  10896 
  10897 int
  10898 bcm_loop_field_compare_operand_offset_get(
  10899 	int	unit,
  10900 	int	pair_id,
  10901 	bcm_field_compare_operand_t	compare_operand,
  10902 	int *	offset)
  10903 {
  10904 	return bcm_field_compare_operand_offset_get(
  10905 			BCM_CONTROL(unit)->unit,
  10906 			pair_id,
  10907 			compare_operand,
  10908 			offset);
  10909 }
  10910 
  10911 int
  10912 bcm_loop_field_context_compare_create(
  10913 	int	unit,
  10914 	uint32	flags,
  10915 	bcm_field_stage_t	stage,
  10916 	bcm_field_context_t	context_id,
  10917 	uint32	pair_id,
  10918 	bcm_field_context_compare_info_t *	cmp_info)
  10919 {
  10920 	return bcm_field_context_compare_create(
  10921 			BCM_CONTROL(unit)->unit,
  10922 			flags,
  10923 			stage,
  10924 			context_id,
  10925 			pair_id,
  10926 			cmp_info);
  10927 }
  10928 
  10929 int
  10930 bcm_loop_field_context_compare_destroy(
  10931 	int	unit,
  10932 	bcm_field_stage_t	stage,
  10933 	bcm_field_context_t	context_id,
  10934 	uint32	pair_id)
  10935 {
  10936 	return bcm_field_context_compare_destroy(
  10937 			BCM_CONTROL(unit)->unit,
  10938 			stage,
  10939 			context_id,
  10940 			pair_id);
  10941 }
  10942 
  10943 int
  10944 bcm_loop_field_context_compare_info_get(
  10945 	int	unit,
  10946 	bcm_field_stage_t	stage,
  10947 	bcm_field_context_t	context_id,
  10948 	uint32	pair_id,
  10949 	bcm_field_context_compare_info_t *	cmp_info)
  10950 {
  10951 	return bcm_field_context_compare_info_get(
  10952 			BCM_CONTROL(unit)->unit,
  10953 			stage,
  10954 			context_id,
  10955 			pair_id,
  10956 			cmp_info);
  10957 }
  10958 
  10959 /* bcm_field_context_compare_info_t_init not dispatchable */
  10960 
  10961 int
  10962 bcm_loop_field_context_create(
  10963 	int	unit,
  10964 	uint32	flags,
  10965 	bcm_field_stage_t	stage,
  10966 	bcm_field_context_info_t *	context_info,
  10967 	bcm_field_context_t *	context_id)
  10968 {
  10969 	return bcm_field_context_create(
  10970 			BCM_CONTROL(unit)->unit,
  10971 			flags,
  10972 			stage,
  10973 			context_info,
  10974 			context_id);
  10975 }
  10976 
  10977 int
  10978 bcm_loop_field_context_destroy(
  10979 	int	unit,
  10980 	bcm_field_stage_t	stage,
  10981 	bcm_field_context_t	context_id)
  10982 {
  10983 	return bcm_field_context_destroy(
  10984 			BCM_CONTROL(unit)->unit,
  10985 			stage,
  10986 			context_id);
  10987 }
  10988 
  10989 int
  10990 bcm_loop_field_context_hash_create(
  10991 	int	unit,
  10992 	uint32	flags,
  10993 	bcm_field_stage_t	stage,
  10994 	bcm_field_context_t	context_id,
  10995 	bcm_field_context_hash_info_t *	hash_info)
  10996 {
  10997 	return bcm_field_context_hash_create(
  10998 			BCM_CONTROL(unit)->unit,
  10999 			flags,
  11000 			stage,
  11001 			context_id,
  11002 			hash_info);
  11003 }
  11004 
  11005 int
  11006 bcm_loop_field_context_hash_destroy(
  11007 	int	unit,
  11008 	bcm_field_stage_t	stage,
  11009 	bcm_field_context_t	context_id)
  11010 {
  11011 	return bcm_field_context_hash_destroy(
  11012 			BCM_CONTROL(unit)->unit,
  11013 			stage,
  11014 			context_id);
  11015 }
  11016 
  11017 int
  11018 bcm_loop_field_context_hash_info_get(
  11019 	int	unit,
  11020 	bcm_field_stage_t	stage,
  11021 	bcm_field_context_t	context_id,
  11022 	bcm_field_context_hash_info_t *	hash_info)
  11023 {
  11024 	return bcm_field_context_hash_info_get(
  11025 			BCM_CONTROL(unit)->unit,
  11026 			stage,
  11027 			context_id,
  11028 			hash_info);
  11029 }
  11030 
  11031 /* bcm_field_context_hash_info_t_init not dispatchable */
  11032 
  11033 int
  11034 bcm_loop_field_context_info_get(
  11035 	int	unit,
  11036 	bcm_field_stage_t	stage,
  11037 	bcm_field_context_t	context_id,
  11038 	bcm_field_context_info_t *	context_info)
  11039 {
  11040 	return bcm_field_context_info_get(
  11041 			BCM_CONTROL(unit)->unit,
  11042 			stage,
  11043 			context_id,
  11044 			context_info);
  11045 }
  11046 
  11047 /* bcm_field_context_info_t_init not dispatchable */
  11048 
  11049 /* bcm_field_context_param_info_t_init not dispatchable */
  11050 
  11051 int
  11052 bcm_loop_field_context_param_set(
  11053 	int	unit,
  11054 	uint32	flags,
  11055 	bcm_field_stage_t	stage,
  11056 	bcm_field_context_t	context_id,
  11057 	bcm_field_context_param_info_t *	context_params)
  11058 {
  11059 	return bcm_field_context_param_set(
  11060 			BCM_CONTROL(unit)->unit,
  11061 			flags,
  11062 			stage,
  11063 			context_id,
  11064 			context_params);
  11065 }
  11066 
  11067 int
  11068 bcm_loop_field_control_get(
  11069 	int	unit,
  11070 	bcm_field_control_t	control,
  11071 	uint32 *	state)
  11072 {
  11073 	return bcm_field_control_get(
  11074 			BCM_CONTROL(unit)->unit,
  11075 			control,
  11076 			state);
  11077 }
  11078 
  11079 int
  11080 bcm_loop_field_control_set(
  11081 	int	unit,
  11082 	bcm_field_control_t	control,
  11083 	uint32	state)
  11084 {
  11085 	return bcm_field_control_set(
  11086 			BCM_CONTROL(unit)->unit,
  11087 			control,
  11088 			state);
  11089 }
  11090 
  11091 /* bcm_field_copytocpu_config_t_init not dispatchable */
  11092 
  11093 /* bcm_field_data_ethertype_t_init not dispatchable */
  11094 
  11095 /* bcm_field_data_ip_protocol_t_init not dispatchable */
  11096 
  11097 /* bcm_field_data_packet_format_t_init not dispatchable */
  11098 
  11099 int
  11100 bcm_loop_field_data_qualifier_create(
  11101 	int	unit,
  11102 	bcm_field_data_qualifier_t *	data_qualifier)
  11103 {
  11104 	return bcm_field_data_qualifier_create(
  11105 			BCM_CONTROL(unit)->unit,
  11106 			data_qualifier);
  11107 }
  11108 
  11109 int
  11110 bcm_loop_field_data_qualifier_destroy(
  11111 	int	unit,
  11112 	int	qual_id)
  11113 {
  11114 	return bcm_field_data_qualifier_destroy(
  11115 			BCM_CONTROL(unit)->unit,
  11116 			qual_id);
  11117 }
  11118 
  11119 int
  11120 bcm_loop_field_data_qualifier_destroy_all(
  11121 	int	unit)
  11122 {
  11123 	return bcm_field_data_qualifier_destroy_all(
  11124 			BCM_CONTROL(unit)->unit);
  11125 }
  11126 
  11127 int
  11128 bcm_loop_field_data_qualifier_ethertype_add(
  11129 	int	unit,
  11130 	int	qual_id,
  11131 	bcm_field_data_ethertype_t *	etype)
  11132 {
  11133 	return bcm_field_data_qualifier_ethertype_add(
  11134 			BCM_CONTROL(unit)->unit,
  11135 			qual_id,
  11136 			etype);
  11137 }
  11138 
  11139 int
  11140 bcm_loop_field_data_qualifier_ethertype_delete(
  11141 	int	unit,
  11142 	int	qual_id,
  11143 	bcm_field_data_ethertype_t *	etype)
  11144 {
  11145 	return bcm_field_data_qualifier_ethertype_delete(
  11146 			BCM_CONTROL(unit)->unit,
  11147 			qual_id,
  11148 			etype);
  11149 }
  11150 
  11151 int
  11152 bcm_loop_field_data_qualifier_get(
  11153 	int	unit,
  11154 	int	qual_id,
  11155 	bcm_field_data_qualifier_t *	qual)
  11156 {
  11157 	return bcm_field_data_qualifier_get(
  11158 			BCM_CONTROL(unit)->unit,
  11159 			qual_id,
  11160 			qual);
  11161 }
  11162 
  11163 int
  11164 bcm_loop_field_data_qualifier_ip_protocol_add(
  11165 	int	unit,
  11166 	int	qual_id,
  11167 	bcm_field_data_ip_protocol_t *	ip_protocol)
  11168 {
  11169 	return bcm_field_data_qualifier_ip_protocol_add(
  11170 			BCM_CONTROL(unit)->unit,
  11171 			qual_id,
  11172 			ip_protocol);
  11173 }
  11174 
  11175 int
  11176 bcm_loop_field_data_qualifier_ip_protocol_delete(
  11177 	int	unit,
  11178 	int	qual_id,
  11179 	bcm_field_data_ip_protocol_t *	ip_protocol)
  11180 {
  11181 	return bcm_field_data_qualifier_ip_protocol_delete(
  11182 			BCM_CONTROL(unit)->unit,
  11183 			qual_id,
  11184 			ip_protocol);
  11185 }
  11186 
  11187 int
  11188 bcm_loop_field_data_qualifier_multi_get(
  11189 	int	unit,
  11190 	int	qual_size,
  11191 	int *	qual_array,
  11192 	int *	qual_count)
  11193 {
  11194 	return bcm_field_data_qualifier_multi_get(
  11195 			BCM_CONTROL(unit)->unit,
  11196 			qual_size,
  11197 			qual_array,
  11198 			qual_count);
  11199 }
  11200 
  11201 int
  11202 bcm_loop_field_data_qualifier_packet_format_add(
  11203 	int	unit,
  11204 	int	qual_id,
  11205 	bcm_field_data_packet_format_t *	packet_format)
  11206 {
  11207 	return bcm_field_data_qualifier_packet_format_add(
  11208 			BCM_CONTROL(unit)->unit,
  11209 			qual_id,
  11210 			packet_format);
  11211 }
  11212 
  11213 int
  11214 bcm_loop_field_data_qualifier_packet_format_delete(
  11215 	int	unit,
  11216 	int	qual_id,
  11217 	bcm_field_data_packet_format_t *	packet_format)
  11218 {
  11219 	return bcm_field_data_qualifier_packet_format_delete(
  11220 			BCM_CONTROL(unit)->unit,
  11221 			qual_id,
  11222 			packet_format);
  11223 }
  11224 
  11225 /* bcm_field_data_qualifier_t_init not dispatchable */
  11226 
  11227 int
  11228 bcm_loop_field_detach(
  11229 	int	unit)
  11230 {
  11231 	return bcm_field_detach(
  11232 			BCM_CONTROL(unit)->unit);
  11233 }
  11234 
  11235 int
  11236 bcm_loop_field_direct_extraction_action_add(
  11237 	int	unit,
  11238 	bcm_field_entry_t	entry,
  11239 	bcm_field_extraction_action_t	action,
  11240 	int	count,
  11241 	bcm_field_extraction_field_t *	extractions)
  11242 {
  11243 	return bcm_field_direct_extraction_action_add(
  11244 			BCM_CONTROL(unit)->unit,
  11245 			entry,
  11246 			action,
  11247 			count,
  11248 			extractions);
  11249 }
  11250 
  11251 int
  11252 bcm_loop_field_direct_extraction_action_get(
  11253 	int	unit,
  11254 	bcm_field_entry_t	entry,
  11255 	bcm_field_extraction_action_t *	action,
  11256 	int	max_count,
  11257 	bcm_field_extraction_field_t *	extractions,
  11258 	int *	actual_count)
  11259 {
  11260 	return bcm_field_direct_extraction_action_get(
  11261 			BCM_CONTROL(unit)->unit,
  11262 			entry,
  11263 			action,
  11264 			max_count,
  11265 			extractions,
  11266 			actual_count);
  11267 }
  11268 
  11269 int
  11270 bcm_loop_field_entry_add(
  11271 	int	unit,
  11272 	uint32	flags,
  11273 	bcm_field_group_t	fg_id,
  11274 	bcm_field_entry_info_t *	entry_info,
  11275 	bcm_field_entry_t *	entry_handle)
  11276 {
  11277 	return bcm_field_entry_add(
  11278 			BCM_CONTROL(unit)->unit,
  11279 			flags,
  11280 			fg_id,
  11281 			entry_info,
  11282 			entry_handle);
  11283 }
  11284 
  11285 int
  11286 bcm_loop_field_entry_config_copy(
  11287 	int	unit,
  11288 	bcm_field_entry_t	src_entry,
  11289 	bcm_field_entry_t *	dst_entry,
  11290 	uint32	flags)
  11291 {
  11292 	return bcm_field_entry_config_copy(
  11293 			BCM_CONTROL(unit)->unit,
  11294 			src_entry,
  11295 			dst_entry,
  11296 			flags);
  11297 }
  11298 
  11299 int
  11300 bcm_loop_field_entry_copy(
  11301 	int	unit,
  11302 	bcm_field_entry_t	src_entry,
  11303 	bcm_field_entry_t *	dst_entry)
  11304 {
  11305 	return bcm_field_entry_copy(
  11306 			BCM_CONTROL(unit)->unit,
  11307 			src_entry,
  11308 			dst_entry);
  11309 }
  11310 
  11311 int
  11312 bcm_loop_field_entry_copy_id(
  11313 	int	unit,
  11314 	bcm_field_entry_t	src_entry,
  11315 	bcm_field_entry_t	dst_entry)
  11316 {
  11317 	return bcm_field_entry_copy_id(
  11318 			BCM_CONTROL(unit)->unit,
  11319 			src_entry,
  11320 			dst_entry);
  11321 }
  11322 
  11323 int
  11324 bcm_loop_field_entry_create(
  11325 	int	unit,
  11326 	bcm_field_group_t	group,
  11327 	bcm_field_entry_t *	entry)
  11328 {
  11329 	return bcm_field_entry_create(
  11330 			BCM_CONTROL(unit)->unit,
  11331 			group,
  11332 			entry);
  11333 }
  11334 
  11335 int
  11336 bcm_loop_field_entry_create_id(
  11337 	int	unit,
  11338 	bcm_field_group_t	group,
  11339 	bcm_field_entry_t	entry)
  11340 {
  11341 	return bcm_field_entry_create_id(
  11342 			BCM_CONTROL(unit)->unit,
  11343 			group,
  11344 			entry);
  11345 }
  11346 
  11347 int
  11348 bcm_loop_field_entry_delete(
  11349 	int	unit,
  11350 	bcm_field_group_t	fg_id,
  11351 	bcm_field_entry_qual_t	entry_qual_info[BCM_FIELD_NUMBER_OF_QUALS_PER_GROUP],
  11352 	bcm_field_entry_t	entry_handle)
  11353 {
  11354 	return bcm_field_entry_delete(
  11355 			BCM_CONTROL(unit)->unit,
  11356 			fg_id,
  11357 			entry_qual_info,
  11358 			entry_handle);
  11359 }
  11360 
  11361 int
  11362 bcm_loop_field_entry_delete_all(
  11363 	int	unit)
  11364 {
  11365 	return bcm_field_entry_delete_all(
  11366 			BCM_CONTROL(unit)->unit);
  11367 }
  11368 
  11369 int
  11370 bcm_loop_field_entry_destroy(
  11371 	int	unit,
  11372 	bcm_field_entry_t	entry)
  11373 {
  11374 	return bcm_field_entry_destroy(
  11375 			BCM_CONTROL(unit)->unit,
  11376 			entry);
  11377 }
  11378 
  11379 int
  11380 bcm_loop_field_entry_destroy_all(
  11381 	int	unit)
  11382 {
  11383 	return bcm_field_entry_destroy_all(
  11384 			BCM_CONTROL(unit)->unit);
  11385 }
  11386 
  11387 #ifdef	BROADCOM_DEBUG
  11388 
  11389 int
  11390 bcm_loop_field_entry_dump(
  11391 	int	unit,
  11392 	bcm_field_entry_t	entry)
  11393 {
  11394 	return bcm_field_entry_dump(
  11395 			BCM_CONTROL(unit)->unit,
  11396 			entry);
  11397 }
  11398 
  11399 #endif	/* BROADCOM_DEBUG */
  11400 
  11401 int
  11402 bcm_loop_field_entry_enable_get(
  11403 	int	unit,
  11404 	bcm_field_entry_t	entry,
  11405 	int *	enable_flag)
  11406 {
  11407 	return bcm_field_entry_enable_get(
  11408 			BCM_CONTROL(unit)->unit,
  11409 			entry,
  11410 			enable_flag);
  11411 }
  11412 
  11413 int
  11414 bcm_loop_field_entry_enable_set(
  11415 	int	unit,
  11416 	bcm_field_entry_t	entry,
  11417 	int	enable_flag)
  11418 {
  11419 	return bcm_field_entry_enable_set(
  11420 			BCM_CONTROL(unit)->unit,
  11421 			entry,
  11422 			enable_flag);
  11423 }
  11424 
  11425 int
  11426 bcm_loop_field_entry_hit_flush(
  11427 	int	unit,
  11428 	uint32	flags,
  11429 	bcm_field_entry_t	entry_handle)
  11430 {
  11431 	return bcm_field_entry_hit_flush(
  11432 			BCM_CONTROL(unit)->unit,
  11433 			flags,
  11434 			entry_handle);
  11435 }
  11436 
  11437 int
  11438 bcm_loop_field_entry_hit_get(
  11439 	int	unit,
  11440 	uint32	flags,
  11441 	bcm_field_entry_t	entry_handle,
  11442 	uint8 *	entry_hit_core_bmp)
  11443 {
  11444 	return bcm_field_entry_hit_get(
  11445 			BCM_CONTROL(unit)->unit,
  11446 			flags,
  11447 			entry_handle,
  11448 			entry_hit_core_bmp);
  11449 }
  11450 
  11451 int
  11452 bcm_loop_field_entry_info_get(
  11453 	int	unit,
  11454 	bcm_field_group_t	fg_id,
  11455 	bcm_field_entry_t	entry_handle,
  11456 	bcm_field_entry_info_t *	entry_info)
  11457 {
  11458 	return bcm_field_entry_info_get(
  11459 			BCM_CONTROL(unit)->unit,
  11460 			fg_id,
  11461 			entry_handle,
  11462 			entry_info);
  11463 }
  11464 
  11465 /* bcm_field_entry_info_t_init not dispatchable */
  11466 
  11467 int
  11468 bcm_loop_field_entry_install(
  11469 	int	unit,
  11470 	bcm_field_entry_t	entry)
  11471 {
  11472 	return bcm_field_entry_install(
  11473 			BCM_CONTROL(unit)->unit,
  11474 			entry);
  11475 }
  11476 
  11477 int
  11478 bcm_loop_field_entry_install_and_handler_update(
  11479 	int	unit,
  11480 	bcm_field_entry_t	entry,
  11481 	bcm_field_entry_t *	large_dt_entry)
  11482 {
  11483 	return bcm_field_entry_install_and_handler_update(
  11484 			BCM_CONTROL(unit)->unit,
  11485 			entry,
  11486 			large_dt_entry);
  11487 }
  11488 
  11489 int
  11490 bcm_loop_field_entry_multi_get(
  11491 	int	unit,
  11492 	bcm_field_group_t	group,
  11493 	int	entry_size,
  11494 	bcm_field_entry_t *	entry_array,
  11495 	int *	entry_count)
  11496 {
  11497 	return bcm_field_entry_multi_get(
  11498 			BCM_CONTROL(unit)->unit,
  11499 			group,
  11500 			entry_size,
  11501 			entry_array,
  11502 			entry_count);
  11503 }
  11504 
  11505 /* bcm_field_entry_oper_t_init not dispatchable */
  11506 
  11507 int
  11508 bcm_loop_field_entry_operation(
  11509 	int	unit,
  11510 	bcm_field_entry_oper_t *	entry_oper)
  11511 {
  11512 	return bcm_field_entry_operation(
  11513 			BCM_CONTROL(unit)->unit,
  11514 			entry_oper);
  11515 }
  11516 
  11517 int
  11518 bcm_loop_field_entry_policer_attach(
  11519 	int	unit,
  11520 	bcm_field_entry_t	entry_id,
  11521 	int	level,
  11522 	bcm_policer_t	policer_id)
  11523 {
  11524 	return bcm_field_entry_policer_attach(
  11525 			BCM_CONTROL(unit)->unit,
  11526 			entry_id,
  11527 			level,
  11528 			policer_id);
  11529 }
  11530 
  11531 int
  11532 bcm_loop_field_entry_policer_detach(
  11533 	int	unit,
  11534 	bcm_field_entry_t	entry_id,
  11535 	int	level)
  11536 {
  11537 	return bcm_field_entry_policer_detach(
  11538 			BCM_CONTROL(unit)->unit,
  11539 			entry_id,
  11540 			level);
  11541 }
  11542 
  11543 int
  11544 bcm_loop_field_entry_policer_detach_all(
  11545 	int	unit,
  11546 	bcm_field_entry_t	entry_id)
  11547 {
  11548 	return bcm_field_entry_policer_detach_all(
  11549 			BCM_CONTROL(unit)->unit,
  11550 			entry_id);
  11551 }
  11552 
  11553 int
  11554 bcm_loop_field_entry_policer_get(
  11555 	int	unit,
  11556 	bcm_field_entry_t	entry_id,
  11557 	int	level,
  11558 	bcm_policer_t *	policer_id)
  11559 {
  11560 	return bcm_field_entry_policer_get(
  11561 			BCM_CONTROL(unit)->unit,
  11562 			entry_id,
  11563 			level,
  11564 			policer_id);
  11565 }
  11566 
  11567 int
  11568 bcm_loop_field_entry_prio_get(
  11569 	int	unit,
  11570 	bcm_field_entry_t	entry,
  11571 	int *	prio)
  11572 {
  11573 	return bcm_field_entry_prio_get(
  11574 			BCM_CONTROL(unit)->unit,
  11575 			entry,
  11576 			prio);
  11577 }
  11578 
  11579 int
  11580 bcm_loop_field_entry_prio_set(
  11581 	int	unit,
  11582 	bcm_field_entry_t	entry,
  11583 	int	prio)
  11584 {
  11585 	return bcm_field_entry_prio_set(
  11586 			BCM_CONTROL(unit)->unit,
  11587 			entry,
  11588 			prio);
  11589 }
  11590 
  11591 /* bcm_field_entry_qual_t_init not dispatchable */
  11592 
  11593 int
  11594 bcm_loop_field_entry_reinstall(
  11595 	int	unit,
  11596 	bcm_field_entry_t	entry)
  11597 {
  11598 	return bcm_field_entry_reinstall(
  11599 			BCM_CONTROL(unit)->unit,
  11600 			entry);
  11601 }
  11602 
  11603 int
  11604 bcm_loop_field_entry_remove(
  11605 	int	unit,
  11606 	bcm_field_entry_t	entry)
  11607 {
  11608 	return bcm_field_entry_remove(
  11609 			BCM_CONTROL(unit)->unit,
  11610 			entry);
  11611 }
  11612 
  11613 int
  11614 bcm_loop_field_entry_stat_attach(
  11615 	int	unit,
  11616 	bcm_field_entry_t	entry,
  11617 	int	stat_id)
  11618 {
  11619 	return bcm_field_entry_stat_attach(
  11620 			BCM_CONTROL(unit)->unit,
  11621 			entry,
  11622 			stat_id);
  11623 }
  11624 
  11625 int
  11626 bcm_loop_field_entry_stat_detach(
  11627 	int	unit,
  11628 	bcm_field_entry_t	entry,
  11629 	int	stat_id)
  11630 {
  11631 	return bcm_field_entry_stat_detach(
  11632 			BCM_CONTROL(unit)->unit,
  11633 			entry,
  11634 			stat_id);
  11635 }
  11636 
  11637 int
  11638 bcm_loop_field_entry_stat_extended_attach(
  11639 	int	unit,
  11640 	bcm_field_entry_t	entry,
  11641 	int	stat_id,
  11642 	bcm_field_stat_action_t	stat_action)
  11643 {
  11644 	return bcm_field_entry_stat_extended_attach(
  11645 			BCM_CONTROL(unit)->unit,
  11646 			entry,
  11647 			stat_id,
  11648 			stat_action);
  11649 }
  11650 
  11651 int
  11652 bcm_loop_field_entry_stat_extended_get(
  11653 	int	unit,
  11654 	bcm_field_entry_t	entry,
  11655 	int *	stat_id,
  11656 	bcm_field_stat_action_t *	stat_action)
  11657 {
  11658 	return bcm_field_entry_stat_extended_get(
  11659 			BCM_CONTROL(unit)->unit,
  11660 			entry,
  11661 			stat_id,
  11662 			stat_action);
  11663 }
  11664 
  11665 int
  11666 bcm_loop_field_entry_stat_get(
  11667 	int	unit,
  11668 	bcm_field_entry_t	entry,
  11669 	int *	stat_id)
  11670 {
  11671 	return bcm_field_entry_stat_get(
  11672 			BCM_CONTROL(unit)->unit,
  11673 			entry,
  11674 			stat_id);
  11675 }
  11676 
  11677 /* bcm_field_extraction_action_t_init not dispatchable */
  11678 
  11679 /* bcm_field_extraction_field_t_init not dispatchable */
  11680 
  11681 int
  11682 bcm_loop_field_fem_action_add(
  11683 	int	unit,
  11684 	uint32	flags,
  11685 	bcm_field_group_t	fg_id,
  11686 	bcm_field_action_priority_t	encoded_position,
  11687 	bcm_field_fem_action_info_t *	fem_action_info)
  11688 {
  11689 	return bcm_field_fem_action_add(
  11690 			BCM_CONTROL(unit)->unit,
  11691 			flags,
  11692 			fg_id,
  11693 			encoded_position,
  11694 			fem_action_info);
  11695 }
  11696 
  11697 int
  11698 bcm_loop_field_fem_action_delete(
  11699 	int	unit,
  11700 	bcm_field_group_t	fg_id,
  11701 	bcm_field_action_priority_t	bcm_field_action_priority_t)
  11702 {
  11703 	return bcm_field_fem_action_delete(
  11704 			BCM_CONTROL(unit)->unit,
  11705 			fg_id,
  11706 			bcm_field_action_priority_t);
  11707 }
  11708 
  11709 int
  11710 bcm_loop_field_fem_action_info_get(
  11711 	int	unit,
  11712 	bcm_field_group_t	fg_id,
  11713 	bcm_field_action_priority_t	encoded_position,
  11714 	bcm_field_fem_action_info_t *	fem_action_info)
  11715 {
  11716 	return bcm_field_fem_action_info_get(
  11717 			BCM_CONTROL(unit)->unit,
  11718 			fg_id,
  11719 			encoded_position,
  11720 			fem_action_info);
  11721 }
  11722 
  11723 /* bcm_field_fem_action_info_t_init not dispatchable */
  11724 
  11725 int
  11726 bcm_loop_field_group_action_get(
  11727 	int	unit,
  11728 	bcm_field_group_t	group,
  11729 	bcm_field_aset_t *	aset)
  11730 {
  11731 	return bcm_field_group_action_get(
  11732 			BCM_CONTROL(unit)->unit,
  11733 			group,
  11734 			aset);
  11735 }
  11736 
  11737 int
  11738 bcm_loop_field_group_action_offset_get(
  11739 	int	unit,
  11740 	uint32	flags,
  11741 	bcm_field_group_t	fg_id,
  11742 	bcm_field_action_t	action,
  11743 	int *	offset)
  11744 {
  11745 	return bcm_field_group_action_offset_get(
  11746 			BCM_CONTROL(unit)->unit,
  11747 			flags,
  11748 			fg_id,
  11749 			action,
  11750 			offset);
  11751 }
  11752 
  11753 int
  11754 bcm_loop_field_group_action_set(
  11755 	int	unit,
  11756 	bcm_field_group_t	group,
  11757 	bcm_field_aset_t	aset)
  11758 {
  11759 	return bcm_field_group_action_set(
  11760 			BCM_CONTROL(unit)->unit,
  11761 			group,
  11762 			aset);
  11763 }
  11764 
  11765 int
  11766 bcm_loop_field_group_add(
  11767 	int	unit,
  11768 	uint32	flags,
  11769 	bcm_field_group_info_t *	fg_info,
  11770 	bcm_field_group_t *	fg_id)
  11771 {
  11772 	return bcm_field_group_add(
  11773 			BCM_CONTROL(unit)->unit,
  11774 			flags,
  11775 			fg_info,
  11776 			fg_id);
  11777 }
  11778 
  11779 /* bcm_field_group_attach_info_t_init not dispatchable */
  11780 
  11781 int
  11782 bcm_loop_field_group_compress(
  11783 	int	unit,
  11784 	bcm_field_group_t	group)
  11785 {
  11786 	return bcm_field_group_compress(
  11787 			BCM_CONTROL(unit)->unit,
  11788 			group);
  11789 }
  11790 
  11791 int
  11792 bcm_loop_field_group_config_create(
  11793 	int	unit,
  11794 	bcm_field_group_config_t *	group_config)
  11795 {
  11796 	return bcm_field_group_config_create(
  11797 			BCM_CONTROL(unit)->unit,
  11798 			group_config);
  11799 }
  11800 
  11801 int
  11802 bcm_loop_field_group_config_extension_create(
  11803 	int	unit,
  11804 	bcm_field_group_config_extension_t *	group_config)
  11805 {
  11806 	return bcm_field_group_config_extension_create(
  11807 			BCM_CONTROL(unit)->unit,
  11808 			group_config);
  11809 }
  11810 
  11811 /* bcm_field_group_config_extension_t_init not dispatchable */
  11812 
  11813 /* bcm_field_group_config_t_init not dispatchable */
  11814 
  11815 int
  11816 bcm_loop_field_group_config_validate(
  11817 	int	unit,
  11818 	bcm_field_group_config_t *	group_config,
  11819 	bcm_field_group_mode_t *	mode)
  11820 {
  11821 	return bcm_field_group_config_validate(
  11822 			BCM_CONTROL(unit)->unit,
  11823 			group_config,
  11824 			mode);
  11825 }
  11826 
  11827 int
  11828 bcm_loop_field_group_context_attach(
  11829 	int	unit,
  11830 	uint32	flags,
  11831 	bcm_field_group_t	fg_id,
  11832 	bcm_field_context_t	context_id,
  11833 	bcm_field_group_attach_info_t *	attach_info)
  11834 {
  11835 	return bcm_field_group_context_attach(
  11836 			BCM_CONTROL(unit)->unit,
  11837 			flags,
  11838 			fg_id,
  11839 			context_id,
  11840 			attach_info);
  11841 }
  11842 
  11843 int
  11844 bcm_loop_field_group_context_detach(
  11845 	int	unit,
  11846 	bcm_field_group_t	fg_id,
  11847 	bcm_field_context_t	context_id)
  11848 {
  11849 	return bcm_field_group_context_detach(
  11850 			BCM_CONTROL(unit)->unit,
  11851 			fg_id,
  11852 			context_id);
  11853 }
  11854 
  11855 int
  11856 bcm_loop_field_group_context_info_get(
  11857 	int	unit,
  11858 	bcm_field_group_t	fg_id,
  11859 	bcm_field_context_t	context_id,
  11860 	bcm_field_group_attach_info_t *	attach_info)
  11861 {
  11862 	return bcm_field_group_context_info_get(
  11863 			BCM_CONTROL(unit)->unit,
  11864 			fg_id,
  11865 			context_id,
  11866 			attach_info);
  11867 }
  11868 
  11869 int
  11870 bcm_loop_field_group_create(
  11871 	int	unit,
  11872 	bcm_field_qset_t	qset,
  11873 	int	pri,
  11874 	bcm_field_group_t *	group)
  11875 {
  11876 	return bcm_field_group_create(
  11877 			BCM_CONTROL(unit)->unit,
  11878 			qset,
  11879 			pri,
  11880 			group);
  11881 }
  11882 
  11883 int
  11884 bcm_loop_field_group_create_id(
  11885 	int	unit,
  11886 	bcm_field_qset_t	qset,
  11887 	int	pri,
  11888 	bcm_field_group_t	group)
  11889 {
  11890 	return bcm_field_group_create_id(
  11891 			BCM_CONTROL(unit)->unit,
  11892 			qset,
  11893 			pri,
  11894 			group);
  11895 }
  11896 
  11897 int
  11898 bcm_loop_field_group_create_mode(
  11899 	int	unit,
  11900 	bcm_field_qset_t	qset,
  11901 	int	pri,
  11902 	bcm_field_group_mode_t	mode,
  11903 	bcm_field_group_t *	group)
  11904 {
  11905 	return bcm_field_group_create_mode(
  11906 			BCM_CONTROL(unit)->unit,
  11907 			qset,
  11908 			pri,
  11909 			mode,
  11910 			group);
  11911 }
  11912 
  11913 int
  11914 bcm_loop_field_group_create_mode_id(
  11915 	int	unit,
  11916 	bcm_field_qset_t	qset,
  11917 	int	pri,
  11918 	bcm_field_group_mode_t	mode,
  11919 	bcm_field_group_t	group)
  11920 {
  11921 	return bcm_field_group_create_mode_id(
  11922 			BCM_CONTROL(unit)->unit,
  11923 			qset,
  11924 			pri,
  11925 			mode,
  11926 			group);
  11927 }
  11928 
  11929 int
  11930 bcm_loop_field_group_default_entry_get(
  11931 	int	unit,
  11932 	bcm_field_group_t	group,
  11933 	bcm_field_entry_t *	entry)
  11934 {
  11935 	return bcm_field_group_default_entry_get(
  11936 			BCM_CONTROL(unit)->unit,
  11937 			group,
  11938 			entry);
  11939 }
  11940 
  11941 int
  11942 bcm_loop_field_group_default_entry_set(
  11943 	int	unit,
  11944 	bcm_field_group_t	group,
  11945 	bcm_field_entry_t	entry,
  11946 	int	enable)
  11947 {
  11948 	return bcm_field_group_default_entry_set(
  11949 			BCM_CONTROL(unit)->unit,
  11950 			group,
  11951 			entry,
  11952 			enable);
  11953 }
  11954 
  11955 int
  11956 bcm_loop_field_group_delete(
  11957 	int	unit,
  11958 	bcm_field_group_t	fg_id)
  11959 {
  11960 	return bcm_field_group_delete(
  11961 			BCM_CONTROL(unit)->unit,
  11962 			fg_id);
  11963 }
  11964 
  11965 int
  11966 bcm_loop_field_group_destroy(
  11967 	int	unit,
  11968 	bcm_field_group_t	group)
  11969 {
  11970 	return bcm_field_group_destroy(
  11971 			BCM_CONTROL(unit)->unit,
  11972 			group);
  11973 }
  11974 
  11975 #ifdef	BROADCOM_DEBUG
  11976 
  11977 int
  11978 bcm_loop_field_group_dump(
  11979 	int	unit,
  11980 	bcm_field_group_t	group)
  11981 {
  11982 	return bcm_field_group_dump(
  11983 			BCM_CONTROL(unit)->unit,
  11984 			group);
  11985 }
  11986 
  11987 #endif	/* BROADCOM_DEBUG */
  11988 
  11989 int
  11990 bcm_loop_field_group_enable_get(
  11991 	int	unit,
  11992 	bcm_field_group_t	group,
  11993 	int *	enable)
  11994 {
  11995 	return bcm_field_group_enable_get(
  11996 			BCM_CONTROL(unit)->unit,
  11997 			group,
  11998 			enable);
  11999 }
  12000 
  12001 int
  12002 bcm_loop_field_group_enable_set(
  12003 	int	unit,
  12004 	bcm_field_group_t	group,
  12005 	int	enable)
  12006 {
  12007 	return bcm_field_group_enable_set(
  12008 			BCM_CONTROL(unit)->unit,
  12009 			group,
  12010 			enable);
  12011 }
  12012 
  12013 int
  12014 bcm_loop_field_group_expansion_enable_get(
  12015 	int	unit,
  12016 	bcm_field_group_t	group,
  12017 	int *	enable)
  12018 {
  12019 	return bcm_field_group_expansion_enable_get(
  12020 			BCM_CONTROL(unit)->unit,
  12021 			group,
  12022 			enable);
  12023 }
  12024 
  12025 int
  12026 bcm_loop_field_group_expansion_enable_set(
  12027 	int	unit,
  12028 	bcm_field_group_t	group,
  12029 	int	enable)
  12030 {
  12031 	return bcm_field_group_expansion_enable_set(
  12032 			BCM_CONTROL(unit)->unit,
  12033 			group,
  12034 			enable);
  12035 }
  12036 
  12037 int
  12038 bcm_loop_field_group_flush(
  12039 	int	unit,
  12040 	bcm_field_group_t	group)
  12041 {
  12042 	return bcm_field_group_flush(
  12043 			BCM_CONTROL(unit)->unit,
  12044 			group);
  12045 }
  12046 
  12047 int
  12048 bcm_loop_field_group_get(
  12049 	int	unit,
  12050 	bcm_field_group_t	group,
  12051 	bcm_field_qset_t *	qset)
  12052 {
  12053 	return bcm_field_group_get(
  12054 			BCM_CONTROL(unit)->unit,
  12055 			group,
  12056 			qset);
  12057 }
  12058 
  12059 int
  12060 bcm_loop_field_group_info_get(
  12061 	int	unit,
  12062 	bcm_field_group_t	fg_id,
  12063 	bcm_field_group_info_t *	fg_info)
  12064 {
  12065 	return bcm_field_group_info_get(
  12066 			BCM_CONTROL(unit)->unit,
  12067 			fg_id,
  12068 			fg_info);
  12069 }
  12070 
  12071 /* bcm_field_group_info_t_init not dispatchable */
  12072 
  12073 int
  12074 bcm_loop_field_group_install(
  12075 	int	unit,
  12076 	bcm_field_group_t	group)
  12077 {
  12078 	return bcm_field_group_install(
  12079 			BCM_CONTROL(unit)->unit,
  12080 			group);
  12081 }
  12082 
  12083 int
  12084 bcm_loop_field_group_mode_get(
  12085 	int	unit,
  12086 	bcm_field_group_t	group,
  12087 	bcm_field_group_mode_t *	mode)
  12088 {
  12089 	return bcm_field_group_mode_get(
  12090 			BCM_CONTROL(unit)->unit,
  12091 			group,
  12092 			mode);
  12093 }
  12094 
  12095 int
  12096 bcm_loop_field_group_oper_mode_get(
  12097 	int	unit,
  12098 	bcm_field_qualify_t	stage,
  12099 	bcm_field_group_oper_mode_t *	mode)
  12100 {
  12101 	return bcm_field_group_oper_mode_get(
  12102 			BCM_CONTROL(unit)->unit,
  12103 			stage,
  12104 			mode);
  12105 }
  12106 
  12107 int
  12108 bcm_loop_field_group_oper_mode_set(
  12109 	int	unit,
  12110 	bcm_field_qualify_t	stage,
  12111 	bcm_field_group_oper_mode_t	mode)
  12112 {
  12113 	return bcm_field_group_oper_mode_set(
  12114 			BCM_CONTROL(unit)->unit,
  12115 			stage,
  12116 			mode);
  12117 }
  12118 
  12119 int
  12120 bcm_loop_field_group_port_create_mode(
  12121 	int	unit,
  12122 	bcm_port_t	port,
  12123 	bcm_field_qset_t	qset,
  12124 	int	pri,
  12125 	bcm_field_group_mode_t	mode,
  12126 	bcm_field_group_t *	group)
  12127 {
  12128 	return bcm_field_group_port_create_mode(
  12129 			BCM_CONTROL(unit)->unit,
  12130 			port,
  12131 			qset,
  12132 			pri,
  12133 			mode,
  12134 			group);
  12135 }
  12136 
  12137 int
  12138 bcm_loop_field_group_port_create_mode_id(
  12139 	int	unit,
  12140 	bcm_port_t	port,
  12141 	bcm_field_qset_t	qset,
  12142 	int	pri,
  12143 	bcm_field_group_mode_t	mode,
  12144 	bcm_field_group_t	group)
  12145 {
  12146 	return bcm_field_group_port_create_mode_id(
  12147 			BCM_CONTROL(unit)->unit,
  12148 			port,
  12149 			qset,
  12150 			pri,
  12151 			mode,
  12152 			group);
  12153 }
  12154 
  12155 int
  12156 bcm_loop_field_group_ports_add(
  12157 	int	unit,
  12158 	bcm_field_group_t	group,
  12159 	bcm_pbmp_t	pbmp)
  12160 {
  12161 	return bcm_field_group_ports_add(
  12162 			BCM_CONTROL(unit)->unit,
  12163 			group,
  12164 			pbmp);
  12165 }
  12166 
  12167 int
  12168 bcm_loop_field_group_ports_create_mode(
  12169 	int	unit,
  12170 	bcm_pbmp_t	pbmp,
  12171 	bcm_field_qset_t	qset,
  12172 	int	pri,
  12173 	bcm_field_group_mode_t	mode,
  12174 	bcm_field_group_t *	group)
  12175 {
  12176 	return bcm_field_group_ports_create_mode(
  12177 			BCM_CONTROL(unit)->unit,
  12178 			pbmp,
  12179 			qset,
  12180 			pri,
  12181 			mode,
  12182 			group);
  12183 }
  12184 
  12185 int
  12186 bcm_loop_field_group_ports_create_mode_id(
  12187 	int	unit,
  12188 	bcm_pbmp_t	pbmp,
  12189 	bcm_field_qset_t	qset,
  12190 	int	pri,
  12191 	bcm_field_group_mode_t	mode,
  12192 	bcm_field_group_t	group)
  12193 {
  12194 	return bcm_field_group_ports_create_mode_id(
  12195 			BCM_CONTROL(unit)->unit,
  12196 			pbmp,
  12197 			qset,
  12198 			pri,
  12199 			mode,
  12200 			group);
  12201 }
  12202 
  12203 int
  12204 bcm_loop_field_group_ports_get(
  12205 	int	unit,
  12206 	bcm_field_group_t	group,
  12207 	bcm_pbmp_t *	pbmp)
  12208 {
  12209 	return bcm_field_group_ports_get(
  12210 			BCM_CONTROL(unit)->unit,
  12211 			group,
  12212 			pbmp);
  12213 }
  12214 
  12215 int
  12216 bcm_loop_field_group_ports_remove(
  12217 	int	unit,
  12218 	bcm_field_group_t	group,
  12219 	bcm_pbmp_t	pbmp)
  12220 {
  12221 	return bcm_field_group_ports_remove(
  12222 			BCM_CONTROL(unit)->unit,
  12223 			group,
  12224 			pbmp);
  12225 }
  12226 
  12227 int
  12228 bcm_loop_field_group_presel_get(
  12229 	int	unit,
  12230 	bcm_field_group_t	group,
  12231 	bcm_field_presel_set_t *	presel)
  12232 {
  12233 	return bcm_field_group_presel_get(
  12234 			BCM_CONTROL(unit)->unit,
  12235 			group,
  12236 			presel);
  12237 }
  12238 
  12239 /* bcm_field_group_presel_info_init not dispatchable */
  12240 
  12241 int
  12242 bcm_loop_field_group_presel_set(
  12243 	int	unit,
  12244 	bcm_field_group_t	group,
  12245 	bcm_field_presel_set_t *	presel)
  12246 {
  12247 	return bcm_field_group_presel_set(
  12248 			BCM_CONTROL(unit)->unit,
  12249 			group,
  12250 			presel);
  12251 }
  12252 
  12253 int
  12254 bcm_loop_field_group_priority_get(
  12255 	int	unit,
  12256 	bcm_field_group_t	group,
  12257 	int *	priority)
  12258 {
  12259 	return bcm_field_group_priority_get(
  12260 			BCM_CONTROL(unit)->unit,
  12261 			group,
  12262 			priority);
  12263 }
  12264 
  12265 int
  12266 bcm_loop_field_group_priority_set(
  12267 	int	unit,
  12268 	bcm_field_group_t	group,
  12269 	int	priority)
  12270 {
  12271 	return bcm_field_group_priority_set(
  12272 			BCM_CONTROL(unit)->unit,
  12273 			group,
  12274 			priority);
  12275 }
  12276 
  12277 int
  12278 bcm_loop_field_group_qualifier_offset_get(
  12279 	int	unit,
  12280 	uint32	flags,
  12281 	bcm_field_group_t	fg_id,
  12282 	bcm_field_qualify_t	qualifier,
  12283 	int *	offset)
  12284 {
  12285 	return bcm_field_group_qualifier_offset_get(
  12286 			BCM_CONTROL(unit)->unit,
  12287 			flags,
  12288 			fg_id,
  12289 			qualifier,
  12290 			offset);
  12291 }
  12292 
  12293 int
  12294 bcm_loop_field_group_remove(
  12295 	int	unit,
  12296 	bcm_field_group_t	group)
  12297 {
  12298 	return bcm_field_group_remove(
  12299 			BCM_CONTROL(unit)->unit,
  12300 			group);
  12301 }
  12302 
  12303 int
  12304 bcm_loop_field_group_set(
  12305 	int	unit,
  12306 	bcm_field_group_t	group,
  12307 	bcm_field_qset_t	qset)
  12308 {
  12309 	return bcm_field_group_set(
  12310 			BCM_CONTROL(unit)->unit,
  12311 			group,
  12312 			qset);
  12313 }
  12314 
  12315 int
  12316 bcm_loop_field_group_status_get(
  12317 	int	unit,
  12318 	bcm_field_group_t	group,
  12319 	bcm_field_group_status_t *	status)
  12320 {
  12321 	return bcm_field_group_status_get(
  12322 			BCM_CONTROL(unit)->unit,
  12323 			group,
  12324 			status);
  12325 }
  12326 
  12327 /* bcm_field_group_status_t_init not dispatchable */
  12328 
  12329 int
  12330 bcm_loop_field_group_traverse(
  12331 	int	unit,
  12332 	bcm_field_group_traverse_cb	callback,
  12333 	void *	user_data)
  12334 {
  12335 	return bcm_field_group_traverse(
  12336 			BCM_CONTROL(unit)->unit,
  12337 			callback,
  12338 			user_data);
  12339 }
  12340 
  12341 int
  12342 bcm_loop_field_group_wlan_create_mode(
  12343 	int	unit,
  12344 	bcm_field_qset_t	qset,
  12345 	int	pri,
  12346 	bcm_field_group_mode_t	mode,
  12347 	bcm_field_group_t *	group)
  12348 {
  12349 	return bcm_field_group_wlan_create_mode(
  12350 			BCM_CONTROL(unit)->unit,
  12351 			qset,
  12352 			pri,
  12353 			mode,
  12354 			group);
  12355 }
  12356 
  12357 int
  12358 bcm_loop_field_group_wlan_create_mode_id(
  12359 	int	unit,
  12360 	bcm_field_qset_t	qset,
  12361 	int	pri,
  12362 	bcm_field_group_mode_t	mode,
  12363 	bcm_field_group_t	group)
  12364 {
  12365 	return bcm_field_group_wlan_create_mode_id(
  12366 			BCM_CONTROL(unit)->unit,
  12367 			qset,
  12368 			pri,
  12369 			mode,
  12370 			group);
  12371 }
  12372 
  12373 /* bcm_field_hint_t_init not dispatchable */
  12374 
  12375 int
  12376 bcm_loop_field_hints_add(
  12377 	int	unit,
  12378 	bcm_field_hintid_t	hint_id,
  12379 	bcm_field_hint_t *	hint)
  12380 {
  12381 	return bcm_field_hints_add(
  12382 			BCM_CONTROL(unit)->unit,
  12383 			hint_id,
  12384 			hint);
  12385 }
  12386 
  12387 int
  12388 bcm_loop_field_hints_create(
  12389 	int	unit,
  12390 	bcm_field_hintid_t *	hint_id)
  12391 {
  12392 	return bcm_field_hints_create(
  12393 			BCM_CONTROL(unit)->unit,
  12394 			hint_id);
  12395 }
  12396 
  12397 int
  12398 bcm_loop_field_hints_delete(
  12399 	int	unit,
  12400 	bcm_field_hintid_t	hint_id,
  12401 	bcm_field_hint_t *	hint)
  12402 {
  12403 	return bcm_field_hints_delete(
  12404 			BCM_CONTROL(unit)->unit,
  12405 			hint_id,
  12406 			hint);
  12407 }
  12408 
  12409 int
  12410 bcm_loop_field_hints_delete_all(
  12411 	int	unit,
  12412 	bcm_field_hintid_t	hint_id)
  12413 {
  12414 	return bcm_field_hints_delete_all(
  12415 			BCM_CONTROL(unit)->unit,
  12416 			hint_id);
  12417 }
  12418 
  12419 int
  12420 bcm_loop_field_hints_destroy(
  12421 	int	unit,
  12422 	bcm_field_hintid_t	hint_id)
  12423 {
  12424 	return bcm_field_hints_destroy(
  12425 			BCM_CONTROL(unit)->unit,
  12426 			hint_id);
  12427 }
  12428 
  12429 int
  12430 bcm_loop_field_hints_get(
  12431 	int	unit,
  12432 	bcm_field_hintid_t	hint_id,
  12433 	bcm_field_hint_t *	hint)
  12434 {
  12435 	return bcm_field_hints_get(
  12436 			BCM_CONTROL(unit)->unit,
  12437 			hint_id,
  12438 			hint);
  12439 }
  12440 
  12441 int
  12442 bcm_loop_field_init(
  12443 	int	unit)
  12444 {
  12445 	return bcm_field_init(
  12446 			BCM_CONTROL(unit)->unit);
  12447 }
  12448 
  12449 int
  12450 bcm_loop_field_internal_to_bcm_action_map(
  12451 	int	unit,
  12452 	uint32	flags,
  12453 	int	internal_action,
  12454 	uint32	bcm_action_size,
  12455 	bcm_field_internal_to_bcm_map_t *	bcm_action_stage,
  12456 	uint32 *	bcm_action_size_actual)
  12457 {
  12458 	return bcm_field_internal_to_bcm_action_map(
  12459 			BCM_CONTROL(unit)->unit,
  12460 			flags,
  12461 			internal_action,
  12462 			bcm_action_size,
  12463 			bcm_action_stage,
  12464 			bcm_action_size_actual);
  12465 }
  12466 
  12467 /* bcm_field_llc_header_t_init not dispatchable */
  12468 
  12469 int
  12470 bcm_loop_field_macsec_DstMacRange_get(
  12471 	int	unit,
  12472 	bcm_mac_t *	lower_limit,
  12473 	bcm_mac_t *	upper_limit)
  12474 {
  12475 	return bcm_field_macsec_DstMacRange_get(
  12476 			BCM_CONTROL(unit)->unit,
  12477 			lower_limit,
  12478 			upper_limit);
  12479 }
  12480 
  12481 int
  12482 bcm_loop_field_macsec_DstMacRange_set(
  12483 	int	unit,
  12484 	bcm_mac_t	lower_limit,
  12485 	bcm_mac_t	upper_limit)
  12486 {
  12487 	return bcm_field_macsec_DstMacRange_set(
  12488 			BCM_CONTROL(unit)->unit,
  12489 			lower_limit,
  12490 			upper_limit);
  12491 }
  12492 
  12493 int
  12494 bcm_loop_field_oam_stat_action_add(
  12495 	int	unit,
  12496 	bcm_field_entry_t	entry,
  12497 	bcm_field_oam_stat_action_t *	oam_stat_action)
  12498 {
  12499 	return bcm_field_oam_stat_action_add(
  12500 			BCM_CONTROL(unit)->unit,
  12501 			entry,
  12502 			oam_stat_action);
  12503 }
  12504 
  12505 int
  12506 bcm_loop_field_oam_stat_action_delete(
  12507 	int	unit,
  12508 	bcm_field_entry_t	entry,
  12509 	bcm_field_oam_stat_action_t *	oam_stat_action)
  12510 {
  12511 	return bcm_field_oam_stat_action_delete(
  12512 			BCM_CONTROL(unit)->unit,
  12513 			entry,
  12514 			oam_stat_action);
  12515 }
  12516 
  12517 int
  12518 bcm_loop_field_oam_stat_action_delete_all(
  12519 	int	unit,
  12520 	bcm_field_entry_t	entry)
  12521 {
  12522 	return bcm_field_oam_stat_action_delete_all(
  12523 			BCM_CONTROL(unit)->unit,
  12524 			entry);
  12525 }
  12526 
  12527 int
  12528 bcm_loop_field_oam_stat_action_get(
  12529 	int	unit,
  12530 	bcm_field_entry_t	entry,
  12531 	bcm_field_oam_stat_action_t *	oam_stat_action)
  12532 {
  12533 	return bcm_field_oam_stat_action_get(
  12534 			BCM_CONTROL(unit)->unit,
  12535 			entry,
  12536 			oam_stat_action);
  12537 }
  12538 
  12539 int
  12540 bcm_loop_field_oam_stat_action_get_all(
  12541 	int	unit,
  12542 	bcm_field_entry_t	entry,
  12543 	int	oam_stat_max,
  12544 	bcm_field_oam_stat_action_t *	oam_stat_action,
  12545 	int *	oam_stat_count)
  12546 {
  12547 	return bcm_field_oam_stat_action_get_all(
  12548 			BCM_CONTROL(unit)->unit,
  12549 			entry,
  12550 			oam_stat_max,
  12551 			oam_stat_action,
  12552 			oam_stat_count);
  12553 }
  12554 
  12555 /* bcm_field_oam_stat_action_t_init not dispatchable */
  12556 
  12557 int
  12558 bcm_loop_field_presel_config_get(
  12559 	int	unit,
  12560 	bcm_field_presel_t	presel_id,
  12561 	bcm_field_presel_config_t *	presel_config)
  12562 {
  12563 	return bcm_field_presel_config_get(
  12564 			BCM_CONTROL(unit)->unit,
  12565 			presel_id,
  12566 			presel_config);
  12567 }
  12568 
  12569 int
  12570 bcm_loop_field_presel_config_set(
  12571 	int	unit,
  12572 	bcm_field_presel_t	presel_id,
  12573 	bcm_field_presel_config_t *	presel_config)
  12574 {
  12575 	return bcm_field_presel_config_set(
  12576 			BCM_CONTROL(unit)->unit,
  12577 			presel_id,
  12578 			presel_config);
  12579 }
  12580 
  12581 /* bcm_field_presel_config_t_init not dispatchable */
  12582 
  12583 int
  12584 bcm_loop_field_presel_create(
  12585 	int	unit,
  12586 	bcm_field_presel_t *	presel_id)
  12587 {
  12588 	return bcm_field_presel_create(
  12589 			BCM_CONTROL(unit)->unit,
  12590 			presel_id);
  12591 }
  12592 
  12593 int
  12594 bcm_loop_field_presel_create_id(
  12595 	int	unit,
  12596 	bcm_field_presel_t	presel_id)
  12597 {
  12598 	return bcm_field_presel_create_id(
  12599 			BCM_CONTROL(unit)->unit,
  12600 			presel_id);
  12601 }
  12602 
  12603 int
  12604 bcm_loop_field_presel_create_stage_id(
  12605 	int	unit,
  12606 	bcm_field_stage_t	stage,
  12607 	bcm_field_presel_t	presel_id)
  12608 {
  12609 	return bcm_field_presel_create_stage_id(
  12610 			BCM_CONTROL(unit)->unit,
  12611 			stage,
  12612 			presel_id);
  12613 }
  12614 
  12615 int
  12616 bcm_loop_field_presel_destroy(
  12617 	int	unit,
  12618 	bcm_field_presel_t	presel_id)
  12619 {
  12620 	return bcm_field_presel_destroy(
  12621 			BCM_CONTROL(unit)->unit,
  12622 			presel_id);
  12623 }
  12624 
  12625 /* bcm_field_presel_entry_data_info_init not dispatchable */
  12626 
  12627 /* bcm_field_presel_entry_id_info_init not dispatchable */
  12628 
  12629 int
  12630 bcm_loop_field_presel_get(
  12631 	int	unit,
  12632 	uint32	flags,
  12633 	bcm_field_presel_entry_id_t *	entry_id,
  12634 	bcm_field_presel_entry_data_t *	entry_data)
  12635 {
  12636 	return bcm_field_presel_get(
  12637 			BCM_CONTROL(unit)->unit,
  12638 			flags,
  12639 			entry_id,
  12640 			entry_data);
  12641 }
  12642 
  12643 int
  12644 bcm_loop_field_presel_set(
  12645 	int	unit,
  12646 	uint32	flags,
  12647 	bcm_field_presel_entry_id_t *	entry_id,
  12648 	bcm_field_presel_entry_data_t *	entry_data)
  12649 {
  12650 	return bcm_field_presel_set(
  12651 			BCM_CONTROL(unit)->unit,
  12652 			flags,
  12653 			entry_id,
  12654 			entry_data);
  12655 }
  12656 
  12657 /* bcm_field_presel_set_t_init not dispatchable */
  12658 
  12659 int
  12660 bcm_loop_field_qset_data_qualifier_add(
  12661 	int	unit,
  12662 	bcm_field_qset_t *	qset,
  12663 	int	qual_id)
  12664 {
  12665 	return bcm_field_qset_data_qualifier_add(
  12666 			BCM_CONTROL(unit)->unit,
  12667 			qset,
  12668 			qual_id);
  12669 }
  12670 
  12671 int
  12672 bcm_loop_field_qset_data_qualifier_delete(
  12673 	int	unit,
  12674 	bcm_field_qset_t *	qset,
  12675 	int	qual_id)
  12676 {
  12677 	return bcm_field_qset_data_qualifier_delete(
  12678 			BCM_CONTROL(unit)->unit,
  12679 			qset,
  12680 			qual_id);
  12681 }
  12682 
  12683 int
  12684 bcm_loop_field_qset_data_qualifier_get(
  12685 	int	unit,
  12686 	bcm_field_qset_t	qset,
  12687 	int	qual_max,
  12688 	int *	qual_arr,
  12689 	int *	qual_count)
  12690 {
  12691 	return bcm_field_qset_data_qualifier_get(
  12692 			BCM_CONTROL(unit)->unit,
  12693 			qset,
  12694 			qual_max,
  12695 			qual_arr,
  12696 			qual_count);
  12697 }
  12698 
  12699 int
  12700 bcm_loop_field_qset_id_multi_delete(
  12701 	int	unit,
  12702 	bcm_field_qualify_t	qualifier,
  12703 	int	num_objects,
  12704 	int *	object_list,
  12705 	bcm_field_qset_t *	qset)
  12706 {
  12707 	return bcm_field_qset_id_multi_delete(
  12708 			BCM_CONTROL(unit)->unit,
  12709 			qualifier,
  12710 			num_objects,
  12711 			object_list,
  12712 			qset);
  12713 }
  12714 
  12715 int
  12716 bcm_loop_field_qset_id_multi_get(
  12717 	int	unit,
  12718 	bcm_field_qset_t	qset,
  12719 	bcm_field_qualify_t	qualifier,
  12720 	int	max_objects,
  12721 	int *	object_list,
  12722 	int *	count_objects)
  12723 {
  12724 	return bcm_field_qset_id_multi_get(
  12725 			BCM_CONTROL(unit)->unit,
  12726 			qset,
  12727 			qualifier,
  12728 			max_objects,
  12729 			object_list,
  12730 			count_objects);
  12731 }
  12732 
  12733 int
  12734 bcm_loop_field_qset_id_multi_set(
  12735 	int	unit,
  12736 	bcm_field_qualify_t	qualifier,
  12737 	int	num_objects,
  12738 	int *	object_list,
  12739 	bcm_field_qset_t *	qset)
  12740 {
  12741 	return bcm_field_qset_id_multi_set(
  12742 			BCM_CONTROL(unit)->unit,
  12743 			qualifier,
  12744 			num_objects,
  12745 			object_list,
  12746 			qset);
  12747 }
  12748 
  12749 /* bcm_field_qset_t_init not dispatchable */
  12750 
  12751 /* bcm_field_qual_attach_info_t_init not dispatchable */
  12752 
  12753 int
  12754 bcm_loop_field_qualifier_create(
  12755 	int	unit,
  12756 	uint32	flags,
  12757 	bcm_field_qualifier_info_create_t *	qual_info,
  12758 	bcm_field_qualify_t *	qual_id)
  12759 {
  12760 	return bcm_field_qualifier_create(
  12761 			BCM_CONTROL(unit)->unit,
  12762 			flags,
  12763 			qual_info,
  12764 			qual_id);
  12765 }
  12766 
  12767 int
  12768 bcm_loop_field_qualifier_delete(
  12769 	int	unit,
  12770 	bcm_field_entry_t	entry,
  12771 	bcm_field_qualify_t	qual_id)
  12772 {
  12773 	return bcm_field_qualifier_delete(
  12774 			BCM_CONTROL(unit)->unit,
  12775 			entry,
  12776 			qual_id);
  12777 }
  12778 
  12779 int
  12780 bcm_loop_field_qualifier_destroy(
  12781 	int	unit,
  12782 	bcm_field_qualify_t	qual_id)
  12783 {
  12784 	return bcm_field_qualifier_destroy(
  12785 			BCM_CONTROL(unit)->unit,
  12786 			qual_id);
  12787 }
  12788 
  12789 /* bcm_field_qualifier_info_create_t_init not dispatchable */
  12790 
  12791 int
  12792 bcm_loop_field_qualifier_info_get(
  12793 	int	unit,
  12794 	bcm_field_qualify_t	qual_id,
  12795 	bcm_field_stage_t	stage,
  12796 	bcm_field_qualifier_info_get_t *	qual_info)
  12797 {
  12798 	return bcm_field_qualifier_info_get(
  12799 			BCM_CONTROL(unit)->unit,
  12800 			qual_id,
  12801 			stage,
  12802 			qual_info);
  12803 }
  12804 
  12805 /* bcm_field_qualifier_info_get_t_init not dispatchable */
  12806 
  12807 int
  12808 bcm_loop_field_qualifier_value_map(
  12809 	int	unit,
  12810 	bcm_field_stage_t	stage,
  12811 	bcm_field_qualify_t	bcm_qual,
  12812 	uint32	bcm_value[BCM_FIELD_QUAL_WIDTH_IN_WORDS],
  12813 	uint32	hw_value[BCM_FIELD_QUAL_WIDTH_IN_WORDS])
  12814 {
  12815 	return bcm_field_qualifier_value_map(
  12816 			BCM_CONTROL(unit)->unit,
  12817 			stage,
  12818 			bcm_qual,
  12819 			bcm_value,
  12820 			hw_value);
  12821 }
  12822 
  12823 int
  12824 bcm_loop_field_qualify_AppType(
  12825 	int	unit,
  12826 	bcm_field_entry_t	entry,
  12827 	bcm_field_AppType_t	type)
  12828 {
  12829 	return bcm_field_qualify_AppType(
  12830 			BCM_CONTROL(unit)->unit,
  12831 			entry,
  12832 			type);
  12833 }
  12834 
  12835 int
  12836 bcm_loop_field_qualify_AppType_get(
  12837 	int	unit,
  12838 	bcm_field_entry_t	entry,
  12839 	bcm_field_AppType_t *	type)
  12840 {
  12841 	return bcm_field_qualify_AppType_get(
  12842 			BCM_CONTROL(unit)->unit,
  12843 			entry,
  12844 			type);
  12845 }
  12846 
  12847 int
  12848 bcm_loop_field_qualify_ArpOpcode(
  12849 	int	unit,
  12850 	bcm_field_entry_t	entry,
  12851 	bcm_field_ArpOpcode_t	data)
  12852 {
  12853 	return bcm_field_qualify_ArpOpcode(
  12854 			BCM_CONTROL(unit)->unit,
  12855 			entry,
  12856 			data);
  12857 }
  12858 
  12859 int
  12860 bcm_loop_field_qualify_ArpOpcode_get(
  12861 	int	unit,
  12862 	bcm_field_entry_t	entry,
  12863 	bcm_field_ArpOpcode_t *	data)
  12864 {
  12865 	return bcm_field_qualify_ArpOpcode_get(
  12866 			BCM_CONTROL(unit)->unit,
  12867 			entry,
  12868 			data);
  12869 }
  12870 
  12871 int
  12872 bcm_loop_field_qualify_ArpSenderIp4(
  12873 	int	unit,
  12874 	bcm_field_entry_t	entry,
  12875 	uint32	data,
  12876 	uint32	mask)
  12877 {
  12878 	return bcm_field_qualify_ArpSenderIp4(
  12879 			BCM_CONTROL(unit)->unit,
  12880 			entry,
  12881 			data,
  12882 			mask);
  12883 }
  12884 
  12885 int
  12886 bcm_loop_field_qualify_ArpSenderIp4_get(
  12887 	int	unit,
  12888 	bcm_field_entry_t	entry,
  12889 	uint32 *	data,
  12890 	uint32 *	mask)
  12891 {
  12892 	return bcm_field_qualify_ArpSenderIp4_get(
  12893 			BCM_CONTROL(unit)->unit,
  12894 			entry,
  12895 			data,
  12896 			mask);
  12897 }
  12898 
  12899 int
  12900 bcm_loop_field_qualify_ArpTargetIp4(
  12901 	int	unit,
  12902 	bcm_field_entry_t	entry,
  12903 	uint32	data,
  12904 	uint32	mask)
  12905 {
  12906 	return bcm_field_qualify_ArpTargetIp4(
  12907 			BCM_CONTROL(unit)->unit,
  12908 			entry,
  12909 			data,
  12910 			mask);
  12911 }
  12912 
  12913 int
  12914 bcm_loop_field_qualify_ArpTargetIp4_get(
  12915 	int	unit,
  12916 	bcm_field_entry_t	entry,
  12917 	uint32 *	data,
  12918 	uint32 *	mask)
  12919 {
  12920 	return bcm_field_qualify_ArpTargetIp4_get(
  12921 			BCM_CONTROL(unit)->unit,
  12922 			entry,
  12923 			data,
  12924 			mask);
  12925 }
  12926 
  12927 int
  12928 bcm_loop_field_qualify_BfdGoodPkt(
  12929 	int	unit,
  12930 	bcm_field_entry_t	entry,
  12931 	uint8	data,
  12932 	uint8	mask)
  12933 {
  12934 	return bcm_field_qualify_BfdGoodPkt(
  12935 			BCM_CONTROL(unit)->unit,
  12936 			entry,
  12937 			data,
  12938 			mask);
  12939 }
  12940 
  12941 int
  12942 bcm_loop_field_qualify_BfdGoodPkt_get(
  12943 	int	unit,
  12944 	bcm_field_entry_t	entry,
  12945 	uint8 *	data,
  12946 	uint8 *	mask)
  12947 {
  12948 	return bcm_field_qualify_BfdGoodPkt_get(
  12949 			BCM_CONTROL(unit)->unit,
  12950 			entry,
  12951 			data,
  12952 			mask);
  12953 }
  12954 
  12955 int
  12956 bcm_loop_field_qualify_BfdPktVersionOne(
  12957 	int	unit,
  12958 	bcm_field_entry_t	entry,
  12959 	uint8	data,
  12960 	uint8	mask)
  12961 {
  12962 	return bcm_field_qualify_BfdPktVersionOne(
  12963 			BCM_CONTROL(unit)->unit,
  12964 			entry,
  12965 			data,
  12966 			mask);
  12967 }
  12968 
  12969 int
  12970 bcm_loop_field_qualify_BfdPktVersionOne_get(
  12971 	int	unit,
  12972 	bcm_field_entry_t	entry,
  12973 	uint8 *	data,
  12974 	uint8 *	mask)
  12975 {
  12976 	return bcm_field_qualify_BfdPktVersionOne_get(
  12977 			BCM_CONTROL(unit)->unit,
  12978 			entry,
  12979 			data,
  12980 			mask);
  12981 }
  12982 
  12983 int
  12984 bcm_loop_field_qualify_BfdPktWithDstIpLoopbackAddr(
  12985 	int	unit,
  12986 	bcm_field_entry_t	entry,
  12987 	uint8	data,
  12988 	uint8	mask)
  12989 {
  12990 	return bcm_field_qualify_BfdPktWithDstIpLoopbackAddr(
  12991 			BCM_CONTROL(unit)->unit,
  12992 			entry,
  12993 			data,
  12994 			mask);
  12995 }
  12996 
  12997 int
  12998 bcm_loop_field_qualify_BfdPktWithDstIpLoopbackAddr_get(
  12999 	int	unit,
  13000 	bcm_field_entry_t	entry,
  13001 	uint8 *	data,
  13002 	uint8 *	mask)
  13003 {
  13004 	return bcm_field_qualify_BfdPktWithDstIpLoopbackAddr_get(
  13005 			BCM_CONTROL(unit)->unit,
  13006 			entry,
  13007 			data,
  13008 			mask);
  13009 }
  13010 
  13011 int
  13012 bcm_loop_field_qualify_BfdYourDiscriminator(
  13013 	int	unit,
  13014 	bcm_field_entry_t	entry,
  13015 	uint32	data,
  13016 	uint32	mask)
  13017 {
  13018 	return bcm_field_qualify_BfdYourDiscriminator(
  13019 			BCM_CONTROL(unit)->unit,
  13020 			entry,
  13021 			data,
  13022 			mask);
  13023 }
  13024 
  13025 int
  13026 bcm_loop_field_qualify_BfdYourDiscriminator_get(
  13027 	int	unit,
  13028 	bcm_field_entry_t	entry,
  13029 	uint32 *	data,
  13030 	uint32 *	mask)
  13031 {
  13032 	return bcm_field_qualify_BfdYourDiscriminator_get(
  13033 			BCM_CONTROL(unit)->unit,
  13034 			entry,
  13035 			data,
  13036 			mask);
  13037 }
  13038 
  13039 int
  13040 bcm_loop_field_qualify_BypassFilter(
  13041 	int	unit,
  13042 	bcm_field_entry_t	entry,
  13043 	uint8	data,
  13044 	uint8	mask)
  13045 {
  13046 	return bcm_field_qualify_BypassFilter(
  13047 			BCM_CONTROL(unit)->unit,
  13048 			entry,
  13049 			data,
  13050 			mask);
  13051 }
  13052 
  13053 int
  13054 bcm_loop_field_qualify_BypassFilter32(
  13055 	int	unit,
  13056 	bcm_field_entry_t	entry,
  13057 	uint32	data,
  13058 	uint32	mask)
  13059 {
  13060 	return bcm_field_qualify_BypassFilter32(
  13061 			BCM_CONTROL(unit)->unit,
  13062 			entry,
  13063 			data,
  13064 			mask);
  13065 }
  13066 
  13067 int
  13068 bcm_loop_field_qualify_BypassFilter32_get(
  13069 	int	unit,
  13070 	bcm_field_entry_t	entry,
  13071 	uint32 *	data,
  13072 	uint32 *	mask)
  13073 {
  13074 	return bcm_field_qualify_BypassFilter32_get(
  13075 			BCM_CONTROL(unit)->unit,
  13076 			entry,
  13077 			data,
  13078 			mask);
  13079 }
  13080 
  13081 int
  13082 bcm_loop_field_qualify_BypassFilter_get(
  13083 	int	unit,
  13084 	bcm_field_entry_t	entry,
  13085 	uint8 *	data,
  13086 	uint8 *	mask)
  13087 {
  13088 	return bcm_field_qualify_BypassFilter_get(
  13089 			BCM_CONTROL(unit)->unit,
  13090 			entry,
  13091 			data,
  13092 			mask);
  13093 }
  13094 
  13095 int
  13096 bcm_loop_field_qualify_BypassSrcMacFilter(
  13097 	int	unit,
  13098 	bcm_field_entry_t	entry,
  13099 	uint8	data,
  13100 	uint8	mask)
  13101 {
  13102 	return bcm_field_qualify_BypassSrcMacFilter(
  13103 			BCM_CONTROL(unit)->unit,
  13104 			entry,
  13105 			data,
  13106 			mask);
  13107 }
  13108 
  13109 int
  13110 bcm_loop_field_qualify_BypassSrcMacFilter_get(
  13111 	int	unit,
  13112 	bcm_field_entry_t	entry,
  13113 	uint8 *	data,
  13114 	uint8 *	mask)
  13115 {
  13116 	return bcm_field_qualify_BypassSrcMacFilter_get(
  13117 			BCM_CONTROL(unit)->unit,
  13118 			entry,
  13119 			data,
  13120 			mask);
  13121 }
  13122 
  13123 int
  13124 bcm_loop_field_qualify_CapwapHdrRid(
  13125 	int	unit,
  13126 	bcm_field_entry_t	entry,
  13127 	uint8	data,
  13128 	uint8	mask)
  13129 {
  13130 	return bcm_field_qualify_CapwapHdrRid(
  13131 			BCM_CONTROL(unit)->unit,
  13132 			entry,
  13133 			data,
  13134 			mask);
  13135 }
  13136 
  13137 int
  13138 bcm_loop_field_qualify_CapwapHdrRid_get(
  13139 	int	unit,
  13140 	bcm_field_entry_t	entry,
  13141 	uint8 *	data,
  13142 	uint8 *	mask)
  13143 {
  13144 	return bcm_field_qualify_CapwapHdrRid_get(
  13145 			BCM_CONTROL(unit)->unit,
  13146 			entry,
  13147 			data,
  13148 			mask);
  13149 }
  13150 
  13151 int
  13152 bcm_loop_field_qualify_CapwapHdrType(
  13153 	int	unit,
  13154 	bcm_field_entry_t	entry,
  13155 	uint8	data,
  13156 	uint8	mask)
  13157 {
  13158 	return bcm_field_qualify_CapwapHdrType(
  13159 			BCM_CONTROL(unit)->unit,
  13160 			entry,
  13161 			data,
  13162 			mask);
  13163 }
  13164 
  13165 int
  13166 bcm_loop_field_qualify_CapwapHdrType_get(
  13167 	int	unit,
  13168 	bcm_field_entry_t	entry,
  13169 	uint8 *	data,
  13170 	uint8 *	mask)
  13171 {
  13172 	return bcm_field_qualify_CapwapHdrType_get(
  13173 			BCM_CONTROL(unit)->unit,
  13174 			entry,
  13175 			data,
  13176 			mask);
  13177 }
  13178 
  13179 int
  13180 bcm_loop_field_qualify_CapwapPayloadDip(
  13181 	int	unit,
  13182 	bcm_field_entry_t	entry,
  13183 	bcm_ip_t	data,
  13184 	bcm_ip_t	mask)
  13185 {
  13186 	return bcm_field_qualify_CapwapPayloadDip(
  13187 			BCM_CONTROL(unit)->unit,
  13188 			entry,
  13189 			data,
  13190 			mask);
  13191 }
  13192 
  13193 int
  13194 bcm_loop_field_qualify_CapwapPayloadDip6(
  13195 	int	unit,
  13196 	bcm_field_entry_t	entry,
  13197 	bcm_ip6_t	data,
  13198 	bcm_ip6_t	mask)
  13199 {
  13200 	return bcm_field_qualify_CapwapPayloadDip6(
  13201 			BCM_CONTROL(unit)->unit,
  13202 			entry,
  13203 			data,
  13204 			mask);
  13205 }
  13206 
  13207 int
  13208 bcm_loop_field_qualify_CapwapPayloadDip6_get(
  13209 	int	unit,
  13210 	bcm_field_entry_t	entry,
  13211 	bcm_ip6_t *	data,
  13212 	bcm_ip6_t *	mask)
  13213 {
  13214 	return bcm_field_qualify_CapwapPayloadDip6_get(
  13215 			BCM_CONTROL(unit)->unit,
  13216 			entry,
  13217 			data,
  13218 			mask);
  13219 }
  13220 
  13221 int
  13222 bcm_loop_field_qualify_CapwapPayloadDip_get(
  13223 	int	unit,
  13224 	bcm_field_entry_t	entry,
  13225 	bcm_ip_t *	data,
  13226 	bcm_ip_t *	mask)
  13227 {
  13228 	return bcm_field_qualify_CapwapPayloadDip_get(
  13229 			BCM_CONTROL(unit)->unit,
  13230 			entry,
  13231 			data,
  13232 			mask);
  13233 }
  13234 
  13235 int
  13236 bcm_loop_field_qualify_CapwapPayloadDstMac(
  13237 	int	unit,
  13238 	bcm_field_entry_t	entry,
  13239 	bcm_mac_t	data,
  13240 	bcm_mac_t	mask)
  13241 {
  13242 	return bcm_field_qualify_CapwapPayloadDstMac(
  13243 			BCM_CONTROL(unit)->unit,
  13244 			entry,
  13245 			data,
  13246 			mask);
  13247 }
  13248 
  13249 int
  13250 bcm_loop_field_qualify_CapwapPayloadDstMac_get(
  13251 	int	unit,
  13252 	bcm_field_entry_t	entry,
  13253 	bcm_mac_t *	data,
  13254 	bcm_mac_t *	mask)
  13255 {
  13256 	return bcm_field_qualify_CapwapPayloadDstMac_get(
  13257 			BCM_CONTROL(unit)->unit,
  13258 			entry,
  13259 			data,
  13260 			mask);
  13261 }
  13262 
  13263 int
  13264 bcm_loop_field_qualify_CapwapPayloadEtherType(
  13265 	int	unit,
  13266 	bcm_field_entry_t	entry,
  13267 	uint16	data,
  13268 	uint16	mask)
  13269 {
  13270 	return bcm_field_qualify_CapwapPayloadEtherType(
  13271 			BCM_CONTROL(unit)->unit,
  13272 			entry,
  13273 			data,
  13274 			mask);
  13275 }
  13276 
  13277 int
  13278 bcm_loop_field_qualify_CapwapPayloadEtherType_get(
  13279 	int	unit,
  13280 	bcm_field_entry_t	entry,
  13281 	uint16 *	data,
  13282 	uint16 *	mask)
  13283 {
  13284 	return bcm_field_qualify_CapwapPayloadEtherType_get(
  13285 			BCM_CONTROL(unit)->unit,
  13286 			entry,
  13287 			data,
  13288 			mask);
  13289 }
  13290 
  13291 int
  13292 bcm_loop_field_qualify_CapwapPayloadInnerVlan(
  13293 	int	unit,
  13294 	bcm_field_entry_t	entry,
  13295 	bcm_vlan_t	data,
  13296 	bcm_vlan_t	mask)
  13297 {
  13298 	return bcm_field_qualify_CapwapPayloadInnerVlan(
  13299 			BCM_CONTROL(unit)->unit,
  13300 			entry,
  13301 			data,
  13302 			mask);
  13303 }
  13304 
  13305 int
  13306 bcm_loop_field_qualify_CapwapPayloadInnerVlanCfi(
  13307 	int	unit,
  13308 	bcm_field_entry_t	entry,
  13309 	uint8	data,
  13310 	uint8	mask)
  13311 {
  13312 	return bcm_field_qualify_CapwapPayloadInnerVlanCfi(
  13313 			BCM_CONTROL(unit)->unit,
  13314 			entry,
  13315 			data,
  13316 			mask);
  13317 }
  13318 
  13319 int
  13320 bcm_loop_field_qualify_CapwapPayloadInnerVlanCfi_get(
  13321 	int	unit,
  13322 	bcm_field_entry_t	entry,
  13323 	uint8 *	data,
  13324 	uint8 *	mask)
  13325 {
  13326 	return bcm_field_qualify_CapwapPayloadInnerVlanCfi_get(
  13327 			BCM_CONTROL(unit)->unit,
  13328 			entry,
  13329 			data,
  13330 			mask);
  13331 }
  13332 
  13333 int
  13334 bcm_loop_field_qualify_CapwapPayloadInnerVlanId(
  13335 	int	unit,
  13336 	bcm_field_entry_t	entry,
  13337 	bcm_vlan_t	data,
  13338 	bcm_vlan_t	mask)
  13339 {
  13340 	return bcm_field_qualify_CapwapPayloadInnerVlanId(
  13341 			BCM_CONTROL(unit)->unit,
  13342 			entry,
  13343 			data,
  13344 			mask);
  13345 }
  13346 
  13347 int
  13348 bcm_loop_field_qualify_CapwapPayloadInnerVlanId_get(
  13349 	int	unit,
  13350 	bcm_field_entry_t	entry,
  13351 	bcm_vlan_t *	data,
  13352 	bcm_vlan_t *	mask)
  13353 {
  13354 	return bcm_field_qualify_CapwapPayloadInnerVlanId_get(
  13355 			BCM_CONTROL(unit)->unit,
  13356 			entry,
  13357 			data,
  13358 			mask);
  13359 }
  13360 
  13361 int
  13362 bcm_loop_field_qualify_CapwapPayloadInnerVlanPri(
  13363 	int	unit,
  13364 	bcm_field_entry_t	entry,
  13365 	uint8	data,
  13366 	uint8	mask)
  13367 {
  13368 	return bcm_field_qualify_CapwapPayloadInnerVlanPri(
  13369 			BCM_CONTROL(unit)->unit,
  13370 			entry,
  13371 			data,
  13372 			mask);
  13373 }
  13374 
  13375 int
  13376 bcm_loop_field_qualify_CapwapPayloadInnerVlanPri_get(
  13377 	int	unit,
  13378 	bcm_field_entry_t	entry,
  13379 	uint8 *	data,
  13380 	uint8 *	mask)
  13381 {
  13382 	return bcm_field_qualify_CapwapPayloadInnerVlanPri_get(
  13383 			BCM_CONTROL(unit)->unit,
  13384 			entry,
  13385 			data,
  13386 			mask);
  13387 }
  13388 
  13389 int
  13390 bcm_loop_field_qualify_CapwapPayloadInnerVlan_get(
  13391 	int	unit,
  13392 	bcm_field_entry_t	entry,
  13393 	bcm_vlan_t *	data,
  13394 	bcm_vlan_t *	mask)
  13395 {
  13396 	return bcm_field_qualify_CapwapPayloadInnerVlan_get(
  13397 			BCM_CONTROL(unit)->unit,
  13398 			entry,
  13399 			data,
  13400 			mask);
  13401 }
  13402 
  13403 int
  13404 bcm_loop_field_qualify_CapwapPayloadIpProtocol(
  13405 	int	unit,
  13406 	bcm_field_entry_t	entry,
  13407 	uint8	data,
  13408 	uint8	mask)
  13409 {
  13410 	return bcm_field_qualify_CapwapPayloadIpProtocol(
  13411 			BCM_CONTROL(unit)->unit,
  13412 			entry,
  13413 			data,
  13414 			mask);
  13415 }
  13416 
  13417 int
  13418 bcm_loop_field_qualify_CapwapPayloadIpProtocol_get(
  13419 	int	unit,
  13420 	bcm_field_entry_t	entry,
  13421 	uint8 *	data,
  13422 	uint8 *	mask)
  13423 {
  13424 	return bcm_field_qualify_CapwapPayloadIpProtocol_get(
  13425 			BCM_CONTROL(unit)->unit,
  13426 			entry,
  13427 			data,
  13428 			mask);
  13429 }
  13430 
  13431 int
  13432 bcm_loop_field_qualify_CapwapPayloadL3HdrParseable(
  13433 	int	unit,
  13434 	bcm_field_entry_t	entry,
  13435 	uint8	data,
  13436 	uint8	mask)
  13437 {
  13438 	return bcm_field_qualify_CapwapPayloadL3HdrParseable(
  13439 			BCM_CONTROL(unit)->unit,
  13440 			entry,
  13441 			data,
  13442 			mask);
  13443 }
  13444 
  13445 int
  13446 bcm_loop_field_qualify_CapwapPayloadL3HdrParseable_get(
  13447 	int	unit,
  13448 	bcm_field_entry_t	entry,
  13449 	uint8 *	data,
  13450 	uint8 *	mask)
  13451 {
  13452 	return bcm_field_qualify_CapwapPayloadL3HdrParseable_get(
  13453 			BCM_CONTROL(unit)->unit,
  13454 			entry,
  13455 			data,
  13456 			mask);
  13457 }
  13458 
  13459 int
  13460 bcm_loop_field_qualify_CapwapPayloadL4DstPort(
  13461 	int	unit,
  13462 	bcm_field_entry_t	entry,
  13463 	bcm_l4_port_t	data,
  13464 	bcm_l4_port_t	mask)
  13465 {
  13466 	return bcm_field_qualify_CapwapPayloadL4DstPort(
  13467 			BCM_CONTROL(unit)->unit,
  13468 			entry,
  13469 			data,
  13470 			mask);
  13471 }
  13472 
  13473 int
  13474 bcm_loop_field_qualify_CapwapPayloadL4DstPort_get(
  13475 	int	unit,
  13476 	bcm_field_entry_t	entry,
  13477 	bcm_l4_port_t *	data,
  13478 	bcm_l4_port_t *	mask)
  13479 {
  13480 	return bcm_field_qualify_CapwapPayloadL4DstPort_get(
  13481 			BCM_CONTROL(unit)->unit,
  13482 			entry,
  13483 			data,
  13484 			mask);
  13485 }
  13486 
  13487 int
  13488 bcm_loop_field_qualify_CapwapPayloadL4HdrParseable(
  13489 	int	unit,
  13490 	bcm_field_entry_t	entry,
  13491 	uint8	data,
  13492 	uint8	mask)
  13493 {
  13494 	return bcm_field_qualify_CapwapPayloadL4HdrParseable(
  13495 			BCM_CONTROL(unit)->unit,
  13496 			entry,
  13497 			data,
  13498 			mask);
  13499 }
  13500 
  13501 int
  13502 bcm_loop_field_qualify_CapwapPayloadL4HdrParseable_get(
  13503 	int	unit,
  13504 	bcm_field_entry_t	entry,
  13505 	uint8 *	data,
  13506 	uint8 *	mask)
  13507 {
  13508 	return bcm_field_qualify_CapwapPayloadL4HdrParseable_get(
  13509 			BCM_CONTROL(unit)->unit,
  13510 			entry,
  13511 			data,
  13512 			mask);
  13513 }
  13514 
  13515 int
  13516 bcm_loop_field_qualify_CapwapPayloadL4SrcPort(
  13517 	int	unit,
  13518 	bcm_field_entry_t	entry,
  13519 	bcm_l4_port_t	data,
  13520 	bcm_l4_port_t	mask)
  13521 {
  13522 	return bcm_field_qualify_CapwapPayloadL4SrcPort(
  13523 			BCM_CONTROL(unit)->unit,
  13524 			entry,
  13525 			data,
  13526 			mask);
  13527 }
  13528 
  13529 int
  13530 bcm_loop_field_qualify_CapwapPayloadL4SrcPort_get(
  13531 	int	unit,
  13532 	bcm_field_entry_t	entry,
  13533 	bcm_l4_port_t *	data,
  13534 	bcm_l4_port_t *	mask)
  13535 {
  13536 	return bcm_field_qualify_CapwapPayloadL4SrcPort_get(
  13537 			BCM_CONTROL(unit)->unit,
  13538 			entry,
  13539 			data,
  13540 			mask);
  13541 }
  13542 
  13543 int
  13544 bcm_loop_field_qualify_CapwapPayloadOuterVlan(
  13545 	int	unit,
  13546 	bcm_field_entry_t	entry,
  13547 	bcm_vlan_t	data,
  13548 	bcm_vlan_t	mask)
  13549 {
  13550 	return bcm_field_qualify_CapwapPayloadOuterVlan(
  13551 			BCM_CONTROL(unit)->unit,
  13552 			entry,
  13553 			data,
  13554 			mask);
  13555 }
  13556 
  13557 int
  13558 bcm_loop_field_qualify_CapwapPayloadOuterVlanCfi(
  13559 	int	unit,
  13560 	bcm_field_entry_t	entry,
  13561 	uint8	data,
  13562 	uint8	mask)
  13563 {
  13564 	return bcm_field_qualify_CapwapPayloadOuterVlanCfi(
  13565 			BCM_CONTROL(unit)->unit,
  13566 			entry,
  13567 			data,
  13568 			mask);
  13569 }
  13570 
  13571 int
  13572 bcm_loop_field_qualify_CapwapPayloadOuterVlanCfi_get(
  13573 	int	unit,
  13574 	bcm_field_entry_t	entry,
  13575 	uint8 *	data,
  13576 	uint8 *	mask)
  13577 {
  13578 	return bcm_field_qualify_CapwapPayloadOuterVlanCfi_get(
  13579 			BCM_CONTROL(unit)->unit,
  13580 			entry,
  13581 			data,
  13582 			mask);
  13583 }
  13584 
  13585 int
  13586 bcm_loop_field_qualify_CapwapPayloadOuterVlanId(
  13587 	int	unit,
  13588 	bcm_field_entry_t	entry,
  13589 	bcm_vlan_t	data,
  13590 	bcm_vlan_t	mask)
  13591 {
  13592 	return bcm_field_qualify_CapwapPayloadOuterVlanId(
  13593 			BCM_CONTROL(unit)->unit,
  13594 			entry,
  13595 			data,
  13596 			mask);
  13597 }
  13598 
  13599 int
  13600 bcm_loop_field_qualify_CapwapPayloadOuterVlanId_get(
  13601 	int	unit,
  13602 	bcm_field_entry_t	entry,
  13603 	bcm_vlan_t *	data,
  13604 	bcm_vlan_t *	mask)
  13605 {
  13606 	return bcm_field_qualify_CapwapPayloadOuterVlanId_get(
  13607 			BCM_CONTROL(unit)->unit,
  13608 			entry,
  13609 			data,
  13610 			mask);
  13611 }
  13612 
  13613 int
  13614 bcm_loop_field_qualify_CapwapPayloadOuterVlanPri(
  13615 	int	unit,
  13616 	bcm_field_entry_t	entry,
  13617 	uint8	data,
  13618 	uint8	mask)
  13619 {
  13620 	return bcm_field_qualify_CapwapPayloadOuterVlanPri(
  13621 			BCM_CONTROL(unit)->unit,
  13622 			entry,
  13623 			data,
  13624 			mask);
  13625 }
  13626 
  13627 int
  13628 bcm_loop_field_qualify_CapwapPayloadOuterVlanPri_get(
  13629 	int	unit,
  13630 	bcm_field_entry_t	entry,
  13631 	uint8 *	data,
  13632 	uint8 *	mask)
  13633 {
  13634 	return bcm_field_qualify_CapwapPayloadOuterVlanPri_get(
  13635 			BCM_CONTROL(unit)->unit,
  13636 			entry,
  13637 			data,
  13638 			mask);
  13639 }
  13640 
  13641 int
  13642 bcm_loop_field_qualify_CapwapPayloadOuterVlan_get(
  13643 	int	unit,
  13644 	bcm_field_entry_t	entry,
  13645 	bcm_vlan_t *	data,
  13646 	bcm_vlan_t *	mask)
  13647 {
  13648 	return bcm_field_qualify_CapwapPayloadOuterVlan_get(
  13649 			BCM_CONTROL(unit)->unit,
  13650 			entry,
  13651 			data,
  13652 			mask);
  13653 }
  13654 
  13655 int
  13656 bcm_loop_field_qualify_CapwapPayloadSOF(
  13657 	int	unit,
  13658 	bcm_field_entry_t	entry,
  13659 	uint8	data,
  13660 	uint8	mask)
  13661 {
  13662 	return bcm_field_qualify_CapwapPayloadSOF(
  13663 			BCM_CONTROL(unit)->unit,
  13664 			entry,
  13665 			data,
  13666 			mask);
  13667 }
  13668 
  13669 int
  13670 bcm_loop_field_qualify_CapwapPayloadSOF_get(
  13671 	int	unit,
  13672 	bcm_field_entry_t	entry,
  13673 	uint8 *	data,
  13674 	uint8 *	mask)
  13675 {
  13676 	return bcm_field_qualify_CapwapPayloadSOF_get(
  13677 			BCM_CONTROL(unit)->unit,
  13678 			entry,
  13679 			data,
  13680 			mask);
  13681 }
  13682 
  13683 int
  13684 bcm_loop_field_qualify_CapwapPayloadSip(
  13685 	int	unit,
  13686 	bcm_field_entry_t	entry,
  13687 	bcm_ip_t	data,
  13688 	bcm_ip_t	mask)
  13689 {
  13690 	return bcm_field_qualify_CapwapPayloadSip(
  13691 			BCM_CONTROL(unit)->unit,
  13692 			entry,
  13693 			data,
  13694 			mask);
  13695 }
  13696 
  13697 int
  13698 bcm_loop_field_qualify_CapwapPayloadSip6(
  13699 	int	unit,
  13700 	bcm_field_entry_t	entry,
  13701 	bcm_ip6_t	data,
  13702 	bcm_ip6_t	mask)
  13703 {
  13704 	return bcm_field_qualify_CapwapPayloadSip6(
  13705 			BCM_CONTROL(unit)->unit,
  13706 			entry,
  13707 			data,
  13708 			mask);
  13709 }
  13710 
  13711 int
  13712 bcm_loop_field_qualify_CapwapPayloadSip6_get(
  13713 	int	unit,
  13714 	bcm_field_entry_t	entry,
  13715 	bcm_ip6_t *	data,
  13716 	bcm_ip6_t *	mask)
  13717 {
  13718 	return bcm_field_qualify_CapwapPayloadSip6_get(
  13719 			BCM_CONTROL(unit)->unit,
  13720 			entry,
  13721 			data,
  13722 			mask);
  13723 }
  13724 
  13725 int
  13726 bcm_loop_field_qualify_CapwapPayloadSip_get(
  13727 	int	unit,
  13728 	bcm_field_entry_t	entry,
  13729 	bcm_ip_t *	data,
  13730 	bcm_ip_t *	mask)
  13731 {
  13732 	return bcm_field_qualify_CapwapPayloadSip_get(
  13733 			BCM_CONTROL(unit)->unit,
  13734 			entry,
  13735 			data,
  13736 			mask);
  13737 }
  13738 
  13739 int
  13740 bcm_loop_field_qualify_CapwapPayloadSrcMac(
  13741 	int	unit,
  13742 	bcm_field_entry_t	entry,
  13743 	bcm_mac_t	data,
  13744 	bcm_mac_t	mask)
  13745 {
  13746 	return bcm_field_qualify_CapwapPayloadSrcMac(
  13747 			BCM_CONTROL(unit)->unit,
  13748 			entry,
  13749 			data,
  13750 			mask);
  13751 }
  13752 
  13753 int
  13754 bcm_loop_field_qualify_CapwapPayloadSrcMac_get(
  13755 	int	unit,
  13756 	bcm_field_entry_t	entry,
  13757 	bcm_mac_t *	data,
  13758 	bcm_mac_t *	mask)
  13759 {
  13760 	return bcm_field_qualify_CapwapPayloadSrcMac_get(
  13761 			BCM_CONTROL(unit)->unit,
  13762 			entry,
  13763 			data,
  13764 			mask);
  13765 }
  13766 
  13767 int
  13768 bcm_loop_field_qualify_CapwapPayloadTos(
  13769 	int	unit,
  13770 	bcm_field_entry_t	entry,
  13771 	uint8	data,
  13772 	uint8	mask)
  13773 {
  13774 	return bcm_field_qualify_CapwapPayloadTos(
  13775 			BCM_CONTROL(unit)->unit,
  13776 			entry,
  13777 			data,
  13778 			mask);
  13779 }
  13780 
  13781 int
  13782 bcm_loop_field_qualify_CapwapPayloadTos_get(
  13783 	int	unit,
  13784 	bcm_field_entry_t	entry,
  13785 	uint8 *	data,
  13786 	uint8 *	mask)
  13787 {
  13788 	return bcm_field_qualify_CapwapPayloadTos_get(
  13789 			BCM_CONTROL(unit)->unit,
  13790 			entry,
  13791 			data,
  13792 			mask);
  13793 }
  13794 
  13795 int
  13796 bcm_loop_field_qualify_CapwapPayloadVlanFormat(
  13797 	int	unit,
  13798 	bcm_field_entry_t	entry,
  13799 	uint8	data,
  13800 	uint8	mask)
  13801 {
  13802 	return bcm_field_qualify_CapwapPayloadVlanFormat(
  13803 			BCM_CONTROL(unit)->unit,
  13804 			entry,
  13805 			data,
  13806 			mask);
  13807 }
  13808 
  13809 int
  13810 bcm_loop_field_qualify_CapwapPayloadVlanFormat_get(
  13811 	int	unit,
  13812 	bcm_field_entry_t	entry,
  13813 	uint8 *	data,
  13814 	uint8 *	mask)
  13815 {
  13816 	return bcm_field_qualify_CapwapPayloadVlanFormat_get(
  13817 			BCM_CONTROL(unit)->unit,
  13818 			entry,
  13819 			data,
  13820 			mask);
  13821 }
  13822 
  13823 int
  13824 bcm_loop_field_qualify_CascadedKeyValue(
  13825 	int	unit,
  13826 	bcm_field_entry_t	entry,
  13827 	uint32	data,
  13828 	uint32	mask)
  13829 {
  13830 	return bcm_field_qualify_CascadedKeyValue(
  13831 			BCM_CONTROL(unit)->unit,
  13832 			entry,
  13833 			data,
  13834 			mask);
  13835 }
  13836 
  13837 int
  13838 bcm_loop_field_qualify_CascadedKeyValue_get(
  13839 	int	unit,
  13840 	bcm_field_entry_t	entry,
  13841 	uint32 *	data,
  13842 	uint32 *	mask)
  13843 {
  13844 	return bcm_field_qualify_CascadedKeyValue_get(
  13845 			BCM_CONTROL(unit)->unit,
  13846 			entry,
  13847 			data,
  13848 			mask);
  13849 }
  13850 
  13851 int
  13852 bcm_loop_field_qualify_ClassId(
  13853 	int	unit,
  13854 	bcm_field_entry_t	entry,
  13855 	uint32	data,
  13856 	uint32	mask)
  13857 {
  13858 	return bcm_field_qualify_ClassId(
  13859 			BCM_CONTROL(unit)->unit,
  13860 			entry,
  13861 			data,
  13862 			mask);
  13863 }
  13864 
  13865 int
  13866 bcm_loop_field_qualify_ClassId_get(
  13867 	int	unit,
  13868 	bcm_field_entry_t	entry,
  13869 	uint32 *	data,
  13870 	uint32 *	mask)
  13871 {
  13872 	return bcm_field_qualify_ClassId_get(
  13873 			BCM_CONTROL(unit)->unit,
  13874 			entry,
  13875 			data,
  13876 			mask);
  13877 }
  13878 
  13879 int
  13880 bcm_loop_field_qualify_CnTag(
  13881 	int	unit,
  13882 	bcm_field_entry_t	entry,
  13883 	uint32	data,
  13884 	uint32	mask)
  13885 {
  13886 	return bcm_field_qualify_CnTag(
  13887 			BCM_CONTROL(unit)->unit,
  13888 			entry,
  13889 			data,
  13890 			mask);
  13891 }
  13892 
  13893 int
  13894 bcm_loop_field_qualify_CnTagPresent(
  13895 	int	unit,
  13896 	bcm_field_entry_t	entry,
  13897 	uint8	data,
  13898 	uint8	mask)
  13899 {
  13900 	return bcm_field_qualify_CnTagPresent(
  13901 			BCM_CONTROL(unit)->unit,
  13902 			entry,
  13903 			data,
  13904 			mask);
  13905 }
  13906 
  13907 int
  13908 bcm_loop_field_qualify_CnTagPresent_get(
  13909 	int	unit,
  13910 	bcm_field_entry_t	entry,
  13911 	uint8 *	data,
  13912 	uint8 *	mask)
  13913 {
  13914 	return bcm_field_qualify_CnTagPresent_get(
  13915 			BCM_CONTROL(unit)->unit,
  13916 			entry,
  13917 			data,
  13918 			mask);
  13919 }
  13920 
  13921 int
  13922 bcm_loop_field_qualify_CnTag_get(
  13923 	int	unit,
  13924 	bcm_field_entry_t	entry,
  13925 	uint32 *	data,
  13926 	uint32 *	mask)
  13927 {
  13928 	return bcm_field_qualify_CnTag_get(
  13929 			BCM_CONTROL(unit)->unit,
  13930 			entry,
  13931 			data,
  13932 			mask);
  13933 }
  13934 
  13935 int
  13936 bcm_loop_field_qualify_Color(
  13937 	int	unit,
  13938 	bcm_field_entry_t	entry,
  13939 	uint8	color)
  13940 {
  13941 	return bcm_field_qualify_Color(
  13942 			BCM_CONTROL(unit)->unit,
  13943 			entry,
  13944 			color);
  13945 }
  13946 
  13947 int
  13948 bcm_loop_field_qualify_Color_get(
  13949 	int	unit,
  13950 	bcm_field_entry_t	entry,
  13951 	uint8 *	color)
  13952 {
  13953 	return bcm_field_qualify_Color_get(
  13954 			BCM_CONTROL(unit)->unit,
  13955 			entry,
  13956 			color);
  13957 }
  13958 
  13959 int
  13960 bcm_loop_field_qualify_Container(
  13961 	int	unit,
  13962 	bcm_field_entry_t	entry,
  13963 	uint64	data,
  13964 	uint64	mask)
  13965 {
  13966 	return bcm_field_qualify_Container(
  13967 			BCM_CONTROL(unit)->unit,
  13968 			entry,
  13969 			data,
  13970 			mask);
  13971 }
  13972 
  13973 int
  13974 bcm_loop_field_qualify_Container_get(
  13975 	int	unit,
  13976 	bcm_field_entry_t	entry,
  13977 	uint64 *	data,
  13978 	uint64 *	mask)
  13979 {
  13980 	return bcm_field_qualify_Container_get(
  13981 			BCM_CONTROL(unit)->unit,
  13982 			entry,
  13983 			data,
  13984 			mask);
  13985 }
  13986 
  13987 int
  13988 bcm_loop_field_qualify_CosMapSelect(
  13989 	int	unit,
  13990 	bcm_field_entry_t	entry,
  13991 	bcm_field_cos_map_select_t	cos_map_select)
  13992 {
  13993 	return bcm_field_qualify_CosMapSelect(
  13994 			BCM_CONTROL(unit)->unit,
  13995 			entry,
  13996 			cos_map_select);
  13997 }
  13998 
  13999 int
  14000 bcm_loop_field_qualify_CosMapSelect_get(
  14001 	int	unit,
  14002 	bcm_field_entry_t	entry,
  14003 	bcm_field_cos_map_select_t *	cos_map_select)
  14004 {
  14005 	return bcm_field_qualify_CosMapSelect_get(
  14006 			BCM_CONTROL(unit)->unit,
  14007 			entry,
  14008 			cos_map_select);
  14009 }
  14010 
  14011 int
  14012 bcm_loop_field_qualify_CpuQueue(
  14013 	int	unit,
  14014 	bcm_field_entry_t	entry,
  14015 	uint8	data,
  14016 	uint8	mask)
  14017 {
  14018 	return bcm_field_qualify_CpuQueue(
  14019 			BCM_CONTROL(unit)->unit,
  14020 			entry,
  14021 			data,
  14022 			mask);
  14023 }
  14024 
  14025 int
  14026 bcm_loop_field_qualify_CpuQueue_get(
  14027 	int	unit,
  14028 	bcm_field_entry_t	entry,
  14029 	uint8 *	data,
  14030 	uint8 *	mask)
  14031 {
  14032 	return bcm_field_qualify_CpuQueue_get(
  14033 			BCM_CONTROL(unit)->unit,
  14034 			entry,
  14035 			data,
  14036 			mask);
  14037 }
  14038 
  14039 int
  14040 bcm_loop_field_qualify_CpuVisibilityPacket(
  14041 	int	unit,
  14042 	bcm_field_entry_t	entry,
  14043 	uint8	data,
  14044 	uint8	mask)
  14045 {
  14046 	return bcm_field_qualify_CpuVisibilityPacket(
  14047 			BCM_CONTROL(unit)->unit,
  14048 			entry,
  14049 			data,
  14050 			mask);
  14051 }
  14052 
  14053 int
  14054 bcm_loop_field_qualify_CpuVisibilityPacket_get(
  14055 	int	unit,
  14056 	bcm_field_entry_t	entry,
  14057 	uint8 *	data,
  14058 	uint8 *	mask)
  14059 {
  14060 	return bcm_field_qualify_CpuVisibilityPacket_get(
  14061 			BCM_CONTROL(unit)->unit,
  14062 			entry,
  14063 			data,
  14064 			mask);
  14065 }
  14066 
  14067 int
  14068 bcm_loop_field_qualify_CustomHeaderData(
  14069 	int	unit,
  14070 	bcm_field_entry_t	entry,
  14071 	uint32	data,
  14072 	uint32	mask)
  14073 {
  14074 	return bcm_field_qualify_CustomHeaderData(
  14075 			BCM_CONTROL(unit)->unit,
  14076 			entry,
  14077 			data,
  14078 			mask);
  14079 }
  14080 
  14081 int
  14082 bcm_loop_field_qualify_CustomHeaderData_get(
  14083 	int	unit,
  14084 	bcm_field_entry_t	entry,
  14085 	uint32 *	data,
  14086 	uint32 *	mask)
  14087 {
  14088 	return bcm_field_qualify_CustomHeaderData_get(
  14089 			BCM_CONTROL(unit)->unit,
  14090 			entry,
  14091 			data,
  14092 			mask);
  14093 }
  14094 
  14095 int
  14096 bcm_loop_field_qualify_CustomHeaderPkt(
  14097 	int	unit,
  14098 	bcm_field_entry_t	entry,
  14099 	uint8	data,
  14100 	uint8	mask)
  14101 {
  14102 	return bcm_field_qualify_CustomHeaderPkt(
  14103 			BCM_CONTROL(unit)->unit,
  14104 			entry,
  14105 			data,
  14106 			mask);
  14107 }
  14108 
  14109 int
  14110 bcm_loop_field_qualify_CustomHeaderPkt_get(
  14111 	int	unit,
  14112 	bcm_field_entry_t	entry,
  14113 	uint8 *	data,
  14114 	uint8 *	mask)
  14115 {
  14116 	return bcm_field_qualify_CustomHeaderPkt_get(
  14117 			BCM_CONTROL(unit)->unit,
  14118 			entry,
  14119 			data,
  14120 			mask);
  14121 }
  14122 
  14123 int
  14124 bcm_loop_field_qualify_DSCP(
  14125 	int	unit,
  14126 	bcm_field_entry_t	entry,
  14127 	uint8	data,
  14128 	uint8	mask)
  14129 {
  14130 	return bcm_field_qualify_DSCP(
  14131 			BCM_CONTROL(unit)->unit,
  14132 			entry,
  14133 			data,
  14134 			mask);
  14135 }
  14136 
  14137 int
  14138 bcm_loop_field_qualify_DSCP_get(
  14139 	int	unit,
  14140 	bcm_field_entry_t	entry,
  14141 	uint8 *	data,
  14142 	uint8 *	mask)
  14143 {
  14144 	return bcm_field_qualify_DSCP_get(
  14145 			BCM_CONTROL(unit)->unit,
  14146 			entry,
  14147 			data,
  14148 			mask);
  14149 }
  14150 
  14151 int
  14152 bcm_loop_field_qualify_Decap(
  14153 	int	unit,
  14154 	bcm_field_entry_t	entry,
  14155 	bcm_field_decap_t	decap)
  14156 {
  14157 	return bcm_field_qualify_Decap(
  14158 			BCM_CONTROL(unit)->unit,
  14159 			entry,
  14160 			decap);
  14161 }
  14162 
  14163 int
  14164 bcm_loop_field_qualify_Decap_get(
  14165 	int	unit,
  14166 	bcm_field_entry_t	entry,
  14167 	bcm_field_decap_t *	decap)
  14168 {
  14169 	return bcm_field_qualify_Decap_get(
  14170 			BCM_CONTROL(unit)->unit,
  14171 			entry,
  14172 			decap);
  14173 }
  14174 
  14175 int
  14176 bcm_loop_field_qualify_DestVirtualPortValid(
  14177 	int	unit,
  14178 	bcm_field_entry_t	entry,
  14179 	uint8	data,
  14180 	uint8	mask)
  14181 {
  14182 	return bcm_field_qualify_DestVirtualPortValid(
  14183 			BCM_CONTROL(unit)->unit,
  14184 			entry,
  14185 			data,
  14186 			mask);
  14187 }
  14188 
  14189 int
  14190 bcm_loop_field_qualify_DestVirtualPortValid_get(
  14191 	int	unit,
  14192 	bcm_field_entry_t	entry,
  14193 	uint8 *	data,
  14194 	uint8 *	mask)
  14195 {
  14196 	return bcm_field_qualify_DestVirtualPortValid_get(
  14197 			BCM_CONTROL(unit)->unit,
  14198 			entry,
  14199 			data,
  14200 			mask);
  14201 }
  14202 
  14203 int
  14204 bcm_loop_field_qualify_DevicePortBitmap(
  14205 	int	unit,
  14206 	bcm_field_entry_t	entry,
  14207 	bcm_pbmp_t	data,
  14208 	bcm_pbmp_t	mask)
  14209 {
  14210 	return bcm_field_qualify_DevicePortBitmap(
  14211 			BCM_CONTROL(unit)->unit,
  14212 			entry,
  14213 			data,
  14214 			mask);
  14215 }
  14216 
  14217 int
  14218 bcm_loop_field_qualify_DevicePortBitmap_get(
  14219 	int	unit,
  14220 	bcm_field_entry_t	entry,
  14221 	bcm_pbmp_t *	data,
  14222 	bcm_pbmp_t *	mask)
  14223 {
  14224 	return bcm_field_qualify_DevicePortBitmap_get(
  14225 			BCM_CONTROL(unit)->unit,
  14226 			entry,
  14227 			data,
  14228 			mask);
  14229 }
  14230 
  14231 int
  14232 bcm_loop_field_qualify_Dhcp(
  14233 	int	unit,
  14234 	bcm_field_entry_t	entry,
  14235 	uint8	data,
  14236 	uint8	mask)
  14237 {
  14238 	return bcm_field_qualify_Dhcp(
  14239 			BCM_CONTROL(unit)->unit,
  14240 			entry,
  14241 			data,
  14242 			mask);
  14243 }
  14244 
  14245 int
  14246 bcm_loop_field_qualify_Dhcp_get(
  14247 	int	unit,
  14248 	bcm_field_entry_t	entry,
  14249 	uint8 *	data,
  14250 	uint8 *	mask)
  14251 {
  14252 	return bcm_field_qualify_Dhcp_get(
  14253 			BCM_CONTROL(unit)->unit,
  14254 			entry,
  14255 			data,
  14256 			mask);
  14257 }
  14258 
  14259 int
  14260 bcm_loop_field_qualify_DosAttack(
  14261 	int	unit,
  14262 	bcm_field_entry_t	entry,
  14263 	uint8	data,
  14264 	uint8	mask)
  14265 {
  14266 	return bcm_field_qualify_DosAttack(
  14267 			BCM_CONTROL(unit)->unit,
  14268 			entry,
  14269 			data,
  14270 			mask);
  14271 }
  14272 
  14273 int
  14274 bcm_loop_field_qualify_DosAttackEvents(
  14275 	int	unit,
  14276 	bcm_field_entry_t	entry,
  14277 	uint32	data,
  14278 	uint32	mask)
  14279 {
  14280 	return bcm_field_qualify_DosAttackEvents(
  14281 			BCM_CONTROL(unit)->unit,
  14282 			entry,
  14283 			data,
  14284 			mask);
  14285 }
  14286 
  14287 int
  14288 bcm_loop_field_qualify_DosAttackEvents_get(
  14289 	int	unit,
  14290 	bcm_field_entry_t	entry,
  14291 	uint32 *	data,
  14292 	uint32 *	mask)
  14293 {
  14294 	return bcm_field_qualify_DosAttackEvents_get(
  14295 			BCM_CONTROL(unit)->unit,
  14296 			entry,
  14297 			data,
  14298 			mask);
  14299 }
  14300 
  14301 int
  14302 bcm_loop_field_qualify_DosAttack_get(
  14303 	int	unit,
  14304 	bcm_field_entry_t	entry,
  14305 	uint8 *	data,
  14306 	uint8 *	mask)
  14307 {
  14308 	return bcm_field_qualify_DosAttack_get(
  14309 			BCM_CONTROL(unit)->unit,
  14310 			entry,
  14311 			data,
  14312 			mask);
  14313 }
  14314 
  14315 int
  14316 bcm_loop_field_qualify_DownMepSatTerminated(
  14317 	int	unit,
  14318 	bcm_field_entry_t	entry,
  14319 	uint8	data,
  14320 	uint8	mask)
  14321 {
  14322 	return bcm_field_qualify_DownMepSatTerminated(
  14323 			BCM_CONTROL(unit)->unit,
  14324 			entry,
  14325 			data,
  14326 			mask);
  14327 }
  14328 
  14329 int
  14330 bcm_loop_field_qualify_DownMepSatTerminated_get(
  14331 	int	unit,
  14332 	bcm_field_entry_t	entry,
  14333 	uint8 *	data,
  14334 	uint8 *	mask)
  14335 {
  14336 	return bcm_field_qualify_DownMepSatTerminated_get(
  14337 			BCM_CONTROL(unit)->unit,
  14338 			entry,
  14339 			data,
  14340 			mask);
  14341 }
  14342 
  14343 int
  14344 bcm_loop_field_qualify_Drop(
  14345 	int	unit,
  14346 	bcm_field_entry_t	entry,
  14347 	uint8	data,
  14348 	uint8	mask)
  14349 {
  14350 	return bcm_field_qualify_Drop(
  14351 			BCM_CONTROL(unit)->unit,
  14352 			entry,
  14353 			data,
  14354 			mask);
  14355 }
  14356 
  14357 int
  14358 bcm_loop_field_qualify_Drop_get(
  14359 	int	unit,
  14360 	bcm_field_entry_t	entry,
  14361 	uint8 *	data,
  14362 	uint8 *	mask)
  14363 {
  14364 	return bcm_field_qualify_Drop_get(
  14365 			BCM_CONTROL(unit)->unit,
  14366 			entry,
  14367 			data,
  14368 			mask);
  14369 }
  14370 
  14371 int
  14372 bcm_loop_field_qualify_DstClassField(
  14373 	int	unit,
  14374 	bcm_field_entry_t	entry,
  14375 	uint32	data,
  14376 	uint32	mask)
  14377 {
  14378 	return bcm_field_qualify_DstClassField(
  14379 			BCM_CONTROL(unit)->unit,
  14380 			entry,
  14381 			data,
  14382 			mask);
  14383 }
  14384 
  14385 int
  14386 bcm_loop_field_qualify_DstClassField_get(
  14387 	int	unit,
  14388 	bcm_field_entry_t	entry,
  14389 	uint32 *	data,
  14390 	uint32 *	mask)
  14391 {
  14392 	return bcm_field_qualify_DstClassField_get(
  14393 			BCM_CONTROL(unit)->unit,
  14394 			entry,
  14395 			data,
  14396 			mask);
  14397 }
  14398 
  14399 int
  14400 bcm_loop_field_qualify_DstClassL2(
  14401 	int	unit,
  14402 	bcm_field_entry_t	entry,
  14403 	uint32	data,
  14404 	uint32	mask)
  14405 {
  14406 	return bcm_field_qualify_DstClassL2(
  14407 			BCM_CONTROL(unit)->unit,
  14408 			entry,
  14409 			data,
  14410 			mask);
  14411 }
  14412 
  14413 int
  14414 bcm_loop_field_qualify_DstClassL2_get(
  14415 	int	unit,
  14416 	bcm_field_entry_t	entry,
  14417 	uint32 *	data,
  14418 	uint32 *	mask)
  14419 {
  14420 	return bcm_field_qualify_DstClassL2_get(
  14421 			BCM_CONTROL(unit)->unit,
  14422 			entry,
  14423 			data,
  14424 			mask);
  14425 }
  14426 
  14427 int
  14428 bcm_loop_field_qualify_DstClassL3(
  14429 	int	unit,
  14430 	bcm_field_entry_t	entry,
  14431 	uint32	data,
  14432 	uint32	mask)
  14433 {
  14434 	return bcm_field_qualify_DstClassL3(
  14435 			BCM_CONTROL(unit)->unit,
  14436 			entry,
  14437 			data,
  14438 			mask);
  14439 }
  14440 
  14441 int
  14442 bcm_loop_field_qualify_DstClassL3_get(
  14443 	int	unit,
  14444 	bcm_field_entry_t	entry,
  14445 	uint32 *	data,
  14446 	uint32 *	mask)
  14447 {
  14448 	return bcm_field_qualify_DstClassL3_get(
  14449 			BCM_CONTROL(unit)->unit,
  14450 			entry,
  14451 			data,
  14452 			mask);
  14453 }
  14454 
  14455 int
  14456 bcm_loop_field_qualify_DstGport(
  14457 	int	unit,
  14458 	bcm_field_entry_t	entry,
  14459 	bcm_gport_t	port_id)
  14460 {
  14461 	return bcm_field_qualify_DstGport(
  14462 			BCM_CONTROL(unit)->unit,
  14463 			entry,
  14464 			port_id);
  14465 }
  14466 
  14467 int
  14468 bcm_loop_field_qualify_DstGport_get(
  14469 	int	unit,
  14470 	bcm_field_entry_t	entry,
  14471 	bcm_gport_t *	port_id)
  14472 {
  14473 	return bcm_field_qualify_DstGport_get(
  14474 			BCM_CONTROL(unit)->unit,
  14475 			entry,
  14476 			port_id);
  14477 }
  14478 
  14479 int
  14480 bcm_loop_field_qualify_DstGports(
  14481 	int	unit,
  14482 	bcm_field_entry_t	entry,
  14483 	bcm_gport_t	port_id,
  14484 	bcm_gport_t	port_mask)
  14485 {
  14486 	return bcm_field_qualify_DstGports(
  14487 			BCM_CONTROL(unit)->unit,
  14488 			entry,
  14489 			port_id,
  14490 			port_mask);
  14491 }
  14492 
  14493 int
  14494 bcm_loop_field_qualify_DstGports_get(
  14495 	int	unit,
  14496 	bcm_field_entry_t	entry,
  14497 	bcm_gport_t *	port_id,
  14498 	bcm_gport_t *	port_mask)
  14499 {
  14500 	return bcm_field_qualify_DstGports_get(
  14501 			BCM_CONTROL(unit)->unit,
  14502 			entry,
  14503 			port_id,
  14504 			port_mask);
  14505 }
  14506 
  14507 int
  14508 bcm_loop_field_qualify_DstHiGig(
  14509 	int	unit,
  14510 	bcm_field_entry_t	entry,
  14511 	uint8	data,
  14512 	uint8	mask)
  14513 {
  14514 	return bcm_field_qualify_DstHiGig(
  14515 			BCM_CONTROL(unit)->unit,
  14516 			entry,
  14517 			data,
  14518 			mask);
  14519 }
  14520 
  14521 int
  14522 bcm_loop_field_qualify_DstHiGig_get(
  14523 	int	unit,
  14524 	bcm_field_entry_t	entry,
  14525 	uint8 *	data,
  14526 	uint8 *	mask)
  14527 {
  14528 	return bcm_field_qualify_DstHiGig_get(
  14529 			BCM_CONTROL(unit)->unit,
  14530 			entry,
  14531 			data,
  14532 			mask);
  14533 }
  14534 
  14535 int
  14536 bcm_loop_field_qualify_DstIp(
  14537 	int	unit,
  14538 	bcm_field_entry_t	entry,
  14539 	bcm_ip_t	data,
  14540 	bcm_ip_t	mask)
  14541 {
  14542 	return bcm_field_qualify_DstIp(
  14543 			BCM_CONTROL(unit)->unit,
  14544 			entry,
  14545 			data,
  14546 			mask);
  14547 }
  14548 
  14549 int
  14550 bcm_loop_field_qualify_DstIp6(
  14551 	int	unit,
  14552 	bcm_field_entry_t	entry,
  14553 	bcm_ip6_t	data,
  14554 	bcm_ip6_t	mask)
  14555 {
  14556 	return bcm_field_qualify_DstIp6(
  14557 			BCM_CONTROL(unit)->unit,
  14558 			entry,
  14559 			data,
  14560 			mask);
  14561 }
  14562 
  14563 int
  14564 bcm_loop_field_qualify_DstIp6Class(
  14565 	int	unit,
  14566 	bcm_field_entry_t	entry,
  14567 	bcm_class_t	data,
  14568 	bcm_class_t	mask)
  14569 {
  14570 	return bcm_field_qualify_DstIp6Class(
  14571 			BCM_CONTROL(unit)->unit,
  14572 			entry,
  14573 			data,
  14574 			mask);
  14575 }
  14576 
  14577 int
  14578 bcm_loop_field_qualify_DstIp6ClassLower(
  14579 	int	unit,
  14580 	bcm_field_entry_t	entry,
  14581 	bcm_class_t	data,
  14582 	bcm_class_t	mask)
  14583 {
  14584 	return bcm_field_qualify_DstIp6ClassLower(
  14585 			BCM_CONTROL(unit)->unit,
  14586 			entry,
  14587 			data,
  14588 			mask);
  14589 }
  14590 
  14591 int
  14592 bcm_loop_field_qualify_DstIp6ClassLower_get(
  14593 	int	unit,
  14594 	bcm_field_entry_t	entry,
  14595 	bcm_class_t *	data,
  14596 	bcm_class_t *	mask)
  14597 {
  14598 	return bcm_field_qualify_DstIp6ClassLower_get(
  14599 			BCM_CONTROL(unit)->unit,
  14600 			entry,
  14601 			data,
  14602 			mask);
  14603 }
  14604 
  14605 int
  14606 bcm_loop_field_qualify_DstIp6ClassMsbNibble(
  14607 	int	unit,
  14608 	bcm_field_entry_t	entry,
  14609 	bcm_class_t	data,
  14610 	bcm_class_t	mask)
  14611 {
  14612 	return bcm_field_qualify_DstIp6ClassMsbNibble(
  14613 			BCM_CONTROL(unit)->unit,
  14614 			entry,
  14615 			data,
  14616 			mask);
  14617 }
  14618 
  14619 int
  14620 bcm_loop_field_qualify_DstIp6ClassMsbNibble_get(
  14621 	int	unit,
  14622 	bcm_field_entry_t	entry,
  14623 	bcm_class_t *	data,
  14624 	bcm_class_t *	mask)
  14625 {
  14626 	return bcm_field_qualify_DstIp6ClassMsbNibble_get(
  14627 			BCM_CONTROL(unit)->unit,
  14628 			entry,
  14629 			data,
  14630 			mask);
  14631 }
  14632 
  14633 int
  14634 bcm_loop_field_qualify_DstIp6ClassUpper(
  14635 	int	unit,
  14636 	bcm_field_entry_t	entry,
  14637 	bcm_class_t	data,
  14638 	bcm_class_t	mask)
  14639 {
  14640 	return bcm_field_qualify_DstIp6ClassUpper(
  14641 			BCM_CONTROL(unit)->unit,
  14642 			entry,
  14643 			data,
  14644 			mask);
  14645 }
  14646 
  14647 int
  14648 bcm_loop_field_qualify_DstIp6ClassUpper_get(
  14649 	int	unit,
  14650 	bcm_field_entry_t	entry,
  14651 	bcm_class_t *	data,
  14652 	bcm_class_t *	mask)
  14653 {
  14654 	return bcm_field_qualify_DstIp6ClassUpper_get(
  14655 			BCM_CONTROL(unit)->unit,
  14656 			entry,
  14657 			data,
  14658 			mask);
  14659 }
  14660 
  14661 int
  14662 bcm_loop_field_qualify_DstIp6Class_get(
  14663 	int	unit,
  14664 	bcm_field_entry_t	entry,
  14665 	bcm_class_t *	data,
  14666 	bcm_class_t *	mask)
  14667 {
  14668 	return bcm_field_qualify_DstIp6Class_get(
  14669 			BCM_CONTROL(unit)->unit,
  14670 			entry,
  14671 			data,
  14672 			mask);
  14673 }
  14674 
  14675 int
  14676 bcm_loop_field_qualify_DstIp6High(
  14677 	int	unit,
  14678 	bcm_field_entry_t	entry,
  14679 	bcm_ip6_t	data,
  14680 	bcm_ip6_t	mask)
  14681 {
  14682 	return bcm_field_qualify_DstIp6High(
  14683 			BCM_CONTROL(unit)->unit,
  14684 			entry,
  14685 			data,
  14686 			mask);
  14687 }
  14688 
  14689 int
  14690 bcm_loop_field_qualify_DstIp6High_get(
  14691 	int	unit,
  14692 	bcm_field_entry_t	entry,
  14693 	bcm_ip6_t *	data,
  14694 	bcm_ip6_t *	mask)
  14695 {
  14696 	return bcm_field_qualify_DstIp6High_get(
  14697 			BCM_CONTROL(unit)->unit,
  14698 			entry,
  14699 			data,
  14700 			mask);
  14701 }
  14702 
  14703 int
  14704 bcm_loop_field_qualify_DstIp6Low(
  14705 	int	unit,
  14706 	bcm_field_entry_t	entry,
  14707 	bcm_ip6_t	data,
  14708 	bcm_ip6_t	mask)
  14709 {
  14710 	return bcm_field_qualify_DstIp6Low(
  14711 			BCM_CONTROL(unit)->unit,
  14712 			entry,
  14713 			data,
  14714 			mask);
  14715 }
  14716 
  14717 int
  14718 bcm_loop_field_qualify_DstIp6Low_get(
  14719 	int	unit,
  14720 	bcm_field_entry_t	entry,
  14721 	bcm_ip6_t *	data,
  14722 	bcm_ip6_t *	mask)
  14723 {
  14724 	return bcm_field_qualify_DstIp6Low_get(
  14725 			BCM_CONTROL(unit)->unit,
  14726 			entry,
  14727 			data,
  14728 			mask);
  14729 }
  14730 
  14731 int
  14732 bcm_loop_field_qualify_DstIp6_get(
  14733 	int	unit,
  14734 	bcm_field_entry_t	entry,
  14735 	bcm_ip6_t *	data,
  14736 	bcm_ip6_t *	mask)
  14737 {
  14738 	return bcm_field_qualify_DstIp6_get(
  14739 			BCM_CONTROL(unit)->unit,
  14740 			entry,
  14741 			data,
  14742 			mask);
  14743 }
  14744 
  14745 int
  14746 bcm_loop_field_qualify_DstIpClass(
  14747 	int	unit,
  14748 	bcm_field_entry_t	entry,
  14749 	bcm_class_t	data,
  14750 	bcm_class_t	mask)
  14751 {
  14752 	return bcm_field_qualify_DstIpClass(
  14753 			BCM_CONTROL(unit)->unit,
  14754 			entry,
  14755 			data,
  14756 			mask);
  14757 }
  14758 
  14759 int
  14760 bcm_loop_field_qualify_DstIpClassLower(
  14761 	int	unit,
  14762 	bcm_field_entry_t	entry,
  14763 	bcm_class_t	data,
  14764 	bcm_class_t	mask)
  14765 {
  14766 	return bcm_field_qualify_DstIpClassLower(
  14767 			BCM_CONTROL(unit)->unit,
  14768 			entry,
  14769 			data,
  14770 			mask);
  14771 }
  14772 
  14773 int
  14774 bcm_loop_field_qualify_DstIpClassLower_get(
  14775 	int	unit,
  14776 	bcm_field_entry_t	entry,
  14777 	bcm_class_t *	data,
  14778 	bcm_class_t *	mask)
  14779 {
  14780 	return bcm_field_qualify_DstIpClassLower_get(
  14781 			BCM_CONTROL(unit)->unit,
  14782 			entry,
  14783 			data,
  14784 			mask);
  14785 }
  14786 
  14787 int
  14788 bcm_loop_field_qualify_DstIpClassMsbNibble(
  14789 	int	unit,
  14790 	bcm_field_entry_t	entry,
  14791 	bcm_class_t	data,
  14792 	bcm_class_t	mask)
  14793 {
  14794 	return bcm_field_qualify_DstIpClassMsbNibble(
  14795 			BCM_CONTROL(unit)->unit,
  14796 			entry,
  14797 			data,
  14798 			mask);
  14799 }
  14800 
  14801 int
  14802 bcm_loop_field_qualify_DstIpClassMsbNibble_get(
  14803 	int	unit,
  14804 	bcm_field_entry_t	entry,
  14805 	bcm_class_t *	data,
  14806 	bcm_class_t *	mask)
  14807 {
  14808 	return bcm_field_qualify_DstIpClassMsbNibble_get(
  14809 			BCM_CONTROL(unit)->unit,
  14810 			entry,
  14811 			data,
  14812 			mask);
  14813 }
  14814 
  14815 int
  14816 bcm_loop_field_qualify_DstIpClassUpper(
  14817 	int	unit,
  14818 	bcm_field_entry_t	entry,
  14819 	bcm_class_t	data,
  14820 	bcm_class_t	mask)
  14821 {
  14822 	return bcm_field_qualify_DstIpClassUpper(
  14823 			BCM_CONTROL(unit)->unit,
  14824 			entry,
  14825 			data,
  14826 			mask);
  14827 }
  14828 
  14829 int
  14830 bcm_loop_field_qualify_DstIpClassUpper_get(
  14831 	int	unit,
  14832 	bcm_field_entry_t	entry,
  14833 	bcm_class_t *	data,
  14834 	bcm_class_t *	mask)
  14835 {
  14836 	return bcm_field_qualify_DstIpClassUpper_get(
  14837 			BCM_CONTROL(unit)->unit,
  14838 			entry,
  14839 			data,
  14840 			mask);
  14841 }
  14842 
  14843 int
  14844 bcm_loop_field_qualify_DstIpClass_get(
  14845 	int	unit,
  14846 	bcm_field_entry_t	entry,
  14847 	bcm_class_t *	data,
  14848 	bcm_class_t *	mask)
  14849 {
  14850 	return bcm_field_qualify_DstIpClass_get(
  14851 			BCM_CONTROL(unit)->unit,
  14852 			entry,
  14853 			data,
  14854 			mask);
  14855 }
  14856 
  14857 int
  14858 bcm_loop_field_qualify_DstIpLocal(
  14859 	int	unit,
  14860 	bcm_field_entry_t	entry,
  14861 	uint8	data,
  14862 	uint8	mask)
  14863 {
  14864 	return bcm_field_qualify_DstIpLocal(
  14865 			BCM_CONTROL(unit)->unit,
  14866 			entry,
  14867 			data,
  14868 			mask);
  14869 }
  14870 
  14871 int
  14872 bcm_loop_field_qualify_DstIpLocal_get(
  14873 	int	unit,
  14874 	bcm_field_entry_t	entry,
  14875 	uint8 *	data,
  14876 	uint8 *	mask)
  14877 {
  14878 	return bcm_field_qualify_DstIpLocal_get(
  14879 			BCM_CONTROL(unit)->unit,
  14880 			entry,
  14881 			data,
  14882 			mask);
  14883 }
  14884 
  14885 int
  14886 bcm_loop_field_qualify_DstIp_get(
  14887 	int	unit,
  14888 	bcm_field_entry_t	entry,
  14889 	bcm_ip_t *	data,
  14890 	bcm_ip_t *	mask)
  14891 {
  14892 	return bcm_field_qualify_DstIp_get(
  14893 			BCM_CONTROL(unit)->unit,
  14894 			entry,
  14895 			data,
  14896 			mask);
  14897 }
  14898 
  14899 int
  14900 bcm_loop_field_qualify_DstL2MulticastGroup(
  14901 	int	unit,
  14902 	bcm_field_entry_t	entry,
  14903 	bcm_multicast_t	group,
  14904 	bcm_multicast_t	mask)
  14905 {
  14906 	return bcm_field_qualify_DstL2MulticastGroup(
  14907 			BCM_CONTROL(unit)->unit,
  14908 			entry,
  14909 			group,
  14910 			mask);
  14911 }
  14912 
  14913 int
  14914 bcm_loop_field_qualify_DstL2MulticastGroup_get(
  14915 	int	unit,
  14916 	bcm_field_entry_t	entry,
  14917 	bcm_multicast_t *	group,
  14918 	bcm_multicast_t *	mask)
  14919 {
  14920 	return bcm_field_qualify_DstL2MulticastGroup_get(
  14921 			BCM_CONTROL(unit)->unit,
  14922 			entry,
  14923 			group,
  14924 			mask);
  14925 }
  14926 
  14927 int
  14928 bcm_loop_field_qualify_DstL3Egress(
  14929 	int	unit,
  14930 	bcm_field_entry_t	entry,
  14931 	bcm_if_t	if_id)
  14932 {
  14933 	return bcm_field_qualify_DstL3Egress(
  14934 			BCM_CONTROL(unit)->unit,
  14935 			entry,
  14936 			if_id);
  14937 }
  14938 
  14939 int
  14940 bcm_loop_field_qualify_DstL3EgressNextHops(
  14941 	int	unit,
  14942 	bcm_field_entry_t	entry,
  14943 	uint32	data,
  14944 	uint32	mask)
  14945 {
  14946 	return bcm_field_qualify_DstL3EgressNextHops(
  14947 			BCM_CONTROL(unit)->unit,
  14948 			entry,
  14949 			data,
  14950 			mask);
  14951 }
  14952 
  14953 int
  14954 bcm_loop_field_qualify_DstL3EgressNextHopsUnderlay(
  14955 	int	unit,
  14956 	bcm_field_entry_t	entry,
  14957 	uint32	data,
  14958 	uint32	mask)
  14959 {
  14960 	return bcm_field_qualify_DstL3EgressNextHopsUnderlay(
  14961 			BCM_CONTROL(unit)->unit,
  14962 			entry,
  14963 			data,
  14964 			mask);
  14965 }
  14966 
  14967 int
  14968 bcm_loop_field_qualify_DstL3EgressNextHopsUnderlay_get(
  14969 	int	unit,
  14970 	bcm_field_entry_t	entry,
  14971 	uint32 *	data,
  14972 	uint32 *	mask)
  14973 {
  14974 	return bcm_field_qualify_DstL3EgressNextHopsUnderlay_get(
  14975 			BCM_CONTROL(unit)->unit,
  14976 			entry,
  14977 			data,
  14978 			mask);
  14979 }
  14980 
  14981 int
  14982 bcm_loop_field_qualify_DstL3EgressNextHops_get(
  14983 	int	unit,
  14984 	bcm_field_entry_t	entry,
  14985 	uint32 *	data,
  14986 	uint32 *	mask)
  14987 {
  14988 	return bcm_field_qualify_DstL3EgressNextHops_get(
  14989 			BCM_CONTROL(unit)->unit,
  14990 			entry,
  14991 			data,
  14992 			mask);
  14993 }
  14994 
  14995 int
  14996 bcm_loop_field_qualify_DstL3EgressUnderlay(
  14997 	int	unit,
  14998 	bcm_field_entry_t	entry,
  14999 	bcm_if_t	if_id)
  15000 {
  15001 	return bcm_field_qualify_DstL3EgressUnderlay(
  15002 			BCM_CONTROL(unit)->unit,
  15003 			entry,
  15004 			if_id);
  15005 }
  15006 
  15007 int
  15008 bcm_loop_field_qualify_DstL3EgressUnderlay_get(
  15009 	int	unit,
  15010 	bcm_field_entry_t	entry,
  15011 	bcm_if_t *	if_id)
  15012 {
  15013 	return bcm_field_qualify_DstL3EgressUnderlay_get(
  15014 			BCM_CONTROL(unit)->unit,
  15015 			entry,
  15016 			if_id);
  15017 }
  15018 
  15019 int
  15020 bcm_loop_field_qualify_DstL3Egress_get(
  15021 	int	unit,
  15022 	bcm_field_entry_t	entry,
  15023 	bcm_if_t *	if_id)
  15024 {
  15025 	return bcm_field_qualify_DstL3Egress_get(
  15026 			BCM_CONTROL(unit)->unit,
  15027 			entry,
  15028 			if_id);
  15029 }
  15030 
  15031 int
  15032 bcm_loop_field_qualify_DstL3MulticastGroup(
  15033 	int	unit,
  15034 	bcm_field_entry_t	entry,
  15035 	bcm_multicast_t	group,
  15036 	bcm_multicast_t	mask)
  15037 {
  15038 	return bcm_field_qualify_DstL3MulticastGroup(
  15039 			BCM_CONTROL(unit)->unit,
  15040 			entry,
  15041 			group,
  15042 			mask);
  15043 }
  15044 
  15045 int
  15046 bcm_loop_field_qualify_DstL3MulticastGroup_get(
  15047 	int	unit,
  15048 	bcm_field_entry_t	entry,
  15049 	bcm_multicast_t *	group,
  15050 	bcm_multicast_t *	mask)
  15051 {
  15052 	return bcm_field_qualify_DstL3MulticastGroup_get(
  15053 			BCM_CONTROL(unit)->unit,
  15054 			entry,
  15055 			group,
  15056 			mask);
  15057 }
  15058 
  15059 int
  15060 bcm_loop_field_qualify_DstMac(
  15061 	int	unit,
  15062 	bcm_field_entry_t	entry,
  15063 	bcm_mac_t	data,
  15064 	bcm_mac_t	mask)
  15065 {
  15066 	return bcm_field_qualify_DstMac(
  15067 			BCM_CONTROL(unit)->unit,
  15068 			entry,
  15069 			data,
  15070 			mask);
  15071 }
  15072 
  15073 int
  15074 bcm_loop_field_qualify_DstMac_get(
  15075 	int	unit,
  15076 	bcm_field_entry_t	entry,
  15077 	bcm_mac_t *	data,
  15078 	bcm_mac_t *	mask)
  15079 {
  15080 	return bcm_field_qualify_DstMac_get(
  15081 			BCM_CONTROL(unit)->unit,
  15082 			entry,
  15083 			data,
  15084 			mask);
  15085 }
  15086 
  15087 int
  15088 bcm_loop_field_qualify_DstMimGport(
  15089 	int	unit,
  15090 	bcm_field_entry_t	entry,
  15091 	bcm_gport_t	mim_port_id)
  15092 {
  15093 	return bcm_field_qualify_DstMimGport(
  15094 			BCM_CONTROL(unit)->unit,
  15095 			entry,
  15096 			mim_port_id);
  15097 }
  15098 
  15099 int
  15100 bcm_loop_field_qualify_DstMimGport_get(
  15101 	int	unit,
  15102 	bcm_field_entry_t	entry,
  15103 	bcm_gport_t *	mim_port_id)
  15104 {
  15105 	return bcm_field_qualify_DstMimGport_get(
  15106 			BCM_CONTROL(unit)->unit,
  15107 			entry,
  15108 			mim_port_id);
  15109 }
  15110 
  15111 int
  15112 bcm_loop_field_qualify_DstMimGports(
  15113 	int	unit,
  15114 	bcm_field_entry_t	entry,
  15115 	bcm_gport_t	mim_port_id,
  15116 	bcm_gport_t	mim_port_mask)
  15117 {
  15118 	return bcm_field_qualify_DstMimGports(
  15119 			BCM_CONTROL(unit)->unit,
  15120 			entry,
  15121 			mim_port_id,
  15122 			mim_port_mask);
  15123 }
  15124 
  15125 int
  15126 bcm_loop_field_qualify_DstMimGports_get(
  15127 	int	unit,
  15128 	bcm_field_entry_t	entry,
  15129 	bcm_gport_t *	mim_port_id,
  15130 	bcm_gport_t *	mim_port_mask)
  15131 {
  15132 	return bcm_field_qualify_DstMimGports_get(
  15133 			BCM_CONTROL(unit)->unit,
  15134 			entry,
  15135 			mim_port_id,
  15136 			mim_port_mask);
  15137 }
  15138 
  15139 int
  15140 bcm_loop_field_qualify_DstMplsGport(
  15141 	int	unit,
  15142 	bcm_field_entry_t	entry,
  15143 	bcm_gport_t	mpls_port_id)
  15144 {
  15145 	return bcm_field_qualify_DstMplsGport(
  15146 			BCM_CONTROL(unit)->unit,
  15147 			entry,
  15148 			mpls_port_id);
  15149 }
  15150 
  15151 int
  15152 bcm_loop_field_qualify_DstMplsGport_get(
  15153 	int	unit,
  15154 	bcm_field_entry_t	entry,
  15155 	bcm_gport_t *	mpls_port_id)
  15156 {
  15157 	return bcm_field_qualify_DstMplsGport_get(
  15158 			BCM_CONTROL(unit)->unit,
  15159 			entry,
  15160 			mpls_port_id);
  15161 }
  15162 
  15163 int
  15164 bcm_loop_field_qualify_DstMplsGports(
  15165 	int	unit,
  15166 	bcm_field_entry_t	entry,
  15167 	bcm_gport_t	mpls_port_id,
  15168 	bcm_gport_t	mpls_port_mask)
  15169 {
  15170 	return bcm_field_qualify_DstMplsGports(
  15171 			BCM_CONTROL(unit)->unit,
  15172 			entry,
  15173 			mpls_port_id,
  15174 			mpls_port_mask);
  15175 }
  15176 
  15177 int
  15178 bcm_loop_field_qualify_DstMplsGports_get(
  15179 	int	unit,
  15180 	bcm_field_entry_t	entry,
  15181 	bcm_gport_t *	mpls_port_id,
  15182 	bcm_gport_t *	mpls_port_mask)
  15183 {
  15184 	return bcm_field_qualify_DstMplsGports_get(
  15185 			BCM_CONTROL(unit)->unit,
  15186 			entry,
  15187 			mpls_port_id,
  15188 			mpls_port_mask);
  15189 }
  15190 
  15191 int
  15192 bcm_loop_field_qualify_DstMulticastGroup(
  15193 	int	unit,
  15194 	bcm_field_entry_t	entry,
  15195 	bcm_multicast_t	group)
  15196 {
  15197 	return bcm_field_qualify_DstMulticastGroup(
  15198 			BCM_CONTROL(unit)->unit,
  15199 			entry,
  15200 			group);
  15201 }
  15202 
  15203 int
  15204 bcm_loop_field_qualify_DstMulticastGroup_get(
  15205 	int	unit,
  15206 	bcm_field_entry_t	entry,
  15207 	bcm_multicast_t *	group)
  15208 {
  15209 	return bcm_field_qualify_DstMulticastGroup_get(
  15210 			BCM_CONTROL(unit)->unit,
  15211 			entry,
  15212 			group);
  15213 }
  15214 
  15215 int
  15216 bcm_loop_field_qualify_DstMulticastGroups(
  15217 	int	unit,
  15218 	bcm_field_entry_t	entry,
  15219 	bcm_multicast_t	group,
  15220 	bcm_multicast_t	mask)
  15221 {
  15222 	return bcm_field_qualify_DstMulticastGroups(
  15223 			BCM_CONTROL(unit)->unit,
  15224 			entry,
  15225 			group,
  15226 			mask);
  15227 }
  15228 
  15229 int
  15230 bcm_loop_field_qualify_DstMulticastGroups_get(
  15231 	int	unit,
  15232 	bcm_field_entry_t	entry,
  15233 	bcm_multicast_t *	group,
  15234 	bcm_multicast_t *	mask)
  15235 {
  15236 	return bcm_field_qualify_DstMulticastGroups_get(
  15237 			BCM_CONTROL(unit)->unit,
  15238 			entry,
  15239 			group,
  15240 			mask);
  15241 }
  15242 
  15243 int
  15244 bcm_loop_field_qualify_DstMultipath(
  15245 	int	unit,
  15246 	bcm_field_entry_t	entry,
  15247 	bcm_if_t	mpintf)
  15248 {
  15249 	return bcm_field_qualify_DstMultipath(
  15250 			BCM_CONTROL(unit)->unit,
  15251 			entry,
  15252 			mpintf);
  15253 }
  15254 
  15255 int
  15256 bcm_loop_field_qualify_DstMultipathOverlay(
  15257 	int	unit,
  15258 	bcm_field_entry_t	entry,
  15259 	bcm_if_t	data,
  15260 	bcm_if_t	mask)
  15261 {
  15262 	return bcm_field_qualify_DstMultipathOverlay(
  15263 			BCM_CONTROL(unit)->unit,
  15264 			entry,
  15265 			data,
  15266 			mask);
  15267 }
  15268 
  15269 int
  15270 bcm_loop_field_qualify_DstMultipathOverlay_get(
  15271 	int	unit,
  15272 	bcm_field_entry_t	entry,
  15273 	bcm_if_t *	data,
  15274 	bcm_if_t *	mask)
  15275 {
  15276 	return bcm_field_qualify_DstMultipathOverlay_get(
  15277 			BCM_CONTROL(unit)->unit,
  15278 			entry,
  15279 			data,
  15280 			mask);
  15281 }
  15282 
  15283 int
  15284 bcm_loop_field_qualify_DstMultipathUnderlay(
  15285 	int	unit,
  15286 	bcm_field_entry_t	entry,
  15287 	bcm_if_t	data,
  15288 	bcm_if_t	mask)
  15289 {
  15290 	return bcm_field_qualify_DstMultipathUnderlay(
  15291 			BCM_CONTROL(unit)->unit,
  15292 			entry,
  15293 			data,
  15294 			mask);
  15295 }
  15296 
  15297 int
  15298 bcm_loop_field_qualify_DstMultipathUnderlay_get(
  15299 	int	unit,
  15300 	bcm_field_entry_t	entry,
  15301 	bcm_if_t *	data,
  15302 	bcm_if_t *	mask)
  15303 {
  15304 	return bcm_field_qualify_DstMultipathUnderlay_get(
  15305 			BCM_CONTROL(unit)->unit,
  15306 			entry,
  15307 			data,
  15308 			mask);
  15309 }
  15310 
  15311 int
  15312 bcm_loop_field_qualify_DstMultipath_get(
  15313 	int	unit,
  15314 	bcm_field_entry_t	entry,
  15315 	bcm_if_t *	mpintf)
  15316 {
  15317 	return bcm_field_qualify_DstMultipath_get(
  15318 			BCM_CONTROL(unit)->unit,
  15319 			entry,
  15320 			mpintf);
  15321 }
  15322 
  15323 int
  15324 bcm_loop_field_qualify_DstNivGport(
  15325 	int	unit,
  15326 	bcm_field_entry_t	entry,
  15327 	bcm_gport_t	niv_port_id)
  15328 {
  15329 	return bcm_field_qualify_DstNivGport(
  15330 			BCM_CONTROL(unit)->unit,
  15331 			entry,
  15332 			niv_port_id);
  15333 }
  15334 
  15335 int
  15336 bcm_loop_field_qualify_DstNivGport_get(
  15337 	int	unit,
  15338 	bcm_field_entry_t	entry,
  15339 	bcm_gport_t *	niv_port_id)
  15340 {
  15341 	return bcm_field_qualify_DstNivGport_get(
  15342 			BCM_CONTROL(unit)->unit,
  15343 			entry,
  15344 			niv_port_id);
  15345 }
  15346 
  15347 int
  15348 bcm_loop_field_qualify_DstNivGports(
  15349 	int	unit,
  15350 	bcm_field_entry_t	entry,
  15351 	bcm_gport_t	niv_port_id,
  15352 	bcm_gport_t	niv_port_mask)
  15353 {
  15354 	return bcm_field_qualify_DstNivGports(
  15355 			BCM_CONTROL(unit)->unit,
  15356 			entry,
  15357 			niv_port_id,
  15358 			niv_port_mask);
  15359 }
  15360 
  15361 int
  15362 bcm_loop_field_qualify_DstNivGports_get(
  15363 	int	unit,
  15364 	bcm_field_entry_t	entry,
  15365 	bcm_gport_t *	niv_port_id,
  15366 	bcm_gport_t *	niv_port_mask)
  15367 {
  15368 	return bcm_field_qualify_DstNivGports_get(
  15369 			BCM_CONTROL(unit)->unit,
  15370 			entry,
  15371 			niv_port_id,
  15372 			niv_port_mask);
  15373 }
  15374 
  15375 int
  15376 bcm_loop_field_qualify_DstPort(
  15377 	int	unit,
  15378 	bcm_field_entry_t	entry,
  15379 	bcm_module_t	data_modid,
  15380 	bcm_module_t	mask_modid,
  15381 	bcm_port_t	data_port,
  15382 	bcm_port_t	mask_port)
  15383 {
  15384 	return bcm_field_qualify_DstPort(
  15385 			BCM_CONTROL(unit)->unit,
  15386 			entry,
  15387 			data_modid,
  15388 			mask_modid,
  15389 			data_port,
  15390 			mask_port);
  15391 }
  15392 
  15393 int
  15394 bcm_loop_field_qualify_DstPortSRLanId(
  15395 	int	unit,
  15396 	bcm_field_entry_t	entry,
  15397 	uint8	lan_id)
  15398 {
  15399 	return bcm_field_qualify_DstPortSRLanId(
  15400 			BCM_CONTROL(unit)->unit,
  15401 			entry,
  15402 			lan_id);
  15403 }
  15404 
  15405 int
  15406 bcm_loop_field_qualify_DstPortSRLanId_get(
  15407 	int	unit,
  15408 	bcm_field_entry_t	entry,
  15409 	uint8 *	lan_id)
  15410 {
  15411 	return bcm_field_qualify_DstPortSRLanId_get(
  15412 			BCM_CONTROL(unit)->unit,
  15413 			entry,
  15414 			lan_id);
  15415 }
  15416 
  15417 int
  15418 bcm_loop_field_qualify_DstPortSRMode(
  15419 	int	unit,
  15420 	bcm_field_entry_t	entry,
  15421 	bcm_field_sr_port_mode_t	type,
  15422 	uint8	mask)
  15423 {
  15424 	return bcm_field_qualify_DstPortSRMode(
  15425 			BCM_CONTROL(unit)->unit,
  15426 			entry,
  15427 			type,
  15428 			mask);
  15429 }
  15430 
  15431 int
  15432 bcm_loop_field_qualify_DstPortSRMode_get(
  15433 	int	unit,
  15434 	bcm_field_entry_t	entry,
  15435 	bcm_field_sr_port_mode_t *	type,
  15436 	uint8 *	mask)
  15437 {
  15438 	return bcm_field_qualify_DstPortSRMode_get(
  15439 			BCM_CONTROL(unit)->unit,
  15440 			entry,
  15441 			type,
  15442 			mask);
  15443 }
  15444 
  15445 int
  15446 bcm_loop_field_qualify_DstPortSRNetId(
  15447 	int	unit,
  15448 	bcm_field_entry_t	entry,
  15449 	uint8	net_id,
  15450 	uint8	mask)
  15451 {
  15452 	return bcm_field_qualify_DstPortSRNetId(
  15453 			BCM_CONTROL(unit)->unit,
  15454 			entry,
  15455 			net_id,
  15456 			mask);
  15457 }
  15458 
  15459 int
  15460 bcm_loop_field_qualify_DstPortSRNetId_get(
  15461 	int	unit,
  15462 	bcm_field_entry_t	entry,
  15463 	uint8 *	net_id,
  15464 	uint8 *	mask)
  15465 {
  15466 	return bcm_field_qualify_DstPortSRNetId_get(
  15467 			BCM_CONTROL(unit)->unit,
  15468 			entry,
  15469 			net_id,
  15470 			mask);
  15471 }
  15472 
  15473 int
  15474 bcm_loop_field_qualify_DstPortSRRoleInterlink(
  15475 	int	unit,
  15476 	bcm_field_entry_t	entry,
  15477 	uint8	data)
  15478 {
  15479 	return bcm_field_qualify_DstPortSRRoleInterlink(
  15480 			BCM_CONTROL(unit)->unit,
  15481 			entry,
  15482 			data);
  15483 }
  15484 
  15485 int
  15486 bcm_loop_field_qualify_DstPortSRRoleInterlink_get(
  15487 	int	unit,
  15488 	bcm_field_entry_t	entry,
  15489 	uint8 *	data)
  15490 {
  15491 	return bcm_field_qualify_DstPortSRRoleInterlink_get(
  15492 			BCM_CONTROL(unit)->unit,
  15493 			entry,
  15494 			data);
  15495 }
  15496 
  15497 int
  15498 bcm_loop_field_qualify_DstPortSRType(
  15499 	int	unit,
  15500 	bcm_field_entry_t	entry,
  15501 	bcm_field_port_sr_type_t	type)
  15502 {
  15503 	return bcm_field_qualify_DstPortSRType(
  15504 			BCM_CONTROL(unit)->unit,
  15505 			entry,
  15506 			type);
  15507 }
  15508 
  15509 int
  15510 bcm_loop_field_qualify_DstPortSRType_get(
  15511 	int	unit,
  15512 	bcm_field_entry_t	entry,
  15513 	bcm_field_port_sr_type_t *	type)
  15514 {
  15515 	return bcm_field_qualify_DstPortSRType_get(
  15516 			BCM_CONTROL(unit)->unit,
  15517 			entry,
  15518 			type);
  15519 }
  15520 
  15521 int
  15522 bcm_loop_field_qualify_DstPort_get(
  15523 	int	unit,
  15524 	bcm_field_entry_t	entry,
  15525 	bcm_module_t *	data_modid,
  15526 	bcm_module_t *	mask_modid,
  15527 	bcm_port_t *	data_port,
  15528 	bcm_port_t *	mask_port)
  15529 {
  15530 	return bcm_field_qualify_DstPort_get(
  15531 			BCM_CONTROL(unit)->unit,
  15532 			entry,
  15533 			data_modid,
  15534 			mask_modid,
  15535 			data_port,
  15536 			mask_port);
  15537 }
  15538 
  15539 int
  15540 bcm_loop_field_qualify_DstRpfGport(
  15541 	int	unit,
  15542 	bcm_field_entry_t	entry,
  15543 	bcm_gport_t	data)
  15544 {
  15545 	return bcm_field_qualify_DstRpfGport(
  15546 			BCM_CONTROL(unit)->unit,
  15547 			entry,
  15548 			data);
  15549 }
  15550 
  15551 int
  15552 bcm_loop_field_qualify_DstRpfGport_get(
  15553 	int	unit,
  15554 	bcm_field_entry_t	entry,
  15555 	bcm_gport_t *	data)
  15556 {
  15557 	return bcm_field_qualify_DstRpfGport_get(
  15558 			BCM_CONTROL(unit)->unit,
  15559 			entry,
  15560 			data);
  15561 }
  15562 
  15563 int
  15564 bcm_loop_field_qualify_DstSysPortExt(
  15565 	int	unit,
  15566 	bcm_field_entry_t	entry,
  15567 	uint16	data,
  15568 	uint16	mask)
  15569 {
  15570 	return bcm_field_qualify_DstSysPortExt(
  15571 			BCM_CONTROL(unit)->unit,
  15572 			entry,
  15573 			data,
  15574 			mask);
  15575 }
  15576 
  15577 int
  15578 bcm_loop_field_qualify_DstSysPortExt_get(
  15579 	int	unit,
  15580 	bcm_field_entry_t	entry,
  15581 	uint16 *	data,
  15582 	uint16 *	mask)
  15583 {
  15584 	return bcm_field_qualify_DstSysPortExt_get(
  15585 			BCM_CONTROL(unit)->unit,
  15586 			entry,
  15587 			data,
  15588 			mask);
  15589 }
  15590 
  15591 int
  15592 bcm_loop_field_qualify_DstTrunk(
  15593 	int	unit,
  15594 	bcm_field_entry_t	entry,
  15595 	bcm_trunk_t	data,
  15596 	bcm_trunk_t	mask)
  15597 {
  15598 	return bcm_field_qualify_DstTrunk(
  15599 			BCM_CONTROL(unit)->unit,
  15600 			entry,
  15601 			data,
  15602 			mask);
  15603 }
  15604 
  15605 int
  15606 bcm_loop_field_qualify_DstTrunk_get(
  15607 	int	unit,
  15608 	bcm_field_entry_t	entry,
  15609 	bcm_trunk_t *	data,
  15610 	bcm_trunk_t *	mask)
  15611 {
  15612 	return bcm_field_qualify_DstTrunk_get(
  15613 			BCM_CONTROL(unit)->unit,
  15614 			entry,
  15615 			data,
  15616 			mask);
  15617 }
  15618 
  15619 int
  15620 bcm_loop_field_qualify_DstVlanGport(
  15621 	int	unit,
  15622 	bcm_field_entry_t	entry,
  15623 	bcm_gport_t	vlan_port_id)
  15624 {
  15625 	return bcm_field_qualify_DstVlanGport(
  15626 			BCM_CONTROL(unit)->unit,
  15627 			entry,
  15628 			vlan_port_id);
  15629 }
  15630 
  15631 int
  15632 bcm_loop_field_qualify_DstVlanGport_get(
  15633 	int	unit,
  15634 	bcm_field_entry_t	entry,
  15635 	bcm_gport_t *	vlan_port_id)
  15636 {
  15637 	return bcm_field_qualify_DstVlanGport_get(
  15638 			BCM_CONTROL(unit)->unit,
  15639 			entry,
  15640 			vlan_port_id);
  15641 }
  15642 
  15643 int
  15644 bcm_loop_field_qualify_DstVlanGports(
  15645 	int	unit,
  15646 	bcm_field_entry_t	entry,
  15647 	bcm_gport_t	vlan_port_id,
  15648 	bcm_gport_t	vlan_port_mask)
  15649 {
  15650 	return bcm_field_qualify_DstVlanGports(
  15651 			BCM_CONTROL(unit)->unit,
  15652 			entry,
  15653 			vlan_port_id,
  15654 			vlan_port_mask);
  15655 }
  15656 
  15657 int
  15658 bcm_loop_field_qualify_DstVlanGports_get(
  15659 	int	unit,
  15660 	bcm_field_entry_t	entry,
  15661 	bcm_gport_t *	vlan_port_id,
  15662 	bcm_gport_t *	vlan_port_mask)
  15663 {
  15664 	return bcm_field_qualify_DstVlanGports_get(
  15665 			BCM_CONTROL(unit)->unit,
  15666 			entry,
  15667 			vlan_port_id,
  15668 			vlan_port_mask);
  15669 }
  15670 
  15671 int
  15672 bcm_loop_field_qualify_DstVxlanGport(
  15673 	int	unit,
  15674 	bcm_field_entry_t	entry,
  15675 	bcm_gport_t	vxlan_port_id)
  15676 {
  15677 	return bcm_field_qualify_DstVxlanGport(
  15678 			BCM_CONTROL(unit)->unit,
  15679 			entry,
  15680 			vxlan_port_id);
  15681 }
  15682 
  15683 int
  15684 bcm_loop_field_qualify_DstVxlanGport_get(
  15685 	int	unit,
  15686 	bcm_field_entry_t	entry,
  15687 	bcm_gport_t *	vxlan_port_id)
  15688 {
  15689 	return bcm_field_qualify_DstVxlanGport_get(
  15690 			BCM_CONTROL(unit)->unit,
  15691 			entry,
  15692 			vxlan_port_id);
  15693 }
  15694 
  15695 int
  15696 bcm_loop_field_qualify_DstVxlanGports(
  15697 	int	unit,
  15698 	bcm_field_entry_t	entry,
  15699 	bcm_gport_t	vxlan_port_id,
  15700 	bcm_gport_t	vxlan_port_mask)
  15701 {
  15702 	return bcm_field_qualify_DstVxlanGports(
  15703 			BCM_CONTROL(unit)->unit,
  15704 			entry,
  15705 			vxlan_port_id,
  15706 			vxlan_port_mask);
  15707 }
  15708 
  15709 int
  15710 bcm_loop_field_qualify_DstVxlanGports_get(
  15711 	int	unit,
  15712 	bcm_field_entry_t	entry,
  15713 	bcm_gport_t *	vxlan_port_id,
  15714 	bcm_gport_t *	vxlan_port_mask)
  15715 {
  15716 	return bcm_field_qualify_DstVxlanGports_get(
  15717 			BCM_CONTROL(unit)->unit,
  15718 			entry,
  15719 			vxlan_port_id,
  15720 			vxlan_port_mask);
  15721 }
  15722 
  15723 int
  15724 bcm_loop_field_qualify_DstWlanGport(
  15725 	int	unit,
  15726 	bcm_field_entry_t	entry,
  15727 	bcm_gport_t	wlan_port_id)
  15728 {
  15729 	return bcm_field_qualify_DstWlanGport(
  15730 			BCM_CONTROL(unit)->unit,
  15731 			entry,
  15732 			wlan_port_id);
  15733 }
  15734 
  15735 int
  15736 bcm_loop_field_qualify_DstWlanGport_get(
  15737 	int	unit,
  15738 	bcm_field_entry_t	entry,
  15739 	bcm_gport_t *	wlan_port_id)
  15740 {
  15741 	return bcm_field_qualify_DstWlanGport_get(
  15742 			BCM_CONTROL(unit)->unit,
  15743 			entry,
  15744 			wlan_port_id);
  15745 }
  15746 
  15747 int
  15748 bcm_loop_field_qualify_DstWlanGports(
  15749 	int	unit,
  15750 	bcm_field_entry_t	entry,
  15751 	bcm_gport_t	wlan_port_id,
  15752 	bcm_gport_t	wlan_port_mask)
  15753 {
  15754 	return bcm_field_qualify_DstWlanGports(
  15755 			BCM_CONTROL(unit)->unit,
  15756 			entry,
  15757 			wlan_port_id,
  15758 			wlan_port_mask);
  15759 }
  15760 
  15761 int
  15762 bcm_loop_field_qualify_DstWlanGports_get(
  15763 	int	unit,
  15764 	bcm_field_entry_t	entry,
  15765 	bcm_gport_t *	wlan_port_id,
  15766 	bcm_gport_t *	wlan_port_mask)
  15767 {
  15768 	return bcm_field_qualify_DstWlanGports_get(
  15769 			BCM_CONTROL(unit)->unit,
  15770 			entry,
  15771 			wlan_port_id,
  15772 			wlan_port_mask);
  15773 }
  15774 
  15775 int
  15776 bcm_loop_field_qualify_ECid(
  15777 	int	unit,
  15778 	bcm_field_entry_t	entry,
  15779 	uint32	data,
  15780 	uint32	mask)
  15781 {
  15782 	return bcm_field_qualify_ECid(
  15783 			BCM_CONTROL(unit)->unit,
  15784 			entry,
  15785 			data,
  15786 			mask);
  15787 }
  15788 
  15789 int
  15790 bcm_loop_field_qualify_ECid_get(
  15791 	int	unit,
  15792 	bcm_field_entry_t	entry,
  15793 	uint32 *	data,
  15794 	uint32 *	mask)
  15795 {
  15796 	return bcm_field_qualify_ECid_get(
  15797 			BCM_CONTROL(unit)->unit,
  15798 			entry,
  15799 			data,
  15800 			mask);
  15801 }
  15802 
  15803 int
  15804 bcm_loop_field_qualify_ETag(
  15805 	int	unit,
  15806 	bcm_field_entry_t	entry,
  15807 	uint64	data,
  15808 	uint64	mask)
  15809 {
  15810 	return bcm_field_qualify_ETag(
  15811 			BCM_CONTROL(unit)->unit,
  15812 			entry,
  15813 			data,
  15814 			mask);
  15815 }
  15816 
  15817 int
  15818 bcm_loop_field_qualify_ETag_get(
  15819 	int	unit,
  15820 	bcm_field_entry_t	entry,
  15821 	uint64 *	data,
  15822 	uint64 *	mask)
  15823 {
  15824 	return bcm_field_qualify_ETag_get(
  15825 			BCM_CONTROL(unit)->unit,
  15826 			entry,
  15827 			data,
  15828 			mask);
  15829 }
  15830 
  15831 int
  15832 bcm_loop_field_qualify_EcnValue(
  15833 	int	unit,
  15834 	bcm_field_entry_t	entry,
  15835 	uint8	data,
  15836 	uint8	mask)
  15837 {
  15838 	return bcm_field_qualify_EcnValue(
  15839 			BCM_CONTROL(unit)->unit,
  15840 			entry,
  15841 			data,
  15842 			mask);
  15843 }
  15844 
  15845 int
  15846 bcm_loop_field_qualify_EcnValue_get(
  15847 	int	unit,
  15848 	bcm_field_entry_t	entry,
  15849 	uint8 *	data,
  15850 	uint8 *	mask)
  15851 {
  15852 	return bcm_field_qualify_EcnValue_get(
  15853 			BCM_CONTROL(unit)->unit,
  15854 			entry,
  15855 			data,
  15856 			mask);
  15857 }
  15858 
  15859 int
  15860 bcm_loop_field_qualify_EgressClass(
  15861 	int	unit,
  15862 	bcm_field_entry_t	entry,
  15863 	uint16	data,
  15864 	uint16	mask)
  15865 {
  15866 	return bcm_field_qualify_EgressClass(
  15867 			BCM_CONTROL(unit)->unit,
  15868 			entry,
  15869 			data,
  15870 			mask);
  15871 }
  15872 
  15873 int
  15874 bcm_loop_field_qualify_EgressClassL2Gre(
  15875 	int	unit,
  15876 	bcm_field_entry_t	entry,
  15877 	uint16	data,
  15878 	uint16	mask)
  15879 {
  15880 	return bcm_field_qualify_EgressClassL2Gre(
  15881 			BCM_CONTROL(unit)->unit,
  15882 			entry,
  15883 			data,
  15884 			mask);
  15885 }
  15886 
  15887 int
  15888 bcm_loop_field_qualify_EgressClassL2Gre_get(
  15889 	int	unit,
  15890 	bcm_field_entry_t	entry,
  15891 	uint16 *	data,
  15892 	uint16 *	mask)
  15893 {
  15894 	return bcm_field_qualify_EgressClassL2Gre_get(
  15895 			BCM_CONTROL(unit)->unit,
  15896 			entry,
  15897 			data,
  15898 			mask);
  15899 }
  15900 
  15901 int
  15902 bcm_loop_field_qualify_EgressClassL3Interface(
  15903 	int	unit,
  15904 	bcm_field_entry_t	entry,
  15905 	uint16	data,
  15906 	uint16	mask)
  15907 {
  15908 	return bcm_field_qualify_EgressClassL3Interface(
  15909 			BCM_CONTROL(unit)->unit,
  15910 			entry,
  15911 			data,
  15912 			mask);
  15913 }
  15914 
  15915 int
  15916 bcm_loop_field_qualify_EgressClassL3InterfaceTunnel(
  15917 	int	unit,
  15918 	bcm_field_entry_t	entry,
  15919 	uint16	data,
  15920 	uint16	mask)
  15921 {
  15922 	return bcm_field_qualify_EgressClassL3InterfaceTunnel(
  15923 			BCM_CONTROL(unit)->unit,
  15924 			entry,
  15925 			data,
  15926 			mask);
  15927 }
  15928 
  15929 int
  15930 bcm_loop_field_qualify_EgressClassL3InterfaceTunnel_get(
  15931 	int	unit,
  15932 	bcm_field_entry_t	entry,
  15933 	uint16 *	data,
  15934 	uint16 *	mask)
  15935 {
  15936 	return bcm_field_qualify_EgressClassL3InterfaceTunnel_get(
  15937 			BCM_CONTROL(unit)->unit,
  15938 			entry,
  15939 			data,
  15940 			mask);
  15941 }
  15942 
  15943 int
  15944 bcm_loop_field_qualify_EgressClassL3Interface_get(
  15945 	int	unit,
  15946 	bcm_field_entry_t	entry,
  15947 	uint16 *	data,
  15948 	uint16 *	mask)
  15949 {
  15950 	return bcm_field_qualify_EgressClassL3Interface_get(
  15951 			BCM_CONTROL(unit)->unit,
  15952 			entry,
  15953 			data,
  15954 			mask);
  15955 }
  15956 
  15957 int
  15958 bcm_loop_field_qualify_EgressClassPort(
  15959 	int	unit,
  15960 	bcm_field_entry_t	entry,
  15961 	uint16	data,
  15962 	uint16	mask)
  15963 {
  15964 	return bcm_field_qualify_EgressClassPort(
  15965 			BCM_CONTROL(unit)->unit,
  15966 			entry,
  15967 			data,
  15968 			mask);
  15969 }
  15970 
  15971 int
  15972 bcm_loop_field_qualify_EgressClassPort_get(
  15973 	int	unit,
  15974 	bcm_field_entry_t	entry,
  15975 	uint16 *	data,
  15976 	uint16 *	mask)
  15977 {
  15978 	return bcm_field_qualify_EgressClassPort_get(
  15979 			BCM_CONTROL(unit)->unit,
  15980 			entry,
  15981 			data,
  15982 			mask);
  15983 }
  15984 
  15985 int
  15986 bcm_loop_field_qualify_EgressClassTrill(
  15987 	int	unit,
  15988 	bcm_field_entry_t	entry,
  15989 	uint16	data,
  15990 	uint16	mask)
  15991 {
  15992 	return bcm_field_qualify_EgressClassTrill(
  15993 			BCM_CONTROL(unit)->unit,
  15994 			entry,
  15995 			data,
  15996 			mask);
  15997 }
  15998 
  15999 int
  16000 bcm_loop_field_qualify_EgressClassTrill_get(
  16001 	int	unit,
  16002 	bcm_field_entry_t	entry,
  16003 	uint16 *	data,
  16004 	uint16 *	mask)
  16005 {
  16006 	return bcm_field_qualify_EgressClassTrill_get(
  16007 			BCM_CONTROL(unit)->unit,
  16008 			entry,
  16009 			data,
  16010 			mask);
  16011 }
  16012 
  16013 int
  16014 bcm_loop_field_qualify_EgressClassTunnel(
  16015 	int	unit,
  16016 	bcm_field_entry_t	entry,
  16017 	uint16	data,
  16018 	uint16	mask)
  16019 {
  16020 	return bcm_field_qualify_EgressClassTunnel(
  16021 			BCM_CONTROL(unit)->unit,
  16022 			entry,
  16023 			data,
  16024 			mask);
  16025 }
  16026 
  16027 int
  16028 bcm_loop_field_qualify_EgressClassTunnel_get(
  16029 	int	unit,
  16030 	bcm_field_entry_t	entry,
  16031 	uint16 *	data,
  16032 	uint16 *	mask)
  16033 {
  16034 	return bcm_field_qualify_EgressClassTunnel_get(
  16035 			BCM_CONTROL(unit)->unit,
  16036 			entry,
  16037 			data,
  16038 			mask);
  16039 }
  16040 
  16041 int
  16042 bcm_loop_field_qualify_EgressClassVxlan(
  16043 	int	unit,
  16044 	bcm_field_entry_t	entry,
  16045 	uint16	data,
  16046 	uint16	mask)
  16047 {
  16048 	return bcm_field_qualify_EgressClassVxlan(
  16049 			BCM_CONTROL(unit)->unit,
  16050 			entry,
  16051 			data,
  16052 			mask);
  16053 }
  16054 
  16055 int
  16056 bcm_loop_field_qualify_EgressClassVxlan_get(
  16057 	int	unit,
  16058 	bcm_field_entry_t	entry,
  16059 	uint16 *	data,
  16060 	uint16 *	mask)
  16061 {
  16062 	return bcm_field_qualify_EgressClassVxlan_get(
  16063 			BCM_CONTROL(unit)->unit,
  16064 			entry,
  16065 			data,
  16066 			mask);
  16067 }
  16068 
  16069 int
  16070 bcm_loop_field_qualify_EgressClassWlan(
  16071 	int	unit,
  16072 	bcm_field_entry_t	entry,
  16073 	uint16	data,
  16074 	uint16	mask)
  16075 {
  16076 	return bcm_field_qualify_EgressClassWlan(
  16077 			BCM_CONTROL(unit)->unit,
  16078 			entry,
  16079 			data,
  16080 			mask);
  16081 }
  16082 
  16083 int
  16084 bcm_loop_field_qualify_EgressClassWlan_get(
  16085 	int	unit,
  16086 	bcm_field_entry_t	entry,
  16087 	uint16 *	data,
  16088 	uint16 *	mask)
  16089 {
  16090 	return bcm_field_qualify_EgressClassWlan_get(
  16091 			BCM_CONTROL(unit)->unit,
  16092 			entry,
  16093 			data,
  16094 			mask);
  16095 }
  16096 
  16097 int
  16098 bcm_loop_field_qualify_EgressClass_get(
  16099 	int	unit,
  16100 	bcm_field_entry_t	entry,
  16101 	uint16 *	data,
  16102 	uint16 *	mask)
  16103 {
  16104 	return bcm_field_qualify_EgressClass_get(
  16105 			BCM_CONTROL(unit)->unit,
  16106 			entry,
  16107 			data,
  16108 			mask);
  16109 }
  16110 
  16111 int
  16112 bcm_loop_field_qualify_EgressForwardingClassId(
  16113 	int	unit,
  16114 	bcm_field_entry_t	entry,
  16115 	int	data,
  16116 	int	mask)
  16117 {
  16118 	return bcm_field_qualify_EgressForwardingClassId(
  16119 			BCM_CONTROL(unit)->unit,
  16120 			entry,
  16121 			data,
  16122 			mask);
  16123 }
  16124 
  16125 int
  16126 bcm_loop_field_qualify_EgressForwardingClassId_get(
  16127 	int	unit,
  16128 	bcm_field_entry_t	entry,
  16129 	int *	data,
  16130 	int *	mask)
  16131 {
  16132 	return bcm_field_qualify_EgressForwardingClassId_get(
  16133 			BCM_CONTROL(unit)->unit,
  16134 			entry,
  16135 			data,
  16136 			mask);
  16137 }
  16138 
  16139 int
  16140 bcm_loop_field_qualify_EtherType(
  16141 	int	unit,
  16142 	bcm_field_entry_t	entry,
  16143 	uint16	data,
  16144 	uint16	mask)
  16145 {
  16146 	return bcm_field_qualify_EtherType(
  16147 			BCM_CONTROL(unit)->unit,
  16148 			entry,
  16149 			data,
  16150 			mask);
  16151 }
  16152 
  16153 int
  16154 bcm_loop_field_qualify_EtherTypeClass(
  16155 	int	unit,
  16156 	bcm_field_entry_t	entry,
  16157 	bcm_class_t	data,
  16158 	bcm_class_t	mask)
  16159 {
  16160 	return bcm_field_qualify_EtherTypeClass(
  16161 			BCM_CONTROL(unit)->unit,
  16162 			entry,
  16163 			data,
  16164 			mask);
  16165 }
  16166 
  16167 int
  16168 bcm_loop_field_qualify_EtherTypeClass_get(
  16169 	int	unit,
  16170 	bcm_field_entry_t	entry,
  16171 	bcm_class_t *	data,
  16172 	bcm_class_t *	mask)
  16173 {
  16174 	return bcm_field_qualify_EtherTypeClass_get(
  16175 			BCM_CONTROL(unit)->unit,
  16176 			entry,
  16177 			data,
  16178 			mask);
  16179 }
  16180 
  16181 int
  16182 bcm_loop_field_qualify_EtherType_get(
  16183 	int	unit,
  16184 	bcm_field_entry_t	entry,
  16185 	uint16 *	data,
  16186 	uint16 *	mask)
  16187 {
  16188 	return bcm_field_qualify_EtherType_get(
  16189 			BCM_CONTROL(unit)->unit,
  16190 			entry,
  16191 			data,
  16192 			mask);
  16193 }
  16194 
  16195 int
  16196 bcm_loop_field_qualify_EthernetOamClassVlanTranslateKeyFirst(
  16197 	int	unit,
  16198 	bcm_field_entry_t	entry,
  16199 	uint8	data,
  16200 	uint8	mask)
  16201 {
  16202 	return bcm_field_qualify_EthernetOamClassVlanTranslateKeyFirst(
  16203 			BCM_CONTROL(unit)->unit,
  16204 			entry,
  16205 			data,
  16206 			mask);
  16207 }
  16208 
  16209 int
  16210 bcm_loop_field_qualify_EthernetOamClassVlanTranslateKeyFirst_get(
  16211 	int	unit,
  16212 	bcm_field_entry_t	entry,
  16213 	uint8 *	data,
  16214 	uint8 *	mask)
  16215 {
  16216 	return bcm_field_qualify_EthernetOamClassVlanTranslateKeyFirst_get(
  16217 			BCM_CONTROL(unit)->unit,
  16218 			entry,
  16219 			data,
  16220 			mask);
  16221 }
  16222 
  16223 int
  16224 bcm_loop_field_qualify_EthernetOamClassVlanTranslateKeySecond(
  16225 	int	unit,
  16226 	bcm_field_entry_t	entry,
  16227 	uint8	data,
  16228 	uint8	mask)
  16229 {
  16230 	return bcm_field_qualify_EthernetOamClassVlanTranslateKeySecond(
  16231 			BCM_CONTROL(unit)->unit,
  16232 			entry,
  16233 			data,
  16234 			mask);
  16235 }
  16236 
  16237 int
  16238 bcm_loop_field_qualify_EthernetOamClassVlanTranslateKeySecond_get(
  16239 	int	unit,
  16240 	bcm_field_entry_t	entry,
  16241 	uint8 *	data,
  16242 	uint8 *	mask)
  16243 {
  16244 	return bcm_field_qualify_EthernetOamClassVlanTranslateKeySecond_get(
  16245 			BCM_CONTROL(unit)->unit,
  16246 			entry,
  16247 			data,
  16248 			mask);
  16249 }
  16250 
  16251 int
  16252 bcm_loop_field_qualify_EthernetOamClassVpn(
  16253 	int	unit,
  16254 	bcm_field_entry_t	entry,
  16255 	uint8	data,
  16256 	uint8	mask)
  16257 {
  16258 	return bcm_field_qualify_EthernetOamClassVpn(
  16259 			BCM_CONTROL(unit)->unit,
  16260 			entry,
  16261 			data,
  16262 			mask);
  16263 }
  16264 
  16265 int
  16266 bcm_loop_field_qualify_EthernetOamClassVpn_get(
  16267 	int	unit,
  16268 	bcm_field_entry_t	entry,
  16269 	uint8 *	data,
  16270 	uint8 *	mask)
  16271 {
  16272 	return bcm_field_qualify_EthernetOamClassVpn_get(
  16273 			BCM_CONTROL(unit)->unit,
  16274 			entry,
  16275 			data,
  16276 			mask);
  16277 }
  16278 
  16279 int
  16280 bcm_loop_field_qualify_EthernetOamDstClassL2(
  16281 	int	unit,
  16282 	bcm_field_entry_t	entry,
  16283 	uint8	data,
  16284 	uint8	mask)
  16285 {
  16286 	return bcm_field_qualify_EthernetOamDstClassL2(
  16287 			BCM_CONTROL(unit)->unit,
  16288 			entry,
  16289 			data,
  16290 			mask);
  16291 }
  16292 
  16293 int
  16294 bcm_loop_field_qualify_EthernetOamDstClassL2_get(
  16295 	int	unit,
  16296 	bcm_field_entry_t	entry,
  16297 	uint8 *	data,
  16298 	uint8 *	mask)
  16299 {
  16300 	return bcm_field_qualify_EthernetOamDstClassL2_get(
  16301 			BCM_CONTROL(unit)->unit,
  16302 			entry,
  16303 			data,
  16304 			mask);
  16305 }
  16306 
  16307 int
  16308 bcm_loop_field_qualify_EthernetOamHeaderBits0_31(
  16309 	int	unit,
  16310 	bcm_field_entry_t	entry,
  16311 	uint32	data,
  16312 	uint32	mask)
  16313 {
  16314 	return bcm_field_qualify_EthernetOamHeaderBits0_31(
  16315 			BCM_CONTROL(unit)->unit,
  16316 			entry,
  16317 			data,
  16318 			mask);
  16319 }
  16320 
  16321 int
  16322 bcm_loop_field_qualify_EthernetOamHeaderBits0_31_get(
  16323 	int	unit,
  16324 	bcm_field_entry_t	entry,
  16325 	uint32 *	data,
  16326 	uint32 *	mask)
  16327 {
  16328 	return bcm_field_qualify_EthernetOamHeaderBits0_31_get(
  16329 			BCM_CONTROL(unit)->unit,
  16330 			entry,
  16331 			data,
  16332 			mask);
  16333 }
  16334 
  16335 int
  16336 bcm_loop_field_qualify_EthernetOamHeaderBits32_63(
  16337 	int	unit,
  16338 	bcm_field_entry_t	entry,
  16339 	uint32	data,
  16340 	uint32	mask)
  16341 {
  16342 	return bcm_field_qualify_EthernetOamHeaderBits32_63(
  16343 			BCM_CONTROL(unit)->unit,
  16344 			entry,
  16345 			data,
  16346 			mask);
  16347 }
  16348 
  16349 int
  16350 bcm_loop_field_qualify_EthernetOamHeaderBits32_63_get(
  16351 	int	unit,
  16352 	bcm_field_entry_t	entry,
  16353 	uint32 *	data,
  16354 	uint32 *	mask)
  16355 {
  16356 	return bcm_field_qualify_EthernetOamHeaderBits32_63_get(
  16357 			BCM_CONTROL(unit)->unit,
  16358 			entry,
  16359 			data,
  16360 			mask);
  16361 }
  16362 
  16363 int
  16364 bcm_loop_field_qualify_EthernetOamInterfaceClassMim(
  16365 	int	unit,
  16366 	bcm_field_entry_t	entry,
  16367 	uint8	data,
  16368 	uint8	mask)
  16369 {
  16370 	return bcm_field_qualify_EthernetOamInterfaceClassMim(
  16371 			BCM_CONTROL(unit)->unit,
  16372 			entry,
  16373 			data,
  16374 			mask);
  16375 }
  16376 
  16377 int
  16378 bcm_loop_field_qualify_EthernetOamInterfaceClassMim_get(
  16379 	int	unit,
  16380 	bcm_field_entry_t	entry,
  16381 	uint8 *	data,
  16382 	uint8 *	mask)
  16383 {
  16384 	return bcm_field_qualify_EthernetOamInterfaceClassMim_get(
  16385 			BCM_CONTROL(unit)->unit,
  16386 			entry,
  16387 			data,
  16388 			mask);
  16389 }
  16390 
  16391 int
  16392 bcm_loop_field_qualify_EthernetOamInterfaceClassMpls(
  16393 	int	unit,
  16394 	bcm_field_entry_t	entry,
  16395 	uint8	data,
  16396 	uint8	mask)
  16397 {
  16398 	return bcm_field_qualify_EthernetOamInterfaceClassMpls(
  16399 			BCM_CONTROL(unit)->unit,
  16400 			entry,
  16401 			data,
  16402 			mask);
  16403 }
  16404 
  16405 int
  16406 bcm_loop_field_qualify_EthernetOamInterfaceClassMpls_get(
  16407 	int	unit,
  16408 	bcm_field_entry_t	entry,
  16409 	uint8 *	data,
  16410 	uint8 *	mask)
  16411 {
  16412 	return bcm_field_qualify_EthernetOamInterfaceClassMpls_get(
  16413 			BCM_CONTROL(unit)->unit,
  16414 			entry,
  16415 			data,
  16416 			mask);
  16417 }
  16418 
  16419 int
  16420 bcm_loop_field_qualify_EthernetOamInterfaceClassNiv(
  16421 	int	unit,
  16422 	bcm_field_entry_t	entry,
  16423 	uint8	data,
  16424 	uint8	mask)
  16425 {
  16426 	return bcm_field_qualify_EthernetOamInterfaceClassNiv(
  16427 			BCM_CONTROL(unit)->unit,
  16428 			entry,
  16429 			data,
  16430 			mask);
  16431 }
  16432 
  16433 int
  16434 bcm_loop_field_qualify_EthernetOamInterfaceClassNiv_get(
  16435 	int	unit,
  16436 	bcm_field_entry_t	entry,
  16437 	uint8 *	data,
  16438 	uint8 *	mask)
  16439 {
  16440 	return bcm_field_qualify_EthernetOamInterfaceClassNiv_get(
  16441 			BCM_CONTROL(unit)->unit,
  16442 			entry,
  16443 			data,
  16444 			mask);
  16445 }
  16446 
  16447 int
  16448 bcm_loop_field_qualify_EthernetOamInterfaceClassPort(
  16449 	int	unit,
  16450 	bcm_field_entry_t	entry,
  16451 	uint8	data,
  16452 	uint8	mask)
  16453 {
  16454 	return bcm_field_qualify_EthernetOamInterfaceClassPort(
  16455 			BCM_CONTROL(unit)->unit,
  16456 			entry,
  16457 			data,
  16458 			mask);
  16459 }
  16460 
  16461 int
  16462 bcm_loop_field_qualify_EthernetOamInterfaceClassPort_get(
  16463 	int	unit,
  16464 	bcm_field_entry_t	entry,
  16465 	uint8 *	data,
  16466 	uint8 *	mask)
  16467 {
  16468 	return bcm_field_qualify_EthernetOamInterfaceClassPort_get(
  16469 			BCM_CONTROL(unit)->unit,
  16470 			entry,
  16471 			data,
  16472 			mask);
  16473 }
  16474 
  16475 int
  16476 bcm_loop_field_qualify_EthernetOamInterfaceClassVlan(
  16477 	int	unit,
  16478 	bcm_field_entry_t	entry,
  16479 	uint8	data,
  16480 	uint8	mask)
  16481 {
  16482 	return bcm_field_qualify_EthernetOamInterfaceClassVlan(
  16483 			BCM_CONTROL(unit)->unit,
  16484 			entry,
  16485 			data,
  16486 			mask);
  16487 }
  16488 
  16489 int
  16490 bcm_loop_field_qualify_EthernetOamInterfaceClassVlan_get(
  16491 	int	unit,
  16492 	bcm_field_entry_t	entry,
  16493 	uint8 *	data,
  16494 	uint8 *	mask)
  16495 {
  16496 	return bcm_field_qualify_EthernetOamInterfaceClassVlan_get(
  16497 			BCM_CONTROL(unit)->unit,
  16498 			entry,
  16499 			data,
  16500 			mask);
  16501 }
  16502 
  16503 int
  16504 bcm_loop_field_qualify_EthernetOamInterfaceClassVxlan(
  16505 	int	unit,
  16506 	bcm_field_entry_t	entry,
  16507 	uint8	data,
  16508 	uint8	mask)
  16509 {
  16510 	return bcm_field_qualify_EthernetOamInterfaceClassVxlan(
  16511 			BCM_CONTROL(unit)->unit,
  16512 			entry,
  16513 			data,
  16514 			mask);
  16515 }
  16516 
  16517 int
  16518 bcm_loop_field_qualify_EthernetOamInterfaceClassVxlan_get(
  16519 	int	unit,
  16520 	bcm_field_entry_t	entry,
  16521 	uint8 *	data,
  16522 	uint8 *	mask)
  16523 {
  16524 	return bcm_field_qualify_EthernetOamInterfaceClassVxlan_get(
  16525 			BCM_CONTROL(unit)->unit,
  16526 			entry,
  16527 			data,
  16528 			mask);
  16529 }
  16530 
  16531 int
  16532 bcm_loop_field_qualify_EthernetOamTxPktUPMEP(
  16533 	int	unit,
  16534 	bcm_field_entry_t	entry,
  16535 	uint8	data,
  16536 	uint8	mask)
  16537 {
  16538 	return bcm_field_qualify_EthernetOamTxPktUPMEP(
  16539 			BCM_CONTROL(unit)->unit,
  16540 			entry,
  16541 			data,
  16542 			mask);
  16543 }
  16544 
  16545 int
  16546 bcm_loop_field_qualify_EthernetOamTxPktUPMEP_get(
  16547 	int	unit,
  16548 	bcm_field_entry_t	entry,
  16549 	uint8 *	data,
  16550 	uint8 *	mask)
  16551 {
  16552 	return bcm_field_qualify_EthernetOamTxPktUPMEP_get(
  16553 			BCM_CONTROL(unit)->unit,
  16554 			entry,
  16555 			data,
  16556 			mask);
  16557 }
  16558 
  16559 int
  16560 bcm_loop_field_qualify_ExactMatchActionClassId(
  16561 	int	unit,
  16562 	bcm_field_entry_t	entry,
  16563 	int	group_pri,
  16564 	uint32	data,
  16565 	uint32	mask)
  16566 {
  16567 	return bcm_field_qualify_ExactMatchActionClassId(
  16568 			BCM_CONTROL(unit)->unit,
  16569 			entry,
  16570 			group_pri,
  16571 			data,
  16572 			mask);
  16573 }
  16574 
  16575 int
  16576 bcm_loop_field_qualify_ExactMatchActionClassId_get(
  16577 	int	unit,
  16578 	bcm_field_entry_t	entry,
  16579 	int	group_pri,
  16580 	uint32 *	data,
  16581 	uint32 *	mask)
  16582 {
  16583 	return bcm_field_qualify_ExactMatchActionClassId_get(
  16584 			BCM_CONTROL(unit)->unit,
  16585 			entry,
  16586 			group_pri,
  16587 			data,
  16588 			mask);
  16589 }
  16590 
  16591 int
  16592 bcm_loop_field_qualify_ExactMatchGroupClassId(
  16593 	int	unit,
  16594 	bcm_field_entry_t	entry,
  16595 	int	group_pri,
  16596 	bcm_field_group_t	group)
  16597 {
  16598 	return bcm_field_qualify_ExactMatchGroupClassId(
  16599 			BCM_CONTROL(unit)->unit,
  16600 			entry,
  16601 			group_pri,
  16602 			group);
  16603 }
  16604 
  16605 int
  16606 bcm_loop_field_qualify_ExactMatchGroupClassId_get(
  16607 	int	unit,
  16608 	bcm_field_entry_t	entry,
  16609 	int	group_pri,
  16610 	bcm_field_group_t *	group)
  16611 {
  16612 	return bcm_field_qualify_ExactMatchGroupClassId_get(
  16613 			BCM_CONTROL(unit)->unit,
  16614 			entry,
  16615 			group_pri,
  16616 			group);
  16617 }
  16618 
  16619 int
  16620 bcm_loop_field_qualify_ExactMatchHitStatus(
  16621 	int	unit,
  16622 	bcm_field_entry_t	entry,
  16623 	int	group_pri,
  16624 	uint8	data,
  16625 	uint8	mask)
  16626 {
  16627 	return bcm_field_qualify_ExactMatchHitStatus(
  16628 			BCM_CONTROL(unit)->unit,
  16629 			entry,
  16630 			group_pri,
  16631 			data,
  16632 			mask);
  16633 }
  16634 
  16635 int
  16636 bcm_loop_field_qualify_ExactMatchHitStatus_get(
  16637 	int	unit,
  16638 	bcm_field_entry_t	entry,
  16639 	int	group_pri,
  16640 	uint8 *	data,
  16641 	uint8 *	mask)
  16642 {
  16643 	return bcm_field_qualify_ExactMatchHitStatus_get(
  16644 			BCM_CONTROL(unit)->unit,
  16645 			entry,
  16646 			group_pri,
  16647 			data,
  16648 			mask);
  16649 }
  16650 
  16651 int
  16652 bcm_loop_field_qualify_ExtensionHeader2Type(
  16653 	int	unit,
  16654 	bcm_field_entry_t	entry,
  16655 	uint8	data,
  16656 	uint8	mask)
  16657 {
  16658 	return bcm_field_qualify_ExtensionHeader2Type(
  16659 			BCM_CONTROL(unit)->unit,
  16660 			entry,
  16661 			data,
  16662 			mask);
  16663 }
  16664 
  16665 int
  16666 bcm_loop_field_qualify_ExtensionHeader2Type_get(
  16667 	int	unit,
  16668 	bcm_field_entry_t	entry,
  16669 	uint8 *	data,
  16670 	uint8 *	mask)
  16671 {
  16672 	return bcm_field_qualify_ExtensionHeader2Type_get(
  16673 			BCM_CONTROL(unit)->unit,
  16674 			entry,
  16675 			data,
  16676 			mask);
  16677 }
  16678 
  16679 int
  16680 bcm_loop_field_qualify_ExtensionHeaderSubCode(
  16681 	int	unit,
  16682 	bcm_field_entry_t	entry,
  16683 	uint8	data,
  16684 	uint8	mask)
  16685 {
  16686 	return bcm_field_qualify_ExtensionHeaderSubCode(
  16687 			BCM_CONTROL(unit)->unit,
  16688 			entry,
  16689 			data,
  16690 			mask);
  16691 }
  16692 
  16693 int
  16694 bcm_loop_field_qualify_ExtensionHeaderSubCode_get(
  16695 	int	unit,
  16696 	bcm_field_entry_t	entry,
  16697 	uint8 *	data,
  16698 	uint8 *	mask)
  16699 {
  16700 	return bcm_field_qualify_ExtensionHeaderSubCode_get(
  16701 			BCM_CONTROL(unit)->unit,
  16702 			entry,
  16703 			data,
  16704 			mask);
  16705 }
  16706 
  16707 int
  16708 bcm_loop_field_qualify_ExtensionHeaderType(
  16709 	int	unit,
  16710 	bcm_field_entry_t	entry,
  16711 	uint8	data,
  16712 	uint8	mask)
  16713 {
  16714 	return bcm_field_qualify_ExtensionHeaderType(
  16715 			BCM_CONTROL(unit)->unit,
  16716 			entry,
  16717 			data,
  16718 			mask);
  16719 }
  16720 
  16721 int
  16722 bcm_loop_field_qualify_ExtensionHeaderType_get(
  16723 	int	unit,
  16724 	bcm_field_entry_t	entry,
  16725 	uint8 *	data,
  16726 	uint8 *	mask)
  16727 {
  16728 	return bcm_field_qualify_ExtensionHeaderType_get(
  16729 			BCM_CONTROL(unit)->unit,
  16730 			entry,
  16731 			data,
  16732 			mask);
  16733 }
  16734 
  16735 int
  16736 bcm_loop_field_qualify_ExternalHit0(
  16737 	int	unit,
  16738 	bcm_field_entry_t	entry,
  16739 	uint8	data,
  16740 	uint8	mask)
  16741 {
  16742 	return bcm_field_qualify_ExternalHit0(
  16743 			BCM_CONTROL(unit)->unit,
  16744 			entry,
  16745 			data,
  16746 			mask);
  16747 }
  16748 
  16749 int
  16750 bcm_loop_field_qualify_ExternalHit0_get(
  16751 	int	unit,
  16752 	bcm_field_entry_t	entry,
  16753 	uint8 *	data,
  16754 	uint8 *	mask)
  16755 {
  16756 	return bcm_field_qualify_ExternalHit0_get(
  16757 			BCM_CONTROL(unit)->unit,
  16758 			entry,
  16759 			data,
  16760 			mask);
  16761 }
  16762 
  16763 int
  16764 bcm_loop_field_qualify_ExternalHit1(
  16765 	int	unit,
  16766 	bcm_field_entry_t	entry,
  16767 	uint8	data,
  16768 	uint8	mask)
  16769 {
  16770 	return bcm_field_qualify_ExternalHit1(
  16771 			BCM_CONTROL(unit)->unit,
  16772 			entry,
  16773 			data,
  16774 			mask);
  16775 }
  16776 
  16777 int
  16778 bcm_loop_field_qualify_ExternalHit1_get(
  16779 	int	unit,
  16780 	bcm_field_entry_t	entry,
  16781 	uint8 *	data,
  16782 	uint8 *	mask)
  16783 {
  16784 	return bcm_field_qualify_ExternalHit1_get(
  16785 			BCM_CONTROL(unit)->unit,
  16786 			entry,
  16787 			data,
  16788 			mask);
  16789 }
  16790 
  16791 int
  16792 bcm_loop_field_qualify_ExternalHit2(
  16793 	int	unit,
  16794 	bcm_field_entry_t	entry,
  16795 	uint8	data,
  16796 	uint8	mask)
  16797 {
  16798 	return bcm_field_qualify_ExternalHit2(
  16799 			BCM_CONTROL(unit)->unit,
  16800 			entry,
  16801 			data,
  16802 			mask);
  16803 }
  16804 
  16805 int
  16806 bcm_loop_field_qualify_ExternalHit2_get(
  16807 	int	unit,
  16808 	bcm_field_entry_t	entry,
  16809 	uint8 *	data,
  16810 	uint8 *	mask)
  16811 {
  16812 	return bcm_field_qualify_ExternalHit2_get(
  16813 			BCM_CONTROL(unit)->unit,
  16814 			entry,
  16815 			data,
  16816 			mask);
  16817 }
  16818 
  16819 int
  16820 bcm_loop_field_qualify_ExternalHit3(
  16821 	int	unit,
  16822 	bcm_field_entry_t	entry,
  16823 	uint8	data,
  16824 	uint8	mask)
  16825 {
  16826 	return bcm_field_qualify_ExternalHit3(
  16827 			BCM_CONTROL(unit)->unit,
  16828 			entry,
  16829 			data,
  16830 			mask);
  16831 }
  16832 
  16833 int
  16834 bcm_loop_field_qualify_ExternalHit3_get(
  16835 	int	unit,
  16836 	bcm_field_entry_t	entry,
  16837 	uint8 *	data,
  16838 	uint8 *	mask)
  16839 {
  16840 	return bcm_field_qualify_ExternalHit3_get(
  16841 			BCM_CONTROL(unit)->unit,
  16842 			entry,
  16843 			data,
  16844 			mask);
  16845 }
  16846 
  16847 int
  16848 bcm_loop_field_qualify_ExternalHit4(
  16849 	int	unit,
  16850 	bcm_field_entry_t	entry,
  16851 	uint8	data,
  16852 	uint8	mask)
  16853 {
  16854 	return bcm_field_qualify_ExternalHit4(
  16855 			BCM_CONTROL(unit)->unit,
  16856 			entry,
  16857 			data,
  16858 			mask);
  16859 }
  16860 
  16861 int
  16862 bcm_loop_field_qualify_ExternalHit4_get(
  16863 	int	unit,
  16864 	bcm_field_entry_t	entry,
  16865 	uint8 *	data,
  16866 	uint8 *	mask)
  16867 {
  16868 	return bcm_field_qualify_ExternalHit4_get(
  16869 			BCM_CONTROL(unit)->unit,
  16870 			entry,
  16871 			data,
  16872 			mask);
  16873 }
  16874 
  16875 int
  16876 bcm_loop_field_qualify_ExternalHit5(
  16877 	int	unit,
  16878 	bcm_field_entry_t	entry,
  16879 	uint8	data,
  16880 	uint8	mask)
  16881 {
  16882 	return bcm_field_qualify_ExternalHit5(
  16883 			BCM_CONTROL(unit)->unit,
  16884 			entry,
  16885 			data,
  16886 			mask);
  16887 }
  16888 
  16889 int
  16890 bcm_loop_field_qualify_ExternalHit5_get(
  16891 	int	unit,
  16892 	bcm_field_entry_t	entry,
  16893 	uint8 *	data,
  16894 	uint8 *	mask)
  16895 {
  16896 	return bcm_field_qualify_ExternalHit5_get(
  16897 			BCM_CONTROL(unit)->unit,
  16898 			entry,
  16899 			data,
  16900 			mask);
  16901 }
  16902 
  16903 int
  16904 bcm_loop_field_qualify_ExternalHit6(
  16905 	int	unit,
  16906 	bcm_field_entry_t	entry,
  16907 	uint8	data,
  16908 	uint8	mask)
  16909 {
  16910 	return bcm_field_qualify_ExternalHit6(
  16911 			BCM_CONTROL(unit)->unit,
  16912 			entry,
  16913 			data,
  16914 			mask);
  16915 }
  16916 
  16917 int
  16918 bcm_loop_field_qualify_ExternalHit6_get(
  16919 	int	unit,
  16920 	bcm_field_entry_t	entry,
  16921 	uint8 *	data,
  16922 	uint8 *	mask)
  16923 {
  16924 	return bcm_field_qualify_ExternalHit6_get(
  16925 			BCM_CONTROL(unit)->unit,
  16926 			entry,
  16927 			data,
  16928 			mask);
  16929 }
  16930 
  16931 int
  16932 bcm_loop_field_qualify_ExternalHit7(
  16933 	int	unit,
  16934 	bcm_field_entry_t	entry,
  16935 	uint8	data,
  16936 	uint8	mask)
  16937 {
  16938 	return bcm_field_qualify_ExternalHit7(
  16939 			BCM_CONTROL(unit)->unit,
  16940 			entry,
  16941 			data,
  16942 			mask);
  16943 }
  16944 
  16945 int
  16946 bcm_loop_field_qualify_ExternalHit7_get(
  16947 	int	unit,
  16948 	bcm_field_entry_t	entry,
  16949 	uint8 *	data,
  16950 	uint8 *	mask)
  16951 {
  16952 	return bcm_field_qualify_ExternalHit7_get(
  16953 			BCM_CONTROL(unit)->unit,
  16954 			entry,
  16955 			data,
  16956 			mask);
  16957 }
  16958 
  16959 int
  16960 bcm_loop_field_qualify_ExternalValue0(
  16961 	int	unit,
  16962 	bcm_field_entry_t	entry,
  16963 	uint64	data,
  16964 	uint64	mask)
  16965 {
  16966 	return bcm_field_qualify_ExternalValue0(
  16967 			BCM_CONTROL(unit)->unit,
  16968 			entry,
  16969 			data,
  16970 			mask);
  16971 }
  16972 
  16973 int
  16974 bcm_loop_field_qualify_ExternalValue0_get(
  16975 	int	unit,
  16976 	bcm_field_entry_t	entry,
  16977 	uint64 *	data,
  16978 	uint64 *	mask)
  16979 {
  16980 	return bcm_field_qualify_ExternalValue0_get(
  16981 			BCM_CONTROL(unit)->unit,
  16982 			entry,
  16983 			data,
  16984 			mask);
  16985 }
  16986 
  16987 int
  16988 bcm_loop_field_qualify_ExternalValue1(
  16989 	int	unit,
  16990 	bcm_field_entry_t	entry,
  16991 	uint64	data,
  16992 	uint64	mask)
  16993 {
  16994 	return bcm_field_qualify_ExternalValue1(
  16995 			BCM_CONTROL(unit)->unit,
  16996 			entry,
  16997 			data,
  16998 			mask);
  16999 }
  17000 
  17001 int
  17002 bcm_loop_field_qualify_ExternalValue1_get(
  17003 	int	unit,
  17004 	bcm_field_entry_t	entry,
  17005 	uint64 *	data,
  17006 	uint64 *	mask)
  17007 {
  17008 	return bcm_field_qualify_ExternalValue1_get(
  17009 			BCM_CONTROL(unit)->unit,
  17010 			entry,
  17011 			data,
  17012 			mask);
  17013 }
  17014 
  17015 int
  17016 bcm_loop_field_qualify_ExternalValue2(
  17017 	int	unit,
  17018 	bcm_field_entry_t	entry,
  17019 	uint64	data,
  17020 	uint64	mask)
  17021 {
  17022 	return bcm_field_qualify_ExternalValue2(
  17023 			BCM_CONTROL(unit)->unit,
  17024 			entry,
  17025 			data,
  17026 			mask);
  17027 }
  17028 
  17029 int
  17030 bcm_loop_field_qualify_ExternalValue2_get(
  17031 	int	unit,
  17032 	bcm_field_entry_t	entry,
  17033 	uint64 *	data,
  17034 	uint64 *	mask)
  17035 {
  17036 	return bcm_field_qualify_ExternalValue2_get(
  17037 			BCM_CONTROL(unit)->unit,
  17038 			entry,
  17039 			data,
  17040 			mask);
  17041 }
  17042 
  17043 int
  17044 bcm_loop_field_qualify_ExternalValue3(
  17045 	int	unit,
  17046 	bcm_field_entry_t	entry,
  17047 	uint64	data,
  17048 	uint64	mask)
  17049 {
  17050 	return bcm_field_qualify_ExternalValue3(
  17051 			BCM_CONTROL(unit)->unit,
  17052 			entry,
  17053 			data,
  17054 			mask);
  17055 }
  17056 
  17057 int
  17058 bcm_loop_field_qualify_ExternalValue3_get(
  17059 	int	unit,
  17060 	bcm_field_entry_t	entry,
  17061 	uint64 *	data,
  17062 	uint64 *	mask)
  17063 {
  17064 	return bcm_field_qualify_ExternalValue3_get(
  17065 			BCM_CONTROL(unit)->unit,
  17066 			entry,
  17067 			data,
  17068 			mask);
  17069 }
  17070 
  17071 int
  17072 bcm_loop_field_qualify_ExternalValue4(
  17073 	int	unit,
  17074 	bcm_field_entry_t	entry,
  17075 	uint64	data,
  17076 	uint64	mask)
  17077 {
  17078 	return bcm_field_qualify_ExternalValue4(
  17079 			BCM_CONTROL(unit)->unit,
  17080 			entry,
  17081 			data,
  17082 			mask);
  17083 }
  17084 
  17085 int
  17086 bcm_loop_field_qualify_ExternalValue4_get(
  17087 	int	unit,
  17088 	bcm_field_entry_t	entry,
  17089 	uint64 *	data,
  17090 	uint64 *	mask)
  17091 {
  17092 	return bcm_field_qualify_ExternalValue4_get(
  17093 			BCM_CONTROL(unit)->unit,
  17094 			entry,
  17095 			data,
  17096 			mask);
  17097 }
  17098 
  17099 int
  17100 bcm_loop_field_qualify_ExternalValue5(
  17101 	int	unit,
  17102 	bcm_field_entry_t	entry,
  17103 	uint64	data,
  17104 	uint64	mask)
  17105 {
  17106 	return bcm_field_qualify_ExternalValue5(
  17107 			BCM_CONTROL(unit)->unit,
  17108 			entry,
  17109 			data,
  17110 			mask);
  17111 }
  17112 
  17113 int
  17114 bcm_loop_field_qualify_ExternalValue5_get(
  17115 	int	unit,
  17116 	bcm_field_entry_t	entry,
  17117 	uint64 *	data,
  17118 	uint64 *	mask)
  17119 {
  17120 	return bcm_field_qualify_ExternalValue5_get(
  17121 			BCM_CONTROL(unit)->unit,
  17122 			entry,
  17123 			data,
  17124 			mask);
  17125 }
  17126 
  17127 int
  17128 bcm_loop_field_qualify_ExternalValue6(
  17129 	int	unit,
  17130 	bcm_field_entry_t	entry,
  17131 	uint64	data,
  17132 	uint64	mask)
  17133 {
  17134 	return bcm_field_qualify_ExternalValue6(
  17135 			BCM_CONTROL(unit)->unit,
  17136 			entry,
  17137 			data,
  17138 			mask);
  17139 }
  17140 
  17141 int
  17142 bcm_loop_field_qualify_ExternalValue6_get(
  17143 	int	unit,
  17144 	bcm_field_entry_t	entry,
  17145 	uint64 *	data,
  17146 	uint64 *	mask)
  17147 {
  17148 	return bcm_field_qualify_ExternalValue6_get(
  17149 			BCM_CONTROL(unit)->unit,
  17150 			entry,
  17151 			data,
  17152 			mask);
  17153 }
  17154 
  17155 int
  17156 bcm_loop_field_qualify_ExternalValue7(
  17157 	int	unit,
  17158 	bcm_field_entry_t	entry,
  17159 	uint64	data,
  17160 	uint64	mask)
  17161 {
  17162 	return bcm_field_qualify_ExternalValue7(
  17163 			BCM_CONTROL(unit)->unit,
  17164 			entry,
  17165 			data,
  17166 			mask);
  17167 }
  17168 
  17169 int
  17170 bcm_loop_field_qualify_ExternalValue7_get(
  17171 	int	unit,
  17172 	bcm_field_entry_t	entry,
  17173 	uint64 *	data,
  17174 	uint64 *	mask)
  17175 {
  17176 	return bcm_field_qualify_ExternalValue7_get(
  17177 			BCM_CONTROL(unit)->unit,
  17178 			entry,
  17179 			data,
  17180 			mask);
  17181 }
  17182 
  17183 int
  17184 bcm_loop_field_qualify_FabricQueueTag(
  17185 	int	unit,
  17186 	bcm_field_entry_t	entry,
  17187 	uint32	data,
  17188 	uint32	mask)
  17189 {
  17190 	return bcm_field_qualify_FabricQueueTag(
  17191 			BCM_CONTROL(unit)->unit,
  17192 			entry,
  17193 			data,
  17194 			mask);
  17195 }
  17196 
  17197 int
  17198 bcm_loop_field_qualify_FabricQueueTag_get(
  17199 	int	unit,
  17200 	bcm_field_entry_t	entry,
  17201 	uint32 *	data,
  17202 	uint32 *	mask)
  17203 {
  17204 	return bcm_field_qualify_FabricQueueTag_get(
  17205 			BCM_CONTROL(unit)->unit,
  17206 			entry,
  17207 			data,
  17208 			mask);
  17209 }
  17210 
  17211 int
  17212 bcm_loop_field_qualify_FcoeOxID(
  17213 	int	unit,
  17214 	bcm_field_entry_t	entry,
  17215 	uint16	data,
  17216 	uint16	mask)
  17217 {
  17218 	return bcm_field_qualify_FcoeOxID(
  17219 			BCM_CONTROL(unit)->unit,
  17220 			entry,
  17221 			data,
  17222 			mask);
  17223 }
  17224 
  17225 int
  17226 bcm_loop_field_qualify_FcoeOxIDClass(
  17227 	int	unit,
  17228 	bcm_field_entry_t	entry,
  17229 	bcm_class_t	data,
  17230 	bcm_class_t	mask)
  17231 {
  17232 	return bcm_field_qualify_FcoeOxIDClass(
  17233 			BCM_CONTROL(unit)->unit,
  17234 			entry,
  17235 			data,
  17236 			mask);
  17237 }
  17238 
  17239 int
  17240 bcm_loop_field_qualify_FcoeOxIDClass_get(
  17241 	int	unit,
  17242 	bcm_field_entry_t	entry,
  17243 	bcm_class_t *	data,
  17244 	bcm_class_t *	mask)
  17245 {
  17246 	return bcm_field_qualify_FcoeOxIDClass_get(
  17247 			BCM_CONTROL(unit)->unit,
  17248 			entry,
  17249 			data,
  17250 			mask);
  17251 }
  17252 
  17253 int
  17254 bcm_loop_field_qualify_FcoeOxID_get(
  17255 	int	unit,
  17256 	bcm_field_entry_t	entry,
  17257 	uint16 *	data,
  17258 	uint16 *	mask)
  17259 {
  17260 	return bcm_field_qualify_FcoeOxID_get(
  17261 			BCM_CONTROL(unit)->unit,
  17262 			entry,
  17263 			data,
  17264 			mask);
  17265 }
  17266 
  17267 int
  17268 bcm_loop_field_qualify_FcoeRxID(
  17269 	int	unit,
  17270 	bcm_field_entry_t	entry,
  17271 	uint16	data,
  17272 	uint16	mask)
  17273 {
  17274 	return bcm_field_qualify_FcoeRxID(
  17275 			BCM_CONTROL(unit)->unit,
  17276 			entry,
  17277 			data,
  17278 			mask);
  17279 }
  17280 
  17281 int
  17282 bcm_loop_field_qualify_FcoeRxIDClass(
  17283 	int	unit,
  17284 	bcm_field_entry_t	entry,
  17285 	bcm_class_t	data,
  17286 	bcm_class_t	mask)
  17287 {
  17288 	return bcm_field_qualify_FcoeRxIDClass(
  17289 			BCM_CONTROL(unit)->unit,
  17290 			entry,
  17291 			data,
  17292 			mask);
  17293 }
  17294 
  17295 int
  17296 bcm_loop_field_qualify_FcoeRxIDClass_get(
  17297 	int	unit,
  17298 	bcm_field_entry_t	entry,
  17299 	bcm_class_t *	data,
  17300 	bcm_class_t *	mask)
  17301 {
  17302 	return bcm_field_qualify_FcoeRxIDClass_get(
  17303 			BCM_CONTROL(unit)->unit,
  17304 			entry,
  17305 			data,
  17306 			mask);
  17307 }
  17308 
  17309 int
  17310 bcm_loop_field_qualify_FcoeRxID_get(
  17311 	int	unit,
  17312 	bcm_field_entry_t	entry,
  17313 	uint16 *	data,
  17314 	uint16 *	mask)
  17315 {
  17316 	return bcm_field_qualify_FcoeRxID_get(
  17317 			BCM_CONTROL(unit)->unit,
  17318 			entry,
  17319 			data,
  17320 			mask);
  17321 }
  17322 
  17323 int
  17324 bcm_loop_field_qualify_FcoeSOF(
  17325 	int	unit,
  17326 	bcm_field_entry_t	entry,
  17327 	uint8	data,
  17328 	uint8	mask)
  17329 {
  17330 	return bcm_field_qualify_FcoeSOF(
  17331 			BCM_CONTROL(unit)->unit,
  17332 			entry,
  17333 			data,
  17334 			mask);
  17335 }
  17336 
  17337 int
  17338 bcm_loop_field_qualify_FcoeSOF_get(
  17339 	int	unit,
  17340 	bcm_field_entry_t	entry,
  17341 	uint8 *	data,
  17342 	uint8 *	mask)
  17343 {
  17344 	return bcm_field_qualify_FcoeSOF_get(
  17345 			BCM_CONTROL(unit)->unit,
  17346 			entry,
  17347 			data,
  17348 			mask);
  17349 }
  17350 
  17351 int
  17352 bcm_loop_field_qualify_FcoeVersionIsZero(
  17353 	int	unit,
  17354 	bcm_field_entry_t	entry,
  17355 	uint8	data,
  17356 	uint8	mask)
  17357 {
  17358 	return bcm_field_qualify_FcoeVersionIsZero(
  17359 			BCM_CONTROL(unit)->unit,
  17360 			entry,
  17361 			data,
  17362 			mask);
  17363 }
  17364 
  17365 int
  17366 bcm_loop_field_qualify_FcoeVersionIsZero_get(
  17367 	int	unit,
  17368 	bcm_field_entry_t	entry,
  17369 	uint8 *	data,
  17370 	uint8 *	mask)
  17371 {
  17372 	return bcm_field_qualify_FcoeVersionIsZero_get(
  17373 			BCM_CONTROL(unit)->unit,
  17374 			entry,
  17375 			data,
  17376 			mask);
  17377 }
  17378 
  17379 int
  17380 bcm_loop_field_qualify_Fhei(
  17381 	int	unit,
  17382 	bcm_field_entry_t	entry,
  17383 	uint64	data,
  17384 	uint64	mask)
  17385 {
  17386 	return bcm_field_qualify_Fhei(
  17387 			BCM_CONTROL(unit)->unit,
  17388 			entry,
  17389 			data,
  17390 			mask);
  17391 }
  17392 
  17393 int
  17394 bcm_loop_field_qualify_FheiSize(
  17395 	int	unit,
  17396 	bcm_field_entry_t	entry,
  17397 	uint32	data,
  17398 	uint32	mask)
  17399 {
  17400 	return bcm_field_qualify_FheiSize(
  17401 			BCM_CONTROL(unit)->unit,
  17402 			entry,
  17403 			data,
  17404 			mask);
  17405 }
  17406 
  17407 int
  17408 bcm_loop_field_qualify_FheiSize_get(
  17409 	int	unit,
  17410 	bcm_field_entry_t	entry,
  17411 	uint32 *	data,
  17412 	uint32 *	mask)
  17413 {
  17414 	return bcm_field_qualify_FheiSize_get(
  17415 			BCM_CONTROL(unit)->unit,
  17416 			entry,
  17417 			data,
  17418 			mask);
  17419 }
  17420 
  17421 int
  17422 bcm_loop_field_qualify_Fhei_get(
  17423 	int	unit,
  17424 	bcm_field_entry_t	entry,
  17425 	uint64 *	data,
  17426 	uint64 *	mask)
  17427 {
  17428 	return bcm_field_qualify_Fhei_get(
  17429 			BCM_CONTROL(unit)->unit,
  17430 			entry,
  17431 			data,
  17432 			mask);
  17433 }
  17434 
  17435 int
  17436 bcm_loop_field_qualify_FibreChanCSCtl(
  17437 	int	unit,
  17438 	bcm_field_entry_t	entry,
  17439 	uint8	data,
  17440 	uint8	mask)
  17441 {
  17442 	return bcm_field_qualify_FibreChanCSCtl(
  17443 			BCM_CONTROL(unit)->unit,
  17444 			entry,
  17445 			data,
  17446 			mask);
  17447 }
  17448 
  17449 int
  17450 bcm_loop_field_qualify_FibreChanCSCtl_get(
  17451 	int	unit,
  17452 	bcm_field_entry_t	entry,
  17453 	uint8 *	data,
  17454 	uint8 *	mask)
  17455 {
  17456 	return bcm_field_qualify_FibreChanCSCtl_get(
  17457 			BCM_CONTROL(unit)->unit,
  17458 			entry,
  17459 			data,
  17460 			mask);
  17461 }
  17462 
  17463 int
  17464 bcm_loop_field_qualify_FibreChanDFCtl(
  17465 	int	unit,
  17466 	bcm_field_entry_t	entry,
  17467 	uint8	data,
  17468 	uint8	mask)
  17469 {
  17470 	return bcm_field_qualify_FibreChanDFCtl(
  17471 			BCM_CONTROL(unit)->unit,
  17472 			entry,
  17473 			data,
  17474 			mask);
  17475 }
  17476 
  17477 int
  17478 bcm_loop_field_qualify_FibreChanDFCtl_get(
  17479 	int	unit,
  17480 	bcm_field_entry_t	entry,
  17481 	uint8 *	data,
  17482 	uint8 *	mask)
  17483 {
  17484 	return bcm_field_qualify_FibreChanDFCtl_get(
  17485 			BCM_CONTROL(unit)->unit,
  17486 			entry,
  17487 			data,
  17488 			mask);
  17489 }
  17490 
  17491 int
  17492 bcm_loop_field_qualify_FibreChanDstId(
  17493 	int	unit,
  17494 	bcm_field_entry_t	entry,
  17495 	uint32	data,
  17496 	uint32	mask)
  17497 {
  17498 	return bcm_field_qualify_FibreChanDstId(
  17499 			BCM_CONTROL(unit)->unit,
  17500 			entry,
  17501 			data,
  17502 			mask);
  17503 }
  17504 
  17505 int
  17506 bcm_loop_field_qualify_FibreChanDstIdClass(
  17507 	int	unit,
  17508 	bcm_field_entry_t	entry,
  17509 	bcm_class_t	data,
  17510 	bcm_class_t	mask)
  17511 {
  17512 	return bcm_field_qualify_FibreChanDstIdClass(
  17513 			BCM_CONTROL(unit)->unit,
  17514 			entry,
  17515 			data,
  17516 			mask);
  17517 }
  17518 
  17519 int
  17520 bcm_loop_field_qualify_FibreChanDstIdClassLower(
  17521 	int	unit,
  17522 	bcm_field_entry_t	entry,
  17523 	bcm_class_t	data,
  17524 	bcm_class_t	mask)
  17525 {
  17526 	return bcm_field_qualify_FibreChanDstIdClassLower(
  17527 			BCM_CONTROL(unit)->unit,
  17528 			entry,
  17529 			data,
  17530 			mask);
  17531 }
  17532 
  17533 int
  17534 bcm_loop_field_qualify_FibreChanDstIdClassLower_get(
  17535 	int	unit,
  17536 	bcm_field_entry_t	entry,
  17537 	bcm_class_t *	data,
  17538 	bcm_class_t *	mask)
  17539 {
  17540 	return bcm_field_qualify_FibreChanDstIdClassLower_get(
  17541 			BCM_CONTROL(unit)->unit,
  17542 			entry,
  17543 			data,
  17544 			mask);
  17545 }
  17546 
  17547 int
  17548 bcm_loop_field_qualify_FibreChanDstIdClassMsbNibble(
  17549 	int	unit,
  17550 	bcm_field_entry_t	entry,
  17551 	bcm_class_t	data,
  17552 	bcm_class_t	mask)
  17553 {
  17554 	return bcm_field_qualify_FibreChanDstIdClassMsbNibble(
  17555 			BCM_CONTROL(unit)->unit,
  17556 			entry,
  17557 			data,
  17558 			mask);
  17559 }
  17560 
  17561 int
  17562 bcm_loop_field_qualify_FibreChanDstIdClassMsbNibble_get(
  17563 	int	unit,
  17564 	bcm_field_entry_t	entry,
  17565 	bcm_class_t *	data,
  17566 	bcm_class_t *	mask)
  17567 {
  17568 	return bcm_field_qualify_FibreChanDstIdClassMsbNibble_get(
  17569 			BCM_CONTROL(unit)->unit,
  17570 			entry,
  17571 			data,
  17572 			mask);
  17573 }
  17574 
  17575 int
  17576 bcm_loop_field_qualify_FibreChanDstIdClassUpper(
  17577 	int	unit,
  17578 	bcm_field_entry_t	entry,
  17579 	bcm_class_t	data,
  17580 	bcm_class_t	mask)
  17581 {
  17582 	return bcm_field_qualify_FibreChanDstIdClassUpper(
  17583 			BCM_CONTROL(unit)->unit,
  17584 			entry,
  17585 			data,
  17586 			mask);
  17587 }
  17588 
  17589 int
  17590 bcm_loop_field_qualify_FibreChanDstIdClassUpper_get(
  17591 	int	unit,
  17592 	bcm_field_entry_t	entry,
  17593 	bcm_class_t *	data,
  17594 	bcm_class_t *	mask)
  17595 {
  17596 	return bcm_field_qualify_FibreChanDstIdClassUpper_get(
  17597 			BCM_CONTROL(unit)->unit,
  17598 			entry,
  17599 			data,
  17600 			mask);
  17601 }
  17602 
  17603 int
  17604 bcm_loop_field_qualify_FibreChanDstIdClass_get(
  17605 	int	unit,
  17606 	bcm_field_entry_t	entry,
  17607 	bcm_class_t *	data,
  17608 	bcm_class_t *	mask)
  17609 {
  17610 	return bcm_field_qualify_FibreChanDstIdClass_get(
  17611 			BCM_CONTROL(unit)->unit,
  17612 			entry,
  17613 			data,
  17614 			mask);
  17615 }
  17616 
  17617 int
  17618 bcm_loop_field_qualify_FibreChanDstId_get(
  17619 	int	unit,
  17620 	bcm_field_entry_t	entry,
  17621 	uint32 *	data,
  17622 	uint32 *	mask)
  17623 {
  17624 	return bcm_field_qualify_FibreChanDstId_get(
  17625 			BCM_CONTROL(unit)->unit,
  17626 			entry,
  17627 			data,
  17628 			mask);
  17629 }
  17630 
  17631 int
  17632 bcm_loop_field_qualify_FibreChanFCtl(
  17633 	int	unit,
  17634 	bcm_field_entry_t	entry,
  17635 	uint32	data,
  17636 	uint32	mask)
  17637 {
  17638 	return bcm_field_qualify_FibreChanFCtl(
  17639 			BCM_CONTROL(unit)->unit,
  17640 			entry,
  17641 			data,
  17642 			mask);
  17643 }
  17644 
  17645 int
  17646 bcm_loop_field_qualify_FibreChanFCtl_get(
  17647 	int	unit,
  17648 	bcm_field_entry_t	entry,
  17649 	uint32 *	data,
  17650 	uint32 *	mask)
  17651 {
  17652 	return bcm_field_qualify_FibreChanFCtl_get(
  17653 			BCM_CONTROL(unit)->unit,
  17654 			entry,
  17655 			data,
  17656 			mask);
  17657 }
  17658 
  17659 int
  17660 bcm_loop_field_qualify_FibreChanInner(
  17661 	int	unit,
  17662 	bcm_field_entry_t	entry,
  17663 	bcm_field_FibreChan_t	fibre_chan_type)
  17664 {
  17665 	return bcm_field_qualify_FibreChanInner(
  17666 			BCM_CONTROL(unit)->unit,
  17667 			entry,
  17668 			fibre_chan_type);
  17669 }
  17670 
  17671 int
  17672 bcm_loop_field_qualify_FibreChanInner_get(
  17673 	int	unit,
  17674 	bcm_field_entry_t	entry,
  17675 	bcm_field_FibreChan_t *	fibre_chan_type)
  17676 {
  17677 	return bcm_field_qualify_FibreChanInner_get(
  17678 			BCM_CONTROL(unit)->unit,
  17679 			entry,
  17680 			fibre_chan_type);
  17681 }
  17682 
  17683 int
  17684 bcm_loop_field_qualify_FibreChanOuter(
  17685 	int	unit,
  17686 	bcm_field_entry_t	entry,
  17687 	bcm_field_FibreChan_t	fibre_chan_type)
  17688 {
  17689 	return bcm_field_qualify_FibreChanOuter(
  17690 			BCM_CONTROL(unit)->unit,
  17691 			entry,
  17692 			fibre_chan_type);
  17693 }
  17694 
  17695 int
  17696 bcm_loop_field_qualify_FibreChanOuter_get(
  17697 	int	unit,
  17698 	bcm_field_entry_t	entry,
  17699 	bcm_field_FibreChan_t *	fibre_chan_type)
  17700 {
  17701 	return bcm_field_qualify_FibreChanOuter_get(
  17702 			BCM_CONTROL(unit)->unit,
  17703 			entry,
  17704 			fibre_chan_type);
  17705 }
  17706 
  17707 int
  17708 bcm_loop_field_qualify_FibreChanRCtl(
  17709 	int	unit,
  17710 	bcm_field_entry_t	entry,
  17711 	uint8	data,
  17712 	uint8	mask)
  17713 {
  17714 	return bcm_field_qualify_FibreChanRCtl(
  17715 			BCM_CONTROL(unit)->unit,
  17716 			entry,
  17717 			data,
  17718 			mask);
  17719 }
  17720 
  17721 int
  17722 bcm_loop_field_qualify_FibreChanRCtl_get(
  17723 	int	unit,
  17724 	bcm_field_entry_t	entry,
  17725 	uint8 *	data,
  17726 	uint8 *	mask)
  17727 {
  17728 	return bcm_field_qualify_FibreChanRCtl_get(
  17729 			BCM_CONTROL(unit)->unit,
  17730 			entry,
  17731 			data,
  17732 			mask);
  17733 }
  17734 
  17735 int
  17736 bcm_loop_field_qualify_FibreChanSrcBindCheck(
  17737 	int	unit,
  17738 	bcm_field_entry_t	entry,
  17739 	uint8	data,
  17740 	uint8	mask)
  17741 {
  17742 	return bcm_field_qualify_FibreChanSrcBindCheck(
  17743 			BCM_CONTROL(unit)->unit,
  17744 			entry,
  17745 			data,
  17746 			mask);
  17747 }
  17748 
  17749 int
  17750 bcm_loop_field_qualify_FibreChanSrcBindCheck_get(
  17751 	int	unit,
  17752 	bcm_field_entry_t	entry,
  17753 	uint8 *	data,
  17754 	uint8 *	mask)
  17755 {
  17756 	return bcm_field_qualify_FibreChanSrcBindCheck_get(
  17757 			BCM_CONTROL(unit)->unit,
  17758 			entry,
  17759 			data,
  17760 			mask);
  17761 }
  17762 
  17763 int
  17764 bcm_loop_field_qualify_FibreChanSrcFpmaCheck(
  17765 	int	unit,
  17766 	bcm_field_entry_t	entry,
  17767 	uint8	data,
  17768 	uint8	mask)
  17769 {
  17770 	return bcm_field_qualify_FibreChanSrcFpmaCheck(
  17771 			BCM_CONTROL(unit)->unit,
  17772 			entry,
  17773 			data,
  17774 			mask);
  17775 }
  17776 
  17777 int
  17778 bcm_loop_field_qualify_FibreChanSrcFpmaCheck_get(
  17779 	int	unit,
  17780 	bcm_field_entry_t	entry,
  17781 	uint8 *	data,
  17782 	uint8 *	mask)
  17783 {
  17784 	return bcm_field_qualify_FibreChanSrcFpmaCheck_get(
  17785 			BCM_CONTROL(unit)->unit,
  17786 			entry,
  17787 			data,
  17788 			mask);
  17789 }
  17790 
  17791 int
  17792 bcm_loop_field_qualify_FibreChanSrcId(
  17793 	int	unit,
  17794 	bcm_field_entry_t	entry,
  17795 	uint32	data,
  17796 	uint32	mask)
  17797 {
  17798 	return bcm_field_qualify_FibreChanSrcId(
  17799 			BCM_CONTROL(unit)->unit,
  17800 			entry,
  17801 			data,
  17802 			mask);
  17803 }
  17804 
  17805 int
  17806 bcm_loop_field_qualify_FibreChanSrcIdClass(
  17807 	int	unit,
  17808 	bcm_field_entry_t	entry,
  17809 	bcm_class_t	data,
  17810 	bcm_class_t	mask)
  17811 {
  17812 	return bcm_field_qualify_FibreChanSrcIdClass(
  17813 			BCM_CONTROL(unit)->unit,
  17814 			entry,
  17815 			data,
  17816 			mask);
  17817 }
  17818 
  17819 int
  17820 bcm_loop_field_qualify_FibreChanSrcIdClassLower(
  17821 	int	unit,
  17822 	bcm_field_entry_t	entry,
  17823 	bcm_class_t	data,
  17824 	bcm_class_t	mask)
  17825 {
  17826 	return bcm_field_qualify_FibreChanSrcIdClassLower(
  17827 			BCM_CONTROL(unit)->unit,
  17828 			entry,
  17829 			data,
  17830 			mask);
  17831 }
  17832 
  17833 int
  17834 bcm_loop_field_qualify_FibreChanSrcIdClassLower_get(
  17835 	int	unit,
  17836 	bcm_field_entry_t	entry,
  17837 	bcm_class_t *	data,
  17838 	bcm_class_t *	mask)
  17839 {
  17840 	return bcm_field_qualify_FibreChanSrcIdClassLower_get(
  17841 			BCM_CONTROL(unit)->unit,
  17842 			entry,
  17843 			data,
  17844 			mask);
  17845 }
  17846 
  17847 int
  17848 bcm_loop_field_qualify_FibreChanSrcIdClassMsbNibble(
  17849 	int	unit,
  17850 	bcm_field_entry_t	entry,
  17851 	bcm_class_t	data,
  17852 	bcm_class_t	mask)
  17853 {
  17854 	return bcm_field_qualify_FibreChanSrcIdClassMsbNibble(
  17855 			BCM_CONTROL(unit)->unit,
  17856 			entry,
  17857 			data,
  17858 			mask);
  17859 }
  17860 
  17861 int
  17862 bcm_loop_field_qualify_FibreChanSrcIdClassMsbNibble_get(
  17863 	int	unit,
  17864 	bcm_field_entry_t	entry,
  17865 	bcm_class_t *	data,
  17866 	bcm_class_t *	mask)
  17867 {
  17868 	return bcm_field_qualify_FibreChanSrcIdClassMsbNibble_get(
  17869 			BCM_CONTROL(unit)->unit,
  17870 			entry,
  17871 			data,
  17872 			mask);
  17873 }
  17874 
  17875 int
  17876 bcm_loop_field_qualify_FibreChanSrcIdClassUpper(
  17877 	int	unit,
  17878 	bcm_field_entry_t	entry,
  17879 	bcm_class_t	data,
  17880 	bcm_class_t	mask)
  17881 {
  17882 	return bcm_field_qualify_FibreChanSrcIdClassUpper(
  17883 			BCM_CONTROL(unit)->unit,
  17884 			entry,
  17885 			data,
  17886 			mask);
  17887 }
  17888 
  17889 int
  17890 bcm_loop_field_qualify_FibreChanSrcIdClassUpper_get(
  17891 	int	unit,
  17892 	bcm_field_entry_t	entry,
  17893 	bcm_class_t *	data,
  17894 	bcm_class_t *	mask)
  17895 {
  17896 	return bcm_field_qualify_FibreChanSrcIdClassUpper_get(
  17897 			BCM_CONTROL(unit)->unit,
  17898 			entry,
  17899 			data,
  17900 			mask);
  17901 }
  17902 
  17903 int
  17904 bcm_loop_field_qualify_FibreChanSrcIdClass_get(
  17905 	int	unit,
  17906 	bcm_field_entry_t	entry,
  17907 	bcm_class_t *	data,
  17908 	bcm_class_t *	mask)
  17909 {
  17910 	return bcm_field_qualify_FibreChanSrcIdClass_get(
  17911 			BCM_CONTROL(unit)->unit,
  17912 			entry,
  17913 			data,
  17914 			mask);
  17915 }
  17916 
  17917 int
  17918 bcm_loop_field_qualify_FibreChanSrcId_get(
  17919 	int	unit,
  17920 	bcm_field_entry_t	entry,
  17921 	uint32 *	data,
  17922 	uint32 *	mask)
  17923 {
  17924 	return bcm_field_qualify_FibreChanSrcId_get(
  17925 			BCM_CONTROL(unit)->unit,
  17926 			entry,
  17927 			data,
  17928 			mask);
  17929 }
  17930 
  17931 int
  17932 bcm_loop_field_qualify_FibreChanType(
  17933 	int	unit,
  17934 	bcm_field_entry_t	entry,
  17935 	uint8	data,
  17936 	uint8	mask)
  17937 {
  17938 	return bcm_field_qualify_FibreChanType(
  17939 			BCM_CONTROL(unit)->unit,
  17940 			entry,
  17941 			data,
  17942 			mask);
  17943 }
  17944 
  17945 int
  17946 bcm_loop_field_qualify_FibreChanType_get(
  17947 	int	unit,
  17948 	bcm_field_entry_t	entry,
  17949 	uint8 *	data,
  17950 	uint8 *	mask)
  17951 {
  17952 	return bcm_field_qualify_FibreChanType_get(
  17953 			BCM_CONTROL(unit)->unit,
  17954 			entry,
  17955 			data,
  17956 			mask);
  17957 }
  17958 
  17959 int
  17960 bcm_loop_field_qualify_FibreChanVFTFabricId(
  17961 	int	unit,
  17962 	bcm_field_entry_t	entry,
  17963 	uint16	data,
  17964 	uint16	mask)
  17965 {
  17966 	return bcm_field_qualify_FibreChanVFTFabricId(
  17967 			BCM_CONTROL(unit)->unit,
  17968 			entry,
  17969 			data,
  17970 			mask);
  17971 }
  17972 
  17973 int
  17974 bcm_loop_field_qualify_FibreChanVFTFabricId_get(
  17975 	int	unit,
  17976 	bcm_field_entry_t	entry,
  17977 	uint16 *	data,
  17978 	uint16 *	mask)
  17979 {
  17980 	return bcm_field_qualify_FibreChanVFTFabricId_get(
  17981 			BCM_CONTROL(unit)->unit,
  17982 			entry,
  17983 			data,
  17984 			mask);
  17985 }
  17986 
  17987 int
  17988 bcm_loop_field_qualify_FibreChanVFTHopCount(
  17989 	int	unit,
  17990 	bcm_field_entry_t	entry,
  17991 	uint8	data,
  17992 	uint8	mask)
  17993 {
  17994 	return bcm_field_qualify_FibreChanVFTHopCount(
  17995 			BCM_CONTROL(unit)->unit,
  17996 			entry,
  17997 			data,
  17998 			mask);
  17999 }
  18000 
  18001 int
  18002 bcm_loop_field_qualify_FibreChanVFTHopCount_get(
  18003 	int	unit,
  18004 	bcm_field_entry_t	entry,
  18005 	uint8 *	data,
  18006 	uint8 *	mask)
  18007 {
  18008 	return bcm_field_qualify_FibreChanVFTHopCount_get(
  18009 			BCM_CONTROL(unit)->unit,
  18010 			entry,
  18011 			data,
  18012 			mask);
  18013 }
  18014 
  18015 int
  18016 bcm_loop_field_qualify_FibreChanVFTPri(
  18017 	int	unit,
  18018 	bcm_field_entry_t	entry,
  18019 	uint8	data,
  18020 	uint8	mask)
  18021 {
  18022 	return bcm_field_qualify_FibreChanVFTPri(
  18023 			BCM_CONTROL(unit)->unit,
  18024 			entry,
  18025 			data,
  18026 			mask);
  18027 }
  18028 
  18029 int
  18030 bcm_loop_field_qualify_FibreChanVFTPri_get(
  18031 	int	unit,
  18032 	bcm_field_entry_t	entry,
  18033 	uint8 *	data,
  18034 	uint8 *	mask)
  18035 {
  18036 	return bcm_field_qualify_FibreChanVFTPri_get(
  18037 			BCM_CONTROL(unit)->unit,
  18038 			entry,
  18039 			data,
  18040 			mask);
  18041 }
  18042 
  18043 int
  18044 bcm_loop_field_qualify_FibreChanVFTValid(
  18045 	int	unit,
  18046 	bcm_field_entry_t	entry,
  18047 	uint8	data,
  18048 	uint8	mask)
  18049 {
  18050 	return bcm_field_qualify_FibreChanVFTValid(
  18051 			BCM_CONTROL(unit)->unit,
  18052 			entry,
  18053 			data,
  18054 			mask);
  18055 }
  18056 
  18057 int
  18058 bcm_loop_field_qualify_FibreChanVFTValid_get(
  18059 	int	unit,
  18060 	bcm_field_entry_t	entry,
  18061 	uint8 *	data,
  18062 	uint8 *	mask)
  18063 {
  18064 	return bcm_field_qualify_FibreChanVFTValid_get(
  18065 			BCM_CONTROL(unit)->unit,
  18066 			entry,
  18067 			data,
  18068 			mask);
  18069 }
  18070 
  18071 int
  18072 bcm_loop_field_qualify_FibreChanVFTVersion(
  18073 	int	unit,
  18074 	bcm_field_entry_t	entry,
  18075 	uint8	data,
  18076 	uint8	mask)
  18077 {
  18078 	return bcm_field_qualify_FibreChanVFTVersion(
  18079 			BCM_CONTROL(unit)->unit,
  18080 			entry,
  18081 			data,
  18082 			mask);
  18083 }
  18084 
  18085 int
  18086 bcm_loop_field_qualify_FibreChanVFTVersion_get(
  18087 	int	unit,
  18088 	bcm_field_entry_t	entry,
  18089 	uint8 *	data,
  18090 	uint8 *	mask)
  18091 {
  18092 	return bcm_field_qualify_FibreChanVFTVersion_get(
  18093 			BCM_CONTROL(unit)->unit,
  18094 			entry,
  18095 			data,
  18096 			mask);
  18097 }
  18098 
  18099 int
  18100 bcm_loop_field_qualify_FibreChanVFTVsanId(
  18101 	int	unit,
  18102 	bcm_field_entry_t	entry,
  18103 	uint16	data,
  18104 	uint16	mask)
  18105 {
  18106 	return bcm_field_qualify_FibreChanVFTVsanId(
  18107 			BCM_CONTROL(unit)->unit,
  18108 			entry,
  18109 			data,
  18110 			mask);
  18111 }
  18112 
  18113 int
  18114 bcm_loop_field_qualify_FibreChanVFTVsanId_get(
  18115 	int	unit,
  18116 	bcm_field_entry_t	entry,
  18117 	uint16 *	data,
  18118 	uint16 *	mask)
  18119 {
  18120 	return bcm_field_qualify_FibreChanVFTVsanId_get(
  18121 			BCM_CONTROL(unit)->unit,
  18122 			entry,
  18123 			data,
  18124 			mask);
  18125 }
  18126 
  18127 int
  18128 bcm_loop_field_qualify_FibreChanVFTVsanPri(
  18129 	int	unit,
  18130 	bcm_field_entry_t	entry,
  18131 	uint8	data,
  18132 	uint8	mask)
  18133 {
  18134 	return bcm_field_qualify_FibreChanVFTVsanPri(
  18135 			BCM_CONTROL(unit)->unit,
  18136 			entry,
  18137 			data,
  18138 			mask);
  18139 }
  18140 
  18141 int
  18142 bcm_loop_field_qualify_FibreChanVFTVsanPri_get(
  18143 	int	unit,
  18144 	bcm_field_entry_t	entry,
  18145 	uint8 *	data,
  18146 	uint8 *	mask)
  18147 {
  18148 	return bcm_field_qualify_FibreChanVFTVsanPri_get(
  18149 			BCM_CONTROL(unit)->unit,
  18150 			entry,
  18151 			data,
  18152 			mask);
  18153 }
  18154 
  18155 int
  18156 bcm_loop_field_qualify_FibreChanZoneCheck(
  18157 	int	unit,
  18158 	bcm_field_entry_t	entry,
  18159 	uint8	data,
  18160 	uint8	mask)
  18161 {
  18162 	return bcm_field_qualify_FibreChanZoneCheck(
  18163 			BCM_CONTROL(unit)->unit,
  18164 			entry,
  18165 			data,
  18166 			mask);
  18167 }
  18168 
  18169 int
  18170 bcm_loop_field_qualify_FibreChanZoneCheck_get(
  18171 	int	unit,
  18172 	bcm_field_entry_t	entry,
  18173 	uint8 *	data,
  18174 	uint8 *	mask)
  18175 {
  18176 	return bcm_field_qualify_FibreChanZoneCheck_get(
  18177 			BCM_CONTROL(unit)->unit,
  18178 			entry,
  18179 			data,
  18180 			mask);
  18181 }
  18182 
  18183 int
  18184 bcm_loop_field_qualify_FlowControlType(
  18185 	int	unit,
  18186 	bcm_field_entry_t	entry,
  18187 	bcm_field_flow_control_pkt_type_t	fc_type)
  18188 {
  18189 	return bcm_field_qualify_FlowControlType(
  18190 			BCM_CONTROL(unit)->unit,
  18191 			entry,
  18192 			fc_type);
  18193 }
  18194 
  18195 int
  18196 bcm_loop_field_qualify_FlowControlType_get(
  18197 	int	unit,
  18198 	bcm_field_entry_t	entry,
  18199 	bcm_field_flow_control_pkt_type_t *	fc_type)
  18200 {
  18201 	return bcm_field_qualify_FlowControlType_get(
  18202 			BCM_CONTROL(unit)->unit,
  18203 			entry,
  18204 			fc_type);
  18205 }
  18206 
  18207 int
  18208 bcm_loop_field_qualify_FlowId(
  18209 	int	unit,
  18210 	bcm_field_entry_t	entry,
  18211 	uint16	data,
  18212 	uint16	mask)
  18213 {
  18214 	return bcm_field_qualify_FlowId(
  18215 			BCM_CONTROL(unit)->unit,
  18216 			entry,
  18217 			data,
  18218 			mask);
  18219 }
  18220 
  18221 int
  18222 bcm_loop_field_qualify_FlowId_get(
  18223 	int	unit,
  18224 	bcm_field_entry_t	entry,
  18225 	uint16 *	data,
  18226 	uint16 *	mask)
  18227 {
  18228 	return bcm_field_qualify_FlowId_get(
  18229 			BCM_CONTROL(unit)->unit,
  18230 			entry,
  18231 			data,
  18232 			mask);
  18233 }
  18234 
  18235 int
  18236 bcm_loop_field_qualify_FlowtrackerCheck(
  18237 	int	unit,
  18238 	bcm_field_entry_t	entry,
  18239 	bcm_flowtracker_group_t	flow_group_id,
  18240 	uint32	num_checks,
  18241 	bcm_field_flowtrackercheck_t *	list_of_check_ids)
  18242 {
  18243 	return bcm_field_qualify_FlowtrackerCheck(
  18244 			BCM_CONTROL(unit)->unit,
  18245 			entry,
  18246 			flow_group_id,
  18247 			num_checks,
  18248 			list_of_check_ids);
  18249 }
  18250 
  18251 int
  18252 bcm_loop_field_qualify_FlowtrackerCheck_get(
  18253 	int	unit,
  18254 	bcm_field_entry_t	entry,
  18255 	bcm_flowtracker_group_t	flow_group_id,
  18256 	uint32	num_checks,
  18257 	bcm_field_flowtrackercheck_t *	list_of_check_ids,
  18258 	uint32 *	actual_num_checks)
  18259 {
  18260 	return bcm_field_qualify_FlowtrackerCheck_get(
  18261 			BCM_CONTROL(unit)->unit,
  18262 			entry,
  18263 			flow_group_id,
  18264 			num_checks,
  18265 			list_of_check_ids,
  18266 			actual_num_checks);
  18267 }
  18268 
  18269 int
  18270 bcm_loop_field_qualify_FlowtrackerClassId(
  18271 	int	unit,
  18272 	bcm_field_entry_t	entry,
  18273 	int	data,
  18274 	int	mask)
  18275 {
  18276 	return bcm_field_qualify_FlowtrackerClassId(
  18277 			BCM_CONTROL(unit)->unit,
  18278 			entry,
  18279 			data,
  18280 			mask);
  18281 }
  18282 
  18283 int
  18284 bcm_loop_field_qualify_FlowtrackerClassId_get(
  18285 	int	unit,
  18286 	bcm_field_entry_t	entry,
  18287 	int *	data,
  18288 	int *	mask)
  18289 {
  18290 	return bcm_field_qualify_FlowtrackerClassId_get(
  18291 			BCM_CONTROL(unit)->unit,
  18292 			entry,
  18293 			data,
  18294 			mask);
  18295 }
  18296 
  18297 int
  18298 bcm_loop_field_qualify_FlowtrackerCollectorCopy(
  18299 	int	unit,
  18300 	bcm_field_entry_t	entry,
  18301 	uint8	data,
  18302 	uint8	mask)
  18303 {
  18304 	return bcm_field_qualify_FlowtrackerCollectorCopy(
  18305 			BCM_CONTROL(unit)->unit,
  18306 			entry,
  18307 			data,
  18308 			mask);
  18309 }
  18310 
  18311 int
  18312 bcm_loop_field_qualify_FlowtrackerCollectorCopy_get(
  18313 	int	unit,
  18314 	bcm_field_entry_t	entry,
  18315 	uint8 *	data,
  18316 	uint8 *	mask)
  18317 {
  18318 	return bcm_field_qualify_FlowtrackerCollectorCopy_get(
  18319 			BCM_CONTROL(unit)->unit,
  18320 			entry,
  18321 			data,
  18322 			mask);
  18323 }
  18324 
  18325 int
  18326 bcm_loop_field_qualify_FlowtrackerDisabled(
  18327 	int	unit,
  18328 	bcm_field_entry_t	entry,
  18329 	uint8	data,
  18330 	uint8	mask)
  18331 {
  18332 	return bcm_field_qualify_FlowtrackerDisabled(
  18333 			BCM_CONTROL(unit)->unit,
  18334 			entry,
  18335 			data,
  18336 			mask);
  18337 }
  18338 
  18339 int
  18340 bcm_loop_field_qualify_FlowtrackerDisabled_get(
  18341 	int	unit,
  18342 	bcm_field_entry_t	entry,
  18343 	uint8 *	data,
  18344 	uint8 *	mask)
  18345 {
  18346 	return bcm_field_qualify_FlowtrackerDisabled_get(
  18347 			BCM_CONTROL(unit)->unit,
  18348 			entry,
  18349 			data,
  18350 			mask);
  18351 }
  18352 
  18353 int
  18354 bcm_loop_field_qualify_FlowtrackerExportQueueFull(
  18355 	int	unit,
  18356 	bcm_field_entry_t	entry,
  18357 	uint8	data,
  18358 	uint8	mask)
  18359 {
  18360 	return bcm_field_qualify_FlowtrackerExportQueueFull(
  18361 			BCM_CONTROL(unit)->unit,
  18362 			entry,
  18363 			data,
  18364 			mask);
  18365 }
  18366 
  18367 int
  18368 bcm_loop_field_qualify_FlowtrackerExportQueueFull_get(
  18369 	int	unit,
  18370 	bcm_field_entry_t	entry,
  18371 	uint8 *	data,
  18372 	uint8 *	mask)
  18373 {
  18374 	return bcm_field_qualify_FlowtrackerExportQueueFull_get(
  18375 			BCM_CONTROL(unit)->unit,
  18376 			entry,
  18377 			data,
  18378 			mask);
  18379 }
  18380 
  18381 int
  18382 bcm_loop_field_qualify_FlowtrackerFlowTableFull(
  18383 	int	unit,
  18384 	bcm_field_entry_t	entry,
  18385 	uint8	data,
  18386 	uint8	mask)
  18387 {
  18388 	return bcm_field_qualify_FlowtrackerFlowTableFull(
  18389 			BCM_CONTROL(unit)->unit,
  18390 			entry,
  18391 			data,
  18392 			mask);
  18393 }
  18394 
  18395 int
  18396 bcm_loop_field_qualify_FlowtrackerFlowTableFull_get(
  18397 	int	unit,
  18398 	bcm_field_entry_t	entry,
  18399 	uint8 *	data,
  18400 	uint8 *	mask)
  18401 {
  18402 	return bcm_field_qualify_FlowtrackerFlowTableFull_get(
  18403 			BCM_CONTROL(unit)->unit,
  18404 			entry,
  18405 			data,
  18406 			mask);
  18407 }
  18408 
  18409 int
  18410 bcm_loop_field_qualify_FlowtrackerGroupFlowExceeded(
  18411 	int	unit,
  18412 	bcm_field_entry_t	entry,
  18413 	uint8	data,
  18414 	uint8	mask)
  18415 {
  18416 	return bcm_field_qualify_FlowtrackerGroupFlowExceeded(
  18417 			BCM_CONTROL(unit)->unit,
  18418 			entry,
  18419 			data,
  18420 			mask);
  18421 }
  18422 
  18423 int
  18424 bcm_loop_field_qualify_FlowtrackerGroupFlowExceeded_get(
  18425 	int	unit,
  18426 	bcm_field_entry_t	entry,
  18427 	uint8 *	data,
  18428 	uint8 *	mask)
  18429 {
  18430 	return bcm_field_qualify_FlowtrackerGroupFlowExceeded_get(
  18431 			BCM_CONTROL(unit)->unit,
  18432 			entry,
  18433 			data,
  18434 			mask);
  18435 }
  18436 
  18437 int
  18438 bcm_loop_field_qualify_FlowtrackerGroupId(
  18439 	int	unit,
  18440 	bcm_field_entry_t	entry,
  18441 	int	data,
  18442 	int	mask)
  18443 {
  18444 	return bcm_field_qualify_FlowtrackerGroupId(
  18445 			BCM_CONTROL(unit)->unit,
  18446 			entry,
  18447 			data,
  18448 			mask);
  18449 }
  18450 
  18451 int
  18452 bcm_loop_field_qualify_FlowtrackerGroupId_get(
  18453 	int	unit,
  18454 	bcm_field_entry_t	entry,
  18455 	int *	data,
  18456 	int *	mask)
  18457 {
  18458 	return bcm_field_qualify_FlowtrackerGroupId_get(
  18459 			BCM_CONTROL(unit)->unit,
  18460 			entry,
  18461 			data,
  18462 			mask);
  18463 }
  18464 
  18465 int
  18466 bcm_loop_field_qualify_FlowtrackerGroupValid(
  18467 	int	unit,
  18468 	bcm_field_entry_t	entry,
  18469 	uint8	data,
  18470 	uint8	mask)
  18471 {
  18472 	return bcm_field_qualify_FlowtrackerGroupValid(
  18473 			BCM_CONTROL(unit)->unit,
  18474 			entry,
  18475 			data,
  18476 			mask);
  18477 }
  18478 
  18479 int
  18480 bcm_loop_field_qualify_FlowtrackerGroupValid_get(
  18481 	int	unit,
  18482 	bcm_field_entry_t	entry,
  18483 	uint8 *	data,
  18484 	uint8 *	mask)
  18485 {
  18486 	return bcm_field_qualify_FlowtrackerGroupValid_get(
  18487 			BCM_CONTROL(unit)->unit,
  18488 			entry,
  18489 			data,
  18490 			mask);
  18491 }
  18492 
  18493 int
  18494 bcm_loop_field_qualify_FlowtrackerLearn(
  18495 	int	unit,
  18496 	bcm_field_entry_t	entry,
  18497 	uint8	data,
  18498 	uint8	mask)
  18499 {
  18500 	return bcm_field_qualify_FlowtrackerLearn(
  18501 			BCM_CONTROL(unit)->unit,
  18502 			entry,
  18503 			data,
  18504 			mask);
  18505 }
  18506 
  18507 int
  18508 bcm_loop_field_qualify_FlowtrackerLearn_get(
  18509 	int	unit,
  18510 	bcm_field_entry_t	entry,
  18511 	uint8 *	data,
  18512 	uint8 *	mask)
  18513 {
  18514 	return bcm_field_qualify_FlowtrackerLearn_get(
  18515 			BCM_CONTROL(unit)->unit,
  18516 			entry,
  18517 			data,
  18518 			mask);
  18519 }
  18520 
  18521 int
  18522 bcm_loop_field_qualify_FlowtrackerMeteringExceeded(
  18523 	int	unit,
  18524 	bcm_field_entry_t	entry,
  18525 	uint8	data,
  18526 	uint8	mask)
  18527 {
  18528 	return bcm_field_qualify_FlowtrackerMeteringExceeded(
  18529 			BCM_CONTROL(unit)->unit,
  18530 			entry,
  18531 			data,
  18532 			mask);
  18533 }
  18534 
  18535 int
  18536 bcm_loop_field_qualify_FlowtrackerMeteringExceeded_get(
  18537 	int	unit,
  18538 	bcm_field_entry_t	entry,
  18539 	uint8 *	data,
  18540 	uint8 *	mask)
  18541 {
  18542 	return bcm_field_qualify_FlowtrackerMeteringExceeded_get(
  18543 			BCM_CONTROL(unit)->unit,
  18544 			entry,
  18545 			data,
  18546 			mask);
  18547 }
  18548 
  18549 int
  18550 bcm_loop_field_qualify_ForwardCopy(
  18551 	int	unit,
  18552 	bcm_field_entry_t	entry,
  18553 	uint8	data,
  18554 	uint8	mask)
  18555 {
  18556 	return bcm_field_qualify_ForwardCopy(
  18557 			BCM_CONTROL(unit)->unit,
  18558 			entry,
  18559 			data,
  18560 			mask);
  18561 }
  18562 
  18563 int
  18564 bcm_loop_field_qualify_ForwardCopy_get(
  18565 	int	unit,
  18566 	bcm_field_entry_t	entry,
  18567 	uint8 *	data,
  18568 	uint8 *	mask)
  18569 {
  18570 	return bcm_field_qualify_ForwardCopy_get(
  18571 			BCM_CONTROL(unit)->unit,
  18572 			entry,
  18573 			data,
  18574 			mask);
  18575 }
  18576 
  18577 int
  18578 bcm_loop_field_qualify_ForwardHdrDstMac(
  18579 	int	unit,
  18580 	bcm_field_entry_t	entry,
  18581 	bcm_mac_t	data,
  18582 	bcm_mac_t	mask)
  18583 {
  18584 	return bcm_field_qualify_ForwardHdrDstMac(
  18585 			BCM_CONTROL(unit)->unit,
  18586 			entry,
  18587 			data,
  18588 			mask);
  18589 }
  18590 
  18591 int
  18592 bcm_loop_field_qualify_ForwardHdrDstMac_get(
  18593 	int	unit,
  18594 	bcm_field_entry_t	entry,
  18595 	bcm_mac_t *	data,
  18596 	bcm_mac_t *	mask)
  18597 {
  18598 	return bcm_field_qualify_ForwardHdrDstMac_get(
  18599 			BCM_CONTROL(unit)->unit,
  18600 			entry,
  18601 			data,
  18602 			mask);
  18603 }
  18604 
  18605 int
  18606 bcm_loop_field_qualify_ForwardHdrSrcMac(
  18607 	int	unit,
  18608 	bcm_field_entry_t	entry,
  18609 	bcm_mac_t	data,
  18610 	bcm_mac_t	mask)
  18611 {
  18612 	return bcm_field_qualify_ForwardHdrSrcMac(
  18613 			BCM_CONTROL(unit)->unit,
  18614 			entry,
  18615 			data,
  18616 			mask);
  18617 }
  18618 
  18619 int
  18620 bcm_loop_field_qualify_ForwardHdrSrcMac_get(
  18621 	int	unit,
  18622 	bcm_field_entry_t	entry,
  18623 	bcm_mac_t *	data,
  18624 	bcm_mac_t *	mask)
  18625 {
  18626 	return bcm_field_qualify_ForwardHdrSrcMac_get(
  18627 			BCM_CONTROL(unit)->unit,
  18628 			entry,
  18629 			data,
  18630 			mask);
  18631 }
  18632 
  18633 int
  18634 bcm_loop_field_qualify_ForwardHdrVlanId(
  18635 	int	unit,
  18636 	bcm_field_entry_t	entry,
  18637 	bcm_vlan_t	data,
  18638 	bcm_vlan_t	mask)
  18639 {
  18640 	return bcm_field_qualify_ForwardHdrVlanId(
  18641 			BCM_CONTROL(unit)->unit,
  18642 			entry,
  18643 			data,
  18644 			mask);
  18645 }
  18646 
  18647 int
  18648 bcm_loop_field_qualify_ForwardHdrVlanId_get(
  18649 	int	unit,
  18650 	bcm_field_entry_t	entry,
  18651 	bcm_vlan_t *	data,
  18652 	bcm_vlan_t *	mask)
  18653 {
  18654 	return bcm_field_qualify_ForwardHdrVlanId_get(
  18655 			BCM_CONTROL(unit)->unit,
  18656 			entry,
  18657 			data,
  18658 			mask);
  18659 }
  18660 
  18661 int
  18662 bcm_loop_field_qualify_ForwardingHeaderOffset(
  18663 	int	unit,
  18664 	bcm_field_entry_t	entry,
  18665 	bcm_field_data_offset_base_t	base_header,
  18666 	uint32	data,
  18667 	uint32	mask)
  18668 {
  18669 	return bcm_field_qualify_ForwardingHeaderOffset(
  18670 			BCM_CONTROL(unit)->unit,
  18671 			entry,
  18672 			base_header,
  18673 			data,
  18674 			mask);
  18675 }
  18676 
  18677 int
  18678 bcm_loop_field_qualify_ForwardingHeaderOffset_get(
  18679 	int	unit,
  18680 	bcm_field_entry_t	entry,
  18681 	bcm_field_data_offset_base_t *	base_header,
  18682 	uint32 *	data,
  18683 	uint32 *	mask)
  18684 {
  18685 	return bcm_field_qualify_ForwardingHeaderOffset_get(
  18686 			BCM_CONTROL(unit)->unit,
  18687 			entry,
  18688 			base_header,
  18689 			data,
  18690 			mask);
  18691 }
  18692 
  18693 int
  18694 bcm_loop_field_qualify_ForwardingType(
  18695 	int	unit,
  18696 	bcm_field_entry_t	entry,
  18697 	bcm_field_ForwardingType_t	type)
  18698 {
  18699 	return bcm_field_qualify_ForwardingType(
  18700 			BCM_CONTROL(unit)->unit,
  18701 			entry,
  18702 			type);
  18703 }
  18704 
  18705 int
  18706 bcm_loop_field_qualify_ForwardingType_get(
  18707 	int	unit,
  18708 	bcm_field_entry_t	entry,
  18709 	bcm_field_ForwardingType_t *	type)
  18710 {
  18711 	return bcm_field_qualify_ForwardingType_get(
  18712 			BCM_CONTROL(unit)->unit,
  18713 			entry,
  18714 			type);
  18715 }
  18716 
  18717 int
  18718 bcm_loop_field_qualify_ForwardingVlanId(
  18719 	int	unit,
  18720 	bcm_field_entry_t	entry,
  18721 	bcm_vlan_t	data,
  18722 	bcm_vlan_t	mask)
  18723 {
  18724 	return bcm_field_qualify_ForwardingVlanId(
  18725 			BCM_CONTROL(unit)->unit,
  18726 			entry,
  18727 			data,
  18728 			mask);
  18729 }
  18730 
  18731 int
  18732 bcm_loop_field_qualify_ForwardingVlanId_get(
  18733 	int	unit,
  18734 	bcm_field_entry_t	entry,
  18735 	bcm_vlan_t *	data,
  18736 	bcm_vlan_t *	mask)
  18737 {
  18738 	return bcm_field_qualify_ForwardingVlanId_get(
  18739 			BCM_CONTROL(unit)->unit,
  18740 			entry,
  18741 			data,
  18742 			mask);
  18743 }
  18744 
  18745 int
  18746 bcm_loop_field_qualify_ForwardingVlanValid(
  18747 	int	unit,
  18748 	bcm_field_entry_t	entry,
  18749 	uint8	data,
  18750 	uint8	mask)
  18751 {
  18752 	return bcm_field_qualify_ForwardingVlanValid(
  18753 			BCM_CONTROL(unit)->unit,
  18754 			entry,
  18755 			data,
  18756 			mask);
  18757 }
  18758 
  18759 int
  18760 bcm_loop_field_qualify_ForwardingVlanValid_get(
  18761 	int	unit,
  18762 	bcm_field_entry_t	entry,
  18763 	uint8 *	data,
  18764 	uint8 *	mask)
  18765 {
  18766 	return bcm_field_qualify_ForwardingVlanValid_get(
  18767 			BCM_CONTROL(unit)->unit,
  18768 			entry,
  18769 			data,
  18770 			mask);
  18771 }
  18772 
  18773 int
  18774 bcm_loop_field_qualify_FromMacSecPort(
  18775 	int	unit,
  18776 	bcm_field_entry_t	entry,
  18777 	uint8	data,
  18778 	uint8	mask)
  18779 {
  18780 	return bcm_field_qualify_FromMacSecPort(
  18781 			BCM_CONTROL(unit)->unit,
  18782 			entry,
  18783 			data,
  18784 			mask);
  18785 }
  18786 
  18787 int
  18788 bcm_loop_field_qualify_FromMacSecPort_get(
  18789 	int	unit,
  18790 	bcm_field_entry_t	entry,
  18791 	uint8 *	data,
  18792 	uint8 *	mask)
  18793 {
  18794 	return bcm_field_qualify_FromMacSecPort_get(
  18795 			BCM_CONTROL(unit)->unit,
  18796 			entry,
  18797 			data,
  18798 			mask);
  18799 }
  18800 
  18801 int
  18802 bcm_loop_field_qualify_FrontPanelPkt(
  18803 	int	unit,
  18804 	bcm_field_entry_t	entry,
  18805 	uint8	data,
  18806 	uint8	mask)
  18807 {
  18808 	return bcm_field_qualify_FrontPanelPkt(
  18809 			BCM_CONTROL(unit)->unit,
  18810 			entry,
  18811 			data,
  18812 			mask);
  18813 }
  18814 
  18815 int
  18816 bcm_loop_field_qualify_FrontPanelPkt_get(
  18817 	int	unit,
  18818 	bcm_field_entry_t	entry,
  18819 	uint8 *	data,
  18820 	uint8 *	mask)
  18821 {
  18822 	return bcm_field_qualify_FrontPanelPkt_get(
  18823 			BCM_CONTROL(unit)->unit,
  18824 			entry,
  18825 			data,
  18826 			mask);
  18827 }
  18828 
  18829 int
  18830 bcm_loop_field_qualify_GbpDstId(
  18831 	int	unit,
  18832 	bcm_field_entry_t	entry,
  18833 	uint16	data,
  18834 	uint16	mask)
  18835 {
  18836 	return bcm_field_qualify_GbpDstId(
  18837 			BCM_CONTROL(unit)->unit,
  18838 			entry,
  18839 			data,
  18840 			mask);
  18841 }
  18842 
  18843 int
  18844 bcm_loop_field_qualify_GbpDstId_get(
  18845 	int	unit,
  18846 	bcm_field_entry_t	entry,
  18847 	uint16 *	data,
  18848 	uint16 *	mask)
  18849 {
  18850 	return bcm_field_qualify_GbpDstId_get(
  18851 			BCM_CONTROL(unit)->unit,
  18852 			entry,
  18853 			data,
  18854 			mask);
  18855 }
  18856 
  18857 int
  18858 bcm_loop_field_qualify_GbpPresent(
  18859 	int	unit,
  18860 	bcm_field_entry_t	entry,
  18861 	uint8	data,
  18862 	uint8	mask)
  18863 {
  18864 	return bcm_field_qualify_GbpPresent(
  18865 			BCM_CONTROL(unit)->unit,
  18866 			entry,
  18867 			data,
  18868 			mask);
  18869 }
  18870 
  18871 int
  18872 bcm_loop_field_qualify_GbpPresent_get(
  18873 	int	unit,
  18874 	bcm_field_entry_t	entry,
  18875 	uint8 *	data,
  18876 	uint8 *	mask)
  18877 {
  18878 	return bcm_field_qualify_GbpPresent_get(
  18879 			BCM_CONTROL(unit)->unit,
  18880 			entry,
  18881 			data,
  18882 			mask);
  18883 }
  18884 
  18885 int
  18886 bcm_loop_field_qualify_GbpSrcId(
  18887 	int	unit,
  18888 	bcm_field_entry_t	entry,
  18889 	uint16	data,
  18890 	uint16	mask)
  18891 {
  18892 	return bcm_field_qualify_GbpSrcId(
  18893 			BCM_CONTROL(unit)->unit,
  18894 			entry,
  18895 			data,
  18896 			mask);
  18897 }
  18898 
  18899 int
  18900 bcm_loop_field_qualify_GbpSrcId_get(
  18901 	int	unit,
  18902 	bcm_field_entry_t	entry,
  18903 	uint16 *	data,
  18904 	uint16 *	mask)
  18905 {
  18906 	return bcm_field_qualify_GbpSrcId_get(
  18907 			BCM_CONTROL(unit)->unit,
  18908 			entry,
  18909 			data,
  18910 			mask);
  18911 }
  18912 
  18913 int
  18914 bcm_loop_field_qualify_GeneratedTtl(
  18915 	int	unit,
  18916 	bcm_field_entry_t	entry,
  18917 	uint32	data,
  18918 	uint32	mask)
  18919 {
  18920 	return bcm_field_qualify_GeneratedTtl(
  18921 			BCM_CONTROL(unit)->unit,
  18922 			entry,
  18923 			data,
  18924 			mask);
  18925 }
  18926 
  18927 int
  18928 bcm_loop_field_qualify_GeneratedTtl_get(
  18929 	int	unit,
  18930 	bcm_field_entry_t	entry,
  18931 	uint32 *	data,
  18932 	uint32 *	mask)
  18933 {
  18934 	return bcm_field_qualify_GeneratedTtl_get(
  18935 			BCM_CONTROL(unit)->unit,
  18936 			entry,
  18937 			data,
  18938 			mask);
  18939 }
  18940 
  18941 int
  18942 bcm_loop_field_qualify_GenericAssociatedChannelLabelValid(
  18943 	int	unit,
  18944 	bcm_field_entry_t	entry,
  18945 	uint8	data,
  18946 	uint8	mask)
  18947 {
  18948 	return bcm_field_qualify_GenericAssociatedChannelLabelValid(
  18949 			BCM_CONTROL(unit)->unit,
  18950 			entry,
  18951 			data,
  18952 			mask);
  18953 }
  18954 
  18955 int
  18956 bcm_loop_field_qualify_GenericAssociatedChannelLabelValid_get(
  18957 	int	unit,
  18958 	bcm_field_entry_t	entry,
  18959 	uint8 *	data,
  18960 	uint8 *	mask)
  18961 {
  18962 	return bcm_field_qualify_GenericAssociatedChannelLabelValid_get(
  18963 			BCM_CONTROL(unit)->unit,
  18964 			entry,
  18965 			data,
  18966 			mask);
  18967 }
  18968 
  18969 int
  18970 bcm_loop_field_qualify_GenevePktVersionZero(
  18971 	int	unit,
  18972 	bcm_field_entry_t	entry,
  18973 	uint8	data,
  18974 	uint8	mask)
  18975 {
  18976 	return bcm_field_qualify_GenevePktVersionZero(
  18977 			BCM_CONTROL(unit)->unit,
  18978 			entry,
  18979 			data,
  18980 			mask);
  18981 }
  18982 
  18983 int
  18984 bcm_loop_field_qualify_GenevePktVersionZero_get(
  18985 	int	unit,
  18986 	bcm_field_entry_t	entry,
  18987 	uint8 *	data,
  18988 	uint8 *	mask)
  18989 {
  18990 	return bcm_field_qualify_GenevePktVersionZero_get(
  18991 			BCM_CONTROL(unit)->unit,
  18992 			entry,
  18993 			data,
  18994 			mask);
  18995 }
  18996 
  18997 int
  18998 bcm_loop_field_qualify_GenevePktWithOam(
  18999 	int	unit,
  19000 	bcm_field_entry_t	entry,
  19001 	uint8	data,
  19002 	uint8	mask)
  19003 {
  19004 	return bcm_field_qualify_GenevePktWithOam(
  19005 			BCM_CONTROL(unit)->unit,
  19006 			entry,
  19007 			data,
  19008 			mask);
  19009 }
  19010 
  19011 int
  19012 bcm_loop_field_qualify_GenevePktWithOam_get(
  19013 	int	unit,
  19014 	bcm_field_entry_t	entry,
  19015 	uint8 *	data,
  19016 	uint8 *	mask)
  19017 {
  19018 	return bcm_field_qualify_GenevePktWithOam_get(
  19019 			BCM_CONTROL(unit)->unit,
  19020 			entry,
  19021 			data,
  19022 			mask);
  19023 }
  19024 
  19025 int
  19026 bcm_loop_field_qualify_GpePktVersionZero(
  19027 	int	unit,
  19028 	bcm_field_entry_t	entry,
  19029 	uint8	data,
  19030 	uint8	mask)
  19031 {
  19032 	return bcm_field_qualify_GpePktVersionZero(
  19033 			BCM_CONTROL(unit)->unit,
  19034 			entry,
  19035 			data,
  19036 			mask);
  19037 }
  19038 
  19039 int
  19040 bcm_loop_field_qualify_GpePktVersionZero_get(
  19041 	int	unit,
  19042 	bcm_field_entry_t	entry,
  19043 	uint8 *	data,
  19044 	uint8 *	mask)
  19045 {
  19046 	return bcm_field_qualify_GpePktVersionZero_get(
  19047 			BCM_CONTROL(unit)->unit,
  19048 			entry,
  19049 			data,
  19050 			mask);
  19051 }
  19052 
  19053 int
  19054 bcm_loop_field_qualify_GpePktWithOam(
  19055 	int	unit,
  19056 	bcm_field_entry_t	entry,
  19057 	uint8	data,
  19058 	uint8	mask)
  19059 {
  19060 	return bcm_field_qualify_GpePktWithOam(
  19061 			BCM_CONTROL(unit)->unit,
  19062 			entry,
  19063 			data,
  19064 			mask);
  19065 }
  19066 
  19067 int
  19068 bcm_loop_field_qualify_GpePktWithOam_get(
  19069 	int	unit,
  19070 	bcm_field_entry_t	entry,
  19071 	uint8 *	data,
  19072 	uint8 *	mask)
  19073 {
  19074 	return bcm_field_qualify_GpePktWithOam_get(
  19075 			BCM_CONTROL(unit)->unit,
  19076 			entry,
  19077 			data,
  19078 			mask);
  19079 }
  19080 
  19081 int
  19082 bcm_loop_field_qualify_GroupClass(
  19083 	int	unit,
  19084 	bcm_field_entry_t	entry,
  19085 	uint32	data,
  19086 	uint32	mask)
  19087 {
  19088 	return bcm_field_qualify_GroupClass(
  19089 			BCM_CONTROL(unit)->unit,
  19090 			entry,
  19091 			data,
  19092 			mask);
  19093 }
  19094 
  19095 int
  19096 bcm_loop_field_qualify_GroupClass_get(
  19097 	int	unit,
  19098 	bcm_field_entry_t	entry,
  19099 	uint32 *	data,
  19100 	uint32 *	mask)
  19101 {
  19102 	return bcm_field_qualify_GroupClass_get(
  19103 			BCM_CONTROL(unit)->unit,
  19104 			entry,
  19105 			data,
  19106 			mask);
  19107 }
  19108 
  19109 int
  19110 bcm_loop_field_qualify_HeaderFormat(
  19111 	int	unit,
  19112 	bcm_field_entry_t	entry,
  19113 	bcm_field_header_format_t	header_format)
  19114 {
  19115 	return bcm_field_qualify_HeaderFormat(
  19116 			BCM_CONTROL(unit)->unit,
  19117 			entry,
  19118 			header_format);
  19119 }
  19120 
  19121 int
  19122 bcm_loop_field_qualify_HeaderFormatExtension(
  19123 	int	unit,
  19124 	bcm_field_entry_t	entry,
  19125 	bcm_field_header_format_extension_t	header_format_extension)
  19126 {
  19127 	return bcm_field_qualify_HeaderFormatExtension(
  19128 			BCM_CONTROL(unit)->unit,
  19129 			entry,
  19130 			header_format_extension);
  19131 }
  19132 
  19133 int
  19134 bcm_loop_field_qualify_HeaderFormatExtension_get(
  19135 	int	unit,
  19136 	bcm_field_entry_t	entry,
  19137 	bcm_field_header_format_extension_t *	header_format_extension)
  19138 {
  19139 	return bcm_field_qualify_HeaderFormatExtension_get(
  19140 			BCM_CONTROL(unit)->unit,
  19141 			entry,
  19142 			header_format_extension);
  19143 }
  19144 
  19145 int
  19146 bcm_loop_field_qualify_HeaderFormatSet(
  19147 	int	unit,
  19148 	bcm_field_entry_t	entry,
  19149 	bcm_field_header_format_set_t	header_format_set)
  19150 {
  19151 	return bcm_field_qualify_HeaderFormatSet(
  19152 			BCM_CONTROL(unit)->unit,
  19153 			entry,
  19154 			header_format_set);
  19155 }
  19156 
  19157 int
  19158 bcm_loop_field_qualify_HeaderFormatSet_get(
  19159 	int	unit,
  19160 	bcm_field_entry_t	entry,
  19161 	bcm_field_header_format_set_t *	header_format_set)
  19162 {
  19163 	return bcm_field_qualify_HeaderFormatSet_get(
  19164 			BCM_CONTROL(unit)->unit,
  19165 			entry,
  19166 			header_format_set);
  19167 }
  19168 
  19169 int
  19170 bcm_loop_field_qualify_HeaderFormat_get(
  19171 	int	unit,
  19172 	bcm_field_entry_t	entry,
  19173 	bcm_field_header_format_t *	header_format)
  19174 {
  19175 	return bcm_field_qualify_HeaderFormat_get(
  19176 			BCM_CONTROL(unit)->unit,
  19177 			entry,
  19178 			header_format);
  19179 }
  19180 
  19181 int
  19182 bcm_loop_field_qualify_HiGig(
  19183 	int	unit,
  19184 	bcm_field_entry_t	entry,
  19185 	uint8	data,
  19186 	uint8	mask)
  19187 {
  19188 	return bcm_field_qualify_HiGig(
  19189 			BCM_CONTROL(unit)->unit,
  19190 			entry,
  19191 			data,
  19192 			mask);
  19193 }
  19194 
  19195 int
  19196 bcm_loop_field_qualify_HiGigColor(
  19197 	int	unit,
  19198 	bcm_field_entry_t	entry,
  19199 	uint8	color)
  19200 {
  19201 	return bcm_field_qualify_HiGigColor(
  19202 			BCM_CONTROL(unit)->unit,
  19203 			entry,
  19204 			color);
  19205 }
  19206 
  19207 int
  19208 bcm_loop_field_qualify_HiGigColor_get(
  19209 	int	unit,
  19210 	bcm_field_entry_t	entry,
  19211 	uint8 *	color)
  19212 {
  19213 	return bcm_field_qualify_HiGigColor_get(
  19214 			BCM_CONTROL(unit)->unit,
  19215 			entry,
  19216 			color);
  19217 }
  19218 
  19219 int
  19220 bcm_loop_field_qualify_HiGigDoNotFlags(
  19221 	int	unit,
  19222 	bcm_field_entry_t	entry,
  19223 	uint8	data,
  19224 	uint8	mask)
  19225 {
  19226 	return bcm_field_qualify_HiGigDoNotFlags(
  19227 			BCM_CONTROL(unit)->unit,
  19228 			entry,
  19229 			data,
  19230 			mask);
  19231 }
  19232 
  19233 int
  19234 bcm_loop_field_qualify_HiGigDoNotFlags_get(
  19235 	int	unit,
  19236 	bcm_field_entry_t	entry,
  19237 	uint8 *	data,
  19238 	uint8 *	mask)
  19239 {
  19240 	return bcm_field_qualify_HiGigDoNotFlags_get(
  19241 			BCM_CONTROL(unit)->unit,
  19242 			entry,
  19243 			data,
  19244 			mask);
  19245 }
  19246 
  19247 int
  19248 bcm_loop_field_qualify_HiGigDstGport(
  19249 	int	unit,
  19250 	bcm_field_entry_t	entry,
  19251 	bcm_gport_t	port_id,
  19252 	bcm_gport_t	port_mask)
  19253 {
  19254 	return bcm_field_qualify_HiGigDstGport(
  19255 			BCM_CONTROL(unit)->unit,
  19256 			entry,
  19257 			port_id,
  19258 			port_mask);
  19259 }
  19260 
  19261 int
  19262 bcm_loop_field_qualify_HiGigDstGport_get(
  19263 	int	unit,
  19264 	bcm_field_entry_t	entry,
  19265 	bcm_gport_t *	port_id,
  19266 	bcm_gport_t *	port_mask)
  19267 {
  19268 	return bcm_field_qualify_HiGigDstGport_get(
  19269 			BCM_CONTROL(unit)->unit,
  19270 			entry,
  19271 			port_id,
  19272 			port_mask);
  19273 }
  19274 
  19275 int
  19276 bcm_loop_field_qualify_HiGigDstModPortGport(
  19277 	int	unit,
  19278 	bcm_field_entry_t	entry,
  19279 	bcm_gport_t	port_id,
  19280 	bcm_gport_t	port_mask)
  19281 {
  19282 	return bcm_field_qualify_HiGigDstModPortGport(
  19283 			BCM_CONTROL(unit)->unit,
  19284 			entry,
  19285 			port_id,
  19286 			port_mask);
  19287 }
  19288 
  19289 int
  19290 bcm_loop_field_qualify_HiGigDstModPortGport_get(
  19291 	int	unit,
  19292 	bcm_field_entry_t	entry,
  19293 	bcm_gport_t *	port_id,
  19294 	bcm_gport_t *	port_mask)
  19295 {
  19296 	return bcm_field_qualify_HiGigDstModPortGport_get(
  19297 			BCM_CONTROL(unit)->unit,
  19298 			entry,
  19299 			port_id,
  19300 			port_mask);
  19301 }
  19302 
  19303 int
  19304 bcm_loop_field_qualify_HiGigDstModuleGport(
  19305 	int	unit,
  19306 	bcm_field_entry_t	entry,
  19307 	bcm_gport_t	port_id,
  19308 	bcm_gport_t	port_mask)
  19309 {
  19310 	return bcm_field_qualify_HiGigDstModuleGport(
  19311 			BCM_CONTROL(unit)->unit,
  19312 			entry,
  19313 			port_id,
  19314 			port_mask);
  19315 }
  19316 
  19317 int
  19318 bcm_loop_field_qualify_HiGigDstModuleGport_get(
  19319 	int	unit,
  19320 	bcm_field_entry_t	entry,
  19321 	bcm_gport_t *	port_id,
  19322 	bcm_gport_t *	port_mask)
  19323 {
  19324 	return bcm_field_qualify_HiGigDstModuleGport_get(
  19325 			BCM_CONTROL(unit)->unit,
  19326 			entry,
  19327 			port_id,
  19328 			port_mask);
  19329 }
  19330 
  19331 int
  19332 bcm_loop_field_qualify_HiGigDstMulticast(
  19333 	int	unit,
  19334 	bcm_field_entry_t	entry,
  19335 	uint8	data,
  19336 	uint8	mask)
  19337 {
  19338 	return bcm_field_qualify_HiGigDstMulticast(
  19339 			BCM_CONTROL(unit)->unit,
  19340 			entry,
  19341 			data,
  19342 			mask);
  19343 }
  19344 
  19345 int
  19346 bcm_loop_field_qualify_HiGigDstMulticastGroupId(
  19347 	int	unit,
  19348 	bcm_field_entry_t	entry,
  19349 	bcm_multicast_t	group,
  19350 	bcm_multicast_t	mask)
  19351 {
  19352 	return bcm_field_qualify_HiGigDstMulticastGroupId(
  19353 			BCM_CONTROL(unit)->unit,
  19354 			entry,
  19355 			group,
  19356 			mask);
  19357 }
  19358 
  19359 int
  19360 bcm_loop_field_qualify_HiGigDstMulticastGroupId_get(
  19361 	int	unit,
  19362 	bcm_field_entry_t	entry,
  19363 	bcm_multicast_t *	group,
  19364 	bcm_multicast_t *	mask)
  19365 {
  19366 	return bcm_field_qualify_HiGigDstMulticastGroupId_get(
  19367 			BCM_CONTROL(unit)->unit,
  19368 			entry,
  19369 			group,
  19370 			mask);
  19371 }
  19372 
  19373 int
  19374 bcm_loop_field_qualify_HiGigDstMulticast_get(
  19375 	int	unit,
  19376 	bcm_field_entry_t	entry,
  19377 	uint8 *	data,
  19378 	uint8 *	mask)
  19379 {
  19380 	return bcm_field_qualify_HiGigDstMulticast_get(
  19381 			BCM_CONTROL(unit)->unit,
  19382 			entry,
  19383 			data,
  19384 			mask);
  19385 }
  19386 
  19387 int
  19388 bcm_loop_field_qualify_HiGigDstPortGport(
  19389 	int	unit,
  19390 	bcm_field_entry_t	entry,
  19391 	bcm_gport_t	port_id,
  19392 	bcm_gport_t	mask)
  19393 {
  19394 	return bcm_field_qualify_HiGigDstPortGport(
  19395 			BCM_CONTROL(unit)->unit,
  19396 			entry,
  19397 			port_id,
  19398 			mask);
  19399 }
  19400 
  19401 int
  19402 bcm_loop_field_qualify_HiGigDstPortGport_get(
  19403 	int	unit,
  19404 	bcm_field_entry_t	entry,
  19405 	bcm_gport_t *	port_id,
  19406 	bcm_gport_t *	port_mask)
  19407 {
  19408 	return bcm_field_qualify_HiGigDstPortGport_get(
  19409 			BCM_CONTROL(unit)->unit,
  19410 			entry,
  19411 			port_id,
  19412 			port_mask);
  19413 }
  19414 
  19415 int
  19416 bcm_loop_field_qualify_HiGigDstTrunk(
  19417 	int	unit,
  19418 	bcm_field_entry_t	entry,
  19419 	uint8	data,
  19420 	uint8	mask)
  19421 {
  19422 	return bcm_field_qualify_HiGigDstTrunk(
  19423 			BCM_CONTROL(unit)->unit,
  19424 			entry,
  19425 			data,
  19426 			mask);
  19427 }
  19428 
  19429 int
  19430 bcm_loop_field_qualify_HiGigDstTrunkId(
  19431 	int	unit,
  19432 	bcm_field_entry_t	entry,
  19433 	bcm_trunk_t	data,
  19434 	bcm_trunk_t	mask)
  19435 {
  19436 	return bcm_field_qualify_HiGigDstTrunkId(
  19437 			BCM_CONTROL(unit)->unit,
  19438 			entry,
  19439 			data,
  19440 			mask);
  19441 }
  19442 
  19443 int
  19444 bcm_loop_field_qualify_HiGigDstTrunkId_get(
  19445 	int	unit,
  19446 	bcm_field_entry_t	entry,
  19447 	bcm_trunk_t *	data,
  19448 	bcm_trunk_t *	mask)
  19449 {
  19450 	return bcm_field_qualify_HiGigDstTrunkId_get(
  19451 			BCM_CONTROL(unit)->unit,
  19452 			entry,
  19453 			data,
  19454 			mask);
  19455 }
  19456 
  19457 int
  19458 bcm_loop_field_qualify_HiGigDstTrunk_get(
  19459 	int	unit,
  19460 	bcm_field_entry_t	entry,
  19461 	uint8 *	data,
  19462 	uint8 *	mask)
  19463 {
  19464 	return bcm_field_qualify_HiGigDstTrunk_get(
  19465 			BCM_CONTROL(unit)->unit,
  19466 			entry,
  19467 			data,
  19468 			mask);
  19469 }
  19470 
  19471 int
  19472 bcm_loop_field_qualify_HiGigDstType(
  19473 	int	unit,
  19474 	bcm_field_entry_t	entry,
  19475 	uint8	data,
  19476 	uint8	mask)
  19477 {
  19478 	return bcm_field_qualify_HiGigDstType(
  19479 			BCM_CONTROL(unit)->unit,
  19480 			entry,
  19481 			data,
  19482 			mask);
  19483 }
  19484 
  19485 int
  19486 bcm_loop_field_qualify_HiGigDstType_get(
  19487 	int	unit,
  19488 	bcm_field_entry_t	entry,
  19489 	uint8 *	data,
  19490 	uint8 *	mask)
  19491 {
  19492 	return bcm_field_qualify_HiGigDstType_get(
  19493 			BCM_CONTROL(unit)->unit,
  19494 			entry,
  19495 			data,
  19496 			mask);
  19497 }
  19498 
  19499 int
  19500 bcm_loop_field_qualify_HiGigEgressMcast(
  19501 	int	unit,
  19502 	bcm_field_entry_t	entry,
  19503 	uint8	data,
  19504 	uint8	mask)
  19505 {
  19506 	return bcm_field_qualify_HiGigEgressMcast(
  19507 			BCM_CONTROL(unit)->unit,
  19508 			entry,
  19509 			data,
  19510 			mask);
  19511 }
  19512 
  19513 int
  19514 bcm_loop_field_qualify_HiGigEgressMcast_get(
  19515 	int	unit,
  19516 	bcm_field_entry_t	entry,
  19517 	uint8 *	data,
  19518 	uint8 *	mask)
  19519 {
  19520 	return bcm_field_qualify_HiGigEgressMcast_get(
  19521 			BCM_CONTROL(unit)->unit,
  19522 			entry,
  19523 			data,
  19524 			mask);
  19525 }
  19526 
  19527 int
  19528 bcm_loop_field_qualify_HiGigExtendedHeaderPresent(
  19529 	int	unit,
  19530 	bcm_field_entry_t	entry,
  19531 	uint8	data,
  19532 	uint8	mask)
  19533 {
  19534 	return bcm_field_qualify_HiGigExtendedHeaderPresent(
  19535 			BCM_CONTROL(unit)->unit,
  19536 			entry,
  19537 			data,
  19538 			mask);
  19539 }
  19540 
  19541 int
  19542 bcm_loop_field_qualify_HiGigExtendedHeaderPresent_get(
  19543 	int	unit,
  19544 	bcm_field_entry_t	entry,
  19545 	uint8 *	data,
  19546 	uint8 *	mask)
  19547 {
  19548 	return bcm_field_qualify_HiGigExtendedHeaderPresent_get(
  19549 			BCM_CONTROL(unit)->unit,
  19550 			entry,
  19551 			data,
  19552 			mask);
  19553 }
  19554 
  19555 int
  19556 bcm_loop_field_qualify_HiGigForwardingType(
  19557 	int	unit,
  19558 	bcm_field_entry_t	entry,
  19559 	bcm_field_HiGigForwardingType_t	type)
  19560 {
  19561 	return bcm_field_qualify_HiGigForwardingType(
  19562 			BCM_CONTROL(unit)->unit,
  19563 			entry,
  19564 			type);
  19565 }
  19566 
  19567 int
  19568 bcm_loop_field_qualify_HiGigForwardingType_get(
  19569 	int	unit,
  19570 	bcm_field_entry_t	entry,
  19571 	bcm_field_HiGigForwardingType_t *	type)
  19572 {
  19573 	return bcm_field_qualify_HiGigForwardingType_get(
  19574 			BCM_CONTROL(unit)->unit,
  19575 			entry,
  19576 			type);
  19577 }
  19578 
  19579 int
  19580 bcm_loop_field_qualify_HiGigGbpPresent(
  19581 	int	unit,
  19582 	bcm_field_entry_t	entry,
  19583 	uint8	data,
  19584 	uint8	mask)
  19585 {
  19586 	return bcm_field_qualify_HiGigGbpPresent(
  19587 			BCM_CONTROL(unit)->unit,
  19588 			entry,
  19589 			data,
  19590 			mask);
  19591 }
  19592 
  19593 int
  19594 bcm_loop_field_qualify_HiGigGbpPresent_get(
  19595 	int	unit,
  19596 	bcm_field_entry_t	entry,
  19597 	uint8 *	data,
  19598 	uint8 *	mask)
  19599 {
  19600 	return bcm_field_qualify_HiGigGbpPresent_get(
  19601 			BCM_CONTROL(unit)->unit,
  19602 			entry,
  19603 			data,
  19604 			mask);
  19605 }
  19606 
  19607 int
  19608 bcm_loop_field_qualify_HiGigGbpSrcId(
  19609 	int	unit,
  19610 	bcm_field_entry_t	entry,
  19611 	uint16	data,
  19612 	uint16	mask)
  19613 {
  19614 	return bcm_field_qualify_HiGigGbpSrcId(
  19615 			BCM_CONTROL(unit)->unit,
  19616 			entry,
  19617 			data,
  19618 			mask);
  19619 }
  19620 
  19621 int
  19622 bcm_loop_field_qualify_HiGigGbpSrcId_get(
  19623 	int	unit,
  19624 	bcm_field_entry_t	entry,
  19625 	uint16 *	data,
  19626 	uint16 *	mask)
  19627 {
  19628 	return bcm_field_qualify_HiGigGbpSrcId_get(
  19629 			BCM_CONTROL(unit)->unit,
  19630 			entry,
  19631 			data,
  19632 			mask);
  19633 }
  19634 
  19635 int
  19636 bcm_loop_field_qualify_HiGigIngressClassificationTag(
  19637 	int	unit,
  19638 	bcm_field_entry_t	entry,
  19639 	uint16	data,
  19640 	uint16	mask)
  19641 {
  19642 	return bcm_field_qualify_HiGigIngressClassificationTag(
  19643 			BCM_CONTROL(unit)->unit,
  19644 			entry,
  19645 			data,
  19646 			mask);
  19647 }
  19648 
  19649 int
  19650 bcm_loop_field_qualify_HiGigIngressClassificationTag_get(
  19651 	int	unit,
  19652 	bcm_field_entry_t	entry,
  19653 	uint16 *	data,
  19654 	uint16 *	mask)
  19655 {
  19656 	return bcm_field_qualify_HiGigIngressClassificationTag_get(
  19657 			BCM_CONTROL(unit)->unit,
  19658 			entry,
  19659 			data,
  19660 			mask);
  19661 }
  19662 
  19663 int
  19664 bcm_loop_field_qualify_HiGigIngressL3SwitchPkt(
  19665 	int	unit,
  19666 	bcm_field_entry_t	entry,
  19667 	uint8	data,
  19668 	uint8	mask)
  19669 {
  19670 	return bcm_field_qualify_HiGigIngressL3SwitchPkt(
  19671 			BCM_CONTROL(unit)->unit,
  19672 			entry,
  19673 			data,
  19674 			mask);
  19675 }
  19676 
  19677 int
  19678 bcm_loop_field_qualify_HiGigIngressL3SwitchPkt_get(
  19679 	int	unit,
  19680 	bcm_field_entry_t	entry,
  19681 	uint8 *	data,
  19682 	uint8 *	mask)
  19683 {
  19684 	return bcm_field_qualify_HiGigIngressL3SwitchPkt_get(
  19685 			BCM_CONTROL(unit)->unit,
  19686 			entry,
  19687 			data,
  19688 			mask);
  19689 }
  19690 
  19691 int
  19692 bcm_loop_field_qualify_HiGigIngressTagged(
  19693 	int	unit,
  19694 	bcm_field_entry_t	entry,
  19695 	uint8	data,
  19696 	uint8	mask)
  19697 {
  19698 	return bcm_field_qualify_HiGigIngressTagged(
  19699 			BCM_CONTROL(unit)->unit,
  19700 			entry,
  19701 			data,
  19702 			mask);
  19703 }
  19704 
  19705 int
  19706 bcm_loop_field_qualify_HiGigIngressTagged_get(
  19707 	int	unit,
  19708 	bcm_field_entry_t	entry,
  19709 	uint8 *	data,
  19710 	uint8 *	mask)
  19711 {
  19712 	return bcm_field_qualify_HiGigIngressTagged_get(
  19713 			BCM_CONTROL(unit)->unit,
  19714 			entry,
  19715 			data,
  19716 			mask);
  19717 }
  19718 
  19719 int
  19720 bcm_loop_field_qualify_HiGigIntCongestionNotification(
  19721 	int	unit,
  19722 	bcm_field_entry_t	entry,
  19723 	uint8	data,
  19724 	uint8	mask)
  19725 {
  19726 	return bcm_field_qualify_HiGigIntCongestionNotification(
  19727 			BCM_CONTROL(unit)->unit,
  19728 			entry,
  19729 			data,
  19730 			mask);
  19731 }
  19732 
  19733 int
  19734 bcm_loop_field_qualify_HiGigIntCongestionNotification_get(
  19735 	int	unit,
  19736 	bcm_field_entry_t	entry,
  19737 	uint8 *	data,
  19738 	uint8 *	mask)
  19739 {
  19740 	return bcm_field_qualify_HiGigIntCongestionNotification_get(
  19741 			BCM_CONTROL(unit)->unit,
  19742 			entry,
  19743 			data,
  19744 			mask);
  19745 }
  19746 
  19747 int
  19748 bcm_loop_field_qualify_HiGigLabel(
  19749 	int	unit,
  19750 	bcm_field_entry_t	entry,
  19751 	uint32	data,
  19752 	uint32	mask)
  19753 {
  19754 	return bcm_field_qualify_HiGigLabel(
  19755 			BCM_CONTROL(unit)->unit,
  19756 			entry,
  19757 			data,
  19758 			mask);
  19759 }
  19760 
  19761 int
  19762 bcm_loop_field_qualify_HiGigLabelType(
  19763 	int	unit,
  19764 	bcm_field_entry_t	entry,
  19765 	uint8	data,
  19766 	uint8	mask)
  19767 {
  19768 	return bcm_field_qualify_HiGigLabelType(
  19769 			BCM_CONTROL(unit)->unit,
  19770 			entry,
  19771 			data,
  19772 			mask);
  19773 }
  19774 
  19775 int
  19776 bcm_loop_field_qualify_HiGigLabelType_get(
  19777 	int	unit,
  19778 	bcm_field_entry_t	entry,
  19779 	uint8 *	data,
  19780 	uint8 *	mask)
  19781 {
  19782 	return bcm_field_qualify_HiGigLabelType_get(
  19783 			BCM_CONTROL(unit)->unit,
  19784 			entry,
  19785 			data,
  19786 			mask);
  19787 }
  19788 
  19789 int
  19790 bcm_loop_field_qualify_HiGigLabel_get(
  19791 	int	unit,
  19792 	bcm_field_entry_t	entry,
  19793 	uint32 *	data,
  19794 	uint32 *	mask)
  19795 {
  19796 	return bcm_field_qualify_HiGigLabel_get(
  19797 			BCM_CONTROL(unit)->unit,
  19798 			entry,
  19799 			data,
  19800 			mask);
  19801 }
  19802 
  19803 int
  19804 bcm_loop_field_qualify_HiGigLoadBalanceID(
  19805 	int	unit,
  19806 	bcm_field_entry_t	entry,
  19807 	uint8	data,
  19808 	uint8	mask)
  19809 {
  19810 	return bcm_field_qualify_HiGigLoadBalanceID(
  19811 			BCM_CONTROL(unit)->unit,
  19812 			entry,
  19813 			data,
  19814 			mask);
  19815 }
  19816 
  19817 int
  19818 bcm_loop_field_qualify_HiGigLoadBalanceID_get(
  19819 	int	unit,
  19820 	bcm_field_entry_t	entry,
  19821 	uint8 *	data,
  19822 	uint8 *	mask)
  19823 {
  19824 	return bcm_field_qualify_HiGigLoadBalanceID_get(
  19825 			BCM_CONTROL(unit)->unit,
  19826 			entry,
  19827 			data,
  19828 			mask);
  19829 }
  19830 
  19831 int
  19832 bcm_loop_field_qualify_HiGigMirrorOrSwitchPkt(
  19833 	int	unit,
  19834 	bcm_field_entry_t	entry,
  19835 	uint8	data,
  19836 	uint8	mask)
  19837 {
  19838 	return bcm_field_qualify_HiGigMirrorOrSwitchPkt(
  19839 			BCM_CONTROL(unit)->unit,
  19840 			entry,
  19841 			data,
  19842 			mask);
  19843 }
  19844 
  19845 int
  19846 bcm_loop_field_qualify_HiGigMirrorOrSwitchPkt_get(
  19847 	int	unit,
  19848 	bcm_field_entry_t	entry,
  19849 	uint8 *	data,
  19850 	uint8 *	mask)
  19851 {
  19852 	return bcm_field_qualify_HiGigMirrorOrSwitchPkt_get(
  19853 			BCM_CONTROL(unit)->unit,
  19854 			entry,
  19855 			data,
  19856 			mask);
  19857 }
  19858 
  19859 int
  19860 bcm_loop_field_qualify_HiGigMirrorToVp(
  19861 	int	unit,
  19862 	bcm_field_entry_t	entry,
  19863 	uint8	data,
  19864 	uint8	mask)
  19865 {
  19866 	return bcm_field_qualify_HiGigMirrorToVp(
  19867 			BCM_CONTROL(unit)->unit,
  19868 			entry,
  19869 			data,
  19870 			mask);
  19871 }
  19872 
  19873 int
  19874 bcm_loop_field_qualify_HiGigMirrorToVp_get(
  19875 	int	unit,
  19876 	bcm_field_entry_t	entry,
  19877 	uint8 *	data,
  19878 	uint8 *	mask)
  19879 {
  19880 	return bcm_field_qualify_HiGigMirrorToVp_get(
  19881 			BCM_CONTROL(unit)->unit,
  19882 			entry,
  19883 			data,
  19884 			mask);
  19885 }
  19886 
  19887 int
  19888 bcm_loop_field_qualify_HiGigMplsPkt(
  19889 	int	unit,
  19890 	bcm_field_entry_t	entry,
  19891 	uint8	data,
  19892 	uint8	mask)
  19893 {
  19894 	return bcm_field_qualify_HiGigMplsPkt(
  19895 			BCM_CONTROL(unit)->unit,
  19896 			entry,
  19897 			data,
  19898 			mask);
  19899 }
  19900 
  19901 int
  19902 bcm_loop_field_qualify_HiGigMplsPkt_get(
  19903 	int	unit,
  19904 	bcm_field_entry_t	entry,
  19905 	uint8 *	data,
  19906 	uint8 *	mask)
  19907 {
  19908 	return bcm_field_qualify_HiGigMplsPkt_get(
  19909 			BCM_CONTROL(unit)->unit,
  19910 			entry,
  19911 			data,
  19912 			mask);
  19913 }
  19914 
  19915 int
  19916 bcm_loop_field_qualify_HiGigMulticastIndex(
  19917 	int	unit,
  19918 	bcm_field_entry_t	entry,
  19919 	uint16	data,
  19920 	uint16	mask)
  19921 {
  19922 	return bcm_field_qualify_HiGigMulticastIndex(
  19923 			BCM_CONTROL(unit)->unit,
  19924 			entry,
  19925 			data,
  19926 			mask);
  19927 }
  19928 
  19929 int
  19930 bcm_loop_field_qualify_HiGigMulticastIndex_get(
  19931 	int	unit,
  19932 	bcm_field_entry_t	entry,
  19933 	uint16 *	data,
  19934 	uint16 *	mask)
  19935 {
  19936 	return bcm_field_qualify_HiGigMulticastIndex_get(
  19937 			BCM_CONTROL(unit)->unit,
  19938 			entry,
  19939 			data,
  19940 			mask);
  19941 }
  19942 
  19943 int
  19944 bcm_loop_field_qualify_HiGigOffloadEngineClassificationTag(
  19945 	int	unit,
  19946 	bcm_field_entry_t	entry,
  19947 	uint16	data,
  19948 	uint16	mask)
  19949 {
  19950 	return bcm_field_qualify_HiGigOffloadEngineClassificationTag(
  19951 			BCM_CONTROL(unit)->unit,
  19952 			entry,
  19953 			data,
  19954 			mask);
  19955 }
  19956 
  19957 int
  19958 bcm_loop_field_qualify_HiGigOffloadEngineClassificationTag_get(
  19959 	int	unit,
  19960 	bcm_field_entry_t	entry,
  19961 	uint16 *	data,
  19962 	uint16 *	mask)
  19963 {
  19964 	return bcm_field_qualify_HiGigOffloadEngineClassificationTag_get(
  19965 			BCM_CONTROL(unit)->unit,
  19966 			entry,
  19967 			data,
  19968 			mask);
  19969 }
  19970 
  19971 int
  19972 bcm_loop_field_qualify_HiGigOffloadEngineDeferredFlags(
  19973 	int	unit,
  19974 	bcm_field_entry_t	entry,
  19975 	uint8	data,
  19976 	uint8	mask)
  19977 {
  19978 	return bcm_field_qualify_HiGigOffloadEngineDeferredFlags(
  19979 			BCM_CONTROL(unit)->unit,
  19980 			entry,
  19981 			data,
  19982 			mask);
  19983 }
  19984 
  19985 int
  19986 bcm_loop_field_qualify_HiGigOffloadEngineDeferredFlags_get(
  19987 	int	unit,
  19988 	bcm_field_entry_t	entry,
  19989 	uint8 *	data,
  19990 	uint8 *	mask)
  19991 {
  19992 	return bcm_field_qualify_HiGigOffloadEngineDeferredFlags_get(
  19993 			BCM_CONTROL(unit)->unit,
  19994 			entry,
  19995 			data,
  19996 			mask);
  19997 }
  19998 
  19999 int
  20000 bcm_loop_field_qualify_HiGigOffloadEngineDscpNew(
  20001 	int	unit,
  20002 	bcm_field_entry_t	entry,
  20003 	uint8	data,
  20004 	uint8	mask)
  20005 {
  20006 	return bcm_field_qualify_HiGigOffloadEngineDscpNew(
  20007 			BCM_CONTROL(unit)->unit,
  20008 			entry,
  20009 			data,
  20010 			mask);
  20011 }
  20012 
  20013 int
  20014 bcm_loop_field_qualify_HiGigOffloadEngineDscpNew_get(
  20015 	int	unit,
  20016 	bcm_field_entry_t	entry,
  20017 	uint8 *	data,
  20018 	uint8 *	mask)
  20019 {
  20020 	return bcm_field_qualify_HiGigOffloadEngineDscpNew_get(
  20021 			BCM_CONTROL(unit)->unit,
  20022 			entry,
  20023 			data,
  20024 			mask);
  20025 }
  20026 
  20027 int
  20028 bcm_loop_field_qualify_HiGigOffloadEnginePktPriNew(
  20029 	int	unit,
  20030 	bcm_field_entry_t	entry,
  20031 	uint8	data,
  20032 	uint8	mask)
  20033 {
  20034 	return bcm_field_qualify_HiGigOffloadEnginePktPriNew(
  20035 			BCM_CONTROL(unit)->unit,
  20036 			entry,
  20037 			data,
  20038 			mask);
  20039 }
  20040 
  20041 int
  20042 bcm_loop_field_qualify_HiGigOffloadEnginePktPriNew_get(
  20043 	int	unit,
  20044 	bcm_field_entry_t	entry,
  20045 	uint8 *	data,
  20046 	uint8 *	mask)
  20047 {
  20048 	return bcm_field_qualify_HiGigOffloadEnginePktPriNew_get(
  20049 			BCM_CONTROL(unit)->unit,
  20050 			entry,
  20051 			data,
  20052 			mask);
  20053 }
  20054 
  20055 int
  20056 bcm_loop_field_qualify_HiGigOffloadEnginePreserveDot1p(
  20057 	int	unit,
  20058 	bcm_field_entry_t	entry,
  20059 	uint8	data,
  20060 	uint8	mask)
  20061 {
  20062 	return bcm_field_qualify_HiGigOffloadEnginePreserveDot1p(
  20063 			BCM_CONTROL(unit)->unit,
  20064 			entry,
  20065 			data,
  20066 			mask);
  20067 }
  20068 
  20069 int
  20070 bcm_loop_field_qualify_HiGigOffloadEnginePreserveDot1p_get(
  20071 	int	unit,
  20072 	bcm_field_entry_t	entry,
  20073 	uint8 *	data,
  20074 	uint8 *	mask)
  20075 {
  20076 	return bcm_field_qualify_HiGigOffloadEnginePreserveDot1p_get(
  20077 			BCM_CONTROL(unit)->unit,
  20078 			entry,
  20079 			data,
  20080 			mask);
  20081 }
  20082 
  20083 int
  20084 bcm_loop_field_qualify_HiGigOffloadEnginePreserveDscp(
  20085 	int	unit,
  20086 	bcm_field_entry_t	entry,
  20087 	uint8	data,
  20088 	uint8	mask)
  20089 {
  20090 	return bcm_field_qualify_HiGigOffloadEnginePreserveDscp(
  20091 			BCM_CONTROL(unit)->unit,
  20092 			entry,
  20093 			data,
  20094 			mask);
  20095 }
  20096 
  20097 int
  20098 bcm_loop_field_qualify_HiGigOffloadEnginePreserveDscp_get(
  20099 	int	unit,
  20100 	bcm_field_entry_t	entry,
  20101 	uint8 *	data,
  20102 	uint8 *	mask)
  20103 {
  20104 	return bcm_field_qualify_HiGigOffloadEnginePreserveDscp_get(
  20105 			BCM_CONTROL(unit)->unit,
  20106 			entry,
  20107 			data,
  20108 			mask);
  20109 }
  20110 
  20111 int
  20112 bcm_loop_field_qualify_HiGigOffloadEngineSrcType(
  20113 	int	unit,
  20114 	bcm_field_entry_t	entry,
  20115 	uint8	data,
  20116 	uint8	mask)
  20117 {
  20118 	return bcm_field_qualify_HiGigOffloadEngineSrcType(
  20119 			BCM_CONTROL(unit)->unit,
  20120 			entry,
  20121 			data,
  20122 			mask);
  20123 }
  20124 
  20125 int
  20126 bcm_loop_field_qualify_HiGigOffloadEngineSrcType_get(
  20127 	int	unit,
  20128 	bcm_field_entry_t	entry,
  20129 	uint8 *	data,
  20130 	uint8 *	mask)
  20131 {
  20132 	return bcm_field_qualify_HiGigOffloadEngineSrcType_get(
  20133 			BCM_CONTROL(unit)->unit,
  20134 			entry,
  20135 			data,
  20136 			mask);
  20137 }
  20138 
  20139 int
  20140 bcm_loop_field_qualify_HiGigOffloadEngineVxltStatus(
  20141 	int	unit,
  20142 	bcm_field_entry_t	entry,
  20143 	uint8	data,
  20144 	uint8	mask)
  20145 {
  20146 	return bcm_field_qualify_HiGigOffloadEngineVxltStatus(
  20147 			BCM_CONTROL(unit)->unit,
  20148 			entry,
  20149 			data,
  20150 			mask);
  20151 }
  20152 
  20153 int
  20154 bcm_loop_field_qualify_HiGigOffloadEngineVxltStatus_get(
  20155 	int	unit,
  20156 	bcm_field_entry_t	entry,
  20157 	uint8 *	data,
  20158 	uint8 *	mask)
  20159 {
  20160 	return bcm_field_qualify_HiGigOffloadEngineVxltStatus_get(
  20161 			BCM_CONTROL(unit)->unit,
  20162 			entry,
  20163 			data,
  20164 			mask);
  20165 }
  20166 
  20167 int
  20168 bcm_loop_field_qualify_HiGigPortFilteringMode(
  20169 	int	unit,
  20170 	bcm_field_entry_t	entry,
  20171 	uint8	data,
  20172 	uint8	mask)
  20173 {
  20174 	return bcm_field_qualify_HiGigPortFilteringMode(
  20175 			BCM_CONTROL(unit)->unit,
  20176 			entry,
  20177 			data,
  20178 			mask);
  20179 }
  20180 
  20181 int
  20182 bcm_loop_field_qualify_HiGigPortFilteringMode_get(
  20183 	int	unit,
  20184 	bcm_field_entry_t	entry,
  20185 	uint8 *	data,
  20186 	uint8 *	mask)
  20187 {
  20188 	return bcm_field_qualify_HiGigPortFilteringMode_get(
  20189 			BCM_CONTROL(unit)->unit,
  20190 			entry,
  20191 			data,
  20192 			mask);
  20193 }
  20194 
  20195 int
  20196 bcm_loop_field_qualify_HiGigPreserveFlags(
  20197 	int	unit,
  20198 	bcm_field_entry_t	entry,
  20199 	uint8	data,
  20200 	uint8	mask)
  20201 {
  20202 	return bcm_field_qualify_HiGigPreserveFlags(
  20203 			BCM_CONTROL(unit)->unit,
  20204 			entry,
  20205 			data,
  20206 			mask);
  20207 }
  20208 
  20209 int
  20210 bcm_loop_field_qualify_HiGigPreserveFlags_get(
  20211 	int	unit,
  20212 	bcm_field_entry_t	entry,
  20213 	uint8 *	data,
  20214 	uint8 *	mask)
  20215 {
  20216 	return bcm_field_qualify_HiGigPreserveFlags_get(
  20217 			BCM_CONTROL(unit)->unit,
  20218 			entry,
  20219 			data,
  20220 			mask);
  20221 }
  20222 
  20223 int
  20224 bcm_loop_field_qualify_HiGigProtectionSwitchingStatus(
  20225 	int	unit,
  20226 	bcm_field_entry_t	entry,
  20227 	uint8	data,
  20228 	uint8	mask)
  20229 {
  20230 	return bcm_field_qualify_HiGigProtectionSwitchingStatus(
  20231 			BCM_CONTROL(unit)->unit,
  20232 			entry,
  20233 			data,
  20234 			mask);
  20235 }
  20236 
  20237 int
  20238 bcm_loop_field_qualify_HiGigProtectionSwitchingStatus_get(
  20239 	int	unit,
  20240 	bcm_field_entry_t	entry,
  20241 	uint8 *	data,
  20242 	uint8 *	mask)
  20243 {
  20244 	return bcm_field_qualify_HiGigProtectionSwitchingStatus_get(
  20245 			BCM_CONTROL(unit)->unit,
  20246 			entry,
  20247 			data,
  20248 			mask);
  20249 }
  20250 
  20251 int
  20252 bcm_loop_field_qualify_HiGigProxy(
  20253 	int	unit,
  20254 	bcm_field_entry_t	entry,
  20255 	uint8	data,
  20256 	uint8	mask)
  20257 {
  20258 	return bcm_field_qualify_HiGigProxy(
  20259 			BCM_CONTROL(unit)->unit,
  20260 			entry,
  20261 			data,
  20262 			mask);
  20263 }
  20264 
  20265 int
  20266 bcm_loop_field_qualify_HiGigProxyTunnelType(
  20267 	int	unit,
  20268 	bcm_field_entry_t	entry,
  20269 	bcm_field_higig_proxy_tunnel_type_t	type)
  20270 {
  20271 	return bcm_field_qualify_HiGigProxyTunnelType(
  20272 			BCM_CONTROL(unit)->unit,
  20273 			entry,
  20274 			type);
  20275 }
  20276 
  20277 int
  20278 bcm_loop_field_qualify_HiGigProxyTunnelType_get(
  20279 	int	unit,
  20280 	bcm_field_entry_t	entry,
  20281 	bcm_field_higig_proxy_tunnel_type_t *	type)
  20282 {
  20283 	return bcm_field_qualify_HiGigProxyTunnelType_get(
  20284 			BCM_CONTROL(unit)->unit,
  20285 			entry,
  20286 			type);
  20287 }
  20288 
  20289 int
  20290 bcm_loop_field_qualify_HiGigProxy_get(
  20291 	int	unit,
  20292 	bcm_field_entry_t	entry,
  20293 	uint8 *	data,
  20294 	uint8 *	mask)
  20295 {
  20296 	return bcm_field_qualify_HiGigProxy_get(
  20297 			BCM_CONTROL(unit)->unit,
  20298 			entry,
  20299 			data,
  20300 			mask);
  20301 }
  20302 
  20303 int
  20304 bcm_loop_field_qualify_HiGigReplicationId(
  20305 	int	unit,
  20306 	bcm_field_entry_t	entry,
  20307 	uint32	data,
  20308 	uint32	mask)
  20309 {
  20310 	return bcm_field_qualify_HiGigReplicationId(
  20311 			BCM_CONTROL(unit)->unit,
  20312 			entry,
  20313 			data,
  20314 			mask);
  20315 }
  20316 
  20317 int
  20318 bcm_loop_field_qualify_HiGigReplicationId_get(
  20319 	int	unit,
  20320 	bcm_field_entry_t	entry,
  20321 	uint32 *	data,
  20322 	uint32 *	mask)
  20323 {
  20324 	return bcm_field_qualify_HiGigReplicationId_get(
  20325 			BCM_CONTROL(unit)->unit,
  20326 			entry,
  20327 			data,
  20328 			mask);
  20329 }
  20330 
  20331 int
  20332 bcm_loop_field_qualify_HiGigSrcGport(
  20333 	int	unit,
  20334 	bcm_field_entry_t	entry,
  20335 	bcm_gport_t	port_id,
  20336 	bcm_gport_t	port_mask)
  20337 {
  20338 	return bcm_field_qualify_HiGigSrcGport(
  20339 			BCM_CONTROL(unit)->unit,
  20340 			entry,
  20341 			port_id,
  20342 			port_mask);
  20343 }
  20344 
  20345 int
  20346 bcm_loop_field_qualify_HiGigSrcGport_get(
  20347 	int	unit,
  20348 	bcm_field_entry_t	entry,
  20349 	bcm_gport_t *	port_id,
  20350 	bcm_gport_t *	port_mask)
  20351 {
  20352 	return bcm_field_qualify_HiGigSrcGport_get(
  20353 			BCM_CONTROL(unit)->unit,
  20354 			entry,
  20355 			port_id,
  20356 			port_mask);
  20357 }
  20358 
  20359 int
  20360 bcm_loop_field_qualify_HiGigSrcModPortGport(
  20361 	int	unit,
  20362 	bcm_field_entry_t	entry,
  20363 	bcm_gport_t	port_id,
  20364 	bcm_gport_t	port_mask)
  20365 {
  20366 	return bcm_field_qualify_HiGigSrcModPortGport(
  20367 			BCM_CONTROL(unit)->unit,
  20368 			entry,
  20369 			port_id,
  20370 			port_mask);
  20371 }
  20372 
  20373 int
  20374 bcm_loop_field_qualify_HiGigSrcModPortGport_get(
  20375 	int	unit,
  20376 	bcm_field_entry_t	entry,
  20377 	bcm_gport_t *	port_id,
  20378 	bcm_gport_t *	port_mask)
  20379 {
  20380 	return bcm_field_qualify_HiGigSrcModPortGport_get(
  20381 			BCM_CONTROL(unit)->unit,
  20382 			entry,
  20383 			port_id,
  20384 			port_mask);
  20385 }
  20386 
  20387 int
  20388 bcm_loop_field_qualify_HiGigSrcModuleGport(
  20389 	int	unit,
  20390 	bcm_field_entry_t	entry,
  20391 	bcm_gport_t	port_id,
  20392 	bcm_gport_t	port_mask)
  20393 {
  20394 	return bcm_field_qualify_HiGigSrcModuleGport(
  20395 			BCM_CONTROL(unit)->unit,
  20396 			entry,
  20397 			port_id,
  20398 			port_mask);
  20399 }
  20400 
  20401 int
  20402 bcm_loop_field_qualify_HiGigSrcModuleGport_get(
  20403 	int	unit,
  20404 	bcm_field_entry_t	entry,
  20405 	bcm_gport_t *	port_id,
  20406 	bcm_gport_t *	port_mask)
  20407 {
  20408 	return bcm_field_qualify_HiGigSrcModuleGport_get(
  20409 			BCM_CONTROL(unit)->unit,
  20410 			entry,
  20411 			port_id,
  20412 			port_mask);
  20413 }
  20414 
  20415 int
  20416 bcm_loop_field_qualify_HiGigSrcPortGport(
  20417 	int	unit,
  20418 	bcm_field_entry_t	entry,
  20419 	bcm_gport_t	port_id,
  20420 	bcm_gport_t	port_mask)
  20421 {
  20422 	return bcm_field_qualify_HiGigSrcPortGport(
  20423 			BCM_CONTROL(unit)->unit,
  20424 			entry,
  20425 			port_id,
  20426 			port_mask);
  20427 }
  20428 
  20429 int
  20430 bcm_loop_field_qualify_HiGigSrcPortGport_get(
  20431 	int	unit,
  20432 	bcm_field_entry_t	entry,
  20433 	bcm_gport_t *	port_id,
  20434 	bcm_gport_t *	port_mask)
  20435 {
  20436 	return bcm_field_qualify_HiGigSrcPortGport_get(
  20437 			BCM_CONTROL(unit)->unit,
  20438 			entry,
  20439 			port_id,
  20440 			port_mask);
  20441 }
  20442 
  20443 int
  20444 bcm_loop_field_qualify_HiGigSrcTrunk(
  20445 	int	unit,
  20446 	bcm_field_entry_t	entry,
  20447 	uint8	data,
  20448 	uint8	mask)
  20449 {
  20450 	return bcm_field_qualify_HiGigSrcTrunk(
  20451 			BCM_CONTROL(unit)->unit,
  20452 			entry,
  20453 			data,
  20454 			mask);
  20455 }
  20456 
  20457 int
  20458 bcm_loop_field_qualify_HiGigSrcTrunk_get(
  20459 	int	unit,
  20460 	bcm_field_entry_t	entry,
  20461 	uint8 *	data,
  20462 	uint8 *	mask)
  20463 {
  20464 	return bcm_field_qualify_HiGigSrcTrunk_get(
  20465 			BCM_CONTROL(unit)->unit,
  20466 			entry,
  20467 			data,
  20468 			mask);
  20469 }
  20470 
  20471 int
  20472 bcm_loop_field_qualify_HiGigSrcType(
  20473 	int	unit,
  20474 	bcm_field_entry_t	entry,
  20475 	uint8	data,
  20476 	uint8	mask)
  20477 {
  20478 	return bcm_field_qualify_HiGigSrcType(
  20479 			BCM_CONTROL(unit)->unit,
  20480 			entry,
  20481 			data,
  20482 			mask);
  20483 }
  20484 
  20485 int
  20486 bcm_loop_field_qualify_HiGigSrcType_get(
  20487 	int	unit,
  20488 	bcm_field_entry_t	entry,
  20489 	uint8 *	data,
  20490 	uint8 *	mask)
  20491 {
  20492 	return bcm_field_qualify_HiGigSrcType_get(
  20493 			BCM_CONTROL(unit)->unit,
  20494 			entry,
  20495 			data,
  20496 			mask);
  20497 }
  20498 
  20499 int
  20500 bcm_loop_field_qualify_HiGigTrafficClass(
  20501 	int	unit,
  20502 	bcm_field_entry_t	entry,
  20503 	uint8	data,
  20504 	uint8	mask)
  20505 {
  20506 	return bcm_field_qualify_HiGigTrafficClass(
  20507 			BCM_CONTROL(unit)->unit,
  20508 			entry,
  20509 			data,
  20510 			mask);
  20511 }
  20512 
  20513 int
  20514 bcm_loop_field_qualify_HiGigTrafficClass_get(
  20515 	int	unit,
  20516 	bcm_field_entry_t	entry,
  20517 	uint8 *	data,
  20518 	uint8 *	mask)
  20519 {
  20520 	return bcm_field_qualify_HiGigTrafficClass_get(
  20521 			BCM_CONTROL(unit)->unit,
  20522 			entry,
  20523 			data,
  20524 			mask);
  20525 }
  20526 
  20527 int
  20528 bcm_loop_field_qualify_HiGigVlan(
  20529 	int	unit,
  20530 	bcm_field_entry_t	entry,
  20531 	uint16	data,
  20532 	uint16	mask)
  20533 {
  20534 	return bcm_field_qualify_HiGigVlan(
  20535 			BCM_CONTROL(unit)->unit,
  20536 			entry,
  20537 			data,
  20538 			mask);
  20539 }
  20540 
  20541 int
  20542 bcm_loop_field_qualify_HiGigVlan_get(
  20543 	int	unit,
  20544 	bcm_field_entry_t	entry,
  20545 	uint16 *	data,
  20546 	uint16 *	mask)
  20547 {
  20548 	return bcm_field_qualify_HiGigVlan_get(
  20549 			BCM_CONTROL(unit)->unit,
  20550 			entry,
  20551 			data,
  20552 			mask);
  20553 }
  20554 
  20555 int
  20556 bcm_loop_field_qualify_HiGigVni(
  20557 	int	unit,
  20558 	bcm_field_entry_t	entry,
  20559 	uint16	data,
  20560 	uint16	mask)
  20561 {
  20562 	return bcm_field_qualify_HiGigVni(
  20563 			BCM_CONTROL(unit)->unit,
  20564 			entry,
  20565 			data,
  20566 			mask);
  20567 }
  20568 
  20569 int
  20570 bcm_loop_field_qualify_HiGigVni_get(
  20571 	int	unit,
  20572 	bcm_field_entry_t	entry,
  20573 	uint16 *	data,
  20574 	uint16 *	mask)
  20575 {
  20576 	return bcm_field_qualify_HiGigVni_get(
  20577 			BCM_CONTROL(unit)->unit,
  20578 			entry,
  20579 			data,
  20580 			mask);
  20581 }
  20582 
  20583 int
  20584 bcm_loop_field_qualify_HiGigVpLagFailoverPacket(
  20585 	int	unit,
  20586 	bcm_field_entry_t	entry,
  20587 	uint8	data,
  20588 	uint8	mask)
  20589 {
  20590 	return bcm_field_qualify_HiGigVpLagFailoverPacket(
  20591 			BCM_CONTROL(unit)->unit,
  20592 			entry,
  20593 			data,
  20594 			mask);
  20595 }
  20596 
  20597 int
  20598 bcm_loop_field_qualify_HiGigVpLagFailoverPacket_get(
  20599 	int	unit,
  20600 	bcm_field_entry_t	entry,
  20601 	uint8 *	data,
  20602 	uint8 *	mask)
  20603 {
  20604 	return bcm_field_qualify_HiGigVpLagFailoverPacket_get(
  20605 			BCM_CONTROL(unit)->unit,
  20606 			entry,
  20607 			data,
  20608 			mask);
  20609 }
  20610 
  20611 int
  20612 bcm_loop_field_qualify_HiGigVpPreserveFlags(
  20613 	int	unit,
  20614 	bcm_field_entry_t	entry,
  20615 	uint8	data,
  20616 	uint8	mask)
  20617 {
  20618 	return bcm_field_qualify_HiGigVpPreserveFlags(
  20619 			BCM_CONTROL(unit)->unit,
  20620 			entry,
  20621 			data,
  20622 			mask);
  20623 }
  20624 
  20625 int
  20626 bcm_loop_field_qualify_HiGigVpPreserveFlags_get(
  20627 	int	unit,
  20628 	bcm_field_entry_t	entry,
  20629 	uint8 *	data,
  20630 	uint8 *	mask)
  20631 {
  20632 	return bcm_field_qualify_HiGigVpPreserveFlags_get(
  20633 			BCM_CONTROL(unit)->unit,
  20634 			entry,
  20635 			data,
  20636 			mask);
  20637 }
  20638 
  20639 int
  20640 bcm_loop_field_qualify_HiGigVpReplicationId(
  20641 	int	unit,
  20642 	bcm_field_entry_t	entry,
  20643 	uint32	data,
  20644 	uint32	mask)
  20645 {
  20646 	return bcm_field_qualify_HiGigVpReplicationId(
  20647 			BCM_CONTROL(unit)->unit,
  20648 			entry,
  20649 			data,
  20650 			mask);
  20651 }
  20652 
  20653 int
  20654 bcm_loop_field_qualify_HiGigVpReplicationId_get(
  20655 	int	unit,
  20656 	bcm_field_entry_t	entry,
  20657 	uint32 *	data,
  20658 	uint32 *	mask)
  20659 {
  20660 	return bcm_field_qualify_HiGigVpReplicationId_get(
  20661 			BCM_CONTROL(unit)->unit,
  20662 			entry,
  20663 			data,
  20664 			mask);
  20665 }
  20666 
  20667 int
  20668 bcm_loop_field_qualify_HiGig_get(
  20669 	int	unit,
  20670 	bcm_field_entry_t	entry,
  20671 	uint8 *	data,
  20672 	uint8 *	mask)
  20673 {
  20674 	return bcm_field_qualify_HiGig_get(
  20675 			BCM_CONTROL(unit)->unit,
  20676 			entry,
  20677 			data,
  20678 			mask);
  20679 }
  20680 
  20681 int
  20682 bcm_loop_field_qualify_IEEE1588Command(
  20683 	int	unit,
  20684 	bcm_field_entry_t	entry,
  20685 	uint8	data,
  20686 	uint8	mask)
  20687 {
  20688 	return bcm_field_qualify_IEEE1588Command(
  20689 			BCM_CONTROL(unit)->unit,
  20690 			entry,
  20691 			data,
  20692 			mask);
  20693 }
  20694 
  20695 int
  20696 bcm_loop_field_qualify_IEEE1588Command_get(
  20697 	int	unit,
  20698 	bcm_field_entry_t	entry,
  20699 	uint8 *	data,
  20700 	uint8 *	mask)
  20701 {
  20702 	return bcm_field_qualify_IEEE1588Command_get(
  20703 			BCM_CONTROL(unit)->unit,
  20704 			entry,
  20705 			data,
  20706 			mask);
  20707 }
  20708 
  20709 int
  20710 bcm_loop_field_qualify_IEEE1588CompensateTimeStamp(
  20711 	int	unit,
  20712 	bcm_field_entry_t	entry,
  20713 	uint8	data,
  20714 	uint8	mask)
  20715 {
  20716 	return bcm_field_qualify_IEEE1588CompensateTimeStamp(
  20717 			BCM_CONTROL(unit)->unit,
  20718 			entry,
  20719 			data,
  20720 			mask);
  20721 }
  20722 
  20723 int
  20724 bcm_loop_field_qualify_IEEE1588CompensateTimeStamp_get(
  20725 	int	unit,
  20726 	bcm_field_entry_t	entry,
  20727 	uint8 *	data,
  20728 	uint8 *	mask)
  20729 {
  20730 	return bcm_field_qualify_IEEE1588CompensateTimeStamp_get(
  20731 			BCM_CONTROL(unit)->unit,
  20732 			entry,
  20733 			data,
  20734 			mask);
  20735 }
  20736 
  20737 int
  20738 bcm_loop_field_qualify_IEEE1588Encapsulation(
  20739 	int	unit,
  20740 	bcm_field_entry_t	entry,
  20741 	bcm_field_IEEE1588Encap_t	encap)
  20742 {
  20743 	return bcm_field_qualify_IEEE1588Encapsulation(
  20744 			BCM_CONTROL(unit)->unit,
  20745 			entry,
  20746 			encap);
  20747 }
  20748 
  20749 int
  20750 bcm_loop_field_qualify_IEEE1588Encapsulation_get(
  20751 	int	unit,
  20752 	bcm_field_entry_t	entry,
  20753 	bcm_field_IEEE1588Encap_t *	encap)
  20754 {
  20755 	return bcm_field_qualify_IEEE1588Encapsulation_get(
  20756 			BCM_CONTROL(unit)->unit,
  20757 			entry,
  20758 			encap);
  20759 }
  20760 
  20761 int
  20762 bcm_loop_field_qualify_IEEE1588HeaderOffset(
  20763 	int	unit,
  20764 	bcm_field_entry_t	entry,
  20765 	uint32	data,
  20766 	uint32	mask)
  20767 {
  20768 	return bcm_field_qualify_IEEE1588HeaderOffset(
  20769 			BCM_CONTROL(unit)->unit,
  20770 			entry,
  20771 			data,
  20772 			mask);
  20773 }
  20774 
  20775 int
  20776 bcm_loop_field_qualify_IEEE1588HeaderOffset_get(
  20777 	int	unit,
  20778 	bcm_field_entry_t	entry,
  20779 	uint32 *	data,
  20780 	uint32 *	mask)
  20781 {
  20782 	return bcm_field_qualify_IEEE1588HeaderOffset_get(
  20783 			BCM_CONTROL(unit)->unit,
  20784 			entry,
  20785 			data,
  20786 			mask);
  20787 }
  20788 
  20789 int
  20790 bcm_loop_field_qualify_INTProbeMarker1(
  20791 	int	unit,
  20792 	bcm_field_entry_t	entry,
  20793 	uint32	data,
  20794 	uint32	mask)
  20795 {
  20796 	return bcm_field_qualify_INTProbeMarker1(
  20797 			BCM_CONTROL(unit)->unit,
  20798 			entry,
  20799 			data,
  20800 			mask);
  20801 }
  20802 
  20803 int
  20804 bcm_loop_field_qualify_INTProbeMarker1_get(
  20805 	int	unit,
  20806 	bcm_field_entry_t	entry,
  20807 	uint32 *	data,
  20808 	uint32 *	mask)
  20809 {
  20810 	return bcm_field_qualify_INTProbeMarker1_get(
  20811 			BCM_CONTROL(unit)->unit,
  20812 			entry,
  20813 			data,
  20814 			mask);
  20815 }
  20816 
  20817 int
  20818 bcm_loop_field_qualify_INTProbeMarker2(
  20819 	int	unit,
  20820 	bcm_field_entry_t	entry,
  20821 	uint32	data,
  20822 	uint32	mask)
  20823 {
  20824 	return bcm_field_qualify_INTProbeMarker2(
  20825 			BCM_CONTROL(unit)->unit,
  20826 			entry,
  20827 			data,
  20828 			mask);
  20829 }
  20830 
  20831 int
  20832 bcm_loop_field_qualify_INTProbeMarker2_get(
  20833 	int	unit,
  20834 	bcm_field_entry_t	entry,
  20835 	uint32 *	data,
  20836 	uint32 *	mask)
  20837 {
  20838 	return bcm_field_qualify_INTProbeMarker2_get(
  20839 			BCM_CONTROL(unit)->unit,
  20840 			entry,
  20841 			data,
  20842 			mask);
  20843 }
  20844 
  20845 int
  20846 bcm_loop_field_qualify_INTReserved4Bytes(
  20847 	int	unit,
  20848 	bcm_field_entry_t	entry,
  20849 	uint32	data,
  20850 	uint32	mask)
  20851 {
  20852 	return bcm_field_qualify_INTReserved4Bytes(
  20853 			BCM_CONTROL(unit)->unit,
  20854 			entry,
  20855 			data,
  20856 			mask);
  20857 }
  20858 
  20859 int
  20860 bcm_loop_field_qualify_INTReserved4Bytes_get(
  20861 	int	unit,
  20862 	bcm_field_entry_t	entry,
  20863 	uint32 *	data,
  20864 	uint32 *	mask)
  20865 {
  20866 	return bcm_field_qualify_INTReserved4Bytes_get(
  20867 			BCM_CONTROL(unit)->unit,
  20868 			entry,
  20869 			data,
  20870 			mask);
  20871 }
  20872 
  20873 int
  20874 bcm_loop_field_qualify_ISid(
  20875 	int	unit,
  20876 	bcm_field_entry_t	entry,
  20877 	uint32	data,
  20878 	uint32	mask)
  20879 {
  20880 	return bcm_field_qualify_ISid(
  20881 			BCM_CONTROL(unit)->unit,
  20882 			entry,
  20883 			data,
  20884 			mask);
  20885 }
  20886 
  20887 int
  20888 bcm_loop_field_qualify_ISid_get(
  20889 	int	unit,
  20890 	bcm_field_entry_t	entry,
  20891 	uint32 *	data,
  20892 	uint32 *	mask)
  20893 {
  20894 	return bcm_field_qualify_ISid_get(
  20895 			BCM_CONTROL(unit)->unit,
  20896 			entry,
  20897 			data,
  20898 			mask);
  20899 }
  20900 
  20901 int
  20902 bcm_loop_field_qualify_ITag(
  20903 	int	unit,
  20904 	bcm_field_entry_t	entry,
  20905 	uint32	data,
  20906 	uint32	mask)
  20907 {
  20908 	return bcm_field_qualify_ITag(
  20909 			BCM_CONTROL(unit)->unit,
  20910 			entry,
  20911 			data,
  20912 			mask);
  20913 }
  20914 
  20915 int
  20916 bcm_loop_field_qualify_ITag_get(
  20917 	int	unit,
  20918 	bcm_field_entry_t	entry,
  20919 	uint32 *	data,
  20920 	uint32 *	mask)
  20921 {
  20922 	return bcm_field_qualify_ITag_get(
  20923 			BCM_CONTROL(unit)->unit,
  20924 			entry,
  20925 			data,
  20926 			mask);
  20927 }
  20928 
  20929 int
  20930 bcm_loop_field_qualify_IcmpError(
  20931 	int	unit,
  20932 	bcm_field_entry_t	entry,
  20933 	uint8	data,
  20934 	uint8	mask)
  20935 {
  20936 	return bcm_field_qualify_IcmpError(
  20937 			BCM_CONTROL(unit)->unit,
  20938 			entry,
  20939 			data,
  20940 			mask);
  20941 }
  20942 
  20943 int
  20944 bcm_loop_field_qualify_IcmpError_get(
  20945 	int	unit,
  20946 	bcm_field_entry_t	entry,
  20947 	uint8 *	data,
  20948 	uint8 *	mask)
  20949 {
  20950 	return bcm_field_qualify_IcmpError_get(
  20951 			BCM_CONTROL(unit)->unit,
  20952 			entry,
  20953 			data,
  20954 			mask);
  20955 }
  20956 
  20957 int
  20958 bcm_loop_field_qualify_IcmpTypeCode(
  20959 	int	unit,
  20960 	bcm_field_entry_t	entry,
  20961 	uint16	data,
  20962 	uint16	mask)
  20963 {
  20964 	return bcm_field_qualify_IcmpTypeCode(
  20965 			BCM_CONTROL(unit)->unit,
  20966 			entry,
  20967 			data,
  20968 			mask);
  20969 }
  20970 
  20971 int
  20972 bcm_loop_field_qualify_IcmpTypeCode_get(
  20973 	int	unit,
  20974 	bcm_field_entry_t	entry,
  20975 	uint16 *	data,
  20976 	uint16 *	mask)
  20977 {
  20978 	return bcm_field_qualify_IcmpTypeCode_get(
  20979 			BCM_CONTROL(unit)->unit,
  20980 			entry,
  20981 			data,
  20982 			mask);
  20983 }
  20984 
  20985 int
  20986 bcm_loop_field_qualify_InPort(
  20987 	int	unit,
  20988 	bcm_field_entry_t	entry,
  20989 	bcm_port_t	data,
  20990 	bcm_port_t	mask)
  20991 {
  20992 	return bcm_field_qualify_InPort(
  20993 			BCM_CONTROL(unit)->unit,
  20994 			entry,
  20995 			data,
  20996 			mask);
  20997 }
  20998 
  20999 int
  21000 bcm_loop_field_qualify_InPort_get(
  21001 	int	unit,
  21002 	bcm_field_entry_t	entry,
  21003 	bcm_port_t *	data,
  21004 	bcm_port_t *	mask)
  21005 {
  21006 	return bcm_field_qualify_InPort_get(
  21007 			BCM_CONTROL(unit)->unit,
  21008 			entry,
  21009 			data,
  21010 			mask);
  21011 }
  21012 
  21013 int
  21014 bcm_loop_field_qualify_InPorts(
  21015 	int	unit,
  21016 	bcm_field_entry_t	entry,
  21017 	bcm_pbmp_t	data,
  21018 	bcm_pbmp_t	mask)
  21019 {
  21020 	return bcm_field_qualify_InPorts(
  21021 			BCM_CONTROL(unit)->unit,
  21022 			entry,
  21023 			data,
  21024 			mask);
  21025 }
  21026 
  21027 int
  21028 bcm_loop_field_qualify_InPorts_get(
  21029 	int	unit,
  21030 	bcm_field_entry_t	entry,
  21031 	bcm_pbmp_t *	data,
  21032 	bcm_pbmp_t *	mask)
  21033 {
  21034 	return bcm_field_qualify_InPorts_get(
  21035 			BCM_CONTROL(unit)->unit,
  21036 			entry,
  21037 			data,
  21038 			mask);
  21039 }
  21040 
  21041 int
  21042 bcm_loop_field_qualify_InVPort(
  21043 	int	unit,
  21044 	bcm_field_entry_t	entry,
  21045 	uint8	data,
  21046 	uint8	mask)
  21047 {
  21048 	return bcm_field_qualify_InVPort(
  21049 			BCM_CONTROL(unit)->unit,
  21050 			entry,
  21051 			data,
  21052 			mask);
  21053 }
  21054 
  21055 int
  21056 bcm_loop_field_qualify_InVPort32(
  21057 	int	unit,
  21058 	bcm_field_entry_t	entry,
  21059 	uint32	data,
  21060 	uint32	mask)
  21061 {
  21062 	return bcm_field_qualify_InVPort32(
  21063 			BCM_CONTROL(unit)->unit,
  21064 			entry,
  21065 			data,
  21066 			mask);
  21067 }
  21068 
  21069 int
  21070 bcm_loop_field_qualify_InVPort32_get(
  21071 	int	unit,
  21072 	bcm_field_entry_t	entry,
  21073 	uint32 *	data,
  21074 	uint32 *	mask)
  21075 {
  21076 	return bcm_field_qualify_InVPort32_get(
  21077 			BCM_CONTROL(unit)->unit,
  21078 			entry,
  21079 			data,
  21080 			mask);
  21081 }
  21082 
  21083 int
  21084 bcm_loop_field_qualify_InVPortWide(
  21085 	int	unit,
  21086 	bcm_field_entry_t	entry,
  21087 	uint64	data,
  21088 	uint64	mask)
  21089 {
  21090 	return bcm_field_qualify_InVPortWide(
  21091 			BCM_CONTROL(unit)->unit,
  21092 			entry,
  21093 			data,
  21094 			mask);
  21095 }
  21096 
  21097 int
  21098 bcm_loop_field_qualify_InVPortWide_get(
  21099 	int	unit,
  21100 	bcm_field_entry_t	entry,
  21101 	uint64 *	data,
  21102 	uint64 *	mask)
  21103 {
  21104 	return bcm_field_qualify_InVPortWide_get(
  21105 			BCM_CONTROL(unit)->unit,
  21106 			entry,
  21107 			data,
  21108 			mask);
  21109 }
  21110 
  21111 int
  21112 bcm_loop_field_qualify_InVPort_get(
  21113 	int	unit,
  21114 	bcm_field_entry_t	entry,
  21115 	uint8 *	data,
  21116 	uint8 *	mask)
  21117 {
  21118 	return bcm_field_qualify_InVPort_get(
  21119 			BCM_CONTROL(unit)->unit,
  21120 			entry,
  21121 			data,
  21122 			mask);
  21123 }
  21124 
  21125 int
  21126 bcm_loop_field_qualify_InVportDataIndex(
  21127 	int	unit,
  21128 	bcm_field_entry_t	entry,
  21129 	uint8	data,
  21130 	uint8	mask)
  21131 {
  21132 	return bcm_field_qualify_InVportDataIndex(
  21133 			BCM_CONTROL(unit)->unit,
  21134 			entry,
  21135 			data,
  21136 			mask);
  21137 }
  21138 
  21139 int
  21140 bcm_loop_field_qualify_InVportDataIndex_get(
  21141 	int	unit,
  21142 	bcm_field_entry_t	entry,
  21143 	uint8 *	data,
  21144 	uint8 *	mask)
  21145 {
  21146 	return bcm_field_qualify_InVportDataIndex_get(
  21147 			BCM_CONTROL(unit)->unit,
  21148 			entry,
  21149 			data,
  21150 			mask);
  21151 }
  21152 
  21153 int
  21154 bcm_loop_field_qualify_IncomingIpIfClass(
  21155 	int	unit,
  21156 	bcm_field_entry_t	entry,
  21157 	uint32	data,
  21158 	uint32	mask)
  21159 {
  21160 	return bcm_field_qualify_IncomingIpIfClass(
  21161 			BCM_CONTROL(unit)->unit,
  21162 			entry,
  21163 			data,
  21164 			mask);
  21165 }
  21166 
  21167 int
  21168 bcm_loop_field_qualify_IncomingIpIfClass_get(
  21169 	int	unit,
  21170 	bcm_field_entry_t	entry,
  21171 	uint32 *	data,
  21172 	uint32 *	mask)
  21173 {
  21174 	return bcm_field_qualify_IncomingIpIfClass_get(
  21175 			BCM_CONTROL(unit)->unit,
  21176 			entry,
  21177 			data,
  21178 			mask);
  21179 }
  21180 
  21181 int
  21182 bcm_loop_field_qualify_IncomingOuterVlanId(
  21183 	int	unit,
  21184 	bcm_field_entry_t	entry,
  21185 	bcm_vlan_t	data,
  21186 	bcm_vlan_t	mask)
  21187 {
  21188 	return bcm_field_qualify_IncomingOuterVlanId(
  21189 			BCM_CONTROL(unit)->unit,
  21190 			entry,
  21191 			data,
  21192 			mask);
  21193 }
  21194 
  21195 int
  21196 bcm_loop_field_qualify_IncomingOuterVlanId_get(
  21197 	int	unit,
  21198 	bcm_field_entry_t	entry,
  21199 	bcm_vlan_t *	data,
  21200 	bcm_vlan_t *	mask)
  21201 {
  21202 	return bcm_field_qualify_IncomingOuterVlanId_get(
  21203 			BCM_CONTROL(unit)->unit,
  21204 			entry,
  21205 			data,
  21206 			mask);
  21207 }
  21208 
  21209 int
  21210 bcm_loop_field_qualify_IngressClassField(
  21211 	int	unit,
  21212 	bcm_field_entry_t	entry,
  21213 	uint32	data,
  21214 	uint32	mask)
  21215 {
  21216 	return bcm_field_qualify_IngressClassField(
  21217 			BCM_CONTROL(unit)->unit,
  21218 			entry,
  21219 			data,
  21220 			mask);
  21221 }
  21222 
  21223 int
  21224 bcm_loop_field_qualify_IngressClassField_get(
  21225 	int	unit,
  21226 	bcm_field_entry_t	entry,
  21227 	uint32 *	data,
  21228 	uint32 *	mask)
  21229 {
  21230 	return bcm_field_qualify_IngressClassField_get(
  21231 			BCM_CONTROL(unit)->unit,
  21232 			entry,
  21233 			data,
  21234 			mask);
  21235 }
  21236 
  21237 int
  21238 bcm_loop_field_qualify_IngressDropEthernetOamControl(
  21239 	int	unit,
  21240 	bcm_field_entry_t	entry,
  21241 	bcm_field_oam_drop_mep_type_t	mep_type)
  21242 {
  21243 	return bcm_field_qualify_IngressDropEthernetOamControl(
  21244 			BCM_CONTROL(unit)->unit,
  21245 			entry,
  21246 			mep_type);
  21247 }
  21248 
  21249 int
  21250 bcm_loop_field_qualify_IngressDropEthernetOamControl_get(
  21251 	int	unit,
  21252 	bcm_field_entry_t	entry,
  21253 	bcm_field_oam_drop_mep_type_t *	mep_type)
  21254 {
  21255 	return bcm_field_qualify_IngressDropEthernetOamControl_get(
  21256 			BCM_CONTROL(unit)->unit,
  21257 			entry,
  21258 			mep_type);
  21259 }
  21260 
  21261 int
  21262 bcm_loop_field_qualify_IngressDropEthernetOamData(
  21263 	int	unit,
  21264 	bcm_field_entry_t	entry,
  21265 	bcm_field_oam_drop_mep_type_t	mep_type)
  21266 {
  21267 	return bcm_field_qualify_IngressDropEthernetOamData(
  21268 			BCM_CONTROL(unit)->unit,
  21269 			entry,
  21270 			mep_type);
  21271 }
  21272 
  21273 int
  21274 bcm_loop_field_qualify_IngressDropEthernetOamData_get(
  21275 	int	unit,
  21276 	bcm_field_entry_t	entry,
  21277 	bcm_field_oam_drop_mep_type_t *	mep_type)
  21278 {
  21279 	return bcm_field_qualify_IngressDropEthernetOamData_get(
  21280 			BCM_CONTROL(unit)->unit,
  21281 			entry,
  21282 			mep_type);
  21283 }
  21284 
  21285 int
  21286 bcm_loop_field_qualify_IngressDropMplsOamControl(
  21287 	int	unit,
  21288 	bcm_field_entry_t	entry,
  21289 	bcm_field_oam_drop_mep_type_t	mep_type)
  21290 {
  21291 	return bcm_field_qualify_IngressDropMplsOamControl(
  21292 			BCM_CONTROL(unit)->unit,
  21293 			entry,
  21294 			mep_type);
  21295 }
  21296 
  21297 int
  21298 bcm_loop_field_qualify_IngressDropMplsOamControl_get(
  21299 	int	unit,
  21300 	bcm_field_entry_t	entry,
  21301 	bcm_field_oam_drop_mep_type_t *	mep_type)
  21302 {
  21303 	return bcm_field_qualify_IngressDropMplsOamControl_get(
  21304 			BCM_CONTROL(unit)->unit,
  21305 			entry,
  21306 			mep_type);
  21307 }
  21308 
  21309 int
  21310 bcm_loop_field_qualify_IngressDropMplsOamData(
  21311 	int	unit,
  21312 	bcm_field_entry_t	entry,
  21313 	bcm_field_oam_drop_mep_type_t	mep_type)
  21314 {
  21315 	return bcm_field_qualify_IngressDropMplsOamData(
  21316 			BCM_CONTROL(unit)->unit,
  21317 			entry,
  21318 			mep_type);
  21319 }
  21320 
  21321 int
  21322 bcm_loop_field_qualify_IngressDropMplsOamData_get(
  21323 	int	unit,
  21324 	bcm_field_entry_t	entry,
  21325 	bcm_field_oam_drop_mep_type_t *	mep_type)
  21326 {
  21327 	return bcm_field_qualify_IngressDropMplsOamData_get(
  21328 			BCM_CONTROL(unit)->unit,
  21329 			entry,
  21330 			mep_type);
  21331 }
  21332 
  21333 int
  21334 bcm_loop_field_qualify_IngressECid(
  21335 	int	unit,
  21336 	bcm_field_entry_t	entry,
  21337 	uint32	data,
  21338 	uint32	mask)
  21339 {
  21340 	return bcm_field_qualify_IngressECid(
  21341 			BCM_CONTROL(unit)->unit,
  21342 			entry,
  21343 			data,
  21344 			mask);
  21345 }
  21346 
  21347 int
  21348 bcm_loop_field_qualify_IngressECid_get(
  21349 	int	unit,
  21350 	bcm_field_entry_t	entry,
  21351 	uint32 *	data,
  21352 	uint32 *	mask)
  21353 {
  21354 	return bcm_field_qualify_IngressECid_get(
  21355 			BCM_CONTROL(unit)->unit,
  21356 			entry,
  21357 			data,
  21358 			mask);
  21359 }
  21360 
  21361 int
  21362 bcm_loop_field_qualify_IngressInterfaceClassPort(
  21363 	int	unit,
  21364 	bcm_field_entry_t	entry,
  21365 	uint32	data,
  21366 	uint32	mask)
  21367 {
  21368 	return bcm_field_qualify_IngressInterfaceClassPort(
  21369 			BCM_CONTROL(unit)->unit,
  21370 			entry,
  21371 			data,
  21372 			mask);
  21373 }
  21374 
  21375 int
  21376 bcm_loop_field_qualify_IngressInterfaceClassPort_get(
  21377 	int	unit,
  21378 	bcm_field_entry_t	entry,
  21379 	uint32 *	data,
  21380 	uint32 *	mask)
  21381 {
  21382 	return bcm_field_qualify_IngressInterfaceClassPort_get(
  21383 			BCM_CONTROL(unit)->unit,
  21384 			entry,
  21385 			data,
  21386 			mask);
  21387 }
  21388 
  21389 int
  21390 bcm_loop_field_qualify_IngressInterfaceClassVPort(
  21391 	int	unit,
  21392 	bcm_field_entry_t	entry,
  21393 	uint32	data,
  21394 	uint32	mask)
  21395 {
  21396 	return bcm_field_qualify_IngressInterfaceClassVPort(
  21397 			BCM_CONTROL(unit)->unit,
  21398 			entry,
  21399 			data,
  21400 			mask);
  21401 }
  21402 
  21403 int
  21404 bcm_loop_field_qualify_IngressInterfaceClassVPort_get(
  21405 	int	unit,
  21406 	bcm_field_entry_t	entry,
  21407 	uint32 *	data,
  21408 	uint32 *	mask)
  21409 {
  21410 	return bcm_field_qualify_IngressInterfaceClassVPort_get(
  21411 			BCM_CONTROL(unit)->unit,
  21412 			entry,
  21413 			data,
  21414 			mask);
  21415 }
  21416 
  21417 int
  21418 bcm_loop_field_qualify_IngressStpState(
  21419 	int	unit,
  21420 	bcm_field_entry_t	entry,
  21421 	uint8	data,
  21422 	uint8	mask)
  21423 {
  21424 	return bcm_field_qualify_IngressStpState(
  21425 			BCM_CONTROL(unit)->unit,
  21426 			entry,
  21427 			data,
  21428 			mask);
  21429 }
  21430 
  21431 int
  21432 bcm_loop_field_qualify_IngressStpState_get(
  21433 	int	unit,
  21434 	bcm_field_entry_t	entry,
  21435 	uint8 *	data,
  21436 	uint8 *	mask)
  21437 {
  21438 	return bcm_field_qualify_IngressStpState_get(
  21439 			BCM_CONTROL(unit)->unit,
  21440 			entry,
  21441 			data,
  21442 			mask);
  21443 }
  21444 
  21445 int
  21446 bcm_loop_field_qualify_IngressVPortBridgeDisable(
  21447 	int	unit,
  21448 	bcm_field_entry_t	entry,
  21449 	uint8	data,
  21450 	uint8	mask)
  21451 {
  21452 	return bcm_field_qualify_IngressVPortBridgeDisable(
  21453 			BCM_CONTROL(unit)->unit,
  21454 			entry,
  21455 			data,
  21456 			mask);
  21457 }
  21458 
  21459 int
  21460 bcm_loop_field_qualify_IngressVPortBridgeDisable_get(
  21461 	int	unit,
  21462 	bcm_field_entry_t	entry,
  21463 	uint8 *	data,
  21464 	uint8 *	mask)
  21465 {
  21466 	return bcm_field_qualify_IngressVPortBridgeDisable_get(
  21467 			BCM_CONTROL(unit)->unit,
  21468 			entry,
  21469 			data,
  21470 			mask);
  21471 }
  21472 
  21473 int
  21474 bcm_loop_field_qualify_InnerBfdPktVersionOne(
  21475 	int	unit,
  21476 	bcm_field_entry_t	entry,
  21477 	uint8	data,
  21478 	uint8	mask)
  21479 {
  21480 	return bcm_field_qualify_InnerBfdPktVersionOne(
  21481 			BCM_CONTROL(unit)->unit,
  21482 			entry,
  21483 			data,
  21484 			mask);
  21485 }
  21486 
  21487 int
  21488 bcm_loop_field_qualify_InnerBfdPktVersionOne_get(
  21489 	int	unit,
  21490 	bcm_field_entry_t	entry,
  21491 	uint8 *	data,
  21492 	uint8 *	mask)
  21493 {
  21494 	return bcm_field_qualify_InnerBfdPktVersionOne_get(
  21495 			BCM_CONTROL(unit)->unit,
  21496 			entry,
  21497 			data,
  21498 			mask);
  21499 }
  21500 
  21501 int
  21502 bcm_loop_field_qualify_InnerDSCP(
  21503 	int	unit,
  21504 	bcm_field_entry_t	entry,
  21505 	uint8	data,
  21506 	uint8	mask)
  21507 {
  21508 	return bcm_field_qualify_InnerDSCP(
  21509 			BCM_CONTROL(unit)->unit,
  21510 			entry,
  21511 			data,
  21512 			mask);
  21513 }
  21514 
  21515 int
  21516 bcm_loop_field_qualify_InnerDSCP_get(
  21517 	int	unit,
  21518 	bcm_field_entry_t	entry,
  21519 	uint8 *	data,
  21520 	uint8 *	mask)
  21521 {
  21522 	return bcm_field_qualify_InnerDSCP_get(
  21523 			BCM_CONTROL(unit)->unit,
  21524 			entry,
  21525 			data,
  21526 			mask);
  21527 }
  21528 
  21529 int
  21530 bcm_loop_field_qualify_InnerDosAttack(
  21531 	int	unit,
  21532 	bcm_field_entry_t	entry,
  21533 	uint8	data,
  21534 	uint8	mask)
  21535 {
  21536 	return bcm_field_qualify_InnerDosAttack(
  21537 			BCM_CONTROL(unit)->unit,
  21538 			entry,
  21539 			data,
  21540 			mask);
  21541 }
  21542 
  21543 int
  21544 bcm_loop_field_qualify_InnerDosAttackEvents(
  21545 	int	unit,
  21546 	bcm_field_entry_t	entry,
  21547 	uint32	data,
  21548 	uint32	mask)
  21549 {
  21550 	return bcm_field_qualify_InnerDosAttackEvents(
  21551 			BCM_CONTROL(unit)->unit,
  21552 			entry,
  21553 			data,
  21554 			mask);
  21555 }
  21556 
  21557 int
  21558 bcm_loop_field_qualify_InnerDosAttackEvents_get(
  21559 	int	unit,
  21560 	bcm_field_entry_t	entry,
  21561 	uint32 *	data,
  21562 	uint32 *	mask)
  21563 {
  21564 	return bcm_field_qualify_InnerDosAttackEvents_get(
  21565 			BCM_CONTROL(unit)->unit,
  21566 			entry,
  21567 			data,
  21568 			mask);
  21569 }
  21570 
  21571 int
  21572 bcm_loop_field_qualify_InnerDosAttack_get(
  21573 	int	unit,
  21574 	bcm_field_entry_t	entry,
  21575 	uint8 *	data,
  21576 	uint8 *	mask)
  21577 {
  21578 	return bcm_field_qualify_InnerDosAttack_get(
  21579 			BCM_CONTROL(unit)->unit,
  21580 			entry,
  21581 			data,
  21582 			mask);
  21583 }
  21584 
  21585 int
  21586 bcm_loop_field_qualify_InnerDstIp(
  21587 	int	unit,
  21588 	bcm_field_entry_t	entry,
  21589 	bcm_ip_t	data,
  21590 	bcm_ip_t	mask)
  21591 {
  21592 	return bcm_field_qualify_InnerDstIp(
  21593 			BCM_CONTROL(unit)->unit,
  21594 			entry,
  21595 			data,
  21596 			mask);
  21597 }
  21598 
  21599 int
  21600 bcm_loop_field_qualify_InnerDstIp6(
  21601 	int	unit,
  21602 	bcm_field_entry_t	entry,
  21603 	bcm_ip6_t	data,
  21604 	bcm_ip6_t	mask)
  21605 {
  21606 	return bcm_field_qualify_InnerDstIp6(
  21607 			BCM_CONTROL(unit)->unit,
  21608 			entry,
  21609 			data,
  21610 			mask);
  21611 }
  21612 
  21613 int
  21614 bcm_loop_field_qualify_InnerDstIp6High(
  21615 	int	unit,
  21616 	bcm_field_entry_t	entry,
  21617 	bcm_ip6_t	data,
  21618 	bcm_ip6_t	mask)
  21619 {
  21620 	return bcm_field_qualify_InnerDstIp6High(
  21621 			BCM_CONTROL(unit)->unit,
  21622 			entry,
  21623 			data,
  21624 			mask);
  21625 }
  21626 
  21627 int
  21628 bcm_loop_field_qualify_InnerDstIp6High_get(
  21629 	int	unit,
  21630 	bcm_field_entry_t	entry,
  21631 	bcm_ip6_t *	data,
  21632 	bcm_ip6_t *	mask)
  21633 {
  21634 	return bcm_field_qualify_InnerDstIp6High_get(
  21635 			BCM_CONTROL(unit)->unit,
  21636 			entry,
  21637 			data,
  21638 			mask);
  21639 }
  21640 
  21641 int
  21642 bcm_loop_field_qualify_InnerDstIp6_get(
  21643 	int	unit,
  21644 	bcm_field_entry_t	entry,
  21645 	bcm_ip6_t *	data,
  21646 	bcm_ip6_t *	mask)
  21647 {
  21648 	return bcm_field_qualify_InnerDstIp6_get(
  21649 			BCM_CONTROL(unit)->unit,
  21650 			entry,
  21651 			data,
  21652 			mask);
  21653 }
  21654 
  21655 int
  21656 bcm_loop_field_qualify_InnerDstIp_get(
  21657 	int	unit,
  21658 	bcm_field_entry_t	entry,
  21659 	bcm_ip_t *	data,
  21660 	bcm_ip_t *	mask)
  21661 {
  21662 	return bcm_field_qualify_InnerDstIp_get(
  21663 			BCM_CONTROL(unit)->unit,
  21664 			entry,
  21665 			data,
  21666 			mask);
  21667 }
  21668 
  21669 int
  21670 bcm_loop_field_qualify_InnerDstMac(
  21671 	int	unit,
  21672 	bcm_field_entry_t	entry,
  21673 	bcm_mac_t	data,
  21674 	bcm_mac_t	mask)
  21675 {
  21676 	return bcm_field_qualify_InnerDstMac(
  21677 			BCM_CONTROL(unit)->unit,
  21678 			entry,
  21679 			data,
  21680 			mask);
  21681 }
  21682 
  21683 int
  21684 bcm_loop_field_qualify_InnerDstMac_get(
  21685 	int	unit,
  21686 	bcm_field_entry_t	entry,
  21687 	bcm_mac_t *	data,
  21688 	bcm_mac_t *	mask)
  21689 {
  21690 	return bcm_field_qualify_InnerDstMac_get(
  21691 			BCM_CONTROL(unit)->unit,
  21692 			entry,
  21693 			data,
  21694 			mask);
  21695 }
  21696 
  21697 int
  21698 bcm_loop_field_qualify_InnerEtherType(
  21699 	int	unit,
  21700 	bcm_field_entry_t	entry,
  21701 	uint16	data,
  21702 	uint16	mask)
  21703 {
  21704 	return bcm_field_qualify_InnerEtherType(
  21705 			BCM_CONTROL(unit)->unit,
  21706 			entry,
  21707 			data,
  21708 			mask);
  21709 }
  21710 
  21711 int
  21712 bcm_loop_field_qualify_InnerEtherType_get(
  21713 	int	unit,
  21714 	bcm_field_entry_t	entry,
  21715 	uint16 *	data,
  21716 	uint16 *	mask)
  21717 {
  21718 	return bcm_field_qualify_InnerEtherType_get(
  21719 			BCM_CONTROL(unit)->unit,
  21720 			entry,
  21721 			data,
  21722 			mask);
  21723 }
  21724 
  21725 int
  21726 bcm_loop_field_qualify_InnerIp6FlowLabel(
  21727 	int	unit,
  21728 	bcm_field_entry_t	entry,
  21729 	uint32	data,
  21730 	uint32	mask)
  21731 {
  21732 	return bcm_field_qualify_InnerIp6FlowLabel(
  21733 			BCM_CONTROL(unit)->unit,
  21734 			entry,
  21735 			data,
  21736 			mask);
  21737 }
  21738 
  21739 int
  21740 bcm_loop_field_qualify_InnerIp6FlowLabel_get(
  21741 	int	unit,
  21742 	bcm_field_entry_t	entry,
  21743 	uint32 *	data,
  21744 	uint32 *	mask)
  21745 {
  21746 	return bcm_field_qualify_InnerIp6FlowLabel_get(
  21747 			BCM_CONTROL(unit)->unit,
  21748 			entry,
  21749 			data,
  21750 			mask);
  21751 }
  21752 
  21753 int
  21754 bcm_loop_field_qualify_InnerIp6HopLimit(
  21755 	int	unit,
  21756 	bcm_field_entry_t	entry,
  21757 	uint8	data,
  21758 	uint8	mask)
  21759 {
  21760 	return bcm_field_qualify_InnerIp6HopLimit(
  21761 			BCM_CONTROL(unit)->unit,
  21762 			entry,
  21763 			data,
  21764 			mask);
  21765 }
  21766 
  21767 int
  21768 bcm_loop_field_qualify_InnerIp6HopLimit_get(
  21769 	int	unit,
  21770 	bcm_field_entry_t	entry,
  21771 	uint8 *	data,
  21772 	uint8 *	mask)
  21773 {
  21774 	return bcm_field_qualify_InnerIp6HopLimit_get(
  21775 			BCM_CONTROL(unit)->unit,
  21776 			entry,
  21777 			data,
  21778 			mask);
  21779 }
  21780 
  21781 int
  21782 bcm_loop_field_qualify_InnerIp6NextHeader(
  21783 	int	unit,
  21784 	bcm_field_entry_t	entry,
  21785 	uint8	data,
  21786 	uint8	mask)
  21787 {
  21788 	return bcm_field_qualify_InnerIp6NextHeader(
  21789 			BCM_CONTROL(unit)->unit,
  21790 			entry,
  21791 			data,
  21792 			mask);
  21793 }
  21794 
  21795 int
  21796 bcm_loop_field_qualify_InnerIp6NextHeader_get(
  21797 	int	unit,
  21798 	bcm_field_entry_t	entry,
  21799 	uint8 *	data,
  21800 	uint8 *	mask)
  21801 {
  21802 	return bcm_field_qualify_InnerIp6NextHeader_get(
  21803 			BCM_CONTROL(unit)->unit,
  21804 			entry,
  21805 			data,
  21806 			mask);
  21807 }
  21808 
  21809 int
  21810 bcm_loop_field_qualify_InnerIp6PktHopLimit(
  21811 	int	unit,
  21812 	bcm_field_entry_t	entry,
  21813 	uint8	data,
  21814 	uint8	mask)
  21815 {
  21816 	return bcm_field_qualify_InnerIp6PktHopLimit(
  21817 			BCM_CONTROL(unit)->unit,
  21818 			entry,
  21819 			data,
  21820 			mask);
  21821 }
  21822 
  21823 int
  21824 bcm_loop_field_qualify_InnerIp6PktHopLimit_get(
  21825 	int	unit,
  21826 	bcm_field_entry_t	entry,
  21827 	uint8 *	data,
  21828 	uint8 *	mask)
  21829 {
  21830 	return bcm_field_qualify_InnerIp6PktHopLimit_get(
  21831 			BCM_CONTROL(unit)->unit,
  21832 			entry,
  21833 			data,
  21834 			mask);
  21835 }
  21836 
  21837 int
  21838 bcm_loop_field_qualify_InnerIp6PktNextHeader(
  21839 	int	unit,
  21840 	bcm_field_entry_t	entry,
  21841 	uint8	data,
  21842 	uint8	mask)
  21843 {
  21844 	return bcm_field_qualify_InnerIp6PktNextHeader(
  21845 			BCM_CONTROL(unit)->unit,
  21846 			entry,
  21847 			data,
  21848 			mask);
  21849 }
  21850 
  21851 int
  21852 bcm_loop_field_qualify_InnerIp6PktNextHeader_get(
  21853 	int	unit,
  21854 	bcm_field_entry_t	entry,
  21855 	uint8 *	data,
  21856 	uint8 *	mask)
  21857 {
  21858 	return bcm_field_qualify_InnerIp6PktNextHeader_get(
  21859 			BCM_CONTROL(unit)->unit,
  21860 			entry,
  21861 			data,
  21862 			mask);
  21863 }
  21864 
  21865 int
  21866 bcm_loop_field_qualify_InnerIp6PktTrafficClass(
  21867 	int	unit,
  21868 	bcm_field_entry_t	entry,
  21869 	uint8	data,
  21870 	uint8	mask)
  21871 {
  21872 	return bcm_field_qualify_InnerIp6PktTrafficClass(
  21873 			BCM_CONTROL(unit)->unit,
  21874 			entry,
  21875 			data,
  21876 			mask);
  21877 }
  21878 
  21879 int
  21880 bcm_loop_field_qualify_InnerIp6PktTrafficClass_get(
  21881 	int	unit,
  21882 	bcm_field_entry_t	entry,
  21883 	uint8 *	data,
  21884 	uint8 *	mask)
  21885 {
  21886 	return bcm_field_qualify_InnerIp6PktTrafficClass_get(
  21887 			BCM_CONTROL(unit)->unit,
  21888 			entry,
  21889 			data,
  21890 			mask);
  21891 }
  21892 
  21893 int
  21894 bcm_loop_field_qualify_InnerIpFrag(
  21895 	int	unit,
  21896 	bcm_field_entry_t	entry,
  21897 	bcm_field_IpFrag_t	frag_info)
  21898 {
  21899 	return bcm_field_qualify_InnerIpFrag(
  21900 			BCM_CONTROL(unit)->unit,
  21901 			entry,
  21902 			frag_info);
  21903 }
  21904 
  21905 int
  21906 bcm_loop_field_qualify_InnerIpFrag_get(
  21907 	int	unit,
  21908 	bcm_field_entry_t	entry,
  21909 	bcm_field_IpFrag_t *	frag_info)
  21910 {
  21911 	return bcm_field_qualify_InnerIpFrag_get(
  21912 			BCM_CONTROL(unit)->unit,
  21913 			entry,
  21914 			frag_info);
  21915 }
  21916 
  21917 int
  21918 bcm_loop_field_qualify_InnerIpProtocol(
  21919 	int	unit,
  21920 	bcm_field_entry_t	entry,
  21921 	uint8	data,
  21922 	uint8	mask)
  21923 {
  21924 	return bcm_field_qualify_InnerIpProtocol(
  21925 			BCM_CONTROL(unit)->unit,
  21926 			entry,
  21927 			data,
  21928 			mask);
  21929 }
  21930 
  21931 int
  21932 bcm_loop_field_qualify_InnerIpProtocolCommon(
  21933 	int	unit,
  21934 	bcm_field_entry_t	entry,
  21935 	bcm_field_IpProtocolCommon_t	protocol)
  21936 {
  21937 	return bcm_field_qualify_InnerIpProtocolCommon(
  21938 			BCM_CONTROL(unit)->unit,
  21939 			entry,
  21940 			protocol);
  21941 }
  21942 
  21943 int
  21944 bcm_loop_field_qualify_InnerIpProtocolCommon_get(
  21945 	int	unit,
  21946 	bcm_field_entry_t	entry,
  21947 	bcm_field_IpProtocolCommon_t *	protocol)
  21948 {
  21949 	return bcm_field_qualify_InnerIpProtocolCommon_get(
  21950 			BCM_CONTROL(unit)->unit,
  21951 			entry,
  21952 			protocol);
  21953 }
  21954 
  21955 int
  21956 bcm_loop_field_qualify_InnerIpProtocol_get(
  21957 	int	unit,
  21958 	bcm_field_entry_t	entry,
  21959 	uint8 *	data,
  21960 	uint8 *	mask)
  21961 {
  21962 	return bcm_field_qualify_InnerIpProtocol_get(
  21963 			BCM_CONTROL(unit)->unit,
  21964 			entry,
  21965 			data,
  21966 			mask);
  21967 }
  21968 
  21969 int
  21970 bcm_loop_field_qualify_InnerIpType(
  21971 	int	unit,
  21972 	bcm_field_entry_t	entry,
  21973 	bcm_field_IpType_t	type)
  21974 {
  21975 	return bcm_field_qualify_InnerIpType(
  21976 			BCM_CONTROL(unit)->unit,
  21977 			entry,
  21978 			type);
  21979 }
  21980 
  21981 int
  21982 bcm_loop_field_qualify_InnerIpType_get(
  21983 	int	unit,
  21984 	bcm_field_entry_t	entry,
  21985 	bcm_field_IpType_t *	type)
  21986 {
  21987 	return bcm_field_qualify_InnerIpType_get(
  21988 			BCM_CONTROL(unit)->unit,
  21989 			entry,
  21990 			type);
  21991 }
  21992 
  21993 int
  21994 bcm_loop_field_qualify_InnerL4DstPort(
  21995 	int	unit,
  21996 	bcm_field_entry_t	entry,
  21997 	bcm_l4_port_t	data,
  21998 	bcm_l4_port_t	mask)
  21999 {
  22000 	return bcm_field_qualify_InnerL4DstPort(
  22001 			BCM_CONTROL(unit)->unit,
  22002 			entry,
  22003 			data,
  22004 			mask);
  22005 }
  22006 
  22007 int
  22008 bcm_loop_field_qualify_InnerL4DstPort_get(
  22009 	int	unit,
  22010 	bcm_field_entry_t	entry,
  22011 	bcm_l4_port_t *	data,
  22012 	bcm_l4_port_t *	mask)
  22013 {
  22014 	return bcm_field_qualify_InnerL4DstPort_get(
  22015 			BCM_CONTROL(unit)->unit,
  22016 			entry,
  22017 			data,
  22018 			mask);
  22019 }
  22020 
  22021 int
  22022 bcm_loop_field_qualify_InnerL4Ports(
  22023 	int	unit,
  22024 	bcm_field_entry_t	entry,
  22025 	uint8	data,
  22026 	uint8	mask)
  22027 {
  22028 	return bcm_field_qualify_InnerL4Ports(
  22029 			BCM_CONTROL(unit)->unit,
  22030 			entry,
  22031 			data,
  22032 			mask);
  22033 }
  22034 
  22035 int
  22036 bcm_loop_field_qualify_InnerL4Ports_get(
  22037 	int	unit,
  22038 	bcm_field_entry_t	entry,
  22039 	uint8 *	data,
  22040 	uint8 *	mask)
  22041 {
  22042 	return bcm_field_qualify_InnerL4Ports_get(
  22043 			BCM_CONTROL(unit)->unit,
  22044 			entry,
  22045 			data,
  22046 			mask);
  22047 }
  22048 
  22049 int
  22050 bcm_loop_field_qualify_InnerL4SrcPort(
  22051 	int	unit,
  22052 	bcm_field_entry_t	entry,
  22053 	bcm_l4_port_t	data,
  22054 	bcm_l4_port_t	mask)
  22055 {
  22056 	return bcm_field_qualify_InnerL4SrcPort(
  22057 			BCM_CONTROL(unit)->unit,
  22058 			entry,
  22059 			data,
  22060 			mask);
  22061 }
  22062 
  22063 int
  22064 bcm_loop_field_qualify_InnerL4SrcPort_get(
  22065 	int	unit,
  22066 	bcm_field_entry_t	entry,
  22067 	bcm_l4_port_t *	data,
  22068 	bcm_l4_port_t *	mask)
  22069 {
  22070 	return bcm_field_qualify_InnerL4SrcPort_get(
  22071 			BCM_CONTROL(unit)->unit,
  22072 			entry,
  22073 			data,
  22074 			mask);
  22075 }
  22076 
  22077 int
  22078 bcm_loop_field_qualify_InnerSrcIp(
  22079 	int	unit,
  22080 	bcm_field_entry_t	entry,
  22081 	bcm_ip_t	data,
  22082 	bcm_ip_t	mask)
  22083 {
  22084 	return bcm_field_qualify_InnerSrcIp(
  22085 			BCM_CONTROL(unit)->unit,
  22086 			entry,
  22087 			data,
  22088 			mask);
  22089 }
  22090 
  22091 int
  22092 bcm_loop_field_qualify_InnerSrcIp6(
  22093 	int	unit,
  22094 	bcm_field_entry_t	entry,
  22095 	bcm_ip6_t	data,
  22096 	bcm_ip6_t	mask)
  22097 {
  22098 	return bcm_field_qualify_InnerSrcIp6(
  22099 			BCM_CONTROL(unit)->unit,
  22100 			entry,
  22101 			data,
  22102 			mask);
  22103 }
  22104 
  22105 int
  22106 bcm_loop_field_qualify_InnerSrcIp6High(
  22107 	int	unit,
  22108 	bcm_field_entry_t	entry,
  22109 	bcm_ip6_t	data,
  22110 	bcm_ip6_t	mask)
  22111 {
  22112 	return bcm_field_qualify_InnerSrcIp6High(
  22113 			BCM_CONTROL(unit)->unit,
  22114 			entry,
  22115 			data,
  22116 			mask);
  22117 }
  22118 
  22119 int
  22120 bcm_loop_field_qualify_InnerSrcIp6High_get(
  22121 	int	unit,
  22122 	bcm_field_entry_t	entry,
  22123 	bcm_ip6_t *	data,
  22124 	bcm_ip6_t *	mask)
  22125 {
  22126 	return bcm_field_qualify_InnerSrcIp6High_get(
  22127 			BCM_CONTROL(unit)->unit,
  22128 			entry,
  22129 			data,
  22130 			mask);
  22131 }
  22132 
  22133 int
  22134 bcm_loop_field_qualify_InnerSrcIp6_get(
  22135 	int	unit,
  22136 	bcm_field_entry_t	entry,
  22137 	bcm_ip6_t *	data,
  22138 	bcm_ip6_t *	mask)
  22139 {
  22140 	return bcm_field_qualify_InnerSrcIp6_get(
  22141 			BCM_CONTROL(unit)->unit,
  22142 			entry,
  22143 			data,
  22144 			mask);
  22145 }
  22146 
  22147 int
  22148 bcm_loop_field_qualify_InnerSrcIp_get(
  22149 	int	unit,
  22150 	bcm_field_entry_t	entry,
  22151 	bcm_ip_t *	data,
  22152 	bcm_ip_t *	mask)
  22153 {
  22154 	return bcm_field_qualify_InnerSrcIp_get(
  22155 			BCM_CONTROL(unit)->unit,
  22156 			entry,
  22157 			data,
  22158 			mask);
  22159 }
  22160 
  22161 int
  22162 bcm_loop_field_qualify_InnerSrcMac(
  22163 	int	unit,
  22164 	bcm_field_entry_t	entry,
  22165 	bcm_mac_t	data,
  22166 	bcm_mac_t	mask)
  22167 {
  22168 	return bcm_field_qualify_InnerSrcMac(
  22169 			BCM_CONTROL(unit)->unit,
  22170 			entry,
  22171 			data,
  22172 			mask);
  22173 }
  22174 
  22175 int
  22176 bcm_loop_field_qualify_InnerSrcMac_get(
  22177 	int	unit,
  22178 	bcm_field_entry_t	entry,
  22179 	bcm_mac_t *	data,
  22180 	bcm_mac_t *	mask)
  22181 {
  22182 	return bcm_field_qualify_InnerSrcMac_get(
  22183 			BCM_CONTROL(unit)->unit,
  22184 			entry,
  22185 			data,
  22186 			mask);
  22187 }
  22188 
  22189 int
  22190 bcm_loop_field_qualify_InnerTos(
  22191 	int	unit,
  22192 	bcm_field_entry_t	entry,
  22193 	uint8	data,
  22194 	uint8	mask)
  22195 {
  22196 	return bcm_field_qualify_InnerTos(
  22197 			BCM_CONTROL(unit)->unit,
  22198 			entry,
  22199 			data,
  22200 			mask);
  22201 }
  22202 
  22203 int
  22204 bcm_loop_field_qualify_InnerTos_get(
  22205 	int	unit,
  22206 	bcm_field_entry_t	entry,
  22207 	uint8 *	data,
  22208 	uint8 *	mask)
  22209 {
  22210 	return bcm_field_qualify_InnerTos_get(
  22211 			BCM_CONTROL(unit)->unit,
  22212 			entry,
  22213 			data,
  22214 			mask);
  22215 }
  22216 
  22217 int
  22218 bcm_loop_field_qualify_InnerTpid(
  22219 	int	unit,
  22220 	bcm_field_entry_t	entry,
  22221 	uint16	tpid)
  22222 {
  22223 	return bcm_field_qualify_InnerTpid(
  22224 			BCM_CONTROL(unit)->unit,
  22225 			entry,
  22226 			tpid);
  22227 }
  22228 
  22229 int
  22230 bcm_loop_field_qualify_InnerTpid_get(
  22231 	int	unit,
  22232 	bcm_field_entry_t	entry,
  22233 	uint16 *	tpid)
  22234 {
  22235 	return bcm_field_qualify_InnerTpid_get(
  22236 			BCM_CONTROL(unit)->unit,
  22237 			entry,
  22238 			tpid);
  22239 }
  22240 
  22241 int
  22242 bcm_loop_field_qualify_InnerTtl(
  22243 	int	unit,
  22244 	bcm_field_entry_t	entry,
  22245 	uint8	data,
  22246 	uint8	mask)
  22247 {
  22248 	return bcm_field_qualify_InnerTtl(
  22249 			BCM_CONTROL(unit)->unit,
  22250 			entry,
  22251 			data,
  22252 			mask);
  22253 }
  22254 
  22255 int
  22256 bcm_loop_field_qualify_InnerTtl_get(
  22257 	int	unit,
  22258 	bcm_field_entry_t	entry,
  22259 	uint8 *	data,
  22260 	uint8 *	mask)
  22261 {
  22262 	return bcm_field_qualify_InnerTtl_get(
  22263 			BCM_CONTROL(unit)->unit,
  22264 			entry,
  22265 			data,
  22266 			mask);
  22267 }
  22268 
  22269 int
  22270 bcm_loop_field_qualify_InnerVlan(
  22271 	int	unit,
  22272 	bcm_field_entry_t	entry,
  22273 	bcm_vlan_t	data,
  22274 	bcm_vlan_t	mask)
  22275 {
  22276 	return bcm_field_qualify_InnerVlan(
  22277 			BCM_CONTROL(unit)->unit,
  22278 			entry,
  22279 			data,
  22280 			mask);
  22281 }
  22282 
  22283 int
  22284 bcm_loop_field_qualify_InnerVlanActionRange(
  22285 	int	unit,
  22286 	bcm_field_entry_t	entry,
  22287 	bcm_vlan_t	data,
  22288 	bcm_vlan_t	mask)
  22289 {
  22290 	return bcm_field_qualify_InnerVlanActionRange(
  22291 			BCM_CONTROL(unit)->unit,
  22292 			entry,
  22293 			data,
  22294 			mask);
  22295 }
  22296 
  22297 int
  22298 bcm_loop_field_qualify_InnerVlanActionRange_get(
  22299 	int	unit,
  22300 	bcm_field_entry_t	entry,
  22301 	bcm_vlan_t *	data,
  22302 	bcm_vlan_t *	mask)
  22303 {
  22304 	return bcm_field_qualify_InnerVlanActionRange_get(
  22305 			BCM_CONTROL(unit)->unit,
  22306 			entry,
  22307 			data,
  22308 			mask);
  22309 }
  22310 
  22311 int
  22312 bcm_loop_field_qualify_InnerVlanCfi(
  22313 	int	unit,
  22314 	bcm_field_entry_t	entry,
  22315 	uint8	data,
  22316 	uint8	mask)
  22317 {
  22318 	return bcm_field_qualify_InnerVlanCfi(
  22319 			BCM_CONTROL(unit)->unit,
  22320 			entry,
  22321 			data,
  22322 			mask);
  22323 }
  22324 
  22325 int
  22326 bcm_loop_field_qualify_InnerVlanCfi_get(
  22327 	int	unit,
  22328 	bcm_field_entry_t	entry,
  22329 	uint8 *	data,
  22330 	uint8 *	mask)
  22331 {
  22332 	return bcm_field_qualify_InnerVlanCfi_get(
  22333 			BCM_CONTROL(unit)->unit,
  22334 			entry,
  22335 			data,
  22336 			mask);
  22337 }
  22338 
  22339 int
  22340 bcm_loop_field_qualify_InnerVlanId(
  22341 	int	unit,
  22342 	bcm_field_entry_t	entry,
  22343 	bcm_vlan_t	data,
  22344 	bcm_vlan_t	mask)
  22345 {
  22346 	return bcm_field_qualify_InnerVlanId(
  22347 			BCM_CONTROL(unit)->unit,
  22348 			entry,
  22349 			data,
  22350 			mask);
  22351 }
  22352 
  22353 int
  22354 bcm_loop_field_qualify_InnerVlanId_get(
  22355 	int	unit,
  22356 	bcm_field_entry_t	entry,
  22357 	bcm_vlan_t *	data,
  22358 	bcm_vlan_t *	mask)
  22359 {
  22360 	return bcm_field_qualify_InnerVlanId_get(
  22361 			BCM_CONTROL(unit)->unit,
  22362 			entry,
  22363 			data,
  22364 			mask);
  22365 }
  22366 
  22367 int
  22368 bcm_loop_field_qualify_InnerVlanPri(
  22369 	int	unit,
  22370 	bcm_field_entry_t	entry,
  22371 	uint8	data,
  22372 	uint8	mask)
  22373 {
  22374 	return bcm_field_qualify_InnerVlanPri(
  22375 			BCM_CONTROL(unit)->unit,
  22376 			entry,
  22377 			data,
  22378 			mask);
  22379 }
  22380 
  22381 int
  22382 bcm_loop_field_qualify_InnerVlanPri_get(
  22383 	int	unit,
  22384 	bcm_field_entry_t	entry,
  22385 	uint8 *	data,
  22386 	uint8 *	mask)
  22387 {
  22388 	return bcm_field_qualify_InnerVlanPri_get(
  22389 			BCM_CONTROL(unit)->unit,
  22390 			entry,
  22391 			data,
  22392 			mask);
  22393 }
  22394 
  22395 int
  22396 bcm_loop_field_qualify_InnerVlan_get(
  22397 	int	unit,
  22398 	bcm_field_entry_t	entry,
  22399 	bcm_vlan_t *	data,
  22400 	bcm_vlan_t *	mask)
  22401 {
  22402 	return bcm_field_qualify_InnerVlan_get(
  22403 			BCM_CONTROL(unit)->unit,
  22404 			entry,
  22405 			data,
  22406 			mask);
  22407 }
  22408 
  22409 int
  22410 bcm_loop_field_qualify_IntCongestionNotification(
  22411 	int	unit,
  22412 	bcm_field_entry_t	entry,
  22413 	uint8	data,
  22414 	uint8	mask)
  22415 {
  22416 	return bcm_field_qualify_IntCongestionNotification(
  22417 			BCM_CONTROL(unit)->unit,
  22418 			entry,
  22419 			data,
  22420 			mask);
  22421 }
  22422 
  22423 int
  22424 bcm_loop_field_qualify_IntCongestionNotification_get(
  22425 	int	unit,
  22426 	bcm_field_entry_t	entry,
  22427 	uint8 *	data,
  22428 	uint8 *	mask)
  22429 {
  22430 	return bcm_field_qualify_IntCongestionNotification_get(
  22431 			BCM_CONTROL(unit)->unit,
  22432 			entry,
  22433 			data,
  22434 			mask);
  22435 }
  22436 
  22437 int
  22438 bcm_loop_field_qualify_IntPktFinalHop(
  22439 	int	unit,
  22440 	bcm_field_entry_t	entry,
  22441 	uint8	data,
  22442 	uint8	mask)
  22443 {
  22444 	return bcm_field_qualify_IntPktFinalHop(
  22445 			BCM_CONTROL(unit)->unit,
  22446 			entry,
  22447 			data,
  22448 			mask);
  22449 }
  22450 
  22451 int
  22452 bcm_loop_field_qualify_IntPktFinalHop_get(
  22453 	int	unit,
  22454 	bcm_field_entry_t	entry,
  22455 	uint8 *	data,
  22456 	uint8 *	mask)
  22457 {
  22458 	return bcm_field_qualify_IntPktFinalHop_get(
  22459 			BCM_CONTROL(unit)->unit,
  22460 			entry,
  22461 			data,
  22462 			mask);
  22463 }
  22464 
  22465 int
  22466 bcm_loop_field_qualify_IntPktLengthValid(
  22467 	int	unit,
  22468 	bcm_field_entry_t	entry,
  22469 	uint8	data,
  22470 	uint8	mask)
  22471 {
  22472 	return bcm_field_qualify_IntPktLengthValid(
  22473 			BCM_CONTROL(unit)->unit,
  22474 			entry,
  22475 			data,
  22476 			mask);
  22477 }
  22478 
  22479 int
  22480 bcm_loop_field_qualify_IntPktLengthValid_get(
  22481 	int	unit,
  22482 	bcm_field_entry_t	entry,
  22483 	uint8 *	data,
  22484 	uint8 *	mask)
  22485 {
  22486 	return bcm_field_qualify_IntPktLengthValid_get(
  22487 			BCM_CONTROL(unit)->unit,
  22488 			entry,
  22489 			data,
  22490 			mask);
  22491 }
  22492 
  22493 int
  22494 bcm_loop_field_qualify_IntPktOverflowed(
  22495 	int	unit,
  22496 	bcm_field_entry_t	entry,
  22497 	uint8	data,
  22498 	uint8	mask)
  22499 {
  22500 	return bcm_field_qualify_IntPktOverflowed(
  22501 			BCM_CONTROL(unit)->unit,
  22502 			entry,
  22503 			data,
  22504 			mask);
  22505 }
  22506 
  22507 int
  22508 bcm_loop_field_qualify_IntPktOverflowed_get(
  22509 	int	unit,
  22510 	bcm_field_entry_t	entry,
  22511 	uint8 *	data,
  22512 	uint8 *	mask)
  22513 {
  22514 	return bcm_field_qualify_IntPktOverflowed_get(
  22515 			BCM_CONTROL(unit)->unit,
  22516 			entry,
  22517 			data,
  22518 			mask);
  22519 }
  22520 
  22521 int
  22522 bcm_loop_field_qualify_IntPktType(
  22523 	int	unit,
  22524 	bcm_field_entry_t	entry,
  22525 	bcm_field_int_pkt_type_t	type)
  22526 {
  22527 	return bcm_field_qualify_IntPktType(
  22528 			BCM_CONTROL(unit)->unit,
  22529 			entry,
  22530 			type);
  22531 }
  22532 
  22533 int
  22534 bcm_loop_field_qualify_IntPktType_get(
  22535 	int	unit,
  22536 	bcm_field_entry_t	entry,
  22537 	bcm_field_int_pkt_type_t *	type)
  22538 {
  22539 	return bcm_field_qualify_IntPktType_get(
  22540 			BCM_CONTROL(unit)->unit,
  22541 			entry,
  22542 			type);
  22543 }
  22544 
  22545 int
  22546 bcm_loop_field_qualify_IntPktVersionOne(
  22547 	int	unit,
  22548 	bcm_field_entry_t	entry,
  22549 	uint8	data,
  22550 	uint8	mask)
  22551 {
  22552 	return bcm_field_qualify_IntPktVersionOne(
  22553 			BCM_CONTROL(unit)->unit,
  22554 			entry,
  22555 			data,
  22556 			mask);
  22557 }
  22558 
  22559 int
  22560 bcm_loop_field_qualify_IntPktVersionOne_get(
  22561 	int	unit,
  22562 	bcm_field_entry_t	entry,
  22563 	uint8 *	data,
  22564 	uint8 *	mask)
  22565 {
  22566 	return bcm_field_qualify_IntPktVersionOne_get(
  22567 			BCM_CONTROL(unit)->unit,
  22568 			entry,
  22569 			data,
  22570 			mask);
  22571 }
  22572 
  22573 int
  22574 bcm_loop_field_qualify_IntPriority(
  22575 	int	unit,
  22576 	bcm_field_entry_t	entry,
  22577 	uint8	data,
  22578 	uint8	mask)
  22579 {
  22580 	return bcm_field_qualify_IntPriority(
  22581 			BCM_CONTROL(unit)->unit,
  22582 			entry,
  22583 			data,
  22584 			mask);
  22585 }
  22586 
  22587 int
  22588 bcm_loop_field_qualify_IntPriority_get(
  22589 	int	unit,
  22590 	bcm_field_entry_t	entry,
  22591 	uint8 *	data,
  22592 	uint8 *	mask)
  22593 {
  22594 	return bcm_field_qualify_IntPriority_get(
  22595 			BCM_CONTROL(unit)->unit,
  22596 			entry,
  22597 			data,
  22598 			mask);
  22599 }
  22600 
  22601 int
  22602 bcm_loop_field_qualify_InterfaceClassL2(
  22603 	int	unit,
  22604 	bcm_field_entry_t	entry,
  22605 	uint32	data,
  22606 	uint32	mask)
  22607 {
  22608 	return bcm_field_qualify_InterfaceClassL2(
  22609 			BCM_CONTROL(unit)->unit,
  22610 			entry,
  22611 			data,
  22612 			mask);
  22613 }
  22614 
  22615 int
  22616 bcm_loop_field_qualify_InterfaceClassL2Type(
  22617 	int	unit,
  22618 	bcm_field_entry_t	entry,
  22619 	bcm_field_interface_class_l2_type_t	type)
  22620 {
  22621 	return bcm_field_qualify_InterfaceClassL2Type(
  22622 			BCM_CONTROL(unit)->unit,
  22623 			entry,
  22624 			type);
  22625 }
  22626 
  22627 int
  22628 bcm_loop_field_qualify_InterfaceClassL2Type_get(
  22629 	int	unit,
  22630 	bcm_field_entry_t	entry,
  22631 	bcm_field_interface_class_l2_type_t *	type)
  22632 {
  22633 	return bcm_field_qualify_InterfaceClassL2Type_get(
  22634 			BCM_CONTROL(unit)->unit,
  22635 			entry,
  22636 			type);
  22637 }
  22638 
  22639 int
  22640 bcm_loop_field_qualify_InterfaceClassL2_get(
  22641 	int	unit,
  22642 	bcm_field_entry_t	entry,
  22643 	uint32 *	data,
  22644 	uint32 *	mask)
  22645 {
  22646 	return bcm_field_qualify_InterfaceClassL2_get(
  22647 			BCM_CONTROL(unit)->unit,
  22648 			entry,
  22649 			data,
  22650 			mask);
  22651 }
  22652 
  22653 int
  22654 bcm_loop_field_qualify_InterfaceClassL3(
  22655 	int	unit,
  22656 	bcm_field_entry_t	entry,
  22657 	uint32	data,
  22658 	uint32	mask)
  22659 {
  22660 	return bcm_field_qualify_InterfaceClassL3(
  22661 			BCM_CONTROL(unit)->unit,
  22662 			entry,
  22663 			data,
  22664 			mask);
  22665 }
  22666 
  22667 int
  22668 bcm_loop_field_qualify_InterfaceClassL3Tunnel(
  22669 	int	unit,
  22670 	bcm_field_entry_t	entry,
  22671 	uint16	data,
  22672 	uint16	mask)
  22673 {
  22674 	return bcm_field_qualify_InterfaceClassL3Tunnel(
  22675 			BCM_CONTROL(unit)->unit,
  22676 			entry,
  22677 			data,
  22678 			mask);
  22679 }
  22680 
  22681 int
  22682 bcm_loop_field_qualify_InterfaceClassL3Tunnel_get(
  22683 	int	unit,
  22684 	bcm_field_entry_t	entry,
  22685 	uint16 *	data,
  22686 	uint16 *	mask)
  22687 {
  22688 	return bcm_field_qualify_InterfaceClassL3Tunnel_get(
  22689 			BCM_CONTROL(unit)->unit,
  22690 			entry,
  22691 			data,
  22692 			mask);
  22693 }
  22694 
  22695 int
  22696 bcm_loop_field_qualify_InterfaceClassL3_get(
  22697 	int	unit,
  22698 	bcm_field_entry_t	entry,
  22699 	uint32 *	data,
  22700 	uint32 *	mask)
  22701 {
  22702 	return bcm_field_qualify_InterfaceClassL3_get(
  22703 			BCM_CONTROL(unit)->unit,
  22704 			entry,
  22705 			data,
  22706 			mask);
  22707 }
  22708 
  22709 int
  22710 bcm_loop_field_qualify_InterfaceClassMplsLookup1(
  22711 	int	unit,
  22712 	bcm_field_entry_t	entry,
  22713 	uint16	data,
  22714 	uint16	mask)
  22715 {
  22716 	return bcm_field_qualify_InterfaceClassMplsLookup1(
  22717 			BCM_CONTROL(unit)->unit,
  22718 			entry,
  22719 			data,
  22720 			mask);
  22721 }
  22722 
  22723 int
  22724 bcm_loop_field_qualify_InterfaceClassMplsLookup1_get(
  22725 	int	unit,
  22726 	bcm_field_entry_t	entry,
  22727 	uint16 *	data,
  22728 	uint16 *	mask)
  22729 {
  22730 	return bcm_field_qualify_InterfaceClassMplsLookup1_get(
  22731 			BCM_CONTROL(unit)->unit,
  22732 			entry,
  22733 			data,
  22734 			mask);
  22735 }
  22736 
  22737 int
  22738 bcm_loop_field_qualify_InterfaceClassMplsLookup2(
  22739 	int	unit,
  22740 	bcm_field_entry_t	entry,
  22741 	uint16	data,
  22742 	uint16	mask)
  22743 {
  22744 	return bcm_field_qualify_InterfaceClassMplsLookup2(
  22745 			BCM_CONTROL(unit)->unit,
  22746 			entry,
  22747 			data,
  22748 			mask);
  22749 }
  22750 
  22751 int
  22752 bcm_loop_field_qualify_InterfaceClassMplsLookup2_get(
  22753 	int	unit,
  22754 	bcm_field_entry_t	entry,
  22755 	uint16 *	data,
  22756 	uint16 *	mask)
  22757 {
  22758 	return bcm_field_qualify_InterfaceClassMplsLookup2_get(
  22759 			BCM_CONTROL(unit)->unit,
  22760 			entry,
  22761 			data,
  22762 			mask);
  22763 }
  22764 
  22765 int
  22766 bcm_loop_field_qualify_InterfaceClassMplsLookup3(
  22767 	int	unit,
  22768 	bcm_field_entry_t	entry,
  22769 	uint16	data,
  22770 	uint16	mask)
  22771 {
  22772 	return bcm_field_qualify_InterfaceClassMplsLookup3(
  22773 			BCM_CONTROL(unit)->unit,
  22774 			entry,
  22775 			data,
  22776 			mask);
  22777 }
  22778 
  22779 int
  22780 bcm_loop_field_qualify_InterfaceClassMplsLookup3_get(
  22781 	int	unit,
  22782 	bcm_field_entry_t	entry,
  22783 	uint16 *	data,
  22784 	uint16 *	mask)
  22785 {
  22786 	return bcm_field_qualify_InterfaceClassMplsLookup3_get(
  22787 			BCM_CONTROL(unit)->unit,
  22788 			entry,
  22789 			data,
  22790 			mask);
  22791 }
  22792 
  22793 int
  22794 bcm_loop_field_qualify_InterfaceClassPort(
  22795 	int	unit,
  22796 	bcm_field_entry_t	entry,
  22797 	uint32	data,
  22798 	uint32	mask)
  22799 {
  22800 	return bcm_field_qualify_InterfaceClassPort(
  22801 			BCM_CONTROL(unit)->unit,
  22802 			entry,
  22803 			data,
  22804 			mask);
  22805 }
  22806 
  22807 int
  22808 bcm_loop_field_qualify_InterfaceClassPort_get(
  22809 	int	unit,
  22810 	bcm_field_entry_t	entry,
  22811 	uint32 *	data,
  22812 	uint32 *	mask)
  22813 {
  22814 	return bcm_field_qualify_InterfaceClassPort_get(
  22815 			BCM_CONTROL(unit)->unit,
  22816 			entry,
  22817 			data,
  22818 			mask);
  22819 }
  22820 
  22821 int
  22822 bcm_loop_field_qualify_InterfaceClassProcessingPort(
  22823 	int	unit,
  22824 	bcm_field_entry_t	entry,
  22825 	uint64	data,
  22826 	uint64	mask)
  22827 {
  22828 	return bcm_field_qualify_InterfaceClassProcessingPort(
  22829 			BCM_CONTROL(unit)->unit,
  22830 			entry,
  22831 			data,
  22832 			mask);
  22833 }
  22834 
  22835 int
  22836 bcm_loop_field_qualify_InterfaceClassProcessingPort_get(
  22837 	int	unit,
  22838 	bcm_field_entry_t	entry,
  22839 	uint64 *	data,
  22840 	uint64 *	mask)
  22841 {
  22842 	return bcm_field_qualify_InterfaceClassProcessingPort_get(
  22843 			BCM_CONTROL(unit)->unit,
  22844 			entry,
  22845 			data,
  22846 			mask);
  22847 }
  22848 
  22849 int
  22850 bcm_loop_field_qualify_InterfaceClassVPort(
  22851 	int	unit,
  22852 	bcm_field_entry_t	entry,
  22853 	uint32	data,
  22854 	uint32	mask)
  22855 {
  22856 	return bcm_field_qualify_InterfaceClassVPort(
  22857 			BCM_CONTROL(unit)->unit,
  22858 			entry,
  22859 			data,
  22860 			mask);
  22861 }
  22862 
  22863 int
  22864 bcm_loop_field_qualify_InterfaceClassVPort_get(
  22865 	int	unit,
  22866 	bcm_field_entry_t	entry,
  22867 	uint32 *	data,
  22868 	uint32 *	mask)
  22869 {
  22870 	return bcm_field_qualify_InterfaceClassVPort_get(
  22871 			BCM_CONTROL(unit)->unit,
  22872 			entry,
  22873 			data,
  22874 			mask);
  22875 }
  22876 
  22877 int
  22878 bcm_loop_field_qualify_InterfaceInPorts(
  22879 	int	unit,
  22880 	bcm_field_entry_t	entry,
  22881 	bcm_pbmp_t	data,
  22882 	bcm_pbmp_t	mask)
  22883 {
  22884 	return bcm_field_qualify_InterfaceInPorts(
  22885 			BCM_CONTROL(unit)->unit,
  22886 			entry,
  22887 			data,
  22888 			mask);
  22889 }
  22890 
  22891 int
  22892 bcm_loop_field_qualify_InterfaceInPorts_get(
  22893 	int	unit,
  22894 	bcm_field_entry_t	entry,
  22895 	bcm_pbmp_t *	data,
  22896 	bcm_pbmp_t *	mask)
  22897 {
  22898 	return bcm_field_qualify_InterfaceInPorts_get(
  22899 			BCM_CONTROL(unit)->unit,
  22900 			entry,
  22901 			data,
  22902 			mask);
  22903 }
  22904 
  22905 int
  22906 bcm_loop_field_qualify_InterfaceIngressKeySelectClassPort(
  22907 	int	unit,
  22908 	bcm_field_entry_t	entry,
  22909 	uint32	data,
  22910 	uint32	mask)
  22911 {
  22912 	return bcm_field_qualify_InterfaceIngressKeySelectClassPort(
  22913 			BCM_CONTROL(unit)->unit,
  22914 			entry,
  22915 			data,
  22916 			mask);
  22917 }
  22918 
  22919 int
  22920 bcm_loop_field_qualify_InterfaceIngressKeySelectClassPort_get(
  22921 	int	unit,
  22922 	bcm_field_entry_t	entry,
  22923 	uint32 *	data,
  22924 	uint32 *	mask)
  22925 {
  22926 	return bcm_field_qualify_InterfaceIngressKeySelectClassPort_get(
  22927 			BCM_CONTROL(unit)->unit,
  22928 			entry,
  22929 			data,
  22930 			mask);
  22931 }
  22932 
  22933 int
  22934 bcm_loop_field_qualify_InterfaceLookupClassPort(
  22935 	int	unit,
  22936 	bcm_field_entry_t	entry,
  22937 	uint32	data,
  22938 	uint32	mask)
  22939 {
  22940 	return bcm_field_qualify_InterfaceLookupClassPort(
  22941 			BCM_CONTROL(unit)->unit,
  22942 			entry,
  22943 			data,
  22944 			mask);
  22945 }
  22946 
  22947 int
  22948 bcm_loop_field_qualify_InterfaceLookupClassPort_get(
  22949 	int	unit,
  22950 	bcm_field_entry_t	entry,
  22951 	uint32 *	data,
  22952 	uint32 *	mask)
  22953 {
  22954 	return bcm_field_qualify_InterfaceLookupClassPort_get(
  22955 			BCM_CONTROL(unit)->unit,
  22956 			entry,
  22957 			data,
  22958 			mask);
  22959 }
  22960 
  22961 int
  22962 bcm_loop_field_qualify_Ip4Length(
  22963 	int	unit,
  22964 	bcm_field_entry_t	entry,
  22965 	uint16	data,
  22966 	uint16	mask)
  22967 {
  22968 	return bcm_field_qualify_Ip4Length(
  22969 			BCM_CONTROL(unit)->unit,
  22970 			entry,
  22971 			data,
  22972 			mask);
  22973 }
  22974 
  22975 int
  22976 bcm_loop_field_qualify_Ip4Length_get(
  22977 	int	unit,
  22978 	bcm_field_entry_t	entry,
  22979 	uint16 *	data,
  22980 	uint16 *	mask)
  22981 {
  22982 	return bcm_field_qualify_Ip4Length_get(
  22983 			BCM_CONTROL(unit)->unit,
  22984 			entry,
  22985 			data,
  22986 			mask);
  22987 }
  22988 
  22989 int
  22990 bcm_loop_field_qualify_Ip6FlowLabel(
  22991 	int	unit,
  22992 	bcm_field_entry_t	entry,
  22993 	uint32	data,
  22994 	uint32	mask)
  22995 {
  22996 	return bcm_field_qualify_Ip6FlowLabel(
  22997 			BCM_CONTROL(unit)->unit,
  22998 			entry,
  22999 			data,
  23000 			mask);
  23001 }
  23002 
  23003 int
  23004 bcm_loop_field_qualify_Ip6FlowLabel_get(
  23005 	int	unit,
  23006 	bcm_field_entry_t	entry,
  23007 	uint32 *	data,
  23008 	uint32 *	mask)
  23009 {
  23010 	return bcm_field_qualify_Ip6FlowLabel_get(
  23011 			BCM_CONTROL(unit)->unit,
  23012 			entry,
  23013 			data,
  23014 			mask);
  23015 }
  23016 
  23017 int
  23018 bcm_loop_field_qualify_Ip6HopLimit(
  23019 	int	unit,
  23020 	bcm_field_entry_t	entry,
  23021 	uint8	data,
  23022 	uint8	mask)
  23023 {
  23024 	return bcm_field_qualify_Ip6HopLimit(
  23025 			BCM_CONTROL(unit)->unit,
  23026 			entry,
  23027 			data,
  23028 			mask);
  23029 }
  23030 
  23031 int
  23032 bcm_loop_field_qualify_Ip6HopLimit_get(
  23033 	int	unit,
  23034 	bcm_field_entry_t	entry,
  23035 	uint8 *	data,
  23036 	uint8 *	mask)
  23037 {
  23038 	return bcm_field_qualify_Ip6HopLimit_get(
  23039 			BCM_CONTROL(unit)->unit,
  23040 			entry,
  23041 			data,
  23042 			mask);
  23043 }
  23044 
  23045 int
  23046 bcm_loop_field_qualify_Ip6Length(
  23047 	int	unit,
  23048 	bcm_field_entry_t	entry,
  23049 	uint16	data,
  23050 	uint16	mask)
  23051 {
  23052 	return bcm_field_qualify_Ip6Length(
  23053 			BCM_CONTROL(unit)->unit,
  23054 			entry,
  23055 			data,
  23056 			mask);
  23057 }
  23058 
  23059 int
  23060 bcm_loop_field_qualify_Ip6Length_get(
  23061 	int	unit,
  23062 	bcm_field_entry_t	entry,
  23063 	uint16 *	data,
  23064 	uint16 *	mask)
  23065 {
  23066 	return bcm_field_qualify_Ip6Length_get(
  23067 			BCM_CONTROL(unit)->unit,
  23068 			entry,
  23069 			data,
  23070 			mask);
  23071 }
  23072 
  23073 int
  23074 bcm_loop_field_qualify_Ip6NextHeader(
  23075 	int	unit,
  23076 	bcm_field_entry_t	entry,
  23077 	uint8	data,
  23078 	uint8	mask)
  23079 {
  23080 	return bcm_field_qualify_Ip6NextHeader(
  23081 			BCM_CONTROL(unit)->unit,
  23082 			entry,
  23083 			data,
  23084 			mask);
  23085 }
  23086 
  23087 int
  23088 bcm_loop_field_qualify_Ip6NextHeader_get(
  23089 	int	unit,
  23090 	bcm_field_entry_t	entry,
  23091 	uint8 *	data,
  23092 	uint8 *	mask)
  23093 {
  23094 	return bcm_field_qualify_Ip6NextHeader_get(
  23095 			BCM_CONTROL(unit)->unit,
  23096 			entry,
  23097 			data,
  23098 			mask);
  23099 }
  23100 
  23101 int
  23102 bcm_loop_field_qualify_Ip6PktHopLimit(
  23103 	int	unit,
  23104 	bcm_field_entry_t	entry,
  23105 	uint8	data,
  23106 	uint8	mask)
  23107 {
  23108 	return bcm_field_qualify_Ip6PktHopLimit(
  23109 			BCM_CONTROL(unit)->unit,
  23110 			entry,
  23111 			data,
  23112 			mask);
  23113 }
  23114 
  23115 int
  23116 bcm_loop_field_qualify_Ip6PktHopLimit_get(
  23117 	int	unit,
  23118 	bcm_field_entry_t	entry,
  23119 	uint8 *	data,
  23120 	uint8 *	mask)
  23121 {
  23122 	return bcm_field_qualify_Ip6PktHopLimit_get(
  23123 			BCM_CONTROL(unit)->unit,
  23124 			entry,
  23125 			data,
  23126 			mask);
  23127 }
  23128 
  23129 int
  23130 bcm_loop_field_qualify_Ip6PktNextHeader(
  23131 	int	unit,
  23132 	bcm_field_entry_t	entry,
  23133 	uint8	data,
  23134 	uint8	mask)
  23135 {
  23136 	return bcm_field_qualify_Ip6PktNextHeader(
  23137 			BCM_CONTROL(unit)->unit,
  23138 			entry,
  23139 			data,
  23140 			mask);
  23141 }
  23142 
  23143 int
  23144 bcm_loop_field_qualify_Ip6PktNextHeader_get(
  23145 	int	unit,
  23146 	bcm_field_entry_t	entry,
  23147 	uint8 *	data,
  23148 	uint8 *	mask)
  23149 {
  23150 	return bcm_field_qualify_Ip6PktNextHeader_get(
  23151 			BCM_CONTROL(unit)->unit,
  23152 			entry,
  23153 			data,
  23154 			mask);
  23155 }
  23156 
  23157 int
  23158 bcm_loop_field_qualify_Ip6PktTrafficClass(
  23159 	int	unit,
  23160 	bcm_field_entry_t	entry,
  23161 	uint8	data,
  23162 	uint8	mask)
  23163 {
  23164 	return bcm_field_qualify_Ip6PktTrafficClass(
  23165 			BCM_CONTROL(unit)->unit,
  23166 			entry,
  23167 			data,
  23168 			mask);
  23169 }
  23170 
  23171 int
  23172 bcm_loop_field_qualify_Ip6PktTrafficClass_get(
  23173 	int	unit,
  23174 	bcm_field_entry_t	entry,
  23175 	uint8 *	data,
  23176 	uint8 *	mask)
  23177 {
  23178 	return bcm_field_qualify_Ip6PktTrafficClass_get(
  23179 			BCM_CONTROL(unit)->unit,
  23180 			entry,
  23181 			data,
  23182 			mask);
  23183 }
  23184 
  23185 int
  23186 bcm_loop_field_qualify_Ip6TrafficClass(
  23187 	int	unit,
  23188 	bcm_field_entry_t	entry,
  23189 	uint8	data,
  23190 	uint8	mask)
  23191 {
  23192 	return bcm_field_qualify_Ip6TrafficClass(
  23193 			BCM_CONTROL(unit)->unit,
  23194 			entry,
  23195 			data,
  23196 			mask);
  23197 }
  23198 
  23199 int
  23200 bcm_loop_field_qualify_Ip6TrafficClass_get(
  23201 	int	unit,
  23202 	bcm_field_entry_t	entry,
  23203 	uint8 *	data,
  23204 	uint8 *	mask)
  23205 {
  23206 	return bcm_field_qualify_Ip6TrafficClass_get(
  23207 			BCM_CONTROL(unit)->unit,
  23208 			entry,
  23209 			data,
  23210 			mask);
  23211 }
  23212 
  23213 int
  23214 bcm_loop_field_qualify_IpAddrsNormalized(
  23215 	int	unit,
  23216 	bcm_field_entry_t	entry,
  23217 	uint8	data,
  23218 	uint8	mask)
  23219 {
  23220 	return bcm_field_qualify_IpAddrsNormalized(
  23221 			BCM_CONTROL(unit)->unit,
  23222 			entry,
  23223 			data,
  23224 			mask);
  23225 }
  23226 
  23227 int
  23228 bcm_loop_field_qualify_IpAddrsNormalized_get(
  23229 	int	unit,
  23230 	bcm_field_entry_t	entry,
  23231 	uint8 *	data,
  23232 	uint8 *	mask)
  23233 {
  23234 	return bcm_field_qualify_IpAddrsNormalized_get(
  23235 			BCM_CONTROL(unit)->unit,
  23236 			entry,
  23237 			data,
  23238 			mask);
  23239 }
  23240 
  23241 int
  23242 bcm_loop_field_qualify_IpChecksumOkPkt(
  23243 	int	unit,
  23244 	bcm_field_entry_t	entry,
  23245 	uint8	data,
  23246 	uint8	mask)
  23247 {
  23248 	return bcm_field_qualify_IpChecksumOkPkt(
  23249 			BCM_CONTROL(unit)->unit,
  23250 			entry,
  23251 			data,
  23252 			mask);
  23253 }
  23254 
  23255 int
  23256 bcm_loop_field_qualify_IpChecksumOkPkt_get(
  23257 	int	unit,
  23258 	bcm_field_entry_t	entry,
  23259 	uint8 *	data,
  23260 	uint8 *	mask)
  23261 {
  23262 	return bcm_field_qualify_IpChecksumOkPkt_get(
  23263 			BCM_CONTROL(unit)->unit,
  23264 			entry,
  23265 			data,
  23266 			mask);
  23267 }
  23268 
  23269 int
  23270 bcm_loop_field_qualify_IpFlags(
  23271 	int	unit,
  23272 	bcm_field_entry_t	entry,
  23273 	uint8	data,
  23274 	uint8	mask)
  23275 {
  23276 	return bcm_field_qualify_IpFlags(
  23277 			BCM_CONTROL(unit)->unit,
  23278 			entry,
  23279 			data,
  23280 			mask);
  23281 }
  23282 
  23283 int
  23284 bcm_loop_field_qualify_IpFlags_get(
  23285 	int	unit,
  23286 	bcm_field_entry_t	entry,
  23287 	uint8 *	data,
  23288 	uint8 *	mask)
  23289 {
  23290 	return bcm_field_qualify_IpFlags_get(
  23291 			BCM_CONTROL(unit)->unit,
  23292 			entry,
  23293 			data,
  23294 			mask);
  23295 }
  23296 
  23297 int
  23298 bcm_loop_field_qualify_IpFrag(
  23299 	int	unit,
  23300 	bcm_field_entry_t	entry,
  23301 	bcm_field_IpFrag_t	frag_info)
  23302 {
  23303 	return bcm_field_qualify_IpFrag(
  23304 			BCM_CONTROL(unit)->unit,
  23305 			entry,
  23306 			frag_info);
  23307 }
  23308 
  23309 int
  23310 bcm_loop_field_qualify_IpFragNonOrFirst(
  23311 	int	unit,
  23312 	bcm_field_entry_t	entry,
  23313 	uint8	data,
  23314 	uint8	mask)
  23315 {
  23316 	return bcm_field_qualify_IpFragNonOrFirst(
  23317 			BCM_CONTROL(unit)->unit,
  23318 			entry,
  23319 			data,
  23320 			mask);
  23321 }
  23322 
  23323 int
  23324 bcm_loop_field_qualify_IpFragNonOrFirst_get(
  23325 	int	unit,
  23326 	bcm_field_entry_t	entry,
  23327 	uint8 *	data,
  23328 	uint8 *	mask)
  23329 {
  23330 	return bcm_field_qualify_IpFragNonOrFirst_get(
  23331 			BCM_CONTROL(unit)->unit,
  23332 			entry,
  23333 			data,
  23334 			mask);
  23335 }
  23336 
  23337 int
  23338 bcm_loop_field_qualify_IpFragPkt(
  23339 	int	unit,
  23340 	bcm_field_entry_t	entry,
  23341 	uint8	data,
  23342 	uint8	mask)
  23343 {
  23344 	return bcm_field_qualify_IpFragPkt(
  23345 			BCM_CONTROL(unit)->unit,
  23346 			entry,
  23347 			data,
  23348 			mask);
  23349 }
  23350 
  23351 int
  23352 bcm_loop_field_qualify_IpFragPkt_get(
  23353 	int	unit,
  23354 	bcm_field_entry_t	entry,
  23355 	uint8 *	data,
  23356 	uint8 *	mask)
  23357 {
  23358 	return bcm_field_qualify_IpFragPkt_get(
  23359 			BCM_CONTROL(unit)->unit,
  23360 			entry,
  23361 			data,
  23362 			mask);
  23363 }
  23364 
  23365 int
  23366 bcm_loop_field_qualify_IpFrag_get(
  23367 	int	unit,
  23368 	bcm_field_entry_t	entry,
  23369 	bcm_field_IpFrag_t *	frag_info)
  23370 {
  23371 	return bcm_field_qualify_IpFrag_get(
  23372 			BCM_CONTROL(unit)->unit,
  23373 			entry,
  23374 			frag_info);
  23375 }
  23376 
  23377 int
  23378 bcm_loop_field_qualify_IpIdentifier(
  23379 	int	unit,
  23380 	bcm_field_entry_t	entry,
  23381 	uint16	data,
  23382 	uint16	mask)
  23383 {
  23384 	return bcm_field_qualify_IpIdentifier(
  23385 			BCM_CONTROL(unit)->unit,
  23386 			entry,
  23387 			data,
  23388 			mask);
  23389 }
  23390 
  23391 int
  23392 bcm_loop_field_qualify_IpIdentifier_get(
  23393 	int	unit,
  23394 	bcm_field_entry_t	entry,
  23395 	uint16 *	data,
  23396 	uint16 *	mask)
  23397 {
  23398 	return bcm_field_qualify_IpIdentifier_get(
  23399 			BCM_CONTROL(unit)->unit,
  23400 			entry,
  23401 			data,
  23402 			mask);
  23403 }
  23404 
  23405 int
  23406 bcm_loop_field_qualify_IpInIpPkt(
  23407 	int	unit,
  23408 	bcm_field_entry_t	entry,
  23409 	uint8	data,
  23410 	uint8	mask)
  23411 {
  23412 	return bcm_field_qualify_IpInIpPkt(
  23413 			BCM_CONTROL(unit)->unit,
  23414 			entry,
  23415 			data,
  23416 			mask);
  23417 }
  23418 
  23419 int
  23420 bcm_loop_field_qualify_IpInIpPkt_get(
  23421 	int	unit,
  23422 	bcm_field_entry_t	entry,
  23423 	uint8 *	data,
  23424 	uint8 *	mask)
  23425 {
  23426 	return bcm_field_qualify_IpInIpPkt_get(
  23427 			BCM_CONTROL(unit)->unit,
  23428 			entry,
  23429 			data,
  23430 			mask);
  23431 }
  23432 
  23433 int
  23434 bcm_loop_field_qualify_IpInfo(
  23435 	int	unit,
  23436 	bcm_field_entry_t	entry,
  23437 	uint32	data,
  23438 	uint32	mask)
  23439 {
  23440 	return bcm_field_qualify_IpInfo(
  23441 			BCM_CONTROL(unit)->unit,
  23442 			entry,
  23443 			data,
  23444 			mask);
  23445 }
  23446 
  23447 int
  23448 bcm_loop_field_qualify_IpInfo_get(
  23449 	int	unit,
  23450 	bcm_field_entry_t	entry,
  23451 	uint32 *	data,
  23452 	uint32 *	mask)
  23453 {
  23454 	return bcm_field_qualify_IpInfo_get(
  23455 			BCM_CONTROL(unit)->unit,
  23456 			entry,
  23457 			data,
  23458 			mask);
  23459 }
  23460 
  23461 int
  23462 bcm_loop_field_qualify_IpMulticastCompatible(
  23463 	int	unit,
  23464 	bcm_field_entry_t	entry,
  23465 	uint32	data,
  23466 	uint32	mask)
  23467 {
  23468 	return bcm_field_qualify_IpMulticastCompatible(
  23469 			BCM_CONTROL(unit)->unit,
  23470 			entry,
  23471 			data,
  23472 			mask);
  23473 }
  23474 
  23475 int
  23476 bcm_loop_field_qualify_IpMulticastCompatible_get(
  23477 	int	unit,
  23478 	bcm_field_entry_t	entry,
  23479 	uint32 *	data,
  23480 	uint32 *	mask)
  23481 {
  23482 	return bcm_field_qualify_IpMulticastCompatible_get(
  23483 			BCM_CONTROL(unit)->unit,
  23484 			entry,
  23485 			data,
  23486 			mask);
  23487 }
  23488 
  23489 int
  23490 bcm_loop_field_qualify_IpProtocol(
  23491 	int	unit,
  23492 	bcm_field_entry_t	entry,
  23493 	uint8	data,
  23494 	uint8	mask)
  23495 {
  23496 	return bcm_field_qualify_IpProtocol(
  23497 			BCM_CONTROL(unit)->unit,
  23498 			entry,
  23499 			data,
  23500 			mask);
  23501 }
  23502 
  23503 int
  23504 bcm_loop_field_qualify_IpProtocolClass(
  23505 	int	unit,
  23506 	bcm_field_entry_t	entry,
  23507 	bcm_class_t	data,
  23508 	bcm_class_t	mask)
  23509 {
  23510 	return bcm_field_qualify_IpProtocolClass(
  23511 			BCM_CONTROL(unit)->unit,
  23512 			entry,
  23513 			data,
  23514 			mask);
  23515 }
  23516 
  23517 int
  23518 bcm_loop_field_qualify_IpProtocolClass_get(
  23519 	int	unit,
  23520 	bcm_field_entry_t	entry,
  23521 	bcm_class_t *	data,
  23522 	bcm_class_t *	mask)
  23523 {
  23524 	return bcm_field_qualify_IpProtocolClass_get(
  23525 			BCM_CONTROL(unit)->unit,
  23526 			entry,
  23527 			data,
  23528 			mask);
  23529 }
  23530 
  23531 int
  23532 bcm_loop_field_qualify_IpProtocolCommon(
  23533 	int	unit,
  23534 	bcm_field_entry_t	entry,
  23535 	bcm_field_IpProtocolCommon_t	protocol)
  23536 {
  23537 	return bcm_field_qualify_IpProtocolCommon(
  23538 			BCM_CONTROL(unit)->unit,
  23539 			entry,
  23540 			protocol);
  23541 }
  23542 
  23543 int
  23544 bcm_loop_field_qualify_IpProtocolCommon_get(
  23545 	int	unit,
  23546 	bcm_field_entry_t	entry,
  23547 	bcm_field_IpProtocolCommon_t *	protocol)
  23548 {
  23549 	return bcm_field_qualify_IpProtocolCommon_get(
  23550 			BCM_CONTROL(unit)->unit,
  23551 			entry,
  23552 			protocol);
  23553 }
  23554 
  23555 int
  23556 bcm_loop_field_qualify_IpProtocol_get(
  23557 	int	unit,
  23558 	bcm_field_entry_t	entry,
  23559 	uint8 *	data,
  23560 	uint8 *	mask)
  23561 {
  23562 	return bcm_field_qualify_IpProtocol_get(
  23563 			BCM_CONTROL(unit)->unit,
  23564 			entry,
  23565 			data,
  23566 			mask);
  23567 }
  23568 
  23569 int
  23570 bcm_loop_field_qualify_IpTtlZeroPkt(
  23571 	int	unit,
  23572 	bcm_field_entry_t	entry,
  23573 	uint8	data,
  23574 	uint8	mask)
  23575 {
  23576 	return bcm_field_qualify_IpTtlZeroPkt(
  23577 			BCM_CONTROL(unit)->unit,
  23578 			entry,
  23579 			data,
  23580 			mask);
  23581 }
  23582 
  23583 int
  23584 bcm_loop_field_qualify_IpTtlZeroPkt_get(
  23585 	int	unit,
  23586 	bcm_field_entry_t	entry,
  23587 	uint8 *	data,
  23588 	uint8 *	mask)
  23589 {
  23590 	return bcm_field_qualify_IpTtlZeroPkt_get(
  23591 			BCM_CONTROL(unit)->unit,
  23592 			entry,
  23593 			data,
  23594 			mask);
  23595 }
  23596 
  23597 int
  23598 bcm_loop_field_qualify_IpTunnelHit(
  23599 	int	unit,
  23600 	bcm_field_entry_t	entry,
  23601 	uint8	data,
  23602 	uint8	mask)
  23603 {
  23604 	return bcm_field_qualify_IpTunnelHit(
  23605 			BCM_CONTROL(unit)->unit,
  23606 			entry,
  23607 			data,
  23608 			mask);
  23609 }
  23610 
  23611 int
  23612 bcm_loop_field_qualify_IpTunnelHit_get(
  23613 	int	unit,
  23614 	bcm_field_entry_t	entry,
  23615 	uint8 *	data,
  23616 	uint8 *	mask)
  23617 {
  23618 	return bcm_field_qualify_IpTunnelHit_get(
  23619 			BCM_CONTROL(unit)->unit,
  23620 			entry,
  23621 			data,
  23622 			mask);
  23623 }
  23624 
  23625 int
  23626 bcm_loop_field_qualify_IpTunnelTtl(
  23627 	int	unit,
  23628 	bcm_field_entry_t	entry,
  23629 	uint8	data,
  23630 	uint8	mask)
  23631 {
  23632 	return bcm_field_qualify_IpTunnelTtl(
  23633 			BCM_CONTROL(unit)->unit,
  23634 			entry,
  23635 			data,
  23636 			mask);
  23637 }
  23638 
  23639 int
  23640 bcm_loop_field_qualify_IpTunnelTtlClassZero(
  23641 	int	unit,
  23642 	bcm_field_entry_t	entry,
  23643 	bcm_class_t	data,
  23644 	bcm_class_t	mask)
  23645 {
  23646 	return bcm_field_qualify_IpTunnelTtlClassZero(
  23647 			BCM_CONTROL(unit)->unit,
  23648 			entry,
  23649 			data,
  23650 			mask);
  23651 }
  23652 
  23653 int
  23654 bcm_loop_field_qualify_IpTunnelTtlClassZero_get(
  23655 	int	unit,
  23656 	bcm_field_entry_t	entry,
  23657 	bcm_class_t *	data,
  23658 	bcm_class_t *	mask)
  23659 {
  23660 	return bcm_field_qualify_IpTunnelTtlClassZero_get(
  23661 			BCM_CONTROL(unit)->unit,
  23662 			entry,
  23663 			data,
  23664 			mask);
  23665 }
  23666 
  23667 int
  23668 bcm_loop_field_qualify_IpTunnelTtl_get(
  23669 	int	unit,
  23670 	bcm_field_entry_t	entry,
  23671 	uint8 *	data,
  23672 	uint8 *	mask)
  23673 {
  23674 	return bcm_field_qualify_IpTunnelTtl_get(
  23675 			BCM_CONTROL(unit)->unit,
  23676 			entry,
  23677 			data,
  23678 			mask);
  23679 }
  23680 
  23681 int
  23682 bcm_loop_field_qualify_IpTunnelValue(
  23683 	int	unit,
  23684 	bcm_field_entry_t	entry,
  23685 	uint64	data,
  23686 	uint64	mask)
  23687 {
  23688 	return bcm_field_qualify_IpTunnelValue(
  23689 			BCM_CONTROL(unit)->unit,
  23690 			entry,
  23691 			data,
  23692 			mask);
  23693 }
  23694 
  23695 int
  23696 bcm_loop_field_qualify_IpTunnelValue_get(
  23697 	int	unit,
  23698 	bcm_field_entry_t	entry,
  23699 	uint64 *	data,
  23700 	uint64 *	mask)
  23701 {
  23702 	return bcm_field_qualify_IpTunnelValue_get(
  23703 			BCM_CONTROL(unit)->unit,
  23704 			entry,
  23705 			data,
  23706 			mask);
  23707 }
  23708 
  23709 int
  23710 bcm_loop_field_qualify_IpType(
  23711 	int	unit,
  23712 	bcm_field_entry_t	entry,
  23713 	bcm_field_IpType_t	type)
  23714 {
  23715 	return bcm_field_qualify_IpType(
  23716 			BCM_CONTROL(unit)->unit,
  23717 			entry,
  23718 			type);
  23719 }
  23720 
  23721 int
  23722 bcm_loop_field_qualify_IpType_get(
  23723 	int	unit,
  23724 	bcm_field_entry_t	entry,
  23725 	bcm_field_IpType_t *	type)
  23726 {
  23727 	return bcm_field_qualify_IpType_get(
  23728 			BCM_CONTROL(unit)->unit,
  23729 			entry,
  23730 			type);
  23731 }
  23732 
  23733 int
  23734 bcm_loop_field_qualify_IpmcHit(
  23735 	int	unit,
  23736 	bcm_field_entry_t	entry,
  23737 	uint8	data,
  23738 	uint8	mask)
  23739 {
  23740 	return bcm_field_qualify_IpmcHit(
  23741 			BCM_CONTROL(unit)->unit,
  23742 			entry,
  23743 			data,
  23744 			mask);
  23745 }
  23746 
  23747 int
  23748 bcm_loop_field_qualify_IpmcHit_get(
  23749 	int	unit,
  23750 	bcm_field_entry_t	entry,
  23751 	uint8 *	data,
  23752 	uint8 *	mask)
  23753 {
  23754 	return bcm_field_qualify_IpmcHit_get(
  23755 			BCM_CONTROL(unit)->unit,
  23756 			entry,
  23757 			data,
  23758 			mask);
  23759 }
  23760 
  23761 int
  23762 bcm_loop_field_qualify_IpmcStarGroupHit(
  23763 	int	unit,
  23764 	bcm_field_entry_t	entry,
  23765 	uint8	data,
  23766 	uint8	mask)
  23767 {
  23768 	return bcm_field_qualify_IpmcStarGroupHit(
  23769 			BCM_CONTROL(unit)->unit,
  23770 			entry,
  23771 			data,
  23772 			mask);
  23773 }
  23774 
  23775 int
  23776 bcm_loop_field_qualify_IpmcStarGroupHit_get(
  23777 	int	unit,
  23778 	bcm_field_entry_t	entry,
  23779 	uint8 *	data,
  23780 	uint8 *	mask)
  23781 {
  23782 	return bcm_field_qualify_IpmcStarGroupHit_get(
  23783 			BCM_CONTROL(unit)->unit,
  23784 			entry,
  23785 			data,
  23786 			mask);
  23787 }
  23788 
  23789 int
  23790 bcm_loop_field_qualify_IpmcStarGroupValue(
  23791 	int	unit,
  23792 	bcm_field_entry_t	entry,
  23793 	uint64	data,
  23794 	uint64	mask)
  23795 {
  23796 	return bcm_field_qualify_IpmcStarGroupValue(
  23797 			BCM_CONTROL(unit)->unit,
  23798 			entry,
  23799 			data,
  23800 			mask);
  23801 }
  23802 
  23803 int
  23804 bcm_loop_field_qualify_IpmcStarGroupValue_get(
  23805 	int	unit,
  23806 	bcm_field_entry_t	entry,
  23807 	uint64 *	data,
  23808 	uint64 *	mask)
  23809 {
  23810 	return bcm_field_qualify_IpmcStarGroupValue_get(
  23811 			BCM_CONTROL(unit)->unit,
  23812 			entry,
  23813 			data,
  23814 			mask);
  23815 }
  23816 
  23817 int
  23818 bcm_loop_field_qualify_IpmcV4Pkt(
  23819 	int	unit,
  23820 	bcm_field_entry_t	entry,
  23821 	uint8	data,
  23822 	uint8	mask)
  23823 {
  23824 	return bcm_field_qualify_IpmcV4Pkt(
  23825 			BCM_CONTROL(unit)->unit,
  23826 			entry,
  23827 			data,
  23828 			mask);
  23829 }
  23830 
  23831 int
  23832 bcm_loop_field_qualify_IpmcV4Pkt_get(
  23833 	int	unit,
  23834 	bcm_field_entry_t	entry,
  23835 	uint8 *	data,
  23836 	uint8 *	mask)
  23837 {
  23838 	return bcm_field_qualify_IpmcV4Pkt_get(
  23839 			BCM_CONTROL(unit)->unit,
  23840 			entry,
  23841 			data,
  23842 			mask);
  23843 }
  23844 
  23845 int
  23846 bcm_loop_field_qualify_IpmcV6Pkt(
  23847 	int	unit,
  23848 	bcm_field_entry_t	entry,
  23849 	uint8	data,
  23850 	uint8	mask)
  23851 {
  23852 	return bcm_field_qualify_IpmcV6Pkt(
  23853 			BCM_CONTROL(unit)->unit,
  23854 			entry,
  23855 			data,
  23856 			mask);
  23857 }
  23858 
  23859 int
  23860 bcm_loop_field_qualify_IpmcV6Pkt_get(
  23861 	int	unit,
  23862 	bcm_field_entry_t	entry,
  23863 	uint8 *	data,
  23864 	uint8 *	mask)
  23865 {
  23866 	return bcm_field_qualify_IpmcV6Pkt_get(
  23867 			BCM_CONTROL(unit)->unit,
  23868 			entry,
  23869 			data,
  23870 			mask);
  23871 }
  23872 
  23873 int
  23874 bcm_loop_field_qualify_IpmcValue(
  23875 	int	unit,
  23876 	bcm_field_entry_t	entry,
  23877 	uint64	data,
  23878 	uint64	mask)
  23879 {
  23880 	return bcm_field_qualify_IpmcValue(
  23881 			BCM_CONTROL(unit)->unit,
  23882 			entry,
  23883 			data,
  23884 			mask);
  23885 }
  23886 
  23887 int
  23888 bcm_loop_field_qualify_IpmcValue_get(
  23889 	int	unit,
  23890 	bcm_field_entry_t	entry,
  23891 	uint64 *	data,
  23892 	uint64 *	mask)
  23893 {
  23894 	return bcm_field_qualify_IpmcValue_get(
  23895 			BCM_CONTROL(unit)->unit,
  23896 			entry,
  23897 			data,
  23898 			mask);
  23899 }
  23900 
  23901 int
  23902 bcm_loop_field_qualify_Ipv4OptionHdrType(
  23903 	int	unit,
  23904 	bcm_field_entry_t	entry,
  23905 	bcm_field_ip_option_hdr_type_t	type)
  23906 {
  23907 	return bcm_field_qualify_Ipv4OptionHdrType(
  23908 			BCM_CONTROL(unit)->unit,
  23909 			entry,
  23910 			type);
  23911 }
  23912 
  23913 int
  23914 bcm_loop_field_qualify_Ipv4OptionHdrType_get(
  23915 	int	unit,
  23916 	bcm_field_entry_t	entry,
  23917 	bcm_field_ip_option_hdr_type_t *	type)
  23918 {
  23919 	return bcm_field_qualify_Ipv4OptionHdrType_get(
  23920 			BCM_CONTROL(unit)->unit,
  23921 			entry,
  23922 			type);
  23923 }
  23924 
  23925 int
  23926 bcm_loop_field_qualify_Ipv6ExtensionHdrType(
  23927 	int	unit,
  23928 	bcm_field_entry_t	entry,
  23929 	bcm_field_ip_option_hdr_type_t	type)
  23930 {
  23931 	return bcm_field_qualify_Ipv6ExtensionHdrType(
  23932 			BCM_CONTROL(unit)->unit,
  23933 			entry,
  23934 			type);
  23935 }
  23936 
  23937 int
  23938 bcm_loop_field_qualify_Ipv6ExtensionHdrType_get(
  23939 	int	unit,
  23940 	bcm_field_entry_t	entry,
  23941 	bcm_field_ip_option_hdr_type_t *	type)
  23942 {
  23943 	return bcm_field_qualify_Ipv6ExtensionHdrType_get(
  23944 			BCM_CONTROL(unit)->unit,
  23945 			entry,
  23946 			type);
  23947 }
  23948 
  23949 int
  23950 bcm_loop_field_qualify_IsEqualValue(
  23951 	int	unit,
  23952 	bcm_field_entry_t	entry,
  23953 	uint8	data,
  23954 	uint8	mask)
  23955 {
  23956 	return bcm_field_qualify_IsEqualValue(
  23957 			BCM_CONTROL(unit)->unit,
  23958 			entry,
  23959 			data,
  23960 			mask);
  23961 }
  23962 
  23963 int
  23964 bcm_loop_field_qualify_IsEqualValue_get(
  23965 	int	unit,
  23966 	bcm_field_entry_t	entry,
  23967 	uint8 *	data,
  23968 	uint8 *	mask)
  23969 {
  23970 	return bcm_field_qualify_IsEqualValue_get(
  23971 			BCM_CONTROL(unit)->unit,
  23972 			entry,
  23973 			data,
  23974 			mask);
  23975 }
  23976 
  23977 int
  23978 bcm_loop_field_qualify_KeyGenVar(
  23979 	int	unit,
  23980 	bcm_field_entry_t	entry,
  23981 	uint32	data,
  23982 	uint32	mask)
  23983 {
  23984 	return bcm_field_qualify_KeyGenVar(
  23985 			BCM_CONTROL(unit)->unit,
  23986 			entry,
  23987 			data,
  23988 			mask);
  23989 }
  23990 
  23991 int
  23992 bcm_loop_field_qualify_L2CacheHit(
  23993 	int	unit,
  23994 	bcm_field_entry_t	entry,
  23995 	uint8	data,
  23996 	uint8	mask)
  23997 {
  23998 	return bcm_field_qualify_L2CacheHit(
  23999 			BCM_CONTROL(unit)->unit,
  24000 			entry,
  24001 			data,
  24002 			mask);
  24003 }
  24004 
  24005 int
  24006 bcm_loop_field_qualify_L2CacheHit_get(
  24007 	int	unit,
  24008 	bcm_field_entry_t	entry,
  24009 	uint8 *	data,
  24010 	uint8 *	mask)
  24011 {
  24012 	return bcm_field_qualify_L2CacheHit_get(
  24013 			BCM_CONTROL(unit)->unit,
  24014 			entry,
  24015 			data,
  24016 			mask);
  24017 }
  24018 
  24019 int
  24020 bcm_loop_field_qualify_L2DestHit(
  24021 	int	unit,
  24022 	bcm_field_entry_t	entry,
  24023 	uint8	data,
  24024 	uint8	mask)
  24025 {
  24026 	return bcm_field_qualify_L2DestHit(
  24027 			BCM_CONTROL(unit)->unit,
  24028 			entry,
  24029 			data,
  24030 			mask);
  24031 }
  24032 
  24033 int
  24034 bcm_loop_field_qualify_L2DestHit_get(
  24035 	int	unit,
  24036 	bcm_field_entry_t	entry,
  24037 	uint8 *	data,
  24038 	uint8 *	mask)
  24039 {
  24040 	return bcm_field_qualify_L2DestHit_get(
  24041 			BCM_CONTROL(unit)->unit,
  24042 			entry,
  24043 			data,
  24044 			mask);
  24045 }
  24046 
  24047 int
  24048 bcm_loop_field_qualify_L2DestSRNodeType(
  24049 	int	unit,
  24050 	bcm_field_entry_t	entry,
  24051 	bcm_field_sr_node_type_t	type)
  24052 {
  24053 	return bcm_field_qualify_L2DestSRNodeType(
  24054 			BCM_CONTROL(unit)->unit,
  24055 			entry,
  24056 			type);
  24057 }
  24058 
  24059 int
  24060 bcm_loop_field_qualify_L2DestSRNodeType_get(
  24061 	int	unit,
  24062 	bcm_field_entry_t	entry,
  24063 	bcm_field_sr_node_type_t *	type)
  24064 {
  24065 	return bcm_field_qualify_L2DestSRNodeType_get(
  24066 			BCM_CONTROL(unit)->unit,
  24067 			entry,
  24068 			type);
  24069 }
  24070 
  24071 int
  24072 bcm_loop_field_qualify_L2DestValue(
  24073 	int	unit,
  24074 	bcm_field_entry_t	entry,
  24075 	uint64	data,
  24076 	uint64	mask)
  24077 {
  24078 	return bcm_field_qualify_L2DestValue(
  24079 			BCM_CONTROL(unit)->unit,
  24080 			entry,
  24081 			data,
  24082 			mask);
  24083 }
  24084 
  24085 int
  24086 bcm_loop_field_qualify_L2DestValue_get(
  24087 	int	unit,
  24088 	bcm_field_entry_t	entry,
  24089 	uint64 *	data,
  24090 	uint64 *	mask)
  24091 {
  24092 	return bcm_field_qualify_L2DestValue_get(
  24093 			BCM_CONTROL(unit)->unit,
  24094 			entry,
  24095 			data,
  24096 			mask);
  24097 }
  24098 
  24099 int
  24100 bcm_loop_field_qualify_L2DstMulticastHit(
  24101 	int	unit,
  24102 	bcm_field_entry_t	entry,
  24103 	uint8	data,
  24104 	uint8	mask)
  24105 {
  24106 	return bcm_field_qualify_L2DstMulticastHit(
  24107 			BCM_CONTROL(unit)->unit,
  24108 			entry,
  24109 			data,
  24110 			mask);
  24111 }
  24112 
  24113 int
  24114 bcm_loop_field_qualify_L2DstMulticastHit_get(
  24115 	int	unit,
  24116 	bcm_field_entry_t	entry,
  24117 	uint8 *	data,
  24118 	uint8 *	mask)
  24119 {
  24120 	return bcm_field_qualify_L2DstMulticastHit_get(
  24121 			BCM_CONTROL(unit)->unit,
  24122 			entry,
  24123 			data,
  24124 			mask);
  24125 }
  24126 
  24127 int
  24128 bcm_loop_field_qualify_L2Format(
  24129 	int	unit,
  24130 	bcm_field_entry_t	entry,
  24131 	bcm_field_L2Format_t	type)
  24132 {
  24133 	return bcm_field_qualify_L2Format(
  24134 			BCM_CONTROL(unit)->unit,
  24135 			entry,
  24136 			type);
  24137 }
  24138 
  24139 int
  24140 bcm_loop_field_qualify_L2Format_get(
  24141 	int	unit,
  24142 	bcm_field_entry_t	entry,
  24143 	bcm_field_L2Format_t *	type)
  24144 {
  24145 	return bcm_field_qualify_L2Format_get(
  24146 			BCM_CONTROL(unit)->unit,
  24147 			entry,
  24148 			type);
  24149 }
  24150 
  24151 int
  24152 bcm_loop_field_qualify_L2GreFlowId(
  24153 	int	unit,
  24154 	bcm_field_entry_t	entry,
  24155 	uint8	data,
  24156 	uint8	mask)
  24157 {
  24158 	return bcm_field_qualify_L2GreFlowId(
  24159 			BCM_CONTROL(unit)->unit,
  24160 			entry,
  24161 			data,
  24162 			mask);
  24163 }
  24164 
  24165 int
  24166 bcm_loop_field_qualify_L2GreFlowId_get(
  24167 	int	unit,
  24168 	bcm_field_entry_t	entry,
  24169 	uint8 *	data,
  24170 	uint8 *	mask)
  24171 {
  24172 	return bcm_field_qualify_L2GreFlowId_get(
  24173 			BCM_CONTROL(unit)->unit,
  24174 			entry,
  24175 			data,
  24176 			mask);
  24177 }
  24178 
  24179 int
  24180 bcm_loop_field_qualify_L2GreProtocolType(
  24181 	int	unit,
  24182 	bcm_field_entry_t	entry,
  24183 	uint16	data,
  24184 	uint16	mask)
  24185 {
  24186 	return bcm_field_qualify_L2GreProtocolType(
  24187 			BCM_CONTROL(unit)->unit,
  24188 			entry,
  24189 			data,
  24190 			mask);
  24191 }
  24192 
  24193 int
  24194 bcm_loop_field_qualify_L2GreProtocolType_get(
  24195 	int	unit,
  24196 	bcm_field_entry_t	entry,
  24197 	uint16 *	data,
  24198 	uint16 *	mask)
  24199 {
  24200 	return bcm_field_qualify_L2GreProtocolType_get(
  24201 			BCM_CONTROL(unit)->unit,
  24202 			entry,
  24203 			data,
  24204 			mask);
  24205 }
  24206 
  24207 int
  24208 bcm_loop_field_qualify_L2GreSrcIpHit(
  24209 	int	unit,
  24210 	bcm_field_entry_t	entry,
  24211 	uint8	data,
  24212 	uint8	mask)
  24213 {
  24214 	return bcm_field_qualify_L2GreSrcIpHit(
  24215 			BCM_CONTROL(unit)->unit,
  24216 			entry,
  24217 			data,
  24218 			mask);
  24219 }
  24220 
  24221 int
  24222 bcm_loop_field_qualify_L2GreSrcIpHit_get(
  24223 	int	unit,
  24224 	bcm_field_entry_t	entry,
  24225 	uint8 *	data,
  24226 	uint8 *	mask)
  24227 {
  24228 	return bcm_field_qualify_L2GreSrcIpHit_get(
  24229 			BCM_CONTROL(unit)->unit,
  24230 			entry,
  24231 			data,
  24232 			mask);
  24233 }
  24234 
  24235 int
  24236 bcm_loop_field_qualify_L2GreVfiHit(
  24237 	int	unit,
  24238 	bcm_field_entry_t	entry,
  24239 	uint8	data,
  24240 	uint8	mask)
  24241 {
  24242 	return bcm_field_qualify_L2GreVfiHit(
  24243 			BCM_CONTROL(unit)->unit,
  24244 			entry,
  24245 			data,
  24246 			mask);
  24247 }
  24248 
  24249 int
  24250 bcm_loop_field_qualify_L2GreVfiHit_get(
  24251 	int	unit,
  24252 	bcm_field_entry_t	entry,
  24253 	uint8 *	data,
  24254 	uint8 *	mask)
  24255 {
  24256 	return bcm_field_qualify_L2GreVfiHit_get(
  24257 			BCM_CONTROL(unit)->unit,
  24258 			entry,
  24259 			data,
  24260 			mask);
  24261 }
  24262 
  24263 int
  24264 bcm_loop_field_qualify_L2GreVsid(
  24265 	int	unit,
  24266 	bcm_field_entry_t	entry,
  24267 	uint32	data,
  24268 	uint32	mask)
  24269 {
  24270 	return bcm_field_qualify_L2GreVsid(
  24271 			BCM_CONTROL(unit)->unit,
  24272 			entry,
  24273 			data,
  24274 			mask);
  24275 }
  24276 
  24277 int
  24278 bcm_loop_field_qualify_L2GreVsid_get(
  24279 	int	unit,
  24280 	bcm_field_entry_t	entry,
  24281 	uint32 *	data,
  24282 	uint32 *	mask)
  24283 {
  24284 	return bcm_field_qualify_L2GreVsid_get(
  24285 			BCM_CONTROL(unit)->unit,
  24286 			entry,
  24287 			data,
  24288 			mask);
  24289 }
  24290 
  24291 int
  24292 bcm_loop_field_qualify_L2Learn(
  24293 	int	unit,
  24294 	bcm_field_entry_t	entry,
  24295 	uint8	data,
  24296 	uint8	mask)
  24297 {
  24298 	return bcm_field_qualify_L2Learn(
  24299 			BCM_CONTROL(unit)->unit,
  24300 			entry,
  24301 			data,
  24302 			mask);
  24303 }
  24304 
  24305 int
  24306 bcm_loop_field_qualify_L2Learn_get(
  24307 	int	unit,
  24308 	bcm_field_entry_t	entry,
  24309 	uint8 *	data,
  24310 	uint8 *	mask)
  24311 {
  24312 	return bcm_field_qualify_L2Learn_get(
  24313 			BCM_CONTROL(unit)->unit,
  24314 			entry,
  24315 			data,
  24316 			mask);
  24317 }
  24318 
  24319 int
  24320 bcm_loop_field_qualify_L2PayLoad(
  24321 	int	unit,
  24322 	bcm_field_entry_t	entry,
  24323 	uint32	length,
  24324 	const uint8 *	data,
  24325 	const uint8 *	mask)
  24326 {
  24327 	return bcm_field_qualify_L2PayLoad(
  24328 			BCM_CONTROL(unit)->unit,
  24329 			entry,
  24330 			length,
  24331 			data,
  24332 			mask);
  24333 }
  24334 
  24335 int
  24336 bcm_loop_field_qualify_L2PayLoad_get(
  24337 	int	unit,
  24338 	bcm_field_entry_t	entry,
  24339 	uint32	length,
  24340 	uint8 *	data,
  24341 	uint8 *	mask)
  24342 {
  24343 	return bcm_field_qualify_L2PayLoad_get(
  24344 			BCM_CONTROL(unit)->unit,
  24345 			entry,
  24346 			length,
  24347 			data,
  24348 			mask);
  24349 }
  24350 
  24351 int
  24352 bcm_loop_field_qualify_L2PayloadFirstEightBytes(
  24353 	int	unit,
  24354 	bcm_field_entry_t	entry,
  24355 	uint32	data1,
  24356 	uint32	data2,
  24357 	uint32	mask1,
  24358 	uint32	mask2)
  24359 {
  24360 	return bcm_field_qualify_L2PayloadFirstEightBytes(
  24361 			BCM_CONTROL(unit)->unit,
  24362 			entry,
  24363 			data1,
  24364 			data2,
  24365 			mask1,
  24366 			mask2);
  24367 }
  24368 
  24369 int
  24370 bcm_loop_field_qualify_L2PayloadFirstEightBytes_get(
  24371 	int	unit,
  24372 	bcm_field_entry_t	entry,
  24373 	uint32 *	data1,
  24374 	uint32 *	data2,
  24375 	uint32 *	mask1,
  24376 	uint32 *	mask2)
  24377 {
  24378 	return bcm_field_qualify_L2PayloadFirstEightBytes_get(
  24379 			BCM_CONTROL(unit)->unit,
  24380 			entry,
  24381 			data1,
  24382 			data2,
  24383 			mask1,
  24384 			mask2);
  24385 }
  24386 
  24387 int
  24388 bcm_loop_field_qualify_L2PktType(
  24389 	int	unit,
  24390 	bcm_field_entry_t	entry,
  24391 	bcm_field_l2_pkt_type_t	type)
  24392 {
  24393 	return bcm_field_qualify_L2PktType(
  24394 			BCM_CONTROL(unit)->unit,
  24395 			entry,
  24396 			type);
  24397 }
  24398 
  24399 int
  24400 bcm_loop_field_qualify_L2PktType_get(
  24401 	int	unit,
  24402 	bcm_field_entry_t	entry,
  24403 	bcm_field_l2_pkt_type_t *	type)
  24404 {
  24405 	return bcm_field_qualify_L2PktType_get(
  24406 			BCM_CONTROL(unit)->unit,
  24407 			entry,
  24408 			type);
  24409 }
  24410 
  24411 int
  24412 bcm_loop_field_qualify_L2SrcHit(
  24413 	int	unit,
  24414 	bcm_field_entry_t	entry,
  24415 	uint8	data,
  24416 	uint8	mask)
  24417 {
  24418 	return bcm_field_qualify_L2SrcHit(
  24419 			BCM_CONTROL(unit)->unit,
  24420 			entry,
  24421 			data,
  24422 			mask);
  24423 }
  24424 
  24425 int
  24426 bcm_loop_field_qualify_L2SrcHit_get(
  24427 	int	unit,
  24428 	bcm_field_entry_t	entry,
  24429 	uint8 *	data,
  24430 	uint8 *	mask)
  24431 {
  24432 	return bcm_field_qualify_L2SrcHit_get(
  24433 			BCM_CONTROL(unit)->unit,
  24434 			entry,
  24435 			data,
  24436 			mask);
  24437 }
  24438 
  24439 int
  24440 bcm_loop_field_qualify_L2SrcMulticastHit(
  24441 	int	unit,
  24442 	bcm_field_entry_t	entry,
  24443 	uint8	data,
  24444 	uint8	mask)
  24445 {
  24446 	return bcm_field_qualify_L2SrcMulticastHit(
  24447 			BCM_CONTROL(unit)->unit,
  24448 			entry,
  24449 			data,
  24450 			mask);
  24451 }
  24452 
  24453 int
  24454 bcm_loop_field_qualify_L2SrcMulticastHit_get(
  24455 	int	unit,
  24456 	bcm_field_entry_t	entry,
  24457 	uint8 *	data,
  24458 	uint8 *	mask)
  24459 {
  24460 	return bcm_field_qualify_L2SrcMulticastHit_get(
  24461 			BCM_CONTROL(unit)->unit,
  24462 			entry,
  24463 			data,
  24464 			mask);
  24465 }
  24466 
  24467 int
  24468 bcm_loop_field_qualify_L2SrcStatic(
  24469 	int	unit,
  24470 	bcm_field_entry_t	entry,
  24471 	uint8	data,
  24472 	uint8	mask)
  24473 {
  24474 	return bcm_field_qualify_L2SrcStatic(
  24475 			BCM_CONTROL(unit)->unit,
  24476 			entry,
  24477 			data,
  24478 			mask);
  24479 }
  24480 
  24481 int
  24482 bcm_loop_field_qualify_L2SrcStatic_get(
  24483 	int	unit,
  24484 	bcm_field_entry_t	entry,
  24485 	uint8 *	data,
  24486 	uint8 *	mask)
  24487 {
  24488 	return bcm_field_qualify_L2SrcStatic_get(
  24489 			BCM_CONTROL(unit)->unit,
  24490 			entry,
  24491 			data,
  24492 			mask);
  24493 }
  24494 
  24495 int
  24496 bcm_loop_field_qualify_L2SrcValue(
  24497 	int	unit,
  24498 	bcm_field_entry_t	entry,
  24499 	uint64	data,
  24500 	uint64	mask)
  24501 {
  24502 	return bcm_field_qualify_L2SrcValue(
  24503 			BCM_CONTROL(unit)->unit,
  24504 			entry,
  24505 			data,
  24506 			mask);
  24507 }
  24508 
  24509 int
  24510 bcm_loop_field_qualify_L2SrcValue_get(
  24511 	int	unit,
  24512 	bcm_field_entry_t	entry,
  24513 	uint64 *	data,
  24514 	uint64 *	mask)
  24515 {
  24516 	return bcm_field_qualify_L2SrcValue_get(
  24517 			BCM_CONTROL(unit)->unit,
  24518 			entry,
  24519 			data,
  24520 			mask);
  24521 }
  24522 
  24523 int
  24524 bcm_loop_field_qualify_L2StationMove(
  24525 	int	unit,
  24526 	bcm_field_entry_t	entry,
  24527 	uint8	data,
  24528 	uint8	mask)
  24529 {
  24530 	return bcm_field_qualify_L2StationMove(
  24531 			BCM_CONTROL(unit)->unit,
  24532 			entry,
  24533 			data,
  24534 			mask);
  24535 }
  24536 
  24537 int
  24538 bcm_loop_field_qualify_L2StationMove_get(
  24539 	int	unit,
  24540 	bcm_field_entry_t	entry,
  24541 	uint8 *	data,
  24542 	uint8 *	mask)
  24543 {
  24544 	return bcm_field_qualify_L2StationMove_get(
  24545 			BCM_CONTROL(unit)->unit,
  24546 			entry,
  24547 			data,
  24548 			mask);
  24549 }
  24550 
  24551 int
  24552 bcm_loop_field_qualify_L3DestHostHit(
  24553 	int	unit,
  24554 	bcm_field_entry_t	entry,
  24555 	uint8	data,
  24556 	uint8	mask)
  24557 {
  24558 	return bcm_field_qualify_L3DestHostHit(
  24559 			BCM_CONTROL(unit)->unit,
  24560 			entry,
  24561 			data,
  24562 			mask);
  24563 }
  24564 
  24565 int
  24566 bcm_loop_field_qualify_L3DestHostHit_get(
  24567 	int	unit,
  24568 	bcm_field_entry_t	entry,
  24569 	uint8 *	data,
  24570 	uint8 *	mask)
  24571 {
  24572 	return bcm_field_qualify_L3DestHostHit_get(
  24573 			BCM_CONTROL(unit)->unit,
  24574 			entry,
  24575 			data,
  24576 			mask);
  24577 }
  24578 
  24579 int
  24580 bcm_loop_field_qualify_L3DestRouteHit(
  24581 	int	unit,
  24582 	bcm_field_entry_t	entry,
  24583 	uint8	data,
  24584 	uint8	mask)
  24585 {
  24586 	return bcm_field_qualify_L3DestRouteHit(
  24587 			BCM_CONTROL(unit)->unit,
  24588 			entry,
  24589 			data,
  24590 			mask);
  24591 }
  24592 
  24593 int
  24594 bcm_loop_field_qualify_L3DestRouteHit_get(
  24595 	int	unit,
  24596 	bcm_field_entry_t	entry,
  24597 	uint8 *	data,
  24598 	uint8 *	mask)
  24599 {
  24600 	return bcm_field_qualify_L3DestRouteHit_get(
  24601 			BCM_CONTROL(unit)->unit,
  24602 			entry,
  24603 			data,
  24604 			mask);
  24605 }
  24606 
  24607 int
  24608 bcm_loop_field_qualify_L3DestRouteValue(
  24609 	int	unit,
  24610 	bcm_field_entry_t	entry,
  24611 	uint64	data,
  24612 	uint64	mask)
  24613 {
  24614 	return bcm_field_qualify_L3DestRouteValue(
  24615 			BCM_CONTROL(unit)->unit,
  24616 			entry,
  24617 			data,
  24618 			mask);
  24619 }
  24620 
  24621 int
  24622 bcm_loop_field_qualify_L3DestRouteValue_get(
  24623 	int	unit,
  24624 	bcm_field_entry_t	entry,
  24625 	uint64 *	data,
  24626 	uint64 *	mask)
  24627 {
  24628 	return bcm_field_qualify_L3DestRouteValue_get(
  24629 			BCM_CONTROL(unit)->unit,
  24630 			entry,
  24631 			data,
  24632 			mask);
  24633 }
  24634 
  24635 int
  24636 bcm_loop_field_qualify_L3Ingress(
  24637 	int	unit,
  24638 	bcm_field_entry_t	entry,
  24639 	uint32	intf_id,
  24640 	uint32	mask)
  24641 {
  24642 	return bcm_field_qualify_L3Ingress(
  24643 			BCM_CONTROL(unit)->unit,
  24644 			entry,
  24645 			intf_id,
  24646 			mask);
  24647 }
  24648 
  24649 int
  24650 bcm_loop_field_qualify_L3Ingress_get(
  24651 	int	unit,
  24652 	bcm_field_entry_t	entry,
  24653 	uint32 *	data,
  24654 	uint32 *	mask)
  24655 {
  24656 	return bcm_field_qualify_L3Ingress_get(
  24657 			BCM_CONTROL(unit)->unit,
  24658 			entry,
  24659 			data,
  24660 			mask);
  24661 }
  24662 
  24663 int
  24664 bcm_loop_field_qualify_L3Routable(
  24665 	int	unit,
  24666 	bcm_field_entry_t	entry,
  24667 	uint8	data,
  24668 	uint8	mask)
  24669 {
  24670 	return bcm_field_qualify_L3Routable(
  24671 			BCM_CONTROL(unit)->unit,
  24672 			entry,
  24673 			data,
  24674 			mask);
  24675 }
  24676 
  24677 int
  24678 bcm_loop_field_qualify_L3Routable_get(
  24679 	int	unit,
  24680 	bcm_field_entry_t	entry,
  24681 	uint8 *	data,
  24682 	uint8 *	mask)
  24683 {
  24684 	return bcm_field_qualify_L3Routable_get(
  24685 			BCM_CONTROL(unit)->unit,
  24686 			entry,
  24687 			data,
  24688 			mask);
  24689 }
  24690 
  24691 int
  24692 bcm_loop_field_qualify_L3SrcBind(
  24693 	int	unit,
  24694 	bcm_field_entry_t	entry,
  24695 	uint8	data,
  24696 	uint8	mask)
  24697 {
  24698 	return bcm_field_qualify_L3SrcBind(
  24699 			BCM_CONTROL(unit)->unit,
  24700 			entry,
  24701 			data,
  24702 			mask);
  24703 }
  24704 
  24705 int
  24706 bcm_loop_field_qualify_L3SrcBind_get(
  24707 	int	unit,
  24708 	bcm_field_entry_t	entry,
  24709 	uint8 *	data,
  24710 	uint8 *	mask)
  24711 {
  24712 	return bcm_field_qualify_L3SrcBind_get(
  24713 			BCM_CONTROL(unit)->unit,
  24714 			entry,
  24715 			data,
  24716 			mask);
  24717 }
  24718 
  24719 int
  24720 bcm_loop_field_qualify_L3SrcHostHit(
  24721 	int	unit,
  24722 	bcm_field_entry_t	entry,
  24723 	uint8	data,
  24724 	uint8	mask)
  24725 {
  24726 	return bcm_field_qualify_L3SrcHostHit(
  24727 			BCM_CONTROL(unit)->unit,
  24728 			entry,
  24729 			data,
  24730 			mask);
  24731 }
  24732 
  24733 int
  24734 bcm_loop_field_qualify_L3SrcHostHit_get(
  24735 	int	unit,
  24736 	bcm_field_entry_t	entry,
  24737 	uint8 *	data,
  24738 	uint8 *	mask)
  24739 {
  24740 	return bcm_field_qualify_L3SrcHostHit_get(
  24741 			BCM_CONTROL(unit)->unit,
  24742 			entry,
  24743 			data,
  24744 			mask);
  24745 }
  24746 
  24747 int
  24748 bcm_loop_field_qualify_L3SrcRouteHit(
  24749 	int	unit,
  24750 	bcm_field_entry_t	entry,
  24751 	uint8	data,
  24752 	uint8	mask)
  24753 {
  24754 	return bcm_field_qualify_L3SrcRouteHit(
  24755 			BCM_CONTROL(unit)->unit,
  24756 			entry,
  24757 			data,
  24758 			mask);
  24759 }
  24760 
  24761 int
  24762 bcm_loop_field_qualify_L3SrcRouteHit_get(
  24763 	int	unit,
  24764 	bcm_field_entry_t	entry,
  24765 	uint8 *	data,
  24766 	uint8 *	mask)
  24767 {
  24768 	return bcm_field_qualify_L3SrcRouteHit_get(
  24769 			BCM_CONTROL(unit)->unit,
  24770 			entry,
  24771 			data,
  24772 			mask);
  24773 }
  24774 
  24775 int
  24776 bcm_loop_field_qualify_L3SrcRouteValue(
  24777 	int	unit,
  24778 	bcm_field_entry_t	entry,
  24779 	uint64	data,
  24780 	uint64	mask)
  24781 {
  24782 	return bcm_field_qualify_L3SrcRouteValue(
  24783 			BCM_CONTROL(unit)->unit,
  24784 			entry,
  24785 			data,
  24786 			mask);
  24787 }
  24788 
  24789 int
  24790 bcm_loop_field_qualify_L3SrcRouteValue_get(
  24791 	int	unit,
  24792 	bcm_field_entry_t	entry,
  24793 	uint64 *	data,
  24794 	uint64 *	mask)
  24795 {
  24796 	return bcm_field_qualify_L3SrcRouteValue_get(
  24797 			BCM_CONTROL(unit)->unit,
  24798 			entry,
  24799 			data,
  24800 			mask);
  24801 }
  24802 
  24803 int
  24804 bcm_loop_field_qualify_L4DstPort(
  24805 	int	unit,
  24806 	bcm_field_entry_t	entry,
  24807 	bcm_l4_port_t	data,
  24808 	bcm_l4_port_t	mask)
  24809 {
  24810 	return bcm_field_qualify_L4DstPort(
  24811 			BCM_CONTROL(unit)->unit,
  24812 			entry,
  24813 			data,
  24814 			mask);
  24815 }
  24816 
  24817 int
  24818 bcm_loop_field_qualify_L4DstPortClass(
  24819 	int	unit,
  24820 	bcm_field_entry_t	entry,
  24821 	bcm_class_t	data,
  24822 	bcm_class_t	mask)
  24823 {
  24824 	return bcm_field_qualify_L4DstPortClass(
  24825 			BCM_CONTROL(unit)->unit,
  24826 			entry,
  24827 			data,
  24828 			mask);
  24829 }
  24830 
  24831 int
  24832 bcm_loop_field_qualify_L4DstPortClass_get(
  24833 	int	unit,
  24834 	bcm_field_entry_t	entry,
  24835 	bcm_class_t *	data,
  24836 	bcm_class_t *	mask)
  24837 {
  24838 	return bcm_field_qualify_L4DstPortClass_get(
  24839 			BCM_CONTROL(unit)->unit,
  24840 			entry,
  24841 			data,
  24842 			mask);
  24843 }
  24844 
  24845 int
  24846 bcm_loop_field_qualify_L4DstPort_get(
  24847 	int	unit,
  24848 	bcm_field_entry_t	entry,
  24849 	bcm_l4_port_t *	data,
  24850 	bcm_l4_port_t *	mask)
  24851 {
  24852 	return bcm_field_qualify_L4DstPort_get(
  24853 			BCM_CONTROL(unit)->unit,
  24854 			entry,
  24855 			data,
  24856 			mask);
  24857 }
  24858 
  24859 int
  24860 bcm_loop_field_qualify_L4PortRangeCheck(
  24861 	int	unit,
  24862 	bcm_field_entry_t	entry,
  24863 	bcm_field_range_t	range,
  24864 	int	invert)
  24865 {
  24866 	return bcm_field_qualify_L4PortRangeCheck(
  24867 			BCM_CONTROL(unit)->unit,
  24868 			entry,
  24869 			range,
  24870 			invert);
  24871 }
  24872 
  24873 int
  24874 bcm_loop_field_qualify_L4PortRangeCheck_get(
  24875 	int	unit,
  24876 	bcm_field_entry_t	entry,
  24877 	int	max_count,
  24878 	bcm_field_range_t *	range,
  24879 	int *	invert,
  24880 	int *	count)
  24881 {
  24882 	return bcm_field_qualify_L4PortRangeCheck_get(
  24883 			BCM_CONTROL(unit)->unit,
  24884 			entry,
  24885 			max_count,
  24886 			range,
  24887 			invert,
  24888 			count);
  24889 }
  24890 
  24891 int
  24892 bcm_loop_field_qualify_L4Ports(
  24893 	int	unit,
  24894 	bcm_field_entry_t	entry,
  24895 	uint8	data,
  24896 	uint8	mask)
  24897 {
  24898 	return bcm_field_qualify_L4Ports(
  24899 			BCM_CONTROL(unit)->unit,
  24900 			entry,
  24901 			data,
  24902 			mask);
  24903 }
  24904 
  24905 int
  24906 bcm_loop_field_qualify_L4Ports_get(
  24907 	int	unit,
  24908 	bcm_field_entry_t	entry,
  24909 	uint8 *	data,
  24910 	uint8 *	mask)
  24911 {
  24912 	return bcm_field_qualify_L4Ports_get(
  24913 			BCM_CONTROL(unit)->unit,
  24914 			entry,
  24915 			data,
  24916 			mask);
  24917 }
  24918 
  24919 int
  24920 bcm_loop_field_qualify_L4SrcPort(
  24921 	int	unit,
  24922 	bcm_field_entry_t	entry,
  24923 	bcm_l4_port_t	data,
  24924 	bcm_l4_port_t	mask)
  24925 {
  24926 	return bcm_field_qualify_L4SrcPort(
  24927 			BCM_CONTROL(unit)->unit,
  24928 			entry,
  24929 			data,
  24930 			mask);
  24931 }
  24932 
  24933 int
  24934 bcm_loop_field_qualify_L4SrcPortClass(
  24935 	int	unit,
  24936 	bcm_field_entry_t	entry,
  24937 	bcm_class_t	data,
  24938 	bcm_class_t	mask)
  24939 {
  24940 	return bcm_field_qualify_L4SrcPortClass(
  24941 			BCM_CONTROL(unit)->unit,
  24942 			entry,
  24943 			data,
  24944 			mask);
  24945 }
  24946 
  24947 int
  24948 bcm_loop_field_qualify_L4SrcPortClass_get(
  24949 	int	unit,
  24950 	bcm_field_entry_t	entry,
  24951 	bcm_class_t *	data,
  24952 	bcm_class_t *	mask)
  24953 {
  24954 	return bcm_field_qualify_L4SrcPortClass_get(
  24955 			BCM_CONTROL(unit)->unit,
  24956 			entry,
  24957 			data,
  24958 			mask);
  24959 }
  24960 
  24961 int
  24962 bcm_loop_field_qualify_L4SrcPort_get(
  24963 	int	unit,
  24964 	bcm_field_entry_t	entry,
  24965 	bcm_l4_port_t *	data,
  24966 	bcm_l4_port_t *	mask)
  24967 {
  24968 	return bcm_field_qualify_L4SrcPort_get(
  24969 			BCM_CONTROL(unit)->unit,
  24970 			entry,
  24971 			data,
  24972 			mask);
  24973 }
  24974 
  24975 int
  24976 bcm_loop_field_qualify_LearnExtension(
  24977 	int	unit,
  24978 	bcm_field_entry_t	entry,
  24979 	uint8	data)
  24980 {
  24981 	return bcm_field_qualify_LearnExtension(
  24982 			BCM_CONTROL(unit)->unit,
  24983 			entry,
  24984 			data);
  24985 }
  24986 
  24987 int
  24988 bcm_loop_field_qualify_LearnExtension_get(
  24989 	int	unit,
  24990 	bcm_field_entry_t	entry,
  24991 	uint8 *	data)
  24992 {
  24993 	return bcm_field_qualify_LearnExtension_get(
  24994 			BCM_CONTROL(unit)->unit,
  24995 			entry,
  24996 			data);
  24997 }
  24998 
  24999 int
  25000 bcm_loop_field_qualify_LearnInVPort(
  25001 	int	unit,
  25002 	bcm_field_entry_t	entry,
  25003 	uint32	data,
  25004 	uint32	mask)
  25005 {
  25006 	return bcm_field_qualify_LearnInVPort(
  25007 			BCM_CONTROL(unit)->unit,
  25008 			entry,
  25009 			data,
  25010 			mask);
  25011 }
  25012 
  25013 int
  25014 bcm_loop_field_qualify_LearnInVPort_get(
  25015 	int	unit,
  25016 	bcm_field_entry_t	entry,
  25017 	uint32 *	data,
  25018 	uint32 *	mask)
  25019 {
  25020 	return bcm_field_qualify_LearnInVPort_get(
  25021 			BCM_CONTROL(unit)->unit,
  25022 			entry,
  25023 			data,
  25024 			mask);
  25025 }
  25026 
  25027 int
  25028 bcm_loop_field_qualify_LearnSrcMac(
  25029 	int	unit,
  25030 	bcm_field_entry_t	entry,
  25031 	bcm_mac_t	data,
  25032 	bcm_mac_t	mask)
  25033 {
  25034 	return bcm_field_qualify_LearnSrcMac(
  25035 			BCM_CONTROL(unit)->unit,
  25036 			entry,
  25037 			data,
  25038 			mask);
  25039 }
  25040 
  25041 int
  25042 bcm_loop_field_qualify_LearnSrcMac_get(
  25043 	int	unit,
  25044 	bcm_field_entry_t	entry,
  25045 	bcm_mac_t *	data,
  25046 	bcm_mac_t *	mask)
  25047 {
  25048 	return bcm_field_qualify_LearnSrcMac_get(
  25049 			BCM_CONTROL(unit)->unit,
  25050 			entry,
  25051 			data,
  25052 			mask);
  25053 }
  25054 
  25055 int
  25056 bcm_loop_field_qualify_LearnSrcPort(
  25057 	int	unit,
  25058 	bcm_field_entry_t	entry,
  25059 	bcm_gport_t	data)
  25060 {
  25061 	return bcm_field_qualify_LearnSrcPort(
  25062 			BCM_CONTROL(unit)->unit,
  25063 			entry,
  25064 			data);
  25065 }
  25066 
  25067 int
  25068 bcm_loop_field_qualify_LearnSrcPort_get(
  25069 	int	unit,
  25070 	bcm_field_entry_t	entry,
  25071 	bcm_gport_t *	data)
  25072 {
  25073 	return bcm_field_qualify_LearnSrcPort_get(
  25074 			BCM_CONTROL(unit)->unit,
  25075 			entry,
  25076 			data);
  25077 }
  25078 
  25079 int
  25080 bcm_loop_field_qualify_LearnVlan(
  25081 	int	unit,
  25082 	bcm_field_entry_t	entry,
  25083 	bcm_vlan_t	data,
  25084 	bcm_vlan_t	mask)
  25085 {
  25086 	return bcm_field_qualify_LearnVlan(
  25087 			BCM_CONTROL(unit)->unit,
  25088 			entry,
  25089 			data,
  25090 			mask);
  25091 }
  25092 
  25093 int
  25094 bcm_loop_field_qualify_LearnVlan_get(
  25095 	int	unit,
  25096 	bcm_field_entry_t	entry,
  25097 	bcm_vlan_t *	data,
  25098 	bcm_vlan_t *	mask)
  25099 {
  25100 	return bcm_field_qualify_LearnVlan_get(
  25101 			BCM_CONTROL(unit)->unit,
  25102 			entry,
  25103 			data,
  25104 			mask);
  25105 }
  25106 
  25107 int
  25108 bcm_loop_field_qualify_Llc(
  25109 	int	unit,
  25110 	bcm_field_entry_t	entry,
  25111 	bcm_field_llc_header_t	data,
  25112 	bcm_field_llc_header_t	mask)
  25113 {
  25114 	return bcm_field_qualify_Llc(
  25115 			BCM_CONTROL(unit)->unit,
  25116 			entry,
  25117 			data,
  25118 			mask);
  25119 }
  25120 
  25121 int
  25122 bcm_loop_field_qualify_Llc_get(
  25123 	int	unit,
  25124 	bcm_field_entry_t	entry,
  25125 	bcm_field_llc_header_t *	data,
  25126 	bcm_field_llc_header_t *	mask)
  25127 {
  25128 	return bcm_field_qualify_Llc_get(
  25129 			BCM_CONTROL(unit)->unit,
  25130 			entry,
  25131 			data,
  25132 			mask);
  25133 }
  25134 
  25135 int
  25136 bcm_loop_field_qualify_LlidValue(
  25137 	int	unit,
  25138 	bcm_field_entry_t	entry,
  25139 	uint16	data,
  25140 	uint16	mask)
  25141 {
  25142 	return bcm_field_qualify_LlidValue(
  25143 			BCM_CONTROL(unit)->unit,
  25144 			entry,
  25145 			data,
  25146 			mask);
  25147 }
  25148 
  25149 int
  25150 bcm_loop_field_qualify_LlidValue_get(
  25151 	int	unit,
  25152 	bcm_field_entry_t	entry,
  25153 	uint16 *	data,
  25154 	uint16 *	mask)
  25155 {
  25156 	return bcm_field_qualify_LlidValue_get(
  25157 			BCM_CONTROL(unit)->unit,
  25158 			entry,
  25159 			data,
  25160 			mask);
  25161 }
  25162 
  25163 int
  25164 bcm_loop_field_qualify_LoopBackColor(
  25165 	int	unit,
  25166 	bcm_field_entry_t	entry,
  25167 	uint8	color)
  25168 {
  25169 	return bcm_field_qualify_LoopBackColor(
  25170 			BCM_CONTROL(unit)->unit,
  25171 			entry,
  25172 			color);
  25173 }
  25174 
  25175 int
  25176 bcm_loop_field_qualify_LoopBackColor_get(
  25177 	int	unit,
  25178 	bcm_field_entry_t	entry,
  25179 	uint8 *	color)
  25180 {
  25181 	return bcm_field_qualify_LoopBackColor_get(
  25182 			BCM_CONTROL(unit)->unit,
  25183 			entry,
  25184 			color);
  25185 }
  25186 
  25187 int
  25188 bcm_loop_field_qualify_LoopBackCpuMasqueradePktProfile(
  25189 	int	unit,
  25190 	bcm_field_entry_t	entry,
  25191 	uint8	data,
  25192 	uint8	mask)
  25193 {
  25194 	return bcm_field_qualify_LoopBackCpuMasqueradePktProfile(
  25195 			BCM_CONTROL(unit)->unit,
  25196 			entry,
  25197 			data,
  25198 			mask);
  25199 }
  25200 
  25201 int
  25202 bcm_loop_field_qualify_LoopBackCpuMasqueradePktProfile_get(
  25203 	int	unit,
  25204 	bcm_field_entry_t	entry,
  25205 	uint8 *	data,
  25206 	uint8 *	mask)
  25207 {
  25208 	return bcm_field_qualify_LoopBackCpuMasqueradePktProfile_get(
  25209 			BCM_CONTROL(unit)->unit,
  25210 			entry,
  25211 			data,
  25212 			mask);
  25213 }
  25214 
  25215 int
  25216 bcm_loop_field_qualify_LoopBackPacketProcessingPort(
  25217 	int	unit,
  25218 	bcm_field_entry_t	entry,
  25219 	bcm_gport_t	port_id,
  25220 	bcm_gport_t	port_mask)
  25221 {
  25222 	return bcm_field_qualify_LoopBackPacketProcessingPort(
  25223 			BCM_CONTROL(unit)->unit,
  25224 			entry,
  25225 			port_id,
  25226 			port_mask);
  25227 }
  25228 
  25229 int
  25230 bcm_loop_field_qualify_LoopBackPacketProcessingPort_get(
  25231 	int	unit,
  25232 	bcm_field_entry_t	entry,
  25233 	bcm_gport_t *	port_id,
  25234 	bcm_gport_t *	port_mask)
  25235 {
  25236 	return bcm_field_qualify_LoopBackPacketProcessingPort_get(
  25237 			BCM_CONTROL(unit)->unit,
  25238 			entry,
  25239 			port_id,
  25240 			port_mask);
  25241 }
  25242 
  25243 int
  25244 bcm_loop_field_qualify_LoopBackQueue(
  25245 	int	unit,
  25246 	bcm_field_entry_t	entry,
  25247 	uint8	data,
  25248 	uint8	mask)
  25249 {
  25250 	return bcm_field_qualify_LoopBackQueue(
  25251 			BCM_CONTROL(unit)->unit,
  25252 			entry,
  25253 			data,
  25254 			mask);
  25255 }
  25256 
  25257 int
  25258 bcm_loop_field_qualify_LoopBackQueue_get(
  25259 	int	unit,
  25260 	bcm_field_entry_t	entry,
  25261 	uint8 *	data,
  25262 	uint8 *	mask)
  25263 {
  25264 	return bcm_field_qualify_LoopBackQueue_get(
  25265 			BCM_CONTROL(unit)->unit,
  25266 			entry,
  25267 			data,
  25268 			mask);
  25269 }
  25270 
  25271 int
  25272 bcm_loop_field_qualify_LoopBackSrcGport(
  25273 	int	unit,
  25274 	bcm_field_entry_t	entry,
  25275 	bcm_gport_t	port_id,
  25276 	bcm_gport_t	port_mask)
  25277 {
  25278 	return bcm_field_qualify_LoopBackSrcGport(
  25279 			BCM_CONTROL(unit)->unit,
  25280 			entry,
  25281 			port_id,
  25282 			port_mask);
  25283 }
  25284 
  25285 int
  25286 bcm_loop_field_qualify_LoopBackSrcGport_get(
  25287 	int	unit,
  25288 	bcm_field_entry_t	entry,
  25289 	bcm_gport_t *	port_id,
  25290 	bcm_gport_t *	port_mask)
  25291 {
  25292 	return bcm_field_qualify_LoopBackSrcGport_get(
  25293 			BCM_CONTROL(unit)->unit,
  25294 			entry,
  25295 			port_id,
  25296 			port_mask);
  25297 }
  25298 
  25299 int
  25300 bcm_loop_field_qualify_LoopBackTrafficClass(
  25301 	int	unit,
  25302 	bcm_field_entry_t	entry,
  25303 	uint8	data,
  25304 	uint8	mask)
  25305 {
  25306 	return bcm_field_qualify_LoopBackTrafficClass(
  25307 			BCM_CONTROL(unit)->unit,
  25308 			entry,
  25309 			data,
  25310 			mask);
  25311 }
  25312 
  25313 int
  25314 bcm_loop_field_qualify_LoopBackTrafficClass_get(
  25315 	int	unit,
  25316 	bcm_field_entry_t	entry,
  25317 	uint8 *	data,
  25318 	uint8 *	mask)
  25319 {
  25320 	return bcm_field_qualify_LoopBackTrafficClass_get(
  25321 			BCM_CONTROL(unit)->unit,
  25322 			entry,
  25323 			data,
  25324 			mask);
  25325 }
  25326 
  25327 int
  25328 bcm_loop_field_qualify_Loopback(
  25329 	int	unit,
  25330 	bcm_field_entry_t	entry,
  25331 	uint8	data,
  25332 	uint8	mask)
  25333 {
  25334 	return bcm_field_qualify_Loopback(
  25335 			BCM_CONTROL(unit)->unit,
  25336 			entry,
  25337 			data,
  25338 			mask);
  25339 }
  25340 
  25341 int
  25342 bcm_loop_field_qualify_LoopbackSubtype(
  25343 	int	unit,
  25344 	bcm_field_entry_t	entry,
  25345 	bcm_field_loopback_subtype_t	lb_subtype)
  25346 {
  25347 	return bcm_field_qualify_LoopbackSubtype(
  25348 			BCM_CONTROL(unit)->unit,
  25349 			entry,
  25350 			lb_subtype);
  25351 }
  25352 
  25353 int
  25354 bcm_loop_field_qualify_LoopbackSubtype_get(
  25355 	int	unit,
  25356 	bcm_field_entry_t	entry,
  25357 	bcm_field_loopback_subtype_t *	lb_subtype)
  25358 {
  25359 	return bcm_field_qualify_LoopbackSubtype_get(
  25360 			BCM_CONTROL(unit)->unit,
  25361 			entry,
  25362 			lb_subtype);
  25363 }
  25364 
  25365 int
  25366 bcm_loop_field_qualify_LoopbackType(
  25367 	int	unit,
  25368 	bcm_field_entry_t	entry,
  25369 	bcm_field_LoopbackType_t	loopback_type)
  25370 {
  25371 	return bcm_field_qualify_LoopbackType(
  25372 			BCM_CONTROL(unit)->unit,
  25373 			entry,
  25374 			loopback_type);
  25375 }
  25376 
  25377 int
  25378 bcm_loop_field_qualify_LoopbackType_get(
  25379 	int	unit,
  25380 	bcm_field_entry_t	entry,
  25381 	bcm_field_LoopbackType_t *	loopback_type)
  25382 {
  25383 	return bcm_field_qualify_LoopbackType_get(
  25384 			BCM_CONTROL(unit)->unit,
  25385 			entry,
  25386 			loopback_type);
  25387 }
  25388 
  25389 int
  25390 bcm_loop_field_qualify_Loopback_get(
  25391 	int	unit,
  25392 	bcm_field_entry_t	entry,
  25393 	uint8 *	data,
  25394 	uint8 *	mask)
  25395 {
  25396 	return bcm_field_qualify_Loopback_get(
  25397 			BCM_CONTROL(unit)->unit,
  25398 			entry,
  25399 			data,
  25400 			mask);
  25401 }
  25402 
  25403 int
  25404 bcm_loop_field_qualify_MHOpcode(
  25405 	int	unit,
  25406 	bcm_field_entry_t	entry,
  25407 	uint8	data,
  25408 	uint8	mask)
  25409 {
  25410 	return bcm_field_qualify_MHOpcode(
  25411 			BCM_CONTROL(unit)->unit,
  25412 			entry,
  25413 			data,
  25414 			mask);
  25415 }
  25416 
  25417 int
  25418 bcm_loop_field_qualify_MHOpcode_get(
  25419 	int	unit,
  25420 	bcm_field_entry_t	entry,
  25421 	uint8 *	data,
  25422 	uint8 *	mask)
  25423 {
  25424 	return bcm_field_qualify_MHOpcode_get(
  25425 			BCM_CONTROL(unit)->unit,
  25426 			entry,
  25427 			data,
  25428 			mask);
  25429 }
  25430 
  25431 int
  25432 bcm_loop_field_qualify_MacAddrsNormalized(
  25433 	int	unit,
  25434 	bcm_field_entry_t	entry,
  25435 	uint8	data,
  25436 	uint8	mask)
  25437 {
  25438 	return bcm_field_qualify_MacAddrsNormalized(
  25439 			BCM_CONTROL(unit)->unit,
  25440 			entry,
  25441 			data,
  25442 			mask);
  25443 }
  25444 
  25445 int
  25446 bcm_loop_field_qualify_MacAddrsNormalized_get(
  25447 	int	unit,
  25448 	bcm_field_entry_t	entry,
  25449 	uint8 *	data,
  25450 	uint8 *	mask)
  25451 {
  25452 	return bcm_field_qualify_MacAddrsNormalized_get(
  25453 			BCM_CONTROL(unit)->unit,
  25454 			entry,
  25455 			data,
  25456 			mask);
  25457 }
  25458 
  25459 int
  25460 bcm_loop_field_qualify_MacSecDstMacRangeHit(
  25461 	int	unit,
  25462 	bcm_field_entry_t	entry,
  25463 	uint8	data,
  25464 	uint8	mask)
  25465 {
  25466 	return bcm_field_qualify_MacSecDstMacRangeHit(
  25467 			BCM_CONTROL(unit)->unit,
  25468 			entry,
  25469 			data,
  25470 			mask);
  25471 }
  25472 
  25473 int
  25474 bcm_loop_field_qualify_MacSecDstMacRangeHit_get(
  25475 	int	unit,
  25476 	bcm_field_entry_t	entry,
  25477 	uint8 *	data,
  25478 	uint8 *	mask)
  25479 {
  25480 	return bcm_field_qualify_MacSecDstMacRangeHit_get(
  25481 			BCM_CONTROL(unit)->unit,
  25482 			entry,
  25483 			data,
  25484 			mask);
  25485 }
  25486 
  25487 int
  25488 bcm_loop_field_qualify_MacSecFlow(
  25489 	int	unit,
  25490 	bcm_field_entry_t	entry,
  25491 	bcm_field_macsec_flow_t	data)
  25492 {
  25493 	return bcm_field_qualify_MacSecFlow(
  25494 			BCM_CONTROL(unit)->unit,
  25495 			entry,
  25496 			data);
  25497 }
  25498 
  25499 int
  25500 bcm_loop_field_qualify_MacSecFlow_get(
  25501 	int	unit,
  25502 	bcm_field_entry_t	entry,
  25503 	bcm_field_macsec_flow_t *	data)
  25504 {
  25505 	return bcm_field_qualify_MacSecFlow_get(
  25506 			BCM_CONTROL(unit)->unit,
  25507 			entry,
  25508 			data);
  25509 }
  25510 
  25511 int
  25512 bcm_loop_field_qualify_MacSecTag(
  25513 	int	unit,
  25514 	bcm_field_entry_t	entry,
  25515 	uint8	data,
  25516 	uint8	mask)
  25517 {
  25518 	return bcm_field_qualify_MacSecTag(
  25519 			BCM_CONTROL(unit)->unit,
  25520 			entry,
  25521 			data,
  25522 			mask);
  25523 }
  25524 
  25525 int
  25526 bcm_loop_field_qualify_MacSecTagPresent(
  25527 	int	unit,
  25528 	bcm_field_entry_t	entry,
  25529 	uint8	data,
  25530 	uint8	mask)
  25531 {
  25532 	return bcm_field_qualify_MacSecTagPresent(
  25533 			BCM_CONTROL(unit)->unit,
  25534 			entry,
  25535 			data,
  25536 			mask);
  25537 }
  25538 
  25539 int
  25540 bcm_loop_field_qualify_MacSecTagPresent_get(
  25541 	int	unit,
  25542 	bcm_field_entry_t	entry,
  25543 	uint8 *	data,
  25544 	uint8 *	mask)
  25545 {
  25546 	return bcm_field_qualify_MacSecTagPresent_get(
  25547 			BCM_CONTROL(unit)->unit,
  25548 			entry,
  25549 			data,
  25550 			mask);
  25551 }
  25552 
  25553 int
  25554 bcm_loop_field_qualify_MacSecTag_get(
  25555 	int	unit,
  25556 	bcm_field_entry_t	entry,
  25557 	uint8 *	data,
  25558 	uint8 *	mask)
  25559 {
  25560 	return bcm_field_qualify_MacSecTag_get(
  25561 			BCM_CONTROL(unit)->unit,
  25562 			entry,
  25563 			data,
  25564 			mask);
  25565 }
  25566 
  25567 int
  25568 bcm_loop_field_qualify_MimSrcGportHit(
  25569 	int	unit,
  25570 	bcm_field_entry_t	entry,
  25571 	uint8	data,
  25572 	uint8	mask)
  25573 {
  25574 	return bcm_field_qualify_MimSrcGportHit(
  25575 			BCM_CONTROL(unit)->unit,
  25576 			entry,
  25577 			data,
  25578 			mask);
  25579 }
  25580 
  25581 int
  25582 bcm_loop_field_qualify_MimSrcGportHit_get(
  25583 	int	unit,
  25584 	bcm_field_entry_t	entry,
  25585 	uint8 *	data,
  25586 	uint8 *	mask)
  25587 {
  25588 	return bcm_field_qualify_MimSrcGportHit_get(
  25589 			BCM_CONTROL(unit)->unit,
  25590 			entry,
  25591 			data,
  25592 			mask);
  25593 }
  25594 
  25595 int
  25596 bcm_loop_field_qualify_MimVfiHit(
  25597 	int	unit,
  25598 	bcm_field_entry_t	entry,
  25599 	uint8	data,
  25600 	uint8	mask)
  25601 {
  25602 	return bcm_field_qualify_MimVfiHit(
  25603 			BCM_CONTROL(unit)->unit,
  25604 			entry,
  25605 			data,
  25606 			mask);
  25607 }
  25608 
  25609 int
  25610 bcm_loop_field_qualify_MimVfiHit_get(
  25611 	int	unit,
  25612 	bcm_field_entry_t	entry,
  25613 	uint8 *	data,
  25614 	uint8 *	mask)
  25615 {
  25616 	return bcm_field_qualify_MimVfiHit_get(
  25617 			BCM_CONTROL(unit)->unit,
  25618 			entry,
  25619 			data,
  25620 			mask);
  25621 }
  25622 
  25623 int
  25624 bcm_loop_field_qualify_MimVlanCfi(
  25625 	int	unit,
  25626 	bcm_field_entry_t	entry,
  25627 	uint8	data,
  25628 	uint8	mask)
  25629 {
  25630 	return bcm_field_qualify_MimVlanCfi(
  25631 			BCM_CONTROL(unit)->unit,
  25632 			entry,
  25633 			data,
  25634 			mask);
  25635 }
  25636 
  25637 int
  25638 bcm_loop_field_qualify_MimVlanCfi_get(
  25639 	int	unit,
  25640 	bcm_field_entry_t	entry,
  25641 	uint8 *	data,
  25642 	uint8 *	mask)
  25643 {
  25644 	return bcm_field_qualify_MimVlanCfi_get(
  25645 			BCM_CONTROL(unit)->unit,
  25646 			entry,
  25647 			data,
  25648 			mask);
  25649 }
  25650 
  25651 int
  25652 bcm_loop_field_qualify_MimVlanPri(
  25653 	int	unit,
  25654 	bcm_field_entry_t	entry,
  25655 	uint8	data,
  25656 	uint8	mask)
  25657 {
  25658 	return bcm_field_qualify_MimVlanPri(
  25659 			BCM_CONTROL(unit)->unit,
  25660 			entry,
  25661 			data,
  25662 			mask);
  25663 }
  25664 
  25665 int
  25666 bcm_loop_field_qualify_MimVlanPri_get(
  25667 	int	unit,
  25668 	bcm_field_entry_t	entry,
  25669 	uint8 *	data,
  25670 	uint8 *	mask)
  25671 {
  25672 	return bcm_field_qualify_MimVlanPri_get(
  25673 			BCM_CONTROL(unit)->unit,
  25674 			entry,
  25675 			data,
  25676 			mask);
  25677 }
  25678 
  25679 int
  25680 bcm_loop_field_qualify_MimlDstMac(
  25681 	int	unit,
  25682 	bcm_field_entry_t	entry,
  25683 	bcm_mac_t	data,
  25684 	bcm_mac_t	mask)
  25685 {
  25686 	return bcm_field_qualify_MimlDstMac(
  25687 			BCM_CONTROL(unit)->unit,
  25688 			entry,
  25689 			data,
  25690 			mask);
  25691 }
  25692 
  25693 int
  25694 bcm_loop_field_qualify_MimlDstMac_get(
  25695 	int	unit,
  25696 	bcm_field_entry_t	entry,
  25697 	bcm_mac_t *	data,
  25698 	bcm_mac_t *	mask)
  25699 {
  25700 	return bcm_field_qualify_MimlDstMac_get(
  25701 			BCM_CONTROL(unit)->unit,
  25702 			entry,
  25703 			data,
  25704 			mask);
  25705 }
  25706 
  25707 int
  25708 bcm_loop_field_qualify_MimlInnerTag(
  25709 	int	unit,
  25710 	bcm_field_entry_t	entry,
  25711 	uint32	data,
  25712 	uint32	mask)
  25713 {
  25714 	return bcm_field_qualify_MimlInnerTag(
  25715 			BCM_CONTROL(unit)->unit,
  25716 			entry,
  25717 			data,
  25718 			mask);
  25719 }
  25720 
  25721 int
  25722 bcm_loop_field_qualify_MimlInnerTag_get(
  25723 	int	unit,
  25724 	bcm_field_entry_t	entry,
  25725 	uint32 *	data,
  25726 	uint32 *	mask)
  25727 {
  25728 	return bcm_field_qualify_MimlInnerTag_get(
  25729 			BCM_CONTROL(unit)->unit,
  25730 			entry,
  25731 			data,
  25732 			mask);
  25733 }
  25734 
  25735 int
  25736 bcm_loop_field_qualify_MimlPkt(
  25737 	int	unit,
  25738 	bcm_field_entry_t	entry,
  25739 	uint8	data,
  25740 	uint8	mask)
  25741 {
  25742 	return bcm_field_qualify_MimlPkt(
  25743 			BCM_CONTROL(unit)->unit,
  25744 			entry,
  25745 			data,
  25746 			mask);
  25747 }
  25748 
  25749 int
  25750 bcm_loop_field_qualify_MimlPkt_get(
  25751 	int	unit,
  25752 	bcm_field_entry_t	entry,
  25753 	uint8 *	data,
  25754 	uint8 *	mask)
  25755 {
  25756 	return bcm_field_qualify_MimlPkt_get(
  25757 			BCM_CONTROL(unit)->unit,
  25758 			entry,
  25759 			data,
  25760 			mask);
  25761 }
  25762 
  25763 int
  25764 bcm_loop_field_qualify_MimlSrcMac(
  25765 	int	unit,
  25766 	bcm_field_entry_t	entry,
  25767 	bcm_mac_t	data,
  25768 	bcm_mac_t	mask)
  25769 {
  25770 	return bcm_field_qualify_MimlSrcMac(
  25771 			BCM_CONTROL(unit)->unit,
  25772 			entry,
  25773 			data,
  25774 			mask);
  25775 }
  25776 
  25777 int
  25778 bcm_loop_field_qualify_MimlSrcMac_get(
  25779 	int	unit,
  25780 	bcm_field_entry_t	entry,
  25781 	bcm_mac_t *	data,
  25782 	bcm_mac_t *	mask)
  25783 {
  25784 	return bcm_field_qualify_MimlSrcMac_get(
  25785 			BCM_CONTROL(unit)->unit,
  25786 			entry,
  25787 			data,
  25788 			mask);
  25789 }
  25790 
  25791 int
  25792 bcm_loop_field_qualify_MimlVlan(
  25793 	int	unit,
  25794 	bcm_field_entry_t	entry,
  25795 	bcm_vlan_t	data,
  25796 	bcm_vlan_t	mask)
  25797 {
  25798 	return bcm_field_qualify_MimlVlan(
  25799 			BCM_CONTROL(unit)->unit,
  25800 			entry,
  25801 			data,
  25802 			mask);
  25803 }
  25804 
  25805 int
  25806 bcm_loop_field_qualify_MimlVlanCfi(
  25807 	int	unit,
  25808 	bcm_field_entry_t	entry,
  25809 	uint8	data,
  25810 	uint8	mask)
  25811 {
  25812 	return bcm_field_qualify_MimlVlanCfi(
  25813 			BCM_CONTROL(unit)->unit,
  25814 			entry,
  25815 			data,
  25816 			mask);
  25817 }
  25818 
  25819 int
  25820 bcm_loop_field_qualify_MimlVlanCfi_get(
  25821 	int	unit,
  25822 	bcm_field_entry_t	entry,
  25823 	uint8 *	data,
  25824 	uint8 *	mask)
  25825 {
  25826 	return bcm_field_qualify_MimlVlanCfi_get(
  25827 			BCM_CONTROL(unit)->unit,
  25828 			entry,
  25829 			data,
  25830 			mask);
  25831 }
  25832 
  25833 int
  25834 bcm_loop_field_qualify_MimlVlanId(
  25835 	int	unit,
  25836 	bcm_field_entry_t	entry,
  25837 	bcm_vlan_t	data,
  25838 	bcm_vlan_t	mask)
  25839 {
  25840 	return bcm_field_qualify_MimlVlanId(
  25841 			BCM_CONTROL(unit)->unit,
  25842 			entry,
  25843 			data,
  25844 			mask);
  25845 }
  25846 
  25847 int
  25848 bcm_loop_field_qualify_MimlVlanId_get(
  25849 	int	unit,
  25850 	bcm_field_entry_t	entry,
  25851 	bcm_vlan_t *	data,
  25852 	bcm_vlan_t *	mask)
  25853 {
  25854 	return bcm_field_qualify_MimlVlanId_get(
  25855 			BCM_CONTROL(unit)->unit,
  25856 			entry,
  25857 			data,
  25858 			mask);
  25859 }
  25860 
  25861 int
  25862 bcm_loop_field_qualify_MimlVlanPri(
  25863 	int	unit,
  25864 	bcm_field_entry_t	entry,
  25865 	uint8	data,
  25866 	uint8	mask)
  25867 {
  25868 	return bcm_field_qualify_MimlVlanPri(
  25869 			BCM_CONTROL(unit)->unit,
  25870 			entry,
  25871 			data,
  25872 			mask);
  25873 }
  25874 
  25875 int
  25876 bcm_loop_field_qualify_MimlVlanPri_get(
  25877 	int	unit,
  25878 	bcm_field_entry_t	entry,
  25879 	uint8 *	data,
  25880 	uint8 *	mask)
  25881 {
  25882 	return bcm_field_qualify_MimlVlanPri_get(
  25883 			BCM_CONTROL(unit)->unit,
  25884 			entry,
  25885 			data,
  25886 			mask);
  25887 }
  25888 
  25889 int
  25890 bcm_loop_field_qualify_MimlVlan_get(
  25891 	int	unit,
  25892 	bcm_field_entry_t	entry,
  25893 	bcm_vlan_t *	data,
  25894 	bcm_vlan_t *	mask)
  25895 {
  25896 	return bcm_field_qualify_MimlVlan_get(
  25897 			BCM_CONTROL(unit)->unit,
  25898 			entry,
  25899 			data,
  25900 			mask);
  25901 }
  25902 
  25903 int
  25904 bcm_loop_field_qualify_MirrorCopy(
  25905 	int	unit,
  25906 	bcm_field_entry_t	entry,
  25907 	uint8	data,
  25908 	uint8	mask)
  25909 {
  25910 	return bcm_field_qualify_MirrorCopy(
  25911 			BCM_CONTROL(unit)->unit,
  25912 			entry,
  25913 			data,
  25914 			mask);
  25915 }
  25916 
  25917 int
  25918 bcm_loop_field_qualify_MirrorCopy_get(
  25919 	int	unit,
  25920 	bcm_field_entry_t	entry,
  25921 	uint8 *	data,
  25922 	uint8 *	mask)
  25923 {
  25924 	return bcm_field_qualify_MirrorCopy_get(
  25925 			BCM_CONTROL(unit)->unit,
  25926 			entry,
  25927 			data,
  25928 			mask);
  25929 }
  25930 
  25931 int
  25932 bcm_loop_field_qualify_MirrorDest(
  25933 	int	unit,
  25934 	bcm_field_entry_t	entry,
  25935 	bcm_gport_t	mirror_gport)
  25936 {
  25937 	return bcm_field_qualify_MirrorDest(
  25938 			BCM_CONTROL(unit)->unit,
  25939 			entry,
  25940 			mirror_gport);
  25941 }
  25942 
  25943 int
  25944 bcm_loop_field_qualify_MirrorDest_get(
  25945 	int	unit,
  25946 	bcm_field_entry_t	entry,
  25947 	bcm_gport_t *	mirror_gport)
  25948 {
  25949 	return bcm_field_qualify_MirrorDest_get(
  25950 			BCM_CONTROL(unit)->unit,
  25951 			entry,
  25952 			mirror_gport);
  25953 }
  25954 
  25955 int
  25956 bcm_loop_field_qualify_MirrorEgressDisabled(
  25957 	int	unit,
  25958 	bcm_field_entry_t	entry,
  25959 	uint8	data,
  25960 	uint8	mask)
  25961 {
  25962 	return bcm_field_qualify_MirrorEgressDisabled(
  25963 			BCM_CONTROL(unit)->unit,
  25964 			entry,
  25965 			data,
  25966 			mask);
  25967 }
  25968 
  25969 int
  25970 bcm_loop_field_qualify_MirrorEgressDisabled_get(
  25971 	int	unit,
  25972 	bcm_field_entry_t	entry,
  25973 	uint8 *	data,
  25974 	uint8 *	mask)
  25975 {
  25976 	return bcm_field_qualify_MirrorEgressDisabled_get(
  25977 			BCM_CONTROL(unit)->unit,
  25978 			entry,
  25979 			data,
  25980 			mask);
  25981 }
  25982 
  25983 int
  25984 bcm_loop_field_qualify_MixedSrcClassId(
  25985 	int	unit,
  25986 	bcm_field_entry_t	entry,
  25987 	bcm_pbmp_t	pbmp,
  25988 	bcm_field_src_class_t	data,
  25989 	bcm_field_src_class_t	mask)
  25990 {
  25991 	return bcm_field_qualify_MixedSrcClassId(
  25992 			BCM_CONTROL(unit)->unit,
  25993 			entry,
  25994 			pbmp,
  25995 			data,
  25996 			mask);
  25997 }
  25998 
  25999 int
  26000 bcm_loop_field_qualify_MixedSrcClassId_get(
  26001 	int	unit,
  26002 	bcm_field_entry_t	entry,
  26003 	bcm_pbmp_t	pbmp,
  26004 	bcm_field_src_class_t *	data,
  26005 	bcm_field_src_class_t *	mask)
  26006 {
  26007 	return bcm_field_qualify_MixedSrcClassId_get(
  26008 			BCM_CONTROL(unit)->unit,
  26009 			entry,
  26010 			pbmp,
  26011 			data,
  26012 			mask);
  26013 }
  26014 
  26015 int
  26016 bcm_loop_field_qualify_MplsBos(
  26017 	int	unit,
  26018 	bcm_field_entry_t	entry,
  26019 	uint8	data,
  26020 	uint8	mask)
  26021 {
  26022 	return bcm_field_qualify_MplsBos(
  26023 			BCM_CONTROL(unit)->unit,
  26024 			entry,
  26025 			data,
  26026 			mask);
  26027 }
  26028 
  26029 int
  26030 bcm_loop_field_qualify_MplsBos_get(
  26031 	int	unit,
  26032 	bcm_field_entry_t	entry,
  26033 	uint8 *	data,
  26034 	uint8 *	mask)
  26035 {
  26036 	return bcm_field_qualify_MplsBos_get(
  26037 			BCM_CONTROL(unit)->unit,
  26038 			entry,
  26039 			data,
  26040 			mask);
  26041 }
  26042 
  26043 int
  26044 bcm_loop_field_qualify_MplsControlPkt(
  26045 	int	unit,
  26046 	bcm_field_entry_t	entry,
  26047 	uint8	data,
  26048 	uint8	mask)
  26049 {
  26050 	return bcm_field_qualify_MplsControlPkt(
  26051 			BCM_CONTROL(unit)->unit,
  26052 			entry,
  26053 			data,
  26054 			mask);
  26055 }
  26056 
  26057 int
  26058 bcm_loop_field_qualify_MplsControlPkt_get(
  26059 	int	unit,
  26060 	bcm_field_entry_t	entry,
  26061 	uint8 *	data,
  26062 	uint8 *	mask)
  26063 {
  26064 	return bcm_field_qualify_MplsControlPkt_get(
  26065 			BCM_CONTROL(unit)->unit,
  26066 			entry,
  26067 			data,
  26068 			mask);
  26069 }
  26070 
  26071 int
  26072 bcm_loop_field_qualify_MplsControlWord(
  26073 	int	unit,
  26074 	bcm_field_entry_t	entry,
  26075 	uint32	data,
  26076 	uint32	mask)
  26077 {
  26078 	return bcm_field_qualify_MplsControlWord(
  26079 			BCM_CONTROL(unit)->unit,
  26080 			entry,
  26081 			data,
  26082 			mask);
  26083 }
  26084 
  26085 int
  26086 bcm_loop_field_qualify_MplsControlWordValid(
  26087 	int	unit,
  26088 	bcm_field_entry_t	entry,
  26089 	uint8	data,
  26090 	uint8	mask)
  26091 {
  26092 	return bcm_field_qualify_MplsControlWordValid(
  26093 			BCM_CONTROL(unit)->unit,
  26094 			entry,
  26095 			data,
  26096 			mask);
  26097 }
  26098 
  26099 int
  26100 bcm_loop_field_qualify_MplsControlWordValid_get(
  26101 	int	unit,
  26102 	bcm_field_entry_t	entry,
  26103 	uint8 *	data,
  26104 	uint8 *	mask)
  26105 {
  26106 	return bcm_field_qualify_MplsControlWordValid_get(
  26107 			BCM_CONTROL(unit)->unit,
  26108 			entry,
  26109 			data,
  26110 			mask);
  26111 }
  26112 
  26113 int
  26114 bcm_loop_field_qualify_MplsControlWord_get(
  26115 	int	unit,
  26116 	bcm_field_entry_t	entry,
  26117 	uint32 *	data,
  26118 	uint32 *	mask)
  26119 {
  26120 	return bcm_field_qualify_MplsControlWord_get(
  26121 			BCM_CONTROL(unit)->unit,
  26122 			entry,
  26123 			data,
  26124 			mask);
  26125 }
  26126 
  26127 int
  26128 bcm_loop_field_qualify_MplsCwPresent(
  26129 	int	unit,
  26130 	bcm_field_entry_t	entry,
  26131 	uint8	data,
  26132 	uint8	mask)
  26133 {
  26134 	return bcm_field_qualify_MplsCwPresent(
  26135 			BCM_CONTROL(unit)->unit,
  26136 			entry,
  26137 			data,
  26138 			mask);
  26139 }
  26140 
  26141 int
  26142 bcm_loop_field_qualify_MplsCwPresent_get(
  26143 	int	unit,
  26144 	bcm_field_entry_t	entry,
  26145 	uint8 *	data,
  26146 	uint8 *	mask)
  26147 {
  26148 	return bcm_field_qualify_MplsCwPresent_get(
  26149 			BCM_CONTROL(unit)->unit,
  26150 			entry,
  26151 			data,
  26152 			mask);
  26153 }
  26154 
  26155 int
  26156 bcm_loop_field_qualify_MplsForwardingLabel(
  26157 	int	unit,
  26158 	bcm_field_entry_t	entry,
  26159 	uint32	data,
  26160 	uint32	mask)
  26161 {
  26162 	return bcm_field_qualify_MplsForwardingLabel(
  26163 			BCM_CONTROL(unit)->unit,
  26164 			entry,
  26165 			data,
  26166 			mask);
  26167 }
  26168 
  26169 int
  26170 bcm_loop_field_qualify_MplsForwardingLabelAction(
  26171 	int	unit,
  26172 	bcm_field_entry_t	entry,
  26173 	uint8	data,
  26174 	uint8	mask)
  26175 {
  26176 	return bcm_field_qualify_MplsForwardingLabelAction(
  26177 			BCM_CONTROL(unit)->unit,
  26178 			entry,
  26179 			data,
  26180 			mask);
  26181 }
  26182 
  26183 int
  26184 bcm_loop_field_qualify_MplsForwardingLabelAction32(
  26185 	int	unit,
  26186 	bcm_field_entry_t	entry,
  26187 	uint32	data,
  26188 	uint32	mask)
  26189 {
  26190 	return bcm_field_qualify_MplsForwardingLabelAction32(
  26191 			BCM_CONTROL(unit)->unit,
  26192 			entry,
  26193 			data,
  26194 			mask);
  26195 }
  26196 
  26197 int
  26198 bcm_loop_field_qualify_MplsForwardingLabelAction32_get(
  26199 	int	unit,
  26200 	bcm_field_entry_t	entry,
  26201 	uint32 *	data,
  26202 	uint32 *	mask)
  26203 {
  26204 	return bcm_field_qualify_MplsForwardingLabelAction32_get(
  26205 			BCM_CONTROL(unit)->unit,
  26206 			entry,
  26207 			data,
  26208 			mask);
  26209 }
  26210 
  26211 int
  26212 bcm_loop_field_qualify_MplsForwardingLabelAction_get(
  26213 	int	unit,
  26214 	bcm_field_entry_t	entry,
  26215 	uint8 *	data,
  26216 	uint8 *	mask)
  26217 {
  26218 	return bcm_field_qualify_MplsForwardingLabelAction_get(
  26219 			BCM_CONTROL(unit)->unit,
  26220 			entry,
  26221 			data,
  26222 			mask);
  26223 }
  26224 
  26225 int
  26226 bcm_loop_field_qualify_MplsForwardingLabelBos(
  26227 	int	unit,
  26228 	bcm_field_entry_t	entry,
  26229 	uint8	data,
  26230 	uint8	mask)
  26231 {
  26232 	return bcm_field_qualify_MplsForwardingLabelBos(
  26233 			BCM_CONTROL(unit)->unit,
  26234 			entry,
  26235 			data,
  26236 			mask);
  26237 }
  26238 
  26239 int
  26240 bcm_loop_field_qualify_MplsForwardingLabelBos_get(
  26241 	int	unit,
  26242 	bcm_field_entry_t	entry,
  26243 	uint8 *	data,
  26244 	uint8 *	mask)
  26245 {
  26246 	return bcm_field_qualify_MplsForwardingLabelBos_get(
  26247 			BCM_CONTROL(unit)->unit,
  26248 			entry,
  26249 			data,
  26250 			mask);
  26251 }
  26252 
  26253 int
  26254 bcm_loop_field_qualify_MplsForwardingLabelExp(
  26255 	int	unit,
  26256 	bcm_field_entry_t	entry,
  26257 	uint8	data,
  26258 	uint8	mask)
  26259 {
  26260 	return bcm_field_qualify_MplsForwardingLabelExp(
  26261 			BCM_CONTROL(unit)->unit,
  26262 			entry,
  26263 			data,
  26264 			mask);
  26265 }
  26266 
  26267 int
  26268 bcm_loop_field_qualify_MplsForwardingLabelExp_get(
  26269 	int	unit,
  26270 	bcm_field_entry_t	entry,
  26271 	uint8 *	data,
  26272 	uint8 *	mask)
  26273 {
  26274 	return bcm_field_qualify_MplsForwardingLabelExp_get(
  26275 			BCM_CONTROL(unit)->unit,
  26276 			entry,
  26277 			data,
  26278 			mask);
  26279 }
  26280 
  26281 int
  26282 bcm_loop_field_qualify_MplsForwardingLabelId(
  26283 	int	unit,
  26284 	bcm_field_entry_t	entry,
  26285 	uint32	data,
  26286 	uint32	mask)
  26287 {
  26288 	return bcm_field_qualify_MplsForwardingLabelId(
  26289 			BCM_CONTROL(unit)->unit,
  26290 			entry,
  26291 			data,
  26292 			mask);
  26293 }
  26294 
  26295 int
  26296 bcm_loop_field_qualify_MplsForwardingLabelId_get(
  26297 	int	unit,
  26298 	bcm_field_entry_t	entry,
  26299 	uint32 *	data,
  26300 	uint32 *	mask)
  26301 {
  26302 	return bcm_field_qualify_MplsForwardingLabelId_get(
  26303 			BCM_CONTROL(unit)->unit,
  26304 			entry,
  26305 			data,
  26306 			mask);
  26307 }
  26308 
  26309 int
  26310 bcm_loop_field_qualify_MplsForwardingLabelPayload(
  26311 	int	unit,
  26312 	bcm_field_entry_t	entry,
  26313 	uint64	data,
  26314 	uint64	mask)
  26315 {
  26316 	return bcm_field_qualify_MplsForwardingLabelPayload(
  26317 			BCM_CONTROL(unit)->unit,
  26318 			entry,
  26319 			data,
  26320 			mask);
  26321 }
  26322 
  26323 int
  26324 bcm_loop_field_qualify_MplsForwardingLabelPayload_get(
  26325 	int	unit,
  26326 	bcm_field_entry_t	entry,
  26327 	uint64 *	data,
  26328 	uint64 *	mask)
  26329 {
  26330 	return bcm_field_qualify_MplsForwardingLabelPayload_get(
  26331 			BCM_CONTROL(unit)->unit,
  26332 			entry,
  26333 			data,
  26334 			mask);
  26335 }
  26336 
  26337 int
  26338 bcm_loop_field_qualify_MplsForwardingLabelTtl(
  26339 	int	unit,
  26340 	bcm_field_entry_t	entry,
  26341 	uint8	data,
  26342 	uint8	mask)
  26343 {
  26344 	return bcm_field_qualify_MplsForwardingLabelTtl(
  26345 			BCM_CONTROL(unit)->unit,
  26346 			entry,
  26347 			data,
  26348 			mask);
  26349 }
  26350 
  26351 int
  26352 bcm_loop_field_qualify_MplsForwardingLabelTtl_get(
  26353 	int	unit,
  26354 	bcm_field_entry_t	entry,
  26355 	uint8 *	data,
  26356 	uint8 *	mask)
  26357 {
  26358 	return bcm_field_qualify_MplsForwardingLabelTtl_get(
  26359 			BCM_CONTROL(unit)->unit,
  26360 			entry,
  26361 			data,
  26362 			mask);
  26363 }
  26364 
  26365 int
  26366 bcm_loop_field_qualify_MplsForwardingLabel_get(
  26367 	int	unit,
  26368 	bcm_field_entry_t	entry,
  26369 	uint32 *	data,
  26370 	uint32 *	mask)
  26371 {
  26372 	return bcm_field_qualify_MplsForwardingLabel_get(
  26373 			BCM_CONTROL(unit)->unit,
  26374 			entry,
  26375 			data,
  26376 			mask);
  26377 }
  26378 
  26379 int
  26380 bcm_loop_field_qualify_MplsLabel1(
  26381 	int	unit,
  26382 	bcm_field_entry_t	entry,
  26383 	uint32	data,
  26384 	uint32	mask)
  26385 {
  26386 	return bcm_field_qualify_MplsLabel1(
  26387 			BCM_CONTROL(unit)->unit,
  26388 			entry,
  26389 			data,
  26390 			mask);
  26391 }
  26392 
  26393 int
  26394 bcm_loop_field_qualify_MplsLabel1Bos(
  26395 	int	unit,
  26396 	bcm_field_entry_t	entry,
  26397 	uint8	data,
  26398 	uint8	mask)
  26399 {
  26400 	return bcm_field_qualify_MplsLabel1Bos(
  26401 			BCM_CONTROL(unit)->unit,
  26402 			entry,
  26403 			data,
  26404 			mask);
  26405 }
  26406 
  26407 int
  26408 bcm_loop_field_qualify_MplsLabel1Bos_get(
  26409 	int	unit,
  26410 	bcm_field_entry_t	entry,
  26411 	uint8 *	data,
  26412 	uint8 *	mask)
  26413 {
  26414 	return bcm_field_qualify_MplsLabel1Bos_get(
  26415 			BCM_CONTROL(unit)->unit,
  26416 			entry,
  26417 			data,
  26418 			mask);
  26419 }
  26420 
  26421 int
  26422 bcm_loop_field_qualify_MplsLabel1Exp(
  26423 	int	unit,
  26424 	bcm_field_entry_t	entry,
  26425 	uint8	data,
  26426 	uint8	mask)
  26427 {
  26428 	return bcm_field_qualify_MplsLabel1Exp(
  26429 			BCM_CONTROL(unit)->unit,
  26430 			entry,
  26431 			data,
  26432 			mask);
  26433 }
  26434 
  26435 int
  26436 bcm_loop_field_qualify_MplsLabel1Exp_get(
  26437 	int	unit,
  26438 	bcm_field_entry_t	entry,
  26439 	uint8 *	data,
  26440 	uint8 *	mask)
  26441 {
  26442 	return bcm_field_qualify_MplsLabel1Exp_get(
  26443 			BCM_CONTROL(unit)->unit,
  26444 			entry,
  26445 			data,
  26446 			mask);
  26447 }
  26448 
  26449 int
  26450 bcm_loop_field_qualify_MplsLabel1Hit(
  26451 	int	unit,
  26452 	bcm_field_entry_t	entry,
  26453 	uint8	data,
  26454 	uint8	mask)
  26455 {
  26456 	return bcm_field_qualify_MplsLabel1Hit(
  26457 			BCM_CONTROL(unit)->unit,
  26458 			entry,
  26459 			data,
  26460 			mask);
  26461 }
  26462 
  26463 int
  26464 bcm_loop_field_qualify_MplsLabel1Hit_get(
  26465 	int	unit,
  26466 	bcm_field_entry_t	entry,
  26467 	uint8 *	data,
  26468 	uint8 *	mask)
  26469 {
  26470 	return bcm_field_qualify_MplsLabel1Hit_get(
  26471 			BCM_CONTROL(unit)->unit,
  26472 			entry,
  26473 			data,
  26474 			mask);
  26475 }
  26476 
  26477 int
  26478 bcm_loop_field_qualify_MplsLabel1Id(
  26479 	int	unit,
  26480 	bcm_field_entry_t	entry,
  26481 	uint32	data,
  26482 	uint32	mask)
  26483 {
  26484 	return bcm_field_qualify_MplsLabel1Id(
  26485 			BCM_CONTROL(unit)->unit,
  26486 			entry,
  26487 			data,
  26488 			mask);
  26489 }
  26490 
  26491 int
  26492 bcm_loop_field_qualify_MplsLabel1Id_get(
  26493 	int	unit,
  26494 	bcm_field_entry_t	entry,
  26495 	uint32 *	data,
  26496 	uint32 *	mask)
  26497 {
  26498 	return bcm_field_qualify_MplsLabel1Id_get(
  26499 			BCM_CONTROL(unit)->unit,
  26500 			entry,
  26501 			data,
  26502 			mask);
  26503 }
  26504 
  26505 int
  26506 bcm_loop_field_qualify_MplsLabel1Ttl(
  26507 	int	unit,
  26508 	bcm_field_entry_t	entry,
  26509 	uint8	data,
  26510 	uint8	mask)
  26511 {
  26512 	return bcm_field_qualify_MplsLabel1Ttl(
  26513 			BCM_CONTROL(unit)->unit,
  26514 			entry,
  26515 			data,
  26516 			mask);
  26517 }
  26518 
  26519 int
  26520 bcm_loop_field_qualify_MplsLabel1Ttl_get(
  26521 	int	unit,
  26522 	bcm_field_entry_t	entry,
  26523 	uint8 *	data,
  26524 	uint8 *	mask)
  26525 {
  26526 	return bcm_field_qualify_MplsLabel1Ttl_get(
  26527 			BCM_CONTROL(unit)->unit,
  26528 			entry,
  26529 			data,
  26530 			mask);
  26531 }
  26532 
  26533 int
  26534 bcm_loop_field_qualify_MplsLabel1_get(
  26535 	int	unit,
  26536 	bcm_field_entry_t	entry,
  26537 	uint32 *	data,
  26538 	uint32 *	mask)
  26539 {
  26540 	return bcm_field_qualify_MplsLabel1_get(
  26541 			BCM_CONTROL(unit)->unit,
  26542 			entry,
  26543 			data,
  26544 			mask);
  26545 }
  26546 
  26547 int
  26548 bcm_loop_field_qualify_MplsLabel2(
  26549 	int	unit,
  26550 	bcm_field_entry_t	entry,
  26551 	uint32	data,
  26552 	uint32	mask)
  26553 {
  26554 	return bcm_field_qualify_MplsLabel2(
  26555 			BCM_CONTROL(unit)->unit,
  26556 			entry,
  26557 			data,
  26558 			mask);
  26559 }
  26560 
  26561 int
  26562 bcm_loop_field_qualify_MplsLabel2Bos(
  26563 	int	unit,
  26564 	bcm_field_entry_t	entry,
  26565 	uint8	data,
  26566 	uint8	mask)
  26567 {
  26568 	return bcm_field_qualify_MplsLabel2Bos(
  26569 			BCM_CONTROL(unit)->unit,
  26570 			entry,
  26571 			data,
  26572 			mask);
  26573 }
  26574 
  26575 int
  26576 bcm_loop_field_qualify_MplsLabel2Bos_get(
  26577 	int	unit,
  26578 	bcm_field_entry_t	entry,
  26579 	uint8 *	data,
  26580 	uint8 *	mask)
  26581 {
  26582 	return bcm_field_qualify_MplsLabel2Bos_get(
  26583 			BCM_CONTROL(unit)->unit,
  26584 			entry,
  26585 			data,
  26586 			mask);
  26587 }
  26588 
  26589 int
  26590 bcm_loop_field_qualify_MplsLabel2Exp(
  26591 	int	unit,
  26592 	bcm_field_entry_t	entry,
  26593 	uint8	data,
  26594 	uint8	mask)
  26595 {
  26596 	return bcm_field_qualify_MplsLabel2Exp(
  26597 			BCM_CONTROL(unit)->unit,
  26598 			entry,
  26599 			data,
  26600 			mask);
  26601 }
  26602 
  26603 int
  26604 bcm_loop_field_qualify_MplsLabel2Exp_get(
  26605 	int	unit,
  26606 	bcm_field_entry_t	entry,
  26607 	uint8 *	data,
  26608 	uint8 *	mask)
  26609 {
  26610 	return bcm_field_qualify_MplsLabel2Exp_get(
  26611 			BCM_CONTROL(unit)->unit,
  26612 			entry,
  26613 			data,
  26614 			mask);
  26615 }
  26616 
  26617 int
  26618 bcm_loop_field_qualify_MplsLabel2Hit(
  26619 	int	unit,
  26620 	bcm_field_entry_t	entry,
  26621 	uint8	data,
  26622 	uint8	mask)
  26623 {
  26624 	return bcm_field_qualify_MplsLabel2Hit(
  26625 			BCM_CONTROL(unit)->unit,
  26626 			entry,
  26627 			data,
  26628 			mask);
  26629 }
  26630 
  26631 int
  26632 bcm_loop_field_qualify_MplsLabel2Hit_get(
  26633 	int	unit,
  26634 	bcm_field_entry_t	entry,
  26635 	uint8 *	data,
  26636 	uint8 *	mask)
  26637 {
  26638 	return bcm_field_qualify_MplsLabel2Hit_get(
  26639 			BCM_CONTROL(unit)->unit,
  26640 			entry,
  26641 			data,
  26642 			mask);
  26643 }
  26644 
  26645 int
  26646 bcm_loop_field_qualify_MplsLabel2Id(
  26647 	int	unit,
  26648 	bcm_field_entry_t	entry,
  26649 	uint32	data,
  26650 	uint32	mask)
  26651 {
  26652 	return bcm_field_qualify_MplsLabel2Id(
  26653 			BCM_CONTROL(unit)->unit,
  26654 			entry,
  26655 			data,
  26656 			mask);
  26657 }
  26658 
  26659 int
  26660 bcm_loop_field_qualify_MplsLabel2Id_get(
  26661 	int	unit,
  26662 	bcm_field_entry_t	entry,
  26663 	uint32 *	data,
  26664 	uint32 *	mask)
  26665 {
  26666 	return bcm_field_qualify_MplsLabel2Id_get(
  26667 			BCM_CONTROL(unit)->unit,
  26668 			entry,
  26669 			data,
  26670 			mask);
  26671 }
  26672 
  26673 int
  26674 bcm_loop_field_qualify_MplsLabel2Ttl(
  26675 	int	unit,
  26676 	bcm_field_entry_t	entry,
  26677 	uint8	data,
  26678 	uint8	mask)
  26679 {
  26680 	return bcm_field_qualify_MplsLabel2Ttl(
  26681 			BCM_CONTROL(unit)->unit,
  26682 			entry,
  26683 			data,
  26684 			mask);
  26685 }
  26686 
  26687 int
  26688 bcm_loop_field_qualify_MplsLabel2Ttl_get(
  26689 	int	unit,
  26690 	bcm_field_entry_t	entry,
  26691 	uint8 *	data,
  26692 	uint8 *	mask)
  26693 {
  26694 	return bcm_field_qualify_MplsLabel2Ttl_get(
  26695 			BCM_CONTROL(unit)->unit,
  26696 			entry,
  26697 			data,
  26698 			mask);
  26699 }
  26700 
  26701 int
  26702 bcm_loop_field_qualify_MplsLabel2_get(
  26703 	int	unit,
  26704 	bcm_field_entry_t	entry,
  26705 	uint32 *	data,
  26706 	uint32 *	mask)
  26707 {
  26708 	return bcm_field_qualify_MplsLabel2_get(
  26709 			BCM_CONTROL(unit)->unit,
  26710 			entry,
  26711 			data,
  26712 			mask);
  26713 }
  26714 
  26715 int
  26716 bcm_loop_field_qualify_MplsLabel3(
  26717 	int	unit,
  26718 	bcm_field_entry_t	entry,
  26719 	uint32	data,
  26720 	uint32	mask)
  26721 {
  26722 	return bcm_field_qualify_MplsLabel3(
  26723 			BCM_CONTROL(unit)->unit,
  26724 			entry,
  26725 			data,
  26726 			mask);
  26727 }
  26728 
  26729 int
  26730 bcm_loop_field_qualify_MplsLabel3Bos(
  26731 	int	unit,
  26732 	bcm_field_entry_t	entry,
  26733 	uint8	data,
  26734 	uint8	mask)
  26735 {
  26736 	return bcm_field_qualify_MplsLabel3Bos(
  26737 			BCM_CONTROL(unit)->unit,
  26738 			entry,
  26739 			data,
  26740 			mask);
  26741 }
  26742 
  26743 int
  26744 bcm_loop_field_qualify_MplsLabel3Bos_get(
  26745 	int	unit,
  26746 	bcm_field_entry_t	entry,
  26747 	uint8 *	data,
  26748 	uint8 *	mask)
  26749 {
  26750 	return bcm_field_qualify_MplsLabel3Bos_get(
  26751 			BCM_CONTROL(unit)->unit,
  26752 			entry,
  26753 			data,
  26754 			mask);
  26755 }
  26756 
  26757 int
  26758 bcm_loop_field_qualify_MplsLabel3Exp(
  26759 	int	unit,
  26760 	bcm_field_entry_t	entry,
  26761 	uint8	data,
  26762 	uint8	mask)
  26763 {
  26764 	return bcm_field_qualify_MplsLabel3Exp(
  26765 			BCM_CONTROL(unit)->unit,
  26766 			entry,
  26767 			data,
  26768 			mask);
  26769 }
  26770 
  26771 int
  26772 bcm_loop_field_qualify_MplsLabel3Exp_get(
  26773 	int	unit,
  26774 	bcm_field_entry_t	entry,
  26775 	uint8 *	data,
  26776 	uint8 *	mask)
  26777 {
  26778 	return bcm_field_qualify_MplsLabel3Exp_get(
  26779 			BCM_CONTROL(unit)->unit,
  26780 			entry,
  26781 			data,
  26782 			mask);
  26783 }
  26784 
  26785 int
  26786 bcm_loop_field_qualify_MplsLabel3Id(
  26787 	int	unit,
  26788 	bcm_field_entry_t	entry,
  26789 	uint32	data,
  26790 	uint32	mask)
  26791 {
  26792 	return bcm_field_qualify_MplsLabel3Id(
  26793 			BCM_CONTROL(unit)->unit,
  26794 			entry,
  26795 			data,
  26796 			mask);
  26797 }
  26798 
  26799 int
  26800 bcm_loop_field_qualify_MplsLabel3Id_get(
  26801 	int	unit,
  26802 	bcm_field_entry_t	entry,
  26803 	uint32 *	data,
  26804 	uint32 *	mask)
  26805 {
  26806 	return bcm_field_qualify_MplsLabel3Id_get(
  26807 			BCM_CONTROL(unit)->unit,
  26808 			entry,
  26809 			data,
  26810 			mask);
  26811 }
  26812 
  26813 int
  26814 bcm_loop_field_qualify_MplsLabel3Ttl(
  26815 	int	unit,
  26816 	bcm_field_entry_t	entry,
  26817 	uint8	data,
  26818 	uint8	mask)
  26819 {
  26820 	return bcm_field_qualify_MplsLabel3Ttl(
  26821 			BCM_CONTROL(unit)->unit,
  26822 			entry,
  26823 			data,
  26824 			mask);
  26825 }
  26826 
  26827 int
  26828 bcm_loop_field_qualify_MplsLabel3Ttl_get(
  26829 	int	unit,
  26830 	bcm_field_entry_t	entry,
  26831 	uint8 *	data,
  26832 	uint8 *	mask)
  26833 {
  26834 	return bcm_field_qualify_MplsLabel3Ttl_get(
  26835 			BCM_CONTROL(unit)->unit,
  26836 			entry,
  26837 			data,
  26838 			mask);
  26839 }
  26840 
  26841 int
  26842 bcm_loop_field_qualify_MplsLabel3_get(
  26843 	int	unit,
  26844 	bcm_field_entry_t	entry,
  26845 	uint32 *	data,
  26846 	uint32 *	mask)
  26847 {
  26848 	return bcm_field_qualify_MplsLabel3_get(
  26849 			BCM_CONTROL(unit)->unit,
  26850 			entry,
  26851 			data,
  26852 			mask);
  26853 }
  26854 
  26855 int
  26856 bcm_loop_field_qualify_MplsMcastEthertypePresent(
  26857 	int	unit,
  26858 	bcm_field_entry_t	entry,
  26859 	uint8	data,
  26860 	uint8	mask)
  26861 {
  26862 	return bcm_field_qualify_MplsMcastEthertypePresent(
  26863 			BCM_CONTROL(unit)->unit,
  26864 			entry,
  26865 			data,
  26866 			mask);
  26867 }
  26868 
  26869 int
  26870 bcm_loop_field_qualify_MplsMcastEthertypePresent_get(
  26871 	int	unit,
  26872 	bcm_field_entry_t	entry,
  26873 	uint8 *	data,
  26874 	uint8 *	mask)
  26875 {
  26876 	return bcm_field_qualify_MplsMcastEthertypePresent_get(
  26877 			BCM_CONTROL(unit)->unit,
  26878 			entry,
  26879 			data,
  26880 			mask);
  26881 }
  26882 
  26883 int
  26884 bcm_loop_field_qualify_MplsOamACH(
  26885 	int	unit,
  26886 	bcm_field_entry_t	entry,
  26887 	uint32	data,
  26888 	uint32	mask)
  26889 {
  26890 	return bcm_field_qualify_MplsOamACH(
  26891 			BCM_CONTROL(unit)->unit,
  26892 			entry,
  26893 			data,
  26894 			mask);
  26895 }
  26896 
  26897 int
  26898 bcm_loop_field_qualify_MplsOamACH_get(
  26899 	int	unit,
  26900 	bcm_field_entry_t	entry,
  26901 	uint32 *	data,
  26902 	uint32 *	mask)
  26903 {
  26904 	return bcm_field_qualify_MplsOamACH_get(
  26905 			BCM_CONTROL(unit)->unit,
  26906 			entry,
  26907 			data,
  26908 			mask);
  26909 }
  26910 
  26911 int
  26912 bcm_loop_field_qualify_MplsOamClassMplsSwitchLabel(
  26913 	int	unit,
  26914 	bcm_field_entry_t	entry,
  26915 	uint16	data,
  26916 	uint16	mask)
  26917 {
  26918 	return bcm_field_qualify_MplsOamClassMplsSwitchLabel(
  26919 			BCM_CONTROL(unit)->unit,
  26920 			entry,
  26921 			data,
  26922 			mask);
  26923 }
  26924 
  26925 int
  26926 bcm_loop_field_qualify_MplsOamClassMplsSwitchLabel_get(
  26927 	int	unit,
  26928 	bcm_field_entry_t	entry,
  26929 	uint16 *	data,
  26930 	uint16 *	mask)
  26931 {
  26932 	return bcm_field_qualify_MplsOamClassMplsSwitchLabel_get(
  26933 			BCM_CONTROL(unit)->unit,
  26934 			entry,
  26935 			data,
  26936 			mask);
  26937 }
  26938 
  26939 int
  26940 bcm_loop_field_qualify_MplsOamControlPktType(
  26941 	int	unit,
  26942 	bcm_field_entry_t	entry,
  26943 	bcm_field_MplsOam_Control_pktType_t	data)
  26944 {
  26945 	return bcm_field_qualify_MplsOamControlPktType(
  26946 			BCM_CONTROL(unit)->unit,
  26947 			entry,
  26948 			data);
  26949 }
  26950 
  26951 int
  26952 bcm_loop_field_qualify_MplsOamControlPktType_get(
  26953 	int	unit,
  26954 	bcm_field_entry_t	entry,
  26955 	bcm_field_MplsOam_Control_pktType_t *	data)
  26956 {
  26957 	return bcm_field_qualify_MplsOamControlPktType_get(
  26958 			BCM_CONTROL(unit)->unit,
  26959 			entry,
  26960 			data);
  26961 }
  26962 
  26963 int
  26964 bcm_loop_field_qualify_MplsOamGALExposed(
  26965 	int	unit,
  26966 	bcm_field_entry_t	entry,
  26967 	uint8	data,
  26968 	uint8	mask)
  26969 {
  26970 	return bcm_field_qualify_MplsOamGALExposed(
  26971 			BCM_CONTROL(unit)->unit,
  26972 			entry,
  26973 			data,
  26974 			mask);
  26975 }
  26976 
  26977 int
  26978 bcm_loop_field_qualify_MplsOamGALExposed_get(
  26979 	int	unit,
  26980 	bcm_field_entry_t	entry,
  26981 	uint8 *	data,
  26982 	uint8 *	mask)
  26983 {
  26984 	return bcm_field_qualify_MplsOamGALExposed_get(
  26985 			BCM_CONTROL(unit)->unit,
  26986 			entry,
  26987 			data,
  26988 			mask);
  26989 }
  26990 
  26991 int
  26992 bcm_loop_field_qualify_MplsOamGALLabelOnly(
  26993 	int	unit,
  26994 	bcm_field_entry_t	entry,
  26995 	uint8	data,
  26996 	uint8	mask)
  26997 {
  26998 	return bcm_field_qualify_MplsOamGALLabelOnly(
  26999 			BCM_CONTROL(unit)->unit,
  27000 			entry,
  27001 			data,
  27002 			mask);
  27003 }
  27004 
  27005 int
  27006 bcm_loop_field_qualify_MplsOamGALLabelOnly_get(
  27007 	int	unit,
  27008 	bcm_field_entry_t	entry,
  27009 	uint8 *	data,
  27010 	uint8 *	mask)
  27011 {
  27012 	return bcm_field_qualify_MplsOamGALLabelOnly_get(
  27013 			BCM_CONTROL(unit)->unit,
  27014 			entry,
  27015 			data,
  27016 			mask);
  27017 }
  27018 
  27019 int
  27020 bcm_loop_field_qualify_MplsOamHeaderBits0_31(
  27021 	int	unit,
  27022 	bcm_field_entry_t	entry,
  27023 	uint32	data,
  27024 	uint32	mask)
  27025 {
  27026 	return bcm_field_qualify_MplsOamHeaderBits0_31(
  27027 			BCM_CONTROL(unit)->unit,
  27028 			entry,
  27029 			data,
  27030 			mask);
  27031 }
  27032 
  27033 int
  27034 bcm_loop_field_qualify_MplsOamHeaderBits0_31_get(
  27035 	int	unit,
  27036 	bcm_field_entry_t	entry,
  27037 	uint32 *	data,
  27038 	uint32 *	mask)
  27039 {
  27040 	return bcm_field_qualify_MplsOamHeaderBits0_31_get(
  27041 			BCM_CONTROL(unit)->unit,
  27042 			entry,
  27043 			data,
  27044 			mask);
  27045 }
  27046 
  27047 int
  27048 bcm_loop_field_qualify_MplsOamHeaderBits32_63(
  27049 	int	unit,
  27050 	bcm_field_entry_t	entry,
  27051 	uint32	data,
  27052 	uint32	mask)
  27053 {
  27054 	return bcm_field_qualify_MplsOamHeaderBits32_63(
  27055 			BCM_CONTROL(unit)->unit,
  27056 			entry,
  27057 			data,
  27058 			mask);
  27059 }
  27060 
  27061 int
  27062 bcm_loop_field_qualify_MplsOamHeaderBits32_63_get(
  27063 	int	unit,
  27064 	bcm_field_entry_t	entry,
  27065 	uint32 *	data,
  27066 	uint32 *	mask)
  27067 {
  27068 	return bcm_field_qualify_MplsOamHeaderBits32_63_get(
  27069 			BCM_CONTROL(unit)->unit,
  27070 			entry,
  27071 			data,
  27072 			mask);
  27073 }
  27074 
  27075 int
  27076 bcm_loop_field_qualify_MplsOamUpperLabelDataDrop(
  27077 	int	unit,
  27078 	bcm_field_entry_t	entry,
  27079 	uint8	data,
  27080 	uint8	mask)
  27081 {
  27082 	return bcm_field_qualify_MplsOamUpperLabelDataDrop(
  27083 			BCM_CONTROL(unit)->unit,
  27084 			entry,
  27085 			data,
  27086 			mask);
  27087 }
  27088 
  27089 int
  27090 bcm_loop_field_qualify_MplsOamUpperLabelDataDrop_get(
  27091 	int	unit,
  27092 	bcm_field_entry_t	entry,
  27093 	uint8 *	data,
  27094 	uint8 *	mask)
  27095 {
  27096 	return bcm_field_qualify_MplsOamUpperLabelDataDrop_get(
  27097 			BCM_CONTROL(unit)->unit,
  27098 			entry,
  27099 			data,
  27100 			mask);
  27101 }
  27102 
  27103 int
  27104 bcm_loop_field_qualify_MplsOuterLabelPop(
  27105 	int	unit,
  27106 	bcm_field_entry_t	entry,
  27107 	uint8	data,
  27108 	uint8	mask)
  27109 {
  27110 	return bcm_field_qualify_MplsOuterLabelPop(
  27111 			BCM_CONTROL(unit)->unit,
  27112 			entry,
  27113 			data,
  27114 			mask);
  27115 }
  27116 
  27117 int
  27118 bcm_loop_field_qualify_MplsOuterLabelPop_get(
  27119 	int	unit,
  27120 	bcm_field_entry_t	entry,
  27121 	uint8 *	data,
  27122 	uint8 *	mask)
  27123 {
  27124 	return bcm_field_qualify_MplsOuterLabelPop_get(
  27125 			BCM_CONTROL(unit)->unit,
  27126 			entry,
  27127 			data,
  27128 			mask);
  27129 }
  27130 
  27131 int
  27132 bcm_loop_field_qualify_MplsStationHitTunnelUnterminated(
  27133 	int	unit,
  27134 	bcm_field_entry_t	entry,
  27135 	uint8	data,
  27136 	uint8	mask)
  27137 {
  27138 	return bcm_field_qualify_MplsStationHitTunnelUnterminated(
  27139 			BCM_CONTROL(unit)->unit,
  27140 			entry,
  27141 			data,
  27142 			mask);
  27143 }
  27144 
  27145 int
  27146 bcm_loop_field_qualify_MplsStationHitTunnelUnterminated_get(
  27147 	int	unit,
  27148 	bcm_field_entry_t	entry,
  27149 	uint8 *	data,
  27150 	uint8 *	mask)
  27151 {
  27152 	return bcm_field_qualify_MplsStationHitTunnelUnterminated_get(
  27153 			BCM_CONTROL(unit)->unit,
  27154 			entry,
  27155 			data,
  27156 			mask);
  27157 }
  27158 
  27159 int
  27160 bcm_loop_field_qualify_MplsTerminated(
  27161 	int	unit,
  27162 	bcm_field_entry_t	entry,
  27163 	uint8	data,
  27164 	uint8	mask)
  27165 {
  27166 	return bcm_field_qualify_MplsTerminated(
  27167 			BCM_CONTROL(unit)->unit,
  27168 			entry,
  27169 			data,
  27170 			mask);
  27171 }
  27172 
  27173 int
  27174 bcm_loop_field_qualify_MplsTerminatedHit(
  27175 	int	unit,
  27176 	bcm_field_entry_t	entry,
  27177 	uint8	data,
  27178 	uint8	mask)
  27179 {
  27180 	return bcm_field_qualify_MplsTerminatedHit(
  27181 			BCM_CONTROL(unit)->unit,
  27182 			entry,
  27183 			data,
  27184 			mask);
  27185 }
  27186 
  27187 int
  27188 bcm_loop_field_qualify_MplsTerminatedHit_get(
  27189 	int	unit,
  27190 	bcm_field_entry_t	entry,
  27191 	uint8 *	data,
  27192 	uint8 *	mask)
  27193 {
  27194 	return bcm_field_qualify_MplsTerminatedHit_get(
  27195 			BCM_CONTROL(unit)->unit,
  27196 			entry,
  27197 			data,
  27198 			mask);
  27199 }
  27200 
  27201 int
  27202 bcm_loop_field_qualify_MplsTerminatedValue(
  27203 	int	unit,
  27204 	bcm_field_entry_t	entry,
  27205 	uint64	data,
  27206 	uint64	mask)
  27207 {
  27208 	return bcm_field_qualify_MplsTerminatedValue(
  27209 			BCM_CONTROL(unit)->unit,
  27210 			entry,
  27211 			data,
  27212 			mask);
  27213 }
  27214 
  27215 int
  27216 bcm_loop_field_qualify_MplsTerminatedValue_get(
  27217 	int	unit,
  27218 	bcm_field_entry_t	entry,
  27219 	uint64 *	data,
  27220 	uint64 *	mask)
  27221 {
  27222 	return bcm_field_qualify_MplsTerminatedValue_get(
  27223 			BCM_CONTROL(unit)->unit,
  27224 			entry,
  27225 			data,
  27226 			mask);
  27227 }
  27228 
  27229 int
  27230 bcm_loop_field_qualify_MplsTerminated_get(
  27231 	int	unit,
  27232 	bcm_field_entry_t	entry,
  27233 	uint8 *	data,
  27234 	uint8 *	mask)
  27235 {
  27236 	return bcm_field_qualify_MplsTerminated_get(
  27237 			BCM_CONTROL(unit)->unit,
  27238 			entry,
  27239 			data,
  27240 			mask);
  27241 }
  27242 
  27243 int
  27244 bcm_loop_field_qualify_MyStation2Hit(
  27245 	int	unit,
  27246 	bcm_field_entry_t	entry,
  27247 	uint8	data,
  27248 	uint8	mask)
  27249 {
  27250 	return bcm_field_qualify_MyStation2Hit(
  27251 			BCM_CONTROL(unit)->unit,
  27252 			entry,
  27253 			data,
  27254 			mask);
  27255 }
  27256 
  27257 int
  27258 bcm_loop_field_qualify_MyStation2Hit_get(
  27259 	int	unit,
  27260 	bcm_field_entry_t	entry,
  27261 	uint8 *	data,
  27262 	uint8 *	mask)
  27263 {
  27264 	return bcm_field_qualify_MyStation2Hit_get(
  27265 			BCM_CONTROL(unit)->unit,
  27266 			entry,
  27267 			data,
  27268 			mask);
  27269 }
  27270 
  27271 int
  27272 bcm_loop_field_qualify_MyStationHit(
  27273 	int	unit,
  27274 	bcm_field_entry_t	entry,
  27275 	uint8	data,
  27276 	uint8	mask)
  27277 {
  27278 	return bcm_field_qualify_MyStationHit(
  27279 			BCM_CONTROL(unit)->unit,
  27280 			entry,
  27281 			data,
  27282 			mask);
  27283 }
  27284 
  27285 int
  27286 bcm_loop_field_qualify_MyStationHit_get(
  27287 	int	unit,
  27288 	bcm_field_entry_t	entry,
  27289 	uint8 *	data,
  27290 	uint8 *	mask)
  27291 {
  27292 	return bcm_field_qualify_MyStationHit_get(
  27293 			BCM_CONTROL(unit)->unit,
  27294 			entry,
  27295 			data,
  27296 			mask);
  27297 }
  27298 
  27299 int
  27300 bcm_loop_field_qualify_NatDstRealmId(
  27301 	int	unit,
  27302 	bcm_field_entry_t	entry,
  27303 	uint8	data,
  27304 	uint8	mask)
  27305 {
  27306 	return bcm_field_qualify_NatDstRealmId(
  27307 			BCM_CONTROL(unit)->unit,
  27308 			entry,
  27309 			data,
  27310 			mask);
  27311 }
  27312 
  27313 int
  27314 bcm_loop_field_qualify_NatDstRealmId_get(
  27315 	int	unit,
  27316 	bcm_field_entry_t	entry,
  27317 	uint8 *	data,
  27318 	uint8 *	mask)
  27319 {
  27320 	return bcm_field_qualify_NatDstRealmId_get(
  27321 			BCM_CONTROL(unit)->unit,
  27322 			entry,
  27323 			data,
  27324 			mask);
  27325 }
  27326 
  27327 int
  27328 bcm_loop_field_qualify_NatNeeded(
  27329 	int	unit,
  27330 	bcm_field_entry_t	entry,
  27331 	uint8	data,
  27332 	uint8	mask)
  27333 {
  27334 	return bcm_field_qualify_NatNeeded(
  27335 			BCM_CONTROL(unit)->unit,
  27336 			entry,
  27337 			data,
  27338 			mask);
  27339 }
  27340 
  27341 int
  27342 bcm_loop_field_qualify_NatNeeded_get(
  27343 	int	unit,
  27344 	bcm_field_entry_t	entry,
  27345 	uint8 *	data,
  27346 	uint8 *	mask)
  27347 {
  27348 	return bcm_field_qualify_NatNeeded_get(
  27349 			BCM_CONTROL(unit)->unit,
  27350 			entry,
  27351 			data,
  27352 			mask);
  27353 }
  27354 
  27355 int
  27356 bcm_loop_field_qualify_NatSrcRealmId(
  27357 	int	unit,
  27358 	bcm_field_entry_t	entry,
  27359 	uint8	data,
  27360 	uint8	mask)
  27361 {
  27362 	return bcm_field_qualify_NatSrcRealmId(
  27363 			BCM_CONTROL(unit)->unit,
  27364 			entry,
  27365 			data,
  27366 			mask);
  27367 }
  27368 
  27369 int
  27370 bcm_loop_field_qualify_NatSrcRealmId_get(
  27371 	int	unit,
  27372 	bcm_field_entry_t	entry,
  27373 	uint8 *	data,
  27374 	uint8 *	mask)
  27375 {
  27376 	return bcm_field_qualify_NatSrcRealmId_get(
  27377 			BCM_CONTROL(unit)->unit,
  27378 			entry,
  27379 			data,
  27380 			mask);
  27381 }
  27382 
  27383 int
  27384 bcm_loop_field_qualify_NativeVSwitch(
  27385 	int	unit,
  27386 	bcm_field_entry_t	entry,
  27387 	bcm_vlan_t	data,
  27388 	bcm_vlan_t	mask)
  27389 {
  27390 	return bcm_field_qualify_NativeVSwitch(
  27391 			BCM_CONTROL(unit)->unit,
  27392 			entry,
  27393 			data,
  27394 			mask);
  27395 }
  27396 
  27397 int
  27398 bcm_loop_field_qualify_NativeVSwitchValid(
  27399 	int	unit,
  27400 	bcm_field_entry_t	entry,
  27401 	uint8	data,
  27402 	uint8	mask)
  27403 {
  27404 	return bcm_field_qualify_NativeVSwitchValid(
  27405 			BCM_CONTROL(unit)->unit,
  27406 			entry,
  27407 			data,
  27408 			mask);
  27409 }
  27410 
  27411 int
  27412 bcm_loop_field_qualify_NativeVSwitchValid_get(
  27413 	int	unit,
  27414 	bcm_field_entry_t	entry,
  27415 	uint8 *	data,
  27416 	uint8 *	mask)
  27417 {
  27418 	return bcm_field_qualify_NativeVSwitchValid_get(
  27419 			BCM_CONTROL(unit)->unit,
  27420 			entry,
  27421 			data,
  27422 			mask);
  27423 }
  27424 
  27425 int
  27426 bcm_loop_field_qualify_NativeVSwitch_get(
  27427 	int	unit,
  27428 	bcm_field_entry_t	entry,
  27429 	bcm_vlan_t *	data,
  27430 	bcm_vlan_t *	mask)
  27431 {
  27432 	return bcm_field_qualify_NativeVSwitch_get(
  27433 			BCM_CONTROL(unit)->unit,
  27434 			entry,
  27435 			data,
  27436 			mask);
  27437 }
  27438 
  27439 int
  27440 bcm_loop_field_qualify_NetworkTagMulticastPkt(
  27441 	int	unit,
  27442 	bcm_field_entry_t	entry,
  27443 	uint8	data,
  27444 	uint8	mask)
  27445 {
  27446 	return bcm_field_qualify_NetworkTagMulticastPkt(
  27447 			BCM_CONTROL(unit)->unit,
  27448 			entry,
  27449 			data,
  27450 			mask);
  27451 }
  27452 
  27453 int
  27454 bcm_loop_field_qualify_NetworkTagMulticastPkt_get(
  27455 	int	unit,
  27456 	bcm_field_entry_t	entry,
  27457 	uint8 *	data,
  27458 	uint8 *	mask)
  27459 {
  27460 	return bcm_field_qualify_NetworkTagMulticastPkt_get(
  27461 			BCM_CONTROL(unit)->unit,
  27462 			entry,
  27463 			data,
  27464 			mask);
  27465 }
  27466 
  27467 int
  27468 bcm_loop_field_qualify_NetworkTagType(
  27469 	int	unit,
  27470 	bcm_field_entry_t	entry,
  27471 	bcm_field_network_tag_type_t	type)
  27472 {
  27473 	return bcm_field_qualify_NetworkTagType(
  27474 			BCM_CONTROL(unit)->unit,
  27475 			entry,
  27476 			type);
  27477 }
  27478 
  27479 int
  27480 bcm_loop_field_qualify_NetworkTagType_get(
  27481 	int	unit,
  27482 	bcm_field_entry_t	entry,
  27483 	bcm_field_network_tag_type_t *	type)
  27484 {
  27485 	return bcm_field_qualify_NetworkTagType_get(
  27486 			BCM_CONTROL(unit)->unit,
  27487 			entry,
  27488 			type);
  27489 }
  27490 
  27491 int
  27492 bcm_loop_field_qualify_NshServiceIndex(
  27493 	int	unit,
  27494 	bcm_field_entry_t	entry,
  27495 	uint32	data,
  27496 	uint32	mask)
  27497 {
  27498 	return bcm_field_qualify_NshServiceIndex(
  27499 			BCM_CONTROL(unit)->unit,
  27500 			entry,
  27501 			data,
  27502 			mask);
  27503 }
  27504 
  27505 int
  27506 bcm_loop_field_qualify_NshServiceIndex_get(
  27507 	int	unit,
  27508 	bcm_field_entry_t	entry,
  27509 	uint32 *	data,
  27510 	uint32 *	mask)
  27511 {
  27512 	return bcm_field_qualify_NshServiceIndex_get(
  27513 			BCM_CONTROL(unit)->unit,
  27514 			entry,
  27515 			data,
  27516 			mask);
  27517 }
  27518 
  27519 int
  27520 bcm_loop_field_qualify_NshServicePathId(
  27521 	int	unit,
  27522 	bcm_field_entry_t	entry,
  27523 	uint32	data,
  27524 	uint32	mask)
  27525 {
  27526 	return bcm_field_qualify_NshServicePathId(
  27527 			BCM_CONTROL(unit)->unit,
  27528 			entry,
  27529 			data,
  27530 			mask);
  27531 }
  27532 
  27533 int
  27534 bcm_loop_field_qualify_NshServicePathId_get(
  27535 	int	unit,
  27536 	bcm_field_entry_t	entry,
  27537 	uint32 *	data,
  27538 	uint32 *	mask)
  27539 {
  27540 	return bcm_field_qualify_NshServicePathId_get(
  27541 			BCM_CONTROL(unit)->unit,
  27542 			entry,
  27543 			data,
  27544 			mask);
  27545 }
  27546 
  27547 int
  27548 bcm_loop_field_qualify_OamDownMEPLoopbackPacket(
  27549 	int	unit,
  27550 	bcm_field_entry_t	entry,
  27551 	uint8	data,
  27552 	uint8	mask)
  27553 {
  27554 	return bcm_field_qualify_OamDownMEPLoopbackPacket(
  27555 			BCM_CONTROL(unit)->unit,
  27556 			entry,
  27557 			data,
  27558 			mask);
  27559 }
  27560 
  27561 int
  27562 bcm_loop_field_qualify_OamDownMEPLoopbackPacket_get(
  27563 	int	unit,
  27564 	bcm_field_entry_t	entry,
  27565 	uint8 *	data,
  27566 	uint8 *	mask)
  27567 {
  27568 	return bcm_field_qualify_OamDownMEPLoopbackPacket_get(
  27569 			BCM_CONTROL(unit)->unit,
  27570 			entry,
  27571 			data,
  27572 			mask);
  27573 }
  27574 
  27575 int
  27576 bcm_loop_field_qualify_OamEgressClass2Vxlt(
  27577 	int	unit,
  27578 	bcm_field_entry_t	entry,
  27579 	uint32	data,
  27580 	uint32	mask)
  27581 {
  27582 	return bcm_field_qualify_OamEgressClass2Vxlt(
  27583 			BCM_CONTROL(unit)->unit,
  27584 			entry,
  27585 			data,
  27586 			mask);
  27587 }
  27588 
  27589 int
  27590 bcm_loop_field_qualify_OamEgressClass2Vxlt_get(
  27591 	int	unit,
  27592 	bcm_field_entry_t	entry,
  27593 	uint32 *	data,
  27594 	uint32 *	mask)
  27595 {
  27596 	return bcm_field_qualify_OamEgressClass2Vxlt_get(
  27597 			BCM_CONTROL(unit)->unit,
  27598 			entry,
  27599 			data,
  27600 			mask);
  27601 }
  27602 
  27603 int
  27604 bcm_loop_field_qualify_OamEgressClassPort(
  27605 	int	unit,
  27606 	bcm_field_entry_t	entry,
  27607 	uint16	data,
  27608 	uint16	mask)
  27609 {
  27610 	return bcm_field_qualify_OamEgressClassPort(
  27611 			BCM_CONTROL(unit)->unit,
  27612 			entry,
  27613 			data,
  27614 			mask);
  27615 }
  27616 
  27617 int
  27618 bcm_loop_field_qualify_OamEgressClassPort_get(
  27619 	int	unit,
  27620 	bcm_field_entry_t	entry,
  27621 	uint16 *	data,
  27622 	uint16 *	mask)
  27623 {
  27624 	return bcm_field_qualify_OamEgressClassPort_get(
  27625 			BCM_CONTROL(unit)->unit,
  27626 			entry,
  27627 			data,
  27628 			mask);
  27629 }
  27630 
  27631 int
  27632 bcm_loop_field_qualify_OamEgressClassSrcMac(
  27633 	int	unit,
  27634 	bcm_field_entry_t	entry,
  27635 	uint32	data,
  27636 	uint32	mask)
  27637 {
  27638 	return bcm_field_qualify_OamEgressClassSrcMac(
  27639 			BCM_CONTROL(unit)->unit,
  27640 			entry,
  27641 			data,
  27642 			mask);
  27643 }
  27644 
  27645 int
  27646 bcm_loop_field_qualify_OamEgressClassSrcMac_get(
  27647 	int	unit,
  27648 	bcm_field_entry_t	entry,
  27649 	uint32 *	data,
  27650 	uint32 *	mask)
  27651 {
  27652 	return bcm_field_qualify_OamEgressClassSrcMac_get(
  27653 			BCM_CONTROL(unit)->unit,
  27654 			entry,
  27655 			data,
  27656 			mask);
  27657 }
  27658 
  27659 int
  27660 bcm_loop_field_qualify_OamEgressClassVxlt(
  27661 	int	unit,
  27662 	bcm_field_entry_t	entry,
  27663 	uint16	data,
  27664 	uint16	mask)
  27665 {
  27666 	return bcm_field_qualify_OamEgressClassVxlt(
  27667 			BCM_CONTROL(unit)->unit,
  27668 			entry,
  27669 			data,
  27670 			mask);
  27671 }
  27672 
  27673 int
  27674 bcm_loop_field_qualify_OamEgressClassVxlt_get(
  27675 	int	unit,
  27676 	bcm_field_entry_t	entry,
  27677 	uint16 *	data,
  27678 	uint16 *	mask)
  27679 {
  27680 	return bcm_field_qualify_OamEgressClassVxlt_get(
  27681 			BCM_CONTROL(unit)->unit,
  27682 			entry,
  27683 			data,
  27684 			mask);
  27685 }
  27686 
  27687 int
  27688 bcm_loop_field_qualify_OamEgressEtherType(
  27689 	int	unit,
  27690 	bcm_field_entry_t	entry,
  27691 	uint16	data)
  27692 {
  27693 	return bcm_field_qualify_OamEgressEtherType(
  27694 			BCM_CONTROL(unit)->unit,
  27695 			entry,
  27696 			data);
  27697 }
  27698 
  27699 int
  27700 bcm_loop_field_qualify_OamEgressEtherType_get(
  27701 	int	unit,
  27702 	bcm_field_entry_t	entry,
  27703 	uint16 *	data)
  27704 {
  27705 	return bcm_field_qualify_OamEgressEtherType_get(
  27706 			BCM_CONTROL(unit)->unit,
  27707 			entry,
  27708 			data);
  27709 }
  27710 
  27711 int
  27712 bcm_loop_field_qualify_OamEgressMulticastMacHit(
  27713 	int	unit,
  27714 	bcm_field_entry_t	entry,
  27715 	uint8	data)
  27716 {
  27717 	return bcm_field_qualify_OamEgressMulticastMacHit(
  27718 			BCM_CONTROL(unit)->unit,
  27719 			entry,
  27720 			data);
  27721 }
  27722 
  27723 int
  27724 bcm_loop_field_qualify_OamEgressMulticastMacHit_get(
  27725 	int	unit,
  27726 	bcm_field_entry_t	entry,
  27727 	uint8 *	data)
  27728 {
  27729 	return bcm_field_qualify_OamEgressMulticastMacHit_get(
  27730 			BCM_CONTROL(unit)->unit,
  27731 			entry,
  27732 			data);
  27733 }
  27734 
  27735 int
  27736 bcm_loop_field_qualify_OamEgressPortUnicastDstMacHit(
  27737 	int	unit,
  27738 	bcm_field_entry_t	entry,
  27739 	uint8	data,
  27740 	uint8	mask)
  27741 {
  27742 	return bcm_field_qualify_OamEgressPortUnicastDstMacHit(
  27743 			BCM_CONTROL(unit)->unit,
  27744 			entry,
  27745 			data,
  27746 			mask);
  27747 }
  27748 
  27749 int
  27750 bcm_loop_field_qualify_OamEgressPortUnicastDstMacHit_get(
  27751 	int	unit,
  27752 	bcm_field_entry_t	entry,
  27753 	uint8 *	data,
  27754 	uint8 *	mask)
  27755 {
  27756 	return bcm_field_qualify_OamEgressPortUnicastDstMacHit_get(
  27757 			BCM_CONTROL(unit)->unit,
  27758 			entry,
  27759 			data,
  27760 			mask);
  27761 }
  27762 
  27763 int
  27764 bcm_loop_field_qualify_OamEgressVxltFirstHit(
  27765 	int	unit,
  27766 	bcm_field_entry_t	entry,
  27767 	uint8	data,
  27768 	uint8	mask)
  27769 {
  27770 	return bcm_field_qualify_OamEgressVxltFirstHit(
  27771 			BCM_CONTROL(unit)->unit,
  27772 			entry,
  27773 			data,
  27774 			mask);
  27775 }
  27776 
  27777 int
  27778 bcm_loop_field_qualify_OamEgressVxltFirstHit_get(
  27779 	int	unit,
  27780 	bcm_field_entry_t	entry,
  27781 	uint8 *	data,
  27782 	uint8 *	mask)
  27783 {
  27784 	return bcm_field_qualify_OamEgressVxltFirstHit_get(
  27785 			BCM_CONTROL(unit)->unit,
  27786 			entry,
  27787 			data,
  27788 			mask);
  27789 }
  27790 
  27791 int
  27792 bcm_loop_field_qualify_OamEgressVxltSecondHit(
  27793 	int	unit,
  27794 	bcm_field_entry_t	entry,
  27795 	uint8	data,
  27796 	uint8	mask)
  27797 {
  27798 	return bcm_field_qualify_OamEgressVxltSecondHit(
  27799 			BCM_CONTROL(unit)->unit,
  27800 			entry,
  27801 			data,
  27802 			mask);
  27803 }
  27804 
  27805 int
  27806 bcm_loop_field_qualify_OamEgressVxltSecondHit_get(
  27807 	int	unit,
  27808 	bcm_field_entry_t	entry,
  27809 	uint8 *	data,
  27810 	uint8 *	mask)
  27811 {
  27812 	return bcm_field_qualify_OamEgressVxltSecondHit_get(
  27813 			BCM_CONTROL(unit)->unit,
  27814 			entry,
  27815 			data,
  27816 			mask);
  27817 }
  27818 
  27819 int
  27820 bcm_loop_field_qualify_OamHeaderBits0_31(
  27821 	int	unit,
  27822 	bcm_field_entry_t	entry,
  27823 	uint32	data,
  27824 	uint32	mask)
  27825 {
  27826 	return bcm_field_qualify_OamHeaderBits0_31(
  27827 			BCM_CONTROL(unit)->unit,
  27828 			entry,
  27829 			data,
  27830 			mask);
  27831 }
  27832 
  27833 int
  27834 bcm_loop_field_qualify_OamHeaderBits0_31_get(
  27835 	int	unit,
  27836 	bcm_field_entry_t	entry,
  27837 	uint32 *	data,
  27838 	uint32 *	mask)
  27839 {
  27840 	return bcm_field_qualify_OamHeaderBits0_31_get(
  27841 			BCM_CONTROL(unit)->unit,
  27842 			entry,
  27843 			data,
  27844 			mask);
  27845 }
  27846 
  27847 int
  27848 bcm_loop_field_qualify_OamHeaderBits32_63(
  27849 	int	unit,
  27850 	bcm_field_entry_t	entry,
  27851 	uint32	data,
  27852 	uint32	mask)
  27853 {
  27854 	return bcm_field_qualify_OamHeaderBits32_63(
  27855 			BCM_CONTROL(unit)->unit,
  27856 			entry,
  27857 			data,
  27858 			mask);
  27859 }
  27860 
  27861 int
  27862 bcm_loop_field_qualify_OamHeaderBits32_63_get(
  27863 	int	unit,
  27864 	bcm_field_entry_t	entry,
  27865 	uint32 *	data,
  27866 	uint32 *	mask)
  27867 {
  27868 	return bcm_field_qualify_OamHeaderBits32_63_get(
  27869 			BCM_CONTROL(unit)->unit,
  27870 			entry,
  27871 			data,
  27872 			mask);
  27873 }
  27874 
  27875 int
  27876 bcm_loop_field_qualify_OamHeaderOffset(
  27877 	int	unit,
  27878 	bcm_field_entry_t	entry,
  27879 	uint32	data,
  27880 	uint32	mask)
  27881 {
  27882 	return bcm_field_qualify_OamHeaderOffset(
  27883 			BCM_CONTROL(unit)->unit,
  27884 			entry,
  27885 			data,
  27886 			mask);
  27887 }
  27888 
  27889 int
  27890 bcm_loop_field_qualify_OamHeaderOffset_get(
  27891 	int	unit,
  27892 	bcm_field_entry_t	entry,
  27893 	uint32 *	data,
  27894 	uint32 *	mask)
  27895 {
  27896 	return bcm_field_qualify_OamHeaderOffset_get(
  27897 			BCM_CONTROL(unit)->unit,
  27898 			entry,
  27899 			data,
  27900 			mask);
  27901 }
  27902 
  27903 int
  27904 bcm_loop_field_qualify_OamInLifId(
  27905 	int	unit,
  27906 	bcm_field_entry_t	entry,
  27907 	uint32	data,
  27908 	uint32	mask)
  27909 {
  27910 	return bcm_field_qualify_OamInLifId(
  27911 			BCM_CONTROL(unit)->unit,
  27912 			entry,
  27913 			data,
  27914 			mask);
  27915 }
  27916 
  27917 int
  27918 bcm_loop_field_qualify_OamInLifIdValid(
  27919 	int	unit,
  27920 	bcm_field_entry_t	entry,
  27921 	uint8	data,
  27922 	uint8	mask)
  27923 {
  27924 	return bcm_field_qualify_OamInLifIdValid(
  27925 			BCM_CONTROL(unit)->unit,
  27926 			entry,
  27927 			data,
  27928 			mask);
  27929 }
  27930 
  27931 int
  27932 bcm_loop_field_qualify_OamInLifIdValid_get(
  27933 	int	unit,
  27934 	bcm_field_entry_t	entry,
  27935 	uint8 *	data,
  27936 	uint8 *	mask)
  27937 {
  27938 	return bcm_field_qualify_OamInLifIdValid_get(
  27939 			BCM_CONTROL(unit)->unit,
  27940 			entry,
  27941 			data,
  27942 			mask);
  27943 }
  27944 
  27945 int
  27946 bcm_loop_field_qualify_OamInLifId_get(
  27947 	int	unit,
  27948 	bcm_field_entry_t	entry,
  27949 	uint32 *	data,
  27950 	uint32 *	mask)
  27951 {
  27952 	return bcm_field_qualify_OamInLifId_get(
  27953 			BCM_CONTROL(unit)->unit,
  27954 			entry,
  27955 			data,
  27956 			mask);
  27957 }
  27958 
  27959 int
  27960 bcm_loop_field_qualify_OamMdl(
  27961 	int	unit,
  27962 	bcm_field_entry_t	entry,
  27963 	uint8	data,
  27964 	uint8	mask)
  27965 {
  27966 	return bcm_field_qualify_OamMdl(
  27967 			BCM_CONTROL(unit)->unit,
  27968 			entry,
  27969 			data,
  27970 			mask);
  27971 }
  27972 
  27973 int
  27974 bcm_loop_field_qualify_OamMdl_get(
  27975 	int	unit,
  27976 	bcm_field_entry_t	entry,
  27977 	uint8 *	data,
  27978 	uint8 *	mask)
  27979 {
  27980 	return bcm_field_qualify_OamMdl_get(
  27981 			BCM_CONTROL(unit)->unit,
  27982 			entry,
  27983 			data,
  27984 			mask);
  27985 }
  27986 
  27987 int
  27988 bcm_loop_field_qualify_OamMepId(
  27989 	int	unit,
  27990 	bcm_field_entry_t	entry,
  27991 	uint32	data,
  27992 	uint32	mask)
  27993 {
  27994 	return bcm_field_qualify_OamMepId(
  27995 			BCM_CONTROL(unit)->unit,
  27996 			entry,
  27997 			data,
  27998 			mask);
  27999 }
  28000 
  28001 int
  28002 bcm_loop_field_qualify_OamMepId_get(
  28003 	int	unit,
  28004 	bcm_field_entry_t	entry,
  28005 	uint32 *	data,
  28006 	uint32 *	mask)
  28007 {
  28008 	return bcm_field_qualify_OamMepId_get(
  28009 			BCM_CONTROL(unit)->unit,
  28010 			entry,
  28011 			data,
  28012 			mask);
  28013 }
  28014 
  28015 int
  28016 bcm_loop_field_qualify_OamMeterDisable(
  28017 	int	unit,
  28018 	bcm_field_entry_t	entry,
  28019 	uint8	data,
  28020 	uint8	mask)
  28021 {
  28022 	return bcm_field_qualify_OamMeterDisable(
  28023 			BCM_CONTROL(unit)->unit,
  28024 			entry,
  28025 			data,
  28026 			mask);
  28027 }
  28028 
  28029 int
  28030 bcm_loop_field_qualify_OamMeterDisable_get(
  28031 	int	unit,
  28032 	bcm_field_entry_t	entry,
  28033 	uint8 *	data,
  28034 	uint8 *	mask)
  28035 {
  28036 	return bcm_field_qualify_OamMeterDisable_get(
  28037 			BCM_CONTROL(unit)->unit,
  28038 			entry,
  28039 			data,
  28040 			mask);
  28041 }
  28042 
  28043 int
  28044 bcm_loop_field_qualify_OamStampOffset(
  28045 	int	unit,
  28046 	bcm_field_entry_t	entry,
  28047 	uint32	data,
  28048 	uint32	mask)
  28049 {
  28050 	return bcm_field_qualify_OamStampOffset(
  28051 			BCM_CONTROL(unit)->unit,
  28052 			entry,
  28053 			data,
  28054 			mask);
  28055 }
  28056 
  28057 int
  28058 bcm_loop_field_qualify_OamStampOffset_get(
  28059 	int	unit,
  28060 	bcm_field_entry_t	entry,
  28061 	uint32 *	data,
  28062 	uint32 *	mask)
  28063 {
  28064 	return bcm_field_qualify_OamStampOffset_get(
  28065 			BCM_CONTROL(unit)->unit,
  28066 			entry,
  28067 			data,
  28068 			mask);
  28069 }
  28070 
  28071 int
  28072 bcm_loop_field_qualify_OamSubtype(
  28073 	int	unit,
  28074 	bcm_field_entry_t	entry,
  28075 	uint8	data,
  28076 	uint8	mask)
  28077 {
  28078 	return bcm_field_qualify_OamSubtype(
  28079 			BCM_CONTROL(unit)->unit,
  28080 			entry,
  28081 			data,
  28082 			mask);
  28083 }
  28084 
  28085 int
  28086 bcm_loop_field_qualify_OamSubtype_get(
  28087 	int	unit,
  28088 	bcm_field_entry_t	entry,
  28089 	uint8 *	data,
  28090 	uint8 *	mask)
  28091 {
  28092 	return bcm_field_qualify_OamSubtype_get(
  28093 			BCM_CONTROL(unit)->unit,
  28094 			entry,
  28095 			data,
  28096 			mask);
  28097 }
  28098 
  28099 int
  28100 bcm_loop_field_qualify_OamTsSystemHeader(
  28101 	int	unit,
  28102 	bcm_field_entry_t	entry,
  28103 	uint64	data,
  28104 	uint64	mask)
  28105 {
  28106 	return bcm_field_qualify_OamTsSystemHeader(
  28107 			BCM_CONTROL(unit)->unit,
  28108 			entry,
  28109 			data,
  28110 			mask);
  28111 }
  28112 
  28113 int
  28114 bcm_loop_field_qualify_OamTsSystemHeader_get(
  28115 	int	unit,
  28116 	bcm_field_entry_t	entry,
  28117 	uint64 *	data,
  28118 	uint64 *	mask)
  28119 {
  28120 	return bcm_field_qualify_OamTsSystemHeader_get(
  28121 			BCM_CONTROL(unit)->unit,
  28122 			entry,
  28123 			data,
  28124 			mask);
  28125 }
  28126 
  28127 int
  28128 bcm_loop_field_qualify_OamType(
  28129 	int	unit,
  28130 	bcm_field_entry_t	entry,
  28131 	bcm_field_oam_type_t	oam_type)
  28132 {
  28133 	return bcm_field_qualify_OamType(
  28134 			BCM_CONTROL(unit)->unit,
  28135 			entry,
  28136 			oam_type);
  28137 }
  28138 
  28139 int
  28140 bcm_loop_field_qualify_OamType_get(
  28141 	int	unit,
  28142 	bcm_field_entry_t	entry,
  28143 	bcm_field_oam_type_t *	oam_type)
  28144 {
  28145 	return bcm_field_qualify_OamType_get(
  28146 			BCM_CONTROL(unit)->unit,
  28147 			entry,
  28148 			oam_type);
  28149 }
  28150 
  28151 int
  28152 bcm_loop_field_qualify_OamUpMep(
  28153 	int	unit,
  28154 	bcm_field_entry_t	entry,
  28155 	uint8	data,
  28156 	uint8	mask)
  28157 {
  28158 	return bcm_field_qualify_OamUpMep(
  28159 			BCM_CONTROL(unit)->unit,
  28160 			entry,
  28161 			data,
  28162 			mask);
  28163 }
  28164 
  28165 int
  28166 bcm_loop_field_qualify_OamUpMep_get(
  28167 	int	unit,
  28168 	bcm_field_entry_t	entry,
  28169 	uint8 *	data,
  28170 	uint8 *	mask)
  28171 {
  28172 	return bcm_field_qualify_OamUpMep_get(
  28173 			BCM_CONTROL(unit)->unit,
  28174 			entry,
  28175 			data,
  28176 			mask);
  28177 }
  28178 
  28179 int
  28180 bcm_loop_field_qualify_OpaqueObject1(
  28181 	int	unit,
  28182 	bcm_field_entry_t	entry,
  28183 	uint16	data,
  28184 	uint16	mask)
  28185 {
  28186 	return bcm_field_qualify_OpaqueObject1(
  28187 			BCM_CONTROL(unit)->unit,
  28188 			entry,
  28189 			data,
  28190 			mask);
  28191 }
  28192 
  28193 int
  28194 bcm_loop_field_qualify_OpaqueObject1_get(
  28195 	int	unit,
  28196 	bcm_field_entry_t	entry,
  28197 	uint16 *	data,
  28198 	uint16 *	mask)
  28199 {
  28200 	return bcm_field_qualify_OpaqueObject1_get(
  28201 			BCM_CONTROL(unit)->unit,
  28202 			entry,
  28203 			data,
  28204 			mask);
  28205 }
  28206 
  28207 int
  28208 bcm_loop_field_qualify_OpaqueObject2(
  28209 	int	unit,
  28210 	bcm_field_entry_t	entry,
  28211 	uint16	data,
  28212 	uint16	mask)
  28213 {
  28214 	return bcm_field_qualify_OpaqueObject2(
  28215 			BCM_CONTROL(unit)->unit,
  28216 			entry,
  28217 			data,
  28218 			mask);
  28219 }
  28220 
  28221 int
  28222 bcm_loop_field_qualify_OpaqueObject2_get(
  28223 	int	unit,
  28224 	bcm_field_entry_t	entry,
  28225 	uint16 *	data,
  28226 	uint16 *	mask)
  28227 {
  28228 	return bcm_field_qualify_OpaqueObject2_get(
  28229 			BCM_CONTROL(unit)->unit,
  28230 			entry,
  28231 			data,
  28232 			mask);
  28233 }
  28234 
  28235 int
  28236 bcm_loop_field_qualify_OpaqueObject3(
  28237 	int	unit,
  28238 	bcm_field_entry_t	entry,
  28239 	uint16	data,
  28240 	uint16	mask)
  28241 {
  28242 	return bcm_field_qualify_OpaqueObject3(
  28243 			BCM_CONTROL(unit)->unit,
  28244 			entry,
  28245 			data,
  28246 			mask);
  28247 }
  28248 
  28249 int
  28250 bcm_loop_field_qualify_OpaqueObject3_get(
  28251 	int	unit,
  28252 	bcm_field_entry_t	entry,
  28253 	uint16 *	data,
  28254 	uint16 *	mask)
  28255 {
  28256 	return bcm_field_qualify_OpaqueObject3_get(
  28257 			BCM_CONTROL(unit)->unit,
  28258 			entry,
  28259 			data,
  28260 			mask);
  28261 }
  28262 
  28263 int
  28264 bcm_loop_field_qualify_OpaqueObject4(
  28265 	int	unit,
  28266 	bcm_field_entry_t	entry,
  28267 	uint16	data,
  28268 	uint16	mask)
  28269 {
  28270 	return bcm_field_qualify_OpaqueObject4(
  28271 			BCM_CONTROL(unit)->unit,
  28272 			entry,
  28273 			data,
  28274 			mask);
  28275 }
  28276 
  28277 int
  28278 bcm_loop_field_qualify_OpaqueObject4_get(
  28279 	int	unit,
  28280 	bcm_field_entry_t	entry,
  28281 	uint16 *	data,
  28282 	uint16 *	mask)
  28283 {
  28284 	return bcm_field_qualify_OpaqueObject4_get(
  28285 			BCM_CONTROL(unit)->unit,
  28286 			entry,
  28287 			data,
  28288 			mask);
  28289 }
  28290 
  28291 int
  28292 bcm_loop_field_qualify_OpaqueTagHigh(
  28293 	int	unit,
  28294 	bcm_field_entry_t	entry,
  28295 	uint32	data,
  28296 	uint32	mask)
  28297 {
  28298 	return bcm_field_qualify_OpaqueTagHigh(
  28299 			BCM_CONTROL(unit)->unit,
  28300 			entry,
  28301 			data,
  28302 			mask);
  28303 }
  28304 
  28305 int
  28306 bcm_loop_field_qualify_OpaqueTagHigh_get(
  28307 	int	unit,
  28308 	bcm_field_entry_t	entry,
  28309 	uint32 *	data,
  28310 	uint32 *	mask)
  28311 {
  28312 	return bcm_field_qualify_OpaqueTagHigh_get(
  28313 			BCM_CONTROL(unit)->unit,
  28314 			entry,
  28315 			data,
  28316 			mask);
  28317 }
  28318 
  28319 int
  28320 bcm_loop_field_qualify_OpaqueTagLow(
  28321 	int	unit,
  28322 	bcm_field_entry_t	entry,
  28323 	uint32	data,
  28324 	uint32	mask)
  28325 {
  28326 	return bcm_field_qualify_OpaqueTagLow(
  28327 			BCM_CONTROL(unit)->unit,
  28328 			entry,
  28329 			data,
  28330 			mask);
  28331 }
  28332 
  28333 int
  28334 bcm_loop_field_qualify_OpaqueTagLow_get(
  28335 	int	unit,
  28336 	bcm_field_entry_t	entry,
  28337 	uint32 *	data,
  28338 	uint32 *	mask)
  28339 {
  28340 	return bcm_field_qualify_OpaqueTagLow_get(
  28341 			BCM_CONTROL(unit)->unit,
  28342 			entry,
  28343 			data,
  28344 			mask);
  28345 }
  28346 
  28347 int
  28348 bcm_loop_field_qualify_OpaqueTagType(
  28349 	int	unit,
  28350 	bcm_field_entry_t	entry,
  28351 	uint8	data,
  28352 	uint8	mask)
  28353 {
  28354 	return bcm_field_qualify_OpaqueTagType(
  28355 			BCM_CONTROL(unit)->unit,
  28356 			entry,
  28357 			data,
  28358 			mask);
  28359 }
  28360 
  28361 int
  28362 bcm_loop_field_qualify_OpaqueTagType_get(
  28363 	int	unit,
  28364 	bcm_field_entry_t	entry,
  28365 	uint8 *	data,
  28366 	uint8 *	mask)
  28367 {
  28368 	return bcm_field_qualify_OpaqueTagType_get(
  28369 			BCM_CONTROL(unit)->unit,
  28370 			entry,
  28371 			data,
  28372 			mask);
  28373 }
  28374 
  28375 int
  28376 bcm_loop_field_qualify_OutPort(
  28377 	int	unit,
  28378 	bcm_field_entry_t	entry,
  28379 	bcm_port_t	data,
  28380 	bcm_port_t	mask)
  28381 {
  28382 	return bcm_field_qualify_OutPort(
  28383 			BCM_CONTROL(unit)->unit,
  28384 			entry,
  28385 			data,
  28386 			mask);
  28387 }
  28388 
  28389 int
  28390 bcm_loop_field_qualify_OutPort_get(
  28391 	int	unit,
  28392 	bcm_field_entry_t	entry,
  28393 	bcm_port_t *	data,
  28394 	bcm_port_t *	mask)
  28395 {
  28396 	return bcm_field_qualify_OutPort_get(
  28397 			BCM_CONTROL(unit)->unit,
  28398 			entry,
  28399 			data,
  28400 			mask);
  28401 }
  28402 
  28403 int
  28404 bcm_loop_field_qualify_OutPorts(
  28405 	int	unit,
  28406 	bcm_field_entry_t	entry,
  28407 	bcm_pbmp_t	data,
  28408 	bcm_pbmp_t	mask)
  28409 {
  28410 	return bcm_field_qualify_OutPorts(
  28411 			BCM_CONTROL(unit)->unit,
  28412 			entry,
  28413 			data,
  28414 			mask);
  28415 }
  28416 
  28417 int
  28418 bcm_loop_field_qualify_OutPorts_get(
  28419 	int	unit,
  28420 	bcm_field_entry_t	entry,
  28421 	bcm_pbmp_t *	data,
  28422 	bcm_pbmp_t *	mask)
  28423 {
  28424 	return bcm_field_qualify_OutPorts_get(
  28425 			BCM_CONTROL(unit)->unit,
  28426 			entry,
  28427 			data,
  28428 			mask);
  28429 }
  28430 
  28431 int
  28432 bcm_loop_field_qualify_OutVPort(
  28433 	int	unit,
  28434 	bcm_field_entry_t	entry,
  28435 	uint8	data,
  28436 	uint8	mask)
  28437 {
  28438 	return bcm_field_qualify_OutVPort(
  28439 			BCM_CONTROL(unit)->unit,
  28440 			entry,
  28441 			data,
  28442 			mask);
  28443 }
  28444 
  28445 int
  28446 bcm_loop_field_qualify_OutVPort32(
  28447 	int	unit,
  28448 	bcm_field_entry_t	entry,
  28449 	uint32	data,
  28450 	uint32	mask)
  28451 {
  28452 	return bcm_field_qualify_OutVPort32(
  28453 			BCM_CONTROL(unit)->unit,
  28454 			entry,
  28455 			data,
  28456 			mask);
  28457 }
  28458 
  28459 int
  28460 bcm_loop_field_qualify_OutVPort32_get(
  28461 	int	unit,
  28462 	bcm_field_entry_t	entry,
  28463 	uint32 *	data,
  28464 	uint32 *	mask)
  28465 {
  28466 	return bcm_field_qualify_OutVPort32_get(
  28467 			BCM_CONTROL(unit)->unit,
  28468 			entry,
  28469 			data,
  28470 			mask);
  28471 }
  28472 
  28473 int
  28474 bcm_loop_field_qualify_OutVPort_get(
  28475 	int	unit,
  28476 	bcm_field_entry_t	entry,
  28477 	uint8 *	data,
  28478 	uint8 *	mask)
  28479 {
  28480 	return bcm_field_qualify_OutVPort_get(
  28481 			BCM_CONTROL(unit)->unit,
  28482 			entry,
  28483 			data,
  28484 			mask);
  28485 }
  28486 
  28487 int
  28488 bcm_loop_field_qualify_OuterPriTaggedPkt(
  28489 	int	unit,
  28490 	bcm_field_entry_t	entry,
  28491 	uint8	data,
  28492 	uint8	mask)
  28493 {
  28494 	return bcm_field_qualify_OuterPriTaggedPkt(
  28495 			BCM_CONTROL(unit)->unit,
  28496 			entry,
  28497 			data,
  28498 			mask);
  28499 }
  28500 
  28501 int
  28502 bcm_loop_field_qualify_OuterPriTaggedPkt_get(
  28503 	int	unit,
  28504 	bcm_field_entry_t	entry,
  28505 	uint8 *	data,
  28506 	uint8 *	mask)
  28507 {
  28508 	return bcm_field_qualify_OuterPriTaggedPkt_get(
  28509 			BCM_CONTROL(unit)->unit,
  28510 			entry,
  28511 			data,
  28512 			mask);
  28513 }
  28514 
  28515 int
  28516 bcm_loop_field_qualify_OuterTpid(
  28517 	int	unit,
  28518 	bcm_field_entry_t	entry,
  28519 	uint16	tpid)
  28520 {
  28521 	return bcm_field_qualify_OuterTpid(
  28522 			BCM_CONTROL(unit)->unit,
  28523 			entry,
  28524 			tpid);
  28525 }
  28526 
  28527 int
  28528 bcm_loop_field_qualify_OuterTpid_get(
  28529 	int	unit,
  28530 	bcm_field_entry_t	entry,
  28531 	uint16 *	tpid)
  28532 {
  28533 	return bcm_field_qualify_OuterTpid_get(
  28534 			BCM_CONTROL(unit)->unit,
  28535 			entry,
  28536 			tpid);
  28537 }
  28538 
  28539 int
  28540 bcm_loop_field_qualify_OuterVlan(
  28541 	int	unit,
  28542 	bcm_field_entry_t	entry,
  28543 	bcm_vlan_t	data,
  28544 	bcm_vlan_t	mask)
  28545 {
  28546 	return bcm_field_qualify_OuterVlan(
  28547 			BCM_CONTROL(unit)->unit,
  28548 			entry,
  28549 			data,
  28550 			mask);
  28551 }
  28552 
  28553 int
  28554 bcm_loop_field_qualify_OuterVlanActionRange(
  28555 	int	unit,
  28556 	bcm_field_entry_t	entry,
  28557 	bcm_vlan_t	data,
  28558 	bcm_vlan_t	mask)
  28559 {
  28560 	return bcm_field_qualify_OuterVlanActionRange(
  28561 			BCM_CONTROL(unit)->unit,
  28562 			entry,
  28563 			data,
  28564 			mask);
  28565 }
  28566 
  28567 int
  28568 bcm_loop_field_qualify_OuterVlanActionRange_get(
  28569 	int	unit,
  28570 	bcm_field_entry_t	entry,
  28571 	bcm_vlan_t *	data,
  28572 	bcm_vlan_t *	mask)
  28573 {
  28574 	return bcm_field_qualify_OuterVlanActionRange_get(
  28575 			BCM_CONTROL(unit)->unit,
  28576 			entry,
  28577 			data,
  28578 			mask);
  28579 }
  28580 
  28581 int
  28582 bcm_loop_field_qualify_OuterVlanCfi(
  28583 	int	unit,
  28584 	bcm_field_entry_t	entry,
  28585 	uint8	data,
  28586 	uint8	mask)
  28587 {
  28588 	return bcm_field_qualify_OuterVlanCfi(
  28589 			BCM_CONTROL(unit)->unit,
  28590 			entry,
  28591 			data,
  28592 			mask);
  28593 }
  28594 
  28595 int
  28596 bcm_loop_field_qualify_OuterVlanCfi_get(
  28597 	int	unit,
  28598 	bcm_field_entry_t	entry,
  28599 	uint8 *	data,
  28600 	uint8 *	mask)
  28601 {
  28602 	return bcm_field_qualify_OuterVlanCfi_get(
  28603 			BCM_CONTROL(unit)->unit,
  28604 			entry,
  28605 			data,
  28606 			mask);
  28607 }
  28608 
  28609 int
  28610 bcm_loop_field_qualify_OuterVlanId(
  28611 	int	unit,
  28612 	bcm_field_entry_t	entry,
  28613 	bcm_vlan_t	data,
  28614 	bcm_vlan_t	mask)
  28615 {
  28616 	return bcm_field_qualify_OuterVlanId(
  28617 			BCM_CONTROL(unit)->unit,
  28618 			entry,
  28619 			data,
  28620 			mask);
  28621 }
  28622 
  28623 int
  28624 bcm_loop_field_qualify_OuterVlanId_get(
  28625 	int	unit,
  28626 	bcm_field_entry_t	entry,
  28627 	bcm_vlan_t *	data,
  28628 	bcm_vlan_t *	mask)
  28629 {
  28630 	return bcm_field_qualify_OuterVlanId_get(
  28631 			BCM_CONTROL(unit)->unit,
  28632 			entry,
  28633 			data,
  28634 			mask);
  28635 }
  28636 
  28637 int
  28638 bcm_loop_field_qualify_OuterVlanPri(
  28639 	int	unit,
  28640 	bcm_field_entry_t	entry,
  28641 	uint8	data,
  28642 	uint8	mask)
  28643 {
  28644 	return bcm_field_qualify_OuterVlanPri(
  28645 			BCM_CONTROL(unit)->unit,
  28646 			entry,
  28647 			data,
  28648 			mask);
  28649 }
  28650 
  28651 int
  28652 bcm_loop_field_qualify_OuterVlanPriCfi(
  28653 	int	unit,
  28654 	bcm_field_entry_t	entry,
  28655 	uint8	data,
  28656 	uint8	mask)
  28657 {
  28658 	return bcm_field_qualify_OuterVlanPriCfi(
  28659 			BCM_CONTROL(unit)->unit,
  28660 			entry,
  28661 			data,
  28662 			mask);
  28663 }
  28664 
  28665 int
  28666 bcm_loop_field_qualify_OuterVlanPriCfi_get(
  28667 	int	unit,
  28668 	bcm_field_entry_t	entry,
  28669 	uint8 *	data,
  28670 	uint8 *	mask)
  28671 {
  28672 	return bcm_field_qualify_OuterVlanPriCfi_get(
  28673 			BCM_CONTROL(unit)->unit,
  28674 			entry,
  28675 			data,
  28676 			mask);
  28677 }
  28678 
  28679 int
  28680 bcm_loop_field_qualify_OuterVlanPri_get(
  28681 	int	unit,
  28682 	bcm_field_entry_t	entry,
  28683 	uint8 *	data,
  28684 	uint8 *	mask)
  28685 {
  28686 	return bcm_field_qualify_OuterVlanPri_get(
  28687 			BCM_CONTROL(unit)->unit,
  28688 			entry,
  28689 			data,
  28690 			mask);
  28691 }
  28692 
  28693 int
  28694 bcm_loop_field_qualify_OuterVlan_get(
  28695 	int	unit,
  28696 	bcm_field_entry_t	entry,
  28697 	bcm_vlan_t *	data,
  28698 	bcm_vlan_t *	mask)
  28699 {
  28700 	return bcm_field_qualify_OuterVlan_get(
  28701 			BCM_CONTROL(unit)->unit,
  28702 			entry,
  28703 			data,
  28704 			mask);
  28705 }
  28706 
  28707 int
  28708 bcm_loop_field_qualify_OverlayIpv4OptionHdrType(
  28709 	int	unit,
  28710 	bcm_field_entry_t	entry,
  28711 	bcm_field_ip_option_hdr_type_t	type)
  28712 {
  28713 	return bcm_field_qualify_OverlayIpv4OptionHdrType(
  28714 			BCM_CONTROL(unit)->unit,
  28715 			entry,
  28716 			type);
  28717 }
  28718 
  28719 int
  28720 bcm_loop_field_qualify_OverlayIpv4OptionHdrType_get(
  28721 	int	unit,
  28722 	bcm_field_entry_t	entry,
  28723 	bcm_field_ip_option_hdr_type_t *	type)
  28724 {
  28725 	return bcm_field_qualify_OverlayIpv4OptionHdrType_get(
  28726 			BCM_CONTROL(unit)->unit,
  28727 			entry,
  28728 			type);
  28729 }
  28730 
  28731 int
  28732 bcm_loop_field_qualify_OverlayIpv6ExtensionHdrType(
  28733 	int	unit,
  28734 	bcm_field_entry_t	entry,
  28735 	bcm_field_ip_option_hdr_type_t	type)
  28736 {
  28737 	return bcm_field_qualify_OverlayIpv6ExtensionHdrType(
  28738 			BCM_CONTROL(unit)->unit,
  28739 			entry,
  28740 			type);
  28741 }
  28742 
  28743 int
  28744 bcm_loop_field_qualify_OverlayIpv6ExtensionHdrType_get(
  28745 	int	unit,
  28746 	bcm_field_entry_t	entry,
  28747 	bcm_field_ip_option_hdr_type_t *	type)
  28748 {
  28749 	return bcm_field_qualify_OverlayIpv6ExtensionHdrType_get(
  28750 			BCM_CONTROL(unit)->unit,
  28751 			entry,
  28752 			type);
  28753 }
  28754 
  28755 int
  28756 bcm_loop_field_qualify_OverlayL2PktType(
  28757 	int	unit,
  28758 	bcm_field_entry_t	entry,
  28759 	bcm_field_l2_pkt_type_t	type)
  28760 {
  28761 	return bcm_field_qualify_OverlayL2PktType(
  28762 			BCM_CONTROL(unit)->unit,
  28763 			entry,
  28764 			type);
  28765 }
  28766 
  28767 int
  28768 bcm_loop_field_qualify_OverlayL2PktType_get(
  28769 	int	unit,
  28770 	bcm_field_entry_t	entry,
  28771 	bcm_field_l2_pkt_type_t *	type)
  28772 {
  28773 	return bcm_field_qualify_OverlayL2PktType_get(
  28774 			BCM_CONTROL(unit)->unit,
  28775 			entry,
  28776 			type);
  28777 }
  28778 
  28779 int
  28780 bcm_loop_field_qualify_OverlayPktType(
  28781 	int	unit,
  28782 	bcm_field_entry_t	entry,
  28783 	bcm_field_pkt_type_t	type)
  28784 {
  28785 	return bcm_field_qualify_OverlayPktType(
  28786 			BCM_CONTROL(unit)->unit,
  28787 			entry,
  28788 			type);
  28789 }
  28790 
  28791 int
  28792 bcm_loop_field_qualify_OverlayPktType_get(
  28793 	int	unit,
  28794 	bcm_field_entry_t	entry,
  28795 	bcm_field_pkt_type_t *	type)
  28796 {
  28797 	return bcm_field_qualify_OverlayPktType_get(
  28798 			BCM_CONTROL(unit)->unit,
  28799 			entry,
  28800 			type);
  28801 }
  28802 
  28803 int
  28804 bcm_loop_field_qualify_OverlayVlanFormat(
  28805 	int	unit,
  28806 	bcm_field_entry_t	entry,
  28807 	uint8	data,
  28808 	uint8	mask)
  28809 {
  28810 	return bcm_field_qualify_OverlayVlanFormat(
  28811 			BCM_CONTROL(unit)->unit,
  28812 			entry,
  28813 			data,
  28814 			mask);
  28815 }
  28816 
  28817 int
  28818 bcm_loop_field_qualify_OverlayVlanFormat_get(
  28819 	int	unit,
  28820 	bcm_field_entry_t	entry,
  28821 	uint8 *	data,
  28822 	uint8 *	mask)
  28823 {
  28824 	return bcm_field_qualify_OverlayVlanFormat_get(
  28825 			BCM_CONTROL(unit)->unit,
  28826 			entry,
  28827 			data,
  28828 			mask);
  28829 }
  28830 
  28831 int
  28832 bcm_loop_field_qualify_PacketIsIEEE1588(
  28833 	int	unit,
  28834 	bcm_field_entry_t	entry,
  28835 	uint8	data,
  28836 	uint8	mask)
  28837 {
  28838 	return bcm_field_qualify_PacketIsIEEE1588(
  28839 			BCM_CONTROL(unit)->unit,
  28840 			entry,
  28841 			data,
  28842 			mask);
  28843 }
  28844 
  28845 int
  28846 bcm_loop_field_qualify_PacketIsIEEE1588_get(
  28847 	int	unit,
  28848 	bcm_field_entry_t	entry,
  28849 	uint8 *	data,
  28850 	uint8 *	mask)
  28851 {
  28852 	return bcm_field_qualify_PacketIsIEEE1588_get(
  28853 			BCM_CONTROL(unit)->unit,
  28854 			entry,
  28855 			data,
  28856 			mask);
  28857 }
  28858 
  28859 int
  28860 bcm_loop_field_qualify_PacketLength(
  28861 	int	unit,
  28862 	bcm_field_entry_t	entry,
  28863 	uint16	data,
  28864 	uint16	mask)
  28865 {
  28866 	return bcm_field_qualify_PacketLength(
  28867 			BCM_CONTROL(unit)->unit,
  28868 			entry,
  28869 			data,
  28870 			mask);
  28871 }
  28872 
  28873 int
  28874 bcm_loop_field_qualify_PacketLengthRangeCheck(
  28875 	int	unit,
  28876 	bcm_field_entry_t	entry,
  28877 	bcm_field_range_t	range,
  28878 	int	invert)
  28879 {
  28880 	return bcm_field_qualify_PacketLengthRangeCheck(
  28881 			BCM_CONTROL(unit)->unit,
  28882 			entry,
  28883 			range,
  28884 			invert);
  28885 }
  28886 
  28887 int
  28888 bcm_loop_field_qualify_PacketLengthRangeCheck_get(
  28889 	int	unit,
  28890 	bcm_field_entry_t	entry,
  28891 	int	max_count,
  28892 	bcm_field_range_t *	range,
  28893 	int *	invert,
  28894 	int *	count)
  28895 {
  28896 	return bcm_field_qualify_PacketLengthRangeCheck_get(
  28897 			BCM_CONTROL(unit)->unit,
  28898 			entry,
  28899 			max_count,
  28900 			range,
  28901 			invert,
  28902 			count);
  28903 }
  28904 
  28905 int
  28906 bcm_loop_field_qualify_PacketLength_get(
  28907 	int	unit,
  28908 	bcm_field_entry_t	entry,
  28909 	uint16 *	data,
  28910 	uint16 *	mask)
  28911 {
  28912 	return bcm_field_qualify_PacketLength_get(
  28913 			BCM_CONTROL(unit)->unit,
  28914 			entry,
  28915 			data,
  28916 			mask);
  28917 }
  28918 
  28919 int
  28920 bcm_loop_field_qualify_PacketRes(
  28921 	int	unit,
  28922 	bcm_field_entry_t	entry,
  28923 	uint32	data,
  28924 	uint32	mask)
  28925 {
  28926 	return bcm_field_qualify_PacketRes(
  28927 			BCM_CONTROL(unit)->unit,
  28928 			entry,
  28929 			data,
  28930 			mask);
  28931 }
  28932 
  28933 int
  28934 bcm_loop_field_qualify_PacketRes_get(
  28935 	int	unit,
  28936 	bcm_field_entry_t	entry,
  28937 	uint32 *	data,
  28938 	uint32 *	mask)
  28939 {
  28940 	return bcm_field_qualify_PacketRes_get(
  28941 			BCM_CONTROL(unit)->unit,
  28942 			entry,
  28943 			data,
  28944 			mask);
  28945 }
  28946 
  28947 int
  28948 bcm_loop_field_qualify_PacketSize(
  28949 	int	unit,
  28950 	bcm_field_entry_t	entry,
  28951 	uint32	data,
  28952 	uint32	mask)
  28953 {
  28954 	return bcm_field_qualify_PacketSize(
  28955 			BCM_CONTROL(unit)->unit,
  28956 			entry,
  28957 			data,
  28958 			mask);
  28959 }
  28960 
  28961 int
  28962 bcm_loop_field_qualify_PacketSize_get(
  28963 	int	unit,
  28964 	bcm_field_entry_t	entry,
  28965 	uint32 *	data,
  28966 	uint32 *	mask)
  28967 {
  28968 	return bcm_field_qualify_PacketSize_get(
  28969 			BCM_CONTROL(unit)->unit,
  28970 			entry,
  28971 			data,
  28972 			mask);
  28973 }
  28974 
  28975 int
  28976 bcm_loop_field_qualify_PacketTerminatedBytes(
  28977 	int	unit,
  28978 	bcm_field_entry_t	entry,
  28979 	uint32	data,
  28980 	uint32	mask)
  28981 {
  28982 	return bcm_field_qualify_PacketTerminatedBytes(
  28983 			BCM_CONTROL(unit)->unit,
  28984 			entry,
  28985 			data,
  28986 			mask);
  28987 }
  28988 
  28989 int
  28990 bcm_loop_field_qualify_PacketTerminatedBytes_get(
  28991 	int	unit,
  28992 	bcm_field_entry_t	entry,
  28993 	uint32 *	data,
  28994 	uint32 *	mask)
  28995 {
  28996 	return bcm_field_qualify_PacketTerminatedBytes_get(
  28997 			BCM_CONTROL(unit)->unit,
  28998 			entry,
  28999 			data,
  29000 			mask);
  29001 }
  29002 
  29003 int
  29004 bcm_loop_field_qualify_PimBidirDfStatus(
  29005 	int	unit,
  29006 	bcm_field_entry_t	entry,
  29007 	uint8	data,
  29008 	uint8	mask)
  29009 {
  29010 	return bcm_field_qualify_PimBidirDfStatus(
  29011 			BCM_CONTROL(unit)->unit,
  29012 			entry,
  29013 			data,
  29014 			mask);
  29015 }
  29016 
  29017 int
  29018 bcm_loop_field_qualify_PimBidirDfStatus_get(
  29019 	int	unit,
  29020 	bcm_field_entry_t	entry,
  29021 	uint8 *	data,
  29022 	uint8 *	mask)
  29023 {
  29024 	return bcm_field_qualify_PimBidirDfStatus_get(
  29025 			BCM_CONTROL(unit)->unit,
  29026 			entry,
  29027 			data,
  29028 			mask);
  29029 }
  29030 
  29031 int
  29032 bcm_loop_field_qualify_PktDstAddrType(
  29033 	int	unit,
  29034 	bcm_field_entry_t	entry,
  29035 	uint32	dst_addr_type)
  29036 {
  29037 	return bcm_field_qualify_PktDstAddrType(
  29038 			BCM_CONTROL(unit)->unit,
  29039 			entry,
  29040 			dst_addr_type);
  29041 }
  29042 
  29043 int
  29044 bcm_loop_field_qualify_PktDstAddrType_get(
  29045 	int	unit,
  29046 	bcm_field_entry_t	entry,
  29047 	uint32 *	dst_addr_type)
  29048 {
  29049 	return bcm_field_qualify_PktDstAddrType_get(
  29050 			BCM_CONTROL(unit)->unit,
  29051 			entry,
  29052 			dst_addr_type);
  29053 }
  29054 
  29055 int
  29056 bcm_loop_field_qualify_PktFlowType(
  29057 	int	unit,
  29058 	bcm_field_entry_t	entry,
  29059 	bcm_field_pkt_flow_type_t	type)
  29060 {
  29061 	return bcm_field_qualify_PktFlowType(
  29062 			BCM_CONTROL(unit)->unit,
  29063 			entry,
  29064 			type);
  29065 }
  29066 
  29067 int
  29068 bcm_loop_field_qualify_PktFlowType_get(
  29069 	int	unit,
  29070 	bcm_field_entry_t	entry,
  29071 	bcm_field_pkt_flow_type_t *	type)
  29072 {
  29073 	return bcm_field_qualify_PktFlowType_get(
  29074 			BCM_CONTROL(unit)->unit,
  29075 			entry,
  29076 			type);
  29077 }
  29078 
  29079 int
  29080 bcm_loop_field_qualify_PktInnerDstAddrType(
  29081 	int	unit,
  29082 	bcm_field_entry_t	entry,
  29083 	uint32	dst_addr_type)
  29084 {
  29085 	return bcm_field_qualify_PktInnerDstAddrType(
  29086 			BCM_CONTROL(unit)->unit,
  29087 			entry,
  29088 			dst_addr_type);
  29089 }
  29090 
  29091 int
  29092 bcm_loop_field_qualify_PktInnerDstAddrType_get(
  29093 	int	unit,
  29094 	bcm_field_entry_t	entry,
  29095 	uint32 *	dst_addr_type)
  29096 {
  29097 	return bcm_field_qualify_PktInnerDstAddrType_get(
  29098 			BCM_CONTROL(unit)->unit,
  29099 			entry,
  29100 			dst_addr_type);
  29101 }
  29102 
  29103 int
  29104 bcm_loop_field_qualify_PktIsVisible(
  29105 	int	unit,
  29106 	bcm_field_entry_t	entry,
  29107 	uint8	data,
  29108 	uint8	mask)
  29109 {
  29110 	return bcm_field_qualify_PktIsVisible(
  29111 			BCM_CONTROL(unit)->unit,
  29112 			entry,
  29113 			data,
  29114 			mask);
  29115 }
  29116 
  29117 int
  29118 bcm_loop_field_qualify_PktIsVisible_get(
  29119 	int	unit,
  29120 	bcm_field_entry_t	entry,
  29121 	uint8 *	data,
  29122 	uint8 *	mask)
  29123 {
  29124 	return bcm_field_qualify_PktIsVisible_get(
  29125 			BCM_CONTROL(unit)->unit,
  29126 			entry,
  29127 			data,
  29128 			mask);
  29129 }
  29130 
  29131 int
  29132 bcm_loop_field_qualify_PktType(
  29133 	int	unit,
  29134 	bcm_field_entry_t	entry,
  29135 	bcm_field_pkt_type_t	type)
  29136 {
  29137 	return bcm_field_qualify_PktType(
  29138 			BCM_CONTROL(unit)->unit,
  29139 			entry,
  29140 			type);
  29141 }
  29142 
  29143 int
  29144 bcm_loop_field_qualify_PktType_get(
  29145 	int	unit,
  29146 	bcm_field_entry_t	entry,
  29147 	bcm_field_pkt_type_t *	type)
  29148 {
  29149 	return bcm_field_qualify_PktType_get(
  29150 			BCM_CONTROL(unit)->unit,
  29151 			entry,
  29152 			type);
  29153 }
  29154 
  29155 int
  29156 bcm_loop_field_qualify_PolicerIntPrio(
  29157 	int	unit,
  29158 	bcm_field_entry_t	entry,
  29159 	uint8	data,
  29160 	uint8	mask)
  29161 {
  29162 	return bcm_field_qualify_PolicerIntPrio(
  29163 			BCM_CONTROL(unit)->unit,
  29164 			entry,
  29165 			data,
  29166 			mask);
  29167 }
  29168 
  29169 int
  29170 bcm_loop_field_qualify_PolicerIntPrio_get(
  29171 	int	unit,
  29172 	bcm_field_entry_t	entry,
  29173 	uint8 *	data,
  29174 	uint8 *	mask)
  29175 {
  29176 	return bcm_field_qualify_PolicerIntPrio_get(
  29177 			BCM_CONTROL(unit)->unit,
  29178 			entry,
  29179 			data,
  29180 			mask);
  29181 }
  29182 
  29183 int
  29184 bcm_loop_field_qualify_PortOrientation(
  29185 	int	unit,
  29186 	bcm_field_entry_t	entry,
  29187 	uint8	data,
  29188 	uint8	mask)
  29189 {
  29190 	return bcm_field_qualify_PortOrientation(
  29191 			BCM_CONTROL(unit)->unit,
  29192 			entry,
  29193 			data,
  29194 			mask);
  29195 }
  29196 
  29197 int
  29198 bcm_loop_field_qualify_PortOrientation_get(
  29199 	int	unit,
  29200 	bcm_field_entry_t	entry,
  29201 	uint8 *	data,
  29202 	uint8 *	mask)
  29203 {
  29204 	return bcm_field_qualify_PortOrientation_get(
  29205 			BCM_CONTROL(unit)->unit,
  29206 			entry,
  29207 			data,
  29208 			mask);
  29209 }
  29210 
  29211 int
  29212 bcm_loop_field_qualify_PreemptablePacket(
  29213 	int	unit,
  29214 	bcm_field_entry_t	entry,
  29215 	uint8	data,
  29216 	uint8	mask)
  29217 {
  29218 	return bcm_field_qualify_PreemptablePacket(
  29219 			BCM_CONTROL(unit)->unit,
  29220 			entry,
  29221 			data,
  29222 			mask);
  29223 }
  29224 
  29225 int
  29226 bcm_loop_field_qualify_PreemptablePacket_get(
  29227 	int	unit,
  29228 	bcm_field_entry_t	entry,
  29229 	uint8 *	data,
  29230 	uint8 *	mask)
  29231 {
  29232 	return bcm_field_qualify_PreemptablePacket_get(
  29233 			BCM_CONTROL(unit)->unit,
  29234 			entry,
  29235 			data,
  29236 			mask);
  29237 }
  29238 
  29239 int
  29240 bcm_loop_field_qualify_PreselId(
  29241 	int	unit,
  29242 	bcm_field_entry_t	entry,
  29243 	uint32	data,
  29244 	uint32	mask)
  29245 {
  29246 	return bcm_field_qualify_PreselId(
  29247 			BCM_CONTROL(unit)->unit,
  29248 			entry,
  29249 			data,
  29250 			mask);
  29251 }
  29252 
  29253 int
  29254 bcm_loop_field_qualify_PreselId_get(
  29255 	int	unit,
  29256 	bcm_field_entry_t	entry,
  29257 	uint32 *	data,
  29258 	uint32 *	mask)
  29259 {
  29260 	return bcm_field_qualify_PreselId_get(
  29261 			BCM_CONTROL(unit)->unit,
  29262 			entry,
  29263 			data,
  29264 			mask);
  29265 }
  29266 
  29267 int
  29268 bcm_loop_field_qualify_Ptch(
  29269 	int	unit,
  29270 	bcm_field_entry_t	entry,
  29271 	uint8	data,
  29272 	uint8	mask)
  29273 {
  29274 	return bcm_field_qualify_Ptch(
  29275 			BCM_CONTROL(unit)->unit,
  29276 			entry,
  29277 			data,
  29278 			mask);
  29279 }
  29280 
  29281 int
  29282 bcm_loop_field_qualify_Ptch_get(
  29283 	int	unit,
  29284 	bcm_field_entry_t	entry,
  29285 	uint8 *	data,
  29286 	uint8 *	mask)
  29287 {
  29288 	return bcm_field_qualify_Ptch_get(
  29289 			BCM_CONTROL(unit)->unit,
  29290 			entry,
  29291 			data,
  29292 			mask);
  29293 }
  29294 
  29295 int
  29296 bcm_loop_field_qualify_RangeCheck(
  29297 	int	unit,
  29298 	bcm_field_entry_t	entry,
  29299 	bcm_field_range_t	range,
  29300 	int	invert)
  29301 {
  29302 	return bcm_field_qualify_RangeCheck(
  29303 			BCM_CONTROL(unit)->unit,
  29304 			entry,
  29305 			range,
  29306 			invert);
  29307 }
  29308 
  29309 int
  29310 bcm_loop_field_qualify_RangeCheckGroup(
  29311 	int	unit,
  29312 	bcm_field_entry_t	entry,
  29313 	uint8	data,
  29314 	uint8	mask)
  29315 {
  29316 	return bcm_field_qualify_RangeCheckGroup(
  29317 			BCM_CONTROL(unit)->unit,
  29318 			entry,
  29319 			data,
  29320 			mask);
  29321 }
  29322 
  29323 int
  29324 bcm_loop_field_qualify_RangeCheckGroup_get(
  29325 	int	unit,
  29326 	bcm_field_entry_t	entry,
  29327 	uint8 *	data,
  29328 	uint8 *	mask)
  29329 {
  29330 	return bcm_field_qualify_RangeCheckGroup_get(
  29331 			BCM_CONTROL(unit)->unit,
  29332 			entry,
  29333 			data,
  29334 			mask);
  29335 }
  29336 
  29337 int
  29338 bcm_loop_field_qualify_RangeCheck_get(
  29339 	int	unit,
  29340 	bcm_field_entry_t	entry,
  29341 	int	max_count,
  29342 	bcm_field_range_t *	range,
  29343 	int *	invert,
  29344 	int *	count)
  29345 {
  29346 	return bcm_field_qualify_RangeCheck_get(
  29347 			BCM_CONTROL(unit)->unit,
  29348 			entry,
  29349 			max_count,
  29350 			range,
  29351 			invert,
  29352 			count);
  29353 }
  29354 
  29355 int
  29356 bcm_loop_field_qualify_RecoverableDrop(
  29357 	int	unit,
  29358 	bcm_field_entry_t	entry,
  29359 	uint8	data,
  29360 	uint8	mask)
  29361 {
  29362 	return bcm_field_qualify_RecoverableDrop(
  29363 			BCM_CONTROL(unit)->unit,
  29364 			entry,
  29365 			data,
  29366 			mask);
  29367 }
  29368 
  29369 int
  29370 bcm_loop_field_qualify_RecoverableDrop_get(
  29371 	int	unit,
  29372 	bcm_field_entry_t	entry,
  29373 	uint8 *	data,
  29374 	uint8 *	mask)
  29375 {
  29376 	return bcm_field_qualify_RecoverableDrop_get(
  29377 			BCM_CONTROL(unit)->unit,
  29378 			entry,
  29379 			data,
  29380 			mask);
  29381 }
  29382 
  29383 int
  29384 bcm_loop_field_qualify_RepCopy(
  29385 	int	unit,
  29386 	bcm_field_entry_t	entry,
  29387 	uint8	data,
  29388 	uint8	mask)
  29389 {
  29390 	return bcm_field_qualify_RepCopy(
  29391 			BCM_CONTROL(unit)->unit,
  29392 			entry,
  29393 			data,
  29394 			mask);
  29395 }
  29396 
  29397 int
  29398 bcm_loop_field_qualify_RepCopy_get(
  29399 	int	unit,
  29400 	bcm_field_entry_t	entry,
  29401 	uint8 *	data,
  29402 	uint8 *	mask)
  29403 {
  29404 	return bcm_field_qualify_RepCopy_get(
  29405 			BCM_CONTROL(unit)->unit,
  29406 			entry,
  29407 			data,
  29408 			mask);
  29409 }
  29410 
  29411 int
  29412 bcm_loop_field_qualify_ReplicantAny(
  29413 	int	unit,
  29414 	bcm_field_entry_t	entry,
  29415 	uint8	data,
  29416 	uint8	mask)
  29417 {
  29418 	return bcm_field_qualify_ReplicantAny(
  29419 			BCM_CONTROL(unit)->unit,
  29420 			entry,
  29421 			data,
  29422 			mask);
  29423 }
  29424 
  29425 int
  29426 bcm_loop_field_qualify_ReplicantAny_get(
  29427 	int	unit,
  29428 	bcm_field_entry_t	entry,
  29429 	uint8 *	data,
  29430 	uint8 *	mask)
  29431 {
  29432 	return bcm_field_qualify_ReplicantAny_get(
  29433 			BCM_CONTROL(unit)->unit,
  29434 			entry,
  29435 			data,
  29436 			mask);
  29437 }
  29438 
  29439 int
  29440 bcm_loop_field_qualify_ReplicantFirst(
  29441 	int	unit,
  29442 	bcm_field_entry_t	entry,
  29443 	uint8	data,
  29444 	uint8	mask)
  29445 {
  29446 	return bcm_field_qualify_ReplicantFirst(
  29447 			BCM_CONTROL(unit)->unit,
  29448 			entry,
  29449 			data,
  29450 			mask);
  29451 }
  29452 
  29453 int
  29454 bcm_loop_field_qualify_ReplicantFirst_get(
  29455 	int	unit,
  29456 	bcm_field_entry_t	entry,
  29457 	uint8 *	data,
  29458 	uint8 *	mask)
  29459 {
  29460 	return bcm_field_qualify_ReplicantFirst_get(
  29461 			BCM_CONTROL(unit)->unit,
  29462 			entry,
  29463 			data,
  29464 			mask);
  29465 }
  29466 
  29467 int
  29468 bcm_loop_field_qualify_RoceBthDstQueuePair(
  29469 	int	unit,
  29470 	bcm_field_entry_t	entry,
  29471 	uint32	data,
  29472 	uint32	mask)
  29473 {
  29474 	return bcm_field_qualify_RoceBthDstQueuePair(
  29475 			BCM_CONTROL(unit)->unit,
  29476 			entry,
  29477 			data,
  29478 			mask);
  29479 }
  29480 
  29481 int
  29482 bcm_loop_field_qualify_RoceBthDstQueuePair_get(
  29483 	int	unit,
  29484 	bcm_field_entry_t	entry,
  29485 	uint32 *	data,
  29486 	uint32 *	mask)
  29487 {
  29488 	return bcm_field_qualify_RoceBthDstQueuePair_get(
  29489 			BCM_CONTROL(unit)->unit,
  29490 			entry,
  29491 			data,
  29492 			mask);
  29493 }
  29494 
  29495 int
  29496 bcm_loop_field_qualify_RoceBthFlags(
  29497 	int	unit,
  29498 	bcm_field_entry_t	entry,
  29499 	uint8	data,
  29500 	uint8	mask)
  29501 {
  29502 	return bcm_field_qualify_RoceBthFlags(
  29503 			BCM_CONTROL(unit)->unit,
  29504 			entry,
  29505 			data,
  29506 			mask);
  29507 }
  29508 
  29509 int
  29510 bcm_loop_field_qualify_RoceBthFlags_get(
  29511 	int	unit,
  29512 	bcm_field_entry_t	entry,
  29513 	uint8 *	data,
  29514 	uint8 *	mask)
  29515 {
  29516 	return bcm_field_qualify_RoceBthFlags_get(
  29517 			BCM_CONTROL(unit)->unit,
  29518 			entry,
  29519 			data,
  29520 			mask);
  29521 }
  29522 
  29523 int
  29524 bcm_loop_field_qualify_RoceBthOpcode(
  29525 	int	unit,
  29526 	bcm_field_entry_t	entry,
  29527 	uint8	data,
  29528 	uint8	mask)
  29529 {
  29530 	return bcm_field_qualify_RoceBthOpcode(
  29531 			BCM_CONTROL(unit)->unit,
  29532 			entry,
  29533 			data,
  29534 			mask);
  29535 }
  29536 
  29537 int
  29538 bcm_loop_field_qualify_RoceBthOpcode_get(
  29539 	int	unit,
  29540 	bcm_field_entry_t	entry,
  29541 	uint8 *	data,
  29542 	uint8 *	mask)
  29543 {
  29544 	return bcm_field_qualify_RoceBthOpcode_get(
  29545 			BCM_CONTROL(unit)->unit,
  29546 			entry,
  29547 			data,
  29548 			mask);
  29549 }
  29550 
  29551 int
  29552 bcm_loop_field_qualify_RoceBthPartitionKey(
  29553 	int	unit,
  29554 	bcm_field_entry_t	entry,
  29555 	uint16	data,
  29556 	uint16	mask)
  29557 {
  29558 	return bcm_field_qualify_RoceBthPartitionKey(
  29559 			BCM_CONTROL(unit)->unit,
  29560 			entry,
  29561 			data,
  29562 			mask);
  29563 }
  29564 
  29565 int
  29566 bcm_loop_field_qualify_RoceBthPartitionKey_get(
  29567 	int	unit,
  29568 	bcm_field_entry_t	entry,
  29569 	uint16 *	data,
  29570 	uint16 *	mask)
  29571 {
  29572 	return bcm_field_qualify_RoceBthPartitionKey_get(
  29573 			BCM_CONTROL(unit)->unit,
  29574 			entry,
  29575 			data,
  29576 			mask);
  29577 }
  29578 
  29579 int
  29580 bcm_loop_field_qualify_RoceVer1Pkt(
  29581 	int	unit,
  29582 	bcm_field_entry_t	entry,
  29583 	uint8	data,
  29584 	uint8	mask)
  29585 {
  29586 	return bcm_field_qualify_RoceVer1Pkt(
  29587 			BCM_CONTROL(unit)->unit,
  29588 			entry,
  29589 			data,
  29590 			mask);
  29591 }
  29592 
  29593 int
  29594 bcm_loop_field_qualify_RoceVer1Pkt_get(
  29595 	int	unit,
  29596 	bcm_field_entry_t	entry,
  29597 	uint8 *	data,
  29598 	uint8 *	mask)
  29599 {
  29600 	return bcm_field_qualify_RoceVer1Pkt_get(
  29601 			BCM_CONTROL(unit)->unit,
  29602 			entry,
  29603 			data,
  29604 			mask);
  29605 }
  29606 
  29607 int
  29608 bcm_loop_field_qualify_RoceVer2Pkt(
  29609 	int	unit,
  29610 	bcm_field_entry_t	entry,
  29611 	uint8	data,
  29612 	uint8	mask)
  29613 {
  29614 	return bcm_field_qualify_RoceVer2Pkt(
  29615 			BCM_CONTROL(unit)->unit,
  29616 			entry,
  29617 			data,
  29618 			mask);
  29619 }
  29620 
  29621 int
  29622 bcm_loop_field_qualify_RoceVer2Pkt_get(
  29623 	int	unit,
  29624 	bcm_field_entry_t	entry,
  29625 	uint8 *	data,
  29626 	uint8 *	mask)
  29627 {
  29628 	return bcm_field_qualify_RoceVer2Pkt_get(
  29629 			BCM_CONTROL(unit)->unit,
  29630 			entry,
  29631 			data,
  29632 			mask);
  29633 }
  29634 
  29635 int
  29636 bcm_loop_field_qualify_RoeFrameType(
  29637 	int	unit,
  29638 	bcm_field_entry_t	entry,
  29639 	bcm_field_roe_frame_type_t	data)
  29640 {
  29641 	return bcm_field_qualify_RoeFrameType(
  29642 			BCM_CONTROL(unit)->unit,
  29643 			entry,
  29644 			data);
  29645 }
  29646 
  29647 int
  29648 bcm_loop_field_qualify_RoeFrameType_get(
  29649 	int	unit,
  29650 	bcm_field_entry_t	entry,
  29651 	bcm_field_roe_frame_type_t *	data)
  29652 {
  29653 	return bcm_field_qualify_RoeFrameType_get(
  29654 			BCM_CONTROL(unit)->unit,
  29655 			entry,
  29656 			data);
  29657 }
  29658 
  29659 int
  29660 bcm_loop_field_qualify_RouterAlertLabelValid(
  29661 	int	unit,
  29662 	bcm_field_entry_t	entry,
  29663 	uint8	data,
  29664 	uint8	mask)
  29665 {
  29666 	return bcm_field_qualify_RouterAlertLabelValid(
  29667 			BCM_CONTROL(unit)->unit,
  29668 			entry,
  29669 			data,
  29670 			mask);
  29671 }
  29672 
  29673 int
  29674 bcm_loop_field_qualify_RouterAlertLabelValid_get(
  29675 	int	unit,
  29676 	bcm_field_entry_t	entry,
  29677 	uint8 *	data,
  29678 	uint8 *	mask)
  29679 {
  29680 	return bcm_field_qualify_RouterAlertLabelValid_get(
  29681 			BCM_CONTROL(unit)->unit,
  29682 			entry,
  29683 			data,
  29684 			mask);
  29685 }
  29686 
  29687 int
  29688 bcm_loop_field_qualify_Rtag7AHashLower(
  29689 	int	unit,
  29690 	bcm_field_entry_t	entry,
  29691 	uint16	data,
  29692 	uint16	mask)
  29693 {
  29694 	return bcm_field_qualify_Rtag7AHashLower(
  29695 			BCM_CONTROL(unit)->unit,
  29696 			entry,
  29697 			data,
  29698 			mask);
  29699 }
  29700 
  29701 int
  29702 bcm_loop_field_qualify_Rtag7AHashLower_get(
  29703 	int	unit,
  29704 	bcm_field_entry_t	entry,
  29705 	uint16 *	data,
  29706 	uint16 *	mask)
  29707 {
  29708 	return bcm_field_qualify_Rtag7AHashLower_get(
  29709 			BCM_CONTROL(unit)->unit,
  29710 			entry,
  29711 			data,
  29712 			mask);
  29713 }
  29714 
  29715 int
  29716 bcm_loop_field_qualify_Rtag7AHashUpper(
  29717 	int	unit,
  29718 	bcm_field_entry_t	entry,
  29719 	uint16	data,
  29720 	uint16	mask)
  29721 {
  29722 	return bcm_field_qualify_Rtag7AHashUpper(
  29723 			BCM_CONTROL(unit)->unit,
  29724 			entry,
  29725 			data,
  29726 			mask);
  29727 }
  29728 
  29729 int
  29730 bcm_loop_field_qualify_Rtag7AHashUpper_get(
  29731 	int	unit,
  29732 	bcm_field_entry_t	entry,
  29733 	uint16 *	data,
  29734 	uint16 *	mask)
  29735 {
  29736 	return bcm_field_qualify_Rtag7AHashUpper_get(
  29737 			BCM_CONTROL(unit)->unit,
  29738 			entry,
  29739 			data,
  29740 			mask);
  29741 }
  29742 
  29743 int
  29744 bcm_loop_field_qualify_Rtag7BHashLower(
  29745 	int	unit,
  29746 	bcm_field_entry_t	entry,
  29747 	uint16	data,
  29748 	uint16	mask)
  29749 {
  29750 	return bcm_field_qualify_Rtag7BHashLower(
  29751 			BCM_CONTROL(unit)->unit,
  29752 			entry,
  29753 			data,
  29754 			mask);
  29755 }
  29756 
  29757 int
  29758 bcm_loop_field_qualify_Rtag7BHashLower_get(
  29759 	int	unit,
  29760 	bcm_field_entry_t	entry,
  29761 	uint16 *	data,
  29762 	uint16 *	mask)
  29763 {
  29764 	return bcm_field_qualify_Rtag7BHashLower_get(
  29765 			BCM_CONTROL(unit)->unit,
  29766 			entry,
  29767 			data,
  29768 			mask);
  29769 }
  29770 
  29771 int
  29772 bcm_loop_field_qualify_Rtag7BHashUpper(
  29773 	int	unit,
  29774 	bcm_field_entry_t	entry,
  29775 	uint16	data,
  29776 	uint16	mask)
  29777 {
  29778 	return bcm_field_qualify_Rtag7BHashUpper(
  29779 			BCM_CONTROL(unit)->unit,
  29780 			entry,
  29781 			data,
  29782 			mask);
  29783 }
  29784 
  29785 int
  29786 bcm_loop_field_qualify_Rtag7BHashUpper_get(
  29787 	int	unit,
  29788 	bcm_field_entry_t	entry,
  29789 	uint16 *	data,
  29790 	uint16 *	mask)
  29791 {
  29792 	return bcm_field_qualify_Rtag7BHashUpper_get(
  29793 			BCM_CONTROL(unit)->unit,
  29794 			entry,
  29795 			data,
  29796 			mask);
  29797 }
  29798 
  29799 int
  29800 bcm_loop_field_qualify_RxTrapCode(
  29801 	int	unit,
  29802 	bcm_field_entry_t	entry,
  29803 	bcm_rx_trap_t	data)
  29804 {
  29805 	return bcm_field_qualify_RxTrapCode(
  29806 			BCM_CONTROL(unit)->unit,
  29807 			entry,
  29808 			data);
  29809 }
  29810 
  29811 int
  29812 bcm_loop_field_qualify_RxTrapCode32(
  29813 	int	unit,
  29814 	bcm_field_entry_t	entry,
  29815 	uint32	data,
  29816 	uint32	mask)
  29817 {
  29818 	return bcm_field_qualify_RxTrapCode32(
  29819 			BCM_CONTROL(unit)->unit,
  29820 			entry,
  29821 			data,
  29822 			mask);
  29823 }
  29824 
  29825 int
  29826 bcm_loop_field_qualify_RxTrapCode32_get(
  29827 	int	unit,
  29828 	bcm_field_entry_t	entry,
  29829 	uint32 *	data,
  29830 	uint32 *	mask)
  29831 {
  29832 	return bcm_field_qualify_RxTrapCode32_get(
  29833 			BCM_CONTROL(unit)->unit,
  29834 			entry,
  29835 			data,
  29836 			mask);
  29837 }
  29838 
  29839 int
  29840 bcm_loop_field_qualify_RxTrapCodeForSnoop(
  29841 	int	unit,
  29842 	bcm_field_entry_t	entry,
  29843 	uint32	data,
  29844 	uint32	mask)
  29845 {
  29846 	return bcm_field_qualify_RxTrapCodeForSnoop(
  29847 			BCM_CONTROL(unit)->unit,
  29848 			entry,
  29849 			data,
  29850 			mask);
  29851 }
  29852 
  29853 int
  29854 bcm_loop_field_qualify_RxTrapCodeForSnoop_get(
  29855 	int	unit,
  29856 	bcm_field_entry_t	entry,
  29857 	uint32 *	data,
  29858 	uint32 *	mask)
  29859 {
  29860 	return bcm_field_qualify_RxTrapCodeForSnoop_get(
  29861 			BCM_CONTROL(unit)->unit,
  29862 			entry,
  29863 			data,
  29864 			mask);
  29865 }
  29866 
  29867 int
  29868 bcm_loop_field_qualify_RxTrapCode_get(
  29869 	int	unit,
  29870 	bcm_field_entry_t	entry,
  29871 	bcm_rx_trap_t *	data)
  29872 {
  29873 	return bcm_field_qualify_RxTrapCode_get(
  29874 			BCM_CONTROL(unit)->unit,
  29875 			entry,
  29876 			data);
  29877 }
  29878 
  29879 int
  29880 bcm_loop_field_qualify_RxTrapData(
  29881 	int	unit,
  29882 	bcm_field_entry_t	entry,
  29883 	uint32	data,
  29884 	uint32	mask)
  29885 {
  29886 	return bcm_field_qualify_RxTrapData(
  29887 			BCM_CONTROL(unit)->unit,
  29888 			entry,
  29889 			data,
  29890 			mask);
  29891 }
  29892 
  29893 int
  29894 bcm_loop_field_qualify_RxTrapData_get(
  29895 	int	unit,
  29896 	bcm_field_entry_t	entry,
  29897 	uint32 *	data,
  29898 	uint32 *	mask)
  29899 {
  29900 	return bcm_field_qualify_RxTrapData_get(
  29901 			BCM_CONTROL(unit)->unit,
  29902 			entry,
  29903 			data,
  29904 			mask);
  29905 }
  29906 
  29907 int
  29908 bcm_loop_field_qualify_RxTrapStrength(
  29909 	int	unit,
  29910 	bcm_field_entry_t	entry,
  29911 	uint32	data,
  29912 	uint32	mask)
  29913 {
  29914 	return bcm_field_qualify_RxTrapStrength(
  29915 			BCM_CONTROL(unit)->unit,
  29916 			entry,
  29917 			data,
  29918 			mask);
  29919 }
  29920 
  29921 int
  29922 bcm_loop_field_qualify_RxTrapStrength_get(
  29923 	int	unit,
  29924 	bcm_field_entry_t	entry,
  29925 	uint32 *	data,
  29926 	uint32 *	mask)
  29927 {
  29928 	return bcm_field_qualify_RxTrapStrength_get(
  29929 			BCM_CONTROL(unit)->unit,
  29930 			entry,
  29931 			data,
  29932 			mask);
  29933 }
  29934 
  29935 int
  29936 bcm_loop_field_qualify_SRDuplicate(
  29937 	int	unit,
  29938 	bcm_field_entry_t	entry,
  29939 	uint8	data)
  29940 {
  29941 	return bcm_field_qualify_SRDuplicate(
  29942 			BCM_CONTROL(unit)->unit,
  29943 			entry,
  29944 			data);
  29945 }
  29946 
  29947 int
  29948 bcm_loop_field_qualify_SRDuplicate_get(
  29949 	int	unit,
  29950 	bcm_field_entry_t	entry,
  29951 	uint8 *	data)
  29952 {
  29953 	return bcm_field_qualify_SRDuplicate_get(
  29954 			BCM_CONTROL(unit)->unit,
  29955 			entry,
  29956 			data);
  29957 }
  29958 
  29959 int
  29960 bcm_loop_field_qualify_SRError(
  29961 	int	unit,
  29962 	bcm_field_entry_t	entry,
  29963 	uint32	data,
  29964 	uint32	mask)
  29965 {
  29966 	return bcm_field_qualify_SRError(
  29967 			BCM_CONTROL(unit)->unit,
  29968 			entry,
  29969 			data,
  29970 			mask);
  29971 }
  29972 
  29973 int
  29974 bcm_loop_field_qualify_SRError_get(
  29975 	int	unit,
  29976 	bcm_field_entry_t	entry,
  29977 	uint32 *	data,
  29978 	uint32 *	mask)
  29979 {
  29980 	return bcm_field_qualify_SRError_get(
  29981 			BCM_CONTROL(unit)->unit,
  29982 			entry,
  29983 			data,
  29984 			mask);
  29985 }
  29986 
  29987 int
  29988 bcm_loop_field_qualify_SRFlowId(
  29989 	int	unit,
  29990 	bcm_field_entry_t	entry,
  29991 	uint32	data,
  29992 	uint32	mask)
  29993 {
  29994 	return bcm_field_qualify_SRFlowId(
  29995 			BCM_CONTROL(unit)->unit,
  29996 			entry,
  29997 			data,
  29998 			mask);
  29999 }
  30000 
  30001 int
  30002 bcm_loop_field_qualify_SRFlowId_get(
  30003 	int	unit,
  30004 	bcm_field_entry_t	entry,
  30005 	uint32 *	data,
  30006 	uint32 *	mask)
  30007 {
  30008 	return bcm_field_qualify_SRFlowId_get(
  30009 			BCM_CONTROL(unit)->unit,
  30010 			entry,
  30011 			data,
  30012 			mask);
  30013 }
  30014 
  30015 int
  30016 bcm_loop_field_qualify_SRLanId(
  30017 	int	unit,
  30018 	bcm_field_entry_t	entry,
  30019 	int	lan_id)
  30020 {
  30021 	return bcm_field_qualify_SRLanId(
  30022 			BCM_CONTROL(unit)->unit,
  30023 			entry,
  30024 			lan_id);
  30025 }
  30026 
  30027 int
  30028 bcm_loop_field_qualify_SRLanId_get(
  30029 	int	unit,
  30030 	bcm_field_entry_t	entry,
  30031 	int *	lan_id)
  30032 {
  30033 	return bcm_field_qualify_SRLanId_get(
  30034 			BCM_CONTROL(unit)->unit,
  30035 			entry,
  30036 			lan_id);
  30037 }
  30038 
  30039 int
  30040 bcm_loop_field_qualify_SRNetId(
  30041 	int	unit,
  30042 	bcm_field_entry_t	entry,
  30043 	int	net_id)
  30044 {
  30045 	return bcm_field_qualify_SRNetId(
  30046 			BCM_CONTROL(unit)->unit,
  30047 			entry,
  30048 			net_id);
  30049 }
  30050 
  30051 int
  30052 bcm_loop_field_qualify_SRNetIdMatched(
  30053 	int	unit,
  30054 	bcm_field_entry_t	entry,
  30055 	uint8	data)
  30056 {
  30057 	return bcm_field_qualify_SRNetIdMatched(
  30058 			BCM_CONTROL(unit)->unit,
  30059 			entry,
  30060 			data);
  30061 }
  30062 
  30063 int
  30064 bcm_loop_field_qualify_SRNetIdMatched_get(
  30065 	int	unit,
  30066 	bcm_field_entry_t	entry,
  30067 	uint8 *	data)
  30068 {
  30069 	return bcm_field_qualify_SRNetIdMatched_get(
  30070 			BCM_CONTROL(unit)->unit,
  30071 			entry,
  30072 			data);
  30073 }
  30074 
  30075 int
  30076 bcm_loop_field_qualify_SRNetId_get(
  30077 	int	unit,
  30078 	bcm_field_entry_t	entry,
  30079 	int *	net_id)
  30080 {
  30081 	return bcm_field_qualify_SRNetId_get(
  30082 			BCM_CONTROL(unit)->unit,
  30083 			entry,
  30084 			net_id);
  30085 }
  30086 
  30087 int
  30088 bcm_loop_field_qualify_SRSrcNodeIsSan(
  30089 	int	unit,
  30090 	bcm_field_entry_t	entry,
  30091 	uint8	data)
  30092 {
  30093 	return bcm_field_qualify_SRSrcNodeIsSan(
  30094 			BCM_CONTROL(unit)->unit,
  30095 			entry,
  30096 			data);
  30097 }
  30098 
  30099 int
  30100 bcm_loop_field_qualify_SRSrcNodeIsSan_get(
  30101 	int	unit,
  30102 	bcm_field_entry_t	entry,
  30103 	uint8 *	data)
  30104 {
  30105 	return bcm_field_qualify_SRSrcNodeIsSan_get(
  30106 			BCM_CONTROL(unit)->unit,
  30107 			entry,
  30108 			data);
  30109 }
  30110 
  30111 int
  30112 bcm_loop_field_qualify_SRSupervisionType(
  30113 	int	unit,
  30114 	bcm_field_entry_t	entry,
  30115 	bcm_field_sr_supervision_type_t	type)
  30116 {
  30117 	return bcm_field_qualify_SRSupervisionType(
  30118 			BCM_CONTROL(unit)->unit,
  30119 			entry,
  30120 			type);
  30121 }
  30122 
  30123 int
  30124 bcm_loop_field_qualify_SRSupervisionType_get(
  30125 	int	unit,
  30126 	bcm_field_entry_t	entry,
  30127 	bcm_field_sr_supervision_type_t *	type)
  30128 {
  30129 	return bcm_field_qualify_SRSupervisionType_get(
  30130 			BCM_CONTROL(unit)->unit,
  30131 			entry,
  30132 			type);
  30133 }
  30134 
  30135 int
  30136 bcm_loop_field_qualify_SRTagType(
  30137 	int	unit,
  30138 	bcm_field_entry_t	entry,
  30139 	bcm_field_sr_tag_type_t	type)
  30140 {
  30141 	return bcm_field_qualify_SRTagType(
  30142 			BCM_CONTROL(unit)->unit,
  30143 			entry,
  30144 			type);
  30145 }
  30146 
  30147 int
  30148 bcm_loop_field_qualify_SRTagType_get(
  30149 	int	unit,
  30150 	bcm_field_entry_t	entry,
  30151 	bcm_field_sr_tag_type_t *	type)
  30152 {
  30153 	return bcm_field_qualify_SRTagType_get(
  30154 			BCM_CONTROL(unit)->unit,
  30155 			entry,
  30156 			type);
  30157 }
  30158 
  30159 int
  30160 bcm_loop_field_qualify_Snap(
  30161 	int	unit,
  30162 	bcm_field_entry_t	entry,
  30163 	bcm_field_snap_header_t	data,
  30164 	bcm_field_snap_header_t	mask)
  30165 {
  30166 	return bcm_field_qualify_Snap(
  30167 			BCM_CONTROL(unit)->unit,
  30168 			entry,
  30169 			data,
  30170 			mask);
  30171 }
  30172 
  30173 int
  30174 bcm_loop_field_qualify_Snap_get(
  30175 	int	unit,
  30176 	bcm_field_entry_t	entry,
  30177 	bcm_field_snap_header_t *	data,
  30178 	bcm_field_snap_header_t *	mask)
  30179 {
  30180 	return bcm_field_qualify_Snap_get(
  30181 			BCM_CONTROL(unit)->unit,
  30182 			entry,
  30183 			data,
  30184 			mask);
  30185 }
  30186 
  30187 int
  30188 bcm_loop_field_qualify_SnoopCopy(
  30189 	int	unit,
  30190 	bcm_field_entry_t	entry,
  30191 	uint8	data,
  30192 	uint8	mask)
  30193 {
  30194 	return bcm_field_qualify_SnoopCopy(
  30195 			BCM_CONTROL(unit)->unit,
  30196 			entry,
  30197 			data,
  30198 			mask);
  30199 }
  30200 
  30201 int
  30202 bcm_loop_field_qualify_SnoopCopy_get(
  30203 	int	unit,
  30204 	bcm_field_entry_t	entry,
  30205 	uint8 *	data,
  30206 	uint8 *	mask)
  30207 {
  30208 	return bcm_field_qualify_SnoopCopy_get(
  30209 			BCM_CONTROL(unit)->unit,
  30210 			entry,
  30211 			data,
  30212 			mask);
  30213 }
  30214 
  30215 int
  30216 bcm_loop_field_qualify_SourceGportBitmap(
  30217 	int	unit,
  30218 	bcm_field_entry_t	entry,
  30219 	bcm_pbmp_t	data,
  30220 	bcm_pbmp_t	mask)
  30221 {
  30222 	return bcm_field_qualify_SourceGportBitmap(
  30223 			BCM_CONTROL(unit)->unit,
  30224 			entry,
  30225 			data,
  30226 			mask);
  30227 }
  30228 
  30229 int
  30230 bcm_loop_field_qualify_SourceGportBitmap_get(
  30231 	int	unit,
  30232 	bcm_field_entry_t	entry,
  30233 	bcm_pbmp_t *	data,
  30234 	bcm_pbmp_t *	mask)
  30235 {
  30236 	return bcm_field_qualify_SourceGportBitmap_get(
  30237 			BCM_CONTROL(unit)->unit,
  30238 			entry,
  30239 			data,
  30240 			mask);
  30241 }
  30242 
  30243 int
  30244 bcm_loop_field_qualify_SrcClassField(
  30245 	int	unit,
  30246 	bcm_field_entry_t	entry,
  30247 	uint32	data,
  30248 	uint32	mask)
  30249 {
  30250 	return bcm_field_qualify_SrcClassField(
  30251 			BCM_CONTROL(unit)->unit,
  30252 			entry,
  30253 			data,
  30254 			mask);
  30255 }
  30256 
  30257 int
  30258 bcm_loop_field_qualify_SrcClassField_get(
  30259 	int	unit,
  30260 	bcm_field_entry_t	entry,
  30261 	uint32 *	data,
  30262 	uint32 *	mask)
  30263 {
  30264 	return bcm_field_qualify_SrcClassField_get(
  30265 			BCM_CONTROL(unit)->unit,
  30266 			entry,
  30267 			data,
  30268 			mask);
  30269 }
  30270 
  30271 int
  30272 bcm_loop_field_qualify_SrcClassL2(
  30273 	int	unit,
  30274 	bcm_field_entry_t	entry,
  30275 	uint32	data,
  30276 	uint32	mask)
  30277 {
  30278 	return bcm_field_qualify_SrcClassL2(
  30279 			BCM_CONTROL(unit)->unit,
  30280 			entry,
  30281 			data,
  30282 			mask);
  30283 }
  30284 
  30285 int
  30286 bcm_loop_field_qualify_SrcClassL2_get(
  30287 	int	unit,
  30288 	bcm_field_entry_t	entry,
  30289 	uint32 *	data,
  30290 	uint32 *	mask)
  30291 {
  30292 	return bcm_field_qualify_SrcClassL2_get(
  30293 			BCM_CONTROL(unit)->unit,
  30294 			entry,
  30295 			data,
  30296 			mask);
  30297 }
  30298 
  30299 int
  30300 bcm_loop_field_qualify_SrcClassL3(
  30301 	int	unit,
  30302 	bcm_field_entry_t	entry,
  30303 	uint32	data,
  30304 	uint32	mask)
  30305 {
  30306 	return bcm_field_qualify_SrcClassL3(
  30307 			BCM_CONTROL(unit)->unit,
  30308 			entry,
  30309 			data,
  30310 			mask);
  30311 }
  30312 
  30313 int
  30314 bcm_loop_field_qualify_SrcClassL3_get(
  30315 	int	unit,
  30316 	bcm_field_entry_t	entry,
  30317 	uint32 *	data,
  30318 	uint32 *	mask)
  30319 {
  30320 	return bcm_field_qualify_SrcClassL3_get(
  30321 			BCM_CONTROL(unit)->unit,
  30322 			entry,
  30323 			data,
  30324 			mask);
  30325 }
  30326 
  30327 int
  30328 bcm_loop_field_qualify_SrcGport(
  30329 	int	unit,
  30330 	bcm_field_entry_t	entry,
  30331 	bcm_gport_t	port_id)
  30332 {
  30333 	return bcm_field_qualify_SrcGport(
  30334 			BCM_CONTROL(unit)->unit,
  30335 			entry,
  30336 			port_id);
  30337 }
  30338 
  30339 int
  30340 bcm_loop_field_qualify_SrcGport_get(
  30341 	int	unit,
  30342 	bcm_field_entry_t	entry,
  30343 	bcm_gport_t *	port_id)
  30344 {
  30345 	return bcm_field_qualify_SrcGport_get(
  30346 			BCM_CONTROL(unit)->unit,
  30347 			entry,
  30348 			port_id);
  30349 }
  30350 
  30351 int
  30352 bcm_loop_field_qualify_SrcGports(
  30353 	int	unit,
  30354 	bcm_field_entry_t	entry,
  30355 	bcm_gport_t	port_id,
  30356 	bcm_gport_t	port_mask)
  30357 {
  30358 	return bcm_field_qualify_SrcGports(
  30359 			BCM_CONTROL(unit)->unit,
  30360 			entry,
  30361 			port_id,
  30362 			port_mask);
  30363 }
  30364 
  30365 int
  30366 bcm_loop_field_qualify_SrcGports_get(
  30367 	int	unit,
  30368 	bcm_field_entry_t	entry,
  30369 	bcm_gport_t *	port_id,
  30370 	bcm_gport_t *	port_mask)
  30371 {
  30372 	return bcm_field_qualify_SrcGports_get(
  30373 			BCM_CONTROL(unit)->unit,
  30374 			entry,
  30375 			port_id,
  30376 			port_mask);
  30377 }
  30378 
  30379 int
  30380 bcm_loop_field_qualify_SrcIp(
  30381 	int	unit,
  30382 	bcm_field_entry_t	entry,
  30383 	bcm_ip_t	data,
  30384 	bcm_ip_t	mask)
  30385 {
  30386 	return bcm_field_qualify_SrcIp(
  30387 			BCM_CONTROL(unit)->unit,
  30388 			entry,
  30389 			data,
  30390 			mask);
  30391 }
  30392 
  30393 int
  30394 bcm_loop_field_qualify_SrcIp6(
  30395 	int	unit,
  30396 	bcm_field_entry_t	entry,
  30397 	bcm_ip6_t	data,
  30398 	bcm_ip6_t	mask)
  30399 {
  30400 	return bcm_field_qualify_SrcIp6(
  30401 			BCM_CONTROL(unit)->unit,
  30402 			entry,
  30403 			data,
  30404 			mask);
  30405 }
  30406 
  30407 int
  30408 bcm_loop_field_qualify_SrcIp6Class(
  30409 	int	unit,
  30410 	bcm_field_entry_t	entry,
  30411 	bcm_class_t	data,
  30412 	bcm_class_t	mask)
  30413 {
  30414 	return bcm_field_qualify_SrcIp6Class(
  30415 			BCM_CONTROL(unit)->unit,
  30416 			entry,
  30417 			data,
  30418 			mask);
  30419 }
  30420 
  30421 int
  30422 bcm_loop_field_qualify_SrcIp6ClassLower(
  30423 	int	unit,
  30424 	bcm_field_entry_t	entry,
  30425 	bcm_class_t	data,
  30426 	bcm_class_t	mask)
  30427 {
  30428 	return bcm_field_qualify_SrcIp6ClassLower(
  30429 			BCM_CONTROL(unit)->unit,
  30430 			entry,
  30431 			data,
  30432 			mask);
  30433 }
  30434 
  30435 int
  30436 bcm_loop_field_qualify_SrcIp6ClassLower_get(
  30437 	int	unit,
  30438 	bcm_field_entry_t	entry,
  30439 	bcm_class_t *	data,
  30440 	bcm_class_t *	mask)
  30441 {
  30442 	return bcm_field_qualify_SrcIp6ClassLower_get(
  30443 			BCM_CONTROL(unit)->unit,
  30444 			entry,
  30445 			data,
  30446 			mask);
  30447 }
  30448 
  30449 int
  30450 bcm_loop_field_qualify_SrcIp6ClassMsbNibble(
  30451 	int	unit,
  30452 	bcm_field_entry_t	entry,
  30453 	bcm_class_t	data,
  30454 	bcm_class_t	mask)
  30455 {
  30456 	return bcm_field_qualify_SrcIp6ClassMsbNibble(
  30457 			BCM_CONTROL(unit)->unit,
  30458 			entry,
  30459 			data,
  30460 			mask);
  30461 }
  30462 
  30463 int
  30464 bcm_loop_field_qualify_SrcIp6ClassMsbNibble_get(
  30465 	int	unit,
  30466 	bcm_field_entry_t	entry,
  30467 	bcm_class_t *	data,
  30468 	bcm_class_t *	mask)
  30469 {
  30470 	return bcm_field_qualify_SrcIp6ClassMsbNibble_get(
  30471 			BCM_CONTROL(unit)->unit,
  30472 			entry,
  30473 			data,
  30474 			mask);
  30475 }
  30476 
  30477 int
  30478 bcm_loop_field_qualify_SrcIp6ClassUpper(
  30479 	int	unit,
  30480 	bcm_field_entry_t	entry,
  30481 	bcm_class_t	data,
  30482 	bcm_class_t	mask)
  30483 {
  30484 	return bcm_field_qualify_SrcIp6ClassUpper(
  30485 			BCM_CONTROL(unit)->unit,
  30486 			entry,
  30487 			data,
  30488 			mask);
  30489 }
  30490 
  30491 int
  30492 bcm_loop_field_qualify_SrcIp6ClassUpper_get(
  30493 	int	unit,
  30494 	bcm_field_entry_t	entry,
  30495 	bcm_class_t *	data,
  30496 	bcm_class_t *	mask)
  30497 {
  30498 	return bcm_field_qualify_SrcIp6ClassUpper_get(
  30499 			BCM_CONTROL(unit)->unit,
  30500 			entry,
  30501 			data,
  30502 			mask);
  30503 }
  30504 
  30505 int
  30506 bcm_loop_field_qualify_SrcIp6Class_get(
  30507 	int	unit,
  30508 	bcm_field_entry_t	entry,
  30509 	bcm_class_t *	data,
  30510 	bcm_class_t *	mask)
  30511 {
  30512 	return bcm_field_qualify_SrcIp6Class_get(
  30513 			BCM_CONTROL(unit)->unit,
  30514 			entry,
  30515 			data,
  30516 			mask);
  30517 }
  30518 
  30519 int
  30520 bcm_loop_field_qualify_SrcIp6High(
  30521 	int	unit,
  30522 	bcm_field_entry_t	entry,
  30523 	bcm_ip6_t	data,
  30524 	bcm_ip6_t	mask)
  30525 {
  30526 	return bcm_field_qualify_SrcIp6High(
  30527 			BCM_CONTROL(unit)->unit,
  30528 			entry,
  30529 			data,
  30530 			mask);
  30531 }
  30532 
  30533 int
  30534 bcm_loop_field_qualify_SrcIp6High_get(
  30535 	int	unit,
  30536 	bcm_field_entry_t	entry,
  30537 	bcm_ip6_t *	data,
  30538 	bcm_ip6_t *	mask)
  30539 {
  30540 	return bcm_field_qualify_SrcIp6High_get(
  30541 			BCM_CONTROL(unit)->unit,
  30542 			entry,
  30543 			data,
  30544 			mask);
  30545 }
  30546 
  30547 int
  30548 bcm_loop_field_qualify_SrcIp6Low(
  30549 	int	unit,
  30550 	bcm_field_entry_t	entry,
  30551 	bcm_ip6_t	data,
  30552 	bcm_ip6_t	mask)
  30553 {
  30554 	return bcm_field_qualify_SrcIp6Low(
  30555 			BCM_CONTROL(unit)->unit,
  30556 			entry,
  30557 			data,
  30558 			mask);
  30559 }
  30560 
  30561 int
  30562 bcm_loop_field_qualify_SrcIp6Low_get(
  30563 	int	unit,
  30564 	bcm_field_entry_t	entry,
  30565 	bcm_ip6_t *	data,
  30566 	bcm_ip6_t *	mask)
  30567 {
  30568 	return bcm_field_qualify_SrcIp6Low_get(
  30569 			BCM_CONTROL(unit)->unit,
  30570 			entry,
  30571 			data,
  30572 			mask);
  30573 }
  30574 
  30575 int
  30576 bcm_loop_field_qualify_SrcIp6_get(
  30577 	int	unit,
  30578 	bcm_field_entry_t	entry,
  30579 	bcm_ip6_t *	data,
  30580 	bcm_ip6_t *	mask)
  30581 {
  30582 	return bcm_field_qualify_SrcIp6_get(
  30583 			BCM_CONTROL(unit)->unit,
  30584 			entry,
  30585 			data,
  30586 			mask);
  30587 }
  30588 
  30589 int
  30590 bcm_loop_field_qualify_SrcIpClass(
  30591 	int	unit,
  30592 	bcm_field_entry_t	entry,
  30593 	bcm_class_t	data,
  30594 	bcm_class_t	mask)
  30595 {
  30596 	return bcm_field_qualify_SrcIpClass(
  30597 			BCM_CONTROL(unit)->unit,
  30598 			entry,
  30599 			data,
  30600 			mask);
  30601 }
  30602 
  30603 int
  30604 bcm_loop_field_qualify_SrcIpClassLower(
  30605 	int	unit,
  30606 	bcm_field_entry_t	entry,
  30607 	bcm_class_t	data,
  30608 	bcm_class_t	mask)
  30609 {
  30610 	return bcm_field_qualify_SrcIpClassLower(
  30611 			BCM_CONTROL(unit)->unit,
  30612 			entry,
  30613 			data,
  30614 			mask);
  30615 }
  30616 
  30617 int
  30618 bcm_loop_field_qualify_SrcIpClassLower_get(
  30619 	int	unit,
  30620 	bcm_field_entry_t	entry,
  30621 	bcm_class_t *	data,
  30622 	bcm_class_t *	mask)
  30623 {
  30624 	return bcm_field_qualify_SrcIpClassLower_get(
  30625 			BCM_CONTROL(unit)->unit,
  30626 			entry,
  30627 			data,
  30628 			mask);
  30629 }
  30630 
  30631 int
  30632 bcm_loop_field_qualify_SrcIpClassMsbNibble(
  30633 	int	unit,
  30634 	bcm_field_entry_t	entry,
  30635 	bcm_class_t	data,
  30636 	bcm_class_t	mask)
  30637 {
  30638 	return bcm_field_qualify_SrcIpClassMsbNibble(
  30639 			BCM_CONTROL(unit)->unit,
  30640 			entry,
  30641 			data,
  30642 			mask);
  30643 }
  30644 
  30645 int
  30646 bcm_loop_field_qualify_SrcIpClassMsbNibble_get(
  30647 	int	unit,
  30648 	bcm_field_entry_t	entry,
  30649 	bcm_class_t *	data,
  30650 	bcm_class_t *	mask)
  30651 {
  30652 	return bcm_field_qualify_SrcIpClassMsbNibble_get(
  30653 			BCM_CONTROL(unit)->unit,
  30654 			entry,
  30655 			data,
  30656 			mask);
  30657 }
  30658 
  30659 int
  30660 bcm_loop_field_qualify_SrcIpClassUpper(
  30661 	int	unit,
  30662 	bcm_field_entry_t	entry,
  30663 	bcm_class_t	data,
  30664 	bcm_class_t	mask)
  30665 {
  30666 	return bcm_field_qualify_SrcIpClassUpper(
  30667 			BCM_CONTROL(unit)->unit,
  30668 			entry,
  30669 			data,
  30670 			mask);
  30671 }
  30672 
  30673 int
  30674 bcm_loop_field_qualify_SrcIpClassUpper_get(
  30675 	int	unit,
  30676 	bcm_field_entry_t	entry,
  30677 	bcm_class_t *	data,
  30678 	bcm_class_t *	mask)
  30679 {
  30680 	return bcm_field_qualify_SrcIpClassUpper_get(
  30681 			BCM_CONTROL(unit)->unit,
  30682 			entry,
  30683 			data,
  30684 			mask);
  30685 }
  30686 
  30687 int
  30688 bcm_loop_field_qualify_SrcIpClass_get(
  30689 	int	unit,
  30690 	bcm_field_entry_t	entry,
  30691 	bcm_class_t *	data,
  30692 	bcm_class_t *	mask)
  30693 {
  30694 	return bcm_field_qualify_SrcIpClass_get(
  30695 			BCM_CONTROL(unit)->unit,
  30696 			entry,
  30697 			data,
  30698 			mask);
  30699 }
  30700 
  30701 int
  30702 bcm_loop_field_qualify_SrcIp_get(
  30703 	int	unit,
  30704 	bcm_field_entry_t	entry,
  30705 	bcm_ip_t *	data,
  30706 	bcm_ip_t *	mask)
  30707 {
  30708 	return bcm_field_qualify_SrcIp_get(
  30709 			BCM_CONTROL(unit)->unit,
  30710 			entry,
  30711 			data,
  30712 			mask);
  30713 }
  30714 
  30715 int
  30716 bcm_loop_field_qualify_SrcMac(
  30717 	int	unit,
  30718 	bcm_field_entry_t	entry,
  30719 	bcm_mac_t	data,
  30720 	bcm_mac_t	mask)
  30721 {
  30722 	return bcm_field_qualify_SrcMac(
  30723 			BCM_CONTROL(unit)->unit,
  30724 			entry,
  30725 			data,
  30726 			mask);
  30727 }
  30728 
  30729 int
  30730 bcm_loop_field_qualify_SrcMac_get(
  30731 	int	unit,
  30732 	bcm_field_entry_t	entry,
  30733 	bcm_mac_t *	data,
  30734 	bcm_mac_t *	mask)
  30735 {
  30736 	return bcm_field_qualify_SrcMac_get(
  30737 			BCM_CONTROL(unit)->unit,
  30738 			entry,
  30739 			data,
  30740 			mask);
  30741 }
  30742 
  30743 int
  30744 bcm_loop_field_qualify_SrcMimGport(
  30745 	int	unit,
  30746 	bcm_field_entry_t	entry,
  30747 	bcm_gport_t	mim_port_id)
  30748 {
  30749 	return bcm_field_qualify_SrcMimGport(
  30750 			BCM_CONTROL(unit)->unit,
  30751 			entry,
  30752 			mim_port_id);
  30753 }
  30754 
  30755 int
  30756 bcm_loop_field_qualify_SrcMimGport_get(
  30757 	int	unit,
  30758 	bcm_field_entry_t	entry,
  30759 	bcm_gport_t *	mim_port_id)
  30760 {
  30761 	return bcm_field_qualify_SrcMimGport_get(
  30762 			BCM_CONTROL(unit)->unit,
  30763 			entry,
  30764 			mim_port_id);
  30765 }
  30766 
  30767 int
  30768 bcm_loop_field_qualify_SrcMimGports(
  30769 	int	unit,
  30770 	bcm_field_entry_t	entry,
  30771 	bcm_gport_t	mim_port_id,
  30772 	bcm_gport_t	mim_port_mask)
  30773 {
  30774 	return bcm_field_qualify_SrcMimGports(
  30775 			BCM_CONTROL(unit)->unit,
  30776 			entry,
  30777 			mim_port_id,
  30778 			mim_port_mask);
  30779 }
  30780 
  30781 int
  30782 bcm_loop_field_qualify_SrcMimGports_get(
  30783 	int	unit,
  30784 	bcm_field_entry_t	entry,
  30785 	bcm_gport_t *	mim_port_id,
  30786 	bcm_gport_t *	mim_port_mask)
  30787 {
  30788 	return bcm_field_qualify_SrcMimGports_get(
  30789 			BCM_CONTROL(unit)->unit,
  30790 			entry,
  30791 			mim_port_id,
  30792 			mim_port_mask);
  30793 }
  30794 
  30795 int
  30796 bcm_loop_field_qualify_SrcModPortGport(
  30797 	int	unit,
  30798 	bcm_field_entry_t	entry,
  30799 	bcm_gport_t	data)
  30800 {
  30801 	return bcm_field_qualify_SrcModPortGport(
  30802 			BCM_CONTROL(unit)->unit,
  30803 			entry,
  30804 			data);
  30805 }
  30806 
  30807 int
  30808 bcm_loop_field_qualify_SrcModPortGport_get(
  30809 	int	unit,
  30810 	bcm_field_entry_t	entry,
  30811 	bcm_gport_t *	data)
  30812 {
  30813 	return bcm_field_qualify_SrcModPortGport_get(
  30814 			BCM_CONTROL(unit)->unit,
  30815 			entry,
  30816 			data);
  30817 }
  30818 
  30819 int
  30820 bcm_loop_field_qualify_SrcModPortGports(
  30821 	int	unit,
  30822 	bcm_field_entry_t	entry,
  30823 	bcm_gport_t	port_id,
  30824 	bcm_gport_t	port_mask)
  30825 {
  30826 	return bcm_field_qualify_SrcModPortGports(
  30827 			BCM_CONTROL(unit)->unit,
  30828 			entry,
  30829 			port_id,
  30830 			port_mask);
  30831 }
  30832 
  30833 int
  30834 bcm_loop_field_qualify_SrcModPortGports_get(
  30835 	int	unit,
  30836 	bcm_field_entry_t	entry,
  30837 	bcm_gport_t *	port_id,
  30838 	bcm_gport_t *	port_mask)
  30839 {
  30840 	return bcm_field_qualify_SrcModPortGports_get(
  30841 			BCM_CONTROL(unit)->unit,
  30842 			entry,
  30843 			port_id,
  30844 			port_mask);
  30845 }
  30846 
  30847 int
  30848 bcm_loop_field_qualify_SrcModuleGport(
  30849 	int	unit,
  30850 	bcm_field_entry_t	entry,
  30851 	bcm_gport_t	data)
  30852 {
  30853 	return bcm_field_qualify_SrcModuleGport(
  30854 			BCM_CONTROL(unit)->unit,
  30855 			entry,
  30856 			data);
  30857 }
  30858 
  30859 int
  30860 bcm_loop_field_qualify_SrcModuleGport_get(
  30861 	int	unit,
  30862 	bcm_field_entry_t	entry,
  30863 	bcm_gport_t *	data)
  30864 {
  30865 	return bcm_field_qualify_SrcModuleGport_get(
  30866 			BCM_CONTROL(unit)->unit,
  30867 			entry,
  30868 			data);
  30869 }
  30870 
  30871 int
  30872 bcm_loop_field_qualify_SrcMplsGport(
  30873 	int	unit,
  30874 	bcm_field_entry_t	entry,
  30875 	bcm_gport_t	mpls_port_id)
  30876 {
  30877 	return bcm_field_qualify_SrcMplsGport(
  30878 			BCM_CONTROL(unit)->unit,
  30879 			entry,
  30880 			mpls_port_id);
  30881 }
  30882 
  30883 int
  30884 bcm_loop_field_qualify_SrcMplsGport_get(
  30885 	int	unit,
  30886 	bcm_field_entry_t	entry,
  30887 	bcm_gport_t *	mpls_port_id)
  30888 {
  30889 	return bcm_field_qualify_SrcMplsGport_get(
  30890 			BCM_CONTROL(unit)->unit,
  30891 			entry,
  30892 			mpls_port_id);
  30893 }
  30894 
  30895 int
  30896 bcm_loop_field_qualify_SrcMplsGports(
  30897 	int	unit,
  30898 	bcm_field_entry_t	entry,
  30899 	bcm_gport_t	mpls_port_id,
  30900 	bcm_gport_t	mpls_port_mask)
  30901 {
  30902 	return bcm_field_qualify_SrcMplsGports(
  30903 			BCM_CONTROL(unit)->unit,
  30904 			entry,
  30905 			mpls_port_id,
  30906 			mpls_port_mask);
  30907 }
  30908 
  30909 int
  30910 bcm_loop_field_qualify_SrcMplsGports_get(
  30911 	int	unit,
  30912 	bcm_field_entry_t	entry,
  30913 	bcm_gport_t *	mpls_port_id,
  30914 	bcm_gport_t *	mpls_port_mask)
  30915 {
  30916 	return bcm_field_qualify_SrcMplsGports_get(
  30917 			BCM_CONTROL(unit)->unit,
  30918 			entry,
  30919 			mpls_port_id,
  30920 			mpls_port_mask);
  30921 }
  30922 
  30923 int
  30924 bcm_loop_field_qualify_SrcNivGport(
  30925 	int	unit,
  30926 	bcm_field_entry_t	entry,
  30927 	bcm_gport_t	niv_port_id)
  30928 {
  30929 	return bcm_field_qualify_SrcNivGport(
  30930 			BCM_CONTROL(unit)->unit,
  30931 			entry,
  30932 			niv_port_id);
  30933 }
  30934 
  30935 int
  30936 bcm_loop_field_qualify_SrcNivGport_get(
  30937 	int	unit,
  30938 	bcm_field_entry_t	entry,
  30939 	bcm_gport_t *	niv_port_id)
  30940 {
  30941 	return bcm_field_qualify_SrcNivGport_get(
  30942 			BCM_CONTROL(unit)->unit,
  30943 			entry,
  30944 			niv_port_id);
  30945 }
  30946 
  30947 int
  30948 bcm_loop_field_qualify_SrcNivGports(
  30949 	int	unit,
  30950 	bcm_field_entry_t	entry,
  30951 	bcm_gport_t	niv_port_id,
  30952 	bcm_gport_t	niv_port_mask)
  30953 {
  30954 	return bcm_field_qualify_SrcNivGports(
  30955 			BCM_CONTROL(unit)->unit,
  30956 			entry,
  30957 			niv_port_id,
  30958 			niv_port_mask);
  30959 }
  30960 
  30961 int
  30962 bcm_loop_field_qualify_SrcNivGports_get(
  30963 	int	unit,
  30964 	bcm_field_entry_t	entry,
  30965 	bcm_gport_t *	niv_port_id,
  30966 	bcm_gport_t *	niv_port_mask)
  30967 {
  30968 	return bcm_field_qualify_SrcNivGports_get(
  30969 			BCM_CONTROL(unit)->unit,
  30970 			entry,
  30971 			niv_port_id,
  30972 			niv_port_mask);
  30973 }
  30974 
  30975 int
  30976 bcm_loop_field_qualify_SrcPort(
  30977 	int	unit,
  30978 	bcm_field_entry_t	entry,
  30979 	bcm_module_t	data_modid,
  30980 	bcm_module_t	mask_modid,
  30981 	bcm_port_t	data_port,
  30982 	bcm_port_t	mask_port)
  30983 {
  30984 	return bcm_field_qualify_SrcPort(
  30985 			BCM_CONTROL(unit)->unit,
  30986 			entry,
  30987 			data_modid,
  30988 			mask_modid,
  30989 			data_port,
  30990 			mask_port);
  30991 }
  30992 
  30993 int
  30994 bcm_loop_field_qualify_SrcPortSRLanId(
  30995 	int	unit,
  30996 	bcm_field_entry_t	entry,
  30997 	uint8	lan_id)
  30998 {
  30999 	return bcm_field_qualify_SrcPortSRLanId(
  31000 			BCM_CONTROL(unit)->unit,
  31001 			entry,
  31002 			lan_id);
  31003 }
  31004 
  31005 int
  31006 bcm_loop_field_qualify_SrcPortSRLanId_get(
  31007 	int	unit,
  31008 	bcm_field_entry_t	entry,
  31009 	uint8 *	lan_id)
  31010 {
  31011 	return bcm_field_qualify_SrcPortSRLanId_get(
  31012 			BCM_CONTROL(unit)->unit,
  31013 			entry,
  31014 			lan_id);
  31015 }
  31016 
  31017 int
  31018 bcm_loop_field_qualify_SrcPortSRMode(
  31019 	int	unit,
  31020 	bcm_field_entry_t	entry,
  31021 	bcm_field_sr_port_mode_t	type,
  31022 	uint8	mask)
  31023 {
  31024 	return bcm_field_qualify_SrcPortSRMode(
  31025 			BCM_CONTROL(unit)->unit,
  31026 			entry,
  31027 			type,
  31028 			mask);
  31029 }
  31030 
  31031 int
  31032 bcm_loop_field_qualify_SrcPortSRMode_get(
  31033 	int	unit,
  31034 	bcm_field_entry_t	entry,
  31035 	bcm_field_sr_port_mode_t *	type,
  31036 	uint8 *	mask)
  31037 {
  31038 	return bcm_field_qualify_SrcPortSRMode_get(
  31039 			BCM_CONTROL(unit)->unit,
  31040 			entry,
  31041 			type,
  31042 			mask);
  31043 }
  31044 
  31045 int
  31046 bcm_loop_field_qualify_SrcPortSRNetId(
  31047 	int	unit,
  31048 	bcm_field_entry_t	entry,
  31049 	uint8	net_id,
  31050 	uint8	mask)
  31051 {
  31052 	return bcm_field_qualify_SrcPortSRNetId(
  31053 			BCM_CONTROL(unit)->unit,
  31054 			entry,
  31055 			net_id,
  31056 			mask);
  31057 }
  31058 
  31059 int
  31060 bcm_loop_field_qualify_SrcPortSRNetId_get(
  31061 	int	unit,
  31062 	bcm_field_entry_t	entry,
  31063 	uint8 *	net_id,
  31064 	uint8 *	mask)
  31065 {
  31066 	return bcm_field_qualify_SrcPortSRNetId_get(
  31067 			BCM_CONTROL(unit)->unit,
  31068 			entry,
  31069 			net_id,
  31070 			mask);
  31071 }
  31072 
  31073 int
  31074 bcm_loop_field_qualify_SrcPortSRRoleInterlink(
  31075 	int	unit,
  31076 	bcm_field_entry_t	entry,
  31077 	uint8	data)
  31078 {
  31079 	return bcm_field_qualify_SrcPortSRRoleInterlink(
  31080 			BCM_CONTROL(unit)->unit,
  31081 			entry,
  31082 			data);
  31083 }
  31084 
  31085 int
  31086 bcm_loop_field_qualify_SrcPortSRRoleInterlink_get(
  31087 	int	unit,
  31088 	bcm_field_entry_t	entry,
  31089 	uint8 *	data)
  31090 {
  31091 	return bcm_field_qualify_SrcPortSRRoleInterlink_get(
  31092 			BCM_CONTROL(unit)->unit,
  31093 			entry,
  31094 			data);
  31095 }
  31096 
  31097 int
  31098 bcm_loop_field_qualify_SrcPortSRType(
  31099 	int	unit,
  31100 	bcm_field_entry_t	entry,
  31101 	bcm_field_port_sr_type_t	type)
  31102 {
  31103 	return bcm_field_qualify_SrcPortSRType(
  31104 			BCM_CONTROL(unit)->unit,
  31105 			entry,
  31106 			type);
  31107 }
  31108 
  31109 int
  31110 bcm_loop_field_qualify_SrcPortSRType_get(
  31111 	int	unit,
  31112 	bcm_field_entry_t	entry,
  31113 	bcm_field_port_sr_type_t *	type)
  31114 {
  31115 	return bcm_field_qualify_SrcPortSRType_get(
  31116 			BCM_CONTROL(unit)->unit,
  31117 			entry,
  31118 			type);
  31119 }
  31120 
  31121 int
  31122 bcm_loop_field_qualify_SrcPort_get(
  31123 	int	unit,
  31124 	bcm_field_entry_t	entry,
  31125 	bcm_module_t *	data_modid,
  31126 	bcm_module_t *	mask_modid,
  31127 	bcm_port_t *	data_port,
  31128 	bcm_port_t *	mask_port)
  31129 {
  31130 	return bcm_field_qualify_SrcPort_get(
  31131 			BCM_CONTROL(unit)->unit,
  31132 			entry,
  31133 			data_modid,
  31134 			mask_modid,
  31135 			data_port,
  31136 			mask_port);
  31137 }
  31138 
  31139 int
  31140 bcm_loop_field_qualify_SrcTMPort(
  31141 	int	unit,
  31142 	bcm_field_entry_t	entry,
  31143 	bcm_port_t	data_port,
  31144 	bcm_port_t	mask_port)
  31145 {
  31146 	return bcm_field_qualify_SrcTMPort(
  31147 			BCM_CONTROL(unit)->unit,
  31148 			entry,
  31149 			data_port,
  31150 			mask_port);
  31151 }
  31152 
  31153 int
  31154 bcm_loop_field_qualify_SrcTMPort_get(
  31155 	int	unit,
  31156 	bcm_field_entry_t	entry,
  31157 	bcm_port_t *	data_port,
  31158 	bcm_port_t *	mask_port)
  31159 {
  31160 	return bcm_field_qualify_SrcTMPort_get(
  31161 			BCM_CONTROL(unit)->unit,
  31162 			entry,
  31163 			data_port,
  31164 			mask_port);
  31165 }
  31166 
  31167 int
  31168 bcm_loop_field_qualify_SrcTrunk(
  31169 	int	unit,
  31170 	bcm_field_entry_t	entry,
  31171 	bcm_trunk_t	data,
  31172 	bcm_trunk_t	mask)
  31173 {
  31174 	return bcm_field_qualify_SrcTrunk(
  31175 			BCM_CONTROL(unit)->unit,
  31176 			entry,
  31177 			data,
  31178 			mask);
  31179 }
  31180 
  31181 int
  31182 bcm_loop_field_qualify_SrcTrunkMemberGport(
  31183 	int	unit,
  31184 	bcm_field_entry_t	entry,
  31185 	bcm_gport_t	data)
  31186 {
  31187 	return bcm_field_qualify_SrcTrunkMemberGport(
  31188 			BCM_CONTROL(unit)->unit,
  31189 			entry,
  31190 			data);
  31191 }
  31192 
  31193 int
  31194 bcm_loop_field_qualify_SrcTrunkMemberGport_get(
  31195 	int	unit,
  31196 	bcm_field_entry_t	entry,
  31197 	bcm_gport_t *	data)
  31198 {
  31199 	return bcm_field_qualify_SrcTrunkMemberGport_get(
  31200 			BCM_CONTROL(unit)->unit,
  31201 			entry,
  31202 			data);
  31203 }
  31204 
  31205 int
  31206 bcm_loop_field_qualify_SrcTrunk_get(
  31207 	int	unit,
  31208 	bcm_field_entry_t	entry,
  31209 	bcm_trunk_t *	data,
  31210 	bcm_trunk_t *	mask)
  31211 {
  31212 	return bcm_field_qualify_SrcTrunk_get(
  31213 			BCM_CONTROL(unit)->unit,
  31214 			entry,
  31215 			data,
  31216 			mask);
  31217 }
  31218 
  31219 int
  31220 bcm_loop_field_qualify_SrcVirtualPortValid(
  31221 	int	unit,
  31222 	bcm_field_entry_t	entry,
  31223 	uint8	data,
  31224 	uint8	mask)
  31225 {
  31226 	return bcm_field_qualify_SrcVirtualPortValid(
  31227 			BCM_CONTROL(unit)->unit,
  31228 			entry,
  31229 			data,
  31230 			mask);
  31231 }
  31232 
  31233 int
  31234 bcm_loop_field_qualify_SrcVirtualPortValid_get(
  31235 	int	unit,
  31236 	bcm_field_entry_t	entry,
  31237 	uint8 *	data,
  31238 	uint8 *	mask)
  31239 {
  31240 	return bcm_field_qualify_SrcVirtualPortValid_get(
  31241 			BCM_CONTROL(unit)->unit,
  31242 			entry,
  31243 			data,
  31244 			mask);
  31245 }
  31246 
  31247 int
  31248 bcm_loop_field_qualify_SrcVlanGport(
  31249 	int	unit,
  31250 	bcm_field_entry_t	entry,
  31251 	bcm_gport_t	vlan_port_id)
  31252 {
  31253 	return bcm_field_qualify_SrcVlanGport(
  31254 			BCM_CONTROL(unit)->unit,
  31255 			entry,
  31256 			vlan_port_id);
  31257 }
  31258 
  31259 int
  31260 bcm_loop_field_qualify_SrcVlanGport_get(
  31261 	int	unit,
  31262 	bcm_field_entry_t	entry,
  31263 	bcm_gport_t *	vlan_port_id)
  31264 {
  31265 	return bcm_field_qualify_SrcVlanGport_get(
  31266 			BCM_CONTROL(unit)->unit,
  31267 			entry,
  31268 			vlan_port_id);
  31269 }
  31270 
  31271 int
  31272 bcm_loop_field_qualify_SrcVlanGports(
  31273 	int	unit,
  31274 	bcm_field_entry_t	entry,
  31275 	bcm_gport_t	vlan_port_id,
  31276 	bcm_gport_t	vlan_port_mask)
  31277 {
  31278 	return bcm_field_qualify_SrcVlanGports(
  31279 			BCM_CONTROL(unit)->unit,
  31280 			entry,
  31281 			vlan_port_id,
  31282 			vlan_port_mask);
  31283 }
  31284 
  31285 int
  31286 bcm_loop_field_qualify_SrcVlanGports_get(
  31287 	int	unit,
  31288 	bcm_field_entry_t	entry,
  31289 	bcm_gport_t *	vlan_port_id,
  31290 	bcm_gport_t *	vlan_port_mask)
  31291 {
  31292 	return bcm_field_qualify_SrcVlanGports_get(
  31293 			BCM_CONTROL(unit)->unit,
  31294 			entry,
  31295 			vlan_port_id,
  31296 			vlan_port_mask);
  31297 }
  31298 
  31299 int
  31300 bcm_loop_field_qualify_SrcVxlanGport(
  31301 	int	unit,
  31302 	bcm_field_entry_t	entry,
  31303 	bcm_gport_t	vxlan_port_id)
  31304 {
  31305 	return bcm_field_qualify_SrcVxlanGport(
  31306 			BCM_CONTROL(unit)->unit,
  31307 			entry,
  31308 			vxlan_port_id);
  31309 }
  31310 
  31311 int
  31312 bcm_loop_field_qualify_SrcVxlanGport_get(
  31313 	int	unit,
  31314 	bcm_field_entry_t	entry,
  31315 	bcm_gport_t *	vxlan_port_id)
  31316 {
  31317 	return bcm_field_qualify_SrcVxlanGport_get(
  31318 			BCM_CONTROL(unit)->unit,
  31319 			entry,
  31320 			vxlan_port_id);
  31321 }
  31322 
  31323 int
  31324 bcm_loop_field_qualify_SrcVxlanGports(
  31325 	int	unit,
  31326 	bcm_field_entry_t	entry,
  31327 	bcm_gport_t	vxlan_port_id,
  31328 	bcm_gport_t	vxlan_port_mask)
  31329 {
  31330 	return bcm_field_qualify_SrcVxlanGports(
  31331 			BCM_CONTROL(unit)->unit,
  31332 			entry,
  31333 			vxlan_port_id,
  31334 			vxlan_port_mask);
  31335 }
  31336 
  31337 int
  31338 bcm_loop_field_qualify_SrcVxlanGports_get(
  31339 	int	unit,
  31340 	bcm_field_entry_t	entry,
  31341 	bcm_gport_t *	vxlan_port_id,
  31342 	bcm_gport_t *	vxlan_port_mask)
  31343 {
  31344 	return bcm_field_qualify_SrcVxlanGports_get(
  31345 			BCM_CONTROL(unit)->unit,
  31346 			entry,
  31347 			vxlan_port_id,
  31348 			vxlan_port_mask);
  31349 }
  31350 
  31351 int
  31352 bcm_loop_field_qualify_SrcWlanGport(
  31353 	int	unit,
  31354 	bcm_field_entry_t	entry,
  31355 	bcm_gport_t	wlan_port_id)
  31356 {
  31357 	return bcm_field_qualify_SrcWlanGport(
  31358 			BCM_CONTROL(unit)->unit,
  31359 			entry,
  31360 			wlan_port_id);
  31361 }
  31362 
  31363 int
  31364 bcm_loop_field_qualify_SrcWlanGport_get(
  31365 	int	unit,
  31366 	bcm_field_entry_t	entry,
  31367 	bcm_gport_t *	wlan_port_id)
  31368 {
  31369 	return bcm_field_qualify_SrcWlanGport_get(
  31370 			BCM_CONTROL(unit)->unit,
  31371 			entry,
  31372 			wlan_port_id);
  31373 }
  31374 
  31375 int
  31376 bcm_loop_field_qualify_SrcWlanGports(
  31377 	int	unit,
  31378 	bcm_field_entry_t	entry,
  31379 	bcm_gport_t	wlan_port_id,
  31380 	bcm_gport_t	wlan_port_mask)
  31381 {
  31382 	return bcm_field_qualify_SrcWlanGports(
  31383 			BCM_CONTROL(unit)->unit,
  31384 			entry,
  31385 			wlan_port_id,
  31386 			wlan_port_mask);
  31387 }
  31388 
  31389 int
  31390 bcm_loop_field_qualify_SrcWlanGports_get(
  31391 	int	unit,
  31392 	bcm_field_entry_t	entry,
  31393 	bcm_gport_t *	wlan_port_id,
  31394 	bcm_gport_t *	wlan_port_mask)
  31395 {
  31396 	return bcm_field_qualify_SrcWlanGports_get(
  31397 			BCM_CONTROL(unit)->unit,
  31398 			entry,
  31399 			wlan_port_id,
  31400 			wlan_port_mask);
  31401 }
  31402 
  31403 int
  31404 bcm_loop_field_qualify_StackingRoute(
  31405 	int	unit,
  31406 	bcm_field_entry_t	entry,
  31407 	uint32	data,
  31408 	uint32	mask)
  31409 {
  31410 	return bcm_field_qualify_StackingRoute(
  31411 			BCM_CONTROL(unit)->unit,
  31412 			entry,
  31413 			data,
  31414 			mask);
  31415 }
  31416 
  31417 int
  31418 bcm_loop_field_qualify_StackingRoute_get(
  31419 	int	unit,
  31420 	bcm_field_entry_t	entry,
  31421 	uint32 *	data,
  31422 	uint32 *	mask)
  31423 {
  31424 	return bcm_field_qualify_StackingRoute_get(
  31425 			BCM_CONTROL(unit)->unit,
  31426 			entry,
  31427 			data,
  31428 			mask);
  31429 }
  31430 
  31431 int
  31432 bcm_loop_field_qualify_Stage(
  31433 	int	unit,
  31434 	bcm_field_entry_t	entry,
  31435 	bcm_field_stage_t	data)
  31436 {
  31437 	return bcm_field_qualify_Stage(
  31438 			BCM_CONTROL(unit)->unit,
  31439 			entry,
  31440 			data);
  31441 }
  31442 
  31443 int
  31444 bcm_loop_field_qualify_Stage_get(
  31445 	int	unit,
  31446 	bcm_field_entry_t	entry,
  31447 	bcm_field_stage_t *	data)
  31448 {
  31449 	return bcm_field_qualify_Stage_get(
  31450 			BCM_CONTROL(unit)->unit,
  31451 			entry,
  31452 			data);
  31453 }
  31454 
  31455 int
  31456 bcm_loop_field_qualify_StaggeredDirectValue(
  31457 	int	unit,
  31458 	bcm_field_entry_t	entry,
  31459 	uint32	data,
  31460 	uint32	mask)
  31461 {
  31462 	return bcm_field_qualify_StaggeredDirectValue(
  31463 			BCM_CONTROL(unit)->unit,
  31464 			entry,
  31465 			data,
  31466 			mask);
  31467 }
  31468 
  31469 int
  31470 bcm_loop_field_qualify_StaggeredDirectValue_get(
  31471 	int	unit,
  31472 	bcm_field_entry_t	entry,
  31473 	uint32 *	data,
  31474 	uint32 *	mask)
  31475 {
  31476 	return bcm_field_qualify_StaggeredDirectValue_get(
  31477 			BCM_CONTROL(unit)->unit,
  31478 			entry,
  31479 			data,
  31480 			mask);
  31481 }
  31482 
  31483 int
  31484 bcm_loop_field_qualify_StaggeredPreselProfile0(
  31485 	int	unit,
  31486 	bcm_field_entry_t	entry,
  31487 	uint32	data,
  31488 	uint32	mask)
  31489 {
  31490 	return bcm_field_qualify_StaggeredPreselProfile0(
  31491 			BCM_CONTROL(unit)->unit,
  31492 			entry,
  31493 			data,
  31494 			mask);
  31495 }
  31496 
  31497 int
  31498 bcm_loop_field_qualify_StaggeredPreselProfile0_get(
  31499 	int	unit,
  31500 	bcm_field_entry_t	entry,
  31501 	uint32 *	data,
  31502 	uint32 *	mask)
  31503 {
  31504 	return bcm_field_qualify_StaggeredPreselProfile0_get(
  31505 			BCM_CONTROL(unit)->unit,
  31506 			entry,
  31507 			data,
  31508 			mask);
  31509 }
  31510 
  31511 int
  31512 bcm_loop_field_qualify_StaggeredPreselProfile1(
  31513 	int	unit,
  31514 	bcm_field_entry_t	entry,
  31515 	uint32	data,
  31516 	uint32	mask)
  31517 {
  31518 	return bcm_field_qualify_StaggeredPreselProfile1(
  31519 			BCM_CONTROL(unit)->unit,
  31520 			entry,
  31521 			data,
  31522 			mask);
  31523 }
  31524 
  31525 int
  31526 bcm_loop_field_qualify_StaggeredPreselProfile1_get(
  31527 	int	unit,
  31528 	bcm_field_entry_t	entry,
  31529 	uint32 *	data,
  31530 	uint32 *	mask)
  31531 {
  31532 	return bcm_field_qualify_StaggeredPreselProfile1_get(
  31533 			BCM_CONTROL(unit)->unit,
  31534 			entry,
  31535 			data,
  31536 			mask);
  31537 }
  31538 
  31539 int
  31540 bcm_loop_field_qualify_StaggeredPreselProfile2(
  31541 	int	unit,
  31542 	bcm_field_entry_t	entry,
  31543 	uint32	data,
  31544 	uint32	mask)
  31545 {
  31546 	return bcm_field_qualify_StaggeredPreselProfile2(
  31547 			BCM_CONTROL(unit)->unit,
  31548 			entry,
  31549 			data,
  31550 			mask);
  31551 }
  31552 
  31553 int
  31554 bcm_loop_field_qualify_StaggeredPreselProfile2_get(
  31555 	int	unit,
  31556 	bcm_field_entry_t	entry,
  31557 	uint32 *	data,
  31558 	uint32 *	mask)
  31559 {
  31560 	return bcm_field_qualify_StaggeredPreselProfile2_get(
  31561 			BCM_CONTROL(unit)->unit,
  31562 			entry,
  31563 			data,
  31564 			mask);
  31565 }
  31566 
  31567 int
  31568 bcm_loop_field_qualify_StaggeredPreselProfile3(
  31569 	int	unit,
  31570 	bcm_field_entry_t	entry,
  31571 	uint32	data,
  31572 	uint32	mask)
  31573 {
  31574 	return bcm_field_qualify_StaggeredPreselProfile3(
  31575 			BCM_CONTROL(unit)->unit,
  31576 			entry,
  31577 			data,
  31578 			mask);
  31579 }
  31580 
  31581 int
  31582 bcm_loop_field_qualify_StaggeredPreselProfile3_get(
  31583 	int	unit,
  31584 	bcm_field_entry_t	entry,
  31585 	uint32 *	data,
  31586 	uint32 *	mask)
  31587 {
  31588 	return bcm_field_qualify_StaggeredPreselProfile3_get(
  31589 			BCM_CONTROL(unit)->unit,
  31590 			entry,
  31591 			data,
  31592 			mask);
  31593 }
  31594 
  31595 int
  31596 bcm_loop_field_qualify_StaggeredPreselProfileDirect(
  31597 	int	unit,
  31598 	bcm_field_entry_t	entry,
  31599 	uint32	data,
  31600 	uint32	mask)
  31601 {
  31602 	return bcm_field_qualify_StaggeredPreselProfileDirect(
  31603 			BCM_CONTROL(unit)->unit,
  31604 			entry,
  31605 			data,
  31606 			mask);
  31607 }
  31608 
  31609 int
  31610 bcm_loop_field_qualify_StaggeredPreselProfileDirect_get(
  31611 	int	unit,
  31612 	bcm_field_entry_t	entry,
  31613 	uint32 *	data,
  31614 	uint32 *	mask)
  31615 {
  31616 	return bcm_field_qualify_StaggeredPreselProfileDirect_get(
  31617 			BCM_CONTROL(unit)->unit,
  31618 			entry,
  31619 			data,
  31620 			mask);
  31621 }
  31622 
  31623 int
  31624 bcm_loop_field_qualify_StaggeredValue0(
  31625 	int	unit,
  31626 	bcm_field_entry_t	entry,
  31627 	uint32	data,
  31628 	uint32	mask)
  31629 {
  31630 	return bcm_field_qualify_StaggeredValue0(
  31631 			BCM_CONTROL(unit)->unit,
  31632 			entry,
  31633 			data,
  31634 			mask);
  31635 }
  31636 
  31637 int
  31638 bcm_loop_field_qualify_StaggeredValue0_get(
  31639 	int	unit,
  31640 	bcm_field_entry_t	entry,
  31641 	uint32 *	data,
  31642 	uint32 *	mask)
  31643 {
  31644 	return bcm_field_qualify_StaggeredValue0_get(
  31645 			BCM_CONTROL(unit)->unit,
  31646 			entry,
  31647 			data,
  31648 			mask);
  31649 }
  31650 
  31651 int
  31652 bcm_loop_field_qualify_StaggeredValue1(
  31653 	int	unit,
  31654 	bcm_field_entry_t	entry,
  31655 	uint32	data,
  31656 	uint32	mask)
  31657 {
  31658 	return bcm_field_qualify_StaggeredValue1(
  31659 			BCM_CONTROL(unit)->unit,
  31660 			entry,
  31661 			data,
  31662 			mask);
  31663 }
  31664 
  31665 int
  31666 bcm_loop_field_qualify_StaggeredValue1_get(
  31667 	int	unit,
  31668 	bcm_field_entry_t	entry,
  31669 	uint32 *	data,
  31670 	uint32 *	mask)
  31671 {
  31672 	return bcm_field_qualify_StaggeredValue1_get(
  31673 			BCM_CONTROL(unit)->unit,
  31674 			entry,
  31675 			data,
  31676 			mask);
  31677 }
  31678 
  31679 int
  31680 bcm_loop_field_qualify_StaggeredValue2(
  31681 	int	unit,
  31682 	bcm_field_entry_t	entry,
  31683 	uint32	data,
  31684 	uint32	mask)
  31685 {
  31686 	return bcm_field_qualify_StaggeredValue2(
  31687 			BCM_CONTROL(unit)->unit,
  31688 			entry,
  31689 			data,
  31690 			mask);
  31691 }
  31692 
  31693 int
  31694 bcm_loop_field_qualify_StaggeredValue2_get(
  31695 	int	unit,
  31696 	bcm_field_entry_t	entry,
  31697 	uint32 *	data,
  31698 	uint32 *	mask)
  31699 {
  31700 	return bcm_field_qualify_StaggeredValue2_get(
  31701 			BCM_CONTROL(unit)->unit,
  31702 			entry,
  31703 			data,
  31704 			mask);
  31705 }
  31706 
  31707 int
  31708 bcm_loop_field_qualify_StaggeredValue3(
  31709 	int	unit,
  31710 	bcm_field_entry_t	entry,
  31711 	uint32	data,
  31712 	uint32	mask)
  31713 {
  31714 	return bcm_field_qualify_StaggeredValue3(
  31715 			BCM_CONTROL(unit)->unit,
  31716 			entry,
  31717 			data,
  31718 			mask);
  31719 }
  31720 
  31721 int
  31722 bcm_loop_field_qualify_StaggeredValue3_get(
  31723 	int	unit,
  31724 	bcm_field_entry_t	entry,
  31725 	uint32 *	data,
  31726 	uint32 *	mask)
  31727 {
  31728 	return bcm_field_qualify_StaggeredValue3_get(
  31729 			BCM_CONTROL(unit)->unit,
  31730 			entry,
  31731 			data,
  31732 			mask);
  31733 }
  31734 
  31735 int
  31736 bcm_loop_field_qualify_StpState(
  31737 	int	unit,
  31738 	bcm_field_entry_t	entry,
  31739 	uint8	data)
  31740 {
  31741 	return bcm_field_qualify_StpState(
  31742 			BCM_CONTROL(unit)->unit,
  31743 			entry,
  31744 			data);
  31745 }
  31746 
  31747 int
  31748 bcm_loop_field_qualify_StpState_get(
  31749 	int	unit,
  31750 	bcm_field_entry_t	entry,
  31751 	uint8 *	data)
  31752 {
  31753 	return bcm_field_qualify_StpState_get(
  31754 			BCM_CONTROL(unit)->unit,
  31755 			entry,
  31756 			data);
  31757 }
  31758 
  31759 int
  31760 bcm_loop_field_qualify_SubportPktTag(
  31761 	int	unit,
  31762 	bcm_field_entry_t	entry,
  31763 	uint16	data,
  31764 	uint16	mask)
  31765 {
  31766 	return bcm_field_qualify_SubportPktTag(
  31767 			BCM_CONTROL(unit)->unit,
  31768 			entry,
  31769 			data,
  31770 			mask);
  31771 }
  31772 
  31773 int
  31774 bcm_loop_field_qualify_SubportPktTag_get(
  31775 	int	unit,
  31776 	bcm_field_entry_t	entry,
  31777 	uint16 *	data,
  31778 	uint16 *	mask)
  31779 {
  31780 	return bcm_field_qualify_SubportPktTag_get(
  31781 			BCM_CONTROL(unit)->unit,
  31782 			entry,
  31783 			data,
  31784 			mask);
  31785 }
  31786 
  31787 int
  31788 bcm_loop_field_qualify_SubportTagPresent(
  31789 	int	unit,
  31790 	bcm_field_entry_t	entry,
  31791 	uint8	data,
  31792 	uint8	mask)
  31793 {
  31794 	return bcm_field_qualify_SubportTagPresent(
  31795 			BCM_CONTROL(unit)->unit,
  31796 			entry,
  31797 			data,
  31798 			mask);
  31799 }
  31800 
  31801 int
  31802 bcm_loop_field_qualify_SubportTagPresent_get(
  31803 	int	unit,
  31804 	bcm_field_entry_t	entry,
  31805 	uint8 *	data,
  31806 	uint8 *	mask)
  31807 {
  31808 	return bcm_field_qualify_SubportTagPresent_get(
  31809 			BCM_CONTROL(unit)->unit,
  31810 			entry,
  31811 			data,
  31812 			mask);
  31813 }
  31814 
  31815 int
  31816 bcm_loop_field_qualify_SysHdrLocalDstport(
  31817 	int	unit,
  31818 	bcm_field_entry_t	entry,
  31819 	bcm_port_t	data,
  31820 	bcm_port_t	mask)
  31821 {
  31822 	return bcm_field_qualify_SysHdrLocalDstport(
  31823 			BCM_CONTROL(unit)->unit,
  31824 			entry,
  31825 			data,
  31826 			mask);
  31827 }
  31828 
  31829 int
  31830 bcm_loop_field_qualify_SysHdrLocalDstport_get(
  31831 	int	unit,
  31832 	bcm_field_entry_t	entry,
  31833 	bcm_port_t *	data,
  31834 	bcm_port_t *	mask)
  31835 {
  31836 	return bcm_field_qualify_SysHdrLocalDstport_get(
  31837 			BCM_CONTROL(unit)->unit,
  31838 			entry,
  31839 			data,
  31840 			mask);
  31841 }
  31842 
  31843 int
  31844 bcm_loop_field_qualify_SysHdrType(
  31845 	int	unit,
  31846 	bcm_field_entry_t	entry,
  31847 	bcm_field_sys_hdr_type_t	type)
  31848 {
  31849 	return bcm_field_qualify_SysHdrType(
  31850 			BCM_CONTROL(unit)->unit,
  31851 			entry,
  31852 			type);
  31853 }
  31854 
  31855 int
  31856 bcm_loop_field_qualify_SysHdrType_get(
  31857 	int	unit,
  31858 	bcm_field_entry_t	entry,
  31859 	bcm_field_sys_hdr_type_t *	type)
  31860 {
  31861 	return bcm_field_qualify_SysHdrType_get(
  31862 			BCM_CONTROL(unit)->unit,
  31863 			entry,
  31864 			type);
  31865 }
  31866 
  31867 int
  31868 bcm_loop_field_qualify_SystemPortBitmap(
  31869 	int	unit,
  31870 	bcm_field_entry_t	entry,
  31871 	bcm_pbmp_t	data,
  31872 	bcm_pbmp_t	mask)
  31873 {
  31874 	return bcm_field_qualify_SystemPortBitmap(
  31875 			BCM_CONTROL(unit)->unit,
  31876 			entry,
  31877 			data,
  31878 			mask);
  31879 }
  31880 
  31881 int
  31882 bcm_loop_field_qualify_SystemPortBitmap_get(
  31883 	int	unit,
  31884 	bcm_field_entry_t	entry,
  31885 	bcm_pbmp_t *	data,
  31886 	bcm_pbmp_t *	mask)
  31887 {
  31888 	return bcm_field_qualify_SystemPortBitmap_get(
  31889 			BCM_CONTROL(unit)->unit,
  31890 			entry,
  31891 			data,
  31892 			mask);
  31893 }
  31894 
  31895 int
  31896 bcm_loop_field_qualify_TafCosProfile(
  31897 	int	unit,
  31898 	bcm_field_entry_t	entry,
  31899 	uint32	data,
  31900 	uint32	mask)
  31901 {
  31902 	return bcm_field_qualify_TafCosProfile(
  31903 			BCM_CONTROL(unit)->unit,
  31904 			entry,
  31905 			data,
  31906 			mask);
  31907 }
  31908 
  31909 int
  31910 bcm_loop_field_qualify_TafCosProfile_get(
  31911 	int	unit,
  31912 	bcm_field_entry_t	entry,
  31913 	uint32 *	data,
  31914 	uint32 *	mask)
  31915 {
  31916 	return bcm_field_qualify_TafCosProfile_get(
  31917 			BCM_CONTROL(unit)->unit,
  31918 			entry,
  31919 			data,
  31920 			mask);
  31921 }
  31922 
  31923 int
  31924 bcm_loop_field_qualify_TafEnable(
  31925 	int	unit,
  31926 	bcm_field_entry_t	entry,
  31927 	uint8	enable)
  31928 {
  31929 	return bcm_field_qualify_TafEnable(
  31930 			BCM_CONTROL(unit)->unit,
  31931 			entry,
  31932 			enable);
  31933 }
  31934 
  31935 int
  31936 bcm_loop_field_qualify_TafEnable_get(
  31937 	int	unit,
  31938 	bcm_field_entry_t	entry,
  31939 	uint8 *	enable)
  31940 {
  31941 	return bcm_field_qualify_TafEnable_get(
  31942 			BCM_CONTROL(unit)->unit,
  31943 			entry,
  31944 			enable);
  31945 }
  31946 
  31947 int
  31948 bcm_loop_field_qualify_TafGateId(
  31949 	int	unit,
  31950 	bcm_field_entry_t	entry,
  31951 	uint32	data,
  31952 	uint32	mask)
  31953 {
  31954 	return bcm_field_qualify_TafGateId(
  31955 			BCM_CONTROL(unit)->unit,
  31956 			entry,
  31957 			data,
  31958 			mask);
  31959 }
  31960 
  31961 int
  31962 bcm_loop_field_qualify_TafGateId_get(
  31963 	int	unit,
  31964 	bcm_field_entry_t	entry,
  31965 	uint32 *	data,
  31966 	uint32 *	mask)
  31967 {
  31968 	return bcm_field_qualify_TafGateId_get(
  31969 			BCM_CONTROL(unit)->unit,
  31970 			entry,
  31971 			data,
  31972 			mask);
  31973 }
  31974 
  31975 int
  31976 bcm_loop_field_qualify_TafGateState(
  31977 	int	unit,
  31978 	bcm_field_entry_t	entry,
  31979 	uint8	state)
  31980 {
  31981 	return bcm_field_qualify_TafGateState(
  31982 			BCM_CONTROL(unit)->unit,
  31983 			entry,
  31984 			state);
  31985 }
  31986 
  31987 int
  31988 bcm_loop_field_qualify_TafGateState_get(
  31989 	int	unit,
  31990 	bcm_field_entry_t	entry,
  31991 	uint8 *	state)
  31992 {
  31993 	return bcm_field_qualify_TafGateState_get(
  31994 			BCM_CONTROL(unit)->unit,
  31995 			entry,
  31996 			state);
  31997 }
  31998 
  31999 int
  32000 bcm_loop_field_qualify_TcpClassOne(
  32001 	int	unit,
  32002 	bcm_field_entry_t	entry,
  32003 	bcm_class_t	data,
  32004 	bcm_class_t	mask)
  32005 {
  32006 	return bcm_field_qualify_TcpClassOne(
  32007 			BCM_CONTROL(unit)->unit,
  32008 			entry,
  32009 			data,
  32010 			mask);
  32011 }
  32012 
  32013 int
  32014 bcm_loop_field_qualify_TcpClassOne_get(
  32015 	int	unit,
  32016 	bcm_field_entry_t	entry,
  32017 	bcm_class_t *	data,
  32018 	bcm_class_t *	mask)
  32019 {
  32020 	return bcm_field_qualify_TcpClassOne_get(
  32021 			BCM_CONTROL(unit)->unit,
  32022 			entry,
  32023 			data,
  32024 			mask);
  32025 }
  32026 
  32027 int
  32028 bcm_loop_field_qualify_TcpClassZero(
  32029 	int	unit,
  32030 	bcm_field_entry_t	entry,
  32031 	bcm_class_t	data,
  32032 	bcm_class_t	mask)
  32033 {
  32034 	return bcm_field_qualify_TcpClassZero(
  32035 			BCM_CONTROL(unit)->unit,
  32036 			entry,
  32037 			data,
  32038 			mask);
  32039 }
  32040 
  32041 int
  32042 bcm_loop_field_qualify_TcpClassZero_get(
  32043 	int	unit,
  32044 	bcm_field_entry_t	entry,
  32045 	bcm_class_t *	data,
  32046 	bcm_class_t *	mask)
  32047 {
  32048 	return bcm_field_qualify_TcpClassZero_get(
  32049 			BCM_CONTROL(unit)->unit,
  32050 			entry,
  32051 			data,
  32052 			mask);
  32053 }
  32054 
  32055 int
  32056 bcm_loop_field_qualify_TcpControl(
  32057 	int	unit,
  32058 	bcm_field_entry_t	entry,
  32059 	uint8	data,
  32060 	uint8	mask)
  32061 {
  32062 	return bcm_field_qualify_TcpControl(
  32063 			BCM_CONTROL(unit)->unit,
  32064 			entry,
  32065 			data,
  32066 			mask);
  32067 }
  32068 
  32069 int
  32070 bcm_loop_field_qualify_TcpControl_get(
  32071 	int	unit,
  32072 	bcm_field_entry_t	entry,
  32073 	uint8 *	data,
  32074 	uint8 *	mask)
  32075 {
  32076 	return bcm_field_qualify_TcpControl_get(
  32077 			BCM_CONTROL(unit)->unit,
  32078 			entry,
  32079 			data,
  32080 			mask);
  32081 }
  32082 
  32083 int
  32084 bcm_loop_field_qualify_TcpHeaderSize(
  32085 	int	unit,
  32086 	bcm_field_entry_t	entry,
  32087 	uint8	data,
  32088 	uint8	mask)
  32089 {
  32090 	return bcm_field_qualify_TcpHeaderSize(
  32091 			BCM_CONTROL(unit)->unit,
  32092 			entry,
  32093 			data,
  32094 			mask);
  32095 }
  32096 
  32097 int
  32098 bcm_loop_field_qualify_TcpHeaderSize_get(
  32099 	int	unit,
  32100 	bcm_field_entry_t	entry,
  32101 	uint8 *	data,
  32102 	uint8 *	mask)
  32103 {
  32104 	return bcm_field_qualify_TcpHeaderSize_get(
  32105 			BCM_CONTROL(unit)->unit,
  32106 			entry,
  32107 			data,
  32108 			mask);
  32109 }
  32110 
  32111 int
  32112 bcm_loop_field_qualify_TcpSequenceZero(
  32113 	int	unit,
  32114 	bcm_field_entry_t	entry,
  32115 	uint32	flag)
  32116 {
  32117 	return bcm_field_qualify_TcpSequenceZero(
  32118 			BCM_CONTROL(unit)->unit,
  32119 			entry,
  32120 			flag);
  32121 }
  32122 
  32123 int
  32124 bcm_loop_field_qualify_TcpSequenceZero_get(
  32125 	int	unit,
  32126 	bcm_field_entry_t	entry,
  32127 	uint32 *	flag)
  32128 {
  32129 	return bcm_field_qualify_TcpSequenceZero_get(
  32130 			BCM_CONTROL(unit)->unit,
  32131 			entry,
  32132 			flag);
  32133 }
  32134 
  32135 int
  32136 bcm_loop_field_qualify_TimeStampTxPktType(
  32137 	int	unit,
  32138 	bcm_field_entry_t	entry,
  32139 	bcm_field_timestamp_transmit_pkt_type_t	ts_pkt_type)
  32140 {
  32141 	return bcm_field_qualify_TimeStampTxPktType(
  32142 			BCM_CONTROL(unit)->unit,
  32143 			entry,
  32144 			ts_pkt_type);
  32145 }
  32146 
  32147 int
  32148 bcm_loop_field_qualify_TimeStampTxPktType_get(
  32149 	int	unit,
  32150 	bcm_field_entry_t	entry,
  32151 	bcm_field_timestamp_transmit_pkt_type_t *	ts_pkt_type)
  32152 {
  32153 	return bcm_field_qualify_TimeStampTxPktType_get(
  32154 			BCM_CONTROL(unit)->unit,
  32155 			entry,
  32156 			ts_pkt_type);
  32157 }
  32158 
  32159 int
  32160 bcm_loop_field_qualify_Tos(
  32161 	int	unit,
  32162 	bcm_field_entry_t	entry,
  32163 	uint8	data,
  32164 	uint8	mask)
  32165 {
  32166 	return bcm_field_qualify_Tos(
  32167 			BCM_CONTROL(unit)->unit,
  32168 			entry,
  32169 			data,
  32170 			mask);
  32171 }
  32172 
  32173 int
  32174 bcm_loop_field_qualify_TosClassOne(
  32175 	int	unit,
  32176 	bcm_field_entry_t	entry,
  32177 	bcm_class_t	data,
  32178 	bcm_class_t	mask)
  32179 {
  32180 	return bcm_field_qualify_TosClassOne(
  32181 			BCM_CONTROL(unit)->unit,
  32182 			entry,
  32183 			data,
  32184 			mask);
  32185 }
  32186 
  32187 int
  32188 bcm_loop_field_qualify_TosClassOne_get(
  32189 	int	unit,
  32190 	bcm_field_entry_t	entry,
  32191 	bcm_class_t *	data,
  32192 	bcm_class_t *	mask)
  32193 {
  32194 	return bcm_field_qualify_TosClassOne_get(
  32195 			BCM_CONTROL(unit)->unit,
  32196 			entry,
  32197 			data,
  32198 			mask);
  32199 }
  32200 
  32201 int
  32202 bcm_loop_field_qualify_TosClassZero(
  32203 	int	unit,
  32204 	bcm_field_entry_t	entry,
  32205 	bcm_class_t	data,
  32206 	bcm_class_t	mask)
  32207 {
  32208 	return bcm_field_qualify_TosClassZero(
  32209 			BCM_CONTROL(unit)->unit,
  32210 			entry,
  32211 			data,
  32212 			mask);
  32213 }
  32214 
  32215 int
  32216 bcm_loop_field_qualify_TosClassZero_get(
  32217 	int	unit,
  32218 	bcm_field_entry_t	entry,
  32219 	bcm_class_t *	data,
  32220 	bcm_class_t *	mask)
  32221 {
  32222 	return bcm_field_qualify_TosClassZero_get(
  32223 			BCM_CONTROL(unit)->unit,
  32224 			entry,
  32225 			data,
  32226 			mask);
  32227 }
  32228 
  32229 int
  32230 bcm_loop_field_qualify_TosLower4Bits(
  32231 	int	unit,
  32232 	bcm_field_entry_t	entry,
  32233 	uint8	data,
  32234 	uint8	mask)
  32235 {
  32236 	return bcm_field_qualify_TosLower4Bits(
  32237 			BCM_CONTROL(unit)->unit,
  32238 			entry,
  32239 			data,
  32240 			mask);
  32241 }
  32242 
  32243 int
  32244 bcm_loop_field_qualify_TosLower4Bits_get(
  32245 	int	unit,
  32246 	bcm_field_entry_t	entry,
  32247 	uint8 *	data,
  32248 	uint8 *	mask)
  32249 {
  32250 	return bcm_field_qualify_TosLower4Bits_get(
  32251 			BCM_CONTROL(unit)->unit,
  32252 			entry,
  32253 			data,
  32254 			mask);
  32255 }
  32256 
  32257 int
  32258 bcm_loop_field_qualify_Tos_get(
  32259 	int	unit,
  32260 	bcm_field_entry_t	entry,
  32261 	uint8 *	data,
  32262 	uint8 *	mask)
  32263 {
  32264 	return bcm_field_qualify_Tos_get(
  32265 			BCM_CONTROL(unit)->unit,
  32266 			entry,
  32267 			data,
  32268 			mask);
  32269 }
  32270 
  32271 int
  32272 bcm_loop_field_qualify_TranslatedInnerVlan(
  32273 	int	unit,
  32274 	bcm_field_entry_t	entry,
  32275 	bcm_vlan_t	data,
  32276 	bcm_vlan_t	mask)
  32277 {
  32278 	return bcm_field_qualify_TranslatedInnerVlan(
  32279 			BCM_CONTROL(unit)->unit,
  32280 			entry,
  32281 			data,
  32282 			mask);
  32283 }
  32284 
  32285 int
  32286 bcm_loop_field_qualify_TranslatedInnerVlanCfi(
  32287 	int	unit,
  32288 	bcm_field_entry_t	entry,
  32289 	uint8	data,
  32290 	uint8	mask)
  32291 {
  32292 	return bcm_field_qualify_TranslatedInnerVlanCfi(
  32293 			BCM_CONTROL(unit)->unit,
  32294 			entry,
  32295 			data,
  32296 			mask);
  32297 }
  32298 
  32299 int
  32300 bcm_loop_field_qualify_TranslatedInnerVlanCfi_get(
  32301 	int	unit,
  32302 	bcm_field_entry_t	entry,
  32303 	uint8 *	data,
  32304 	uint8 *	mask)
  32305 {
  32306 	return bcm_field_qualify_TranslatedInnerVlanCfi_get(
  32307 			BCM_CONTROL(unit)->unit,
  32308 			entry,
  32309 			data,
  32310 			mask);
  32311 }
  32312 
  32313 int
  32314 bcm_loop_field_qualify_TranslatedInnerVlanId(
  32315 	int	unit,
  32316 	bcm_field_entry_t	entry,
  32317 	bcm_vlan_t	data,
  32318 	bcm_vlan_t	mask)
  32319 {
  32320 	return bcm_field_qualify_TranslatedInnerVlanId(
  32321 			BCM_CONTROL(unit)->unit,
  32322 			entry,
  32323 			data,
  32324 			mask);
  32325 }
  32326 
  32327 int
  32328 bcm_loop_field_qualify_TranslatedInnerVlanId_get(
  32329 	int	unit,
  32330 	bcm_field_entry_t	entry,
  32331 	bcm_vlan_t *	data,
  32332 	bcm_vlan_t *	mask)
  32333 {
  32334 	return bcm_field_qualify_TranslatedInnerVlanId_get(
  32335 			BCM_CONTROL(unit)->unit,
  32336 			entry,
  32337 			data,
  32338 			mask);
  32339 }
  32340 
  32341 int
  32342 bcm_loop_field_qualify_TranslatedInnerVlanPri(
  32343 	int	unit,
  32344 	bcm_field_entry_t	entry,
  32345 	uint8	data,
  32346 	uint8	mask)
  32347 {
  32348 	return bcm_field_qualify_TranslatedInnerVlanPri(
  32349 			BCM_CONTROL(unit)->unit,
  32350 			entry,
  32351 			data,
  32352 			mask);
  32353 }
  32354 
  32355 int
  32356 bcm_loop_field_qualify_TranslatedInnerVlanPri_get(
  32357 	int	unit,
  32358 	bcm_field_entry_t	entry,
  32359 	uint8 *	data,
  32360 	uint8 *	mask)
  32361 {
  32362 	return bcm_field_qualify_TranslatedInnerVlanPri_get(
  32363 			BCM_CONTROL(unit)->unit,
  32364 			entry,
  32365 			data,
  32366 			mask);
  32367 }
  32368 
  32369 int
  32370 bcm_loop_field_qualify_TranslatedInnerVlan_get(
  32371 	int	unit,
  32372 	bcm_field_entry_t	entry,
  32373 	bcm_vlan_t *	data,
  32374 	bcm_vlan_t *	mask)
  32375 {
  32376 	return bcm_field_qualify_TranslatedInnerVlan_get(
  32377 			BCM_CONTROL(unit)->unit,
  32378 			entry,
  32379 			data,
  32380 			mask);
  32381 }
  32382 
  32383 int
  32384 bcm_loop_field_qualify_TranslatedOuterVlan(
  32385 	int	unit,
  32386 	bcm_field_entry_t	entry,
  32387 	bcm_vlan_t	data,
  32388 	bcm_vlan_t	mask)
  32389 {
  32390 	return bcm_field_qualify_TranslatedOuterVlan(
  32391 			BCM_CONTROL(unit)->unit,
  32392 			entry,
  32393 			data,
  32394 			mask);
  32395 }
  32396 
  32397 int
  32398 bcm_loop_field_qualify_TranslatedOuterVlanCfi(
  32399 	int	unit,
  32400 	bcm_field_entry_t	entry,
  32401 	uint8	data,
  32402 	uint8	mask)
  32403 {
  32404 	return bcm_field_qualify_TranslatedOuterVlanCfi(
  32405 			BCM_CONTROL(unit)->unit,
  32406 			entry,
  32407 			data,
  32408 			mask);
  32409 }
  32410 
  32411 int
  32412 bcm_loop_field_qualify_TranslatedOuterVlanCfi_get(
  32413 	int	unit,
  32414 	bcm_field_entry_t	entry,
  32415 	uint8 *	data,
  32416 	uint8 *	mask)
  32417 {
  32418 	return bcm_field_qualify_TranslatedOuterVlanCfi_get(
  32419 			BCM_CONTROL(unit)->unit,
  32420 			entry,
  32421 			data,
  32422 			mask);
  32423 }
  32424 
  32425 int
  32426 bcm_loop_field_qualify_TranslatedOuterVlanId(
  32427 	int	unit,
  32428 	bcm_field_entry_t	entry,
  32429 	bcm_vlan_t	data,
  32430 	bcm_vlan_t	mask)
  32431 {
  32432 	return bcm_field_qualify_TranslatedOuterVlanId(
  32433 			BCM_CONTROL(unit)->unit,
  32434 			entry,
  32435 			data,
  32436 			mask);
  32437 }
  32438 
  32439 int
  32440 bcm_loop_field_qualify_TranslatedOuterVlanId_get(
  32441 	int	unit,
  32442 	bcm_field_entry_t	entry,
  32443 	bcm_vlan_t *	data,
  32444 	bcm_vlan_t *	mask)
  32445 {
  32446 	return bcm_field_qualify_TranslatedOuterVlanId_get(
  32447 			BCM_CONTROL(unit)->unit,
  32448 			entry,
  32449 			data,
  32450 			mask);
  32451 }
  32452 
  32453 int
  32454 bcm_loop_field_qualify_TranslatedOuterVlanPri(
  32455 	int	unit,
  32456 	bcm_field_entry_t	entry,
  32457 	uint8	data,
  32458 	uint8	mask)
  32459 {
  32460 	return bcm_field_qualify_TranslatedOuterVlanPri(
  32461 			BCM_CONTROL(unit)->unit,
  32462 			entry,
  32463 			data,
  32464 			mask);
  32465 }
  32466 
  32467 int
  32468 bcm_loop_field_qualify_TranslatedOuterVlanPri_get(
  32469 	int	unit,
  32470 	bcm_field_entry_t	entry,
  32471 	uint8 *	data,
  32472 	uint8 *	mask)
  32473 {
  32474 	return bcm_field_qualify_TranslatedOuterVlanPri_get(
  32475 			BCM_CONTROL(unit)->unit,
  32476 			entry,
  32477 			data,
  32478 			mask);
  32479 }
  32480 
  32481 int
  32482 bcm_loop_field_qualify_TranslatedOuterVlan_get(
  32483 	int	unit,
  32484 	bcm_field_entry_t	entry,
  32485 	bcm_vlan_t *	data,
  32486 	bcm_vlan_t *	mask)
  32487 {
  32488 	return bcm_field_qualify_TranslatedOuterVlan_get(
  32489 			BCM_CONTROL(unit)->unit,
  32490 			entry,
  32491 			data,
  32492 			mask);
  32493 }
  32494 
  32495 int
  32496 bcm_loop_field_qualify_TranslatedVlanFormat(
  32497 	int	unit,
  32498 	bcm_field_entry_t	entry,
  32499 	uint8	data,
  32500 	uint8	mask)
  32501 {
  32502 	return bcm_field_qualify_TranslatedVlanFormat(
  32503 			BCM_CONTROL(unit)->unit,
  32504 			entry,
  32505 			data,
  32506 			mask);
  32507 }
  32508 
  32509 int
  32510 bcm_loop_field_qualify_TranslatedVlanFormat_get(
  32511 	int	unit,
  32512 	bcm_field_entry_t	entry,
  32513 	uint8 *	data,
  32514 	uint8 *	mask)
  32515 {
  32516 	return bcm_field_qualify_TranslatedVlanFormat_get(
  32517 			BCM_CONTROL(unit)->unit,
  32518 			entry,
  32519 			data,
  32520 			mask);
  32521 }
  32522 
  32523 int
  32524 bcm_loop_field_qualify_TrillEgressRbridge(
  32525 	int	unit,
  32526 	bcm_field_entry_t	entry,
  32527 	uint32	data,
  32528 	uint32	mask)
  32529 {
  32530 	return bcm_field_qualify_TrillEgressRbridge(
  32531 			BCM_CONTROL(unit)->unit,
  32532 			entry,
  32533 			data,
  32534 			mask);
  32535 }
  32536 
  32537 int
  32538 bcm_loop_field_qualify_TrillEgressRbridgeHit(
  32539 	int	unit,
  32540 	bcm_field_entry_t	entry,
  32541 	uint8	data,
  32542 	uint8	mask)
  32543 {
  32544 	return bcm_field_qualify_TrillEgressRbridgeHit(
  32545 			BCM_CONTROL(unit)->unit,
  32546 			entry,
  32547 			data,
  32548 			mask);
  32549 }
  32550 
  32551 int
  32552 bcm_loop_field_qualify_TrillEgressRbridgeHit_get(
  32553 	int	unit,
  32554 	bcm_field_entry_t	entry,
  32555 	uint8 *	data,
  32556 	uint8 *	mask)
  32557 {
  32558 	return bcm_field_qualify_TrillEgressRbridgeHit_get(
  32559 			BCM_CONTROL(unit)->unit,
  32560 			entry,
  32561 			data,
  32562 			mask);
  32563 }
  32564 
  32565 int
  32566 bcm_loop_field_qualify_TrillEgressRbridge_get(
  32567 	int	unit,
  32568 	bcm_field_entry_t	entry,
  32569 	uint32 *	data,
  32570 	uint32 *	mask)
  32571 {
  32572 	return bcm_field_qualify_TrillEgressRbridge_get(
  32573 			BCM_CONTROL(unit)->unit,
  32574 			entry,
  32575 			data,
  32576 			mask);
  32577 }
  32578 
  32579 int
  32580 bcm_loop_field_qualify_TrillHopCount(
  32581 	int	unit,
  32582 	bcm_field_entry_t	entry,
  32583 	uint8	data,
  32584 	uint8	mask)
  32585 {
  32586 	return bcm_field_qualify_TrillHopCount(
  32587 			BCM_CONTROL(unit)->unit,
  32588 			entry,
  32589 			data,
  32590 			mask);
  32591 }
  32592 
  32593 int
  32594 bcm_loop_field_qualify_TrillHopCount_get(
  32595 	int	unit,
  32596 	bcm_field_entry_t	entry,
  32597 	uint8 *	data,
  32598 	uint8 *	mask)
  32599 {
  32600 	return bcm_field_qualify_TrillHopCount_get(
  32601 			BCM_CONTROL(unit)->unit,
  32602 			entry,
  32603 			data,
  32604 			mask);
  32605 }
  32606 
  32607 int
  32608 bcm_loop_field_qualify_TrillIVersion(
  32609 	int	unit,
  32610 	bcm_field_entry_t	entry,
  32611 	uint8	data,
  32612 	uint8	mask)
  32613 {
  32614 	return bcm_field_qualify_TrillIVersion(
  32615 			BCM_CONTROL(unit)->unit,
  32616 			entry,
  32617 			data,
  32618 			mask);
  32619 }
  32620 
  32621 int
  32622 bcm_loop_field_qualify_TrillIVersion_get(
  32623 	int	unit,
  32624 	bcm_field_entry_t	entry,
  32625 	uint8 *	data,
  32626 	uint8 *	mask)
  32627 {
  32628 	return bcm_field_qualify_TrillIVersion_get(
  32629 			BCM_CONTROL(unit)->unit,
  32630 			entry,
  32631 			data,
  32632 			mask);
  32633 }
  32634 
  32635 int
  32636 bcm_loop_field_qualify_TrillIngressRbridge(
  32637 	int	unit,
  32638 	bcm_field_entry_t	entry,
  32639 	uint16	data,
  32640 	uint16	mask)
  32641 {
  32642 	return bcm_field_qualify_TrillIngressRbridge(
  32643 			BCM_CONTROL(unit)->unit,
  32644 			entry,
  32645 			data,
  32646 			mask);
  32647 }
  32648 
  32649 int
  32650 bcm_loop_field_qualify_TrillIngressRbridgeHit(
  32651 	int	unit,
  32652 	bcm_field_entry_t	entry,
  32653 	uint8	data,
  32654 	uint8	mask)
  32655 {
  32656 	return bcm_field_qualify_TrillIngressRbridgeHit(
  32657 			BCM_CONTROL(unit)->unit,
  32658 			entry,
  32659 			data,
  32660 			mask);
  32661 }
  32662 
  32663 int
  32664 bcm_loop_field_qualify_TrillIngressRbridgeHit_get(
  32665 	int	unit,
  32666 	bcm_field_entry_t	entry,
  32667 	uint8 *	data,
  32668 	uint8 *	mask)
  32669 {
  32670 	return bcm_field_qualify_TrillIngressRbridgeHit_get(
  32671 			BCM_CONTROL(unit)->unit,
  32672 			entry,
  32673 			data,
  32674 			mask);
  32675 }
  32676 
  32677 int
  32678 bcm_loop_field_qualify_TrillIngressRbridge_get(
  32679 	int	unit,
  32680 	bcm_field_entry_t	entry,
  32681 	uint16 *	data,
  32682 	uint16 *	mask)
  32683 {
  32684 	return bcm_field_qualify_TrillIngressRbridge_get(
  32685 			BCM_CONTROL(unit)->unit,
  32686 			entry,
  32687 			data,
  32688 			mask);
  32689 }
  32690 
  32691 int
  32692 bcm_loop_field_qualify_TrillMultiDestination(
  32693 	int	unit,
  32694 	bcm_field_entry_t	entry,
  32695 	uint8	data,
  32696 	uint8	mask)
  32697 {
  32698 	return bcm_field_qualify_TrillMultiDestination(
  32699 			BCM_CONTROL(unit)->unit,
  32700 			entry,
  32701 			data,
  32702 			mask);
  32703 }
  32704 
  32705 int
  32706 bcm_loop_field_qualify_TrillMultiDestination_get(
  32707 	int	unit,
  32708 	bcm_field_entry_t	entry,
  32709 	uint8 *	data,
  32710 	uint8 *	mask)
  32711 {
  32712 	return bcm_field_qualify_TrillMultiDestination_get(
  32713 			BCM_CONTROL(unit)->unit,
  32714 			entry,
  32715 			data,
  32716 			mask);
  32717 }
  32718 
  32719 int
  32720 bcm_loop_field_qualify_TrillOpLength(
  32721 	int	unit,
  32722 	bcm_field_entry_t	entry,
  32723 	uint8	data,
  32724 	uint8	mask)
  32725 {
  32726 	return bcm_field_qualify_TrillOpLength(
  32727 			BCM_CONTROL(unit)->unit,
  32728 			entry,
  32729 			data,
  32730 			mask);
  32731 }
  32732 
  32733 int
  32734 bcm_loop_field_qualify_TrillOpLength_get(
  32735 	int	unit,
  32736 	bcm_field_entry_t	entry,
  32737 	uint8 *	data,
  32738 	uint8 *	mask)
  32739 {
  32740 	return bcm_field_qualify_TrillOpLength_get(
  32741 			BCM_CONTROL(unit)->unit,
  32742 			entry,
  32743 			data,
  32744 			mask);
  32745 }
  32746 
  32747 int
  32748 bcm_loop_field_qualify_TrillPayload(
  32749 	int	unit,
  32750 	bcm_field_entry_t	entry,
  32751 	uint64	data,
  32752 	uint64	mask)
  32753 {
  32754 	return bcm_field_qualify_TrillPayload(
  32755 			BCM_CONTROL(unit)->unit,
  32756 			entry,
  32757 			data,
  32758 			mask);
  32759 }
  32760 
  32761 int
  32762 bcm_loop_field_qualify_TrillPayload_get(
  32763 	int	unit,
  32764 	bcm_field_entry_t	entry,
  32765 	uint64 *	data,
  32766 	uint64 *	mask)
  32767 {
  32768 	return bcm_field_qualify_TrillPayload_get(
  32769 			BCM_CONTROL(unit)->unit,
  32770 			entry,
  32771 			data,
  32772 			mask);
  32773 }
  32774 
  32775 int
  32776 bcm_loop_field_qualify_TrunkHashResult(
  32777 	int	unit,
  32778 	bcm_field_entry_t	entry,
  32779 	uint32	data,
  32780 	uint32	mask)
  32781 {
  32782 	return bcm_field_qualify_TrunkHashResult(
  32783 			BCM_CONTROL(unit)->unit,
  32784 			entry,
  32785 			data,
  32786 			mask);
  32787 }
  32788 
  32789 int
  32790 bcm_loop_field_qualify_TrunkHashResult_get(
  32791 	int	unit,
  32792 	bcm_field_entry_t	entry,
  32793 	uint32 *	data,
  32794 	uint32 *	mask)
  32795 {
  32796 	return bcm_field_qualify_TrunkHashResult_get(
  32797 			BCM_CONTROL(unit)->unit,
  32798 			entry,
  32799 			data,
  32800 			mask);
  32801 }
  32802 
  32803 int
  32804 bcm_loop_field_qualify_TrunkMemberSourceModuleId(
  32805 	int	unit,
  32806 	bcm_field_entry_t	entry,
  32807 	int	data,
  32808 	int	mask)
  32809 {
  32810 	return bcm_field_qualify_TrunkMemberSourceModuleId(
  32811 			BCM_CONTROL(unit)->unit,
  32812 			entry,
  32813 			data,
  32814 			mask);
  32815 }
  32816 
  32817 int
  32818 bcm_loop_field_qualify_TrunkMemberSourceModuleId_get(
  32819 	int	unit,
  32820 	bcm_field_entry_t	entry,
  32821 	int *	data,
  32822 	int *	mask)
  32823 {
  32824 	return bcm_field_qualify_TrunkMemberSourceModuleId_get(
  32825 			BCM_CONTROL(unit)->unit,
  32826 			entry,
  32827 			data,
  32828 			mask);
  32829 }
  32830 
  32831 int
  32832 bcm_loop_field_qualify_TsnFlowId(
  32833 	int	unit,
  32834 	bcm_field_entry_t	entry,
  32835 	uint32	data,
  32836 	uint32	mask)
  32837 {
  32838 	return bcm_field_qualify_TsnFlowId(
  32839 			BCM_CONTROL(unit)->unit,
  32840 			entry,
  32841 			data,
  32842 			mask);
  32843 }
  32844 
  32845 int
  32846 bcm_loop_field_qualify_TsnFlowId_get(
  32847 	int	unit,
  32848 	bcm_field_entry_t	entry,
  32849 	uint32 *	data,
  32850 	uint32 *	mask)
  32851 {
  32852 	return bcm_field_qualify_TsnFlowId_get(
  32853 			BCM_CONTROL(unit)->unit,
  32854 			entry,
  32855 			data,
  32856 			mask);
  32857 }
  32858 
  32859 int
  32860 bcm_loop_field_qualify_Ttl(
  32861 	int	unit,
  32862 	bcm_field_entry_t	entry,
  32863 	uint8	data,
  32864 	uint8	mask)
  32865 {
  32866 	return bcm_field_qualify_Ttl(
  32867 			BCM_CONTROL(unit)->unit,
  32868 			entry,
  32869 			data,
  32870 			mask);
  32871 }
  32872 
  32873 int
  32874 bcm_loop_field_qualify_TtlClassOne(
  32875 	int	unit,
  32876 	bcm_field_entry_t	entry,
  32877 	bcm_class_t	data,
  32878 	bcm_class_t	mask)
  32879 {
  32880 	return bcm_field_qualify_TtlClassOne(
  32881 			BCM_CONTROL(unit)->unit,
  32882 			entry,
  32883 			data,
  32884 			mask);
  32885 }
  32886 
  32887 int
  32888 bcm_loop_field_qualify_TtlClassOne_get(
  32889 	int	unit,
  32890 	bcm_field_entry_t	entry,
  32891 	bcm_class_t *	data,
  32892 	bcm_class_t *	mask)
  32893 {
  32894 	return bcm_field_qualify_TtlClassOne_get(
  32895 			BCM_CONTROL(unit)->unit,
  32896 			entry,
  32897 			data,
  32898 			mask);
  32899 }
  32900 
  32901 int
  32902 bcm_loop_field_qualify_TtlClassZero(
  32903 	int	unit,
  32904 	bcm_field_entry_t	entry,
  32905 	bcm_class_t	data,
  32906 	bcm_class_t	mask)
  32907 {
  32908 	return bcm_field_qualify_TtlClassZero(
  32909 			BCM_CONTROL(unit)->unit,
  32910 			entry,
  32911 			data,
  32912 			mask);
  32913 }
  32914 
  32915 int
  32916 bcm_loop_field_qualify_TtlClassZero_get(
  32917 	int	unit,
  32918 	bcm_field_entry_t	entry,
  32919 	bcm_class_t *	data,
  32920 	bcm_class_t *	mask)
  32921 {
  32922 	return bcm_field_qualify_TtlClassZero_get(
  32923 			BCM_CONTROL(unit)->unit,
  32924 			entry,
  32925 			data,
  32926 			mask);
  32927 }
  32928 
  32929 int
  32930 bcm_loop_field_qualify_Ttl_get(
  32931 	int	unit,
  32932 	bcm_field_entry_t	entry,
  32933 	uint8 *	data,
  32934 	uint8 *	mask)
  32935 {
  32936 	return bcm_field_qualify_Ttl_get(
  32937 			BCM_CONTROL(unit)->unit,
  32938 			entry,
  32939 			data,
  32940 			mask);
  32941 }
  32942 
  32943 int
  32944 bcm_loop_field_qualify_TunnelId(
  32945 	int	unit,
  32946 	bcm_field_entry_t	entry,
  32947 	uint32	data,
  32948 	uint32	mask)
  32949 {
  32950 	return bcm_field_qualify_TunnelId(
  32951 			BCM_CONTROL(unit)->unit,
  32952 			entry,
  32953 			data,
  32954 			mask);
  32955 }
  32956 
  32957 int
  32958 bcm_loop_field_qualify_TunnelId_get(
  32959 	int	unit,
  32960 	bcm_field_entry_t	entry,
  32961 	uint32 *	data,
  32962 	uint32 *	mask)
  32963 {
  32964 	return bcm_field_qualify_TunnelId_get(
  32965 			BCM_CONTROL(unit)->unit,
  32966 			entry,
  32967 			data,
  32968 			mask);
  32969 }
  32970 
  32971 int
  32972 bcm_loop_field_qualify_TunnelPayloadDip(
  32973 	int	unit,
  32974 	bcm_field_entry_t	entry,
  32975 	bcm_ip_t	data,
  32976 	bcm_ip_t	mask)
  32977 {
  32978 	return bcm_field_qualify_TunnelPayloadDip(
  32979 			BCM_CONTROL(unit)->unit,
  32980 			entry,
  32981 			data,
  32982 			mask);
  32983 }
  32984 
  32985 int
  32986 bcm_loop_field_qualify_TunnelPayloadDip6(
  32987 	int	unit,
  32988 	bcm_field_entry_t	entry,
  32989 	bcm_ip6_t	data,
  32990 	bcm_ip6_t	mask)
  32991 {
  32992 	return bcm_field_qualify_TunnelPayloadDip6(
  32993 			BCM_CONTROL(unit)->unit,
  32994 			entry,
  32995 			data,
  32996 			mask);
  32997 }
  32998 
  32999 int
  33000 bcm_loop_field_qualify_TunnelPayloadDip6_get(
  33001 	int	unit,
  33002 	bcm_field_entry_t	entry,
  33003 	bcm_ip6_t *	data,
  33004 	bcm_ip6_t *	mask)
  33005 {
  33006 	return bcm_field_qualify_TunnelPayloadDip6_get(
  33007 			BCM_CONTROL(unit)->unit,
  33008 			entry,
  33009 			data,
  33010 			mask);
  33011 }
  33012 
  33013 int
  33014 bcm_loop_field_qualify_TunnelPayloadDip_get(
  33015 	int	unit,
  33016 	bcm_field_entry_t	entry,
  33017 	bcm_ip_t *	data,
  33018 	bcm_ip_t *	mask)
  33019 {
  33020 	return bcm_field_qualify_TunnelPayloadDip_get(
  33021 			BCM_CONTROL(unit)->unit,
  33022 			entry,
  33023 			data,
  33024 			mask);
  33025 }
  33026 
  33027 int
  33028 bcm_loop_field_qualify_TunnelPayloadDstMac(
  33029 	int	unit,
  33030 	bcm_field_entry_t	entry,
  33031 	bcm_mac_t	data,
  33032 	bcm_mac_t	mask)
  33033 {
  33034 	return bcm_field_qualify_TunnelPayloadDstMac(
  33035 			BCM_CONTROL(unit)->unit,
  33036 			entry,
  33037 			data,
  33038 			mask);
  33039 }
  33040 
  33041 int
  33042 bcm_loop_field_qualify_TunnelPayloadDstMac_get(
  33043 	int	unit,
  33044 	bcm_field_entry_t	entry,
  33045 	bcm_mac_t *	data,
  33046 	bcm_mac_t *	mask)
  33047 {
  33048 	return bcm_field_qualify_TunnelPayloadDstMac_get(
  33049 			BCM_CONTROL(unit)->unit,
  33050 			entry,
  33051 			data,
  33052 			mask);
  33053 }
  33054 
  33055 int
  33056 bcm_loop_field_qualify_TunnelPayloadEtherType(
  33057 	int	unit,
  33058 	bcm_field_entry_t	entry,
  33059 	uint16	data,
  33060 	uint16	mask)
  33061 {
  33062 	return bcm_field_qualify_TunnelPayloadEtherType(
  33063 			BCM_CONTROL(unit)->unit,
  33064 			entry,
  33065 			data,
  33066 			mask);
  33067 }
  33068 
  33069 int
  33070 bcm_loop_field_qualify_TunnelPayloadEtherType_get(
  33071 	int	unit,
  33072 	bcm_field_entry_t	entry,
  33073 	uint16 *	data,
  33074 	uint16 *	mask)
  33075 {
  33076 	return bcm_field_qualify_TunnelPayloadEtherType_get(
  33077 			BCM_CONTROL(unit)->unit,
  33078 			entry,
  33079 			data,
  33080 			mask);
  33081 }
  33082 
  33083 int
  33084 bcm_loop_field_qualify_TunnelPayloadIp4Length(
  33085 	int	unit,
  33086 	bcm_field_entry_t	entry,
  33087 	uint16	data,
  33088 	uint16	mask)
  33089 {
  33090 	return bcm_field_qualify_TunnelPayloadIp4Length(
  33091 			BCM_CONTROL(unit)->unit,
  33092 			entry,
  33093 			data,
  33094 			mask);
  33095 }
  33096 
  33097 int
  33098 bcm_loop_field_qualify_TunnelPayloadIp4Length_get(
  33099 	int	unit,
  33100 	bcm_field_entry_t	entry,
  33101 	uint16 *	data,
  33102 	uint16 *	mask)
  33103 {
  33104 	return bcm_field_qualify_TunnelPayloadIp4Length_get(
  33105 			BCM_CONTROL(unit)->unit,
  33106 			entry,
  33107 			data,
  33108 			mask);
  33109 }
  33110 
  33111 int
  33112 bcm_loop_field_qualify_TunnelPayloadIp6Length(
  33113 	int	unit,
  33114 	bcm_field_entry_t	entry,
  33115 	uint16	data,
  33116 	uint16	mask)
  33117 {
  33118 	return bcm_field_qualify_TunnelPayloadIp6Length(
  33119 			BCM_CONTROL(unit)->unit,
  33120 			entry,
  33121 			data,
  33122 			mask);
  33123 }
  33124 
  33125 int
  33126 bcm_loop_field_qualify_TunnelPayloadIp6Length_get(
  33127 	int	unit,
  33128 	bcm_field_entry_t	entry,
  33129 	uint16 *	data,
  33130 	uint16 *	mask)
  33131 {
  33132 	return bcm_field_qualify_TunnelPayloadIp6Length_get(
  33133 			BCM_CONTROL(unit)->unit,
  33134 			entry,
  33135 			data,
  33136 			mask);
  33137 }
  33138 
  33139 int
  33140 bcm_loop_field_qualify_TunnelPayloadIpProtocol(
  33141 	int	unit,
  33142 	bcm_field_entry_t	entry,
  33143 	uint8	data,
  33144 	uint8	mask)
  33145 {
  33146 	return bcm_field_qualify_TunnelPayloadIpProtocol(
  33147 			BCM_CONTROL(unit)->unit,
  33148 			entry,
  33149 			data,
  33150 			mask);
  33151 }
  33152 
  33153 int
  33154 bcm_loop_field_qualify_TunnelPayloadIpProtocol_get(
  33155 	int	unit,
  33156 	bcm_field_entry_t	entry,
  33157 	uint8 *	data,
  33158 	uint8 *	mask)
  33159 {
  33160 	return bcm_field_qualify_TunnelPayloadIpProtocol_get(
  33161 			BCM_CONTROL(unit)->unit,
  33162 			entry,
  33163 			data,
  33164 			mask);
  33165 }
  33166 
  33167 int
  33168 bcm_loop_field_qualify_TunnelPayloadL4DstPort(
  33169 	int	unit,
  33170 	bcm_field_entry_t	entry,
  33171 	bcm_l4_port_t	data,
  33172 	bcm_l4_port_t	mask)
  33173 {
  33174 	return bcm_field_qualify_TunnelPayloadL4DstPort(
  33175 			BCM_CONTROL(unit)->unit,
  33176 			entry,
  33177 			data,
  33178 			mask);
  33179 }
  33180 
  33181 int
  33182 bcm_loop_field_qualify_TunnelPayloadL4DstPort_get(
  33183 	int	unit,
  33184 	bcm_field_entry_t	entry,
  33185 	bcm_l4_port_t *	data,
  33186 	bcm_l4_port_t *	mask)
  33187 {
  33188 	return bcm_field_qualify_TunnelPayloadL4DstPort_get(
  33189 			BCM_CONTROL(unit)->unit,
  33190 			entry,
  33191 			data,
  33192 			mask);
  33193 }
  33194 
  33195 int
  33196 bcm_loop_field_qualify_TunnelPayloadL4SrcPort(
  33197 	int	unit,
  33198 	bcm_field_entry_t	entry,
  33199 	bcm_l4_port_t	data,
  33200 	bcm_l4_port_t	mask)
  33201 {
  33202 	return bcm_field_qualify_TunnelPayloadL4SrcPort(
  33203 			BCM_CONTROL(unit)->unit,
  33204 			entry,
  33205 			data,
  33206 			mask);
  33207 }
  33208 
  33209 int
  33210 bcm_loop_field_qualify_TunnelPayloadL4SrcPort_get(
  33211 	int	unit,
  33212 	bcm_field_entry_t	entry,
  33213 	bcm_l4_port_t *	data,
  33214 	bcm_l4_port_t *	mask)
  33215 {
  33216 	return bcm_field_qualify_TunnelPayloadL4SrcPort_get(
  33217 			BCM_CONTROL(unit)->unit,
  33218 			entry,
  33219 			data,
  33220 			mask);
  33221 }
  33222 
  33223 int
  33224 bcm_loop_field_qualify_TunnelPayloadOuterVlan(
  33225 	int	unit,
  33226 	bcm_field_entry_t	entry,
  33227 	bcm_vlan_t	data,
  33228 	bcm_vlan_t	mask)
  33229 {
  33230 	return bcm_field_qualify_TunnelPayloadOuterVlan(
  33231 			BCM_CONTROL(unit)->unit,
  33232 			entry,
  33233 			data,
  33234 			mask);
  33235 }
  33236 
  33237 int
  33238 bcm_loop_field_qualify_TunnelPayloadOuterVlanCfi(
  33239 	int	unit,
  33240 	bcm_field_entry_t	entry,
  33241 	uint8	data,
  33242 	uint8	mask)
  33243 {
  33244 	return bcm_field_qualify_TunnelPayloadOuterVlanCfi(
  33245 			BCM_CONTROL(unit)->unit,
  33246 			entry,
  33247 			data,
  33248 			mask);
  33249 }
  33250 
  33251 int
  33252 bcm_loop_field_qualify_TunnelPayloadOuterVlanCfi_get(
  33253 	int	unit,
  33254 	bcm_field_entry_t	entry,
  33255 	uint8 *	data,
  33256 	uint8 *	mask)
  33257 {
  33258 	return bcm_field_qualify_TunnelPayloadOuterVlanCfi_get(
  33259 			BCM_CONTROL(unit)->unit,
  33260 			entry,
  33261 			data,
  33262 			mask);
  33263 }
  33264 
  33265 int
  33266 bcm_loop_field_qualify_TunnelPayloadOuterVlanId(
  33267 	int	unit,
  33268 	bcm_field_entry_t	entry,
  33269 	bcm_vlan_t	data,
  33270 	bcm_vlan_t	mask)
  33271 {
  33272 	return bcm_field_qualify_TunnelPayloadOuterVlanId(
  33273 			BCM_CONTROL(unit)->unit,
  33274 			entry,
  33275 			data,
  33276 			mask);
  33277 }
  33278 
  33279 int
  33280 bcm_loop_field_qualify_TunnelPayloadOuterVlanId_get(
  33281 	int	unit,
  33282 	bcm_field_entry_t	entry,
  33283 	bcm_vlan_t *	data,
  33284 	bcm_vlan_t *	mask)
  33285 {
  33286 	return bcm_field_qualify_TunnelPayloadOuterVlanId_get(
  33287 			BCM_CONTROL(unit)->unit,
  33288 			entry,
  33289 			data,
  33290 			mask);
  33291 }
  33292 
  33293 int
  33294 bcm_loop_field_qualify_TunnelPayloadOuterVlanPri(
  33295 	int	unit,
  33296 	bcm_field_entry_t	entry,
  33297 	uint8	data,
  33298 	uint8	mask)
  33299 {
  33300 	return bcm_field_qualify_TunnelPayloadOuterVlanPri(
  33301 			BCM_CONTROL(unit)->unit,
  33302 			entry,
  33303 			data,
  33304 			mask);
  33305 }
  33306 
  33307 int
  33308 bcm_loop_field_qualify_TunnelPayloadOuterVlanPri_get(
  33309 	int	unit,
  33310 	bcm_field_entry_t	entry,
  33311 	uint8 *	data,
  33312 	uint8 *	mask)
  33313 {
  33314 	return bcm_field_qualify_TunnelPayloadOuterVlanPri_get(
  33315 			BCM_CONTROL(unit)->unit,
  33316 			entry,
  33317 			data,
  33318 			mask);
  33319 }
  33320 
  33321 int
  33322 bcm_loop_field_qualify_TunnelPayloadOuterVlan_get(
  33323 	int	unit,
  33324 	bcm_field_entry_t	entry,
  33325 	bcm_vlan_t *	data,
  33326 	bcm_vlan_t *	mask)
  33327 {
  33328 	return bcm_field_qualify_TunnelPayloadOuterVlan_get(
  33329 			BCM_CONTROL(unit)->unit,
  33330 			entry,
  33331 			data,
  33332 			mask);
  33333 }
  33334 
  33335 int
  33336 bcm_loop_field_qualify_TunnelPayloadSip(
  33337 	int	unit,
  33338 	bcm_field_entry_t	entry,
  33339 	bcm_ip_t	data,
  33340 	bcm_ip_t	mask)
  33341 {
  33342 	return bcm_field_qualify_TunnelPayloadSip(
  33343 			BCM_CONTROL(unit)->unit,
  33344 			entry,
  33345 			data,
  33346 			mask);
  33347 }
  33348 
  33349 int
  33350 bcm_loop_field_qualify_TunnelPayloadSip6(
  33351 	int	unit,
  33352 	bcm_field_entry_t	entry,
  33353 	bcm_ip6_t	data,
  33354 	bcm_ip6_t	mask)
  33355 {
  33356 	return bcm_field_qualify_TunnelPayloadSip6(
  33357 			BCM_CONTROL(unit)->unit,
  33358 			entry,
  33359 			data,
  33360 			mask);
  33361 }
  33362 
  33363 int
  33364 bcm_loop_field_qualify_TunnelPayloadSip6_get(
  33365 	int	unit,
  33366 	bcm_field_entry_t	entry,
  33367 	bcm_ip6_t *	data,
  33368 	bcm_ip6_t *	mask)
  33369 {
  33370 	return bcm_field_qualify_TunnelPayloadSip6_get(
  33371 			BCM_CONTROL(unit)->unit,
  33372 			entry,
  33373 			data,
  33374 			mask);
  33375 }
  33376 
  33377 int
  33378 bcm_loop_field_qualify_TunnelPayloadSip_get(
  33379 	int	unit,
  33380 	bcm_field_entry_t	entry,
  33381 	bcm_ip_t *	data,
  33382 	bcm_ip_t *	mask)
  33383 {
  33384 	return bcm_field_qualify_TunnelPayloadSip_get(
  33385 			BCM_CONTROL(unit)->unit,
  33386 			entry,
  33387 			data,
  33388 			mask);
  33389 }
  33390 
  33391 int
  33392 bcm_loop_field_qualify_TunnelPayloadSrcMac(
  33393 	int	unit,
  33394 	bcm_field_entry_t	entry,
  33395 	bcm_mac_t	data,
  33396 	bcm_mac_t	mask)
  33397 {
  33398 	return bcm_field_qualify_TunnelPayloadSrcMac(
  33399 			BCM_CONTROL(unit)->unit,
  33400 			entry,
  33401 			data,
  33402 			mask);
  33403 }
  33404 
  33405 int
  33406 bcm_loop_field_qualify_TunnelPayloadSrcMac_get(
  33407 	int	unit,
  33408 	bcm_field_entry_t	entry,
  33409 	bcm_mac_t *	data,
  33410 	bcm_mac_t *	mask)
  33411 {
  33412 	return bcm_field_qualify_TunnelPayloadSrcMac_get(
  33413 			BCM_CONTROL(unit)->unit,
  33414 			entry,
  33415 			data,
  33416 			mask);
  33417 }
  33418 
  33419 int
  33420 bcm_loop_field_qualify_TunnelSubType(
  33421 	int	unit,
  33422 	bcm_field_entry_t	entry,
  33423 	bcm_field_TunnelSubType_t	type)
  33424 {
  33425 	return bcm_field_qualify_TunnelSubType(
  33426 			BCM_CONTROL(unit)->unit,
  33427 			entry,
  33428 			type);
  33429 }
  33430 
  33431 int
  33432 bcm_loop_field_qualify_TunnelSubType_get(
  33433 	int	unit,
  33434 	bcm_field_entry_t	entry,
  33435 	bcm_field_TunnelSubType_t *	type)
  33436 {
  33437 	return bcm_field_qualify_TunnelSubType_get(
  33438 			BCM_CONTROL(unit)->unit,
  33439 			entry,
  33440 			type);
  33441 }
  33442 
  33443 int
  33444 bcm_loop_field_qualify_TunnelTerminated(
  33445 	int	unit,
  33446 	bcm_field_entry_t	entry,
  33447 	uint8	data,
  33448 	uint8	mask)
  33449 {
  33450 	return bcm_field_qualify_TunnelTerminated(
  33451 			BCM_CONTROL(unit)->unit,
  33452 			entry,
  33453 			data,
  33454 			mask);
  33455 }
  33456 
  33457 int
  33458 bcm_loop_field_qualify_TunnelTerminatedHit(
  33459 	int	unit,
  33460 	bcm_field_entry_t	entry,
  33461 	uint8	data,
  33462 	uint8	mask)
  33463 {
  33464 	return bcm_field_qualify_TunnelTerminatedHit(
  33465 			BCM_CONTROL(unit)->unit,
  33466 			entry,
  33467 			data,
  33468 			mask);
  33469 }
  33470 
  33471 int
  33472 bcm_loop_field_qualify_TunnelTerminatedHit_get(
  33473 	int	unit,
  33474 	bcm_field_entry_t	entry,
  33475 	uint8 *	data,
  33476 	uint8 *	mask)
  33477 {
  33478 	return bcm_field_qualify_TunnelTerminatedHit_get(
  33479 			BCM_CONTROL(unit)->unit,
  33480 			entry,
  33481 			data,
  33482 			mask);
  33483 }
  33484 
  33485 int
  33486 bcm_loop_field_qualify_TunnelTerminatedValue(
  33487 	int	unit,
  33488 	bcm_field_entry_t	entry,
  33489 	uint64	data,
  33490 	uint64	mask)
  33491 {
  33492 	return bcm_field_qualify_TunnelTerminatedValue(
  33493 			BCM_CONTROL(unit)->unit,
  33494 			entry,
  33495 			data,
  33496 			mask);
  33497 }
  33498 
  33499 int
  33500 bcm_loop_field_qualify_TunnelTerminatedValue_get(
  33501 	int	unit,
  33502 	bcm_field_entry_t	entry,
  33503 	uint64 *	data,
  33504 	uint64 *	mask)
  33505 {
  33506 	return bcm_field_qualify_TunnelTerminatedValue_get(
  33507 			BCM_CONTROL(unit)->unit,
  33508 			entry,
  33509 			data,
  33510 			mask);
  33511 }
  33512 
  33513 int
  33514 bcm_loop_field_qualify_TunnelTerminated_get(
  33515 	int	unit,
  33516 	bcm_field_entry_t	entry,
  33517 	uint8 *	data,
  33518 	uint8 *	mask)
  33519 {
  33520 	return bcm_field_qualify_TunnelTerminated_get(
  33521 			BCM_CONTROL(unit)->unit,
  33522 			entry,
  33523 			data,
  33524 			mask);
  33525 }
  33526 
  33527 int
  33528 bcm_loop_field_qualify_TunnelType(
  33529 	int	unit,
  33530 	bcm_field_entry_t	entry,
  33531 	bcm_field_TunnelType_t	tunnel_type)
  33532 {
  33533 	return bcm_field_qualify_TunnelType(
  33534 			BCM_CONTROL(unit)->unit,
  33535 			entry,
  33536 			tunnel_type);
  33537 }
  33538 
  33539 int
  33540 bcm_loop_field_qualify_TunnelType_get(
  33541 	int	unit,
  33542 	bcm_field_entry_t	entry,
  33543 	bcm_field_TunnelType_t *	tunnel_type)
  33544 {
  33545 	return bcm_field_qualify_TunnelType_get(
  33546 			BCM_CONTROL(unit)->unit,
  33547 			entry,
  33548 			tunnel_type);
  33549 }
  33550 
  33551 int
  33552 bcm_loop_field_qualify_UdfClass(
  33553 	int	unit,
  33554 	bcm_field_entry_t	entry,
  33555 	uint32	data,
  33556 	uint32	mask)
  33557 {
  33558 	return bcm_field_qualify_UdfClass(
  33559 			BCM_CONTROL(unit)->unit,
  33560 			entry,
  33561 			data,
  33562 			mask);
  33563 }
  33564 
  33565 int
  33566 bcm_loop_field_qualify_UdfClass_get(
  33567 	int	unit,
  33568 	bcm_field_entry_t	entry,
  33569 	uint32 *	data,
  33570 	uint32 *	mask)
  33571 {
  33572 	return bcm_field_qualify_UdfClass_get(
  33573 			BCM_CONTROL(unit)->unit,
  33574 			entry,
  33575 			data,
  33576 			mask);
  33577 }
  33578 
  33579 int
  33580 bcm_loop_field_qualify_VPortRangeCheck(
  33581 	int	unit,
  33582 	bcm_field_entry_t	entry,
  33583 	bcm_field_range_t	range,
  33584 	int	invert)
  33585 {
  33586 	return bcm_field_qualify_VPortRangeCheck(
  33587 			BCM_CONTROL(unit)->unit,
  33588 			entry,
  33589 			range,
  33590 			invert);
  33591 }
  33592 
  33593 int
  33594 bcm_loop_field_qualify_VPortRangeCheck_get(
  33595 	int	unit,
  33596 	bcm_field_entry_t	entry,
  33597 	int	max_count,
  33598 	bcm_field_range_t *	range,
  33599 	int *	invert,
  33600 	int *	count)
  33601 {
  33602 	return bcm_field_qualify_VPortRangeCheck_get(
  33603 			BCM_CONTROL(unit)->unit,
  33604 			entry,
  33605 			max_count,
  33606 			range,
  33607 			invert,
  33608 			count);
  33609 }
  33610 
  33611 int
  33612 bcm_loop_field_qualify_VlanAction(
  33613 	int	unit,
  33614 	bcm_field_entry_t	entry,
  33615 	uint32	data,
  33616 	uint32	mask)
  33617 {
  33618 	return bcm_field_qualify_VlanAction(
  33619 			BCM_CONTROL(unit)->unit,
  33620 			entry,
  33621 			data,
  33622 			mask);
  33623 }
  33624 
  33625 int
  33626 bcm_loop_field_qualify_VlanAction_get(
  33627 	int	unit,
  33628 	bcm_field_entry_t	entry,
  33629 	uint32 *	data,
  33630 	uint32 *	mask)
  33631 {
  33632 	return bcm_field_qualify_VlanAction_get(
  33633 			BCM_CONTROL(unit)->unit,
  33634 			entry,
  33635 			data,
  33636 			mask);
  33637 }
  33638 
  33639 int
  33640 bcm_loop_field_qualify_VlanFormat(
  33641 	int	unit,
  33642 	bcm_field_entry_t	entry,
  33643 	uint8	data,
  33644 	uint8	mask)
  33645 {
  33646 	return bcm_field_qualify_VlanFormat(
  33647 			BCM_CONTROL(unit)->unit,
  33648 			entry,
  33649 			data,
  33650 			mask);
  33651 }
  33652 
  33653 int
  33654 bcm_loop_field_qualify_VlanFormat_get(
  33655 	int	unit,
  33656 	bcm_field_entry_t	entry,
  33657 	uint8 *	data,
  33658 	uint8 *	mask)
  33659 {
  33660 	return bcm_field_qualify_VlanFormat_get(
  33661 			BCM_CONTROL(unit)->unit,
  33662 			entry,
  33663 			data,
  33664 			mask);
  33665 }
  33666 
  33667 int
  33668 bcm_loop_field_qualify_VlanSREnable(
  33669 	int	unit,
  33670 	bcm_field_entry_t	entry,
  33671 	uint8	data)
  33672 {
  33673 	return bcm_field_qualify_VlanSREnable(
  33674 			BCM_CONTROL(unit)->unit,
  33675 			entry,
  33676 			data);
  33677 }
  33678 
  33679 int
  33680 bcm_loop_field_qualify_VlanSREnable_get(
  33681 	int	unit,
  33682 	bcm_field_entry_t	entry,
  33683 	uint8 *	data)
  33684 {
  33685 	return bcm_field_qualify_VlanSREnable_get(
  33686 			BCM_CONTROL(unit)->unit,
  33687 			entry,
  33688 			data);
  33689 }
  33690 
  33691 int
  33692 bcm_loop_field_qualify_VlanSRLanId(
  33693 	int	unit,
  33694 	bcm_field_entry_t	entry,
  33695 	uint8	lan_id)
  33696 {
  33697 	return bcm_field_qualify_VlanSRLanId(
  33698 			BCM_CONTROL(unit)->unit,
  33699 			entry,
  33700 			lan_id);
  33701 }
  33702 
  33703 int
  33704 bcm_loop_field_qualify_VlanSRLanId_get(
  33705 	int	unit,
  33706 	bcm_field_entry_t	entry,
  33707 	uint8 *	lan_id)
  33708 {
  33709 	return bcm_field_qualify_VlanSRLanId_get(
  33710 			BCM_CONTROL(unit)->unit,
  33711 			entry,
  33712 			lan_id);
  33713 }
  33714 
  33715 int
  33716 bcm_loop_field_qualify_VlanTranslateClassId(
  33717 	int	unit,
  33718 	bcm_field_entry_t	entry,
  33719 	uint16	data,
  33720 	uint16	mask)
  33721 {
  33722 	return bcm_field_qualify_VlanTranslateClassId(
  33723 			BCM_CONTROL(unit)->unit,
  33724 			entry,
  33725 			data,
  33726 			mask);
  33727 }
  33728 
  33729 int
  33730 bcm_loop_field_qualify_VlanTranslateClassId_get(
  33731 	int	unit,
  33732 	bcm_field_entry_t	entry,
  33733 	uint16 *	data,
  33734 	uint16 *	mask)
  33735 {
  33736 	return bcm_field_qualify_VlanTranslateClassId_get(
  33737 			BCM_CONTROL(unit)->unit,
  33738 			entry,
  33739 			data,
  33740 			mask);
  33741 }
  33742 
  33743 int
  33744 bcm_loop_field_qualify_VlanTranslationHit(
  33745 	int	unit,
  33746 	bcm_field_entry_t	entry,
  33747 	uint8	data,
  33748 	uint8	mask)
  33749 {
  33750 	return bcm_field_qualify_VlanTranslationHit(
  33751 			BCM_CONTROL(unit)->unit,
  33752 			entry,
  33753 			data,
  33754 			mask);
  33755 }
  33756 
  33757 int
  33758 bcm_loop_field_qualify_VlanTranslationHit_get(
  33759 	int	unit,
  33760 	bcm_field_entry_t	entry,
  33761 	uint8 *	data,
  33762 	uint8 *	mask)
  33763 {
  33764 	return bcm_field_qualify_VlanTranslationHit_get(
  33765 			BCM_CONTROL(unit)->unit,
  33766 			entry,
  33767 			data,
  33768 			mask);
  33769 }
  33770 
  33771 int
  33772 bcm_loop_field_qualify_VlanTranslationValue(
  33773 	int	unit,
  33774 	bcm_field_entry_t	entry,
  33775 	uint64	data,
  33776 	uint64	mask)
  33777 {
  33778 	return bcm_field_qualify_VlanTranslationValue(
  33779 			BCM_CONTROL(unit)->unit,
  33780 			entry,
  33781 			data,
  33782 			mask);
  33783 }
  33784 
  33785 int
  33786 bcm_loop_field_qualify_VlanTranslationValue_get(
  33787 	int	unit,
  33788 	bcm_field_entry_t	entry,
  33789 	uint64 *	data,
  33790 	uint64 *	mask)
  33791 {
  33792 	return bcm_field_qualify_VlanTranslationValue_get(
  33793 			BCM_CONTROL(unit)->unit,
  33794 			entry,
  33795 			data,
  33796 			mask);
  33797 }
  33798 
  33799 int
  33800 bcm_loop_field_qualify_VnTag(
  33801 	int	unit,
  33802 	bcm_field_entry_t	entry,
  33803 	uint32	data,
  33804 	uint32	mask)
  33805 {
  33806 	return bcm_field_qualify_VnTag(
  33807 			BCM_CONTROL(unit)->unit,
  33808 			entry,
  33809 			data,
  33810 			mask);
  33811 }
  33812 
  33813 int
  33814 bcm_loop_field_qualify_VnTag_get(
  33815 	int	unit,
  33816 	bcm_field_entry_t	entry,
  33817 	uint32 *	data,
  33818 	uint32 *	mask)
  33819 {
  33820 	return bcm_field_qualify_VnTag_get(
  33821 			BCM_CONTROL(unit)->unit,
  33822 			entry,
  33823 			data,
  33824 			mask);
  33825 }
  33826 
  33827 int
  33828 bcm_loop_field_qualify_Vpn(
  33829 	int	unit,
  33830 	bcm_field_entry_t	entry,
  33831 	bcm_vpn_t	data,
  33832 	bcm_vpn_t	mask)
  33833 {
  33834 	return bcm_field_qualify_Vpn(
  33835 			BCM_CONTROL(unit)->unit,
  33836 			entry,
  33837 			data,
  33838 			mask);
  33839 }
  33840 
  33841 int
  33842 bcm_loop_field_qualify_VpnUnknownDstMacDstPort(
  33843 	int	unit,
  33844 	bcm_field_entry_t	entry,
  33845 	bcm_gport_t	port_id)
  33846 {
  33847 	return bcm_field_qualify_VpnUnknownDstMacDstPort(
  33848 			BCM_CONTROL(unit)->unit,
  33849 			entry,
  33850 			port_id);
  33851 }
  33852 
  33853 int
  33854 bcm_loop_field_qualify_VpnUnknownDstMacDstPort_get(
  33855 	int	unit,
  33856 	bcm_field_entry_t	entry,
  33857 	bcm_gport_t *	port_id)
  33858 {
  33859 	return bcm_field_qualify_VpnUnknownDstMacDstPort_get(
  33860 			BCM_CONTROL(unit)->unit,
  33861 			entry,
  33862 			port_id);
  33863 }
  33864 
  33865 int
  33866 bcm_loop_field_qualify_Vpn_get(
  33867 	int	unit,
  33868 	bcm_field_entry_t	entry,
  33869 	bcm_vpn_t *	data,
  33870 	bcm_vpn_t *	mask)
  33871 {
  33872 	return bcm_field_qualify_Vpn_get(
  33873 			BCM_CONTROL(unit)->unit,
  33874 			entry,
  33875 			data,
  33876 			mask);
  33877 }
  33878 
  33879 int
  33880 bcm_loop_field_qualify_Vrf(
  33881 	int	unit,
  33882 	bcm_field_entry_t	entry,
  33883 	uint32	data,
  33884 	uint32	mask)
  33885 {
  33886 	return bcm_field_qualify_Vrf(
  33887 			BCM_CONTROL(unit)->unit,
  33888 			entry,
  33889 			data,
  33890 			mask);
  33891 }
  33892 
  33893 int
  33894 bcm_loop_field_qualify_Vrf_get(
  33895 	int	unit,
  33896 	bcm_field_entry_t	entry,
  33897 	uint32 *	data,
  33898 	uint32 *	mask)
  33899 {
  33900 	return bcm_field_qualify_Vrf_get(
  33901 			BCM_CONTROL(unit)->unit,
  33902 			entry,
  33903 			data,
  33904 			mask);
  33905 }
  33906 
  33907 int
  33908 bcm_loop_field_qualify_VxlanClassValid(
  33909 	int	unit,
  33910 	bcm_field_entry_t	entry,
  33911 	uint8	data,
  33912 	uint8	mask)
  33913 {
  33914 	return bcm_field_qualify_VxlanClassValid(
  33915 			BCM_CONTROL(unit)->unit,
  33916 			entry,
  33917 			data,
  33918 			mask);
  33919 }
  33920 
  33921 int
  33922 bcm_loop_field_qualify_VxlanClassValid_get(
  33923 	int	unit,
  33924 	bcm_field_entry_t	entry,
  33925 	uint8 *	data,
  33926 	uint8 *	mask)
  33927 {
  33928 	return bcm_field_qualify_VxlanClassValid_get(
  33929 			BCM_CONTROL(unit)->unit,
  33930 			entry,
  33931 			data,
  33932 			mask);
  33933 }
  33934 
  33935 int
  33936 bcm_loop_field_qualify_VxlanFlags(
  33937 	int	unit,
  33938 	bcm_field_entry_t	entry,
  33939 	uint8	data,
  33940 	uint8	mask)
  33941 {
  33942 	return bcm_field_qualify_VxlanFlags(
  33943 			BCM_CONTROL(unit)->unit,
  33944 			entry,
  33945 			data,
  33946 			mask);
  33947 }
  33948 
  33949 int
  33950 bcm_loop_field_qualify_VxlanFlags_get(
  33951 	int	unit,
  33952 	bcm_field_entry_t	entry,
  33953 	uint8 *	data,
  33954 	uint8 *	mask)
  33955 {
  33956 	return bcm_field_qualify_VxlanFlags_get(
  33957 			BCM_CONTROL(unit)->unit,
  33958 			entry,
  33959 			data,
  33960 			mask);
  33961 }
  33962 
  33963 int
  33964 bcm_loop_field_qualify_VxlanGbpPresent(
  33965 	int	unit,
  33966 	bcm_field_entry_t	entry,
  33967 	uint8	data,
  33968 	uint8	mask)
  33969 {
  33970 	return bcm_field_qualify_VxlanGbpPresent(
  33971 			BCM_CONTROL(unit)->unit,
  33972 			entry,
  33973 			data,
  33974 			mask);
  33975 }
  33976 
  33977 int
  33978 bcm_loop_field_qualify_VxlanGbpPresent_get(
  33979 	int	unit,
  33980 	bcm_field_entry_t	entry,
  33981 	uint8 *	data,
  33982 	uint8 *	mask)
  33983 {
  33984 	return bcm_field_qualify_VxlanGbpPresent_get(
  33985 			BCM_CONTROL(unit)->unit,
  33986 			entry,
  33987 			data,
  33988 			mask);
  33989 }
  33990 
  33991 int
  33992 bcm_loop_field_qualify_VxlanHeaderBits56_63(
  33993 	int	unit,
  33994 	bcm_field_entry_t	entry,
  33995 	uint8	data,
  33996 	uint8	mask)
  33997 {
  33998 	return bcm_field_qualify_VxlanHeaderBits56_63(
  33999 			BCM_CONTROL(unit)->unit,
  34000 			entry,
  34001 			data,
  34002 			mask);
  34003 }
  34004 
  34005 int
  34006 bcm_loop_field_qualify_VxlanHeaderBits56_63_get(
  34007 	int	unit,
  34008 	bcm_field_entry_t	entry,
  34009 	uint8 *	data,
  34010 	uint8 *	mask)
  34011 {
  34012 	return bcm_field_qualify_VxlanHeaderBits56_63_get(
  34013 			BCM_CONTROL(unit)->unit,
  34014 			entry,
  34015 			data,
  34016 			mask);
  34017 }
  34018 
  34019 int
  34020 bcm_loop_field_qualify_VxlanHeaderBits8_31(
  34021 	int	unit,
  34022 	bcm_field_entry_t	entry,
  34023 	uint32	data,
  34024 	uint32	mask)
  34025 {
  34026 	return bcm_field_qualify_VxlanHeaderBits8_31(
  34027 			BCM_CONTROL(unit)->unit,
  34028 			entry,
  34029 			data,
  34030 			mask);
  34031 }
  34032 
  34033 int
  34034 bcm_loop_field_qualify_VxlanHeaderBits8_31_get(
  34035 	int	unit,
  34036 	bcm_field_entry_t	entry,
  34037 	uint32 *	data,
  34038 	uint32 *	mask)
  34039 {
  34040 	return bcm_field_qualify_VxlanHeaderBits8_31_get(
  34041 			BCM_CONTROL(unit)->unit,
  34042 			entry,
  34043 			data,
  34044 			mask);
  34045 }
  34046 
  34047 int
  34048 bcm_loop_field_qualify_VxlanNetworkId(
  34049 	int	unit,
  34050 	bcm_field_entry_t	entry,
  34051 	uint32	data,
  34052 	uint32	mask)
  34053 {
  34054 	return bcm_field_qualify_VxlanNetworkId(
  34055 			BCM_CONTROL(unit)->unit,
  34056 			entry,
  34057 			data,
  34058 			mask);
  34059 }
  34060 
  34061 int
  34062 bcm_loop_field_qualify_VxlanNetworkId_get(
  34063 	int	unit,
  34064 	bcm_field_entry_t	entry,
  34065 	uint32 *	data,
  34066 	uint32 *	mask)
  34067 {
  34068 	return bcm_field_qualify_VxlanNetworkId_get(
  34069 			BCM_CONTROL(unit)->unit,
  34070 			entry,
  34071 			data,
  34072 			mask);
  34073 }
  34074 
  34075 int
  34076 bcm_loop_field_qualify_VxlanPacket(
  34077 	int	unit,
  34078 	bcm_field_entry_t	entry,
  34079 	uint8	data,
  34080 	uint8	mask)
  34081 {
  34082 	return bcm_field_qualify_VxlanPacket(
  34083 			BCM_CONTROL(unit)->unit,
  34084 			entry,
  34085 			data,
  34086 			mask);
  34087 }
  34088 
  34089 int
  34090 bcm_loop_field_qualify_VxlanPacket_get(
  34091 	int	unit,
  34092 	bcm_field_entry_t	entry,
  34093 	uint8 *	data,
  34094 	uint8 *	mask)
  34095 {
  34096 	return bcm_field_qualify_VxlanPacket_get(
  34097 			BCM_CONTROL(unit)->unit,
  34098 			entry,
  34099 			data,
  34100 			mask);
  34101 }
  34102 
  34103 int
  34104 bcm_loop_field_qualify_VxlanPayloadVlanFormat(
  34105 	int	unit,
  34106 	bcm_field_entry_t	entry,
  34107 	uint8	data,
  34108 	uint8	mask)
  34109 {
  34110 	return bcm_field_qualify_VxlanPayloadVlanFormat(
  34111 			BCM_CONTROL(unit)->unit,
  34112 			entry,
  34113 			data,
  34114 			mask);
  34115 }
  34116 
  34117 int
  34118 bcm_loop_field_qualify_VxlanPayloadVlanFormat_get(
  34119 	int	unit,
  34120 	bcm_field_entry_t	entry,
  34121 	uint8 *	data,
  34122 	uint8 *	mask)
  34123 {
  34124 	return bcm_field_qualify_VxlanPayloadVlanFormat_get(
  34125 			BCM_CONTROL(unit)->unit,
  34126 			entry,
  34127 			data,
  34128 			mask);
  34129 }
  34130 
  34131 int
  34132 bcm_loop_field_qualify_VxlanVnidVlanTranslateHit(
  34133 	int	unit,
  34134 	bcm_field_entry_t	entry,
  34135 	uint8	data,
  34136 	uint8	mask)
  34137 {
  34138 	return bcm_field_qualify_VxlanVnidVlanTranslateHit(
  34139 			BCM_CONTROL(unit)->unit,
  34140 			entry,
  34141 			data,
  34142 			mask);
  34143 }
  34144 
  34145 int
  34146 bcm_loop_field_qualify_VxlanVnidVlanTranslateHit_get(
  34147 	int	unit,
  34148 	bcm_field_entry_t	entry,
  34149 	uint8 *	data,
  34150 	uint8 *	mask)
  34151 {
  34152 	return bcm_field_qualify_VxlanVnidVlanTranslateHit_get(
  34153 			BCM_CONTROL(unit)->unit,
  34154 			entry,
  34155 			data,
  34156 			mask);
  34157 }
  34158 
  34159 int
  34160 bcm_loop_field_qualify_clear(
  34161 	int	unit,
  34162 	bcm_field_entry_t	entry)
  34163 {
  34164 	return bcm_field_qualify_clear(
  34165 			BCM_CONTROL(unit)->unit,
  34166 			entry);
  34167 }
  34168 
  34169 int
  34170 bcm_loop_field_qualify_data(
  34171 	int	unit,
  34172 	bcm_field_entry_t	eid,
  34173 	int	qual_id,
  34174 	uint8 *	data,
  34175 	uint8 *	mask,
  34176 	uint16	length)
  34177 {
  34178 	return bcm_field_qualify_data(
  34179 			BCM_CONTROL(unit)->unit,
  34180 			eid,
  34181 			qual_id,
  34182 			data,
  34183 			mask,
  34184 			length);
  34185 }
  34186 
  34187 int
  34188 bcm_loop_field_qualify_data_get(
  34189 	int	unit,
  34190 	bcm_field_entry_t	eid,
  34191 	int	qual_id,
  34192 	uint16	length_max,
  34193 	uint8 *	data,
  34194 	uint8 *	mask,
  34195 	uint16 *	length)
  34196 {
  34197 	return bcm_field_qualify_data_get(
  34198 			BCM_CONTROL(unit)->unit,
  34199 			eid,
  34200 			qual_id,
  34201 			length_max,
  34202 			data,
  34203 			mask,
  34204 			length);
  34205 }
  34206 
  34207 int
  34208 bcm_loop_field_qualify_udf(
  34209 	int	unit,
  34210 	bcm_field_entry_t	eid,
  34211 	bcm_udf_id_t	udf_id,
  34212 	int	length,
  34213 	uint8 *	data,
  34214 	uint8 *	mask)
  34215 {
  34216 	return bcm_field_qualify_udf(
  34217 			BCM_CONTROL(unit)->unit,
  34218 			eid,
  34219 			udf_id,
  34220 			length,
  34221 			data,
  34222 			mask);
  34223 }
  34224 
  34225 int
  34226 bcm_loop_field_qualify_udf_get(
  34227 	int	unit,
  34228 	bcm_field_entry_t	eid,
  34229 	bcm_udf_id_t	udf_id,
  34230 	int	max_length,
  34231 	uint8 *	data,
  34232 	uint8 *	mask,
  34233 	int *	actual_length)
  34234 {
  34235 	return bcm_field_qualify_udf_get(
  34236 			BCM_CONTROL(unit)->unit,
  34237 			eid,
  34238 			udf_id,
  34239 			max_length,
  34240 			data,
  34241 			mask,
  34242 			actual_length);
  34243 }
  34244 
  34245 int
  34246 bcm_loop_field_range_create(
  34247 	int	unit,
  34248 	bcm_field_range_t *	range,
  34249 	uint32	flags,
  34250 	bcm_l4_port_t	min,
  34251 	bcm_l4_port_t	max)
  34252 {
  34253 	return bcm_field_range_create(
  34254 			BCM_CONTROL(unit)->unit,
  34255 			range,
  34256 			flags,
  34257 			min,
  34258 			max);
  34259 }
  34260 
  34261 int
  34262 bcm_loop_field_range_create_id(
  34263 	int	unit,
  34264 	bcm_field_range_t	range,
  34265 	uint32	flags,
  34266 	bcm_l4_port_t	min,
  34267 	bcm_l4_port_t	max)
  34268 {
  34269 	return bcm_field_range_create_id(
  34270 			BCM_CONTROL(unit)->unit,
  34271 			range,
  34272 			flags,
  34273 			min,
  34274 			max);
  34275 }
  34276 
  34277 int
  34278 bcm_loop_field_range_destroy(
  34279 	int	unit,
  34280 	bcm_field_range_t	range)
  34281 {
  34282 	return bcm_field_range_destroy(
  34283 			BCM_CONTROL(unit)->unit,
  34284 			range);
  34285 }
  34286 
  34287 int
  34288 bcm_loop_field_range_get(
  34289 	int	unit,
  34290 	bcm_field_range_t	range,
  34291 	uint32 *	flags,
  34292 	bcm_l4_port_t *	min,
  34293 	bcm_l4_port_t *	max)
  34294 {
  34295 	return bcm_field_range_get(
  34296 			BCM_CONTROL(unit)->unit,
  34297 			range,
  34298 			flags,
  34299 			min,
  34300 			max);
  34301 }
  34302 
  34303 int
  34304 bcm_loop_field_range_group_create(
  34305 	int	unit,
  34306 	bcm_field_range_t *	range,
  34307 	uint32	flags,
  34308 	bcm_l4_port_t	min,
  34309 	bcm_l4_port_t	max,
  34310 	bcm_if_group_t	group)
  34311 {
  34312 	return bcm_field_range_group_create(
  34313 			BCM_CONTROL(unit)->unit,
  34314 			range,
  34315 			flags,
  34316 			min,
  34317 			max,
  34318 			group);
  34319 }
  34320 
  34321 int
  34322 bcm_loop_field_range_group_create_id(
  34323 	int	unit,
  34324 	bcm_field_range_t	range,
  34325 	uint32	flags,
  34326 	bcm_l4_port_t	min,
  34327 	bcm_l4_port_t	max,
  34328 	bcm_if_group_t	group)
  34329 {
  34330 	return bcm_field_range_group_create_id(
  34331 			BCM_CONTROL(unit)->unit,
  34332 			range,
  34333 			flags,
  34334 			min,
  34335 			max,
  34336 			group);
  34337 }
  34338 
  34339 int
  34340 bcm_loop_field_range_info_get(
  34341 	int	unit,
  34342 	bcm_field_stage_t	stage,
  34343 	bcm_field_range_t *	range_id,
  34344 	bcm_field_range_info_t *	range_info)
  34345 {
  34346 	return bcm_field_range_info_get(
  34347 			BCM_CONTROL(unit)->unit,
  34348 			stage,
  34349 			range_id,
  34350 			range_info);
  34351 }
  34352 
  34353 /* bcm_field_range_info_t_init not dispatchable */
  34354 
  34355 int
  34356 bcm_loop_field_range_multi_create(
  34357 	int	unit,
  34358 	bcm_field_range_t *	range_id,
  34359 	uint32	create_flags,
  34360 	int	count,
  34361 	uint32 *	range_flags,
  34362 	uint32 *	min_value,
  34363 	uint32 *	max_value)
  34364 {
  34365 	return bcm_field_range_multi_create(
  34366 			BCM_CONTROL(unit)->unit,
  34367 			range_id,
  34368 			create_flags,
  34369 			count,
  34370 			range_flags,
  34371 			min_value,
  34372 			max_value);
  34373 }
  34374 
  34375 int
  34376 bcm_loop_field_range_multi_get(
  34377 	int	unit,
  34378 	bcm_field_range_t	range_id,
  34379 	int	max_count,
  34380 	uint32 *	range_flags,
  34381 	uint32 *	minimum_value,
  34382 	uint32 *	maxamum_value,
  34383 	int *	actual_count)
  34384 {
  34385 	return bcm_field_range_multi_get(
  34386 			BCM_CONTROL(unit)->unit,
  34387 			range_id,
  34388 			max_count,
  34389 			range_flags,
  34390 			minimum_value,
  34391 			maxamum_value,
  34392 			actual_count);
  34393 }
  34394 
  34395 int
  34396 bcm_loop_field_range_set(
  34397 	int	unit,
  34398 	uint32	flags,
  34399 	bcm_field_stage_t	stage,
  34400 	bcm_field_range_t	range_id,
  34401 	bcm_field_range_info_t *	range_info)
  34402 {
  34403 	return bcm_field_range_set(
  34404 			BCM_CONTROL(unit)->unit,
  34405 			flags,
  34406 			stage,
  34407 			range_id,
  34408 			range_info);
  34409 }
  34410 
  34411 /* bcm_field_redirect_config_t_init not dispatchable */
  34412 
  34413 int
  34414 bcm_loop_field_resync(
  34415 	int	unit)
  34416 {
  34417 	return bcm_field_resync(
  34418 			BCM_CONTROL(unit)->unit);
  34419 }
  34420 
  34421 int
  34422 bcm_loop_field_sat_macsa_add(
  34423 	int	unit,
  34424 	bcm_mac_t	mac,
  34425 	uint32	class_id)
  34426 {
  34427 	return bcm_field_sat_macsa_add(
  34428 			BCM_CONTROL(unit)->unit,
  34429 			mac,
  34430 			class_id);
  34431 }
  34432 
  34433 int
  34434 bcm_loop_field_sat_macsa_delete(
  34435 	int	unit,
  34436 	bcm_mac_t	mac)
  34437 {
  34438 	return bcm_field_sat_macsa_delete(
  34439 			BCM_CONTROL(unit)->unit,
  34440 			mac);
  34441 }
  34442 
  34443 int
  34444 bcm_loop_field_sat_macsa_delete_all(
  34445 	int	unit)
  34446 {
  34447 	return bcm_field_sat_macsa_delete_all(
  34448 			BCM_CONTROL(unit)->unit);
  34449 }
  34450 
  34451 int
  34452 bcm_loop_field_sat_macsa_get(
  34453 	int	unit,
  34454 	bcm_mac_t	mac,
  34455 	uint32 *	class_id)
  34456 {
  34457 	return bcm_field_sat_macsa_get(
  34458 			BCM_CONTROL(unit)->unit,
  34459 			mac,
  34460 			class_id);
  34461 }
  34462 
  34463 #ifdef	BROADCOM_DEBUG
  34464 
  34465 int
  34466 bcm_loop_field_show(
  34467 	int	unit,
  34468 	const char *	pfx)
  34469 {
  34470 	return bcm_field_show(
  34471 			BCM_CONTROL(unit)->unit,
  34472 			pfx);
  34473 }
  34474 
  34475 /* bcm_field_snap_header_t_init not dispatchable */
  34476 
  34477 #endif	/* BROADCOM_DEBUG */
  34478 
  34479 int
  34480 bcm_loop_field_source_class_mode_get(
  34481 	int	unit,
  34482 	bcm_field_stage_t	stage,
  34483 	bcm_pbmp_t	pbmp,
  34484 	bcm_field_src_class_mode_t *	mode)
  34485 {
  34486 	return bcm_field_source_class_mode_get(
  34487 			BCM_CONTROL(unit)->unit,
  34488 			stage,
  34489 			pbmp,
  34490 			mode);
  34491 }
  34492 
  34493 int
  34494 bcm_loop_field_source_class_mode_set(
  34495 	int	unit,
  34496 	bcm_field_stage_t	stage,
  34497 	bcm_pbmp_t	pbmp,
  34498 	bcm_field_src_class_mode_t	mode)
  34499 {
  34500 	return bcm_field_source_class_mode_set(
  34501 			BCM_CONTROL(unit)->unit,
  34502 			stage,
  34503 			pbmp,
  34504 			mode);
  34505 }
  34506 
  34507 /* bcm_field_src_class_t_init not dispatchable */
  34508 
  34509 int
  34510 bcm_loop_field_stage_info_get(
  34511 	int	unit,
  34512 	bcm_field_stage_t	stage,
  34513 	bcm_field_stage_info_t *	info)
  34514 {
  34515 	return bcm_field_stage_info_get(
  34516 			BCM_CONTROL(unit)->unit,
  34517 			stage,
  34518 			info);
  34519 }
  34520 
  34521 int
  34522 bcm_loop_field_stage_qset_get(
  34523 	int	unit,
  34524 	bcm_field_stage_t	stage,
  34525 	uint8	presel,
  34526 	bcm_field_qset_t *	qset)
  34527 {
  34528 	return bcm_field_stage_qset_get(
  34529 			BCM_CONTROL(unit)->unit,
  34530 			stage,
  34531 			presel,
  34532 			qset);
  34533 }
  34534 
  34535 int
  34536 bcm_loop_field_stage_slice_count_get(
  34537 	int	unit,
  34538 	bcm_field_stage_t	stage_id,
  34539 	int *	slice_count)
  34540 {
  34541 	return bcm_field_stage_slice_count_get(
  34542 			BCM_CONTROL(unit)->unit,
  34543 			stage_id,
  34544 			slice_count);
  34545 }
  34546 
  34547 int
  34548 bcm_loop_field_stage_slice_info_get(
  34549 	int	unit,
  34550 	bcm_field_stage_t	stage_id,
  34551 	bcm_pbmp_t	pbmp,
  34552 	int	slice_no,
  34553 	bcm_field_stage_slice_info_t *	slice_info)
  34554 {
  34555 	return bcm_field_stage_slice_info_get(
  34556 			BCM_CONTROL(unit)->unit,
  34557 			stage_id,
  34558 			pbmp,
  34559 			slice_no,
  34560 			slice_info);
  34561 }
  34562 
  34563 int
  34564 bcm_loop_field_stat_all_set(
  34565 	int	unit,
  34566 	int	stat_id,
  34567 	uint64	value)
  34568 {
  34569 	return bcm_field_stat_all_set(
  34570 			BCM_CONTROL(unit)->unit,
  34571 			stat_id,
  34572 			value);
  34573 }
  34574 
  34575 int
  34576 bcm_loop_field_stat_all_set32(
  34577 	int	unit,
  34578 	int	stat_id,
  34579 	uint32	value)
  34580 {
  34581 	return bcm_field_stat_all_set32(
  34582 			BCM_CONTROL(unit)->unit,
  34583 			stat_id,
  34584 			value);
  34585 }
  34586 
  34587 int
  34588 bcm_loop_field_stat_attach(
  34589 	int	unit,
  34590 	bcm_field_group_t	group,
  34591 	uint32	stat_counter_id,
  34592 	uint32 *	stat_id)
  34593 {
  34594 	return bcm_field_stat_attach(
  34595 			BCM_CONTROL(unit)->unit,
  34596 			group,
  34597 			stat_counter_id,
  34598 			stat_id);
  34599 }
  34600 
  34601 int
  34602 bcm_loop_field_stat_config_get(
  34603 	int	unit,
  34604 	int	stat_id,
  34605 	int	nstat,
  34606 	bcm_field_stat_t *	stat_arr)
  34607 {
  34608 	return bcm_field_stat_config_get(
  34609 			BCM_CONTROL(unit)->unit,
  34610 			stat_id,
  34611 			nstat,
  34612 			stat_arr);
  34613 }
  34614 
  34615 int
  34616 bcm_loop_field_stat_counter_get(
  34617 	int	unit,
  34618 	uint32	stat_id,
  34619 	bcm_field_stat_t	stat,
  34620 	uint32	num_entries,
  34621 	uint32 *	counter_indexes,
  34622 	bcm_stat_value_t *	counter_values)
  34623 {
  34624 	return bcm_field_stat_counter_get(
  34625 			BCM_CONTROL(unit)->unit,
  34626 			stat_id,
  34627 			stat,
  34628 			num_entries,
  34629 			counter_indexes,
  34630 			counter_values);
  34631 }
  34632 
  34633 int
  34634 bcm_loop_field_stat_counter_set(
  34635 	int	unit,
  34636 	uint32	stat_id,
  34637 	bcm_field_stat_t	stat,
  34638 	uint32	num_entries,
  34639 	uint32 *	counter_indexes,
  34640 	bcm_stat_value_t *	counter_values)
  34641 {
  34642 	return bcm_field_stat_counter_set(
  34643 			BCM_CONTROL(unit)->unit,
  34644 			stat_id,
  34645 			stat,
  34646 			num_entries,
  34647 			counter_indexes,
  34648 			counter_values);
  34649 }
  34650 
  34651 int
  34652 bcm_loop_field_stat_counter_sync_get(
  34653 	int	unit,
  34654 	uint32	stat_id,
  34655 	bcm_field_stat_t	stat,
  34656 	uint32	num_entries,
  34657 	uint32 *	counter_indexes,
  34658 	bcm_stat_value_t *	counter_values)
  34659 {
  34660 	return bcm_field_stat_counter_sync_get(
  34661 			BCM_CONTROL(unit)->unit,
  34662 			stat_id,
  34663 			stat,
  34664 			num_entries,
  34665 			counter_indexes,
  34666 			counter_values);
  34667 }
  34668 
  34669 int
  34670 bcm_loop_field_stat_create(
  34671 	int	unit,
  34672 	bcm_field_group_t	group,
  34673 	int	nstat,
  34674 	bcm_field_stat_t *	stat_arr,
  34675 	int *	stat_id)
  34676 {
  34677 	return bcm_field_stat_create(
  34678 			BCM_CONTROL(unit)->unit,
  34679 			group,
  34680 			nstat,
  34681 			stat_arr,
  34682 			stat_id);
  34683 }
  34684 
  34685 int
  34686 bcm_loop_field_stat_create_id(
  34687 	int	unit,
  34688 	bcm_field_group_t	group,
  34689 	int	nstat,
  34690 	bcm_field_stat_t *	stat_arr,
  34691 	int	stat_id)
  34692 {
  34693 	return bcm_field_stat_create_id(
  34694 			BCM_CONTROL(unit)->unit,
  34695 			group,
  34696 			nstat,
  34697 			stat_arr,
  34698 			stat_id);
  34699 }
  34700 
  34701 int
  34702 bcm_loop_field_stat_destroy(
  34703 	int	unit,
  34704 	int	stat_id)
  34705 {
  34706 	return bcm_field_stat_destroy(
  34707 			BCM_CONTROL(unit)->unit,
  34708 			stat_id);
  34709 }
  34710 
  34711 int
  34712 bcm_loop_field_stat_detach(
  34713 	int	unit,
  34714 	uint32	stat_id)
  34715 {
  34716 	return bcm_field_stat_detach(
  34717 			BCM_CONTROL(unit)->unit,
  34718 			stat_id);
  34719 }
  34720 
  34721 int
  34722 bcm_loop_field_stat_get(
  34723 	int	unit,
  34724 	int	stat_id,
  34725 	bcm_field_stat_t	stat,
  34726 	uint64 *	value)
  34727 {
  34728 	return bcm_field_stat_get(
  34729 			BCM_CONTROL(unit)->unit,
  34730 			stat_id,
  34731 			stat,
  34732 			value);
  34733 }
  34734 
  34735 int
  34736 bcm_loop_field_stat_get32(
  34737 	int	unit,
  34738 	int	stat_id,
  34739 	bcm_field_stat_t	stat,
  34740 	uint32 *	value)
  34741 {
  34742 	return bcm_field_stat_get32(
  34743 			BCM_CONTROL(unit)->unit,
  34744 			stat_id,
  34745 			stat,
  34746 			value);
  34747 }
  34748 
  34749 int
  34750 bcm_loop_field_stat_id_get(
  34751 	int	unit,
  34752 	bcm_field_group_t	group,
  34753 	uint32	stat_id,
  34754 	uint32 *	stat_counter_id)
  34755 {
  34756 	return bcm_field_stat_id_get(
  34757 			BCM_CONTROL(unit)->unit,
  34758 			group,
  34759 			stat_id,
  34760 			stat_counter_id);
  34761 }
  34762 
  34763 int
  34764 bcm_loop_field_stat_multi_get(
  34765 	int	unit,
  34766 	int	stat_id,
  34767 	int	nstat,
  34768 	bcm_field_stat_t *	stat_arr,
  34769 	uint64 *	value_arr)
  34770 {
  34771 	return bcm_field_stat_multi_get(
  34772 			BCM_CONTROL(unit)->unit,
  34773 			stat_id,
  34774 			nstat,
  34775 			stat_arr,
  34776 			value_arr);
  34777 }
  34778 
  34779 int
  34780 bcm_loop_field_stat_multi_get32(
  34781 	int	unit,
  34782 	int	stat_id,
  34783 	int	nstat,
  34784 	bcm_field_stat_t *	stat_arr,
  34785 	uint32 *	value_arr)
  34786 {
  34787 	return bcm_field_stat_multi_get32(
  34788 			BCM_CONTROL(unit)->unit,
  34789 			stat_id,
  34790 			nstat,
  34791 			stat_arr,
  34792 			value_arr);
  34793 }
  34794 
  34795 int
  34796 bcm_loop_field_stat_set(
  34797 	int	unit,
  34798 	int	stat_id,
  34799 	bcm_field_stat_t	stat,
  34800 	uint64	value)
  34801 {
  34802 	return bcm_field_stat_set(
  34803 			BCM_CONTROL(unit)->unit,
  34804 			stat_id,
  34805 			stat,
  34806 			value);
  34807 }
  34808 
  34809 int
  34810 bcm_loop_field_stat_set32(
  34811 	int	unit,
  34812 	int	stat_id,
  34813 	bcm_field_stat_t	stat,
  34814 	uint32	value)
  34815 {
  34816 	return bcm_field_stat_set32(
  34817 			BCM_CONTROL(unit)->unit,
  34818 			stat_id,
  34819 			stat,
  34820 			value);
  34821 }
  34822 
  34823 int
  34824 bcm_loop_field_stat_size(
  34825 	int	unit,
  34826 	int	stat_id,
  34827 	int *	stat_size)
  34828 {
  34829 	return bcm_field_stat_size(
  34830 			BCM_CONTROL(unit)->unit,
  34831 			stat_id,
  34832 			stat_size);
  34833 }
  34834 
  34835 int
  34836 bcm_loop_field_stat_sync_get(
  34837 	int	unit,
  34838 	int	stat_id,
  34839 	bcm_field_stat_t	stat,
  34840 	uint64 *	value)
  34841 {
  34842 	return bcm_field_stat_sync_get(
  34843 			BCM_CONTROL(unit)->unit,
  34844 			stat_id,
  34845 			stat,
  34846 			value);
  34847 }
  34848 
  34849 int
  34850 bcm_loop_field_stat_sync_get32(
  34851 	int	unit,
  34852 	int	stat_id,
  34853 	bcm_field_stat_t	stat,
  34854 	uint32 *	value)
  34855 {
  34856 	return bcm_field_stat_sync_get32(
  34857 			BCM_CONTROL(unit)->unit,
  34858 			stat_id,
  34859 			stat,
  34860 			value);
  34861 }
  34862 
  34863 int
  34864 bcm_loop_field_tcam_bank_evacuate(
  34865 	int	unit,
  34866 	uint32	flags,
  34867 	bcm_field_group_t	fg_id,
  34868 	bcm_field_tcam_bank_evacuate_info_t *	evac_info)
  34869 {
  34870 	return bcm_field_tcam_bank_evacuate(
  34871 			BCM_CONTROL(unit)->unit,
  34872 			flags,
  34873 			fg_id,
  34874 			evac_info);
  34875 }
  34876 
  34877 /* bcm_field_udf_spec_t_init not dispatchable */
  34878 
  34879 /* bcm_find not dispatchable */
  34880 
  34881 #ifdef	INCLUDE_L3
  34882 
  34883 int
  34884 bcm_loop_flow_cleanup(
  34885 	int	unit)
  34886 {
  34887 	return bcm_flow_cleanup(
  34888 			BCM_CONTROL(unit)->unit);
  34889 }
  34890 
  34891 int
  34892 bcm_loop_flow_encap_add(
  34893 	int	unit,
  34894 	bcm_flow_encap_config_t *	info,
  34895 	uint32	num_of_fields,
  34896 	bcm_flow_logical_field_t *	field)
  34897 {
  34898 	return bcm_flow_encap_add(
  34899 			BCM_CONTROL(unit)->unit,
  34900 			info,
  34901 			num_of_fields,
  34902 			field);
  34903 }
  34904 
  34905 /* bcm_flow_encap_config_t_init not dispatchable */
  34906 
  34907 int
  34908 bcm_loop_flow_encap_delete(
  34909 	int	unit,
  34910 	bcm_flow_encap_config_t *	info,
  34911 	uint32	num_of_fields,
  34912 	bcm_flow_logical_field_t *	field)
  34913 {
  34914 	return bcm_flow_encap_delete(
  34915 			BCM_CONTROL(unit)->unit,
  34916 			info,
  34917 			num_of_fields,
  34918 			field);
  34919 }
  34920 
  34921 int
  34922 bcm_loop_flow_encap_get(
  34923 	int	unit,
  34924 	bcm_flow_encap_config_t *	info,
  34925 	uint32	num_of_fields,
  34926 	bcm_flow_logical_field_t *	field)
  34927 {
  34928 	return bcm_flow_encap_get(
  34929 			BCM_CONTROL(unit)->unit,
  34930 			info,
  34931 			num_of_fields,
  34932 			field);
  34933 }
  34934 
  34935 int
  34936 bcm_loop_flow_encap_traverse(
  34937 	int	unit,
  34938 	bcm_flow_encap_traverse_cb	cb,
  34939 	void *	user_data)
  34940 {
  34941 	return bcm_flow_encap_traverse(
  34942 			BCM_CONTROL(unit)->unit,
  34943 			cb,
  34944 			user_data);
  34945 }
  34946 
  34947 int
  34948 bcm_loop_flow_handle_get(
  34949 	int	unit,
  34950 	const char *	flow_name,
  34951 	bcm_flow_handle_t *	handle)
  34952 {
  34953 	return bcm_flow_handle_get(
  34954 			BCM_CONTROL(unit)->unit,
  34955 			flow_name,
  34956 			handle);
  34957 }
  34958 
  34959 int
  34960 bcm_loop_flow_init(
  34961 	int	unit)
  34962 {
  34963 	return bcm_flow_init(
  34964 			BCM_CONTROL(unit)->unit);
  34965 }
  34966 
  34967 int
  34968 bcm_loop_flow_logical_field_id_get(
  34969 	int	unit,
  34970 	bcm_flow_handle_t	flow_handle,
  34971 	const char *	field_name,
  34972 	bcm_flow_field_id_t *	field_id)
  34973 {
  34974 	return bcm_flow_logical_field_id_get(
  34975 			BCM_CONTROL(unit)->unit,
  34976 			flow_handle,
  34977 			field_name,
  34978 			field_id);
  34979 }
  34980 
  34981 /* bcm_flow_logical_field_t_init not dispatchable */
  34982 
  34983 int
  34984 bcm_loop_flow_match_add(
  34985 	int	unit,
  34986 	bcm_flow_match_config_t *	info,
  34987 	uint32	num_of_fields,
  34988 	bcm_flow_logical_field_t *	field)
  34989 {
  34990 	return bcm_flow_match_add(
  34991 			BCM_CONTROL(unit)->unit,
  34992 			info,
  34993 			num_of_fields,
  34994 			field);
  34995 }
  34996 
  34997 /* bcm_flow_match_config_t_init not dispatchable */
  34998 
  34999 int
  35000 bcm_loop_flow_match_delete(
  35001 	int	unit,
  35002 	bcm_flow_match_config_t *	info,
  35003 	uint32	num_of_fields,
  35004 	bcm_flow_logical_field_t *	field)
  35005 {
  35006 	return bcm_flow_match_delete(
  35007 			BCM_CONTROL(unit)->unit,
  35008 			info,
  35009 			num_of_fields,
  35010 			field);
  35011 }
  35012 
  35013 int
  35014 bcm_loop_flow_match_get(
  35015 	int	unit,
  35016 	bcm_flow_match_config_t *	info,
  35017 	uint32	num_of_fields,
  35018 	bcm_flow_logical_field_t *	field)
  35019 {
  35020 	return bcm_flow_match_get(
  35021 			BCM_CONTROL(unit)->unit,
  35022 			info,
  35023 			num_of_fields,
  35024 			field);
  35025 }
  35026 
  35027 int
  35028 bcm_loop_flow_match_traverse(
  35029 	int	unit,
  35030 	bcm_flow_match_traverse_cb	cb,
  35031 	void *	user_data)
  35032 {
  35033 	return bcm_flow_match_traverse(
  35034 			BCM_CONTROL(unit)->unit,
  35035 			cb,
  35036 			user_data);
  35037 }
  35038 
  35039 int
  35040 bcm_loop_flow_option_id_get(
  35041 	int	unit,
  35042 	bcm_flow_handle_t	flow_handle,
  35043 	const char *	flow_option_name,
  35044 	bcm_flow_option_id_t *	option_id)
  35045 {
  35046 	return bcm_flow_option_id_get(
  35047 			BCM_CONTROL(unit)->unit,
  35048 			flow_handle,
  35049 			flow_option_name,
  35050 			option_id);
  35051 }
  35052 
  35053 int
  35054 bcm_loop_flow_port_create(
  35055 	int	unit,
  35056 	bcm_vpn_t	vpn,
  35057 	bcm_flow_port_t *	flow_port)
  35058 {
  35059 	return bcm_flow_port_create(
  35060 			BCM_CONTROL(unit)->unit,
  35061 			vpn,
  35062 			flow_port);
  35063 }
  35064 
  35065 int
  35066 bcm_loop_flow_port_destroy(
  35067 	int	unit,
  35068 	bcm_vpn_t	vpn,
  35069 	bcm_gport_t	flow_port)
  35070 {
  35071 	return bcm_flow_port_destroy(
  35072 			BCM_CONTROL(unit)->unit,
  35073 			vpn,
  35074 			flow_port);
  35075 }
  35076 
  35077 int
  35078 bcm_loop_flow_port_encap_get(
  35079 	int	unit,
  35080 	bcm_flow_port_encap_t *	info,
  35081 	uint32	num_of_fields,
  35082 	bcm_flow_logical_field_t *	field)
  35083 {
  35084 	return bcm_flow_port_encap_get(
  35085 			BCM_CONTROL(unit)->unit,
  35086 			info,
  35087 			num_of_fields,
  35088 			field);
  35089 }
  35090 
  35091 int
  35092 bcm_loop_flow_port_encap_set(
  35093 	int	unit,
  35094 	bcm_flow_port_encap_t *	info,
  35095 	uint32	num_of_fields,
  35096 	bcm_flow_logical_field_t *	field)
  35097 {
  35098 	return bcm_flow_port_encap_set(
  35099 			BCM_CONTROL(unit)->unit,
  35100 			info,
  35101 			num_of_fields,
  35102 			field);
  35103 }
  35104 
  35105 /* bcm_flow_port_encap_t_init not dispatchable */
  35106 
  35107 int
  35108 bcm_loop_flow_port_get(
  35109 	int	unit,
  35110 	bcm_vpn_t	vpn,
  35111 	bcm_flow_port_t *	flow_port)
  35112 {
  35113 	return bcm_flow_port_get(
  35114 			BCM_CONTROL(unit)->unit,
  35115 			vpn,
  35116 			flow_port);
  35117 }
  35118 
  35119 int
  35120 bcm_loop_flow_port_get_all(
  35121 	int	unit,
  35122 	bcm_vpn_t	vpn,
  35123 	int	port_max,
  35124 	bcm_flow_port_t *	flow_port,
  35125 	int *	port_count)
  35126 {
  35127 	return bcm_flow_port_get_all(
  35128 			BCM_CONTROL(unit)->unit,
  35129 			vpn,
  35130 			port_max,
  35131 			flow_port,
  35132 			port_count);
  35133 }
  35134 
  35135 /* bcm_flow_port_t_init not dispatchable */
  35136 
  35137 int
  35138 bcm_loop_flow_stat_attach(
  35139 	int	unit,
  35140 	bcm_flow_stat_info_t *	flow_stat_info,
  35141 	uint32	num_of_fields,
  35142 	bcm_flow_logical_field_t *	field,
  35143 	uint32	stat_counter_id)
  35144 {
  35145 	return bcm_flow_stat_attach(
  35146 			BCM_CONTROL(unit)->unit,
  35147 			flow_stat_info,
  35148 			num_of_fields,
  35149 			field,
  35150 			stat_counter_id);
  35151 }
  35152 
  35153 int
  35154 bcm_loop_flow_stat_detach(
  35155 	int	unit,
  35156 	bcm_flow_stat_info_t *	flow_stat_info,
  35157 	uint32	num_of_fields,
  35158 	bcm_flow_logical_field_t *	field,
  35159 	uint32	stat_counter_id)
  35160 {
  35161 	return bcm_flow_stat_detach(
  35162 			BCM_CONTROL(unit)->unit,
  35163 			flow_stat_info,
  35164 			num_of_fields,
  35165 			field,
  35166 			stat_counter_id);
  35167 }
  35168 
  35169 int
  35170 bcm_loop_flow_stat_id_get(
  35171 	int	unit,
  35172 	bcm_flow_stat_info_t *	flow_stat_info,
  35173 	uint32	num_of_fields,
  35174 	bcm_flow_logical_field_t *	field,
  35175 	bcm_stat_object_t	stat_object,
  35176 	uint32 *	stat_counter_id)
  35177 {
  35178 	return bcm_flow_stat_id_get(
  35179 			BCM_CONTROL(unit)->unit,
  35180 			flow_stat_info,
  35181 			num_of_fields,
  35182 			field,
  35183 			stat_object,
  35184 			stat_counter_id);
  35185 }
  35186 
  35187 /* bcm_flow_stat_info_t_init not dispatchable */
  35188 
  35189 int
  35190 bcm_loop_flow_stat_object_get(
  35191 	int	unit,
  35192 	bcm_flow_handle_t	flow_handle,
  35193 	bcm_flow_option_id_t	flow_option_id,
  35194 	bcm_flow_function_type_t	function_type,
  35195 	bcm_stat_object_t *	stat_object)
  35196 {
  35197 	return bcm_flow_stat_object_get(
  35198 			BCM_CONTROL(unit)->unit,
  35199 			flow_handle,
  35200 			flow_option_id,
  35201 			function_type,
  35202 			stat_object);
  35203 }
  35204 
  35205 int
  35206 bcm_loop_flow_tunnel_initiator_create(
  35207 	int	unit,
  35208 	bcm_flow_tunnel_initiator_t *	info,
  35209 	uint32	num_of_fields,
  35210 	bcm_flow_logical_field_t *	field)
  35211 {
  35212 	return bcm_flow_tunnel_initiator_create(
  35213 			BCM_CONTROL(unit)->unit,
  35214 			info,
  35215 			num_of_fields,
  35216 			field);
  35217 }
  35218 
  35219 int
  35220 bcm_loop_flow_tunnel_initiator_destroy(
  35221 	int	unit,
  35222 	bcm_gport_t	flow_tunnel_id)
  35223 {
  35224 	return bcm_flow_tunnel_initiator_destroy(
  35225 			BCM_CONTROL(unit)->unit,
  35226 			flow_tunnel_id);
  35227 }
  35228 
  35229 int
  35230 bcm_loop_flow_tunnel_initiator_get(
  35231 	int	unit,
  35232 	bcm_flow_tunnel_initiator_t *	info,
  35233 	uint32	num_of_fields,
  35234 	bcm_flow_logical_field_t *	field)
  35235 {
  35236 	return bcm_flow_tunnel_initiator_get(
  35237 			BCM_CONTROL(unit)->unit,
  35238 			info,
  35239 			num_of_fields,
  35240 			field);
  35241 }
  35242 
  35243 /* bcm_flow_tunnel_initiator_t_init not dispatchable */
  35244 
  35245 int
  35246 bcm_loop_flow_tunnel_initiator_traverse(
  35247 	int	unit,
  35248 	bcm_flow_tunnel_initiator_traverse_cb	cb,
  35249 	void *	user_data)
  35250 {
  35251 	return bcm_flow_tunnel_initiator_traverse(
  35252 			BCM_CONTROL(unit)->unit,
  35253 			cb,
  35254 			user_data);
  35255 }
  35256 
  35257 int
  35258 bcm_loop_flow_tunnel_terminator_create(
  35259 	int	unit,
  35260 	bcm_flow_tunnel_terminator_t *	info,
  35261 	uint32	num_of_fields,
  35262 	bcm_flow_logical_field_t *	field)
  35263 {
  35264 	return bcm_flow_tunnel_terminator_create(
  35265 			BCM_CONTROL(unit)->unit,
  35266 			info,
  35267 			num_of_fields,
  35268 			field);
  35269 }
  35270 
  35271 int
  35272 bcm_loop_flow_tunnel_terminator_destroy(
  35273 	int	unit,
  35274 	bcm_flow_tunnel_terminator_t *	info,
  35275 	uint32	num_of_fields,
  35276 	bcm_flow_logical_field_t *	field)
  35277 {
  35278 	return bcm_flow_tunnel_terminator_destroy(
  35279 			BCM_CONTROL(unit)->unit,
  35280 			info,
  35281 			num_of_fields,
  35282 			field);
  35283 }
  35284 
  35285 int
  35286 bcm_loop_flow_tunnel_terminator_get(
  35287 	int	unit,
  35288 	bcm_flow_tunnel_terminator_t *	info,
  35289 	uint32	num_of_fields,
  35290 	bcm_flow_logical_field_t *	field)
  35291 {
  35292 	return bcm_flow_tunnel_terminator_get(
  35293 			BCM_CONTROL(unit)->unit,
  35294 			info,
  35295 			num_of_fields,
  35296 			field);
  35297 }
  35298 
  35299 /* bcm_flow_tunnel_terminator_t_init not dispatchable */
  35300 
  35301 int
  35302 bcm_loop_flow_tunnel_terminator_traverse(
  35303 	int	unit,
  35304 	bcm_flow_tunnel_terminator_traverse_cb	cb,
  35305 	void *	user_data)
  35306 {
  35307 	return bcm_flow_tunnel_terminator_traverse(
  35308 			BCM_CONTROL(unit)->unit,
  35309 			cb,
  35310 			user_data);
  35311 }
  35312 
  35313 /* bcm_flow_vpn_config_t_init not dispatchable */
  35314 
  35315 int
  35316 bcm_loop_flow_vpn_create(
  35317 	int	unit,
  35318 	bcm_vpn_t *	vpn,
  35319 	bcm_flow_vpn_config_t *	info)
  35320 {
  35321 	return bcm_flow_vpn_create(
  35322 			BCM_CONTROL(unit)->unit,
  35323 			vpn,
  35324 			info);
  35325 }
  35326 
  35327 int
  35328 bcm_loop_flow_vpn_destroy(
  35329 	int	unit,
  35330 	bcm_vpn_t	vpn)
  35331 {
  35332 	return bcm_flow_vpn_destroy(
  35333 			BCM_CONTROL(unit)->unit,
  35334 			vpn);
  35335 }
  35336 
  35337 int
  35338 bcm_loop_flow_vpn_destroy_all(
  35339 	int	unit)
  35340 {
  35341 	return bcm_flow_vpn_destroy_all(
  35342 			BCM_CONTROL(unit)->unit);
  35343 }
  35344 
  35345 int
  35346 bcm_loop_flow_vpn_get(
  35347 	int	unit,
  35348 	bcm_vpn_t	vpn,
  35349 	bcm_flow_vpn_config_t *	info)
  35350 {
  35351 	return bcm_flow_vpn_get(
  35352 			BCM_CONTROL(unit)->unit,
  35353 			vpn,
  35354 			info);
  35355 }
  35356 
  35357 int
  35358 bcm_loop_flow_vpn_traverse(
  35359 	int	unit,
  35360 	bcm_flow_vpn_traverse_cb	cb,
  35361 	void *	user_data)
  35362 {
  35363 	return bcm_flow_vpn_traverse(
  35364 			BCM_CONTROL(unit)->unit,
  35365 			cb,
  35366 			user_data);
  35367 }
  35368 
  35369 #endif	/* INCLUDE_L3 */
  35370 
  35371 int
  35372 bcm_loop_flowtracker_check_action_info_get(
  35373 	int	unit,
  35374 	bcm_flowtracker_check_t	check_id,
  35375 	bcm_flowtracker_check_action_info_t *	info)
  35376 {
  35377 	return bcm_flowtracker_check_action_info_get(
  35378 			BCM_CONTROL(unit)->unit,
  35379 			check_id,
  35380 			info);
  35381 }
  35382 
  35383 int
  35384 bcm_loop_flowtracker_check_action_info_set(
  35385 	int	unit,
  35386 	bcm_flowtracker_check_t	check_id,
  35387 	bcm_flowtracker_check_action_info_t	info)
  35388 {
  35389 	return bcm_flowtracker_check_action_info_set(
  35390 			BCM_CONTROL(unit)->unit,
  35391 			check_id,
  35392 			info);
  35393 }
  35394 
  35395 /* bcm_flowtracker_check_action_info_t_init not dispatchable */
  35396 
  35397 int
  35398 bcm_loop_flowtracker_check_create(
  35399 	int	unit,
  35400 	uint32	options,
  35401 	bcm_flowtracker_check_info_t	check_info,
  35402 	bcm_flowtracker_check_t *	check_id)
  35403 {
  35404 	return bcm_flowtracker_check_create(
  35405 			BCM_CONTROL(unit)->unit,
  35406 			options,
  35407 			check_info,
  35408 			check_id);
  35409 }
  35410 
  35411 int
  35412 bcm_loop_flowtracker_check_destroy(
  35413 	int	unit,
  35414 	bcm_flowtracker_check_t	check_id)
  35415 {
  35416 	return bcm_flowtracker_check_destroy(
  35417 			BCM_CONTROL(unit)->unit,
  35418 			check_id);
  35419 }
  35420 
  35421 int
  35422 bcm_loop_flowtracker_check_destroy_all(
  35423 	int	unit)
  35424 {
  35425 	return bcm_flowtracker_check_destroy_all(
  35426 			BCM_CONTROL(unit)->unit);
  35427 }
  35428 
  35429 int
  35430 bcm_loop_flowtracker_check_export_info_get(
  35431 	int	unit,
  35432 	bcm_flowtracker_check_t	check_id,
  35433 	bcm_flowtracker_check_export_info_t *	info)
  35434 {
  35435 	return bcm_flowtracker_check_export_info_get(
  35436 			BCM_CONTROL(unit)->unit,
  35437 			check_id,
  35438 			info);
  35439 }
  35440 
  35441 int
  35442 bcm_loop_flowtracker_check_export_info_set(
  35443 	int	unit,
  35444 	bcm_flowtracker_check_t	check_id,
  35445 	bcm_flowtracker_check_export_info_t	info)
  35446 {
  35447 	return bcm_flowtracker_check_export_info_set(
  35448 			BCM_CONTROL(unit)->unit,
  35449 			check_id,
  35450 			info);
  35451 }
  35452 
  35453 /* bcm_flowtracker_check_export_info_t_init not dispatchable */
  35454 
  35455 int
  35456 bcm_loop_flowtracker_check_get(
  35457 	int	unit,
  35458 	bcm_flowtracker_check_t	check_id,
  35459 	bcm_flowtracker_check_info_t *	check_info)
  35460 {
  35461 	return bcm_flowtracker_check_get(
  35462 			BCM_CONTROL(unit)->unit,
  35463 			check_id,
  35464 			check_info);
  35465 }
  35466 
  35467 /* bcm_flowtracker_check_info_t_init not dispatchable */
  35468 
  35469 int
  35470 bcm_loop_flowtracker_check_traverse(
  35471 	int	unit,
  35472 	bcm_flowtracker_check_traverse_cb	cb,
  35473 	void *	user_data)
  35474 {
  35475 	return bcm_flowtracker_check_traverse(
  35476 			BCM_CONTROL(unit)->unit,
  35477 			cb,
  35478 			user_data);
  35479 }
  35480 
  35481 int
  35482 bcm_loop_flowtracker_chip_debug_info_get(
  35483 	int	unit,
  35484 	int	max_debug_info_size,
  35485 	bcm_flowtracker_chip_debug_info_t *	list_of_debug_info,
  35486 	int *	actual_debug_info_size)
  35487 {
  35488 	return bcm_flowtracker_chip_debug_info_get(
  35489 			BCM_CONTROL(unit)->unit,
  35490 			max_debug_info_size,
  35491 			list_of_debug_info,
  35492 			actual_debug_info_size);
  35493 }
  35494 
  35495 int
  35496 bcm_loop_flowtracker_chip_debug_info_set(
  35497 	int	unit,
  35498 	int	num_debug_info,
  35499 	bcm_flowtracker_chip_debug_info_t *	list_of_debug_info)
  35500 {
  35501 	return bcm_flowtracker_chip_debug_info_set(
  35502 			BCM_CONTROL(unit)->unit,
  35503 			num_debug_info,
  35504 			list_of_debug_info);
  35505 }
  35506 
  35507 /* bcm_flowtracker_chip_debug_info_t_init not dispatchable */
  35508 
  35509 /* bcm_flowtracker_collector_callback_options_t_init not dispatchable */
  35510 
  35511 /* bcm_flowtracker_collector_copy_info_t_init not dispatchable */
  35512 
  35513 int
  35514 bcm_loop_flowtracker_collector_create(
  35515 	int	unit,
  35516 	uint32	options,
  35517 	bcm_flowtracker_collector_t *	collector_id,
  35518 	bcm_flowtracker_collector_info_t *	collector_info)
  35519 {
  35520 	return bcm_flowtracker_collector_create(
  35521 			BCM_CONTROL(unit)->unit,
  35522 			options,
  35523 			collector_id,
  35524 			collector_info);
  35525 }
  35526 
  35527 int
  35528 bcm_loop_flowtracker_collector_destroy(
  35529 	int	unit,
  35530 	bcm_flowtracker_collector_t	id)
  35531 {
  35532 	return bcm_flowtracker_collector_destroy(
  35533 			BCM_CONTROL(unit)->unit,
  35534 			id);
  35535 }
  35536 
  35537 int
  35538 bcm_loop_flowtracker_collector_get(
  35539 	int	unit,
  35540 	bcm_flowtracker_collector_t	id,
  35541 	bcm_flowtracker_collector_info_t *	collector_info)
  35542 {
  35543 	return bcm_flowtracker_collector_get(
  35544 			BCM_CONTROL(unit)->unit,
  35545 			id,
  35546 			collector_info);
  35547 }
  35548 
  35549 int
  35550 bcm_loop_flowtracker_collector_get_all(
  35551 	int	unit,
  35552 	int	max_size,
  35553 	bcm_flowtracker_collector_t *	collector_list,
  35554 	int *	list_size)
  35555 {
  35556 	return bcm_flowtracker_collector_get_all(
  35557 			BCM_CONTROL(unit)->unit,
  35558 			max_size,
  35559 			collector_list,
  35560 			list_size);
  35561 }
  35562 
  35563 /* bcm_flowtracker_collector_info_t_init not dispatchable */
  35564 
  35565 /* bcm_flowtracker_cpu_notification_info_t_init not dispatchable */
  35566 
  35567 int
  35568 bcm_loop_flowtracker_detach(
  35569 	int	unit)
  35570 {
  35571 	return bcm_flowtracker_detach(
  35572 			BCM_CONTROL(unit)->unit);
  35573 }
  35574 
  35575 int
  35576 bcm_loop_flowtracker_elephant_action_match_get(
  35577 	int	unit,
  35578 	bcm_flowtracker_elephant_match_action_t	action,
  35579 	uint32 *	match_types,
  35580 	bcm_flowtracker_elephant_match_data_t *	match_data)
  35581 {
  35582 	return bcm_flowtracker_elephant_action_match_get(
  35583 			BCM_CONTROL(unit)->unit,
  35584 			action,
  35585 			match_types,
  35586 			match_data);
  35587 }
  35588 
  35589 int
  35590 bcm_loop_flowtracker_elephant_action_match_set(
  35591 	int	unit,
  35592 	bcm_flowtracker_elephant_match_action_t	action,
  35593 	uint32	match_types,
  35594 	bcm_flowtracker_elephant_match_data_t *	match_data)
  35595 {
  35596 	return bcm_flowtracker_elephant_action_match_set(
  35597 			BCM_CONTROL(unit)->unit,
  35598 			action,
  35599 			match_types,
  35600 			match_data);
  35601 }
  35602 
  35603 int
  35604 bcm_loop_flowtracker_elephant_control_get(
  35605 	int	unit,
  35606 	bcm_flowtracker_elephant_control_t	type,
  35607 	int *	arg)
  35608 {
  35609 	return bcm_flowtracker_elephant_control_get(
  35610 			BCM_CONTROL(unit)->unit,
  35611 			type,
  35612 			arg);
  35613 }
  35614 
  35615 int
  35616 bcm_loop_flowtracker_elephant_control_set(
  35617 	int	unit,
  35618 	bcm_flowtracker_elephant_control_t	type,
  35619 	int	arg)
  35620 {
  35621 	return bcm_flowtracker_elephant_control_set(
  35622 			BCM_CONTROL(unit)->unit,
  35623 			type,
  35624 			arg);
  35625 }
  35626 
  35627 int
  35628 bcm_loop_flowtracker_elephant_hash_config_get(
  35629 	int	unit,
  35630 	bcm_flowtracker_elephant_hash_table_t	hash_table,
  35631 	int	instance_num,
  35632 	int	bank_num,
  35633 	bcm_flowtracker_elephant_hash_type_t *	hash_type,
  35634 	int *	right_rotate_bits)
  35635 {
  35636 	return bcm_flowtracker_elephant_hash_config_get(
  35637 			BCM_CONTROL(unit)->unit,
  35638 			hash_table,
  35639 			instance_num,
  35640 			bank_num,
  35641 			hash_type,
  35642 			right_rotate_bits);
  35643 }
  35644 
  35645 int
  35646 bcm_loop_flowtracker_elephant_hash_config_set(
  35647 	int	unit,
  35648 	bcm_flowtracker_elephant_hash_table_t	hash_table,
  35649 	int	instance_num,
  35650 	int	bank_num,
  35651 	bcm_flowtracker_elephant_hash_type_t	hash_type,
  35652 	int	right_rotate_bits)
  35653 {
  35654 	return bcm_flowtracker_elephant_hash_config_set(
  35655 			BCM_CONTROL(unit)->unit,
  35656 			hash_table,
  35657 			instance_num,
  35658 			bank_num,
  35659 			hash_type,
  35660 			right_rotate_bits);
  35661 }
  35662 
  35663 int
  35664 bcm_loop_flowtracker_elephant_int_pri_remap_get(
  35665 	int	unit,
  35666 	bcm_cos_t	int_pri,
  35667 	bcm_cos_t *	new_int_pri)
  35668 {
  35669 	return bcm_flowtracker_elephant_int_pri_remap_get(
  35670 			BCM_CONTROL(unit)->unit,
  35671 			int_pri,
  35672 			new_int_pri);
  35673 }
  35674 
  35675 int
  35676 bcm_loop_flowtracker_elephant_int_pri_remap_set(
  35677 	int	unit,
  35678 	bcm_cos_t	int_pri,
  35679 	bcm_cos_t	new_int_pri)
  35680 {
  35681 	return bcm_flowtracker_elephant_int_pri_remap_set(
  35682 			BCM_CONTROL(unit)->unit,
  35683 			int_pri,
  35684 			new_int_pri);
  35685 }
  35686 
  35687 /* bcm_flowtracker_elephant_match_data_t_init not dispatchable */
  35688 
  35689 int
  35690 bcm_loop_flowtracker_elephant_profile_create(
  35691 	int	unit,
  35692 	uint32	options,
  35693 	bcm_flowtracker_elephant_profile_info_t *	profile,
  35694 	bcm_flowtracker_elephant_profile_t *	profile_id)
  35695 {
  35696 	return bcm_flowtracker_elephant_profile_create(
  35697 			BCM_CONTROL(unit)->unit,
  35698 			options,
  35699 			profile,
  35700 			profile_id);
  35701 }
  35702 
  35703 int
  35704 bcm_loop_flowtracker_elephant_profile_destroy(
  35705 	int	unit,
  35706 	bcm_flowtracker_elephant_profile_t	profile_id)
  35707 {
  35708 	return bcm_flowtracker_elephant_profile_destroy(
  35709 			BCM_CONTROL(unit)->unit,
  35710 			profile_id);
  35711 }
  35712 
  35713 int
  35714 bcm_loop_flowtracker_elephant_profile_get(
  35715 	int	unit,
  35716 	bcm_flowtracker_elephant_profile_t	profile_id,
  35717 	bcm_flowtracker_elephant_profile_info_t *	profile)
  35718 {
  35719 	return bcm_flowtracker_elephant_profile_get(
  35720 			BCM_CONTROL(unit)->unit,
  35721 			profile_id,
  35722 			profile);
  35723 }
  35724 
  35725 int
  35726 bcm_loop_flowtracker_elephant_profile_get_all(
  35727 	int	unit,
  35728 	int	max,
  35729 	bcm_flowtracker_elephant_profile_t *	profile_list,
  35730 	int *	count)
  35731 {
  35732 	return bcm_flowtracker_elephant_profile_get_all(
  35733 			BCM_CONTROL(unit)->unit,
  35734 			max,
  35735 			profile_list,
  35736 			count);
  35737 }
  35738 
  35739 /* bcm_flowtracker_elephant_profile_info_t_init not dispatchable */
  35740 
  35741 int
  35742 bcm_loop_flowtracker_elephant_stats_get(
  35743 	int	unit,
  35744 	bcm_flowtracker_elephant_stats_t *	stats)
  35745 {
  35746 	return bcm_flowtracker_elephant_stats_get(
  35747 			BCM_CONTROL(unit)->unit,
  35748 			stats);
  35749 }
  35750 
  35751 int
  35752 bcm_loop_flowtracker_elephant_stats_set(
  35753 	int	unit,
  35754 	bcm_flowtracker_elephant_stats_t *	stats)
  35755 {
  35756 	return bcm_flowtracker_elephant_stats_set(
  35757 			BCM_CONTROL(unit)->unit,
  35758 			stats);
  35759 }
  35760 
  35761 int
  35762 bcm_loop_flowtracker_elephant_stats_sync_get(
  35763 	int	unit,
  35764 	bcm_flowtracker_elephant_stats_t *	stats)
  35765 {
  35766 	return bcm_flowtracker_elephant_stats_sync_get(
  35767 			BCM_CONTROL(unit)->unit,
  35768 			stats);
  35769 }
  35770 
  35771 /* bcm_flowtracker_elephant_stats_t_init not dispatchable */
  35772 
  35773 int
  35774 bcm_loop_flowtracker_export_record_register(
  35775 	int	unit,
  35776 	bcm_flowtracker_collector_t	collector_id,
  35777 	bcm_flowtracker_collector_callback_options_t	callback_options,
  35778 	bcm_flowtracker_export_record_cb_f	callback_fn,
  35779 	void *	userdata)
  35780 {
  35781 	return bcm_flowtracker_export_record_register(
  35782 			BCM_CONTROL(unit)->unit,
  35783 			collector_id,
  35784 			callback_options,
  35785 			callback_fn,
  35786 			userdata);
  35787 }
  35788 
  35789 /* bcm_flowtracker_export_record_t_init not dispatchable */
  35790 
  35791 int
  35792 bcm_loop_flowtracker_export_record_unregister(
  35793 	int	unit,
  35794 	bcm_flowtracker_collector_t	collector_id,
  35795 	bcm_flowtracker_collector_callback_options_t	callback_options,
  35796 	bcm_flowtracker_export_record_cb_f	callback_fn)
  35797 {
  35798 	return bcm_flowtracker_export_record_unregister(
  35799 			BCM_CONTROL(unit)->unit,
  35800 			collector_id,
  35801 			callback_options,
  35802 			callback_fn);
  35803 }
  35804 
  35805 int
  35806 bcm_loop_flowtracker_export_template_create(
  35807 	int	unit,
  35808 	uint32	options,
  35809 	bcm_flowtracker_export_template_t *	id,
  35810 	uint16	set_id,
  35811 	int	num_export_elements,
  35812 	bcm_flowtracker_export_element_info_t *	list_of_export_elements)
  35813 {
  35814 	return bcm_flowtracker_export_template_create(
  35815 			BCM_CONTROL(unit)->unit,
  35816 			options,
  35817 			id,
  35818 			set_id,
  35819 			num_export_elements,
  35820 			list_of_export_elements);
  35821 }
  35822 
  35823 int
  35824 bcm_loop_flowtracker_export_template_destroy(
  35825 	int	unit,
  35826 	bcm_flowtracker_export_template_t	id)
  35827 {
  35828 	return bcm_flowtracker_export_template_destroy(
  35829 			BCM_CONTROL(unit)->unit,
  35830 			id);
  35831 }
  35832 
  35833 int
  35834 bcm_loop_flowtracker_export_template_get(
  35835 	int	unit,
  35836 	bcm_flowtracker_export_template_t	id,
  35837 	uint16 *	set_id,
  35838 	int	max_size,
  35839 	bcm_flowtracker_export_element_info_t *	list_of_export_elements,
  35840 	int *	list_size)
  35841 {
  35842 	return bcm_flowtracker_export_template_get(
  35843 			BCM_CONTROL(unit)->unit,
  35844 			id,
  35845 			set_id,
  35846 			max_size,
  35847 			list_of_export_elements,
  35848 			list_size);
  35849 }
  35850 
  35851 int
  35852 bcm_loop_flowtracker_export_template_validate(
  35853 	int	unit,
  35854 	bcm_flowtracker_group_t	flow_group_id,
  35855 	int	max_in_export_elements,
  35856 	bcm_flowtracker_export_element_info_t *	in_export_elements,
  35857 	int	max_out_export_elements,
  35858 	bcm_flowtracker_export_element_info_t *	out_export_elements,
  35859 	int *	actual_out_export_elements)
  35860 {
  35861 	return bcm_flowtracker_export_template_validate(
  35862 			BCM_CONTROL(unit)->unit,
  35863 			flow_group_id,
  35864 			max_in_export_elements,
  35865 			in_export_elements,
  35866 			max_out_export_elements,
  35867 			out_export_elements,
  35868 			actual_out_export_elements);
  35869 }
  35870 
  35871 /* bcm_flowtracker_flow_key_t_init not dispatchable */
  35872 
  35873 /* bcm_flowtracker_group_action_info_t_init not dispatchable */
  35874 
  35875 int
  35876 bcm_loop_flowtracker_group_actions_get(
  35877 	int	unit,
  35878 	bcm_flowtracker_group_t	flow_group_id,
  35879 	uint32	flags,
  35880 	int	max_actions,
  35881 	bcm_flowtracker_group_action_info_t *	action_list,
  35882 	int *	num_actions)
  35883 {
  35884 	return bcm_flowtracker_group_actions_get(
  35885 			BCM_CONTROL(unit)->unit,
  35886 			flow_group_id,
  35887 			flags,
  35888 			max_actions,
  35889 			action_list,
  35890 			num_actions);
  35891 }
  35892 
  35893 int
  35894 bcm_loop_flowtracker_group_actions_set(
  35895 	int	unit,
  35896 	bcm_flowtracker_group_t	flow_group_id,
  35897 	uint32	flags,
  35898 	int	num_actions,
  35899 	bcm_flowtracker_group_action_info_t *	action_list)
  35900 {
  35901 	return bcm_flowtracker_group_actions_set(
  35902 			BCM_CONTROL(unit)->unit,
  35903 			flow_group_id,
  35904 			flags,
  35905 			num_actions,
  35906 			action_list);
  35907 }
  35908 
  35909 int
  35910 bcm_loop_flowtracker_group_age_timer_get(
  35911 	int	unit,
  35912 	bcm_flowtracker_group_t	id,
  35913 	uint32 *	aging_interval_ms)
  35914 {
  35915 	return bcm_flowtracker_group_age_timer_get(
  35916 			BCM_CONTROL(unit)->unit,
  35917 			id,
  35918 			aging_interval_ms);
  35919 }
  35920 
  35921 int
  35922 bcm_loop_flowtracker_group_age_timer_set(
  35923 	int	unit,
  35924 	bcm_flowtracker_group_t	id,
  35925 	uint32	aging_interval_ms)
  35926 {
  35927 	return bcm_flowtracker_group_age_timer_set(
  35928 			BCM_CONTROL(unit)->unit,
  35929 			id,
  35930 			aging_interval_ms);
  35931 }
  35932 
  35933 int
  35934 bcm_loop_flowtracker_group_check_add(
  35935 	int	unit,
  35936 	bcm_flowtracker_group_t	group_id,
  35937 	bcm_flowtracker_check_t	check_id)
  35938 {
  35939 	return bcm_flowtracker_group_check_add(
  35940 			BCM_CONTROL(unit)->unit,
  35941 			group_id,
  35942 			check_id);
  35943 }
  35944 
  35945 int
  35946 bcm_loop_flowtracker_group_check_delete(
  35947 	int	unit,
  35948 	bcm_flowtracker_group_t	group_id,
  35949 	bcm_flowtracker_check_t	check_id)
  35950 {
  35951 	return bcm_flowtracker_group_check_delete(
  35952 			BCM_CONTROL(unit)->unit,
  35953 			group_id,
  35954 			check_id);
  35955 }
  35956 
  35957 int
  35958 bcm_loop_flowtracker_group_check_get_all(
  35959 	int	unit,
  35960 	bcm_flowtracker_group_t	group_id,
  35961 	int	max_checks,
  35962 	bcm_flowtracker_check_t *	list_of_check_ids,
  35963 	int *	num_checks)
  35964 {
  35965 	return bcm_flowtracker_group_check_get_all(
  35966 			BCM_CONTROL(unit)->unit,
  35967 			group_id,
  35968 			max_checks,
  35969 			list_of_check_ids,
  35970 			num_checks);
  35971 }
  35972 
  35973 int
  35974 bcm_loop_flowtracker_group_clear(
  35975 	int	unit,
  35976 	bcm_flowtracker_group_t	id,
  35977 	uint32	flags)
  35978 {
  35979 	return bcm_flowtracker_group_clear(
  35980 			BCM_CONTROL(unit)->unit,
  35981 			id,
  35982 			flags);
  35983 }
  35984 
  35985 int
  35986 bcm_loop_flowtracker_group_collector_add(
  35987 	int	unit,
  35988 	bcm_flowtracker_group_t	flow_group_id,
  35989 	bcm_flowtracker_collector_t	collector_id,
  35990 	bcm_flowtracker_export_template_t	template_id)
  35991 {
  35992 	return bcm_flowtracker_group_collector_add(
  35993 			BCM_CONTROL(unit)->unit,
  35994 			flow_group_id,
  35995 			collector_id,
  35996 			template_id);
  35997 }
  35998 
  35999 int
  36000 bcm_loop_flowtracker_group_collector_attach(
  36001 	int	unit,
  36002 	bcm_flowtracker_group_t	flow_group_id,
  36003 	bcm_collector_t	collector_id,
  36004 	int	export_profile_id,
  36005 	bcm_flowtracker_export_template_t	template_id)
  36006 {
  36007 	return bcm_flowtracker_group_collector_attach(
  36008 			BCM_CONTROL(unit)->unit,
  36009 			flow_group_id,
  36010 			collector_id,
  36011 			export_profile_id,
  36012 			template_id);
  36013 }
  36014 
  36015 int
  36016 bcm_loop_flowtracker_group_collector_attach_get_all(
  36017 	int	unit,
  36018 	bcm_flowtracker_group_t	flow_group_id,
  36019 	int	max_list_size,
  36020 	bcm_collector_t *	list_of_collectors,
  36021 	bcm_flowtracker_export_template_t *	list_of_templates,
  36022 	int *	export_profile_id_list,
  36023 	int *	list_size)
  36024 {
  36025 	return bcm_flowtracker_group_collector_attach_get_all(
  36026 			BCM_CONTROL(unit)->unit,
  36027 			flow_group_id,
  36028 			max_list_size,
  36029 			list_of_collectors,
  36030 			list_of_templates,
  36031 			export_profile_id_list,
  36032 			list_size);
  36033 }
  36034 
  36035 int
  36036 bcm_loop_flowtracker_group_collector_copy_info_get(
  36037 	int	unit,
  36038 	bcm_flowtracker_group_t	group_id,
  36039 	bcm_flowtracker_collector_copy_info_t *	info)
  36040 {
  36041 	return bcm_flowtracker_group_collector_copy_info_get(
  36042 			BCM_CONTROL(unit)->unit,
  36043 			group_id,
  36044 			info);
  36045 }
  36046 
  36047 int
  36048 bcm_loop_flowtracker_group_collector_copy_info_set(
  36049 	int	unit,
  36050 	bcm_flowtracker_group_t	group_id,
  36051 	bcm_flowtracker_collector_copy_info_t	info)
  36052 {
  36053 	return bcm_flowtracker_group_collector_copy_info_set(
  36054 			BCM_CONTROL(unit)->unit,
  36055 			group_id,
  36056 			info);
  36057 }
  36058 
  36059 int
  36060 bcm_loop_flowtracker_group_collector_delete(
  36061 	int	unit,
  36062 	bcm_flowtracker_group_t	flow_group_id,
  36063 	bcm_flowtracker_collector_t	collector_id,
  36064 	bcm_flowtracker_export_template_t	template_id)
  36065 {
  36066 	return bcm_flowtracker_group_collector_delete(
  36067 			BCM_CONTROL(unit)->unit,
  36068 			flow_group_id,
  36069 			collector_id,
  36070 			template_id);
  36071 }
  36072 
  36073 int
  36074 bcm_loop_flowtracker_group_collector_detach(
  36075 	int	unit,
  36076 	bcm_flowtracker_group_t	flow_group_id,
  36077 	bcm_collector_t	collector_id,
  36078 	int	export_profile_id,
  36079 	bcm_flowtracker_export_template_t	template_id)
  36080 {
  36081 	return bcm_flowtracker_group_collector_detach(
  36082 			BCM_CONTROL(unit)->unit,
  36083 			flow_group_id,
  36084 			collector_id,
  36085 			export_profile_id,
  36086 			template_id);
  36087 }
  36088 
  36089 int
  36090 bcm_loop_flowtracker_group_collector_get_all(
  36091 	int	unit,
  36092 	bcm_flowtracker_group_t	flow_group_id,
  36093 	int	max_list_size,
  36094 	bcm_flowtracker_collector_t *	list_of_collectors,
  36095 	bcm_flowtracker_export_template_t *	list_of_templates,
  36096 	int *	list_size)
  36097 {
  36098 	return bcm_flowtracker_group_collector_get_all(
  36099 			BCM_CONTROL(unit)->unit,
  36100 			flow_group_id,
  36101 			max_list_size,
  36102 			list_of_collectors,
  36103 			list_of_templates,
  36104 			list_size);
  36105 }
  36106 
  36107 int
  36108 bcm_loop_flowtracker_group_control_get(
  36109 	int	unit,
  36110 	bcm_flowtracker_group_t	group_id,
  36111 	bcm_flowtracker_group_control_type_t	type,
  36112 	int *	arg)
  36113 {
  36114 	return bcm_flowtracker_group_control_get(
  36115 			BCM_CONTROL(unit)->unit,
  36116 			group_id,
  36117 			type,
  36118 			arg);
  36119 }
  36120 
  36121 int
  36122 bcm_loop_flowtracker_group_control_set(
  36123 	int	unit,
  36124 	bcm_flowtracker_group_t	group_id,
  36125 	bcm_flowtracker_group_control_type_t	type,
  36126 	int	arg)
  36127 {
  36128 	return bcm_flowtracker_group_control_set(
  36129 			BCM_CONTROL(unit)->unit,
  36130 			group_id,
  36131 			type,
  36132 			arg);
  36133 }
  36134 
  36135 int
  36136 bcm_loop_flowtracker_group_cpu_notification_get(
  36137 	int	unit,
  36138 	bcm_flowtracker_group_t	id,
  36139 	bcm_flowtracker_cpu_notification_info_t *	info)
  36140 {
  36141 	return bcm_flowtracker_group_cpu_notification_get(
  36142 			BCM_CONTROL(unit)->unit,
  36143 			id,
  36144 			info);
  36145 }
  36146 
  36147 int
  36148 bcm_loop_flowtracker_group_cpu_notification_set(
  36149 	int	unit,
  36150 	bcm_flowtracker_group_t	id,
  36151 	bcm_flowtracker_cpu_notification_info_t *	info)
  36152 {
  36153 	return bcm_flowtracker_group_cpu_notification_set(
  36154 			BCM_CONTROL(unit)->unit,
  36155 			id,
  36156 			info);
  36157 }
  36158 
  36159 int
  36160 bcm_loop_flowtracker_group_create(
  36161 	int	unit,
  36162 	uint32	options,
  36163 	bcm_flowtracker_group_t *	flow_group_id,
  36164 	bcm_flowtracker_group_info_t *	flow_group_info)
  36165 {
  36166 	return bcm_flowtracker_group_create(
  36167 			BCM_CONTROL(unit)->unit,
  36168 			options,
  36169 			flow_group_id,
  36170 			flow_group_info);
  36171 }
  36172 
  36173 int
  36174 bcm_loop_flowtracker_group_data_get(
  36175 	int	unit,
  36176 	bcm_flowtracker_group_t	flow_group_id,
  36177 	bcm_flowtracker_flow_key_t *	flow_key,
  36178 	bcm_flowtracker_flow_data_t *	flow_data)
  36179 {
  36180 	return bcm_flowtracker_group_data_get(
  36181 			BCM_CONTROL(unit)->unit,
  36182 			flow_group_id,
  36183 			flow_key,
  36184 			flow_data);
  36185 }
  36186 
  36187 int
  36188 bcm_loop_flowtracker_group_destroy(
  36189 	int	unit,
  36190 	bcm_flowtracker_group_t	id)
  36191 {
  36192 	return bcm_flowtracker_group_destroy(
  36193 			BCM_CONTROL(unit)->unit,
  36194 			id);
  36195 }
  36196 
  36197 int
  36198 bcm_loop_flowtracker_group_elephant_profile_attach(
  36199 	int	unit,
  36200 	bcm_flowtracker_group_t	flow_group_id,
  36201 	bcm_flowtracker_elephant_profile_t	profile_id)
  36202 {
  36203 	return bcm_flowtracker_group_elephant_profile_attach(
  36204 			BCM_CONTROL(unit)->unit,
  36205 			flow_group_id,
  36206 			profile_id);
  36207 }
  36208 
  36209 int
  36210 bcm_loop_flowtracker_group_elephant_profile_attach_get(
  36211 	int	unit,
  36212 	bcm_flowtracker_group_t	flow_group_id,
  36213 	bcm_flowtracker_elephant_profile_t *	profile_id)
  36214 {
  36215 	return bcm_flowtracker_group_elephant_profile_attach_get(
  36216 			BCM_CONTROL(unit)->unit,
  36217 			flow_group_id,
  36218 			profile_id);
  36219 }
  36220 
  36221 int
  36222 bcm_loop_flowtracker_group_elephant_profile_detach(
  36223 	int	unit,
  36224 	bcm_flowtracker_group_t	flow_group_id)
  36225 {
  36226 	return bcm_flowtracker_group_elephant_profile_detach(
  36227 			BCM_CONTROL(unit)->unit,
  36228 			flow_group_id);
  36229 }
  36230 
  36231 int
  36232 bcm_loop_flowtracker_group_export_trigger_get(
  36233 	int	unit,
  36234 	bcm_flowtracker_group_t	id,
  36235 	bcm_flowtracker_export_trigger_info_t *	export_trigger_info)
  36236 {
  36237 	return bcm_flowtracker_group_export_trigger_get(
  36238 			BCM_CONTROL(unit)->unit,
  36239 			id,
  36240 			export_trigger_info);
  36241 }
  36242 
  36243 int
  36244 bcm_loop_flowtracker_group_export_trigger_set(
  36245 	int	unit,
  36246 	bcm_flowtracker_group_t	id,
  36247 	bcm_flowtracker_export_trigger_info_t *	export_trigger_info)
  36248 {
  36249 	return bcm_flowtracker_group_export_trigger_set(
  36250 			BCM_CONTROL(unit)->unit,
  36251 			id,
  36252 			export_trigger_info);
  36253 }
  36254 
  36255 int
  36256 bcm_loop_flowtracker_group_flow_count_get(
  36257 	int	unit,
  36258 	bcm_flowtracker_group_t	id,
  36259 	uint32 *	flow_count)
  36260 {
  36261 	return bcm_flowtracker_group_flow_count_get(
  36262 			BCM_CONTROL(unit)->unit,
  36263 			id,
  36264 			flow_count);
  36265 }
  36266 
  36267 int
  36268 bcm_loop_flowtracker_group_flow_limit_get(
  36269 	int	unit,
  36270 	bcm_flowtracker_group_t	id,
  36271 	uint32 *	flow_limit)
  36272 {
  36273 	return bcm_flowtracker_group_flow_limit_get(
  36274 			BCM_CONTROL(unit)->unit,
  36275 			id,
  36276 			flow_limit);
  36277 }
  36278 
  36279 int
  36280 bcm_loop_flowtracker_group_flow_limit_set(
  36281 	int	unit,
  36282 	bcm_flowtracker_group_t	id,
  36283 	uint32	flow_limit)
  36284 {
  36285 	return bcm_flowtracker_group_flow_limit_set(
  36286 			BCM_CONTROL(unit)->unit,
  36287 			id,
  36288 			flow_limit);
  36289 }
  36290 
  36291 int
  36292 bcm_loop_flowtracker_group_get(
  36293 	int	unit,
  36294 	bcm_flowtracker_group_t	id,
  36295 	bcm_flowtracker_group_info_t *	flow_group_info)
  36296 {
  36297 	return bcm_flowtracker_group_get(
  36298 			BCM_CONTROL(unit)->unit,
  36299 			id,
  36300 			flow_group_info);
  36301 }
  36302 
  36303 int
  36304 bcm_loop_flowtracker_group_get_all(
  36305 	int	unit,
  36306 	int	max_size,
  36307 	bcm_flowtracker_group_t *	flow_group_list,
  36308 	int *	list_size)
  36309 {
  36310 	return bcm_flowtracker_group_get_all(
  36311 			BCM_CONTROL(unit)->unit,
  36312 			max_size,
  36313 			flow_group_list,
  36314 			list_size);
  36315 }
  36316 
  36317 /* bcm_flowtracker_group_info_t_init not dispatchable */
  36318 
  36319 int
  36320 bcm_loop_flowtracker_group_meter_info_get(
  36321 	int	unit,
  36322 	bcm_flowtracker_group_t	group_id,
  36323 	bcm_flowtracker_meter_info_t *	info)
  36324 {
  36325 	return bcm_flowtracker_group_meter_info_get(
  36326 			BCM_CONTROL(unit)->unit,
  36327 			group_id,
  36328 			info);
  36329 }
  36330 
  36331 int
  36332 bcm_loop_flowtracker_group_meter_info_set(
  36333 	int	unit,
  36334 	bcm_flowtracker_group_t	group_id,
  36335 	bcm_flowtracker_meter_info_t	info)
  36336 {
  36337 	return bcm_flowtracker_group_meter_info_set(
  36338 			BCM_CONTROL(unit)->unit,
  36339 			group_id,
  36340 			info);
  36341 }
  36342 
  36343 int
  36344 bcm_loop_flowtracker_group_multi_clear(
  36345 	int	unit,
  36346 	uint32	flags,
  36347 	int	num_groups,
  36348 	bcm_flowtracker_group_t *	list_of_group_ids)
  36349 {
  36350 	return bcm_flowtracker_group_multi_clear(
  36351 			BCM_CONTROL(unit)->unit,
  36352 			flags,
  36353 			num_groups,
  36354 			list_of_group_ids);
  36355 }
  36356 
  36357 int
  36358 bcm_loop_flowtracker_group_stat_get(
  36359 	int	unit,
  36360 	bcm_flowtracker_group_t	group_id,
  36361 	bcm_flowtracker_group_stat_t *	group_stats)
  36362 {
  36363 	return bcm_flowtracker_group_stat_get(
  36364 			BCM_CONTROL(unit)->unit,
  36365 			group_id,
  36366 			group_stats);
  36367 }
  36368 
  36369 int
  36370 bcm_loop_flowtracker_group_stat_modeid_get(
  36371 	int	unit,
  36372 	bcm_flowtracker_group_t	id,
  36373 	uint32 *	stat_modeid)
  36374 {
  36375 	return bcm_flowtracker_group_stat_modeid_get(
  36376 			BCM_CONTROL(unit)->unit,
  36377 			id,
  36378 			stat_modeid);
  36379 }
  36380 
  36381 int
  36382 bcm_loop_flowtracker_group_stat_modeid_set(
  36383 	int	unit,
  36384 	bcm_flowtracker_group_t	id,
  36385 	uint32	stat_modeid)
  36386 {
  36387 	return bcm_flowtracker_group_stat_modeid_set(
  36388 			BCM_CONTROL(unit)->unit,
  36389 			id,
  36390 			stat_modeid);
  36391 }
  36392 
  36393 int
  36394 bcm_loop_flowtracker_group_stat_set(
  36395 	int	unit,
  36396 	bcm_flowtracker_group_t	group_id,
  36397 	bcm_flowtracker_group_stat_t *	group_stats)
  36398 {
  36399 	return bcm_flowtracker_group_stat_set(
  36400 			BCM_CONTROL(unit)->unit,
  36401 			group_id,
  36402 			group_stats);
  36403 }
  36404 
  36405 /* bcm_flowtracker_group_stat_t_init not dispatchable */
  36406 
  36407 int
  36408 bcm_loop_flowtracker_group_tracking_params_get(
  36409 	int	unit,
  36410 	bcm_flowtracker_group_t	id,
  36411 	int	max_size,
  36412 	bcm_flowtracker_tracking_param_info_t *	list_of_tracking_params,
  36413 	int *	list_size)
  36414 {
  36415 	return bcm_flowtracker_group_tracking_params_get(
  36416 			BCM_CONTROL(unit)->unit,
  36417 			id,
  36418 			max_size,
  36419 			list_of_tracking_params,
  36420 			list_size);
  36421 }
  36422 
  36423 int
  36424 bcm_loop_flowtracker_group_tracking_params_set(
  36425 	int	unit,
  36426 	bcm_flowtracker_group_t	id,
  36427 	int	num_tracking_params,
  36428 	bcm_flowtracker_tracking_param_info_t *	list_of_tracking_params)
  36429 {
  36430 	return bcm_flowtracker_group_tracking_params_set(
  36431 			BCM_CONTROL(unit)->unit,
  36432 			id,
  36433 			num_tracking_params,
  36434 			list_of_tracking_params);
  36435 }
  36436 
  36437 int
  36438 bcm_loop_flowtracker_init(
  36439 	int	unit)
  36440 {
  36441 	return bcm_flowtracker_init(
  36442 			BCM_CONTROL(unit)->unit);
  36443 }
  36444 
  36445 /* bcm_flowtracker_meter_info_t_init not dispatchable */
  36446 
  36447 int
  36448 bcm_loop_flowtracker_template_transmit_config_get(
  36449 	int	unit,
  36450 	bcm_flowtracker_export_template_t	template_id,
  36451 	bcm_collector_t	collector_id,
  36452 	bcm_flowtracker_template_transmit_config_t *	config)
  36453 {
  36454 	return bcm_flowtracker_template_transmit_config_get(
  36455 			BCM_CONTROL(unit)->unit,
  36456 			template_id,
  36457 			collector_id,
  36458 			config);
  36459 }
  36460 
  36461 int
  36462 bcm_loop_flowtracker_template_transmit_config_set(
  36463 	int	unit,
  36464 	bcm_flowtracker_export_template_t	template_id,
  36465 	bcm_collector_t	collector_id,
  36466 	bcm_flowtracker_template_transmit_config_t *	config)
  36467 {
  36468 	return bcm_flowtracker_template_transmit_config_set(
  36469 			BCM_CONTROL(unit)->unit,
  36470 			template_id,
  36471 			collector_id,
  36472 			config);
  36473 }
  36474 
  36475 /* bcm_flowtracker_template_transmit_config_t_init not dispatchable */
  36476 
  36477 /* bcm_flowtracker_tracking_param_info_t_init not dispatchable */
  36478 
  36479 int
  36480 bcm_loop_flowtracker_user_entry_add(
  36481 	int	unit,
  36482 	bcm_flowtracker_group_t	flow_group_id,
  36483 	uint32	options,
  36484 	int	num_user_entry_params,
  36485 	bcm_flowtracker_tracking_param_info_t *	user_entry_param_list,
  36486 	bcm_flowtracker_user_entry_handle_t *	entry_handle)
  36487 {
  36488 	return bcm_flowtracker_user_entry_add(
  36489 			BCM_CONTROL(unit)->unit,
  36490 			flow_group_id,
  36491 			options,
  36492 			num_user_entry_params,
  36493 			user_entry_param_list,
  36494 			entry_handle);
  36495 }
  36496 
  36497 int
  36498 bcm_loop_flowtracker_user_entry_delete(
  36499 	int	unit,
  36500 	bcm_flowtracker_group_t	flow_group_id,
  36501 	bcm_flowtracker_user_entry_handle_t *	entry_handle)
  36502 {
  36503 	return bcm_flowtracker_user_entry_delete(
  36504 			BCM_CONTROL(unit)->unit,
  36505 			flow_group_id,
  36506 			entry_handle);
  36507 }
  36508 
  36509 int
  36510 bcm_loop_flowtracker_user_entry_delete_all(
  36511 	int	unit,
  36512 	bcm_flowtracker_group_t	flow_group_id)
  36513 {
  36514 	return bcm_flowtracker_user_entry_delete_all(
  36515 			BCM_CONTROL(unit)->unit,
  36516 			flow_group_id);
  36517 }
  36518 
  36519 int
  36520 bcm_loop_flowtracker_user_entry_get(
  36521 	int	unit,
  36522 	bcm_flowtracker_user_entry_handle_t *	entry_handle,
  36523 	int	num_user_entry_params,
  36524 	bcm_flowtracker_tracking_param_info_t *	user_entry_param_list,
  36525 	int *	actual_user_entry_params)
  36526 {
  36527 	return bcm_flowtracker_user_entry_get(
  36528 			BCM_CONTROL(unit)->unit,
  36529 			entry_handle,
  36530 			num_user_entry_params,
  36531 			user_entry_param_list,
  36532 			actual_user_entry_params);
  36533 }
  36534 
  36535 int
  36536 bcm_loop_flowtracker_user_entry_get_all(
  36537 	int	unit,
  36538 	bcm_flowtracker_group_t	flow_group_id,
  36539 	int	num_user_entry_handles,
  36540 	bcm_flowtracker_user_entry_handle_t *	user_entry_handle_list,
  36541 	int *	actual_user_entry_handles)
  36542 {
  36543 	return bcm_flowtracker_user_entry_get_all(
  36544 			BCM_CONTROL(unit)->unit,
  36545 			flow_group_id,
  36546 			num_user_entry_handles,
  36547 			user_entry_handle_list,
  36548 			actual_user_entry_handles);
  36549 }
  36550 
  36551 /* bcm_flowtracker_user_entry_handle_t_init not dispatchable */
  36552 
  36553 #ifdef	INCLUDE_GDPLL
  36554 
  36555 int
  36556 bcm_loop_gdpll_cb_register(
  36557 	int	unit,
  36558 	int	cb_type,
  36559 	bcm_gdpll_cb	cb,
  36560 	void *	user_data)
  36561 {
  36562 	return bcm_gdpll_cb_register(
  36563 			BCM_CONTROL(unit)->unit,
  36564 			cb_type,
  36565 			cb,
  36566 			user_data);
  36567 }
  36568 
  36569 int
  36570 bcm_loop_gdpll_cb_unregister(
  36571 	int	unit,
  36572 	int	cb_type)
  36573 {
  36574 	return bcm_gdpll_cb_unregister(
  36575 			BCM_CONTROL(unit)->unit,
  36576 			cb_type);
  36577 }
  36578 
  36579 int
  36580 bcm_loop_gdpll_chan_create(
  36581 	int	unit,
  36582 	uint32	flags,
  36583 	bcm_gdpll_chan_t *	gdpll_chan,
  36584 	int *	pChan)
  36585 {
  36586 	return bcm_gdpll_chan_create(
  36587 			BCM_CONTROL(unit)->unit,
  36588 			flags,
  36589 			gdpll_chan,
  36590 			pChan);
  36591 }
  36592 
  36593 int
  36594 bcm_loop_gdpll_chan_debug_enable(
  36595 	int	unit,
  36596 	int	chan,
  36597 	bcm_gdpll_debug_mode_t	debug_mode,
  36598 	int	enable)
  36599 {
  36600 	return bcm_gdpll_chan_debug_enable(
  36601 			BCM_CONTROL(unit)->unit,
  36602 			chan,
  36603 			debug_mode,
  36604 			enable);
  36605 }
  36606 
  36607 int
  36608 bcm_loop_gdpll_chan_destroy(
  36609 	int	unit,
  36610 	int	chan)
  36611 {
  36612 	return bcm_gdpll_chan_destroy(
  36613 			BCM_CONTROL(unit)->unit,
  36614 			chan);
  36615 }
  36616 
  36617 int
  36618 bcm_loop_gdpll_chan_enable(
  36619 	int	unit,
  36620 	int	chan,
  36621 	int	enable)
  36622 {
  36623 	return bcm_gdpll_chan_enable(
  36624 			BCM_CONTROL(unit)->unit,
  36625 			chan,
  36626 			enable);
  36627 }
  36628 
  36629 int
  36630 bcm_loop_gdpll_chan_state_get(
  36631 	int	unit,
  36632 	int	chan,
  36633 	uint32 *	dpllState)
  36634 {
  36635 	return bcm_gdpll_chan_state_get(
  36636 			BCM_CONTROL(unit)->unit,
  36637 			chan,
  36638 			dpllState);
  36639 }
  36640 
  36641 int
  36642 bcm_loop_gdpll_debug(
  36643 	int	unit,
  36644 	int	enable)
  36645 {
  36646 	return bcm_gdpll_debug(
  36647 			BCM_CONTROL(unit)->unit,
  36648 			enable);
  36649 }
  36650 
  36651 int
  36652 bcm_loop_gdpll_debug_cb_register(
  36653 	int	unit,
  36654 	bcm_gdpll_debug_cb	cb,
  36655 	void *	user_data)
  36656 {
  36657 	return bcm_gdpll_debug_cb_register(
  36658 			BCM_CONTROL(unit)->unit,
  36659 			cb,
  36660 			user_data);
  36661 }
  36662 
  36663 int
  36664 bcm_loop_gdpll_flush(
  36665 	int	unit)
  36666 {
  36667 	return bcm_gdpll_flush(
  36668 			BCM_CONTROL(unit)->unit);
  36669 }
  36670 
  36671 #endif	/* INCLUDE_GDPLL */
  36672 
  36673 int
  36674 bcm_loop_gport_stat_get(
  36675 	int	unit,
  36676 	bcm_gport_t	gport,
  36677 	bcm_core_t	core_id,
  36678 	bcm_stat_counter_interface_type_t	engine_source,
  36679 	bcm_stat_pp_info_t *	stat_info)
  36680 {
  36681 	return bcm_gport_stat_get(
  36682 			BCM_CONTROL(unit)->unit,
  36683 			gport,
  36684 			core_id,
  36685 			engine_source,
  36686 			stat_info);
  36687 }
  36688 
  36689 int
  36690 bcm_loop_gport_stat_set(
  36691 	int	unit,
  36692 	bcm_gport_t	gport,
  36693 	bcm_core_t	core_id,
  36694 	bcm_stat_counter_interface_type_t	engine_source,
  36695 	bcm_stat_pp_info_t	stat_info)
  36696 {
  36697 	return bcm_gport_stat_set(
  36698 			BCM_CONTROL(unit)->unit,
  36699 			gport,
  36700 			core_id,
  36701 			engine_source,
  36702 			stat_info);
  36703 }
  36704 
  36705 int
  36706 bcm_loop_hash_flex_bin_add(
  36707 	int	unit,
  36708 	bcm_hash_flex_bin_config_t *	cfg,
  36709 	int	num_bins,
  36710 	bcm_hash_flex_bin_cmd_t *	bin_cmd,
  36711 	int	num_fields,
  36712 	bcm_hash_flex_field_t *	flex_field)
  36713 {
  36714 	return bcm_hash_flex_bin_add(
  36715 			BCM_CONTROL(unit)->unit,
  36716 			cfg,
  36717 			num_bins,
  36718 			bin_cmd,
  36719 			num_fields,
  36720 			flex_field);
  36721 }
  36722 
  36723 /* bcm_hash_flex_bin_config_t_init not dispatchable */
  36724 
  36725 int
  36726 bcm_loop_hash_flex_bin_delete(
  36727 	int	unit,
  36728 	int	entry_id)
  36729 {
  36730 	return bcm_hash_flex_bin_delete(
  36731 			BCM_CONTROL(unit)->unit,
  36732 			entry_id);
  36733 }
  36734 
  36735 int
  36736 bcm_loop_hash_flex_bin_delete_all(
  36737 	int	unit)
  36738 {
  36739 	return bcm_hash_flex_bin_delete_all(
  36740 			BCM_CONTROL(unit)->unit);
  36741 }
  36742 
  36743 int
  36744 bcm_loop_hash_flex_bin_get(
  36745 	int	unit,
  36746 	bcm_hash_flex_bin_config_t *	cfg,
  36747 	int	num_bins,
  36748 	bcm_hash_flex_bin_cmd_t *	bin_cmd,
  36749 	int	num_fields,
  36750 	bcm_hash_flex_field_t *	flex_field)
  36751 {
  36752 	return bcm_hash_flex_bin_get(
  36753 			BCM_CONTROL(unit)->unit,
  36754 			cfg,
  36755 			num_bins,
  36756 			bin_cmd,
  36757 			num_fields,
  36758 			flex_field);
  36759 }
  36760 
  36761 int
  36762 bcm_loop_hash_flex_bin_traverse(
  36763 	int	unit,
  36764 	uint32	option,
  36765 	bcm_hash_flex_bin_traverse_cb	cb,
  36766 	void *	user_data)
  36767 {
  36768 	return bcm_hash_flex_bin_traverse(
  36769 			BCM_CONTROL(unit)->unit,
  36770 			option,
  36771 			cb,
  36772 			user_data);
  36773 }
  36774 
  36775 int
  36776 bcm_loop_hash_flex_field_id_get(
  36777 	int	unit,
  36778 	bcm_hash_flex_object_t	object,
  36779 	const char *	field_name,
  36780 	uint32 *	field_id)
  36781 {
  36782 	return bcm_hash_flex_field_id_get(
  36783 			BCM_CONTROL(unit)->unit,
  36784 			object,
  36785 			field_name,
  36786 			field_id);
  36787 }
  36788 
  36789 int
  36790 bcm_loop_hash_flex_field_name_get(
  36791 	int	unit,
  36792 	uint32	field_id,
  36793 	bcm_hash_flex_object_t *	object,
  36794 	int	size,
  36795 	char *	field_name)
  36796 {
  36797 	return bcm_hash_flex_field_name_get(
  36798 			BCM_CONTROL(unit)->unit,
  36799 			field_id,
  36800 			object,
  36801 			size,
  36802 			field_name);
  36803 }
  36804 
  36805 int
  36806 bcm_loop_hash_init(
  36807 	int	unit)
  36808 {
  36809 	return bcm_hash_init(
  36810 			BCM_CONTROL(unit)->unit);
  36811 }
  36812 
  36813 #ifdef	INCLUDE_I2C
  36814 
  36815 int
  36816 bcm_loop_i2c_ioctl(
  36817 	int	unit,
  36818 	int	fd,
  36819 	int	opcode,
  36820 	void *	data,
  36821 	int	len)
  36822 {
  36823 	return bcm_i2c_ioctl(
  36824 			BCM_CONTROL(unit)->unit,
  36825 			fd,
  36826 			opcode,
  36827 			data,
  36828 			len);
  36829 }
  36830 
  36831 int
  36832 bcm_loop_i2c_open(
  36833 	int	unit,
  36834 	char *	devname,
  36835 	uint32	flags,
  36836 	int	speed)
  36837 {
  36838 	return bcm_i2c_open(
  36839 			BCM_CONTROL(unit)->unit,
  36840 			devname,
  36841 			flags,
  36842 			speed);
  36843 }
  36844 
  36845 int
  36846 bcm_loop_i2c_read(
  36847 	int	unit,
  36848 	int	fd,
  36849 	uint32	addr,
  36850 	uint8 *	data,
  36851 	uint32 *	nbytes)
  36852 {
  36853 	return bcm_i2c_read(
  36854 			BCM_CONTROL(unit)->unit,
  36855 			fd,
  36856 			addr,
  36857 			data,
  36858 			nbytes);
  36859 }
  36860 
  36861 int
  36862 bcm_loop_i2c_write(
  36863 	int	unit,
  36864 	int	fd,
  36865 	uint32	addr,
  36866 	uint8 *	data,
  36867 	uint32	nbytes)
  36868 {
  36869 	return bcm_i2c_write(
  36870 			BCM_CONTROL(unit)->unit,
  36871 			fd,
  36872 			addr,
  36873 			data,
  36874 			nbytes);
  36875 }
  36876 
  36877 #endif	/* INCLUDE_I2C */
  36878 
  36879 int
  36880 bcm_loop_ifa_collector_get(
  36881 	int	unit,
  36882 	bcm_ifa_collector_info_t *	collector_info)
  36883 {
  36884 	return bcm_ifa_collector_get(
  36885 			BCM_CONTROL(unit)->unit,
  36886 			collector_info);
  36887 }
  36888 
  36889 /* bcm_ifa_collector_info_t_init not dispatchable */
  36890 
  36891 int
  36892 bcm_loop_ifa_collector_set(
  36893 	int	unit,
  36894 	uint32	options,
  36895 	bcm_ifa_collector_info_t *	collector_info)
  36896 {
  36897 	return bcm_ifa_collector_set(
  36898 			BCM_CONTROL(unit)->unit,
  36899 			options,
  36900 			collector_info);
  36901 }
  36902 
  36903 int
  36904 bcm_loop_ifa_config_info_get(
  36905 	int	unit,
  36906 	bcm_ifa_config_info_t *	config_data)
  36907 {
  36908 	return bcm_ifa_config_info_get(
  36909 			BCM_CONTROL(unit)->unit,
  36910 			config_data);
  36911 }
  36912 
  36913 int
  36914 bcm_loop_ifa_config_info_set(
  36915 	int	unit,
  36916 	uint32	options,
  36917 	bcm_ifa_config_info_t *	config_data)
  36918 {
  36919 	return bcm_ifa_config_info_set(
  36920 			BCM_CONTROL(unit)->unit,
  36921 			options,
  36922 			config_data);
  36923 }
  36924 
  36925 /* bcm_ifa_config_info_t_init not dispatchable */
  36926 
  36927 int
  36928 bcm_loop_ifa_detach(
  36929 	int	unit)
  36930 {
  36931 	return bcm_ifa_detach(
  36932 			BCM_CONTROL(unit)->unit);
  36933 }
  36934 
  36935 int
  36936 bcm_loop_ifa_init(
  36937 	int	unit)
  36938 {
  36939 	return bcm_ifa_init(
  36940 			BCM_CONTROL(unit)->unit);
  36941 }
  36942 
  36943 int
  36944 bcm_loop_ifa_stat_info_get(
  36945 	int	unit,
  36946 	bcm_ifa_stat_info_t *	stat_data)
  36947 {
  36948 	return bcm_ifa_stat_info_get(
  36949 			BCM_CONTROL(unit)->unit,
  36950 			stat_data);
  36951 }
  36952 
  36953 int
  36954 bcm_loop_ifa_stat_info_set(
  36955 	int	unit,
  36956 	bcm_ifa_stat_info_t *	stat_data)
  36957 {
  36958 	return bcm_ifa_stat_info_set(
  36959 			BCM_CONTROL(unit)->unit,
  36960 			stat_data);
  36961 }
  36962 
  36963 int
  36964 bcm_loop_info_get(
  36965 	int	unit,
  36966 	bcm_info_t *	info)
  36967 {
  36968 	return bcm_info_get(
  36969 			BCM_CONTROL(unit)->unit,
  36970 			info);
  36971 }
  36972 
  36973 /* bcm_info_t_init not dispatchable */
  36974 
  36975 int
  36976 bcm_loop_init(
  36977 	int	unit)
  36978 {
  36979 	return bcm_init(
  36980 			BCM_CONTROL(unit)->unit);
  36981 }
  36982 
  36983 int
  36984 bcm_loop_init_advanced(
  36985 	int	unit,
  36986 	bcm_init_advanced_info_t *	init_advanced_info)
  36987 {
  36988 	return bcm_init_advanced(
  36989 			BCM_CONTROL(unit)->unit,
  36990 			init_advanced_info);
  36991 }
  36992 
  36993 int
  36994 bcm_loop_init_check(
  36995 	int	unit)
  36996 {
  36997 	return bcm_init_check(
  36998 			BCM_CONTROL(unit)->unit);
  36999 }
  37000 
  37001 int
  37002 bcm_loop_init_selective(
  37003 	int	unit,
  37004 	uint32	flags)
  37005 {
  37006 	return bcm_init_selective(
  37007 			BCM_CONTROL(unit)->unit,
  37008 			flags);
  37009 }
  37010 
  37011 int
  37012 bcm_loop_instru_control_get(
  37013 	int	unit,
  37014 	uint32	flags,
  37015 	bcm_instru_control_t	type,
  37016 	int *	arg)
  37017 {
  37018 	return bcm_instru_control_get(
  37019 			BCM_CONTROL(unit)->unit,
  37020 			flags,
  37021 			type,
  37022 			arg);
  37023 }
  37024 
  37025 int
  37026 bcm_loop_instru_control_set(
  37027 	int	unit,
  37028 	uint32	flags,
  37029 	bcm_instru_control_t	type,
  37030 	int	arg)
  37031 {
  37032 	return bcm_instru_control_set(
  37033 			BCM_CONTROL(unit)->unit,
  37034 			flags,
  37035 			type,
  37036 			arg);
  37037 }
  37038 
  37039 int
  37040 bcm_loop_instru_eventor_active_get(
  37041 	int	unit,
  37042 	uint32	flags,
  37043 	int *	out_active)
  37044 {
  37045 	return bcm_instru_eventor_active_get(
  37046 			BCM_CONTROL(unit)->unit,
  37047 			flags,
  37048 			out_active);
  37049 }
  37050 
  37051 int
  37052 bcm_loop_instru_eventor_active_set(
  37053 	int	unit,
  37054 	uint32	flags,
  37055 	int	active)
  37056 {
  37057 	return bcm_instru_eventor_active_set(
  37058 			BCM_CONTROL(unit)->unit,
  37059 			flags,
  37060 			active);
  37061 }
  37062 
  37063 int
  37064 bcm_loop_instru_eventor_builder_get(
  37065 	int	unit,
  37066 	uint32	flags,
  37067 	bcm_eventor_builder_id_t	builder,
  37068 	bcm_instru_eventor_builder_conf_t *	out_conf)
  37069 {
  37070 	return bcm_instru_eventor_builder_get(
  37071 			BCM_CONTROL(unit)->unit,
  37072 			flags,
  37073 			builder,
  37074 			out_conf);
  37075 }
  37076 
  37077 int
  37078 bcm_loop_instru_eventor_builder_set(
  37079 	int	unit,
  37080 	uint32	flags,
  37081 	bcm_eventor_builder_id_t	builder,
  37082 	bcm_instru_eventor_builder_conf_t *	conf)
  37083 {
  37084 	return bcm_instru_eventor_builder_set(
  37085 			BCM_CONTROL(unit)->unit,
  37086 			flags,
  37087 			builder,
  37088 			conf);
  37089 }
  37090 
  37091 int
  37092 bcm_loop_instru_eventor_context_get(
  37093 	int	unit,
  37094 	uint32	flags,
  37095 	bcm_eventor_context_id_t	context,
  37096 	bcm_eventor_context_type_t	context_type,
  37097 	bcm_instru_eventor_context_conf_t *	out_conf)
  37098 {
  37099 	return bcm_instru_eventor_context_get(
  37100 			BCM_CONTROL(unit)->unit,
  37101 			flags,
  37102 			context,
  37103 			context_type,
  37104 			out_conf);
  37105 }
  37106 
  37107 int
  37108 bcm_loop_instru_eventor_context_set(
  37109 	int	unit,
  37110 	uint32	flags,
  37111 	bcm_eventor_context_id_t	context,
  37112 	bcm_eventor_context_type_t	context_type,
  37113 	bcm_instru_eventor_context_conf_t *	conf)
  37114 {
  37115 	return bcm_instru_eventor_context_set(
  37116 			BCM_CONTROL(unit)->unit,
  37117 			flags,
  37118 			context,
  37119 			context_type,
  37120 			conf);
  37121 }
  37122 
  37123 int
  37124 bcm_loop_instru_gport_control_get(
  37125 	int	unit,
  37126 	bcm_gport_t	gport,
  37127 	uint32	flags,
  37128 	bcm_instru_gport_control_t	type,
  37129 	int *	arg)
  37130 {
  37131 	return bcm_instru_gport_control_get(
  37132 			BCM_CONTROL(unit)->unit,
  37133 			gport,
  37134 			flags,
  37135 			type,
  37136 			arg);
  37137 }
  37138 
  37139 int
  37140 bcm_loop_instru_gport_control_set(
  37141 	int	unit,
  37142 	bcm_gport_t	gport,
  37143 	uint32	flags,
  37144 	bcm_instru_gport_control_t	type,
  37145 	int	arg)
  37146 {
  37147 	return bcm_instru_gport_control_set(
  37148 			BCM_CONTROL(unit)->unit,
  37149 			gport,
  37150 			flags,
  37151 			type,
  37152 			arg);
  37153 }
  37154 
  37155 int
  37156 bcm_loop_instru_ipt_profile_get(
  37157 	int	unit,
  37158 	uint32	flags,
  37159 	int	ipt_profile,
  37160 	bcm_instru_ipt_t *	config)
  37161 {
  37162 	return bcm_instru_ipt_profile_get(
  37163 			BCM_CONTROL(unit)->unit,
  37164 			flags,
  37165 			ipt_profile,
  37166 			config);
  37167 }
  37168 
  37169 int
  37170 bcm_loop_instru_ipt_profile_set(
  37171 	int	unit,
  37172 	uint32	flags,
  37173 	int	ipt_profile,
  37174 	bcm_instru_ipt_t *	config)
  37175 {
  37176 	return bcm_instru_ipt_profile_set(
  37177 			BCM_CONTROL(unit)->unit,
  37178 			flags,
  37179 			ipt_profile,
  37180 			config);
  37181 }
  37182 
  37183 /* bcm_instru_ipt_t_init not dispatchable */
  37184 
  37185 int
  37186 bcm_loop_instru_sflow_encap_create(
  37187 	int	unit,
  37188 	bcm_instru_sflow_encap_info_t *	sflow_encap_info)
  37189 {
  37190 	return bcm_instru_sflow_encap_create(
  37191 			BCM_CONTROL(unit)->unit,
  37192 			sflow_encap_info);
  37193 }
  37194 
  37195 int
  37196 bcm_loop_instru_sflow_encap_delete(
  37197 	int	unit,
  37198 	bcm_instru_sflow_encap_info_t *	sflow_encap_info)
  37199 {
  37200 	return bcm_instru_sflow_encap_delete(
  37201 			BCM_CONTROL(unit)->unit,
  37202 			sflow_encap_info);
  37203 }
  37204 
  37205 int
  37206 bcm_loop_instru_sflow_encap_get(
  37207 	int	unit,
  37208 	bcm_instru_sflow_encap_info_t *	sflow_encap_info)
  37209 {
  37210 	return bcm_instru_sflow_encap_get(
  37211 			BCM_CONTROL(unit)->unit,
  37212 			sflow_encap_info);
  37213 }
  37214 
  37215 int
  37216 bcm_loop_instru_sflow_encap_traverse(
  37217 	int	unit,
  37218 	bcm_instru_sflow_encap_traverse_cb	cb,
  37219 	void *	user_data)
  37220 {
  37221 	return bcm_instru_sflow_encap_traverse(
  37222 			BCM_CONTROL(unit)->unit,
  37223 			cb,
  37224 			user_data);
  37225 }
  37226 
  37227 int
  37228 bcm_loop_instru_vis_mode_get(
  37229 	int	unit,
  37230 	bcm_vis_mode_t *	mode)
  37231 {
  37232 	return bcm_instru_vis_mode_get(
  37233 			BCM_CONTROL(unit)->unit,
  37234 			mode);
  37235 }
  37236 
  37237 int
  37238 bcm_loop_instru_vis_mode_set(
  37239 	int	unit,
  37240 	bcm_vis_mode_t	mode)
  37241 {
  37242 	return bcm_instru_vis_mode_set(
  37243 			BCM_CONTROL(unit)->unit,
  37244 			mode);
  37245 }
  37246 
  37247 #ifdef	INCLUDE_INT
  37248 
  37249 int
  37250 bcm_loop_int_detach(
  37251 	int	unit)
  37252 {
  37253 	return bcm_int_detach(
  37254 			BCM_CONTROL(unit)->unit);
  37255 }
  37256 
  37257 int
  37258 bcm_loop_int_init(
  37259 	int	unit)
  37260 {
  37261 	return bcm_int_init(
  37262 			BCM_CONTROL(unit)->unit);
  37263 }
  37264 
  37265 int
  37266 bcm_loop_int_turnaround_config_get(
  37267 	int	unit,
  37268 	bcm_int_turnaround_config_t *	config_data)
  37269 {
  37270 	return bcm_int_turnaround_config_get(
  37271 			BCM_CONTROL(unit)->unit,
  37272 			config_data);
  37273 }
  37274 
  37275 int
  37276 bcm_loop_int_turnaround_config_set(
  37277 	int	unit,
  37278 	bcm_int_turnaround_config_t *	config_data)
  37279 {
  37280 	return bcm_int_turnaround_config_set(
  37281 			BCM_CONTROL(unit)->unit,
  37282 			config_data);
  37283 }
  37284 
  37285 /* bcm_int_turnaround_config_t_init not dispatchable */
  37286 
  37287 int
  37288 bcm_loop_int_turnaround_stat_get(
  37289 	int	unit,
  37290 	bcm_int_turnaround_stat_t *	stat_data)
  37291 {
  37292 	return bcm_int_turnaround_stat_get(
  37293 			BCM_CONTROL(unit)->unit,
  37294 			stat_data);
  37295 }
  37296 
  37297 /* bcm_ip6_mask_create not dispatchable */
  37298 
  37299 /* bcm_ip6_mask_length not dispatchable */
  37300 
  37301 /* bcm_ip_mask_create not dispatchable */
  37302 
  37303 /* bcm_ip_mask_length not dispatchable */
  37304 
  37305 #endif	/* INCLUDE_INT */
  37306 
  37307 int
  37308 bcm_loop_ipfix_config_get(
  37309 	int	unit,
  37310 	bcm_ipfix_stage_t	stage,
  37311 	bcm_port_t	port,
  37312 	bcm_ipfix_config_t *	config)
  37313 {
  37314 	return bcm_ipfix_config_get(
  37315 			BCM_CONTROL(unit)->unit,
  37316 			stage,
  37317 			port,
  37318 			config);
  37319 }
  37320 
  37321 int
  37322 bcm_loop_ipfix_config_set(
  37323 	int	unit,
  37324 	bcm_ipfix_stage_t	stage,
  37325 	bcm_port_t	port,
  37326 	bcm_ipfix_config_t *	config)
  37327 {
  37328 	return bcm_ipfix_config_set(
  37329 			BCM_CONTROL(unit)->unit,
  37330 			stage,
  37331 			port,
  37332 			config);
  37333 }
  37334 
  37335 /* bcm_ipfix_config_t_init not dispatchable */
  37336 
  37337 int
  37338 bcm_loop_ipfix_mirror_config_get(
  37339 	int	unit,
  37340 	bcm_ipfix_stage_t	stage,
  37341 	bcm_gport_t	port,
  37342 	bcm_ipfix_mirror_config_t *	config)
  37343 {
  37344 	return bcm_ipfix_mirror_config_get(
  37345 			BCM_CONTROL(unit)->unit,
  37346 			stage,
  37347 			port,
  37348 			config);
  37349 }
  37350 
  37351 int
  37352 bcm_loop_ipfix_mirror_config_set(
  37353 	int	unit,
  37354 	bcm_ipfix_stage_t	stage,
  37355 	bcm_gport_t	port,
  37356 	bcm_ipfix_mirror_config_t *	config)
  37357 {
  37358 	return bcm_ipfix_mirror_config_set(
  37359 			BCM_CONTROL(unit)->unit,
  37360 			stage,
  37361 			port,
  37362 			config);
  37363 }
  37364 
  37365 /* bcm_ipfix_mirror_config_t_init not dispatchable */
  37366 
  37367 int
  37368 bcm_loop_ipfix_mirror_port_dest_add(
  37369 	int	unit,
  37370 	bcm_ipfix_stage_t	stage,
  37371 	bcm_gport_t	port,
  37372 	bcm_gport_t	mirror_dest_id)
  37373 {
  37374 	return bcm_ipfix_mirror_port_dest_add(
  37375 			BCM_CONTROL(unit)->unit,
  37376 			stage,
  37377 			port,
  37378 			mirror_dest_id);
  37379 }
  37380 
  37381 int
  37382 bcm_loop_ipfix_mirror_port_dest_delete(
  37383 	int	unit,
  37384 	bcm_ipfix_stage_t	stage,
  37385 	bcm_gport_t	port,
  37386 	bcm_gport_t	mirror_dest_id)
  37387 {
  37388 	return bcm_ipfix_mirror_port_dest_delete(
  37389 			BCM_CONTROL(unit)->unit,
  37390 			stage,
  37391 			port,
  37392 			mirror_dest_id);
  37393 }
  37394 
  37395 int
  37396 bcm_loop_ipfix_mirror_port_dest_delete_all(
  37397 	int	unit,
  37398 	bcm_ipfix_stage_t	stage,
  37399 	bcm_gport_t	port)
  37400 {
  37401 	return bcm_ipfix_mirror_port_dest_delete_all(
  37402 			BCM_CONTROL(unit)->unit,
  37403 			stage,
  37404 			port);
  37405 }
  37406 
  37407 int
  37408 bcm_loop_ipfix_mirror_port_dest_get(
  37409 	int	unit,
  37410 	bcm_ipfix_stage_t	stage,
  37411 	bcm_gport_t	port,
  37412 	int	mirror_dest_size,
  37413 	bcm_gport_t *	mirror_dest_id,
  37414 	int *	mirror_dest_count)
  37415 {
  37416 	return bcm_ipfix_mirror_port_dest_get(
  37417 			BCM_CONTROL(unit)->unit,
  37418 			stage,
  37419 			port,
  37420 			mirror_dest_size,
  37421 			mirror_dest_id,
  37422 			mirror_dest_count);
  37423 }
  37424 
  37425 int
  37426 bcm_loop_ipfix_rate_create(
  37427 	int	unit,
  37428 	bcm_ipfix_rate_t *	rate_info)
  37429 {
  37430 	return bcm_ipfix_rate_create(
  37431 			BCM_CONTROL(unit)->unit,
  37432 			rate_info);
  37433 }
  37434 
  37435 int
  37436 bcm_loop_ipfix_rate_destroy(
  37437 	int	unit,
  37438 	bcm_ipfix_rate_id_t	rate_id)
  37439 {
  37440 	return bcm_ipfix_rate_destroy(
  37441 			BCM_CONTROL(unit)->unit,
  37442 			rate_id);
  37443 }
  37444 
  37445 int
  37446 bcm_loop_ipfix_rate_destroy_all(
  37447 	int	unit)
  37448 {
  37449 	return bcm_ipfix_rate_destroy_all(
  37450 			BCM_CONTROL(unit)->unit);
  37451 }
  37452 
  37453 int
  37454 bcm_loop_ipfix_rate_get(
  37455 	int	unit,
  37456 	bcm_ipfix_rate_t *	rate_info)
  37457 {
  37458 	return bcm_ipfix_rate_get(
  37459 			BCM_CONTROL(unit)->unit,
  37460 			rate_info);
  37461 }
  37462 
  37463 int
  37464 bcm_loop_ipfix_rate_mirror_add(
  37465 	int	unit,
  37466 	bcm_ipfix_rate_id_t	rate_id,
  37467 	bcm_gport_t	mirror_dest_id)
  37468 {
  37469 	return bcm_ipfix_rate_mirror_add(
  37470 			BCM_CONTROL(unit)->unit,
  37471 			rate_id,
  37472 			mirror_dest_id);
  37473 }
  37474 
  37475 int
  37476 bcm_loop_ipfix_rate_mirror_delete(
  37477 	int	unit,
  37478 	bcm_ipfix_rate_id_t	rate_id,
  37479 	bcm_gport_t	mirror_dest_id)
  37480 {
  37481 	return bcm_ipfix_rate_mirror_delete(
  37482 			BCM_CONTROL(unit)->unit,
  37483 			rate_id,
  37484 			mirror_dest_id);
  37485 }
  37486 
  37487 int
  37488 bcm_loop_ipfix_rate_mirror_delete_all(
  37489 	int	unit,
  37490 	bcm_ipfix_rate_id_t	rate_id)
  37491 {
  37492 	return bcm_ipfix_rate_mirror_delete_all(
  37493 			BCM_CONTROL(unit)->unit,
  37494 			rate_id);
  37495 }
  37496 
  37497 int
  37498 bcm_loop_ipfix_rate_mirror_get(
  37499 	int	unit,
  37500 	bcm_ipfix_rate_id_t	rate_id,
  37501 	int	mirror_dest_size,
  37502 	bcm_gport_t *	mirror_dest_id,
  37503 	int *	mirror_dest_count)
  37504 {
  37505 	return bcm_ipfix_rate_mirror_get(
  37506 			BCM_CONTROL(unit)->unit,
  37507 			rate_id,
  37508 			mirror_dest_size,
  37509 			mirror_dest_id,
  37510 			mirror_dest_count);
  37511 }
  37512 
  37513 /* bcm_ipfix_rate_t_init not dispatchable */
  37514 
  37515 int
  37516 bcm_loop_ipfix_rate_traverse(
  37517 	int	unit,
  37518 	bcm_ipfix_rate_traverse_cb	cb,
  37519 	void *	userdata)
  37520 {
  37521 	return bcm_ipfix_rate_traverse(
  37522 			BCM_CONTROL(unit)->unit,
  37523 			cb,
  37524 			userdata);
  37525 }
  37526 
  37527 int
  37528 bcm_loop_ipfix_register(
  37529 	int	unit,
  37530 	bcm_ipfix_callback_t	callback,
  37531 	void *	userdata)
  37532 {
  37533 	return bcm_ipfix_register(
  37534 			BCM_CONTROL(unit)->unit,
  37535 			callback,
  37536 			userdata);
  37537 }
  37538 
  37539 int
  37540 bcm_loop_ipfix_unregister(
  37541 	int	unit,
  37542 	bcm_ipfix_callback_t	callback,
  37543 	void *	userdata)
  37544 {
  37545 	return bcm_ipfix_unregister(
  37546 			BCM_CONTROL(unit)->unit,
  37547 			callback,
  37548 			userdata);
  37549 }
  37550 
  37551 #ifdef	INCLUDE_L3
  37552 
  37553 int
  37554 bcm_loop_ipmc_add(
  37555 	int	unit,
  37556 	bcm_ipmc_addr_t *	data)
  37557 {
  37558 	return bcm_ipmc_add(
  37559 			BCM_CONTROL(unit)->unit,
  37560 			data);
  37561 }
  37562 
  37563 /* bcm_ipmc_addr_t_init not dispatchable */
  37564 
  37565 int
  37566 bcm_loop_ipmc_age(
  37567 	int	unit,
  37568 	uint32	flags,
  37569 	bcm_ipmc_traverse_cb	age_cb,
  37570 	void *	user_data)
  37571 {
  37572 	return bcm_ipmc_age(
  37573 			BCM_CONTROL(unit)->unit,
  37574 			flags,
  37575 			age_cb,
  37576 			user_data);
  37577 }
  37578 
  37579 int
  37580 bcm_loop_ipmc_bitmap_del(
  37581 	int	unit,
  37582 	int	ipmc_idx,
  37583 	bcm_port_t	port,
  37584 	bcm_pbmp_t	pbmp)
  37585 {
  37586 	return bcm_ipmc_bitmap_del(
  37587 			BCM_CONTROL(unit)->unit,
  37588 			ipmc_idx,
  37589 			port,
  37590 			pbmp);
  37591 }
  37592 
  37593 int
  37594 bcm_loop_ipmc_bitmap_get(
  37595 	int	unit,
  37596 	int	ipmc_idx,
  37597 	bcm_port_t	port,
  37598 	bcm_pbmp_t *	pbmp)
  37599 {
  37600 	return bcm_ipmc_bitmap_get(
  37601 			BCM_CONTROL(unit)->unit,
  37602 			ipmc_idx,
  37603 			port,
  37604 			pbmp);
  37605 }
  37606 
  37607 int
  37608 bcm_loop_ipmc_bitmap_max_get(
  37609 	int	unit,
  37610 	int *	max_index)
  37611 {
  37612 	return bcm_ipmc_bitmap_max_get(
  37613 			BCM_CONTROL(unit)->unit,
  37614 			max_index);
  37615 }
  37616 
  37617 int
  37618 bcm_loop_ipmc_bitmap_set(
  37619 	int	unit,
  37620 	int	ipmc_idx,
  37621 	bcm_port_t	port,
  37622 	bcm_pbmp_t	pbmp)
  37623 {
  37624 	return bcm_ipmc_bitmap_set(
  37625 			BCM_CONTROL(unit)->unit,
  37626 			ipmc_idx,
  37627 			port,
  37628 			pbmp);
  37629 }
  37630 
  37631 int
  37632 bcm_loop_ipmc_counters_get(
  37633 	int	unit,
  37634 	bcm_port_t	port,
  37635 	bcm_ipmc_counters_t *	counters)
  37636 {
  37637 	return bcm_ipmc_counters_get(
  37638 			BCM_CONTROL(unit)->unit,
  37639 			port,
  37640 			counters);
  37641 }
  37642 
  37643 /* bcm_ipmc_counters_t_init not dispatchable */
  37644 
  37645 int
  37646 bcm_loop_ipmc_detach(
  37647 	int	unit)
  37648 {
  37649 	return bcm_ipmc_detach(
  37650 			BCM_CONTROL(unit)->unit);
  37651 }
  37652 
  37653 int
  37654 bcm_loop_ipmc_egress_port_get(
  37655 	int	unit,
  37656 	bcm_port_t	port,
  37657 	bcm_mac_t	mac,
  37658 	int *	untag,
  37659 	bcm_vlan_t *	vid,
  37660 	int *	ttl_threshold)
  37661 {
  37662 	return bcm_ipmc_egress_port_get(
  37663 			BCM_CONTROL(unit)->unit,
  37664 			port,
  37665 			mac,
  37666 			untag,
  37667 			vid,
  37668 			ttl_threshold);
  37669 }
  37670 
  37671 int
  37672 bcm_loop_ipmc_egress_port_init(
  37673 	int	unit)
  37674 {
  37675 	return bcm_ipmc_egress_port_init(
  37676 			BCM_CONTROL(unit)->unit);
  37677 }
  37678 
  37679 int
  37680 bcm_loop_ipmc_egress_port_set(
  37681 	int	unit,
  37682 	bcm_port_t	port,
  37683 	const bcm_mac_t	mac,
  37684 	int	untag,
  37685 	bcm_vlan_t	vid,
  37686 	int	ttl_threshold)
  37687 {
  37688 	return bcm_ipmc_egress_port_set(
  37689 			BCM_CONTROL(unit)->unit,
  37690 			port,
  37691 			mac,
  37692 			untag,
  37693 			vid,
  37694 			ttl_threshold);
  37695 }
  37696 
  37697 int
  37698 bcm_loop_ipmc_enable(
  37699 	int	unit,
  37700 	int	enable)
  37701 {
  37702 	return bcm_ipmc_enable(
  37703 			BCM_CONTROL(unit)->unit,
  37704 			enable);
  37705 }
  37706 
  37707 int
  37708 bcm_loop_ipmc_find(
  37709 	int	unit,
  37710 	bcm_ipmc_addr_t *	data)
  37711 {
  37712 	return bcm_ipmc_find(
  37713 			BCM_CONTROL(unit)->unit,
  37714 			data);
  37715 }
  37716 
  37717 int
  37718 bcm_loop_ipmc_init(
  37719 	int	unit)
  37720 {
  37721 	return bcm_ipmc_init(
  37722 			BCM_CONTROL(unit)->unit);
  37723 }
  37724 
  37725 int
  37726 bcm_loop_ipmc_range_add(
  37727 	int	unit,
  37728 	int *	range_id,
  37729 	bcm_ipmc_range_t *	range)
  37730 {
  37731 	return bcm_ipmc_range_add(
  37732 			BCM_CONTROL(unit)->unit,
  37733 			range_id,
  37734 			range);
  37735 }
  37736 
  37737 int
  37738 bcm_loop_ipmc_range_delete(
  37739 	int	unit,
  37740 	int	range_id)
  37741 {
  37742 	return bcm_ipmc_range_delete(
  37743 			BCM_CONTROL(unit)->unit,
  37744 			range_id);
  37745 }
  37746 
  37747 int
  37748 bcm_loop_ipmc_range_delete_all(
  37749 	int	unit)
  37750 {
  37751 	return bcm_ipmc_range_delete_all(
  37752 			BCM_CONTROL(unit)->unit);
  37753 }
  37754 
  37755 int
  37756 bcm_loop_ipmc_range_get(
  37757 	int	unit,
  37758 	int	range_id,
  37759 	bcm_ipmc_range_t *	range)
  37760 {
  37761 	return bcm_ipmc_range_get(
  37762 			BCM_CONTROL(unit)->unit,
  37763 			range_id,
  37764 			range);
  37765 }
  37766 
  37767 int
  37768 bcm_loop_ipmc_range_size_get(
  37769 	int	unit,
  37770 	int *	size)
  37771 {
  37772 	return bcm_ipmc_range_size_get(
  37773 			BCM_CONTROL(unit)->unit,
  37774 			size);
  37775 }
  37776 
  37777 /* bcm_ipmc_range_t_init not dispatchable */
  37778 
  37779 int
  37780 bcm_loop_ipmc_remove(
  37781 	int	unit,
  37782 	bcm_ipmc_addr_t *	data)
  37783 {
  37784 	return bcm_ipmc_remove(
  37785 			BCM_CONTROL(unit)->unit,
  37786 			data);
  37787 }
  37788 
  37789 int
  37790 bcm_loop_ipmc_remove_all(
  37791 	int	unit)
  37792 {
  37793 	return bcm_ipmc_remove_all(
  37794 			BCM_CONTROL(unit)->unit);
  37795 }
  37796 
  37797 int
  37798 bcm_loop_ipmc_rp_add(
  37799 	int	unit,
  37800 	int	rp_id,
  37801 	bcm_if_t	intf_id)
  37802 {
  37803 	return bcm_ipmc_rp_add(
  37804 			BCM_CONTROL(unit)->unit,
  37805 			rp_id,
  37806 			intf_id);
  37807 }
  37808 
  37809 int
  37810 bcm_loop_ipmc_rp_create(
  37811 	int	unit,
  37812 	uint32	flags,
  37813 	int *	rp_id)
  37814 {
  37815 	return bcm_ipmc_rp_create(
  37816 			BCM_CONTROL(unit)->unit,
  37817 			flags,
  37818 			rp_id);
  37819 }
  37820 
  37821 int
  37822 bcm_loop_ipmc_rp_delete(
  37823 	int	unit,
  37824 	int	rp_id,
  37825 	bcm_if_t	intf_id)
  37826 {
  37827 	return bcm_ipmc_rp_delete(
  37828 			BCM_CONTROL(unit)->unit,
  37829 			rp_id,
  37830 			intf_id);
  37831 }
  37832 
  37833 int
  37834 bcm_loop_ipmc_rp_delete_all(
  37835 	int	unit,
  37836 	int	rp_id)
  37837 {
  37838 	return bcm_ipmc_rp_delete_all(
  37839 			BCM_CONTROL(unit)->unit,
  37840 			rp_id);
  37841 }
  37842 
  37843 int
  37844 bcm_loop_ipmc_rp_destroy(
  37845 	int	unit,
  37846 	int	rp_id)
  37847 {
  37848 	return bcm_ipmc_rp_destroy(
  37849 			BCM_CONTROL(unit)->unit,
  37850 			rp_id);
  37851 }
  37852 
  37853 int
  37854 bcm_loop_ipmc_rp_get(
  37855 	int	unit,
  37856 	int	rp_id,
  37857 	int	intf_max,
  37858 	bcm_if_t *	intf_array,
  37859 	int *	intf_count)
  37860 {
  37861 	return bcm_ipmc_rp_get(
  37862 			BCM_CONTROL(unit)->unit,
  37863 			rp_id,
  37864 			intf_max,
  37865 			intf_array,
  37866 			intf_count);
  37867 }
  37868 
  37869 int
  37870 bcm_loop_ipmc_rp_set(
  37871 	int	unit,
  37872 	int	rp_id,
  37873 	int	intf_count,
  37874 	bcm_if_t *	intf_array)
  37875 {
  37876 	return bcm_ipmc_rp_set(
  37877 			BCM_CONTROL(unit)->unit,
  37878 			rp_id,
  37879 			intf_count,
  37880 			intf_array);
  37881 }
  37882 
  37883 int
  37884 bcm_loop_ipmc_stat_attach(
  37885 	int	unit,
  37886 	bcm_ipmc_addr_t *	info,
  37887 	uint32	stat_counter_id)
  37888 {
  37889 	return bcm_ipmc_stat_attach(
  37890 			BCM_CONTROL(unit)->unit,
  37891 			info,
  37892 			stat_counter_id);
  37893 }
  37894 
  37895 int
  37896 bcm_loop_ipmc_stat_counter_get(
  37897 	int	unit,
  37898 	bcm_ipmc_addr_t *	info,
  37899 	bcm_ipmc_stat_t	stat,
  37900 	uint32	num_entries,
  37901 	uint32 *	counter_indexes,
  37902 	bcm_stat_value_t *	counter_values)
  37903 {
  37904 	return bcm_ipmc_stat_counter_get(
  37905 			BCM_CONTROL(unit)->unit,
  37906 			info,
  37907 			stat,
  37908 			num_entries,
  37909 			counter_indexes,
  37910 			counter_values);
  37911 }
  37912 
  37913 int
  37914 bcm_loop_ipmc_stat_counter_set(
  37915 	int	unit,
  37916 	bcm_ipmc_addr_t *	info,
  37917 	bcm_ipmc_stat_t	stat,
  37918 	uint32	num_entries,
  37919 	uint32 *	counter_indexes,
  37920 	bcm_stat_value_t *	counter_values)
  37921 {
  37922 	return bcm_ipmc_stat_counter_set(
  37923 			BCM_CONTROL(unit)->unit,
  37924 			info,
  37925 			stat,
  37926 			num_entries,
  37927 			counter_indexes,
  37928 			counter_values);
  37929 }
  37930 
  37931 int
  37932 bcm_loop_ipmc_stat_counter_sync_get(
  37933 	int	unit,
  37934 	bcm_ipmc_addr_t *	info,
  37935 	bcm_ipmc_stat_t	stat,
  37936 	uint32	num_entries,
  37937 	uint32 *	counter_indexes,
  37938 	bcm_stat_value_t *	counter_values)
  37939 {
  37940 	return bcm_ipmc_stat_counter_sync_get(
  37941 			BCM_CONTROL(unit)->unit,
  37942 			info,
  37943 			stat,
  37944 			num_entries,
  37945 			counter_indexes,
  37946 			counter_values);
  37947 }
  37948 
  37949 int
  37950 bcm_loop_ipmc_stat_detach(
  37951 	int	unit,
  37952 	bcm_ipmc_addr_t *	info)
  37953 {
  37954 	return bcm_ipmc_stat_detach(
  37955 			BCM_CONTROL(unit)->unit,
  37956 			info);
  37957 }
  37958 
  37959 int
  37960 bcm_loop_ipmc_stat_id_get(
  37961 	int	unit,
  37962 	bcm_ipmc_addr_t *	info,
  37963 	bcm_ipmc_stat_t	stat,
  37964 	uint32 *	stat_counter_id)
  37965 {
  37966 	return bcm_ipmc_stat_id_get(
  37967 			BCM_CONTROL(unit)->unit,
  37968 			info,
  37969 			stat,
  37970 			stat_counter_id);
  37971 }
  37972 
  37973 int
  37974 bcm_loop_ipmc_stat_multi_get(
  37975 	int	unit,
  37976 	bcm_ipmc_addr_t *	info,
  37977 	int	nstat,
  37978 	bcm_ipmc_stat_t *	stat_arr,
  37979 	uint64 *	value_arr)
  37980 {
  37981 	return bcm_ipmc_stat_multi_get(
  37982 			BCM_CONTROL(unit)->unit,
  37983 			info,
  37984 			nstat,
  37985 			stat_arr,
  37986 			value_arr);
  37987 }
  37988 
  37989 int
  37990 bcm_loop_ipmc_stat_multi_get32(
  37991 	int	unit,
  37992 	bcm_ipmc_addr_t *	info,
  37993 	int	nstat,
  37994 	bcm_ipmc_stat_t *	stat_arr,
  37995 	uint32 *	value_arr)
  37996 {
  37997 	return bcm_ipmc_stat_multi_get32(
  37998 			BCM_CONTROL(unit)->unit,
  37999 			info,
  38000 			nstat,
  38001 			stat_arr,
  38002 			value_arr);
  38003 }
  38004 
  38005 int
  38006 bcm_loop_ipmc_stat_multi_set(
  38007 	int	unit,
  38008 	bcm_ipmc_addr_t *	info,
  38009 	int	nstat,
  38010 	bcm_ipmc_stat_t *	stat_arr,
  38011 	uint64 *	value_arr)
  38012 {
  38013 	return bcm_ipmc_stat_multi_set(
  38014 			BCM_CONTROL(unit)->unit,
  38015 			info,
  38016 			nstat,
  38017 			stat_arr,
  38018 			value_arr);
  38019 }
  38020 
  38021 int
  38022 bcm_loop_ipmc_stat_multi_set32(
  38023 	int	unit,
  38024 	bcm_ipmc_addr_t *	info,
  38025 	int	nstat,
  38026 	bcm_ipmc_stat_t *	stat_arr,
  38027 	uint32 *	value_arr)
  38028 {
  38029 	return bcm_ipmc_stat_multi_set32(
  38030 			BCM_CONTROL(unit)->unit,
  38031 			info,
  38032 			nstat,
  38033 			stat_arr,
  38034 			value_arr);
  38035 }
  38036 
  38037 int
  38038 bcm_loop_ipmc_traverse(
  38039 	int	unit,
  38040 	uint32	flags,
  38041 	bcm_ipmc_traverse_cb	cb,
  38042 	void *	user_data)
  38043 {
  38044 	return bcm_ipmc_traverse(
  38045 			BCM_CONTROL(unit)->unit,
  38046 			flags,
  38047 			cb,
  38048 			user_data);
  38049 }
  38050 
  38051 #endif	/* INCLUDE_L3 */
  38052 
  38053 int
  38054 bcm_loop_ipsec_config_set(
  38055 	int	unit,
  38056 	bcm_ipsec_config_t *	config)
  38057 {
  38058 	return bcm_ipsec_config_set(
  38059 			BCM_CONTROL(unit)->unit,
  38060 			config);
  38061 }
  38062 
  38063 int
  38064 bcm_loop_ipsec_sa_create(
  38065 	int	unit,
  38066 	uint32	flags,
  38067 	uint32 *	sa_id,
  38068 	bcm_ipsec_sa_info_t *	sa)
  38069 {
  38070 	return bcm_ipsec_sa_create(
  38071 			BCM_CONTROL(unit)->unit,
  38072 			flags,
  38073 			sa_id,
  38074 			sa);
  38075 }
  38076 
  38077 int
  38078 bcm_loop_ipsec_sa_delete(
  38079 	int	unit,
  38080 	uint32	flags,
  38081 	uint32	sa_id)
  38082 {
  38083 	return bcm_ipsec_sa_delete(
  38084 			BCM_CONTROL(unit)->unit,
  38085 			flags,
  38086 			sa_id);
  38087 }
  38088 
  38089 int
  38090 bcm_loop_ipsec_sa_key_update(
  38091 	int	unit,
  38092 	uint32	flags,
  38093 	uint32	sa_id,
  38094 	bcm_ipsec_sa_keys_t *	sa_keys)
  38095 {
  38096 	return bcm_ipsec_sa_key_update(
  38097 			BCM_CONTROL(unit)->unit,
  38098 			flags,
  38099 			sa_id,
  38100 			sa_keys);
  38101 }
  38102 
  38103 int
  38104 bcm_loop_ipsec_sa_to_tunnel_map_get(
  38105 	int	unit,
  38106 	uint32	sa_id,
  38107 	uint32 *	tunnel_id)
  38108 {
  38109 	return bcm_ipsec_sa_to_tunnel_map_get(
  38110 			BCM_CONTROL(unit)->unit,
  38111 			sa_id,
  38112 			tunnel_id);
  38113 }
  38114 
  38115 int
  38116 bcm_loop_ipsec_sa_to_tunnel_map_set(
  38117 	int	unit,
  38118 	uint32	tunnel_id,
  38119 	uint32	sa_id)
  38120 {
  38121 	return bcm_ipsec_sa_to_tunnel_map_set(
  38122 			BCM_CONTROL(unit)->unit,
  38123 			tunnel_id,
  38124 			sa_id);
  38125 }
  38126 
  38127 int
  38128 bcm_loop_ipsec_tunnel_create(
  38129 	int	unit,
  38130 	uint32	flags,
  38131 	uint32 *	tunnel_id,
  38132 	bcm_ipsec_tunnel_info_t *	tunnel_info)
  38133 {
  38134 	return bcm_ipsec_tunnel_create(
  38135 			BCM_CONTROL(unit)->unit,
  38136 			flags,
  38137 			tunnel_id,
  38138 			tunnel_info);
  38139 }
  38140 
  38141 int
  38142 bcm_loop_ipsec_tunnel_delete(
  38143 	int	unit,
  38144 	uint32	flags,
  38145 	uint32	tunnel_id)
  38146 {
  38147 	return bcm_ipsec_tunnel_delete(
  38148 			BCM_CONTROL(unit)->unit,
  38149 			flags,
  38150 			tunnel_id);
  38151 }
  38152 
  38153 int
  38154 bcm_loop_knet_cleanup(
  38155 	int	unit)
  38156 {
  38157 	return bcm_knet_cleanup(
  38158 			BCM_CONTROL(unit)->unit);
  38159 }
  38160 
  38161 int
  38162 bcm_loop_knet_filter_create(
  38163 	int	unit,
  38164 	bcm_knet_filter_t *	filter)
  38165 {
  38166 	return bcm_knet_filter_create(
  38167 			BCM_CONTROL(unit)->unit,
  38168 			filter);
  38169 }
  38170 
  38171 int
  38172 bcm_loop_knet_filter_destroy(
  38173 	int	unit,
  38174 	int	filter_id)
  38175 {
  38176 	return bcm_knet_filter_destroy(
  38177 			BCM_CONTROL(unit)->unit,
  38178 			filter_id);
  38179 }
  38180 
  38181 int
  38182 bcm_loop_knet_filter_get(
  38183 	int	unit,
  38184 	int	filter_id,
  38185 	bcm_knet_filter_t *	filter)
  38186 {
  38187 	return bcm_knet_filter_get(
  38188 			BCM_CONTROL(unit)->unit,
  38189 			filter_id,
  38190 			filter);
  38191 }
  38192 
  38193 /* bcm_knet_filter_t_init not dispatchable */
  38194 
  38195 int
  38196 bcm_loop_knet_filter_traverse(
  38197 	int	unit,
  38198 	bcm_knet_filter_traverse_cb	trav_fn,
  38199 	void *	user_data)
  38200 {
  38201 	return bcm_knet_filter_traverse(
  38202 			BCM_CONTROL(unit)->unit,
  38203 			trav_fn,
  38204 			user_data);
  38205 }
  38206 
  38207 int
  38208 bcm_loop_knet_init(
  38209 	int	unit)
  38210 {
  38211 	return bcm_knet_init(
  38212 			BCM_CONTROL(unit)->unit);
  38213 }
  38214 
  38215 int
  38216 bcm_loop_knet_netif_create(
  38217 	int	unit,
  38218 	bcm_knet_netif_t *	netif)
  38219 {
  38220 	return bcm_knet_netif_create(
  38221 			BCM_CONTROL(unit)->unit,
  38222 			netif);
  38223 }
  38224 
  38225 int
  38226 bcm_loop_knet_netif_destroy(
  38227 	int	unit,
  38228 	int	netif_id)
  38229 {
  38230 	return bcm_knet_netif_destroy(
  38231 			BCM_CONTROL(unit)->unit,
  38232 			netif_id);
  38233 }
  38234 
  38235 int
  38236 bcm_loop_knet_netif_get(
  38237 	int	unit,
  38238 	int	netif_id,
  38239 	bcm_knet_netif_t *	netif)
  38240 {
  38241 	return bcm_knet_netif_get(
  38242 			BCM_CONTROL(unit)->unit,
  38243 			netif_id,
  38244 			netif);
  38245 }
  38246 
  38247 /* bcm_knet_netif_t_init not dispatchable */
  38248 
  38249 int
  38250 bcm_loop_knet_netif_traverse(
  38251 	int	unit,
  38252 	bcm_knet_netif_traverse_cb	trav_fn,
  38253 	void *	user_data)
  38254 {
  38255 	return bcm_knet_netif_traverse(
  38256 			BCM_CONTROL(unit)->unit,
  38257 			trav_fn,
  38258 			user_data);
  38259 }
  38260 
  38261 int
  38262 bcm_loop_l2_addr_add(
  38263 	int	unit,
  38264 	bcm_l2_addr_t *	l2addr)
  38265 {
  38266 	return bcm_l2_addr_add(
  38267 			BCM_CONTROL(unit)->unit,
  38268 			l2addr);
  38269 }
  38270 
  38271 int
  38272 bcm_loop_l2_addr_by_struct_delete(
  38273 	int	unit,
  38274 	bcm_l2_addr_t *	l2addr)
  38275 {
  38276 	return bcm_l2_addr_by_struct_delete(
  38277 			BCM_CONTROL(unit)->unit,
  38278 			l2addr);
  38279 }
  38280 
  38281 int
  38282 bcm_loop_l2_addr_by_struct_get(
  38283 	int	unit,
  38284 	bcm_l2_addr_t *	l2addr)
  38285 {
  38286 	return bcm_l2_addr_by_struct_get(
  38287 			BCM_CONTROL(unit)->unit,
  38288 			l2addr);
  38289 }
  38290 
  38291 int
  38292 bcm_loop_l2_addr_delete(
  38293 	int	unit,
  38294 	bcm_mac_t	mac,
  38295 	bcm_vlan_t	vid)
  38296 {
  38297 	return bcm_l2_addr_delete(
  38298 			BCM_CONTROL(unit)->unit,
  38299 			mac,
  38300 			vid);
  38301 }
  38302 
  38303 int
  38304 bcm_loop_l2_addr_delete_by_mac(
  38305 	int	unit,
  38306 	bcm_mac_t	mac,
  38307 	uint32	flags)
  38308 {
  38309 	return bcm_l2_addr_delete_by_mac(
  38310 			BCM_CONTROL(unit)->unit,
  38311 			mac,
  38312 			flags);
  38313 }
  38314 
  38315 int
  38316 bcm_loop_l2_addr_delete_by_mac_port(
  38317 	int	unit,
  38318 	bcm_mac_t	mac,
  38319 	bcm_module_t	mod,
  38320 	bcm_port_t	port,
  38321 	uint32	flags)
  38322 {
  38323 	return bcm_l2_addr_delete_by_mac_port(
  38324 			BCM_CONTROL(unit)->unit,
  38325 			mac,
  38326 			mod,
  38327 			port,
  38328 			flags);
  38329 }
  38330 
  38331 int
  38332 bcm_loop_l2_addr_delete_by_port(
  38333 	int	unit,
  38334 	bcm_module_t	mod,
  38335 	bcm_port_t	port,
  38336 	uint32	flags)
  38337 {
  38338 	return bcm_l2_addr_delete_by_port(
  38339 			BCM_CONTROL(unit)->unit,
  38340 			mod,
  38341 			port,
  38342 			flags);
  38343 }
  38344 
  38345 int
  38346 bcm_loop_l2_addr_delete_by_trunk(
  38347 	int	unit,
  38348 	bcm_trunk_t	tid,
  38349 	uint32	flags)
  38350 {
  38351 	return bcm_l2_addr_delete_by_trunk(
  38352 			BCM_CONTROL(unit)->unit,
  38353 			tid,
  38354 			flags);
  38355 }
  38356 
  38357 int
  38358 bcm_loop_l2_addr_delete_by_vlan(
  38359 	int	unit,
  38360 	bcm_vlan_t	vid,
  38361 	uint32	flags)
  38362 {
  38363 	return bcm_l2_addr_delete_by_vlan(
  38364 			BCM_CONTROL(unit)->unit,
  38365 			vid,
  38366 			flags);
  38367 }
  38368 
  38369 int
  38370 bcm_loop_l2_addr_delete_by_vlan_gport_multi(
  38371 	int	unit,
  38372 	uint32	flags,
  38373 	int	num_pairs,
  38374 	bcm_vlan_t *	vlan,
  38375 	bcm_gport_t *	gport)
  38376 {
  38377 	return bcm_l2_addr_delete_by_vlan_gport_multi(
  38378 			BCM_CONTROL(unit)->unit,
  38379 			flags,
  38380 			num_pairs,
  38381 			vlan,
  38382 			gport);
  38383 }
  38384 
  38385 int
  38386 bcm_loop_l2_addr_delete_by_vlan_port(
  38387 	int	unit,
  38388 	bcm_vlan_t	vid,
  38389 	bcm_module_t	mod,
  38390 	bcm_port_t	port,
  38391 	uint32	flags)
  38392 {
  38393 	return bcm_l2_addr_delete_by_vlan_port(
  38394 			BCM_CONTROL(unit)->unit,
  38395 			vid,
  38396 			mod,
  38397 			port,
  38398 			flags);
  38399 }
  38400 
  38401 int
  38402 bcm_loop_l2_addr_delete_by_vlan_trunk(
  38403 	int	unit,
  38404 	bcm_vlan_t	vid,
  38405 	bcm_trunk_t	tid,
  38406 	uint32	flags)
  38407 {
  38408 	return bcm_l2_addr_delete_by_vlan_trunk(
  38409 			BCM_CONTROL(unit)->unit,
  38410 			vid,
  38411 			tid,
  38412 			flags);
  38413 }
  38414 
  38415 /* bcm_l2_addr_distribute_t_init not dispatchable */
  38416 
  38417 /* bcm_l2_addr_dump not dispatchable */
  38418 
  38419 int
  38420 bcm_loop_l2_addr_freeze(
  38421 	int	unit)
  38422 {
  38423 	return bcm_l2_addr_freeze(
  38424 			BCM_CONTROL(unit)->unit);
  38425 }
  38426 
  38427 int
  38428 bcm_loop_l2_addr_get(
  38429 	int	unit,
  38430 	bcm_mac_t	mac_addr,
  38431 	bcm_vlan_t	vid,
  38432 	bcm_l2_addr_t *	l2addr)
  38433 {
  38434 	return bcm_l2_addr_get(
  38435 			BCM_CONTROL(unit)->unit,
  38436 			mac_addr,
  38437 			vid,
  38438 			l2addr);
  38439 }
  38440 
  38441 int
  38442 bcm_loop_l2_addr_msg_distribute_get(
  38443 	int	unit,
  38444 	bcm_l2_addr_distribute_t *	distribution)
  38445 {
  38446 	return bcm_l2_addr_msg_distribute_get(
  38447 			BCM_CONTROL(unit)->unit,
  38448 			distribution);
  38449 }
  38450 
  38451 int
  38452 bcm_loop_l2_addr_msg_distribute_set(
  38453 	int	unit,
  38454 	bcm_l2_addr_distribute_t *	distribution)
  38455 {
  38456 	return bcm_l2_addr_msg_distribute_set(
  38457 			BCM_CONTROL(unit)->unit,
  38458 			distribution);
  38459 }
  38460 
  38461 int
  38462 bcm_loop_l2_addr_multi_add(
  38463 	int	unit,
  38464 	bcm_l2_addr_t *	l2addr,
  38465 	int	count)
  38466 {
  38467 	return bcm_l2_addr_multi_add(
  38468 			BCM_CONTROL(unit)->unit,
  38469 			l2addr,
  38470 			count);
  38471 }
  38472 
  38473 int
  38474 bcm_loop_l2_addr_multi_delete(
  38475 	int	unit,
  38476 	bcm_l2_addr_t *	l2addr,
  38477 	int	count)
  38478 {
  38479 	return bcm_l2_addr_multi_delete(
  38480 			BCM_CONTROL(unit)->unit,
  38481 			l2addr,
  38482 			count);
  38483 }
  38484 
  38485 int
  38486 bcm_loop_l2_addr_register(
  38487 	int	unit,
  38488 	bcm_l2_addr_callback_t	callback,
  38489 	void *	userdata)
  38490 {
  38491 	return bcm_l2_addr_register(
  38492 			BCM_CONTROL(unit)->unit,
  38493 			callback,
  38494 			userdata);
  38495 }
  38496 
  38497 /* bcm_l2_addr_t_init not dispatchable */
  38498 
  38499 int
  38500 bcm_loop_l2_addr_thaw(
  38501 	int	unit)
  38502 {
  38503 	return bcm_l2_addr_thaw(
  38504 			BCM_CONTROL(unit)->unit);
  38505 }
  38506 
  38507 int
  38508 bcm_loop_l2_addr_unregister(
  38509 	int	unit,
  38510 	bcm_l2_addr_callback_t	callback,
  38511 	void *	userdata)
  38512 {
  38513 	return bcm_l2_addr_unregister(
  38514 			BCM_CONTROL(unit)->unit,
  38515 			callback,
  38516 			userdata);
  38517 }
  38518 
  38519 int
  38520 bcm_loop_l2_age_timer_get(
  38521 	int	unit,
  38522 	int *	age_seconds)
  38523 {
  38524 	return bcm_l2_age_timer_get(
  38525 			BCM_CONTROL(unit)->unit,
  38526 			age_seconds);
  38527 }
  38528 
  38529 int
  38530 bcm_loop_l2_age_timer_meta_cycle_get(
  38531 	int	unit,
  38532 	int *	meta_cycle_time)
  38533 {
  38534 	return bcm_l2_age_timer_meta_cycle_get(
  38535 			BCM_CONTROL(unit)->unit,
  38536 			meta_cycle_time);
  38537 }
  38538 
  38539 int
  38540 bcm_loop_l2_age_timer_meta_cycle_set(
  38541 	int	unit,
  38542 	int	meta_cycle_time)
  38543 {
  38544 	return bcm_l2_age_timer_meta_cycle_set(
  38545 			BCM_CONTROL(unit)->unit,
  38546 			meta_cycle_time);
  38547 }
  38548 
  38549 int
  38550 bcm_loop_l2_age_timer_set(
  38551 	int	unit,
  38552 	int	age_seconds)
  38553 {
  38554 	return bcm_l2_age_timer_set(
  38555 			BCM_CONTROL(unit)->unit,
  38556 			age_seconds);
  38557 }
  38558 
  38559 int
  38560 bcm_loop_l2_auth_add(
  38561 	int	unit,
  38562 	bcm_l2_auth_addr_t *	addr)
  38563 {
  38564 	return bcm_l2_auth_add(
  38565 			BCM_CONTROL(unit)->unit,
  38566 			addr);
  38567 }
  38568 
  38569 /* bcm_l2_auth_addr_t_init not dispatchable */
  38570 
  38571 int
  38572 bcm_loop_l2_auth_delete(
  38573 	int	unit,
  38574 	bcm_l2_auth_addr_t *	addr)
  38575 {
  38576 	return bcm_l2_auth_delete(
  38577 			BCM_CONTROL(unit)->unit,
  38578 			addr);
  38579 }
  38580 
  38581 int
  38582 bcm_loop_l2_auth_delete_all(
  38583 	int	unit)
  38584 {
  38585 	return bcm_l2_auth_delete_all(
  38586 			BCM_CONTROL(unit)->unit);
  38587 }
  38588 
  38589 int
  38590 bcm_loop_l2_auth_get(
  38591 	int	unit,
  38592 	bcm_l2_auth_addr_t *	addr)
  38593 {
  38594 	return bcm_l2_auth_get(
  38595 			BCM_CONTROL(unit)->unit,
  38596 			addr);
  38597 }
  38598 
  38599 int
  38600 bcm_loop_l2_auth_traverse(
  38601 	int	unit,
  38602 	bcm_l2_auth_traverse_cb	trav_fn,
  38603 	void *	user_data)
  38604 {
  38605 	return bcm_l2_auth_traverse(
  38606 			BCM_CONTROL(unit)->unit,
  38607 			trav_fn,
  38608 			user_data);
  38609 }
  38610 
  38611 /* bcm_l2_cache_addr_t_init not dispatchable */
  38612 
  38613 int
  38614 bcm_loop_l2_cache_delete(
  38615 	int	unit,
  38616 	int	index)
  38617 {
  38618 	return bcm_l2_cache_delete(
  38619 			BCM_CONTROL(unit)->unit,
  38620 			index);
  38621 }
  38622 
  38623 int
  38624 bcm_loop_l2_cache_delete_all(
  38625 	int	unit)
  38626 {
  38627 	return bcm_l2_cache_delete_all(
  38628 			BCM_CONTROL(unit)->unit);
  38629 }
  38630 
  38631 int
  38632 bcm_loop_l2_cache_get(
  38633 	int	unit,
  38634 	int	index,
  38635 	bcm_l2_cache_addr_t *	addr)
  38636 {
  38637 	return bcm_l2_cache_get(
  38638 			BCM_CONTROL(unit)->unit,
  38639 			index,
  38640 			addr);
  38641 }
  38642 
  38643 int
  38644 bcm_loop_l2_cache_init(
  38645 	int	unit)
  38646 {
  38647 	return bcm_l2_cache_init(
  38648 			BCM_CONTROL(unit)->unit);
  38649 }
  38650 
  38651 int
  38652 bcm_loop_l2_cache_profile_get(
  38653 	int	unit,
  38654 	int	trap_type,
  38655 	uint32	profile_idx,
  38656 	uint32	flags,
  38657 	bcm_l2cp_profile_info_t *	l2cp_profile_info)
  38658 {
  38659 	return bcm_l2_cache_profile_get(
  38660 			BCM_CONTROL(unit)->unit,
  38661 			trap_type,
  38662 			profile_idx,
  38663 			flags,
  38664 			l2cp_profile_info);
  38665 }
  38666 
  38667 int
  38668 bcm_loop_l2_cache_profile_set(
  38669 	int	unit,
  38670 	int	trap_type,
  38671 	uint32	profile_idx,
  38672 	uint32	flags,
  38673 	bcm_l2cp_profile_info_t *	l2cp_profile_info)
  38674 {
  38675 	return bcm_l2_cache_profile_set(
  38676 			BCM_CONTROL(unit)->unit,
  38677 			trap_type,
  38678 			profile_idx,
  38679 			flags,
  38680 			l2cp_profile_info);
  38681 }
  38682 
  38683 int
  38684 bcm_loop_l2_cache_set(
  38685 	int	unit,
  38686 	int	index,
  38687 	bcm_l2_cache_addr_t *	addr,
  38688 	int *	index_used)
  38689 {
  38690 	return bcm_l2_cache_set(
  38691 			BCM_CONTROL(unit)->unit,
  38692 			index,
  38693 			addr,
  38694 			index_used);
  38695 }
  38696 
  38697 int
  38698 bcm_loop_l2_cache_size_get(
  38699 	int	unit,
  38700 	int *	size)
  38701 {
  38702 	return bcm_l2_cache_size_get(
  38703 			BCM_CONTROL(unit)->unit,
  38704 			size);
  38705 }
  38706 
  38707 int
  38708 bcm_loop_l2_cache_vpn_to_profile_map_get(
  38709 	int	unit,
  38710 	uint32	vsi,
  38711 	uint32 *	profile_idx)
  38712 {
  38713 	return bcm_l2_cache_vpn_to_profile_map_get(
  38714 			BCM_CONTROL(unit)->unit,
  38715 			vsi,
  38716 			profile_idx);
  38717 }
  38718 
  38719 int
  38720 bcm_loop_l2_cache_vpn_to_profile_map_set(
  38721 	int	unit,
  38722 	uint32	vsi,
  38723 	uint32	profile_idx)
  38724 {
  38725 	return bcm_l2_cache_vpn_to_profile_map_set(
  38726 			BCM_CONTROL(unit)->unit,
  38727 			vsi,
  38728 			profile_idx);
  38729 }
  38730 
  38731 #ifdef	INCLUDE_L3
  38732 
  38733 int
  38734 bcm_loop_l2_change_fields_add(
  38735 	int	unit,
  38736 	bcm_l2_change_fields_t *	l2_fields_info)
  38737 {
  38738 	return bcm_l2_change_fields_add(
  38739 			BCM_CONTROL(unit)->unit,
  38740 			l2_fields_info);
  38741 }
  38742 
  38743 int
  38744 bcm_loop_l2_change_fields_delete(
  38745 	int	unit,
  38746 	bcm_l2_change_fields_t *	l2_fields_info)
  38747 {
  38748 	return bcm_l2_change_fields_delete(
  38749 			BCM_CONTROL(unit)->unit,
  38750 			l2_fields_info);
  38751 }
  38752 
  38753 int
  38754 bcm_loop_l2_change_fields_get(
  38755 	int	unit,
  38756 	bcm_l2_change_fields_t *	l2_fields_info)
  38757 {
  38758 	return bcm_l2_change_fields_get(
  38759 			BCM_CONTROL(unit)->unit,
  38760 			l2_fields_info);
  38761 }
  38762 
  38763 /* bcm_l2_change_fields_t_init not dispatchable */
  38764 
  38765 int
  38766 bcm_loop_l2_change_fields_traverse(
  38767 	int	unit,
  38768 	bcm_l2_change_fields_traverse_cb	cb,
  38769 	void *	user_data)
  38770 {
  38771 	return bcm_l2_change_fields_traverse(
  38772 			BCM_CONTROL(unit)->unit,
  38773 			cb,
  38774 			user_data);
  38775 }
  38776 
  38777 #endif	/* INCLUDE_L3 */
  38778 
  38779 int
  38780 bcm_loop_l2_clear(
  38781 	int	unit)
  38782 {
  38783 	return bcm_l2_clear(
  38784 			BCM_CONTROL(unit)->unit);
  38785 }
  38786 
  38787 int
  38788 bcm_loop_l2_conflict_get(
  38789 	int	unit,
  38790 	bcm_l2_addr_t *	addr,
  38791 	bcm_l2_addr_t *	cf_array,
  38792 	int	cf_max,
  38793 	int *	cf_count)
  38794 {
  38795 	return bcm_l2_conflict_get(
  38796 			BCM_CONTROL(unit)->unit,
  38797 			addr,
  38798 			cf_array,
  38799 			cf_max,
  38800 			cf_count);
  38801 }
  38802 
  38803 int
  38804 bcm_loop_l2_detach(
  38805 	int	unit)
  38806 {
  38807 	return bcm_l2_detach(
  38808 			BCM_CONTROL(unit)->unit);
  38809 }
  38810 
  38811 int
  38812 bcm_loop_l2_egress_create(
  38813 	int	unit,
  38814 	bcm_l2_egress_t *	egr)
  38815 {
  38816 	return bcm_l2_egress_create(
  38817 			BCM_CONTROL(unit)->unit,
  38818 			egr);
  38819 }
  38820 
  38821 int
  38822 bcm_loop_l2_egress_destroy(
  38823 	int	unit,
  38824 	bcm_if_t	encap_id)
  38825 {
  38826 	return bcm_l2_egress_destroy(
  38827 			BCM_CONTROL(unit)->unit,
  38828 			encap_id);
  38829 }
  38830 
  38831 int
  38832 bcm_loop_l2_egress_find(
  38833 	int	unit,
  38834 	bcm_l2_egress_t *	egr,
  38835 	bcm_if_t *	encap_id)
  38836 {
  38837 	return bcm_l2_egress_find(
  38838 			BCM_CONTROL(unit)->unit,
  38839 			egr,
  38840 			encap_id);
  38841 }
  38842 
  38843 int
  38844 bcm_loop_l2_egress_get(
  38845 	int	unit,
  38846 	bcm_if_t	encap_id,
  38847 	bcm_l2_egress_t *	egr)
  38848 {
  38849 	return bcm_l2_egress_get(
  38850 			BCM_CONTROL(unit)->unit,
  38851 			encap_id,
  38852 			egr);
  38853 }
  38854 
  38855 /* bcm_l2_egress_t_init not dispatchable */
  38856 
  38857 int
  38858 bcm_loop_l2_egress_traverse(
  38859 	int	unit,
  38860 	bcm_l2_egress_traverse_cb	trav_fn,
  38861 	void *	user_data)
  38862 {
  38863 	return bcm_l2_egress_traverse(
  38864 			BCM_CONTROL(unit)->unit,
  38865 			trav_fn,
  38866 			user_data);
  38867 }
  38868 
  38869 int
  38870 bcm_loop_l2_gport_forward_info_get(
  38871 	int	unit,
  38872 	int	gport_id,
  38873 	bcm_l2_gport_forward_info_t *	forward_info)
  38874 {
  38875 	return bcm_l2_gport_forward_info_get(
  38876 			BCM_CONTROL(unit)->unit,
  38877 			gport_id,
  38878 			forward_info);
  38879 }
  38880 
  38881 /* bcm_l2_gport_forward_info_t_init not dispatchable */
  38882 
  38883 int
  38884 bcm_loop_l2_init(
  38885 	int	unit)
  38886 {
  38887 	return bcm_l2_init(
  38888 			BCM_CONTROL(unit)->unit);
  38889 }
  38890 
  38891 int
  38892 bcm_loop_l2_key_dump(
  38893 	int	unit,
  38894 	char *	pfx,
  38895 	bcm_l2_addr_t *	entry,
  38896 	char *	sfx)
  38897 {
  38898 	return bcm_l2_key_dump(
  38899 			BCM_CONTROL(unit)->unit,
  38900 			pfx,
  38901 			entry,
  38902 			sfx);
  38903 }
  38904 
  38905 int
  38906 bcm_loop_l2_learn_class_get(
  38907 	int	unit,
  38908 	int	lclass,
  38909 	int *	lclass_prio,
  38910 	uint32 *	flags)
  38911 {
  38912 	return bcm_l2_learn_class_get(
  38913 			BCM_CONTROL(unit)->unit,
  38914 			lclass,
  38915 			lclass_prio,
  38916 			flags);
  38917 }
  38918 
  38919 int
  38920 bcm_loop_l2_learn_class_set(
  38921 	int	unit,
  38922 	int	lclass,
  38923 	int	lclass_prio,
  38924 	uint32	flags)
  38925 {
  38926 	return bcm_l2_learn_class_set(
  38927 			BCM_CONTROL(unit)->unit,
  38928 			lclass,
  38929 			lclass_prio,
  38930 			flags);
  38931 }
  38932 
  38933 int
  38934 bcm_loop_l2_learn_limit_disable(
  38935 	int	unit)
  38936 {
  38937 	return bcm_l2_learn_limit_disable(
  38938 			BCM_CONTROL(unit)->unit);
  38939 }
  38940 
  38941 int
  38942 bcm_loop_l2_learn_limit_enable(
  38943 	int	unit)
  38944 {
  38945 	return bcm_l2_learn_limit_enable(
  38946 			BCM_CONTROL(unit)->unit);
  38947 }
  38948 
  38949 int
  38950 bcm_loop_l2_learn_limit_get(
  38951 	int	unit,
  38952 	bcm_l2_learn_limit_t *	limit)
  38953 {
  38954 	return bcm_l2_learn_limit_get(
  38955 			BCM_CONTROL(unit)->unit,
  38956 			limit);
  38957 }
  38958 
  38959 int
  38960 bcm_loop_l2_learn_limit_set(
  38961 	int	unit,
  38962 	bcm_l2_learn_limit_t *	limit)
  38963 {
  38964 	return bcm_l2_learn_limit_set(
  38965 			BCM_CONTROL(unit)->unit,
  38966 			limit);
  38967 }
  38968 
  38969 /* bcm_l2_learn_limit_t_init not dispatchable */
  38970 
  38971 int
  38972 bcm_loop_l2_learn_msgs_config_get(
  38973 	int	unit,
  38974 	bcm_l2_learn_msgs_config_t *	learn_msg_config)
  38975 {
  38976 	return bcm_l2_learn_msgs_config_get(
  38977 			BCM_CONTROL(unit)->unit,
  38978 			learn_msg_config);
  38979 }
  38980 
  38981 int
  38982 bcm_loop_l2_learn_msgs_config_set(
  38983 	int	unit,
  38984 	bcm_l2_learn_msgs_config_t *	learn_msg_config)
  38985 {
  38986 	return bcm_l2_learn_msgs_config_set(
  38987 			BCM_CONTROL(unit)->unit,
  38988 			learn_msg_config);
  38989 }
  38990 
  38991 /* bcm_l2_learn_msgs_config_t_init not dispatchable */
  38992 
  38993 int
  38994 bcm_loop_l2_learn_port_class_get(
  38995 	int	unit,
  38996 	bcm_gport_t	port,
  38997 	int *	lclass)
  38998 {
  38999 	return bcm_l2_learn_port_class_get(
  39000 			BCM_CONTROL(unit)->unit,
  39001 			port,
  39002 			lclass);
  39003 }
  39004 
  39005 int
  39006 bcm_loop_l2_learn_port_class_set(
  39007 	int	unit,
  39008 	bcm_gport_t	port,
  39009 	int	lclass)
  39010 {
  39011 	return bcm_l2_learn_port_class_set(
  39012 			BCM_CONTROL(unit)->unit,
  39013 			port,
  39014 			lclass);
  39015 }
  39016 
  39017 int
  39018 bcm_loop_l2_learn_stat_get(
  39019 	int	unit,
  39020 	bcm_l2_learn_stat_t *	learn_stat)
  39021 {
  39022 	return bcm_l2_learn_stat_get(
  39023 			BCM_CONTROL(unit)->unit,
  39024 			learn_stat);
  39025 }
  39026 
  39027 int
  39028 bcm_loop_l2_learn_stat_set(
  39029 	int	unit,
  39030 	bcm_l2_learn_stat_t *	learn_stat)
  39031 {
  39032 	return bcm_l2_learn_stat_set(
  39033 			BCM_CONTROL(unit)->unit,
  39034 			learn_stat);
  39035 }
  39036 
  39037 /* bcm_l2_learn_stat_t_init not dispatchable */
  39038 
  39039 int
  39040 bcm_loop_l2_mac_port_create(
  39041 	int	unit,
  39042 	bcm_l2_mac_port_t *	mac_port)
  39043 {
  39044 	return bcm_l2_mac_port_create(
  39045 			BCM_CONTROL(unit)->unit,
  39046 			mac_port);
  39047 }
  39048 
  39049 int
  39050 bcm_loop_l2_mac_port_destroy(
  39051 	int	unit,
  39052 	bcm_gport_t	mac_port_id)
  39053 {
  39054 	return bcm_l2_mac_port_destroy(
  39055 			BCM_CONTROL(unit)->unit,
  39056 			mac_port_id);
  39057 }
  39058 
  39059 int
  39060 bcm_loop_l2_mac_port_destroy_all(
  39061 	int	unit)
  39062 {
  39063 	return bcm_l2_mac_port_destroy_all(
  39064 			BCM_CONTROL(unit)->unit);
  39065 }
  39066 
  39067 int
  39068 bcm_loop_l2_mac_port_get(
  39069 	int	unit,
  39070 	bcm_l2_mac_port_t *	mac_port)
  39071 {
  39072 	return bcm_l2_mac_port_get(
  39073 			BCM_CONTROL(unit)->unit,
  39074 			mac_port);
  39075 }
  39076 
  39077 /* bcm_l2_mac_port_t_init not dispatchable */
  39078 
  39079 int
  39080 bcm_loop_l2_mac_port_traverse(
  39081 	int	unit,
  39082 	bcm_l2_mac_port_traverse_cb	cb,
  39083 	void *	user_data)
  39084 {
  39085 	return bcm_l2_mac_port_traverse(
  39086 			BCM_CONTROL(unit)->unit,
  39087 			cb,
  39088 			user_data);
  39089 }
  39090 
  39091 int
  39092 bcm_loop_l2_match_masked_traverse(
  39093 	int	unit,
  39094 	uint32	flags,
  39095 	bcm_l2_addr_t *	match_addr,
  39096 	bcm_l2_addr_t *	mask_addr,
  39097 	bcm_l2_traverse_cb	trav_fn,
  39098 	void *	user_data)
  39099 {
  39100 	return bcm_l2_match_masked_traverse(
  39101 			BCM_CONTROL(unit)->unit,
  39102 			flags,
  39103 			match_addr,
  39104 			mask_addr,
  39105 			trav_fn,
  39106 			user_data);
  39107 }
  39108 
  39109 int
  39110 bcm_loop_l2_matched_traverse(
  39111 	int	unit,
  39112 	uint32	flags,
  39113 	bcm_l2_addr_t *	match_addr,
  39114 	bcm_l2_traverse_cb	trav_fn,
  39115 	void *	user_data)
  39116 {
  39117 	return bcm_l2_matched_traverse(
  39118 			BCM_CONTROL(unit)->unit,
  39119 			flags,
  39120 			match_addr,
  39121 			trav_fn,
  39122 			user_data);
  39123 }
  39124 
  39125 int
  39126 bcm_loop_l2_port_native(
  39127 	int	unit,
  39128 	int	modid,
  39129 	int	port)
  39130 {
  39131 	return bcm_l2_port_native(
  39132 			BCM_CONTROL(unit)->unit,
  39133 			modid,
  39134 			port);
  39135 }
  39136 
  39137 int
  39138 bcm_loop_l2_replace(
  39139 	int	unit,
  39140 	uint32	flags,
  39141 	bcm_l2_addr_t *	match_addr,
  39142 	bcm_module_t	new_module,
  39143 	bcm_port_t	new_port,
  39144 	bcm_trunk_t	new_trunk)
  39145 {
  39146 	return bcm_l2_replace(
  39147 			BCM_CONTROL(unit)->unit,
  39148 			flags,
  39149 			match_addr,
  39150 			new_module,
  39151 			new_port,
  39152 			new_trunk);
  39153 }
  39154 
  39155 int
  39156 bcm_loop_l2_replace_match(
  39157 	int	unit,
  39158 	uint32	flags,
  39159 	bcm_l2_addr_t *	match_addr,
  39160 	bcm_l2_addr_t *	mask_addr,
  39161 	bcm_l2_addr_t *	replace_addr,
  39162 	bcm_l2_addr_t *	replace_mask_addr)
  39163 {
  39164 	return bcm_l2_replace_match(
  39165 			BCM_CONTROL(unit)->unit,
  39166 			flags,
  39167 			match_addr,
  39168 			mask_addr,
  39169 			replace_addr,
  39170 			replace_mask_addr);
  39171 }
  39172 
  39173 int
  39174 bcm_loop_l2_ring_replace(
  39175 	int	unit,
  39176 	bcm_l2_ring_t *	l2_ring)
  39177 {
  39178 	return bcm_l2_ring_replace(
  39179 			BCM_CONTROL(unit)->unit,
  39180 			l2_ring);
  39181 }
  39182 
  39183 /* bcm_l2_ring_t_init not dispatchable */
  39184 
  39185 int
  39186 bcm_loop_l2_stat_enable_set(
  39187 	int	unit,
  39188 	bcm_l2_addr_t *	l2_addr,
  39189 	int	enable)
  39190 {
  39191 	return bcm_l2_stat_enable_set(
  39192 			BCM_CONTROL(unit)->unit,
  39193 			l2_addr,
  39194 			enable);
  39195 }
  39196 
  39197 int
  39198 bcm_loop_l2_stat_get(
  39199 	int	unit,
  39200 	bcm_l2_addr_t *	l2_addr,
  39201 	bcm_l2_stat_t	stat,
  39202 	uint64 *	val)
  39203 {
  39204 	return bcm_l2_stat_get(
  39205 			BCM_CONTROL(unit)->unit,
  39206 			l2_addr,
  39207 			stat,
  39208 			val);
  39209 }
  39210 
  39211 int
  39212 bcm_loop_l2_stat_get32(
  39213 	int	unit,
  39214 	bcm_l2_addr_t *	l2_addr,
  39215 	bcm_l2_stat_t	stat,
  39216 	uint32 *	val)
  39217 {
  39218 	return bcm_l2_stat_get32(
  39219 			BCM_CONTROL(unit)->unit,
  39220 			l2_addr,
  39221 			stat,
  39222 			val);
  39223 }
  39224 
  39225 int
  39226 bcm_loop_l2_stat_set(
  39227 	int	unit,
  39228 	bcm_l2_addr_t *	l2_addr,
  39229 	bcm_l2_stat_t	stat,
  39230 	uint64	val)
  39231 {
  39232 	return bcm_l2_stat_set(
  39233 			BCM_CONTROL(unit)->unit,
  39234 			l2_addr,
  39235 			stat,
  39236 			val);
  39237 }
  39238 
  39239 int
  39240 bcm_loop_l2_stat_set32(
  39241 	int	unit,
  39242 	bcm_l2_addr_t *	l2_addr,
  39243 	bcm_l2_stat_t	stat,
  39244 	uint32	val)
  39245 {
  39246 	return bcm_l2_stat_set32(
  39247 			BCM_CONTROL(unit)->unit,
  39248 			l2_addr,
  39249 			stat,
  39250 			val);
  39251 }
  39252 
  39253 int
  39254 bcm_loop_l2_station_add(
  39255 	int	unit,
  39256 	int *	station_id,
  39257 	bcm_l2_station_t *	station)
  39258 {
  39259 	return bcm_l2_station_add(
  39260 			BCM_CONTROL(unit)->unit,
  39261 			station_id,
  39262 			station);
  39263 }
  39264 
  39265 int
  39266 bcm_loop_l2_station_delete(
  39267 	int	unit,
  39268 	int	station_id)
  39269 {
  39270 	return bcm_l2_station_delete(
  39271 			BCM_CONTROL(unit)->unit,
  39272 			station_id);
  39273 }
  39274 
  39275 int
  39276 bcm_loop_l2_station_delete_all(
  39277 	int	unit)
  39278 {
  39279 	return bcm_l2_station_delete_all(
  39280 			BCM_CONTROL(unit)->unit);
  39281 }
  39282 
  39283 int
  39284 bcm_loop_l2_station_get(
  39285 	int	unit,
  39286 	int	station_id,
  39287 	bcm_l2_station_t *	station)
  39288 {
  39289 	return bcm_l2_station_get(
  39290 			BCM_CONTROL(unit)->unit,
  39291 			station_id,
  39292 			station);
  39293 }
  39294 
  39295 int
  39296 bcm_loop_l2_station_size_get(
  39297 	int	unit,
  39298 	int *	size)
  39299 {
  39300 	return bcm_l2_station_size_get(
  39301 			BCM_CONTROL(unit)->unit,
  39302 			size);
  39303 }
  39304 
  39305 /* bcm_l2_station_t_init not dispatchable */
  39306 
  39307 int
  39308 bcm_loop_l2_station_traverse(
  39309 	int	unit,
  39310 	bcm_l2_station_traverse_cb	trav_fn,
  39311 	void *	user_data)
  39312 {
  39313 	return bcm_l2_station_traverse(
  39314 			BCM_CONTROL(unit)->unit,
  39315 			trav_fn,
  39316 			user_data);
  39317 }
  39318 
  39319 int
  39320 bcm_loop_l2_traverse(
  39321 	int	unit,
  39322 	bcm_l2_traverse_cb	trav_fn,
  39323 	void *	user_data)
  39324 {
  39325 	return bcm_l2_traverse(
  39326 			BCM_CONTROL(unit)->unit,
  39327 			trav_fn,
  39328 			user_data);
  39329 }
  39330 
  39331 int
  39332 bcm_loop_l2_tunnel_add(
  39333 	int	unit,
  39334 	bcm_mac_t	mac,
  39335 	bcm_vlan_t	vlan)
  39336 {
  39337 	return bcm_l2_tunnel_add(
  39338 			BCM_CONTROL(unit)->unit,
  39339 			mac,
  39340 			vlan);
  39341 }
  39342 
  39343 int
  39344 bcm_loop_l2_tunnel_delete(
  39345 	int	unit,
  39346 	bcm_mac_t	mac,
  39347 	bcm_vlan_t	vlan)
  39348 {
  39349 	return bcm_l2_tunnel_delete(
  39350 			BCM_CONTROL(unit)->unit,
  39351 			mac,
  39352 			vlan);
  39353 }
  39354 
  39355 int
  39356 bcm_loop_l2_tunnel_delete_all(
  39357 	int	unit)
  39358 {
  39359 	return bcm_l2_tunnel_delete_all(
  39360 			BCM_CONTROL(unit)->unit);
  39361 }
  39362 
  39363 #ifdef	INCLUDE_L3
  39364 
  39365 int
  39366 bcm_loop_l2gre_cleanup(
  39367 	int	unit)
  39368 {
  39369 	return bcm_l2gre_cleanup(
  39370 			BCM_CONTROL(unit)->unit);
  39371 }
  39372 
  39373 int
  39374 bcm_loop_l2gre_init(
  39375 	int	unit)
  39376 {
  39377 	return bcm_l2gre_init(
  39378 			BCM_CONTROL(unit)->unit);
  39379 }
  39380 
  39381 int
  39382 bcm_loop_l2gre_port_add(
  39383 	int	unit,
  39384 	bcm_vpn_t	l2vpn,
  39385 	bcm_l2gre_port_t *	l2gre_port)
  39386 {
  39387 	return bcm_l2gre_port_add(
  39388 			BCM_CONTROL(unit)->unit,
  39389 			l2vpn,
  39390 			l2gre_port);
  39391 }
  39392 
  39393 int
  39394 bcm_loop_l2gre_port_delete(
  39395 	int	unit,
  39396 	bcm_vpn_t	l2vpn,
  39397 	bcm_gport_t	l2gre_port_id)
  39398 {
  39399 	return bcm_l2gre_port_delete(
  39400 			BCM_CONTROL(unit)->unit,
  39401 			l2vpn,
  39402 			l2gre_port_id);
  39403 }
  39404 
  39405 int
  39406 bcm_loop_l2gre_port_delete_all(
  39407 	int	unit,
  39408 	bcm_vpn_t	l2vpn)
  39409 {
  39410 	return bcm_l2gre_port_delete_all(
  39411 			BCM_CONTROL(unit)->unit,
  39412 			l2vpn);
  39413 }
  39414 
  39415 int
  39416 bcm_loop_l2gre_port_get(
  39417 	int	unit,
  39418 	bcm_vpn_t	l2vpn,
  39419 	bcm_l2gre_port_t *	l2gre_port)
  39420 {
  39421 	return bcm_l2gre_port_get(
  39422 			BCM_CONTROL(unit)->unit,
  39423 			l2vpn,
  39424 			l2gre_port);
  39425 }
  39426 
  39427 int
  39428 bcm_loop_l2gre_port_get_all(
  39429 	int	unit,
  39430 	bcm_vpn_t	l2vpn,
  39431 	int	port_max,
  39432 	bcm_l2gre_port_t *	port_array,
  39433 	int *	port_count)
  39434 {
  39435 	return bcm_l2gre_port_get_all(
  39436 			BCM_CONTROL(unit)->unit,
  39437 			l2vpn,
  39438 			port_max,
  39439 			port_array,
  39440 			port_count);
  39441 }
  39442 
  39443 /* bcm_l2gre_port_t_init not dispatchable */
  39444 
  39445 int
  39446 bcm_loop_l2gre_stat_attach(
  39447 	int	unit,
  39448 	bcm_gport_t	port,
  39449 	bcm_vpn_t	vpn,
  39450 	uint32	stat_counter_id)
  39451 {
  39452 	return bcm_l2gre_stat_attach(
  39453 			BCM_CONTROL(unit)->unit,
  39454 			port,
  39455 			vpn,
  39456 			stat_counter_id);
  39457 }
  39458 
  39459 int
  39460 bcm_loop_l2gre_stat_counter_get(
  39461 	int	unit,
  39462 	bcm_gport_t	port,
  39463 	bcm_vpn_t	vpn,
  39464 	bcm_l2gre_stat_t	stat,
  39465 	uint32	num_entries,
  39466 	uint32 *	counter_indexes,
  39467 	bcm_stat_value_t *	counter_values)
  39468 {
  39469 	return bcm_l2gre_stat_counter_get(
  39470 			BCM_CONTROL(unit)->unit,
  39471 			port,
  39472 			vpn,
  39473 			stat,
  39474 			num_entries,
  39475 			counter_indexes,
  39476 			counter_values);
  39477 }
  39478 
  39479 int
  39480 bcm_loop_l2gre_stat_counter_set(
  39481 	int	unit,
  39482 	bcm_gport_t	port,
  39483 	bcm_vpn_t	vpn,
  39484 	bcm_l2gre_stat_t	stat,
  39485 	uint32	num_entries,
  39486 	uint32 *	counter_indexes,
  39487 	bcm_stat_value_t *	counter_values)
  39488 {
  39489 	return bcm_l2gre_stat_counter_set(
  39490 			BCM_CONTROL(unit)->unit,
  39491 			port,
  39492 			vpn,
  39493 			stat,
  39494 			num_entries,
  39495 			counter_indexes,
  39496 			counter_values);
  39497 }
  39498 
  39499 int
  39500 bcm_loop_l2gre_stat_counter_sync_get(
  39501 	int	unit,
  39502 	bcm_gport_t	port,
  39503 	bcm_vpn_t	vpn,
  39504 	bcm_l2gre_stat_t	stat,
  39505 	uint32	num_entries,
  39506 	uint32 *	counter_indexes,
  39507 	bcm_stat_value_t *	counter_values)
  39508 {
  39509 	return bcm_l2gre_stat_counter_sync_get(
  39510 			BCM_CONTROL(unit)->unit,
  39511 			port,
  39512 			vpn,
  39513 			stat,
  39514 			num_entries,
  39515 			counter_indexes,
  39516 			counter_values);
  39517 }
  39518 
  39519 int
  39520 bcm_loop_l2gre_stat_detach(
  39521 	int	unit,
  39522 	bcm_gport_t	port,
  39523 	bcm_vpn_t	vpn)
  39524 {
  39525 	return bcm_l2gre_stat_detach(
  39526 			BCM_CONTROL(unit)->unit,
  39527 			port,
  39528 			vpn);
  39529 }
  39530 
  39531 int
  39532 bcm_loop_l2gre_stat_id_get(
  39533 	int	unit,
  39534 	bcm_gport_t	port,
  39535 	bcm_vpn_t	vpn,
  39536 	bcm_l2gre_stat_t	stat,
  39537 	uint32 *	stat_counter_id)
  39538 {
  39539 	return bcm_l2gre_stat_id_get(
  39540 			BCM_CONTROL(unit)->unit,
  39541 			port,
  39542 			vpn,
  39543 			stat,
  39544 			stat_counter_id);
  39545 }
  39546 
  39547 int
  39548 bcm_loop_l2gre_stat_multi_get(
  39549 	int	unit,
  39550 	bcm_gport_t	port,
  39551 	bcm_vpn_t	vpn,
  39552 	int	nstat,
  39553 	bcm_l2gre_stat_t *	stat_arr,
  39554 	uint64 *	value_arr)
  39555 {
  39556 	return bcm_l2gre_stat_multi_get(
  39557 			BCM_CONTROL(unit)->unit,
  39558 			port,
  39559 			vpn,
  39560 			nstat,
  39561 			stat_arr,
  39562 			value_arr);
  39563 }
  39564 
  39565 int
  39566 bcm_loop_l2gre_stat_multi_get32(
  39567 	int	unit,
  39568 	bcm_gport_t	port,
  39569 	bcm_vpn_t	vpn,
  39570 	int	nstat,
  39571 	bcm_l2gre_stat_t *	stat_arr,
  39572 	uint32 *	value_arr)
  39573 {
  39574 	return bcm_l2gre_stat_multi_get32(
  39575 			BCM_CONTROL(unit)->unit,
  39576 			port,
  39577 			vpn,
  39578 			nstat,
  39579 			stat_arr,
  39580 			value_arr);
  39581 }
  39582 
  39583 int
  39584 bcm_loop_l2gre_stat_multi_set(
  39585 	int	unit,
  39586 	bcm_gport_t	port,
  39587 	bcm_vpn_t	vpn,
  39588 	int	nstat,
  39589 	bcm_l2gre_stat_t *	stat_arr,
  39590 	uint64 *	value_arr)
  39591 {
  39592 	return bcm_l2gre_stat_multi_set(
  39593 			BCM_CONTROL(unit)->unit,
  39594 			port,
  39595 			vpn,
  39596 			nstat,
  39597 			stat_arr,
  39598 			value_arr);
  39599 }
  39600 
  39601 int
  39602 bcm_loop_l2gre_stat_multi_set32(
  39603 	int	unit,
  39604 	bcm_gport_t	port,
  39605 	bcm_vpn_t	vpn,
  39606 	int	nstat,
  39607 	bcm_l2gre_stat_t *	stat_arr,
  39608 	uint32 *	value_arr)
  39609 {
  39610 	return bcm_l2gre_stat_multi_set32(
  39611 			BCM_CONTROL(unit)->unit,
  39612 			port,
  39613 			vpn,
  39614 			nstat,
  39615 			stat_arr,
  39616 			value_arr);
  39617 }
  39618 
  39619 int
  39620 bcm_loop_l2gre_tunnel_initiator_create(
  39621 	int	unit,
  39622 	bcm_tunnel_initiator_t *	info)
  39623 {
  39624 	return bcm_l2gre_tunnel_initiator_create(
  39625 			BCM_CONTROL(unit)->unit,
  39626 			info);
  39627 }
  39628 
  39629 int
  39630 bcm_loop_l2gre_tunnel_initiator_destroy(
  39631 	int	unit,
  39632 	bcm_gport_t	l2gre_tunnel_id)
  39633 {
  39634 	return bcm_l2gre_tunnel_initiator_destroy(
  39635 			BCM_CONTROL(unit)->unit,
  39636 			l2gre_tunnel_id);
  39637 }
  39638 
  39639 int
  39640 bcm_loop_l2gre_tunnel_initiator_destroy_all(
  39641 	int	unit)
  39642 {
  39643 	return bcm_l2gre_tunnel_initiator_destroy_all(
  39644 			BCM_CONTROL(unit)->unit);
  39645 }
  39646 
  39647 int
  39648 bcm_loop_l2gre_tunnel_initiator_get(
  39649 	int	unit,
  39650 	bcm_tunnel_initiator_t *	info)
  39651 {
  39652 	return bcm_l2gre_tunnel_initiator_get(
  39653 			BCM_CONTROL(unit)->unit,
  39654 			info);
  39655 }
  39656 
  39657 int
  39658 bcm_loop_l2gre_tunnel_initiator_traverse(
  39659 	int	unit,
  39660 	bcm_tunnel_initiator_traverse_cb	cb,
  39661 	void *	user_data)
  39662 {
  39663 	return bcm_l2gre_tunnel_initiator_traverse(
  39664 			BCM_CONTROL(unit)->unit,
  39665 			cb,
  39666 			user_data);
  39667 }
  39668 
  39669 int
  39670 bcm_loop_l2gre_tunnel_terminator_create(
  39671 	int	unit,
  39672 	bcm_tunnel_terminator_t *	info)
  39673 {
  39674 	return bcm_l2gre_tunnel_terminator_create(
  39675 			BCM_CONTROL(unit)->unit,
  39676 			info);
  39677 }
  39678 
  39679 int
  39680 bcm_loop_l2gre_tunnel_terminator_destroy(
  39681 	int	unit,
  39682 	bcm_gport_t	l2gre_tunnel_id)
  39683 {
  39684 	return bcm_l2gre_tunnel_terminator_destroy(
  39685 			BCM_CONTROL(unit)->unit,
  39686 			l2gre_tunnel_id);
  39687 }
  39688 
  39689 int
  39690 bcm_loop_l2gre_tunnel_terminator_destroy_all(
  39691 	int	unit)
  39692 {
  39693 	return bcm_l2gre_tunnel_terminator_destroy_all(
  39694 			BCM_CONTROL(unit)->unit);
  39695 }
  39696 
  39697 int
  39698 bcm_loop_l2gre_tunnel_terminator_get(
  39699 	int	unit,
  39700 	bcm_tunnel_terminator_t *	info)
  39701 {
  39702 	return bcm_l2gre_tunnel_terminator_get(
  39703 			BCM_CONTROL(unit)->unit,
  39704 			info);
  39705 }
  39706 
  39707 int
  39708 bcm_loop_l2gre_tunnel_terminator_traverse(
  39709 	int	unit,
  39710 	bcm_tunnel_terminator_traverse_cb	cb,
  39711 	void *	user_data)
  39712 {
  39713 	return bcm_l2gre_tunnel_terminator_traverse(
  39714 			BCM_CONTROL(unit)->unit,
  39715 			cb,
  39716 			user_data);
  39717 }
  39718 
  39719 int
  39720 bcm_loop_l2gre_tunnel_terminator_update(
  39721 	int	unit,
  39722 	bcm_tunnel_terminator_t *	info)
  39723 {
  39724 	return bcm_l2gre_tunnel_terminator_update(
  39725 			BCM_CONTROL(unit)->unit,
  39726 			info);
  39727 }
  39728 
  39729 /* bcm_l2gre_vpn_config_t_init not dispatchable */
  39730 
  39731 int
  39732 bcm_loop_l2gre_vpn_create(
  39733 	int	unit,
  39734 	bcm_l2gre_vpn_config_t *	info)
  39735 {
  39736 	return bcm_l2gre_vpn_create(
  39737 			BCM_CONTROL(unit)->unit,
  39738 			info);
  39739 }
  39740 
  39741 int
  39742 bcm_loop_l2gre_vpn_destroy(
  39743 	int	unit,
  39744 	bcm_vpn_t	l2vpn)
  39745 {
  39746 	return bcm_l2gre_vpn_destroy(
  39747 			BCM_CONTROL(unit)->unit,
  39748 			l2vpn);
  39749 }
  39750 
  39751 int
  39752 bcm_loop_l2gre_vpn_destroy_all(
  39753 	int	unit)
  39754 {
  39755 	return bcm_l2gre_vpn_destroy_all(
  39756 			BCM_CONTROL(unit)->unit);
  39757 }
  39758 
  39759 int
  39760 bcm_loop_l2gre_vpn_get(
  39761 	int	unit,
  39762 	bcm_vpn_t	l2vpn,
  39763 	bcm_l2gre_vpn_config_t *	info)
  39764 {
  39765 	return bcm_l2gre_vpn_get(
  39766 			BCM_CONTROL(unit)->unit,
  39767 			l2vpn,
  39768 			info);
  39769 }
  39770 
  39771 int
  39772 bcm_loop_l2gre_vpn_traverse(
  39773 	int	unit,
  39774 	bcm_l2gre_vpn_traverse_cb	cb,
  39775 	void *	user_data)
  39776 {
  39777 	return bcm_l2gre_vpn_traverse(
  39778 			BCM_CONTROL(unit)->unit,
  39779 			cb,
  39780 			user_data);
  39781 }
  39782 
  39783 int
  39784 bcm_loop_l3_cleanup(
  39785 	int	unit)
  39786 {
  39787 	return bcm_l3_cleanup(
  39788 			BCM_CONTROL(unit)->unit);
  39789 }
  39790 
  39791 int
  39792 bcm_loop_l3_ecmp_agm_attach(
  39793 	int	unit,
  39794 	bcm_if_t	l3_ecmp_id,
  39795 	bcm_switch_agm_id_t	agm_id)
  39796 {
  39797 	return bcm_l3_ecmp_agm_attach(
  39798 			BCM_CONTROL(unit)->unit,
  39799 			l3_ecmp_id,
  39800 			agm_id);
  39801 }
  39802 
  39803 int
  39804 bcm_loop_l3_ecmp_agm_attach_get(
  39805 	int	unit,
  39806 	bcm_if_t	l3_ecmp_id,
  39807 	bcm_switch_agm_id_t *	agm_id)
  39808 {
  39809 	return bcm_l3_ecmp_agm_attach_get(
  39810 			BCM_CONTROL(unit)->unit,
  39811 			l3_ecmp_id,
  39812 			agm_id);
  39813 }
  39814 
  39815 int
  39816 bcm_loop_l3_ecmp_agm_detach(
  39817 	int	unit,
  39818 	bcm_if_t	l3_ecmp_id,
  39819 	bcm_switch_agm_id_t	agm_id)
  39820 {
  39821 	return bcm_l3_ecmp_agm_detach(
  39822 			BCM_CONTROL(unit)->unit,
  39823 			l3_ecmp_id,
  39824 			agm_id);
  39825 }
  39826 
  39827 int
  39828 bcm_loop_l3_ecmp_create(
  39829 	int	unit,
  39830 	uint32	options,
  39831 	bcm_l3_egress_ecmp_t *	ecmp_info,
  39832 	int	ecmp_member_count,
  39833 	bcm_l3_ecmp_member_t *	ecmp_member_array)
  39834 {
  39835 	return bcm_l3_ecmp_create(
  39836 			BCM_CONTROL(unit)->unit,
  39837 			options,
  39838 			ecmp_info,
  39839 			ecmp_member_count,
  39840 			ecmp_member_array);
  39841 }
  39842 
  39843 int
  39844 bcm_loop_l3_ecmp_destroy(
  39845 	int	unit,
  39846 	bcm_if_t	ecmp_group_id)
  39847 {
  39848 	return bcm_l3_ecmp_destroy(
  39849 			BCM_CONTROL(unit)->unit,
  39850 			ecmp_group_id);
  39851 }
  39852 
  39853 /* bcm_l3_ecmp_dlb_mon_cfg_t_init not dispatchable */
  39854 
  39855 int
  39856 bcm_loop_l3_ecmp_dlb_mon_config_get(
  39857 	int	unit,
  39858 	bcm_if_t	intf,
  39859 	bcm_l3_ecmp_dlb_mon_cfg_t *	dlb_mon_cfg)
  39860 {
  39861 	return bcm_l3_ecmp_dlb_mon_config_get(
  39862 			BCM_CONTROL(unit)->unit,
  39863 			intf,
  39864 			dlb_mon_cfg);
  39865 }
  39866 
  39867 int
  39868 bcm_loop_l3_ecmp_dlb_mon_config_set(
  39869 	int	unit,
  39870 	bcm_if_t	ecmp_intf,
  39871 	bcm_l3_ecmp_dlb_mon_cfg_t *	dlb_mon_cfg)
  39872 {
  39873 	return bcm_l3_ecmp_dlb_mon_config_set(
  39874 			BCM_CONTROL(unit)->unit,
  39875 			ecmp_intf,
  39876 			dlb_mon_cfg);
  39877 }
  39878 
  39879 int
  39880 bcm_loop_l3_ecmp_find(
  39881 	int	unit,
  39882 	int	ecmp_member_count,
  39883 	bcm_l3_ecmp_member_t *	ecmp_member_array,
  39884 	bcm_l3_egress_ecmp_t *	ecmp_info)
  39885 {
  39886 	return bcm_l3_ecmp_find(
  39887 			BCM_CONTROL(unit)->unit,
  39888 			ecmp_member_count,
  39889 			ecmp_member_array,
  39890 			ecmp_info);
  39891 }
  39892 
  39893 int
  39894 bcm_loop_l3_ecmp_get(
  39895 	int	unit,
  39896 	bcm_l3_egress_ecmp_t *	ecmp_info,
  39897 	int	ecmp_member_size,
  39898 	bcm_l3_ecmp_member_t *	ecmp_member_array,
  39899 	int *	ecmp_member_count)
  39900 {
  39901 	return bcm_l3_ecmp_get(
  39902 			BCM_CONTROL(unit)->unit,
  39903 			ecmp_info,
  39904 			ecmp_member_size,
  39905 			ecmp_member_array,
  39906 			ecmp_member_count);
  39907 }
  39908 
  39909 int
  39910 bcm_loop_l3_ecmp_member_add(
  39911 	int	unit,
  39912 	bcm_if_t	ecmp_group_id,
  39913 	bcm_l3_ecmp_member_t *	ecmp_member)
  39914 {
  39915 	return bcm_l3_ecmp_member_add(
  39916 			BCM_CONTROL(unit)->unit,
  39917 			ecmp_group_id,
  39918 			ecmp_member);
  39919 }
  39920 
  39921 int
  39922 bcm_loop_l3_ecmp_member_delete(
  39923 	int	unit,
  39924 	bcm_if_t	ecmp_group_id,
  39925 	bcm_l3_ecmp_member_t *	ecmp_member)
  39926 {
  39927 	return bcm_l3_ecmp_member_delete(
  39928 			BCM_CONTROL(unit)->unit,
  39929 			ecmp_group_id,
  39930 			ecmp_member);
  39931 }
  39932 
  39933 int
  39934 bcm_loop_l3_ecmp_member_delete_all(
  39935 	int	unit,
  39936 	bcm_if_t	ecmp_group_id)
  39937 {
  39938 	return bcm_l3_ecmp_member_delete_all(
  39939 			BCM_CONTROL(unit)->unit,
  39940 			ecmp_group_id);
  39941 }
  39942 
  39943 /* bcm_l3_ecmp_member_t_init not dispatchable */
  39944 
  39945 int
  39946 bcm_loop_l3_ecmp_traverse(
  39947 	int	unit,
  39948 	bcm_l3_ecmp_traverse_cb	trav_fn,
  39949 	void *	user_data)
  39950 {
  39951 	return bcm_l3_ecmp_traverse(
  39952 			BCM_CONTROL(unit)->unit,
  39953 			trav_fn,
  39954 			user_data);
  39955 }
  39956 
  39957 int
  39958 bcm_loop_l3_egress_arp_traverse(
  39959 	int	unit,
  39960 	bcm_l3_egress_traverse_cb	trav_fn,
  39961 	void *	user_data)
  39962 {
  39963 	return bcm_l3_egress_arp_traverse(
  39964 			BCM_CONTROL(unit)->unit,
  39965 			trav_fn,
  39966 			user_data);
  39967 }
  39968 
  39969 int
  39970 bcm_loop_l3_egress_create(
  39971 	int	unit,
  39972 	uint32	flags,
  39973 	bcm_l3_egress_t *	egr,
  39974 	bcm_if_t *	if_id)
  39975 {
  39976 	return bcm_l3_egress_create(
  39977 			BCM_CONTROL(unit)->unit,
  39978 			flags,
  39979 			egr,
  39980 			if_id);
  39981 }
  39982 
  39983 int
  39984 bcm_loop_l3_egress_destroy(
  39985 	int	unit,
  39986 	bcm_if_t	intf)
  39987 {
  39988 	return bcm_l3_egress_destroy(
  39989 			BCM_CONTROL(unit)->unit,
  39990 			intf);
  39991 }
  39992 
  39993 int
  39994 bcm_loop_l3_egress_ecmp_add(
  39995 	int	unit,
  39996 	bcm_l3_egress_ecmp_t *	ecmp,
  39997 	bcm_if_t	intf)
  39998 {
  39999 	return bcm_l3_egress_ecmp_add(
  40000 			BCM_CONTROL(unit)->unit,
  40001 			ecmp,
  40002 			intf);
  40003 }
  40004 
  40005 int
  40006 bcm_loop_l3_egress_ecmp_create(
  40007 	int	unit,
  40008 	bcm_l3_egress_ecmp_t *	ecmp,
  40009 	int	intf_count,
  40010 	bcm_if_t *	intf_array)
  40011 {
  40012 	return bcm_l3_egress_ecmp_create(
  40013 			BCM_CONTROL(unit)->unit,
  40014 			ecmp,
  40015 			intf_count,
  40016 			intf_array);
  40017 }
  40018 
  40019 int
  40020 bcm_loop_l3_egress_ecmp_delete(
  40021 	int	unit,
  40022 	bcm_l3_egress_ecmp_t *	ecmp,
  40023 	bcm_if_t	intf)
  40024 {
  40025 	return bcm_l3_egress_ecmp_delete(
  40026 			BCM_CONTROL(unit)->unit,
  40027 			ecmp,
  40028 			intf);
  40029 }
  40030 
  40031 int
  40032 bcm_loop_l3_egress_ecmp_destroy(
  40033 	int	unit,
  40034 	bcm_l3_egress_ecmp_t *	ecmp)
  40035 {
  40036 	return bcm_l3_egress_ecmp_destroy(
  40037 			BCM_CONTROL(unit)->unit,
  40038 			ecmp);
  40039 }
  40040 
  40041 int
  40042 bcm_loop_l3_egress_ecmp_ethertype_get(
  40043 	int	unit,
  40044 	uint32 *	flags,
  40045 	int	ethertype_max,
  40046 	int *	ethertype_array,
  40047 	int *	ethertype_count)
  40048 {
  40049 	return bcm_l3_egress_ecmp_ethertype_get(
  40050 			BCM_CONTROL(unit)->unit,
  40051 			flags,
  40052 			ethertype_max,
  40053 			ethertype_array,
  40054 			ethertype_count);
  40055 }
  40056 
  40057 int
  40058 bcm_loop_l3_egress_ecmp_ethertype_set(
  40059 	int	unit,
  40060 	uint32	flags,
  40061 	int	ethertype_count,
  40062 	int *	ethertype_array)
  40063 {
  40064 	return bcm_l3_egress_ecmp_ethertype_set(
  40065 			BCM_CONTROL(unit)->unit,
  40066 			flags,
  40067 			ethertype_count,
  40068 			ethertype_array);
  40069 }
  40070 
  40071 int
  40072 bcm_loop_l3_egress_ecmp_find(
  40073 	int	unit,
  40074 	int	intf_count,
  40075 	bcm_if_t *	intf_array,
  40076 	bcm_l3_egress_ecmp_t *	ecmp)
  40077 {
  40078 	return bcm_l3_egress_ecmp_find(
  40079 			BCM_CONTROL(unit)->unit,
  40080 			intf_count,
  40081 			intf_array,
  40082 			ecmp);
  40083 }
  40084 
  40085 int
  40086 bcm_loop_l3_egress_ecmp_get(
  40087 	int	unit,
  40088 	bcm_l3_egress_ecmp_t *	ecmp,
  40089 	int	intf_size,
  40090 	bcm_if_t *	intf_array,
  40091 	int *	intf_count)
  40092 {
  40093 	return bcm_l3_egress_ecmp_get(
  40094 			BCM_CONTROL(unit)->unit,
  40095 			ecmp,
  40096 			intf_size,
  40097 			intf_array,
  40098 			intf_count);
  40099 }
  40100 
  40101 int
  40102 bcm_loop_l3_egress_ecmp_member_status_get(
  40103 	int	unit,
  40104 	bcm_if_t	intf,
  40105 	int *	status)
  40106 {
  40107 	return bcm_l3_egress_ecmp_member_status_get(
  40108 			BCM_CONTROL(unit)->unit,
  40109 			intf,
  40110 			status);
  40111 }
  40112 
  40113 int
  40114 bcm_loop_l3_egress_ecmp_member_status_set(
  40115 	int	unit,
  40116 	bcm_if_t	intf,
  40117 	int	status)
  40118 {
  40119 	return bcm_l3_egress_ecmp_member_status_set(
  40120 			BCM_CONTROL(unit)->unit,
  40121 			intf,
  40122 			status);
  40123 }
  40124 
  40125 int
  40126 bcm_loop_l3_egress_ecmp_resilient_replace(
  40127 	int	unit,
  40128 	uint32	flags,
  40129 	bcm_l3_egress_ecmp_resilient_entry_t *	match_entry,
  40130 	int *	num_entries,
  40131 	bcm_l3_egress_ecmp_resilient_entry_t *	replace_entry)
  40132 {
  40133 	return bcm_l3_egress_ecmp_resilient_replace(
  40134 			BCM_CONTROL(unit)->unit,
  40135 			flags,
  40136 			match_entry,
  40137 			num_entries,
  40138 			replace_entry);
  40139 }
  40140 
  40141 int
  40142 bcm_loop_l3_egress_ecmp_resilient_traverse(
  40143 	int	unit,
  40144 	uint32	flags,
  40145 	bcm_l3_egress_ecmp_resilient_entry_t *	match_entry,
  40146 	bcm_l3_egress_ecmp_resilient_traverse_cb	trav_fn,
  40147 	void *	user_data)
  40148 {
  40149 	return bcm_l3_egress_ecmp_resilient_traverse(
  40150 			BCM_CONTROL(unit)->unit,
  40151 			flags,
  40152 			match_entry,
  40153 			trav_fn,
  40154 			user_data);
  40155 }
  40156 
  40157 /* bcm_l3_egress_ecmp_t_init not dispatchable */
  40158 
  40159 int
  40160 bcm_loop_l3_egress_ecmp_traverse(
  40161 	int	unit,
  40162 	bcm_l3_egress_ecmp_traverse_cb	trav_fn,
  40163 	void *	user_data)
  40164 {
  40165 	return bcm_l3_egress_ecmp_traverse(
  40166 			BCM_CONTROL(unit)->unit,
  40167 			trav_fn,
  40168 			user_data);
  40169 }
  40170 
  40171 int
  40172 bcm_loop_l3_egress_find(
  40173 	int	unit,
  40174 	bcm_l3_egress_t *	egr,
  40175 	bcm_if_t *	intf)
  40176 {
  40177 	return bcm_l3_egress_find(
  40178 			BCM_CONTROL(unit)->unit,
  40179 			egr,
  40180 			intf);
  40181 }
  40182 
  40183 int
  40184 bcm_loop_l3_egress_get(
  40185 	int	unit,
  40186 	bcm_if_t	intf,
  40187 	bcm_l3_egress_t *	egr)
  40188 {
  40189 	return bcm_l3_egress_get(
  40190 			BCM_CONTROL(unit)->unit,
  40191 			intf,
  40192 			egr);
  40193 }
  40194 
  40195 int
  40196 bcm_loop_l3_egress_multi_alloc(
  40197 	int	unit,
  40198 	bcm_l3_egress_multi_info_t	egress_multi_info,
  40199 	bcm_if_t *	base_egress_id)
  40200 {
  40201 	return bcm_l3_egress_multi_alloc(
  40202 			BCM_CONTROL(unit)->unit,
  40203 			egress_multi_info,
  40204 			base_egress_id);
  40205 }
  40206 
  40207 int
  40208 bcm_loop_l3_egress_multi_free(
  40209 	int	unit,
  40210 	bcm_if_t	base_egress_id)
  40211 {
  40212 	return bcm_l3_egress_multi_free(
  40213 			BCM_CONTROL(unit)->unit,
  40214 			base_egress_id);
  40215 }
  40216 
  40217 /* bcm_l3_egress_multi_info_t_init not dispatchable */
  40218 
  40219 int
  40220 bcm_loop_l3_egress_multipath_add(
  40221 	int	unit,
  40222 	bcm_if_t	mpintf,
  40223 	bcm_if_t	intf)
  40224 {
  40225 	return bcm_l3_egress_multipath_add(
  40226 			BCM_CONTROL(unit)->unit,
  40227 			mpintf,
  40228 			intf);
  40229 }
  40230 
  40231 int
  40232 bcm_loop_l3_egress_multipath_create(
  40233 	int	unit,
  40234 	uint32	flags,
  40235 	int	intf_count,
  40236 	bcm_if_t *	intf_array,
  40237 	bcm_if_t *	mpintf)
  40238 {
  40239 	return bcm_l3_egress_multipath_create(
  40240 			BCM_CONTROL(unit)->unit,
  40241 			flags,
  40242 			intf_count,
  40243 			intf_array,
  40244 			mpintf);
  40245 }
  40246 
  40247 int
  40248 bcm_loop_l3_egress_multipath_delete(
  40249 	int	unit,
  40250 	bcm_if_t	mpintf,
  40251 	bcm_if_t	intf)
  40252 {
  40253 	return bcm_l3_egress_multipath_delete(
  40254 			BCM_CONTROL(unit)->unit,
  40255 			mpintf,
  40256 			intf);
  40257 }
  40258 
  40259 int
  40260 bcm_loop_l3_egress_multipath_destroy(
  40261 	int	unit,
  40262 	bcm_if_t	mpintf)
  40263 {
  40264 	return bcm_l3_egress_multipath_destroy(
  40265 			BCM_CONTROL(unit)->unit,
  40266 			mpintf);
  40267 }
  40268 
  40269 int
  40270 bcm_loop_l3_egress_multipath_find(
  40271 	int	unit,
  40272 	int	intf_count,
  40273 	bcm_if_t *	intf_array,
  40274 	bcm_if_t *	mpintf)
  40275 {
  40276 	return bcm_l3_egress_multipath_find(
  40277 			BCM_CONTROL(unit)->unit,
  40278 			intf_count,
  40279 			intf_array,
  40280 			mpintf);
  40281 }
  40282 
  40283 int
  40284 bcm_loop_l3_egress_multipath_get(
  40285 	int	unit,
  40286 	bcm_if_t	mpintf,
  40287 	int	intf_size,
  40288 	bcm_if_t *	intf_array,
  40289 	int *	intf_count)
  40290 {
  40291 	return bcm_l3_egress_multipath_get(
  40292 			BCM_CONTROL(unit)->unit,
  40293 			mpintf,
  40294 			intf_size,
  40295 			intf_array,
  40296 			intf_count);
  40297 }
  40298 
  40299 int
  40300 bcm_loop_l3_egress_multipath_max_create(
  40301 	int	unit,
  40302 	uint32	flags,
  40303 	int	max_paths,
  40304 	int	intf_count,
  40305 	bcm_if_t *	intf_array,
  40306 	bcm_if_t *	mpintf)
  40307 {
  40308 	return bcm_l3_egress_multipath_max_create(
  40309 			BCM_CONTROL(unit)->unit,
  40310 			flags,
  40311 			max_paths,
  40312 			intf_count,
  40313 			intf_array,
  40314 			mpintf);
  40315 }
  40316 
  40317 int
  40318 bcm_loop_l3_egress_multipath_traverse(
  40319 	int	unit,
  40320 	bcm_l3_egress_multipath_traverse_cb	trav_fn,
  40321 	void *	user_data)
  40322 {
  40323 	return bcm_l3_egress_multipath_traverse(
  40324 			BCM_CONTROL(unit)->unit,
  40325 			trav_fn,
  40326 			user_data);
  40327 }
  40328 
  40329 int
  40330 bcm_loop_l3_egress_stat_attach(
  40331 	int	unit,
  40332 	bcm_if_t	intf_id,
  40333 	uint32	stat_counter_id)
  40334 {
  40335 	return bcm_l3_egress_stat_attach(
  40336 			BCM_CONTROL(unit)->unit,
  40337 			intf_id,
  40338 			stat_counter_id);
  40339 }
  40340 
  40341 int
  40342 bcm_loop_l3_egress_stat_counter_get(
  40343 	int	unit,
  40344 	bcm_if_t	intf_id,
  40345 	bcm_l3_stat_t	stat,
  40346 	uint32	num_entries,
  40347 	uint32 *	counter_indexes,
  40348 	bcm_stat_value_t *	counter_values)
  40349 {
  40350 	return bcm_l3_egress_stat_counter_get(
  40351 			BCM_CONTROL(unit)->unit,
  40352 			intf_id,
  40353 			stat,
  40354 			num_entries,
  40355 			counter_indexes,
  40356 			counter_values);
  40357 }
  40358 
  40359 int
  40360 bcm_loop_l3_egress_stat_counter_set(
  40361 	int	unit,
  40362 	bcm_if_t	intf_id,
  40363 	bcm_l3_stat_t	stat,
  40364 	uint32	num_entries,
  40365 	uint32 *	counter_indexes,
  40366 	bcm_stat_value_t *	counter_values)
  40367 {
  40368 	return bcm_l3_egress_stat_counter_set(
  40369 			BCM_CONTROL(unit)->unit,
  40370 			intf_id,
  40371 			stat,
  40372 			num_entries,
  40373 			counter_indexes,
  40374 			counter_values);
  40375 }
  40376 
  40377 int
  40378 bcm_loop_l3_egress_stat_counter_sync_get(
  40379 	int	unit,
  40380 	bcm_if_t	intf_id,
  40381 	bcm_l3_stat_t	stat,
  40382 	uint32	num_entries,
  40383 	uint32 *	counter_indexes,
  40384 	bcm_stat_value_t *	counter_values)
  40385 {
  40386 	return bcm_l3_egress_stat_counter_sync_get(
  40387 			BCM_CONTROL(unit)->unit,
  40388 			intf_id,
  40389 			stat,
  40390 			num_entries,
  40391 			counter_indexes,
  40392 			counter_values);
  40393 }
  40394 
  40395 int
  40396 bcm_loop_l3_egress_stat_detach(
  40397 	int	unit,
  40398 	bcm_if_t	intf_id)
  40399 {
  40400 	return bcm_l3_egress_stat_detach(
  40401 			BCM_CONTROL(unit)->unit,
  40402 			intf_id);
  40403 }
  40404 
  40405 int
  40406 bcm_loop_l3_egress_stat_id_get(
  40407 	int	unit,
  40408 	bcm_if_t	intf_id,
  40409 	bcm_l3_stat_t	stat,
  40410 	uint32 *	stat_counter_id)
  40411 {
  40412 	return bcm_l3_egress_stat_id_get(
  40413 			BCM_CONTROL(unit)->unit,
  40414 			intf_id,
  40415 			stat,
  40416 			stat_counter_id);
  40417 }
  40418 
  40419 /* bcm_l3_egress_t_init not dispatchable */
  40420 
  40421 int
  40422 bcm_loop_l3_egress_traverse(
  40423 	int	unit,
  40424 	bcm_l3_egress_traverse_cb	trav_fn,
  40425 	void *	user_data)
  40426 {
  40427 	return bcm_l3_egress_traverse(
  40428 			BCM_CONTROL(unit)->unit,
  40429 			trav_fn,
  40430 			user_data);
  40431 }
  40432 
  40433 int
  40434 bcm_loop_l3_enable_set(
  40435 	int	unit,
  40436 	int	enable)
  40437 {
  40438 	return bcm_l3_enable_set(
  40439 			BCM_CONTROL(unit)->unit,
  40440 			enable);
  40441 }
  40442 
  40443 int
  40444 bcm_loop_l3_host_add(
  40445 	int	unit,
  40446 	bcm_l3_host_t *	info)
  40447 {
  40448 	return bcm_l3_host_add(
  40449 			BCM_CONTROL(unit)->unit,
  40450 			info);
  40451 }
  40452 
  40453 int
  40454 bcm_loop_l3_host_age(
  40455 	int	unit,
  40456 	uint32	flags,
  40457 	bcm_l3_host_traverse_cb	age_cb,
  40458 	void *	user_data)
  40459 {
  40460 	return bcm_l3_host_age(
  40461 			BCM_CONTROL(unit)->unit,
  40462 			flags,
  40463 			age_cb,
  40464 			user_data);
  40465 }
  40466 
  40467 int
  40468 bcm_loop_l3_host_conflict_get(
  40469 	int	unit,
  40470 	bcm_l3_key_t *	ipkey,
  40471 	bcm_l3_key_t *	cf_array,
  40472 	int	cf_max,
  40473 	int *	cf_count)
  40474 {
  40475 	return bcm_l3_host_conflict_get(
  40476 			BCM_CONTROL(unit)->unit,
  40477 			ipkey,
  40478 			cf_array,
  40479 			cf_max,
  40480 			cf_count);
  40481 }
  40482 
  40483 int
  40484 bcm_loop_l3_host_delete(
  40485 	int	unit,
  40486 	bcm_l3_host_t *	ip_addr)
  40487 {
  40488 	return bcm_l3_host_delete(
  40489 			BCM_CONTROL(unit)->unit,
  40490 			ip_addr);
  40491 }
  40492 
  40493 int
  40494 bcm_loop_l3_host_delete_all(
  40495 	int	unit,
  40496 	bcm_l3_host_t *	info)
  40497 {
  40498 	return bcm_l3_host_delete_all(
  40499 			BCM_CONTROL(unit)->unit,
  40500 			info);
  40501 }
  40502 
  40503 int
  40504 bcm_loop_l3_host_delete_by_interface(
  40505 	int	unit,
  40506 	bcm_l3_host_t *	info)
  40507 {
  40508 	return bcm_l3_host_delete_by_interface(
  40509 			BCM_CONTROL(unit)->unit,
  40510 			info);
  40511 }
  40512 
  40513 int
  40514 bcm_loop_l3_host_delete_by_network(
  40515 	int	unit,
  40516 	bcm_l3_route_t *	ip_addr)
  40517 {
  40518 	return bcm_l3_host_delete_by_network(
  40519 			BCM_CONTROL(unit)->unit,
  40520 			ip_addr);
  40521 }
  40522 
  40523 int
  40524 bcm_loop_l3_host_find(
  40525 	int	unit,
  40526 	bcm_l3_host_t *	info)
  40527 {
  40528 	return bcm_l3_host_find(
  40529 			BCM_CONTROL(unit)->unit,
  40530 			info);
  40531 }
  40532 
  40533 int
  40534 bcm_loop_l3_host_invalidate_entry(
  40535 	int	unit,
  40536 	bcm_ip_t	info)
  40537 {
  40538 	return bcm_l3_host_invalidate_entry(
  40539 			BCM_CONTROL(unit)->unit,
  40540 			info);
  40541 }
  40542 
  40543 int
  40544 bcm_loop_l3_host_stat_attach(
  40545 	int	unit,
  40546 	bcm_l3_host_t *	info,
  40547 	uint32	stat_counter_id)
  40548 {
  40549 	return bcm_l3_host_stat_attach(
  40550 			BCM_CONTROL(unit)->unit,
  40551 			info,
  40552 			stat_counter_id);
  40553 }
  40554 
  40555 int
  40556 bcm_loop_l3_host_stat_counter_get(
  40557 	int	unit,
  40558 	bcm_l3_host_t *	info,
  40559 	bcm_l3_stat_t	stat,
  40560 	uint32	num_entries,
  40561 	uint32 *	counter_indexes,
  40562 	bcm_stat_value_t *	counter_values)
  40563 {
  40564 	return bcm_l3_host_stat_counter_get(
  40565 			BCM_CONTROL(unit)->unit,
  40566 			info,
  40567 			stat,
  40568 			num_entries,
  40569 			counter_indexes,
  40570 			counter_values);
  40571 }
  40572 
  40573 int
  40574 bcm_loop_l3_host_stat_counter_set(
  40575 	int	unit,
  40576 	bcm_l3_host_t *	info,
  40577 	bcm_l3_stat_t	stat,
  40578 	uint32	num_entries,
  40579 	uint32 *	counter_indexes,
  40580 	bcm_stat_value_t *	counter_values)
  40581 {
  40582 	return bcm_l3_host_stat_counter_set(
  40583 			BCM_CONTROL(unit)->unit,
  40584 			info,
  40585 			stat,
  40586 			num_entries,
  40587 			counter_indexes,
  40588 			counter_values);
  40589 }
  40590 
  40591 int
  40592 bcm_loop_l3_host_stat_counter_sync_get(
  40593 	int	unit,
  40594 	bcm_l3_host_t *	info,
  40595 	bcm_l3_stat_t	stat,
  40596 	uint32	num_entries,
  40597 	uint32 *	counter_indexes,
  40598 	bcm_stat_value_t *	counter_values)
  40599 {
  40600 	return bcm_l3_host_stat_counter_sync_get(
  40601 			BCM_CONTROL(unit)->unit,
  40602 			info,
  40603 			stat,
  40604 			num_entries,
  40605 			counter_indexes,
  40606 			counter_values);
  40607 }
  40608 
  40609 int
  40610 bcm_loop_l3_host_stat_detach(
  40611 	int	unit,
  40612 	bcm_l3_host_t *	info)
  40613 {
  40614 	return bcm_l3_host_stat_detach(
  40615 			BCM_CONTROL(unit)->unit,
  40616 			info);
  40617 }
  40618 
  40619 int
  40620 bcm_loop_l3_host_stat_id_get(
  40621 	int	unit,
  40622 	bcm_l3_host_t *	info,
  40623 	bcm_l3_stat_t	stat,
  40624 	uint32 *	stat_counter_id)
  40625 {
  40626 	return bcm_l3_host_stat_id_get(
  40627 			BCM_CONTROL(unit)->unit,
  40628 			info,
  40629 			stat,
  40630 			stat_counter_id);
  40631 }
  40632 
  40633 /* bcm_l3_host_t_init not dispatchable */
  40634 
  40635 int
  40636 bcm_loop_l3_host_traverse(
  40637 	int	unit,
  40638 	uint32	flags,
  40639 	uint32	start,
  40640 	uint32	end,
  40641 	bcm_l3_host_traverse_cb	cb,
  40642 	void *	user_data)
  40643 {
  40644 	return bcm_l3_host_traverse(
  40645 			BCM_CONTROL(unit)->unit,
  40646 			flags,
  40647 			start,
  40648 			end,
  40649 			cb,
  40650 			user_data);
  40651 }
  40652 
  40653 int
  40654 bcm_loop_l3_host_validate_entry(
  40655 	int	unit,
  40656 	bcm_ip_t	info)
  40657 {
  40658 	return bcm_l3_host_validate_entry(
  40659 			BCM_CONTROL(unit)->unit,
  40660 			info);
  40661 }
  40662 
  40663 int
  40664 bcm_loop_l3_info(
  40665 	int	unit,
  40666 	bcm_l3_info_t *	l3info)
  40667 {
  40668 	return bcm_l3_info(
  40669 			BCM_CONTROL(unit)->unit,
  40670 			l3info);
  40671 }
  40672 
  40673 /* bcm_l3_info_t_init not dispatchable */
  40674 
  40675 int
  40676 bcm_loop_l3_ingress_create(
  40677 	int	unit,
  40678 	bcm_l3_ingress_t *	ing_intf,
  40679 	bcm_if_t *	intf_id)
  40680 {
  40681 	return bcm_l3_ingress_create(
  40682 			BCM_CONTROL(unit)->unit,
  40683 			ing_intf,
  40684 			intf_id);
  40685 }
  40686 
  40687 int
  40688 bcm_loop_l3_ingress_destroy(
  40689 	int	unit,
  40690 	bcm_if_t	intf_id)
  40691 {
  40692 	return bcm_l3_ingress_destroy(
  40693 			BCM_CONTROL(unit)->unit,
  40694 			intf_id);
  40695 }
  40696 
  40697 int
  40698 bcm_loop_l3_ingress_find(
  40699 	int	unit,
  40700 	bcm_l3_ingress_t *	ing_intf,
  40701 	bcm_if_t *	intf_id)
  40702 {
  40703 	return bcm_l3_ingress_find(
  40704 			BCM_CONTROL(unit)->unit,
  40705 			ing_intf,
  40706 			intf_id);
  40707 }
  40708 
  40709 int
  40710 bcm_loop_l3_ingress_get(
  40711 	int	unit,
  40712 	bcm_if_t	intf,
  40713 	bcm_l3_ingress_t *	ing_intf)
  40714 {
  40715 	return bcm_l3_ingress_get(
  40716 			BCM_CONTROL(unit)->unit,
  40717 			intf,
  40718 			ing_intf);
  40719 }
  40720 
  40721 int
  40722 bcm_loop_l3_ingress_stat_attach(
  40723 	int	unit,
  40724 	bcm_if_t	intf_id,
  40725 	uint32	stat_counter_id)
  40726 {
  40727 	return bcm_l3_ingress_stat_attach(
  40728 			BCM_CONTROL(unit)->unit,
  40729 			intf_id,
  40730 			stat_counter_id);
  40731 }
  40732 
  40733 int
  40734 bcm_loop_l3_ingress_stat_counter_get(
  40735 	int	unit,
  40736 	bcm_if_t	intf_id,
  40737 	bcm_l3_stat_t	stat,
  40738 	uint32	num_entries,
  40739 	uint32 *	counter_indexes,
  40740 	bcm_stat_value_t *	counter_values)
  40741 {
  40742 	return bcm_l3_ingress_stat_counter_get(
  40743 			BCM_CONTROL(unit)->unit,
  40744 			intf_id,
  40745 			stat,
  40746 			num_entries,
  40747 			counter_indexes,
  40748 			counter_values);
  40749 }
  40750 
  40751 int
  40752 bcm_loop_l3_ingress_stat_counter_set(
  40753 	int	unit,
  40754 	bcm_if_t	intf_id,
  40755 	bcm_l3_stat_t	stat,
  40756 	uint32	num_entries,
  40757 	uint32 *	counter_indexes,
  40758 	bcm_stat_value_t *	counter_values)
  40759 {
  40760 	return bcm_l3_ingress_stat_counter_set(
  40761 			BCM_CONTROL(unit)->unit,
  40762 			intf_id,
  40763 			stat,
  40764 			num_entries,
  40765 			counter_indexes,
  40766 			counter_values);
  40767 }
  40768 
  40769 int
  40770 bcm_loop_l3_ingress_stat_counter_sync_get(
  40771 	int	unit,
  40772 	bcm_if_t	intf_id,
  40773 	bcm_l3_stat_t	stat,
  40774 	uint32	num_entries,
  40775 	uint32 *	counter_indexes,
  40776 	bcm_stat_value_t *	counter_values)
  40777 {
  40778 	return bcm_l3_ingress_stat_counter_sync_get(
  40779 			BCM_CONTROL(unit)->unit,
  40780 			intf_id,
  40781 			stat,
  40782 			num_entries,
  40783 			counter_indexes,
  40784 			counter_values);
  40785 }
  40786 
  40787 int
  40788 bcm_loop_l3_ingress_stat_detach(
  40789 	int	unit,
  40790 	bcm_if_t	intf_id)
  40791 {
  40792 	return bcm_l3_ingress_stat_detach(
  40793 			BCM_CONTROL(unit)->unit,
  40794 			intf_id);
  40795 }
  40796 
  40797 int
  40798 bcm_loop_l3_ingress_stat_id_get(
  40799 	int	unit,
  40800 	bcm_if_t	intf_id,
  40801 	bcm_l3_stat_t	stat,
  40802 	uint32 *	stat_counter_id)
  40803 {
  40804 	return bcm_l3_ingress_stat_id_get(
  40805 			BCM_CONTROL(unit)->unit,
  40806 			intf_id,
  40807 			stat,
  40808 			stat_counter_id);
  40809 }
  40810 
  40811 /* bcm_l3_ingress_t_init not dispatchable */
  40812 
  40813 int
  40814 bcm_loop_l3_ingress_traverse(
  40815 	int	unit,
  40816 	bcm_l3_ingress_traverse_cb	trav_fn,
  40817 	void *	user_data)
  40818 {
  40819 	return bcm_l3_ingress_traverse(
  40820 			BCM_CONTROL(unit)->unit,
  40821 			trav_fn,
  40822 			user_data);
  40823 }
  40824 
  40825 int
  40826 bcm_loop_l3_init(
  40827 	int	unit)
  40828 {
  40829 	return bcm_l3_init(
  40830 			BCM_CONTROL(unit)->unit);
  40831 }
  40832 
  40833 int
  40834 bcm_loop_l3_intf_create(
  40835 	int	unit,
  40836 	bcm_l3_intf_t *	intf)
  40837 {
  40838 	return bcm_l3_intf_create(
  40839 			BCM_CONTROL(unit)->unit,
  40840 			intf);
  40841 }
  40842 
  40843 int
  40844 bcm_loop_l3_intf_delete(
  40845 	int	unit,
  40846 	bcm_l3_intf_t *	intf)
  40847 {
  40848 	return bcm_l3_intf_delete(
  40849 			BCM_CONTROL(unit)->unit,
  40850 			intf);
  40851 }
  40852 
  40853 int
  40854 bcm_loop_l3_intf_delete_all(
  40855 	int	unit)
  40856 {
  40857 	return bcm_l3_intf_delete_all(
  40858 			BCM_CONTROL(unit)->unit);
  40859 }
  40860 
  40861 int
  40862 bcm_loop_l3_intf_find(
  40863 	int	unit,
  40864 	bcm_l3_intf_t *	intf)
  40865 {
  40866 	return bcm_l3_intf_find(
  40867 			BCM_CONTROL(unit)->unit,
  40868 			intf);
  40869 }
  40870 
  40871 int
  40872 bcm_loop_l3_intf_find_vlan(
  40873 	int	unit,
  40874 	bcm_l3_intf_t *	intf)
  40875 {
  40876 	return bcm_l3_intf_find_vlan(
  40877 			BCM_CONTROL(unit)->unit,
  40878 			intf);
  40879 }
  40880 
  40881 int
  40882 bcm_loop_l3_intf_get(
  40883 	int	unit,
  40884 	bcm_l3_intf_t *	intf)
  40885 {
  40886 	return bcm_l3_intf_get(
  40887 			BCM_CONTROL(unit)->unit,
  40888 			intf);
  40889 }
  40890 
  40891 /* bcm_l3_intf_qos_t_init not dispatchable */
  40892 
  40893 /* bcm_l3_intf_t_init not dispatchable */
  40894 
  40895 int
  40896 bcm_loop_l3_intf_vpn_get(
  40897 	int	unit,
  40898 	bcm_if_t	l3_intf_id,
  40899 	uint32 *	flags,
  40900 	bcm_vpn_t *	vpn)
  40901 {
  40902 	return bcm_l3_intf_vpn_get(
  40903 			BCM_CONTROL(unit)->unit,
  40904 			l3_intf_id,
  40905 			flags,
  40906 			vpn);
  40907 }
  40908 
  40909 int
  40910 bcm_loop_l3_intf_vpn_set(
  40911 	int	unit,
  40912 	bcm_if_t	l3_intf_id,
  40913 	uint32	flags,
  40914 	bcm_vpn_t	vpn)
  40915 {
  40916 	return bcm_l3_intf_vpn_set(
  40917 			BCM_CONTROL(unit)->unit,
  40918 			l3_intf_id,
  40919 			flags,
  40920 			vpn);
  40921 }
  40922 
  40923 int
  40924 bcm_loop_l3_ip4_options_action_get(
  40925 	int	unit,
  40926 	int	ip4_options_profile_id,
  40927 	int	ip4_option,
  40928 	bcm_l3_ip4_options_action_t *	action)
  40929 {
  40930 	return bcm_l3_ip4_options_action_get(
  40931 			BCM_CONTROL(unit)->unit,
  40932 			ip4_options_profile_id,
  40933 			ip4_option,
  40934 			action);
  40935 }
  40936 
  40937 int
  40938 bcm_loop_l3_ip4_options_action_set(
  40939 	int	unit,
  40940 	int	ip4_options_profile_id,
  40941 	int	ip4_option,
  40942 	bcm_l3_ip4_options_action_t	action)
  40943 {
  40944 	return bcm_l3_ip4_options_action_set(
  40945 			BCM_CONTROL(unit)->unit,
  40946 			ip4_options_profile_id,
  40947 			ip4_option,
  40948 			action);
  40949 }
  40950 
  40951 int
  40952 bcm_loop_l3_ip4_options_profile_create(
  40953 	int	unit,
  40954 	uint32	flags,
  40955 	bcm_l3_ip4_options_action_t	default_action,
  40956 	int *	ip4_options_profile_id)
  40957 {
  40958 	return bcm_l3_ip4_options_profile_create(
  40959 			BCM_CONTROL(unit)->unit,
  40960 			flags,
  40961 			default_action,
  40962 			ip4_options_profile_id);
  40963 }
  40964 
  40965 int
  40966 bcm_loop_l3_ip4_options_profile_destroy(
  40967 	int	unit,
  40968 	int	ip4_options_profile_id)
  40969 {
  40970 	return bcm_l3_ip4_options_profile_destroy(
  40971 			BCM_CONTROL(unit)->unit,
  40972 			ip4_options_profile_id);
  40973 }
  40974 
  40975 int
  40976 bcm_loop_l3_ip6_prefix_map_add(
  40977 	int	unit,
  40978 	bcm_ip6_t	ip6_addr)
  40979 {
  40980 	return bcm_l3_ip6_prefix_map_add(
  40981 			BCM_CONTROL(unit)->unit,
  40982 			ip6_addr);
  40983 }
  40984 
  40985 int
  40986 bcm_loop_l3_ip6_prefix_map_delete(
  40987 	int	unit,
  40988 	bcm_ip6_t	ip6_addr)
  40989 {
  40990 	return bcm_l3_ip6_prefix_map_delete(
  40991 			BCM_CONTROL(unit)->unit,
  40992 			ip6_addr);
  40993 }
  40994 
  40995 int
  40996 bcm_loop_l3_ip6_prefix_map_delete_all(
  40997 	int	unit)
  40998 {
  40999 	return bcm_l3_ip6_prefix_map_delete_all(
  41000 			BCM_CONTROL(unit)->unit);
  41001 }
  41002 
  41003 int
  41004 bcm_loop_l3_ip6_prefix_map_get(
  41005 	int	unit,
  41006 	int	map_size,
  41007 	bcm_ip6_t *	ip6_array,
  41008 	int *	ip6_count)
  41009 {
  41010 	return bcm_l3_ip6_prefix_map_get(
  41011 			BCM_CONTROL(unit)->unit,
  41012 			map_size,
  41013 			ip6_array,
  41014 			ip6_count);
  41015 }
  41016 
  41017 /* bcm_l3_key_t_init not dispatchable */
  41018 
  41019 int
  41020 bcm_loop_l3_large_nat_egress_add(
  41021 	int	unit,
  41022 	bcm_l3_large_nat_egress_t *	nat_info)
  41023 {
  41024 	return bcm_l3_large_nat_egress_add(
  41025 			BCM_CONTROL(unit)->unit,
  41026 			nat_info);
  41027 }
  41028 
  41029 int
  41030 bcm_loop_l3_large_nat_egress_delete(
  41031 	int	unit,
  41032 	bcm_l3_large_nat_egress_t *	nat_info)
  41033 {
  41034 	return bcm_l3_large_nat_egress_delete(
  41035 			BCM_CONTROL(unit)->unit,
  41036 			nat_info);
  41037 }
  41038 
  41039 int
  41040 bcm_loop_l3_large_nat_egress_get(
  41041 	int	unit,
  41042 	bcm_l3_large_nat_egress_t *	nat_info)
  41043 {
  41044 	return bcm_l3_large_nat_egress_get(
  41045 			BCM_CONTROL(unit)->unit,
  41046 			nat_info);
  41047 }
  41048 
  41049 /* bcm_l3_large_nat_egress_t_init not dispatchable */
  41050 
  41051 int
  41052 bcm_loop_l3_large_nat_egress_traverse(
  41053 	int	unit,
  41054 	bcm_l3_large_nat_egress_traverse_cb	cb,
  41055 	void *	user_data)
  41056 {
  41057 	return bcm_l3_large_nat_egress_traverse(
  41058 			BCM_CONTROL(unit)->unit,
  41059 			cb,
  41060 			user_data);
  41061 }
  41062 
  41063 int
  41064 bcm_loop_l3_nat_egress_add(
  41065 	int	unit,
  41066 	bcm_l3_nat_egress_t *	nat_info)
  41067 {
  41068 	return bcm_l3_nat_egress_add(
  41069 			BCM_CONTROL(unit)->unit,
  41070 			nat_info);
  41071 }
  41072 
  41073 int
  41074 bcm_loop_l3_nat_egress_delete(
  41075 	int	unit,
  41076 	bcm_l3_nat_id_t	nat_id)
  41077 {
  41078 	return bcm_l3_nat_egress_delete(
  41079 			BCM_CONTROL(unit)->unit,
  41080 			nat_id);
  41081 }
  41082 
  41083 int
  41084 bcm_loop_l3_nat_egress_get(
  41085 	int	unit,
  41086 	bcm_l3_nat_egress_t *	nat_info)
  41087 {
  41088 	return bcm_l3_nat_egress_get(
  41089 			BCM_CONTROL(unit)->unit,
  41090 			nat_info);
  41091 }
  41092 
  41093 int
  41094 bcm_loop_l3_nat_egress_stat_attach(
  41095 	int	unit,
  41096 	bcm_l3_nat_egress_t *	info,
  41097 	uint32	stat_counter_id)
  41098 {
  41099 	return bcm_l3_nat_egress_stat_attach(
  41100 			BCM_CONTROL(unit)->unit,
  41101 			info,
  41102 			stat_counter_id);
  41103 }
  41104 
  41105 int
  41106 bcm_loop_l3_nat_egress_stat_counter_get(
  41107 	int	unit,
  41108 	bcm_l3_nat_egress_t *	info,
  41109 	bcm_l3_nat_egress_stat_t	stat,
  41110 	uint32	num_entries,
  41111 	uint32 *	counter_indexes,
  41112 	bcm_stat_value_t *	counter_values)
  41113 {
  41114 	return bcm_l3_nat_egress_stat_counter_get(
  41115 			BCM_CONTROL(unit)->unit,
  41116 			info,
  41117 			stat,
  41118 			num_entries,
  41119 			counter_indexes,
  41120 			counter_values);
  41121 }
  41122 
  41123 int
  41124 bcm_loop_l3_nat_egress_stat_counter_set(
  41125 	int	unit,
  41126 	bcm_l3_nat_egress_t *	info,
  41127 	bcm_l3_nat_egress_stat_t	stat,
  41128 	uint32	num_entries,
  41129 	uint32 *	counter_indexes,
  41130 	bcm_stat_value_t *	counter_values)
  41131 {
  41132 	return bcm_l3_nat_egress_stat_counter_set(
  41133 			BCM_CONTROL(unit)->unit,
  41134 			info,
  41135 			stat,
  41136 			num_entries,
  41137 			counter_indexes,
  41138 			counter_values);
  41139 }
  41140 
  41141 int
  41142 bcm_loop_l3_nat_egress_stat_counter_sync_get(
  41143 	int	unit,
  41144 	bcm_l3_nat_egress_t *	info,
  41145 	bcm_l3_nat_egress_stat_t	stat,
  41146 	uint32	num_entries,
  41147 	uint32 *	counter_indexes,
  41148 	bcm_stat_value_t *	counter_values)
  41149 {
  41150 	return bcm_l3_nat_egress_stat_counter_sync_get(
  41151 			BCM_CONTROL(unit)->unit,
  41152 			info,
  41153 			stat,
  41154 			num_entries,
  41155 			counter_indexes,
  41156 			counter_values);
  41157 }
  41158 
  41159 int
  41160 bcm_loop_l3_nat_egress_stat_detach(
  41161 	int	unit,
  41162 	bcm_l3_nat_egress_t *	info)
  41163 {
  41164 	return bcm_l3_nat_egress_stat_detach(
  41165 			BCM_CONTROL(unit)->unit,
  41166 			info);
  41167 }
  41168 
  41169 int
  41170 bcm_loop_l3_nat_egress_stat_id_get(
  41171 	int	unit,
  41172 	bcm_l3_nat_egress_t *	info,
  41173 	bcm_l3_nat_egress_stat_t	stat,
  41174 	uint32 *	stat_counter_id)
  41175 {
  41176 	return bcm_l3_nat_egress_stat_id_get(
  41177 			BCM_CONTROL(unit)->unit,
  41178 			info,
  41179 			stat,
  41180 			stat_counter_id);
  41181 }
  41182 
  41183 int
  41184 bcm_loop_l3_nat_egress_stat_multi_get(
  41185 	int	unit,
  41186 	bcm_l3_nat_egress_t *	info,
  41187 	int	nstat,
  41188 	bcm_l3_nat_egress_stat_t *	stat_arr,
  41189 	uint64 *	value_arr)
  41190 {
  41191 	return bcm_l3_nat_egress_stat_multi_get(
  41192 			BCM_CONTROL(unit)->unit,
  41193 			info,
  41194 			nstat,
  41195 			stat_arr,
  41196 			value_arr);
  41197 }
  41198 
  41199 int
  41200 bcm_loop_l3_nat_egress_stat_multi_get32(
  41201 	int	unit,
  41202 	bcm_l3_nat_egress_t *	info,
  41203 	int	nstat,
  41204 	bcm_l3_nat_egress_stat_t *	stat_arr,
  41205 	uint32 *	value_arr)
  41206 {
  41207 	return bcm_l3_nat_egress_stat_multi_get32(
  41208 			BCM_CONTROL(unit)->unit,
  41209 			info,
  41210 			nstat,
  41211 			stat_arr,
  41212 			value_arr);
  41213 }
  41214 
  41215 int
  41216 bcm_loop_l3_nat_egress_stat_multi_set(
  41217 	int	unit,
  41218 	bcm_l3_nat_egress_t *	info,
  41219 	int	nstat,
  41220 	bcm_l3_nat_egress_stat_t *	stat_arr,
  41221 	uint64 *	value_arr)
  41222 {
  41223 	return bcm_l3_nat_egress_stat_multi_set(
  41224 			BCM_CONTROL(unit)->unit,
  41225 			info,
  41226 			nstat,
  41227 			stat_arr,
  41228 			value_arr);
  41229 }
  41230 
  41231 int
  41232 bcm_loop_l3_nat_egress_stat_multi_set32(
  41233 	int	unit,
  41234 	bcm_l3_nat_egress_t *	info,
  41235 	int	nstat,
  41236 	bcm_l3_nat_egress_stat_t *	stat_arr,
  41237 	uint32 *	value_arr)
  41238 {
  41239 	return bcm_l3_nat_egress_stat_multi_set32(
  41240 			BCM_CONTROL(unit)->unit,
  41241 			info,
  41242 			nstat,
  41243 			stat_arr,
  41244 			value_arr);
  41245 }
  41246 
  41247 /* bcm_l3_nat_egress_t_init not dispatchable */
  41248 
  41249 int
  41250 bcm_loop_l3_nat_egress_traverse(
  41251 	int	unit,
  41252 	uint32	flags,
  41253 	uint32	start,
  41254 	uint32	end,
  41255 	bcm_l3_nat_egress_traverse_cb	cb,
  41256 	void *	user_data)
  41257 {
  41258 	return bcm_l3_nat_egress_traverse(
  41259 			BCM_CONTROL(unit)->unit,
  41260 			flags,
  41261 			start,
  41262 			end,
  41263 			cb,
  41264 			user_data);
  41265 }
  41266 
  41267 int
  41268 bcm_loop_l3_nat_ingress_add(
  41269 	int	unit,
  41270 	bcm_l3_nat_ingress_t *	nat_info)
  41271 {
  41272 	return bcm_l3_nat_ingress_add(
  41273 			BCM_CONTROL(unit)->unit,
  41274 			nat_info);
  41275 }
  41276 
  41277 int
  41278 bcm_loop_l3_nat_ingress_age(
  41279 	int	unit,
  41280 	uint32	flags,
  41281 	bcm_l3_nat_ingress_traverse_cb	age_cb,
  41282 	void *	user_data)
  41283 {
  41284 	return bcm_l3_nat_ingress_age(
  41285 			BCM_CONTROL(unit)->unit,
  41286 			flags,
  41287 			age_cb,
  41288 			user_data);
  41289 }
  41290 
  41291 int
  41292 bcm_loop_l3_nat_ingress_delete(
  41293 	int	unit,
  41294 	bcm_l3_nat_ingress_t *	nat_info)
  41295 {
  41296 	return bcm_l3_nat_ingress_delete(
  41297 			BCM_CONTROL(unit)->unit,
  41298 			nat_info);
  41299 }
  41300 
  41301 int
  41302 bcm_loop_l3_nat_ingress_delete_all(
  41303 	int	unit,
  41304 	bcm_l3_nat_ingress_t *	nat_info)
  41305 {
  41306 	return bcm_l3_nat_ingress_delete_all(
  41307 			BCM_CONTROL(unit)->unit,
  41308 			nat_info);
  41309 }
  41310 
  41311 int
  41312 bcm_loop_l3_nat_ingress_find(
  41313 	int	unit,
  41314 	bcm_l3_nat_ingress_t *	nat_info)
  41315 {
  41316 	return bcm_l3_nat_ingress_find(
  41317 			BCM_CONTROL(unit)->unit,
  41318 			nat_info);
  41319 }
  41320 
  41321 /* bcm_l3_nat_ingress_t_init not dispatchable */
  41322 
  41323 int
  41324 bcm_loop_l3_nat_ingress_traverse(
  41325 	int	unit,
  41326 	uint32	flags,
  41327 	uint32	start,
  41328 	uint32	end,
  41329 	bcm_l3_nat_ingress_traverse_cb	cb,
  41330 	void *	user_data)
  41331 {
  41332 	return bcm_l3_nat_ingress_traverse(
  41333 			BCM_CONTROL(unit)->unit,
  41334 			flags,
  41335 			start,
  41336 			end,
  41337 			cb,
  41338 			user_data);
  41339 }
  41340 
  41341 int
  41342 bcm_loop_l3_route_add(
  41343 	int	unit,
  41344 	bcm_l3_route_t *	info)
  41345 {
  41346 	return bcm_l3_route_add(
  41347 			BCM_CONTROL(unit)->unit,
  41348 			info);
  41349 }
  41350 
  41351 int
  41352 bcm_loop_l3_route_age(
  41353 	int	unit,
  41354 	uint32	flags,
  41355 	bcm_l3_route_traverse_cb	age_out,
  41356 	void *	user_data)
  41357 {
  41358 	return bcm_l3_route_age(
  41359 			BCM_CONTROL(unit)->unit,
  41360 			flags,
  41361 			age_out,
  41362 			user_data);
  41363 }
  41364 
  41365 int
  41366 bcm_loop_l3_route_delete(
  41367 	int	unit,
  41368 	bcm_l3_route_t *	info)
  41369 {
  41370 	return bcm_l3_route_delete(
  41371 			BCM_CONTROL(unit)->unit,
  41372 			info);
  41373 }
  41374 
  41375 int
  41376 bcm_loop_l3_route_delete_all(
  41377 	int	unit,
  41378 	bcm_l3_route_t *	info)
  41379 {
  41380 	return bcm_l3_route_delete_all(
  41381 			BCM_CONTROL(unit)->unit,
  41382 			info);
  41383 }
  41384 
  41385 int
  41386 bcm_loop_l3_route_delete_by_interface(
  41387 	int	unit,
  41388 	bcm_l3_route_t *	info)
  41389 {
  41390 	return bcm_l3_route_delete_by_interface(
  41391 			BCM_CONTROL(unit)->unit,
  41392 			info);
  41393 }
  41394 
  41395 int
  41396 bcm_loop_l3_route_find(
  41397 	int	unit,
  41398 	bcm_l3_host_t *	host,
  41399 	bcm_l3_route_t *	route)
  41400 {
  41401 	return bcm_l3_route_find(
  41402 			BCM_CONTROL(unit)->unit,
  41403 			host,
  41404 			route);
  41405 }
  41406 
  41407 int
  41408 bcm_loop_l3_route_get(
  41409 	int	unit,
  41410 	bcm_l3_route_t *	info)
  41411 {
  41412 	return bcm_l3_route_get(
  41413 			BCM_CONTROL(unit)->unit,
  41414 			info);
  41415 }
  41416 
  41417 int
  41418 bcm_loop_l3_route_max_ecmp_get(
  41419 	int	unit,
  41420 	int *	max)
  41421 {
  41422 	return bcm_l3_route_max_ecmp_get(
  41423 			BCM_CONTROL(unit)->unit,
  41424 			max);
  41425 }
  41426 
  41427 int
  41428 bcm_loop_l3_route_max_ecmp_set(
  41429 	int	unit,
  41430 	int	max)
  41431 {
  41432 	return bcm_l3_route_max_ecmp_set(
  41433 			BCM_CONTROL(unit)->unit,
  41434 			max);
  41435 }
  41436 
  41437 int
  41438 bcm_loop_l3_route_multipath_get(
  41439 	int	unit,
  41440 	bcm_l3_route_t *	the_route,
  41441 	bcm_l3_route_t *	path_array,
  41442 	int	max_path,
  41443 	int *	path_count)
  41444 {
  41445 	return bcm_l3_route_multipath_get(
  41446 			BCM_CONTROL(unit)->unit,
  41447 			the_route,
  41448 			path_array,
  41449 			max_path,
  41450 			path_count);
  41451 }
  41452 
  41453 int
  41454 bcm_loop_l3_route_stat_attach(
  41455 	int	unit,
  41456 	bcm_l3_route_t *	info,
  41457 	uint32	stat_counter_id)
  41458 {
  41459 	return bcm_l3_route_stat_attach(
  41460 			BCM_CONTROL(unit)->unit,
  41461 			info,
  41462 			stat_counter_id);
  41463 }
  41464 
  41465 int
  41466 bcm_loop_l3_route_stat_counter_get(
  41467 	int	unit,
  41468 	bcm_l3_route_t *	info,
  41469 	bcm_l3_route_stat_t	stat,
  41470 	uint32	num_entries,
  41471 	uint32 *	counter_indexes,
  41472 	bcm_stat_value_t *	counter_values)
  41473 {
  41474 	return bcm_l3_route_stat_counter_get(
  41475 			BCM_CONTROL(unit)->unit,
  41476 			info,
  41477 			stat,
  41478 			num_entries,
  41479 			counter_indexes,
  41480 			counter_values);
  41481 }
  41482 
  41483 int
  41484 bcm_loop_l3_route_stat_counter_set(
  41485 	int	unit,
  41486 	bcm_l3_route_t *	info,
  41487 	bcm_l3_route_stat_t	stat,
  41488 	uint32	num_entries,
  41489 	uint32 *	counter_indexes,
  41490 	bcm_stat_value_t *	counter_values)
  41491 {
  41492 	return bcm_l3_route_stat_counter_set(
  41493 			BCM_CONTROL(unit)->unit,
  41494 			info,
  41495 			stat,
  41496 			num_entries,
  41497 			counter_indexes,
  41498 			counter_values);
  41499 }
  41500 
  41501 int
  41502 bcm_loop_l3_route_stat_counter_sync_get(
  41503 	int	unit,
  41504 	bcm_l3_route_t *	info,
  41505 	bcm_l3_route_stat_t	stat,
  41506 	uint32	num_entries,
  41507 	uint32 *	counter_indexes,
  41508 	bcm_stat_value_t *	counter_values)
  41509 {
  41510 	return bcm_l3_route_stat_counter_sync_get(
  41511 			BCM_CONTROL(unit)->unit,
  41512 			info,
  41513 			stat,
  41514 			num_entries,
  41515 			counter_indexes,
  41516 			counter_values);
  41517 }
  41518 
  41519 int
  41520 bcm_loop_l3_route_stat_detach(
  41521 	int	unit,
  41522 	bcm_l3_route_t *	info)
  41523 {
  41524 	return bcm_l3_route_stat_detach(
  41525 			BCM_CONTROL(unit)->unit,
  41526 			info);
  41527 }
  41528 
  41529 int
  41530 bcm_loop_l3_route_stat_enable_set(
  41531 	int	unit,
  41532 	bcm_l3_route_t *	route,
  41533 	int	enable)
  41534 {
  41535 	return bcm_l3_route_stat_enable_set(
  41536 			BCM_CONTROL(unit)->unit,
  41537 			route,
  41538 			enable);
  41539 }
  41540 
  41541 int
  41542 bcm_loop_l3_route_stat_get(
  41543 	int	unit,
  41544 	bcm_l3_route_t *	route,
  41545 	bcm_l3_stat_t	stat,
  41546 	uint64 *	val)
  41547 {
  41548 	return bcm_l3_route_stat_get(
  41549 			BCM_CONTROL(unit)->unit,
  41550 			route,
  41551 			stat,
  41552 			val);
  41553 }
  41554 
  41555 int
  41556 bcm_loop_l3_route_stat_get32(
  41557 	int	unit,
  41558 	bcm_l3_route_t *	route,
  41559 	bcm_l3_stat_t	stat,
  41560 	uint32 *	val)
  41561 {
  41562 	return bcm_l3_route_stat_get32(
  41563 			BCM_CONTROL(unit)->unit,
  41564 			route,
  41565 			stat,
  41566 			val);
  41567 }
  41568 
  41569 int
  41570 bcm_loop_l3_route_stat_id_get(
  41571 	int	unit,
  41572 	bcm_l3_route_t *	info,
  41573 	bcm_l3_route_stat_t	stat,
  41574 	uint32 *	stat_counter_id)
  41575 {
  41576 	return bcm_l3_route_stat_id_get(
  41577 			BCM_CONTROL(unit)->unit,
  41578 			info,
  41579 			stat,
  41580 			stat_counter_id);
  41581 }
  41582 
  41583 int
  41584 bcm_loop_l3_route_stat_multi_get(
  41585 	int	unit,
  41586 	bcm_l3_route_t *	info,
  41587 	int	nstat,
  41588 	bcm_l3_route_stat_t *	stat_arr,
  41589 	uint64 *	value_arr)
  41590 {
  41591 	return bcm_l3_route_stat_multi_get(
  41592 			BCM_CONTROL(unit)->unit,
  41593 			info,
  41594 			nstat,
  41595 			stat_arr,
  41596 			value_arr);
  41597 }
  41598 
  41599 int
  41600 bcm_loop_l3_route_stat_multi_get32(
  41601 	int	unit,
  41602 	bcm_l3_route_t *	info,
  41603 	int	nstat,
  41604 	bcm_l3_route_stat_t *	stat_arr,
  41605 	uint32 *	value_arr)
  41606 {
  41607 	return bcm_l3_route_stat_multi_get32(
  41608 			BCM_CONTROL(unit)->unit,
  41609 			info,
  41610 			nstat,
  41611 			stat_arr,
  41612 			value_arr);
  41613 }
  41614 
  41615 int
  41616 bcm_loop_l3_route_stat_multi_set(
  41617 	int	unit,
  41618 	bcm_l3_route_t *	info,
  41619 	int	nstat,
  41620 	bcm_l3_route_stat_t *	stat_arr,
  41621 	uint64 *	value_arr)
  41622 {
  41623 	return bcm_l3_route_stat_multi_set(
  41624 			BCM_CONTROL(unit)->unit,
  41625 			info,
  41626 			nstat,
  41627 			stat_arr,
  41628 			value_arr);
  41629 }
  41630 
  41631 int
  41632 bcm_loop_l3_route_stat_multi_set32(
  41633 	int	unit,
  41634 	bcm_l3_route_t *	info,
  41635 	int	nstat,
  41636 	bcm_l3_route_stat_t *	stat_arr,
  41637 	uint32 *	value_arr)
  41638 {
  41639 	return bcm_l3_route_stat_multi_set32(
  41640 			BCM_CONTROL(unit)->unit,
  41641 			info,
  41642 			nstat,
  41643 			stat_arr,
  41644 			value_arr);
  41645 }
  41646 
  41647 int
  41648 bcm_loop_l3_route_stat_set(
  41649 	int	unit,
  41650 	bcm_l3_route_t *	route,
  41651 	bcm_l3_stat_t	stat,
  41652 	uint64	val)
  41653 {
  41654 	return bcm_l3_route_stat_set(
  41655 			BCM_CONTROL(unit)->unit,
  41656 			route,
  41657 			stat,
  41658 			val);
  41659 }
  41660 
  41661 int
  41662 bcm_loop_l3_route_stat_set32(
  41663 	int	unit,
  41664 	bcm_l3_route_t *	route,
  41665 	bcm_l3_stat_t	stat,
  41666 	uint32	val)
  41667 {
  41668 	return bcm_l3_route_stat_set32(
  41669 			BCM_CONTROL(unit)->unit,
  41670 			route,
  41671 			stat,
  41672 			val);
  41673 }
  41674 
  41675 /* bcm_l3_route_t_init not dispatchable */
  41676 
  41677 int
  41678 bcm_loop_l3_route_traverse(
  41679 	int	unit,
  41680 	uint32	flags,
  41681 	uint32	start,
  41682 	uint32	end,
  41683 	bcm_l3_route_traverse_cb	trav_fn,
  41684 	void *	user_data)
  41685 {
  41686 	return bcm_l3_route_traverse(
  41687 			BCM_CONTROL(unit)->unit,
  41688 			flags,
  41689 			start,
  41690 			end,
  41691 			trav_fn,
  41692 			user_data);
  41693 }
  41694 
  41695 int
  41696 bcm_loop_l3_source_bind_add(
  41697 	int	unit,
  41698 	bcm_l3_source_bind_t *	info)
  41699 {
  41700 	return bcm_l3_source_bind_add(
  41701 			BCM_CONTROL(unit)->unit,
  41702 			info);
  41703 }
  41704 
  41705 int
  41706 bcm_loop_l3_source_bind_delete(
  41707 	int	unit,
  41708 	bcm_l3_source_bind_t *	info)
  41709 {
  41710 	return bcm_l3_source_bind_delete(
  41711 			BCM_CONTROL(unit)->unit,
  41712 			info);
  41713 }
  41714 
  41715 int
  41716 bcm_loop_l3_source_bind_delete_all(
  41717 	int	unit)
  41718 {
  41719 	return bcm_l3_source_bind_delete_all(
  41720 			BCM_CONTROL(unit)->unit);
  41721 }
  41722 
  41723 int
  41724 bcm_loop_l3_source_bind_enable_get(
  41725 	int	unit,
  41726 	bcm_port_t	port,
  41727 	int *	enable)
  41728 {
  41729 	return bcm_l3_source_bind_enable_get(
  41730 			BCM_CONTROL(unit)->unit,
  41731 			port,
  41732 			enable);
  41733 }
  41734 
  41735 int
  41736 bcm_loop_l3_source_bind_enable_set(
  41737 	int	unit,
  41738 	bcm_port_t	port,
  41739 	int	enable)
  41740 {
  41741 	return bcm_l3_source_bind_enable_set(
  41742 			BCM_CONTROL(unit)->unit,
  41743 			port,
  41744 			enable);
  41745 }
  41746 
  41747 int
  41748 bcm_loop_l3_source_bind_get(
  41749 	int	unit,
  41750 	bcm_l3_source_bind_t *	info)
  41751 {
  41752 	return bcm_l3_source_bind_get(
  41753 			BCM_CONTROL(unit)->unit,
  41754 			info);
  41755 }
  41756 
  41757 /* bcm_l3_source_bind_t_init not dispatchable */
  41758 
  41759 int
  41760 bcm_loop_l3_source_bind_traverse(
  41761 	int	unit,
  41762 	bcm_l3_source_bind_traverse_cb	cb,
  41763 	void *	user_data)
  41764 {
  41765 	return bcm_l3_source_bind_traverse(
  41766 			BCM_CONTROL(unit)->unit,
  41767 			cb,
  41768 			user_data);
  41769 }
  41770 
  41771 int
  41772 bcm_loop_l3_subnet_route_find(
  41773 	int	unit,
  41774 	bcm_l3_route_t *	input,
  41775 	bcm_l3_route_t *	route)
  41776 {
  41777 	return bcm_l3_subnet_route_find(
  41778 			BCM_CONTROL(unit)->unit,
  41779 			input,
  41780 			route);
  41781 }
  41782 
  41783 int
  41784 bcm_loop_l3_vpbr_entry_add(
  41785 	int	unit,
  41786 	bcm_l3_vpbr_entry_t *	entry)
  41787 {
  41788 	return bcm_l3_vpbr_entry_add(
  41789 			BCM_CONTROL(unit)->unit,
  41790 			entry);
  41791 }
  41792 
  41793 int
  41794 bcm_loop_l3_vpbr_entry_delete(
  41795 	int	unit,
  41796 	bcm_l3_vpbr_entry_t *	entry)
  41797 {
  41798 	return bcm_l3_vpbr_entry_delete(
  41799 			BCM_CONTROL(unit)->unit,
  41800 			entry);
  41801 }
  41802 
  41803 int
  41804 bcm_loop_l3_vpbr_entry_delete_all(
  41805 	int	unit,
  41806 	bcm_l3_vpbr_entry_t *	entry)
  41807 {
  41808 	return bcm_l3_vpbr_entry_delete_all(
  41809 			BCM_CONTROL(unit)->unit,
  41810 			entry);
  41811 }
  41812 
  41813 int
  41814 bcm_loop_l3_vpbr_entry_get(
  41815 	int	unit,
  41816 	bcm_l3_vpbr_entry_t *	entry)
  41817 {
  41818 	return bcm_l3_vpbr_entry_get(
  41819 			BCM_CONTROL(unit)->unit,
  41820 			entry);
  41821 }
  41822 
  41823 /* bcm_l3_vpbr_entry_t_init not dispatchable */
  41824 
  41825 int
  41826 bcm_loop_l3_vpbr_traverse(
  41827 	int	unit,
  41828 	uint32	flags,
  41829 	bcm_l3_vpbr_traverse_cb	cb,
  41830 	void *	user_data)
  41831 {
  41832 	return bcm_l3_vpbr_traverse(
  41833 			BCM_CONTROL(unit)->unit,
  41834 			flags,
  41835 			cb,
  41836 			user_data);
  41837 }
  41838 
  41839 int
  41840 bcm_loop_l3_vrf_route_data_mode_get(
  41841 	int	unit,
  41842 	bcm_vrf_t	vrf,
  41843 	uint32	flags,
  41844 	bcm_l3_vrf_route_data_mode_t *	mode)
  41845 {
  41846 	return bcm_l3_vrf_route_data_mode_get(
  41847 			BCM_CONTROL(unit)->unit,
  41848 			vrf,
  41849 			flags,
  41850 			mode);
  41851 }
  41852 
  41853 int
  41854 bcm_loop_l3_vrf_route_data_mode_set(
  41855 	int	unit,
  41856 	bcm_vrf_t	vrf,
  41857 	uint32	flags,
  41858 	bcm_l3_vrf_route_data_mode_t	mode)
  41859 {
  41860 	return bcm_l3_vrf_route_data_mode_set(
  41861 			BCM_CONTROL(unit)->unit,
  41862 			vrf,
  41863 			flags,
  41864 			mode);
  41865 }
  41866 
  41867 int
  41868 bcm_loop_l3_vrf_stat_attach(
  41869 	int	unit,
  41870 	bcm_vrf_t	vrf,
  41871 	uint32	stat_counter_id)
  41872 {
  41873 	return bcm_l3_vrf_stat_attach(
  41874 			BCM_CONTROL(unit)->unit,
  41875 			vrf,
  41876 			stat_counter_id);
  41877 }
  41878 
  41879 int
  41880 bcm_loop_l3_vrf_stat_counter_get(
  41881 	int	unit,
  41882 	bcm_vrf_t	vrf,
  41883 	bcm_l3_vrf_stat_t	stat,
  41884 	uint32	num_entries,
  41885 	uint32 *	counter_indexes,
  41886 	bcm_stat_value_t *	counter_values)
  41887 {
  41888 	return bcm_l3_vrf_stat_counter_get(
  41889 			BCM_CONTROL(unit)->unit,
  41890 			vrf,
  41891 			stat,
  41892 			num_entries,
  41893 			counter_indexes,
  41894 			counter_values);
  41895 }
  41896 
  41897 int
  41898 bcm_loop_l3_vrf_stat_counter_set(
  41899 	int	unit,
  41900 	bcm_vrf_t	vrf,
  41901 	bcm_l3_vrf_stat_t	stat,
  41902 	uint32	num_entries,
  41903 	uint32 *	counter_indexes,
  41904 	bcm_stat_value_t *	counter_values)
  41905 {
  41906 	return bcm_l3_vrf_stat_counter_set(
  41907 			BCM_CONTROL(unit)->unit,
  41908 			vrf,
  41909 			stat,
  41910 			num_entries,
  41911 			counter_indexes,
  41912 			counter_values);
  41913 }
  41914 
  41915 int
  41916 bcm_loop_l3_vrf_stat_counter_sync_get(
  41917 	int	unit,
  41918 	bcm_vrf_t	vrf,
  41919 	bcm_l3_vrf_stat_t	stat,
  41920 	uint32	num_entries,
  41921 	uint32 *	counter_indexes,
  41922 	bcm_stat_value_t *	counter_values)
  41923 {
  41924 	return bcm_l3_vrf_stat_counter_sync_get(
  41925 			BCM_CONTROL(unit)->unit,
  41926 			vrf,
  41927 			stat,
  41928 			num_entries,
  41929 			counter_indexes,
  41930 			counter_values);
  41931 }
  41932 
  41933 int
  41934 bcm_loop_l3_vrf_stat_detach(
  41935 	int	unit,
  41936 	bcm_vrf_t	vrf)
  41937 {
  41938 	return bcm_l3_vrf_stat_detach(
  41939 			BCM_CONTROL(unit)->unit,
  41940 			vrf);
  41941 }
  41942 
  41943 int
  41944 bcm_loop_l3_vrf_stat_enable_set(
  41945 	int	unit,
  41946 	bcm_vrf_t	vrf,
  41947 	int	enable)
  41948 {
  41949 	return bcm_l3_vrf_stat_enable_set(
  41950 			BCM_CONTROL(unit)->unit,
  41951 			vrf,
  41952 			enable);
  41953 }
  41954 
  41955 int
  41956 bcm_loop_l3_vrf_stat_get(
  41957 	int	unit,
  41958 	bcm_vrf_t	vrf,
  41959 	bcm_l3_vrf_stat_t	stat,
  41960 	uint64 *	val)
  41961 {
  41962 	return bcm_l3_vrf_stat_get(
  41963 			BCM_CONTROL(unit)->unit,
  41964 			vrf,
  41965 			stat,
  41966 			val);
  41967 }
  41968 
  41969 int
  41970 bcm_loop_l3_vrf_stat_get32(
  41971 	int	unit,
  41972 	bcm_vrf_t	vrf,
  41973 	bcm_l3_vrf_stat_t	stat,
  41974 	uint32 *	val)
  41975 {
  41976 	return bcm_l3_vrf_stat_get32(
  41977 			BCM_CONTROL(unit)->unit,
  41978 			vrf,
  41979 			stat,
  41980 			val);
  41981 }
  41982 
  41983 int
  41984 bcm_loop_l3_vrf_stat_id_get(
  41985 	int	unit,
  41986 	bcm_vrf_t	vrf,
  41987 	bcm_l3_vrf_stat_t	stat,
  41988 	uint32 *	stat_counter_id)
  41989 {
  41990 	return bcm_l3_vrf_stat_id_get(
  41991 			BCM_CONTROL(unit)->unit,
  41992 			vrf,
  41993 			stat,
  41994 			stat_counter_id);
  41995 }
  41996 
  41997 int
  41998 bcm_loop_l3_vrf_stat_multi_get(
  41999 	int	unit,
  42000 	bcm_vrf_t	vrf,
  42001 	int	nstat,
  42002 	bcm_l3_vrf_stat_t *	stat_arr,
  42003 	uint64 *	value_arr)
  42004 {
  42005 	return bcm_l3_vrf_stat_multi_get(
  42006 			BCM_CONTROL(unit)->unit,
  42007 			vrf,
  42008 			nstat,
  42009 			stat_arr,
  42010 			value_arr);
  42011 }
  42012 
  42013 int
  42014 bcm_loop_l3_vrf_stat_multi_get32(
  42015 	int	unit,
  42016 	bcm_vrf_t	vrf,
  42017 	int	nstat,
  42018 	bcm_l3_vrf_stat_t *	stat_arr,
  42019 	uint32 *	value_arr)
  42020 {
  42021 	return bcm_l3_vrf_stat_multi_get32(
  42022 			BCM_CONTROL(unit)->unit,
  42023 			vrf,
  42024 			nstat,
  42025 			stat_arr,
  42026 			value_arr);
  42027 }
  42028 
  42029 int
  42030 bcm_loop_l3_vrf_stat_multi_set(
  42031 	int	unit,
  42032 	bcm_vrf_t	vrf,
  42033 	int	nstat,
  42034 	bcm_l3_vrf_stat_t *	stat_arr,
  42035 	uint64 *	value_arr)
  42036 {
  42037 	return bcm_l3_vrf_stat_multi_set(
  42038 			BCM_CONTROL(unit)->unit,
  42039 			vrf,
  42040 			nstat,
  42041 			stat_arr,
  42042 			value_arr);
  42043 }
  42044 
  42045 int
  42046 bcm_loop_l3_vrf_stat_multi_set32(
  42047 	int	unit,
  42048 	bcm_vrf_t	vrf,
  42049 	int	nstat,
  42050 	bcm_l3_vrf_stat_t *	stat_arr,
  42051 	uint32 *	value_arr)
  42052 {
  42053 	return bcm_l3_vrf_stat_multi_set32(
  42054 			BCM_CONTROL(unit)->unit,
  42055 			vrf,
  42056 			nstat,
  42057 			stat_arr,
  42058 			value_arr);
  42059 }
  42060 
  42061 int
  42062 bcm_loop_l3_vrf_stat_set(
  42063 	int	unit,
  42064 	bcm_vrf_t	vrf,
  42065 	bcm_l3_vrf_stat_t	stat,
  42066 	uint64	val)
  42067 {
  42068 	return bcm_l3_vrf_stat_set(
  42069 			BCM_CONTROL(unit)->unit,
  42070 			vrf,
  42071 			stat,
  42072 			val);
  42073 }
  42074 
  42075 int
  42076 bcm_loop_l3_vrf_stat_set32(
  42077 	int	unit,
  42078 	bcm_vrf_t	vrf,
  42079 	bcm_l3_vrf_stat_t	stat,
  42080 	uint32	val)
  42081 {
  42082 	return bcm_l3_vrf_stat_set32(
  42083 			BCM_CONTROL(unit)->unit,
  42084 			vrf,
  42085 			stat,
  42086 			val);
  42087 }
  42088 
  42089 int
  42090 bcm_loop_l3_vrf_stat_sync_get(
  42091 	int	unit,
  42092 	bcm_vrf_t	vrf,
  42093 	bcm_l3_vrf_stat_t	stat,
  42094 	uint64 *	val)
  42095 {
  42096 	return bcm_l3_vrf_stat_sync_get(
  42097 			BCM_CONTROL(unit)->unit,
  42098 			vrf,
  42099 			stat,
  42100 			val);
  42101 }
  42102 
  42103 int
  42104 bcm_loop_l3_vrf_stat_sync_get32(
  42105 	int	unit,
  42106 	bcm_vrf_t	vrf,
  42107 	bcm_l3_vrf_stat_t	stat,
  42108 	uint32 *	val)
  42109 {
  42110 	return bcm_l3_vrf_stat_sync_get32(
  42111 			BCM_CONTROL(unit)->unit,
  42112 			vrf,
  42113 			stat,
  42114 			val);
  42115 }
  42116 
  42117 int
  42118 bcm_loop_l3_vrrp_add(
  42119 	int	unit,
  42120 	bcm_vlan_t	vlan,
  42121 	uint32	vrid)
  42122 {
  42123 	return bcm_l3_vrrp_add(
  42124 			BCM_CONTROL(unit)->unit,
  42125 			vlan,
  42126 			vrid);
  42127 }
  42128 
  42129 int
  42130 bcm_loop_l3_vrrp_config_add(
  42131 	int	unit,
  42132 	uint32	flags,
  42133 	bcm_vlan_t	vlan,
  42134 	uint32	vrid)
  42135 {
  42136 	return bcm_l3_vrrp_config_add(
  42137 			BCM_CONTROL(unit)->unit,
  42138 			flags,
  42139 			vlan,
  42140 			vrid);
  42141 }
  42142 
  42143 int
  42144 bcm_loop_l3_vrrp_config_delete(
  42145 	int	unit,
  42146 	uint32	flags,
  42147 	bcm_vlan_t	vlan,
  42148 	uint32	vrid)
  42149 {
  42150 	return bcm_l3_vrrp_config_delete(
  42151 			BCM_CONTROL(unit)->unit,
  42152 			flags,
  42153 			vlan,
  42154 			vrid);
  42155 }
  42156 
  42157 int
  42158 bcm_loop_l3_vrrp_config_delete_all(
  42159 	int	unit,
  42160 	uint32	flags,
  42161 	bcm_vlan_t	vlan)
  42162 {
  42163 	return bcm_l3_vrrp_config_delete_all(
  42164 			BCM_CONTROL(unit)->unit,
  42165 			flags,
  42166 			vlan);
  42167 }
  42168 
  42169 int
  42170 bcm_loop_l3_vrrp_config_get(
  42171 	int	unit,
  42172 	uint32	flags,
  42173 	bcm_vlan_t	vlan,
  42174 	uint32	alloc_size,
  42175 	uint32 *	vrid_array,
  42176 	uint32 *	count)
  42177 {
  42178 	return bcm_l3_vrrp_config_get(
  42179 			BCM_CONTROL(unit)->unit,
  42180 			flags,
  42181 			vlan,
  42182 			alloc_size,
  42183 			vrid_array,
  42184 			count);
  42185 }
  42186 
  42187 int
  42188 bcm_loop_l3_vrrp_delete(
  42189 	int	unit,
  42190 	bcm_vlan_t	vlan,
  42191 	uint32	vrid)
  42192 {
  42193 	return bcm_l3_vrrp_delete(
  42194 			BCM_CONTROL(unit)->unit,
  42195 			vlan,
  42196 			vrid);
  42197 }
  42198 
  42199 int
  42200 bcm_loop_l3_vrrp_delete_all(
  42201 	int	unit,
  42202 	bcm_vlan_t	vlan)
  42203 {
  42204 	return bcm_l3_vrrp_delete_all(
  42205 			BCM_CONTROL(unit)->unit,
  42206 			vlan);
  42207 }
  42208 
  42209 int
  42210 bcm_loop_l3_vrrp_get(
  42211 	int	unit,
  42212 	bcm_vlan_t	vlan,
  42213 	int	alloc_size,
  42214 	int *	vrid_array,
  42215 	int *	count)
  42216 {
  42217 	return bcm_l3_vrrp_get(
  42218 			BCM_CONTROL(unit)->unit,
  42219 			vlan,
  42220 			alloc_size,
  42221 			vrid_array,
  42222 			count);
  42223 }
  42224 
  42225 #endif	/* INCLUDE_L3 */
  42226 
  42227 int
  42228 bcm_loop_latency_monitor_config_get(
  42229 	int	unit,
  42230 	uint8	monitor_id,
  42231 	bcm_latency_monitor_config_t *	config)
  42232 {
  42233 	return bcm_latency_monitor_config_get(
  42234 			BCM_CONTROL(unit)->unit,
  42235 			monitor_id,
  42236 			config);
  42237 }
  42238 
  42239 int
  42240 bcm_loop_latency_monitor_config_set(
  42241 	int	unit,
  42242 	uint8	monitor_id,
  42243 	bcm_latency_monitor_config_t *	config)
  42244 {
  42245 	return bcm_latency_monitor_config_set(
  42246 			BCM_CONTROL(unit)->unit,
  42247 			monitor_id,
  42248 			config);
  42249 }
  42250 
  42251 /* bcm_latency_monitor_config_t_init not dispatchable */
  42252 
  42253 int
  42254 bcm_loop_latency_monitor_cosq_config_get(
  42255 	int	unit,
  42256 	uint8	monitor_id,
  42257 	uint8	cosq,
  42258 	bcm_latency_monitor_cosq_info_t *	cosq_info)
  42259 {
  42260 	return bcm_latency_monitor_cosq_config_get(
  42261 			BCM_CONTROL(unit)->unit,
  42262 			monitor_id,
  42263 			cosq,
  42264 			cosq_info);
  42265 }
  42266 
  42267 int
  42268 bcm_loop_latency_monitor_cosq_config_set(
  42269 	int	unit,
  42270 	uint8	monitor_id,
  42271 	uint8	cosq,
  42272 	bcm_latency_monitor_cosq_info_t	cosq_info)
  42273 {
  42274 	return bcm_latency_monitor_cosq_config_set(
  42275 			BCM_CONTROL(unit)->unit,
  42276 			monitor_id,
  42277 			cosq,
  42278 			cosq_info);
  42279 }
  42280 
  42281 /* bcm_latency_monitor_cosq_info_t_init not dispatchable */
  42282 
  42283 int
  42284 bcm_loop_latency_monitor_destroy(
  42285 	int	unit,
  42286 	uint8	monitor_id)
  42287 {
  42288 	return bcm_latency_monitor_destroy(
  42289 			BCM_CONTROL(unit)->unit,
  42290 			monitor_id);
  42291 }
  42292 
  42293 int
  42294 bcm_loop_latency_monitor_detach(
  42295 	int	unit)
  42296 {
  42297 	return bcm_latency_monitor_detach(
  42298 			BCM_CONTROL(unit)->unit);
  42299 }
  42300 
  42301 int
  42302 bcm_loop_latency_monitor_enable(
  42303 	int	unit,
  42304 	uint8	monitor_id,
  42305 	uint8	enable)
  42306 {
  42307 	return bcm_latency_monitor_enable(
  42308 			BCM_CONTROL(unit)->unit,
  42309 			monitor_id,
  42310 			enable);
  42311 }
  42312 
  42313 int
  42314 bcm_loop_latency_monitor_histogram_get(
  42315 	int	unit,
  42316 	uint8	monitor_id,
  42317 	uint8	cosq,
  42318 	uint8	byte_counter_flag,
  42319 	bcm_latency_monitor_histogram_t *	histogram)
  42320 {
  42321 	return bcm_latency_monitor_histogram_get(
  42322 			BCM_CONTROL(unit)->unit,
  42323 			monitor_id,
  42324 			cosq,
  42325 			byte_counter_flag,
  42326 			histogram);
  42327 }
  42328 
  42329 /* bcm_latency_monitor_histogram_t_init not dispatchable */
  42330 
  42331 int
  42332 bcm_loop_latency_monitor_info_get(
  42333 	int	unit,
  42334 	uint8	monitor_id,
  42335 	bcm_latency_monitor_info_t *	monitor_info)
  42336 {
  42337 	return bcm_latency_monitor_info_get(
  42338 			BCM_CONTROL(unit)->unit,
  42339 			monitor_id,
  42340 			monitor_info);
  42341 }
  42342 
  42343 /* bcm_latency_monitor_info_t_init not dispatchable */
  42344 
  42345 int
  42346 bcm_loop_latency_monitor_init(
  42347 	int	unit)
  42348 {
  42349 	return bcm_latency_monitor_init(
  42350 			BCM_CONTROL(unit)->unit);
  42351 }
  42352 
  42353 int
  42354 bcm_loop_latency_monitor_latency_limit_table_get(
  42355 	int	unit,
  42356 	uint8	table_size,
  42357 	uint32 *	latency_limit_table)
  42358 {
  42359 	return bcm_latency_monitor_latency_limit_table_get(
  42360 			BCM_CONTROL(unit)->unit,
  42361 			table_size,
  42362 			latency_limit_table);
  42363 }
  42364 
  42365 int
  42366 bcm_loop_latency_monitor_latency_limit_table_set(
  42367 	int	unit,
  42368 	uint8	table_size,
  42369 	uint32 *	latency_limit_table)
  42370 {
  42371 	return bcm_latency_monitor_latency_limit_table_set(
  42372 			BCM_CONTROL(unit)->unit,
  42373 			table_size,
  42374 			latency_limit_table);
  42375 }
  42376 
  42377 int
  42378 bcm_loop_lb_control_get(
  42379 	int	unit,
  42380 	bcm_lbg_t	lbg_id,
  42381 	bcm_lb_direction_type_t	direction,
  42382 	uint32	flags,
  42383 	bcm_lb_control_t	lb_control,
  42384 	int *	arg)
  42385 {
  42386 	return bcm_lb_control_get(
  42387 			BCM_CONTROL(unit)->unit,
  42388 			lbg_id,
  42389 			direction,
  42390 			flags,
  42391 			lb_control,
  42392 			arg);
  42393 }
  42394 
  42395 int
  42396 bcm_loop_lb_control_set(
  42397 	int	unit,
  42398 	bcm_lbg_t	lbg_id,
  42399 	bcm_lb_direction_type_t	direction,
  42400 	uint32	flags,
  42401 	bcm_lb_control_t	lb_control,
  42402 	int	arg)
  42403 {
  42404 	return bcm_lb_control_set(
  42405 			BCM_CONTROL(unit)->unit,
  42406 			lbg_id,
  42407 			direction,
  42408 			flags,
  42409 			lb_control,
  42410 			arg);
  42411 }
  42412 
  42413 int
  42414 bcm_loop_lb_enable_get(
  42415 	int	unit,
  42416 	bcm_lbg_t	lbg_id,
  42417 	uint32	flags,
  42418 	uint32 *	enable)
  42419 {
  42420 	return bcm_lb_enable_get(
  42421 			BCM_CONTROL(unit)->unit,
  42422 			lbg_id,
  42423 			flags,
  42424 			enable);
  42425 }
  42426 
  42427 int
  42428 bcm_loop_lb_enable_set(
  42429 	int	unit,
  42430 	bcm_lbg_t	lbg_id,
  42431 	uint32	flags,
  42432 	uint32	enable)
  42433 {
  42434 	return bcm_lb_enable_set(
  42435 			BCM_CONTROL(unit)->unit,
  42436 			lbg_id,
  42437 			flags,
  42438 			enable);
  42439 }
  42440 
  42441 int
  42442 bcm_loop_lb_flush_configure_get(
  42443 	int	unit,
  42444 	bcm_lbg_t	lbg_id,
  42445 	uint32	flags,
  42446 	bcm_lb_flush_type_t	type,
  42447 	int *	arg)
  42448 {
  42449 	return bcm_lb_flush_configure_get(
  42450 			BCM_CONTROL(unit)->unit,
  42451 			lbg_id,
  42452 			flags,
  42453 			type,
  42454 			arg);
  42455 }
  42456 
  42457 int
  42458 bcm_loop_lb_flush_configure_set(
  42459 	int	unit,
  42460 	bcm_lbg_t	lbg_id,
  42461 	uint32	flags,
  42462 	bcm_lb_flush_type_t	type,
  42463 	int	arg)
  42464 {
  42465 	return bcm_lb_flush_configure_set(
  42466 			BCM_CONTROL(unit)->unit,
  42467 			lbg_id,
  42468 			flags,
  42469 			type,
  42470 			arg);
  42471 }
  42472 
  42473 /* bcm_lb_lbg_weight_t_init not dispatchable */
  42474 
  42475 int
  42476 bcm_loop_lb_modem_control_get(
  42477 	int	unit,
  42478 	bcm_modem_t	modem_id,
  42479 	bcm_lb_direction_type_t	direction,
  42480 	uint32	flags,
  42481 	bcm_lb_modem_control_t	modem_control,
  42482 	int *	arg)
  42483 {
  42484 	return bcm_lb_modem_control_get(
  42485 			BCM_CONTROL(unit)->unit,
  42486 			modem_id,
  42487 			direction,
  42488 			flags,
  42489 			modem_control,
  42490 			arg);
  42491 }
  42492 
  42493 int
  42494 bcm_loop_lb_modem_control_set(
  42495 	int	unit,
  42496 	bcm_modem_t	modem_id,
  42497 	bcm_lb_direction_type_t	direction,
  42498 	uint32	flags,
  42499 	bcm_lb_modem_control_t	modem_control,
  42500 	int	arg)
  42501 {
  42502 	return bcm_lb_modem_control_set(
  42503 			BCM_CONTROL(unit)->unit,
  42504 			modem_id,
  42505 			direction,
  42506 			flags,
  42507 			modem_control,
  42508 			arg);
  42509 }
  42510 
  42511 int
  42512 bcm_loop_lb_modem_packet_config_get(
  42513 	int	unit,
  42514 	bcm_modem_t	modem_id,
  42515 	uint32	flags,
  42516 	bcm_lb_modem_packet_config_t *	packet_config)
  42517 {
  42518 	return bcm_lb_modem_packet_config_get(
  42519 			BCM_CONTROL(unit)->unit,
  42520 			modem_id,
  42521 			flags,
  42522 			packet_config);
  42523 }
  42524 
  42525 int
  42526 bcm_loop_lb_modem_packet_config_set(
  42527 	int	unit,
  42528 	bcm_modem_t	modem_id,
  42529 	uint32	flags,
  42530 	bcm_lb_modem_packet_config_t *	packet_config)
  42531 {
  42532 	return bcm_lb_modem_packet_config_set(
  42533 			BCM_CONTROL(unit)->unit,
  42534 			modem_id,
  42535 			flags,
  42536 			packet_config);
  42537 }
  42538 
  42539 /* bcm_lb_modem_packet_config_t_init not dispatchable */
  42540 
  42541 /* bcm_lb_modem_shaper_config_t_init not dispatchable */
  42542 
  42543 int
  42544 bcm_loop_lb_modem_shaper_get(
  42545 	int	unit,
  42546 	bcm_modem_t	modem_id,
  42547 	uint32	flags,
  42548 	bcm_lb_modem_shaper_config_t *	shaper)
  42549 {
  42550 	return bcm_lb_modem_shaper_get(
  42551 			BCM_CONTROL(unit)->unit,
  42552 			modem_id,
  42553 			flags,
  42554 			shaper);
  42555 }
  42556 
  42557 int
  42558 bcm_loop_lb_modem_shaper_set(
  42559 	int	unit,
  42560 	bcm_modem_t	modem_id,
  42561 	uint32	flags,
  42562 	bcm_lb_modem_shaper_config_t *	shaper)
  42563 {
  42564 	return bcm_lb_modem_shaper_set(
  42565 			BCM_CONTROL(unit)->unit,
  42566 			modem_id,
  42567 			flags,
  42568 			shaper);
  42569 }
  42570 
  42571 int
  42572 bcm_loop_lb_modem_stat_get(
  42573 	int	unit,
  42574 	bcm_modem_t	modem_id,
  42575 	bcm_lb_direction_type_t	direction,
  42576 	uint32	flags,
  42577 	bcm_lb_modem_stat_val_t	type,
  42578 	uint64 *	value)
  42579 {
  42580 	return bcm_lb_modem_stat_get(
  42581 			BCM_CONTROL(unit)->unit,
  42582 			modem_id,
  42583 			direction,
  42584 			flags,
  42585 			type,
  42586 			value);
  42587 }
  42588 
  42589 int
  42590 bcm_loop_lb_modem_status_get(
  42591 	int	unit,
  42592 	bcm_modem_t	modem_id,
  42593 	bcm_lb_direction_type_t	direction,
  42594 	uint32	flags,
  42595 	bcm_lb_modem_status_type_t	status_type,
  42596 	int *	value)
  42597 {
  42598 	return bcm_lb_modem_status_get(
  42599 			BCM_CONTROL(unit)->unit,
  42600 			modem_id,
  42601 			direction,
  42602 			flags,
  42603 			status_type,
  42604 			value);
  42605 }
  42606 
  42607 int
  42608 bcm_loop_lb_modem_to_lbg_map_get(
  42609 	int	unit,
  42610 	bcm_modem_t	modem_id,
  42611 	bcm_lb_direction_type_t	direction,
  42612 	uint32	flags,
  42613 	bcm_lbg_t *	lbg_id)
  42614 {
  42615 	return bcm_lb_modem_to_lbg_map_get(
  42616 			BCM_CONTROL(unit)->unit,
  42617 			modem_id,
  42618 			direction,
  42619 			flags,
  42620 			lbg_id);
  42621 }
  42622 
  42623 int
  42624 bcm_loop_lb_modem_to_lbg_map_set(
  42625 	int	unit,
  42626 	bcm_modem_t	modem_id,
  42627 	bcm_lb_direction_type_t	direction,
  42628 	uint32	flags,
  42629 	bcm_lbg_t	lbg_id)
  42630 {
  42631 	return bcm_lb_modem_to_lbg_map_set(
  42632 			BCM_CONTROL(unit)->unit,
  42633 			modem_id,
  42634 			direction,
  42635 			flags,
  42636 			lbg_id);
  42637 }
  42638 
  42639 int
  42640 bcm_loop_lb_modem_to_port_map_get(
  42641 	int	unit,
  42642 	bcm_modem_t	modem_id,
  42643 	uint32	flags,
  42644 	bcm_gport_t *	port)
  42645 {
  42646 	return bcm_lb_modem_to_port_map_get(
  42647 			BCM_CONTROL(unit)->unit,
  42648 			modem_id,
  42649 			flags,
  42650 			port);
  42651 }
  42652 
  42653 int
  42654 bcm_loop_lb_modem_to_port_map_set(
  42655 	int	unit,
  42656 	bcm_modem_t	modem_id,
  42657 	uint32	flags,
  42658 	bcm_gport_t	port)
  42659 {
  42660 	return bcm_lb_modem_to_port_map_set(
  42661 			BCM_CONTROL(unit)->unit,
  42662 			modem_id,
  42663 			flags,
  42664 			port);
  42665 }
  42666 
  42667 int
  42668 bcm_loop_lb_packet_config_get(
  42669 	int	unit,
  42670 	uint32	flags,
  42671 	bcm_lb_packet_config_t *	packet_config)
  42672 {
  42673 	return bcm_lb_packet_config_get(
  42674 			BCM_CONTROL(unit)->unit,
  42675 			flags,
  42676 			packet_config);
  42677 }
  42678 
  42679 int
  42680 bcm_loop_lb_packet_config_set(
  42681 	int	unit,
  42682 	uint32	flags,
  42683 	bcm_lb_packet_config_t *	packet_config)
  42684 {
  42685 	return bcm_lb_packet_config_set(
  42686 			BCM_CONTROL(unit)->unit,
  42687 			flags,
  42688 			packet_config);
  42689 }
  42690 
  42691 /* bcm_lb_packet_config_t_init not dispatchable */
  42692 
  42693 /* bcm_lb_pkt_pri_t_init not dispatchable */
  42694 
  42695 /* bcm_lb_rx_modem_map_config_t_init not dispatchable */
  42696 
  42697 int
  42698 bcm_loop_lb_rx_modem_map_get(
  42699 	int	unit,
  42700 	bcm_lb_rx_modem_map_index_t *	map_index,
  42701 	uint32	flags,
  42702 	bcm_lb_rx_modem_map_config_t *	map_config)
  42703 {
  42704 	return bcm_lb_rx_modem_map_get(
  42705 			BCM_CONTROL(unit)->unit,
  42706 			map_index,
  42707 			flags,
  42708 			map_config);
  42709 }
  42710 
  42711 /* bcm_lb_rx_modem_map_index_t_init not dispatchable */
  42712 
  42713 int
  42714 bcm_loop_lb_rx_modem_map_set(
  42715 	int	unit,
  42716 	bcm_lb_rx_modem_map_index_t *	map_index,
  42717 	uint32	flags,
  42718 	bcm_lb_rx_modem_map_config_t *	map_config)
  42719 {
  42720 	return bcm_lb_rx_modem_map_set(
  42721 			BCM_CONTROL(unit)->unit,
  42722 			map_index,
  42723 			flags,
  42724 			map_config);
  42725 }
  42726 
  42727 int
  42728 bcm_loop_lb_sequence_number_width_get(
  42729 	int	unit,
  42730 	bcm_lbg_t	lbg_id,
  42731 	bcm_lb_direction_type_t	direction,
  42732 	uint32	flags,
  42733 	int *	number_width)
  42734 {
  42735 	return bcm_lb_sequence_number_width_get(
  42736 			BCM_CONTROL(unit)->unit,
  42737 			lbg_id,
  42738 			direction,
  42739 			flags,
  42740 			number_width);
  42741 }
  42742 
  42743 int
  42744 bcm_loop_lb_sequence_number_width_set(
  42745 	int	unit,
  42746 	bcm_lbg_t	lbg_id,
  42747 	bcm_lb_direction_type_t	direction,
  42748 	uint32	flags,
  42749 	int	number_width)
  42750 {
  42751 	return bcm_lb_sequence_number_width_set(
  42752 			BCM_CONTROL(unit)->unit,
  42753 			lbg_id,
  42754 			direction,
  42755 			flags,
  42756 			number_width);
  42757 }
  42758 
  42759 int
  42760 bcm_loop_lb_stat_get(
  42761 	int	unit,
  42762 	bcm_lbg_t	lbg_id,
  42763 	bcm_lb_direction_type_t	direction,
  42764 	uint32	flags,
  42765 	bcm_lb_stat_val_t	type,
  42766 	uint64 *	value)
  42767 {
  42768 	return bcm_lb_stat_get(
  42769 			BCM_CONTROL(unit)->unit,
  42770 			lbg_id,
  42771 			direction,
  42772 			flags,
  42773 			type,
  42774 			value);
  42775 }
  42776 
  42777 int
  42778 bcm_loop_lb_status_get(
  42779 	int	unit,
  42780 	bcm_lbg_t	lbg_id,
  42781 	bcm_lb_direction_type_t	direction,
  42782 	uint32	flags,
  42783 	bcm_lb_status_type_t	status_type,
  42784 	int *	value)
  42785 {
  42786 	return bcm_lb_status_get(
  42787 			BCM_CONTROL(unit)->unit,
  42788 			lbg_id,
  42789 			direction,
  42790 			flags,
  42791 			status_type,
  42792 			value);
  42793 }
  42794 
  42795 /* bcm_lb_tc_dp_t_init not dispatchable */
  42796 
  42797 int
  42798 bcm_loop_lb_tc_dp_to_priority_config_get(
  42799 	int	unit,
  42800 	uint32	flags,
  42801 	bcm_lb_tc_dp_t *	tc_dp,
  42802 	bcm_lb_pkt_pri_t *	pkt_pri)
  42803 {
  42804 	return bcm_lb_tc_dp_to_priority_config_get(
  42805 			BCM_CONTROL(unit)->unit,
  42806 			flags,
  42807 			tc_dp,
  42808 			pkt_pri);
  42809 }
  42810 
  42811 int
  42812 bcm_loop_lb_tc_dp_to_priority_config_set(
  42813 	int	unit,
  42814 	uint32	flags,
  42815 	bcm_lb_tc_dp_t *	tc_dp,
  42816 	bcm_lb_pkt_pri_t *	pkt_pri)
  42817 {
  42818 	return bcm_lb_tc_dp_to_priority_config_set(
  42819 			BCM_CONTROL(unit)->unit,
  42820 			flags,
  42821 			tc_dp,
  42822 			pkt_pri);
  42823 }
  42824 
  42825 int
  42826 bcm_loop_lb_tx_sched_get(
  42827 	int	unit,
  42828 	uint32	flags,
  42829 	int	max_lbg_count,
  42830 	bcm_lb_lbg_weight_t *	lbg_weights,
  42831 	int *	lbg_count)
  42832 {
  42833 	return bcm_lb_tx_sched_get(
  42834 			BCM_CONTROL(unit)->unit,
  42835 			flags,
  42836 			max_lbg_count,
  42837 			lbg_weights,
  42838 			lbg_count);
  42839 }
  42840 
  42841 int
  42842 bcm_loop_lb_tx_sched_set(
  42843 	int	unit,
  42844 	uint32	flags,
  42845 	int	lbg_count,
  42846 	bcm_lb_lbg_weight_t *	lbg_weights)
  42847 {
  42848 	return bcm_lb_tx_sched_set(
  42849 			BCM_CONTROL(unit)->unit,
  42850 			flags,
  42851 			lbg_count,
  42852 			lbg_weights);
  42853 }
  42854 
  42855 int
  42856 bcm_loop_link_change(
  42857 	int	unit,
  42858 	bcm_pbmp_t	pbmp)
  42859 {
  42860 	return bcm_link_change(
  42861 			BCM_CONTROL(unit)->unit,
  42862 			pbmp);
  42863 }
  42864 
  42865 int
  42866 bcm_loop_link_wait(
  42867 	int	unit,
  42868 	bcm_pbmp_t *	pbm,
  42869 	int	us)
  42870 {
  42871 	return bcm_link_wait(
  42872 			BCM_CONTROL(unit)->unit,
  42873 			pbm,
  42874 			us);
  42875 }
  42876 
  42877 int
  42878 bcm_loop_linkscan_detach(
  42879 	int	unit)
  42880 {
  42881 	return bcm_linkscan_detach(
  42882 			BCM_CONTROL(unit)->unit);
  42883 }
  42884 
  42885 #ifdef	BROADCOM_DEBUG
  42886 
  42887 int
  42888 bcm_loop_linkscan_dump(
  42889 	int	unit)
  42890 {
  42891 	return bcm_linkscan_dump(
  42892 			BCM_CONTROL(unit)->unit);
  42893 }
  42894 
  42895 #endif	/* BROADCOM_DEBUG */
  42896 
  42897 int
  42898 bcm_loop_linkscan_enable_get(
  42899 	int	unit,
  42900 	int *	us)
  42901 {
  42902 	return bcm_linkscan_enable_get(
  42903 			BCM_CONTROL(unit)->unit,
  42904 			us);
  42905 }
  42906 
  42907 int
  42908 bcm_loop_linkscan_enable_port_get(
  42909 	int	unit,
  42910 	bcm_port_t	port)
  42911 {
  42912 	return bcm_linkscan_enable_port_get(
  42913 			BCM_CONTROL(unit)->unit,
  42914 			port);
  42915 }
  42916 
  42917 int
  42918 bcm_loop_linkscan_enable_set(
  42919 	int	unit,
  42920 	int	us)
  42921 {
  42922 	return bcm_linkscan_enable_set(
  42923 			BCM_CONTROL(unit)->unit,
  42924 			us);
  42925 }
  42926 
  42927 int
  42928 bcm_loop_linkscan_init(
  42929 	int	unit)
  42930 {
  42931 	return bcm_linkscan_init(
  42932 			BCM_CONTROL(unit)->unit);
  42933 }
  42934 
  42935 int
  42936 bcm_loop_linkscan_mode_get(
  42937 	int	unit,
  42938 	bcm_port_t	port,
  42939 	int *	mode)
  42940 {
  42941 	return bcm_linkscan_mode_get(
  42942 			BCM_CONTROL(unit)->unit,
  42943 			port,
  42944 			mode);
  42945 }
  42946 
  42947 int
  42948 bcm_loop_linkscan_mode_set(
  42949 	int	unit,
  42950 	bcm_port_t	port,
  42951 	int	mode)
  42952 {
  42953 	return bcm_linkscan_mode_set(
  42954 			BCM_CONTROL(unit)->unit,
  42955 			port,
  42956 			mode);
  42957 }
  42958 
  42959 int
  42960 bcm_loop_linkscan_mode_set_pbm(
  42961 	int	unit,
  42962 	bcm_pbmp_t	pbm,
  42963 	int	mode)
  42964 {
  42965 	return bcm_linkscan_mode_set_pbm(
  42966 			BCM_CONTROL(unit)->unit,
  42967 			pbm,
  42968 			mode);
  42969 }
  42970 
  42971 int
  42972 bcm_loop_linkscan_port_register(
  42973 	int	unit,
  42974 	bcm_port_t	port,
  42975 	bcm_linkscan_port_handler_t	f)
  42976 {
  42977 	return bcm_linkscan_port_register(
  42978 			BCM_CONTROL(unit)->unit,
  42979 			port,
  42980 			f);
  42981 }
  42982 
  42983 int
  42984 bcm_loop_linkscan_port_unregister(
  42985 	int	unit,
  42986 	bcm_port_t	port,
  42987 	bcm_linkscan_port_handler_t	f)
  42988 {
  42989 	return bcm_linkscan_port_unregister(
  42990 			BCM_CONTROL(unit)->unit,
  42991 			port,
  42992 			f);
  42993 }
  42994 
  42995 int
  42996 bcm_loop_linkscan_register(
  42997 	int	unit,
  42998 	bcm_linkscan_handler_t	f)
  42999 {
  43000 	return bcm_linkscan_register(
  43001 			BCM_CONTROL(unit)->unit,
  43002 			f);
  43003 }
  43004 
  43005 int
  43006 bcm_loop_linkscan_trigger_event_get(
  43007 	int	unit,
  43008 	bcm_port_t	port,
  43009 	uint32	flags,
  43010 	bcm_linkscan_trigger_event_t	trigger_event,
  43011 	int *	enable)
  43012 {
  43013 	return bcm_linkscan_trigger_event_get(
  43014 			BCM_CONTROL(unit)->unit,
  43015 			port,
  43016 			flags,
  43017 			trigger_event,
  43018 			enable);
  43019 }
  43020 
  43021 int
  43022 bcm_loop_linkscan_trigger_event_set(
  43023 	int	unit,
  43024 	bcm_port_t	port,
  43025 	uint32	flags,
  43026 	bcm_linkscan_trigger_event_t	trigger_event,
  43027 	int	enable)
  43028 {
  43029 	return bcm_linkscan_trigger_event_set(
  43030 			BCM_CONTROL(unit)->unit,
  43031 			port,
  43032 			flags,
  43033 			trigger_event,
  43034 			enable);
  43035 }
  43036 
  43037 int
  43038 bcm_loop_linkscan_unregister(
  43039 	int	unit,
  43040 	bcm_linkscan_handler_t	f)
  43041 {
  43042 	return bcm_linkscan_unregister(
  43043 			BCM_CONTROL(unit)->unit,
  43044 			f);
  43045 }
  43046 
  43047 int
  43048 bcm_loop_linkscan_update(
  43049 	int	unit,
  43050 	bcm_pbmp_t	pbm)
  43051 {
  43052 	return bcm_linkscan_update(
  43053 			BCM_CONTROL(unit)->unit,
  43054 			pbm);
  43055 }
  43056 
  43057 #ifdef	INCLUDE_MACSEC
  43058 
  43059 int
  43060 bcm_loop_macsec_event_enable_get(
  43061 	int	unit,
  43062 	bcm_macsec_event_t	t,
  43063 	int *	enable)
  43064 {
  43065 	return bcm_macsec_event_enable_get(
  43066 			BCM_CONTROL(unit)->unit,
  43067 			t,
  43068 			enable);
  43069 }
  43070 
  43071 int
  43072 bcm_loop_macsec_event_enable_set(
  43073 	int	unit,
  43074 	bcm_macsec_event_t	t,
  43075 	int	enable)
  43076 {
  43077 	return bcm_macsec_event_enable_set(
  43078 			BCM_CONTROL(unit)->unit,
  43079 			t,
  43080 			enable);
  43081 }
  43082 
  43083 int
  43084 bcm_loop_macsec_event_register(
  43085 	int	unit,
  43086 	bcm_macsec_event_cb	cb,
  43087 	void *	user_data)
  43088 {
  43089 	return bcm_macsec_event_register(
  43090 			BCM_CONTROL(unit)->unit,
  43091 			cb,
  43092 			user_data);
  43093 }
  43094 
  43095 int
  43096 bcm_loop_macsec_event_unregister(
  43097 	int	unit,
  43098 	bcm_macsec_event_cb	cb)
  43099 {
  43100 	return bcm_macsec_event_unregister(
  43101 			BCM_CONTROL(unit)->unit,
  43102 			cb);
  43103 }
  43104 
  43105 int
  43106 bcm_loop_macsec_flow_create(
  43107 	int	unit,
  43108 	bcm_port_t	port,
  43109 	uint32	flags,
  43110 	bcm_macsec_flow_match_t *	flow,
  43111 	bcm_macsec_flow_action_t *	action,
  43112 	int *	flowId)
  43113 {
  43114 	return bcm_macsec_flow_create(
  43115 			BCM_CONTROL(unit)->unit,
  43116 			port,
  43117 			flags,
  43118 			flow,
  43119 			action,
  43120 			flowId);
  43121 }
  43122 
  43123 int
  43124 bcm_loop_macsec_flow_destroy(
  43125 	int	unit,
  43126 	bcm_port_t	port,
  43127 	int	flowId)
  43128 {
  43129 	return bcm_macsec_flow_destroy(
  43130 			BCM_CONTROL(unit)->unit,
  43131 			port,
  43132 			flowId);
  43133 }
  43134 
  43135 int
  43136 bcm_loop_macsec_flow_get(
  43137 	int	unit,
  43138 	bcm_port_t	port,
  43139 	int	flowId,
  43140 	bcm_macsec_flow_match_t *	flow,
  43141 	bcm_macsec_flow_action_t *	a)
  43142 {
  43143 	return bcm_macsec_flow_get(
  43144 			BCM_CONTROL(unit)->unit,
  43145 			port,
  43146 			flowId,
  43147 			flow,
  43148 			a);
  43149 }
  43150 
  43151 int
  43152 bcm_loop_macsec_flow_traverse(
  43153 	int	unit,
  43154 	bcm_port_t	port,
  43155 	bcm_macsec_flow_traverse_cb	callbk,
  43156 	void *	user_data)
  43157 {
  43158 	return bcm_macsec_flow_traverse(
  43159 			BCM_CONTROL(unit)->unit,
  43160 			port,
  43161 			callbk,
  43162 			user_data);
  43163 }
  43164 
  43165 int
  43166 bcm_loop_macsec_port_capability_get(
  43167 	int	unit,
  43168 	bcm_port_t	port,
  43169 	bcm_macsec_port_capability_t *	cap)
  43170 {
  43171 	return bcm_macsec_port_capability_get(
  43172 			BCM_CONTROL(unit)->unit,
  43173 			port,
  43174 			cap);
  43175 }
  43176 
  43177 int
  43178 bcm_loop_macsec_port_config_get(
  43179 	int	unit,
  43180 	bcm_port_t	port,
  43181 	bcm_macsec_port_config_t *	cfg)
  43182 {
  43183 	return bcm_macsec_port_config_get(
  43184 			BCM_CONTROL(unit)->unit,
  43185 			port,
  43186 			cfg);
  43187 }
  43188 
  43189 int
  43190 bcm_loop_macsec_port_config_set(
  43191 	int	unit,
  43192 	bcm_port_t	port,
  43193 	bcm_macsec_port_config_t *	cfg)
  43194 {
  43195 	return bcm_macsec_port_config_set(
  43196 			BCM_CONTROL(unit)->unit,
  43197 			port,
  43198 			cfg);
  43199 }
  43200 
  43201 int
  43202 bcm_loop_macsec_port_traverse(
  43203 	int	unit,
  43204 	bcm_macsec_port_traverse_cb	callbk,
  43205 	void *	user_data)
  43206 {
  43207 	return bcm_macsec_port_traverse(
  43208 			BCM_CONTROL(unit)->unit,
  43209 			callbk,
  43210 			user_data);
  43211 }
  43212 
  43213 int
  43214 bcm_loop_macsec_secure_assoc_create(
  43215 	int	unit,
  43216 	bcm_port_t	port,
  43217 	uint32	flags,
  43218 	int	chanId,
  43219 	bcm_macsec_secure_assoc_t *	assoc,
  43220 	int *	assocId)
  43221 {
  43222 	return bcm_macsec_secure_assoc_create(
  43223 			BCM_CONTROL(unit)->unit,
  43224 			port,
  43225 			flags,
  43226 			chanId,
  43227 			assoc,
  43228 			assocId);
  43229 }
  43230 
  43231 int
  43232 bcm_loop_macsec_secure_assoc_destroy(
  43233 	int	unit,
  43234 	bcm_port_t	port,
  43235 	int	assocId)
  43236 {
  43237 	return bcm_macsec_secure_assoc_destroy(
  43238 			BCM_CONTROL(unit)->unit,
  43239 			port,
  43240 			assocId);
  43241 }
  43242 
  43243 int
  43244 bcm_loop_macsec_secure_assoc_get(
  43245 	int	unit,
  43246 	bcm_port_t	port,
  43247 	int	assocId,
  43248 	bcm_macsec_secure_assoc_t *	assoc,
  43249 	int *	chanId)
  43250 {
  43251 	return bcm_macsec_secure_assoc_get(
  43252 			BCM_CONTROL(unit)->unit,
  43253 			port,
  43254 			assocId,
  43255 			assoc,
  43256 			chanId);
  43257 }
  43258 
  43259 int
  43260 bcm_loop_macsec_secure_assoc_traverse(
  43261 	int	unit,
  43262 	bcm_port_t	port,
  43263 	int	chanId,
  43264 	bcm_macsec_secure_assoc_traverse_cb	cb,
  43265 	void *	user_data)
  43266 {
  43267 	return bcm_macsec_secure_assoc_traverse(
  43268 			BCM_CONTROL(unit)->unit,
  43269 			port,
  43270 			chanId,
  43271 			cb,
  43272 			user_data);
  43273 }
  43274 
  43275 int
  43276 bcm_loop_macsec_secure_chan_create(
  43277 	int	unit,
  43278 	bcm_port_t	port,
  43279 	uint32	flags,
  43280 	bcm_macsec_secure_chan_t *	chan,
  43281 	int *	chanId)
  43282 {
  43283 	return bcm_macsec_secure_chan_create(
  43284 			BCM_CONTROL(unit)->unit,
  43285 			port,
  43286 			flags,
  43287 			chan,
  43288 			chanId);
  43289 }
  43290 
  43291 int
  43292 bcm_loop_macsec_secure_chan_destroy(
  43293 	int	unit,
  43294 	bcm_port_t	port,
  43295 	int	chanId)
  43296 {
  43297 	return bcm_macsec_secure_chan_destroy(
  43298 			BCM_CONTROL(unit)->unit,
  43299 			port,
  43300 			chanId);
  43301 }
  43302 
  43303 int
  43304 bcm_loop_macsec_secure_chan_get(
  43305 	int	unit,
  43306 	bcm_port_t	port,
  43307 	int	chanId,
  43308 	bcm_macsec_secure_chan_t *	chan)
  43309 {
  43310 	return bcm_macsec_secure_chan_get(
  43311 			BCM_CONTROL(unit)->unit,
  43312 			port,
  43313 			chanId,
  43314 			chan);
  43315 }
  43316 
  43317 int
  43318 bcm_loop_macsec_secure_chan_traverse(
  43319 	int	unit,
  43320 	bcm_port_t	port,
  43321 	bcm_macsec_chan_traverse_cb	calback,
  43322 	void *	user_data)
  43323 {
  43324 	return bcm_macsec_secure_chan_traverse(
  43325 			BCM_CONTROL(unit)->unit,
  43326 			port,
  43327 			calback,
  43328 			user_data);
  43329 }
  43330 
  43331 int
  43332 bcm_loop_macsec_stat_clear(
  43333 	int	unit,
  43334 	bcm_port_t	port)
  43335 {
  43336 	return bcm_macsec_stat_clear(
  43337 			BCM_CONTROL(unit)->unit,
  43338 			port);
  43339 }
  43340 
  43341 int
  43342 bcm_loop_macsec_stat_get(
  43343 	int	unit,
  43344 	bcm_port_t	port,
  43345 	bcm_macsec_stat_t	stat,
  43346 	int	chanId,
  43347 	int	assocId,
  43348 	uint64 *	val)
  43349 {
  43350 	return bcm_macsec_stat_get(
  43351 			BCM_CONTROL(unit)->unit,
  43352 			port,
  43353 			stat,
  43354 			chanId,
  43355 			assocId,
  43356 			val);
  43357 }
  43358 
  43359 int
  43360 bcm_loop_macsec_stat_get32(
  43361 	int	unit,
  43362 	bcm_port_t	port,
  43363 	bcm_macsec_stat_t	stat,
  43364 	int	chanId,
  43365 	int	assocId,
  43366 	uint32 *	val)
  43367 {
  43368 	return bcm_macsec_stat_get32(
  43369 			BCM_CONTROL(unit)->unit,
  43370 			port,
  43371 			stat,
  43372 			chanId,
  43373 			assocId,
  43374 			val);
  43375 }
  43376 
  43377 int
  43378 bcm_loop_macsec_stat_set(
  43379 	int	unit,
  43380 	bcm_port_t	port,
  43381 	bcm_macsec_stat_t	stat,
  43382 	int	chanId,
  43383 	int	assocId,
  43384 	uint64	val)
  43385 {
  43386 	return bcm_macsec_stat_set(
  43387 			BCM_CONTROL(unit)->unit,
  43388 			port,
  43389 			stat,
  43390 			chanId,
  43391 			assocId,
  43392 			val);
  43393 }
  43394 
  43395 int
  43396 bcm_loop_macsec_stat_set32(
  43397 	int	unit,
  43398 	bcm_port_t	port,
  43399 	bcm_macsec_stat_t	stat,
  43400 	int	chanId,
  43401 	int	assocId,
  43402 	uint32	val)
  43403 {
  43404 	return bcm_macsec_stat_set32(
  43405 			BCM_CONTROL(unit)->unit,
  43406 			port,
  43407 			stat,
  43408 			chanId,
  43409 			assocId,
  43410 			val);
  43411 }
  43412 
  43413 #endif	/* INCLUDE_MACSEC */
  43414 
  43415 int
  43416 bcm_loop_mcast_addr_add(
  43417 	int	unit,
  43418 	bcm_mcast_addr_t *	mcaddr)
  43419 {
  43420 	return bcm_mcast_addr_add(
  43421 			BCM_CONTROL(unit)->unit,
  43422 			mcaddr);
  43423 }
  43424 
  43425 int
  43426 bcm_loop_mcast_addr_add_w_l2mcindex(
  43427 	int	unit,
  43428 	bcm_mcast_addr_t *	mcaddr)
  43429 {
  43430 	return bcm_mcast_addr_add_w_l2mcindex(
  43431 			BCM_CONTROL(unit)->unit,
  43432 			mcaddr);
  43433 }
  43434 
  43435 int
  43436 bcm_loop_mcast_addr_remove(
  43437 	int	unit,
  43438 	bcm_mac_t	mac,
  43439 	bcm_vlan_t	vid)
  43440 {
  43441 	return bcm_mcast_addr_remove(
  43442 			BCM_CONTROL(unit)->unit,
  43443 			mac,
  43444 			vid);
  43445 }
  43446 
  43447 int
  43448 bcm_loop_mcast_addr_remove_w_l2mcindex(
  43449 	int	unit,
  43450 	bcm_mcast_addr_t *	mcaddr)
  43451 {
  43452 	return bcm_mcast_addr_remove_w_l2mcindex(
  43453 			BCM_CONTROL(unit)->unit,
  43454 			mcaddr);
  43455 }
  43456 
  43457 /* bcm_mcast_addr_t_init not dispatchable */
  43458 
  43459 int
  43460 bcm_loop_mcast_bitmap_del(
  43461 	int	unit,
  43462 	int	mc_idx,
  43463 	bcm_port_t	in_port,
  43464 	bcm_pbmp_t	pbmp)
  43465 {
  43466 	return bcm_mcast_bitmap_del(
  43467 			BCM_CONTROL(unit)->unit,
  43468 			mc_idx,
  43469 			in_port,
  43470 			pbmp);
  43471 }
  43472 
  43473 int
  43474 bcm_loop_mcast_bitmap_get(
  43475 	int	unit,
  43476 	int	mc_idx,
  43477 	bcm_port_t	in_port,
  43478 	bcm_pbmp_t *	pbmp)
  43479 {
  43480 	return bcm_mcast_bitmap_get(
  43481 			BCM_CONTROL(unit)->unit,
  43482 			mc_idx,
  43483 			in_port,
  43484 			pbmp);
  43485 }
  43486 
  43487 int
  43488 bcm_loop_mcast_bitmap_max_get(
  43489 	int	unit,
  43490 	int *	max_index)
  43491 {
  43492 	return bcm_mcast_bitmap_max_get(
  43493 			BCM_CONTROL(unit)->unit,
  43494 			max_index);
  43495 }
  43496 
  43497 int
  43498 bcm_loop_mcast_bitmap_set(
  43499 	int	unit,
  43500 	int	mc_idx,
  43501 	bcm_port_t	in_port,
  43502 	bcm_pbmp_t	pbmp)
  43503 {
  43504 	return bcm_mcast_bitmap_set(
  43505 			BCM_CONTROL(unit)->unit,
  43506 			mc_idx,
  43507 			in_port,
  43508 			pbmp);
  43509 }
  43510 
  43511 int
  43512 bcm_loop_mcast_init(
  43513 	int	unit)
  43514 {
  43515 	return bcm_mcast_init(
  43516 			BCM_CONTROL(unit)->unit);
  43517 }
  43518 
  43519 int
  43520 bcm_loop_mcast_join(
  43521 	int	unit,
  43522 	bcm_mac_t	mcMacAddr,
  43523 	bcm_vlan_t	vlanId,
  43524 	int	srcPort,
  43525 	bcm_mcast_addr_t *	mcaddr,
  43526 	bcm_pbmp_t *	allRouterBmp)
  43527 {
  43528 	return bcm_mcast_join(
  43529 			BCM_CONTROL(unit)->unit,
  43530 			mcMacAddr,
  43531 			vlanId,
  43532 			srcPort,
  43533 			mcaddr,
  43534 			allRouterBmp);
  43535 }
  43536 
  43537 int
  43538 bcm_loop_mcast_leave(
  43539 	int	unit,
  43540 	bcm_mac_t	mcMacAddr,
  43541 	bcm_vlan_t	vlanId,
  43542 	int	srcPort)
  43543 {
  43544 	return bcm_mcast_leave(
  43545 			BCM_CONTROL(unit)->unit,
  43546 			mcMacAddr,
  43547 			vlanId,
  43548 			srcPort);
  43549 }
  43550 
  43551 int
  43552 bcm_loop_mcast_port_add(
  43553 	int	unit,
  43554 	bcm_mcast_addr_t *	mcaddr)
  43555 {
  43556 	return bcm_mcast_port_add(
  43557 			BCM_CONTROL(unit)->unit,
  43558 			mcaddr);
  43559 }
  43560 
  43561 int
  43562 bcm_loop_mcast_port_get(
  43563 	int	unit,
  43564 	bcm_mac_t	mac,
  43565 	bcm_vlan_t	vid,
  43566 	bcm_mcast_addr_t *	mcaddr)
  43567 {
  43568 	return bcm_mcast_port_get(
  43569 			BCM_CONTROL(unit)->unit,
  43570 			mac,
  43571 			vid,
  43572 			mcaddr);
  43573 }
  43574 
  43575 int
  43576 bcm_loop_mcast_port_remove(
  43577 	int	unit,
  43578 	bcm_mcast_addr_t *	mcaddr)
  43579 {
  43580 	return bcm_mcast_port_remove(
  43581 			BCM_CONTROL(unit)->unit,
  43582 			mcaddr);
  43583 }
  43584 
  43585 #ifdef	INCLUDE_L3
  43586 
  43587 int
  43588 bcm_loop_mim_detach(
  43589 	int	unit)
  43590 {
  43591 	return bcm_mim_detach(
  43592 			BCM_CONTROL(unit)->unit);
  43593 }
  43594 
  43595 int
  43596 bcm_loop_mim_init(
  43597 	int	unit)
  43598 {
  43599 	return bcm_mim_init(
  43600 			BCM_CONTROL(unit)->unit);
  43601 }
  43602 
  43603 int
  43604 bcm_loop_mim_lookup_id_stat_attach(
  43605 	int	unit,
  43606 	int	lookup_id,
  43607 	uint32	stat_counter_id)
  43608 {
  43609 	return bcm_mim_lookup_id_stat_attach(
  43610 			BCM_CONTROL(unit)->unit,
  43611 			lookup_id,
  43612 			stat_counter_id);
  43613 }
  43614 
  43615 int
  43616 bcm_loop_mim_lookup_id_stat_counter_get(
  43617 	int	unit,
  43618 	int	lookup_id,
  43619 	bcm_mim_stat_t	stat,
  43620 	uint32	num_entries,
  43621 	uint32 *	counter_indexes,
  43622 	bcm_stat_value_t *	counter_values)
  43623 {
  43624 	return bcm_mim_lookup_id_stat_counter_get(
  43625 			BCM_CONTROL(unit)->unit,
  43626 			lookup_id,
  43627 			stat,
  43628 			num_entries,
  43629 			counter_indexes,
  43630 			counter_values);
  43631 }
  43632 
  43633 int
  43634 bcm_loop_mim_lookup_id_stat_counter_set(
  43635 	int	unit,
  43636 	int	lookup_id,
  43637 	bcm_mim_stat_t	stat,
  43638 	uint32	num_entries,
  43639 	uint32 *	counter_indexes,
  43640 	bcm_stat_value_t *	counter_values)
  43641 {
  43642 	return bcm_mim_lookup_id_stat_counter_set(
  43643 			BCM_CONTROL(unit)->unit,
  43644 			lookup_id,
  43645 			stat,
  43646 			num_entries,
  43647 			counter_indexes,
  43648 			counter_values);
  43649 }
  43650 
  43651 int
  43652 bcm_loop_mim_lookup_id_stat_counter_sync_get(
  43653 	int	unit,
  43654 	int	lookup_id,
  43655 	bcm_mim_stat_t	stat,
  43656 	uint32	num_entries,
  43657 	uint32 *	counter_indexes,
  43658 	bcm_stat_value_t *	counter_values)
  43659 {
  43660 	return bcm_mim_lookup_id_stat_counter_sync_get(
  43661 			BCM_CONTROL(unit)->unit,
  43662 			lookup_id,
  43663 			stat,
  43664 			num_entries,
  43665 			counter_indexes,
  43666 			counter_values);
  43667 }
  43668 
  43669 int
  43670 bcm_loop_mim_lookup_id_stat_detach(
  43671 	int	unit,
  43672 	int	lookup_id)
  43673 {
  43674 	return bcm_mim_lookup_id_stat_detach(
  43675 			BCM_CONTROL(unit)->unit,
  43676 			lookup_id);
  43677 }
  43678 
  43679 int
  43680 bcm_loop_mim_lookup_id_stat_id_get(
  43681 	int	unit,
  43682 	int	lookup_id,
  43683 	bcm_mim_stat_t	stat,
  43684 	uint32 *	stat_counter_id)
  43685 {
  43686 	return bcm_mim_lookup_id_stat_id_get(
  43687 			BCM_CONTROL(unit)->unit,
  43688 			lookup_id,
  43689 			stat,
  43690 			stat_counter_id);
  43691 }
  43692 
  43693 int
  43694 bcm_loop_mim_port_add(
  43695 	int	unit,
  43696 	bcm_mim_vpn_t	vpn,
  43697 	bcm_mim_port_t *	mim_port)
  43698 {
  43699 	return bcm_mim_port_add(
  43700 			BCM_CONTROL(unit)->unit,
  43701 			vpn,
  43702 			mim_port);
  43703 }
  43704 
  43705 int
  43706 bcm_loop_mim_port_delete(
  43707 	int	unit,
  43708 	bcm_mim_vpn_t	vpn,
  43709 	bcm_gport_t	mim_port_id)
  43710 {
  43711 	return bcm_mim_port_delete(
  43712 			BCM_CONTROL(unit)->unit,
  43713 			vpn,
  43714 			mim_port_id);
  43715 }
  43716 
  43717 int
  43718 bcm_loop_mim_port_delete_all(
  43719 	int	unit,
  43720 	bcm_mim_vpn_t	vpn)
  43721 {
  43722 	return bcm_mim_port_delete_all(
  43723 			BCM_CONTROL(unit)->unit,
  43724 			vpn);
  43725 }
  43726 
  43727 int
  43728 bcm_loop_mim_port_get(
  43729 	int	unit,
  43730 	bcm_mim_vpn_t	vpn,
  43731 	bcm_mim_port_t *	mim_port)
  43732 {
  43733 	return bcm_mim_port_get(
  43734 			BCM_CONTROL(unit)->unit,
  43735 			vpn,
  43736 			mim_port);
  43737 }
  43738 
  43739 int
  43740 bcm_loop_mim_port_get_all(
  43741 	int	unit,
  43742 	bcm_mim_vpn_t	vpn,
  43743 	int	port_max,
  43744 	bcm_mim_port_t *	port_array,
  43745 	int *	port_count)
  43746 {
  43747 	return bcm_mim_port_get_all(
  43748 			BCM_CONTROL(unit)->unit,
  43749 			vpn,
  43750 			port_max,
  43751 			port_array,
  43752 			port_count);
  43753 }
  43754 
  43755 /* bcm_mim_port_t_init not dispatchable */
  43756 
  43757 /* bcm_mim_vpn_config_t_init not dispatchable */
  43758 
  43759 int
  43760 bcm_loop_mim_vpn_create(
  43761 	int	unit,
  43762 	bcm_mim_vpn_config_t *	info)
  43763 {
  43764 	return bcm_mim_vpn_create(
  43765 			BCM_CONTROL(unit)->unit,
  43766 			info);
  43767 }
  43768 
  43769 int
  43770 bcm_loop_mim_vpn_destroy(
  43771 	int	unit,
  43772 	bcm_mim_vpn_t	vpn)
  43773 {
  43774 	return bcm_mim_vpn_destroy(
  43775 			BCM_CONTROL(unit)->unit,
  43776 			vpn);
  43777 }
  43778 
  43779 int
  43780 bcm_loop_mim_vpn_destroy_all(
  43781 	int	unit)
  43782 {
  43783 	return bcm_mim_vpn_destroy_all(
  43784 			BCM_CONTROL(unit)->unit);
  43785 }
  43786 
  43787 int
  43788 bcm_loop_mim_vpn_get(
  43789 	int	unit,
  43790 	bcm_mim_vpn_t	vpn,
  43791 	bcm_mim_vpn_config_t *	info)
  43792 {
  43793 	return bcm_mim_vpn_get(
  43794 			BCM_CONTROL(unit)->unit,
  43795 			vpn,
  43796 			info);
  43797 }
  43798 
  43799 int
  43800 bcm_loop_mim_vpn_stat_attach(
  43801 	int	unit,
  43802 	bcm_mim_vpn_t	vpn,
  43803 	uint32	stat_counter_id)
  43804 {
  43805 	return bcm_mim_vpn_stat_attach(
  43806 			BCM_CONTROL(unit)->unit,
  43807 			vpn,
  43808 			stat_counter_id);
  43809 }
  43810 
  43811 int
  43812 bcm_loop_mim_vpn_stat_counter_get(
  43813 	int	unit,
  43814 	bcm_mim_vpn_t	vpn,
  43815 	bcm_mim_stat_t	stat,
  43816 	uint32	num_entries,
  43817 	uint32 *	counter_indexes,
  43818 	bcm_stat_value_t *	counter_values)
  43819 {
  43820 	return bcm_mim_vpn_stat_counter_get(
  43821 			BCM_CONTROL(unit)->unit,
  43822 			vpn,
  43823 			stat,
  43824 			num_entries,
  43825 			counter_indexes,
  43826 			counter_values);
  43827 }
  43828 
  43829 int
  43830 bcm_loop_mim_vpn_stat_counter_set(
  43831 	int	unit,
  43832 	bcm_mim_vpn_t	vpn,
  43833 	bcm_mim_stat_t	stat,
  43834 	uint32	num_entries,
  43835 	uint32 *	counter_indexes,
  43836 	bcm_stat_value_t *	counter_values)
  43837 {
  43838 	return bcm_mim_vpn_stat_counter_set(
  43839 			BCM_CONTROL(unit)->unit,
  43840 			vpn,
  43841 			stat,
  43842 			num_entries,
  43843 			counter_indexes,
  43844 			counter_values);
  43845 }
  43846 
  43847 int
  43848 bcm_loop_mim_vpn_stat_counter_sync_get(
  43849 	int	unit,
  43850 	bcm_mim_vpn_t	vpn,
  43851 	bcm_mim_stat_t	stat,
  43852 	uint32	num_entries,
  43853 	uint32 *	counter_indexes,
  43854 	bcm_stat_value_t *	counter_values)
  43855 {
  43856 	return bcm_mim_vpn_stat_counter_sync_get(
  43857 			BCM_CONTROL(unit)->unit,
  43858 			vpn,
  43859 			stat,
  43860 			num_entries,
  43861 			counter_indexes,
  43862 			counter_values);
  43863 }
  43864 
  43865 int
  43866 bcm_loop_mim_vpn_stat_detach(
  43867 	int	unit,
  43868 	bcm_mim_vpn_t	vpn)
  43869 {
  43870 	return bcm_mim_vpn_stat_detach(
  43871 			BCM_CONTROL(unit)->unit,
  43872 			vpn);
  43873 }
  43874 
  43875 int
  43876 bcm_loop_mim_vpn_stat_id_get(
  43877 	int	unit,
  43878 	bcm_mim_vpn_t	vpn,
  43879 	bcm_mim_stat_t	stat,
  43880 	uint32 *	stat_counter_id)
  43881 {
  43882 	return bcm_mim_vpn_stat_id_get(
  43883 			BCM_CONTROL(unit)->unit,
  43884 			vpn,
  43885 			stat,
  43886 			stat_counter_id);
  43887 }
  43888 
  43889 int
  43890 bcm_loop_mim_vpn_traverse(
  43891 	int	unit,
  43892 	bcm_mim_vpn_traverse_cb	cb,
  43893 	void *	user_data)
  43894 {
  43895 	return bcm_mim_vpn_traverse(
  43896 			BCM_CONTROL(unit)->unit,
  43897 			cb,
  43898 			user_data);
  43899 }
  43900 
  43901 #endif	/* INCLUDE_L3 */
  43902 
  43903 int
  43904 bcm_loop_mirror_destination_count_command_get(
  43905 	int	unit,
  43906 	bcm_core_t	core_id,
  43907 	bcm_gport_t	mirror_dest_id,
  43908 	int	counter_cmd_id,
  43909 	uint32	flags,
  43910 	bcm_mirror_profile_cmd_count_t *	mirror_count_info)
  43911 {
  43912 	return bcm_mirror_destination_count_command_get(
  43913 			BCM_CONTROL(unit)->unit,
  43914 			core_id,
  43915 			mirror_dest_id,
  43916 			counter_cmd_id,
  43917 			flags,
  43918 			mirror_count_info);
  43919 }
  43920 
  43921 int
  43922 bcm_loop_mirror_destination_count_command_set(
  43923 	int	unit,
  43924 	bcm_core_t	core_id,
  43925 	bcm_gport_t	mirror_dest_id,
  43926 	int	counter_cmd_id,
  43927 	uint32	flags,
  43928 	bcm_mirror_profile_cmd_count_t *	mirror_count_info)
  43929 {
  43930 	return bcm_mirror_destination_count_command_set(
  43931 			BCM_CONTROL(unit)->unit,
  43932 			core_id,
  43933 			mirror_dest_id,
  43934 			counter_cmd_id,
  43935 			flags,
  43936 			mirror_count_info);
  43937 }
  43938 
  43939 int
  43940 bcm_loop_mirror_destination_create(
  43941 	int	unit,
  43942 	bcm_mirror_destination_t *	mirror_dest)
  43943 {
  43944 	return bcm_mirror_destination_create(
  43945 			BCM_CONTROL(unit)->unit,
  43946 			mirror_dest);
  43947 }
  43948 
  43949 int
  43950 bcm_loop_mirror_destination_destroy(
  43951 	int	unit,
  43952 	bcm_gport_t	mirror_dest_id)
  43953 {
  43954 	return bcm_mirror_destination_destroy(
  43955 			BCM_CONTROL(unit)->unit,
  43956 			mirror_dest_id);
  43957 }
  43958 
  43959 int
  43960 bcm_loop_mirror_destination_get(
  43961 	int	unit,
  43962 	bcm_gport_t	mirror_dest_id,
  43963 	bcm_mirror_destination_t *	mirror_dest)
  43964 {
  43965 	return bcm_mirror_destination_get(
  43966 			BCM_CONTROL(unit)->unit,
  43967 			mirror_dest_id,
  43968 			mirror_dest);
  43969 }
  43970 
  43971 /* bcm_mirror_destination_t_init not dispatchable */
  43972 
  43973 int
  43974 bcm_loop_mirror_destination_traverse(
  43975 	int	unit,
  43976 	bcm_mirror_destination_traverse_cb	cb,
  43977 	void *	user_data)
  43978 {
  43979 	return bcm_mirror_destination_traverse(
  43980 			BCM_CONTROL(unit)->unit,
  43981 			cb,
  43982 			user_data);
  43983 }
  43984 
  43985 int
  43986 bcm_loop_mirror_egress_get(
  43987 	int	unit,
  43988 	bcm_port_t	port,
  43989 	int *	val)
  43990 {
  43991 	return bcm_mirror_egress_get(
  43992 			BCM_CONTROL(unit)->unit,
  43993 			port,
  43994 			val);
  43995 }
  43996 
  43997 int
  43998 bcm_loop_mirror_egress_set(
  43999 	int	unit,
  44000 	bcm_port_t	port,
  44001 	int	val)
  44002 {
  44003 	return bcm_mirror_egress_set(
  44004 			BCM_CONTROL(unit)->unit,
  44005 			port,
  44006 			val);
  44007 }
  44008 
  44009 int
  44010 bcm_loop_mirror_header_info_get(
  44011 	int	unit,
  44012 	bcm_gport_t	mirror_dest_id,
  44013 	uint32 *	flags,
  44014 	bcm_mirror_header_info_t *	mirror_header_info)
  44015 {
  44016 	return bcm_mirror_header_info_get(
  44017 			BCM_CONTROL(unit)->unit,
  44018 			mirror_dest_id,
  44019 			flags,
  44020 			mirror_header_info);
  44021 }
  44022 
  44023 int
  44024 bcm_loop_mirror_header_info_set(
  44025 	int	unit,
  44026 	uint32	flags,
  44027 	bcm_gport_t	mirror_dest_id,
  44028 	bcm_mirror_header_info_t *	mirror_header_info)
  44029 {
  44030 	return bcm_mirror_header_info_set(
  44031 			BCM_CONTROL(unit)->unit,
  44032 			flags,
  44033 			mirror_dest_id,
  44034 			mirror_header_info);
  44035 }
  44036 
  44037 /* bcm_mirror_header_info_t_init not dispatchable */
  44038 
  44039 int
  44040 bcm_loop_mirror_ingress_get(
  44041 	int	unit,
  44042 	bcm_port_t	port,
  44043 	int *	val)
  44044 {
  44045 	return bcm_mirror_ingress_get(
  44046 			BCM_CONTROL(unit)->unit,
  44047 			port,
  44048 			val);
  44049 }
  44050 
  44051 int
  44052 bcm_loop_mirror_ingress_set(
  44053 	int	unit,
  44054 	bcm_port_t	port,
  44055 	int	val)
  44056 {
  44057 	return bcm_mirror_ingress_set(
  44058 			BCM_CONTROL(unit)->unit,
  44059 			port,
  44060 			val);
  44061 }
  44062 
  44063 int
  44064 bcm_loop_mirror_init(
  44065 	int	unit)
  44066 {
  44067 	return bcm_mirror_init(
  44068 			BCM_CONTROL(unit)->unit);
  44069 }
  44070 
  44071 int
  44072 bcm_loop_mirror_mode_get(
  44073 	int	unit,
  44074 	int *	mode)
  44075 {
  44076 	return bcm_mirror_mode_get(
  44077 			BCM_CONTROL(unit)->unit,
  44078 			mode);
  44079 }
  44080 
  44081 int
  44082 bcm_loop_mirror_mode_set(
  44083 	int	unit,
  44084 	int	mode)
  44085 {
  44086 	return bcm_mirror_mode_set(
  44087 			BCM_CONTROL(unit)->unit,
  44088 			mode);
  44089 }
  44090 
  44091 /* bcm_mirror_options_t_init not dispatchable */
  44092 
  44093 int
  44094 bcm_loop_mirror_payload_zero_control_multi_get(
  44095 	int	unit,
  44096 	bcm_mirror_payload_zero_info_t *	payload_zero_config_array,
  44097 	int	num_configs)
  44098 {
  44099 	return bcm_mirror_payload_zero_control_multi_get(
  44100 			BCM_CONTROL(unit)->unit,
  44101 			payload_zero_config_array,
  44102 			num_configs);
  44103 }
  44104 
  44105 int
  44106 bcm_loop_mirror_payload_zero_control_multi_set(
  44107 	int	unit,
  44108 	bcm_mirror_payload_zero_info_t *	payload_zero_config_array,
  44109 	int	num_configs)
  44110 {
  44111 	return bcm_mirror_payload_zero_control_multi_set(
  44112 			BCM_CONTROL(unit)->unit,
  44113 			payload_zero_config_array,
  44114 			num_configs);
  44115 }
  44116 
  44117 /* bcm_mirror_payload_zero_info_t_init not dispatchable */
  44118 
  44119 /* bcm_mirror_payload_zero_offsets_t_init not dispatchable */
  44120 
  44121 int
  44122 bcm_loop_mirror_payload_zero_profile_create(
  44123 	int	unit,
  44124 	bcm_mirror_payload_zero_offsets_t *	mirror_payload_offset_info,
  44125 	uint32	flags,
  44126 	uint32 *	profile_index)
  44127 {
  44128 	return bcm_mirror_payload_zero_profile_create(
  44129 			BCM_CONTROL(unit)->unit,
  44130 			mirror_payload_offset_info,
  44131 			flags,
  44132 			profile_index);
  44133 }
  44134 
  44135 int
  44136 bcm_loop_mirror_payload_zero_profile_destroy(
  44137 	int	unit,
  44138 	uint32	flags,
  44139 	uint32	profile_index)
  44140 {
  44141 	return bcm_mirror_payload_zero_profile_destroy(
  44142 			BCM_CONTROL(unit)->unit,
  44143 			flags,
  44144 			profile_index);
  44145 }
  44146 
  44147 /* bcm_mirror_pkt_header_updates_t_init not dispatchable */
  44148 
  44149 int
  44150 bcm_loop_mirror_port_dest_add(
  44151 	int	unit,
  44152 	bcm_port_t	port,
  44153 	uint32	flags,
  44154 	bcm_gport_t	mirror_dest_id)
  44155 {
  44156 	return bcm_mirror_port_dest_add(
  44157 			BCM_CONTROL(unit)->unit,
  44158 			port,
  44159 			flags,
  44160 			mirror_dest_id);
  44161 }
  44162 
  44163 int
  44164 bcm_loop_mirror_port_dest_delete(
  44165 	int	unit,
  44166 	bcm_port_t	port,
  44167 	uint32	flags,
  44168 	bcm_gport_t	mirror_dest_id)
  44169 {
  44170 	return bcm_mirror_port_dest_delete(
  44171 			BCM_CONTROL(unit)->unit,
  44172 			port,
  44173 			flags,
  44174 			mirror_dest_id);
  44175 }
  44176 
  44177 int
  44178 bcm_loop_mirror_port_dest_delete_all(
  44179 	int	unit,
  44180 	bcm_port_t	port,
  44181 	uint32	flags)
  44182 {
  44183 	return bcm_mirror_port_dest_delete_all(
  44184 			BCM_CONTROL(unit)->unit,
  44185 			port,
  44186 			flags);
  44187 }
  44188 
  44189 int
  44190 bcm_loop_mirror_port_dest_get(
  44191 	int	unit,
  44192 	bcm_port_t	port,
  44193 	uint32	flags,
  44194 	int	mirror_dest_size,
  44195 	bcm_gport_t *	mirror_dest,
  44196 	int *	mirror_dest_count)
  44197 {
  44198 	return bcm_mirror_port_dest_get(
  44199 			BCM_CONTROL(unit)->unit,
  44200 			port,
  44201 			flags,
  44202 			mirror_dest_size,
  44203 			mirror_dest,
  44204 			mirror_dest_count);
  44205 }
  44206 
  44207 int
  44208 bcm_loop_mirror_port_destination_add(
  44209 	int	unit,
  44210 	bcm_port_t	port,
  44211 	uint32	flags,
  44212 	bcm_gport_t	mirror_dest,
  44213 	bcm_mirror_options_t	options)
  44214 {
  44215 	return bcm_mirror_port_destination_add(
  44216 			BCM_CONTROL(unit)->unit,
  44217 			port,
  44218 			flags,
  44219 			mirror_dest,
  44220 			options);
  44221 }
  44222 
  44223 int
  44224 bcm_loop_mirror_port_destination_get(
  44225 	int	unit,
  44226 	bcm_port_t	port,
  44227 	uint32	flags,
  44228 	int	mirror_dest_size,
  44229 	bcm_gport_t *	mirror_dest,
  44230 	int *	mirror_dest_count,
  44231 	bcm_mirror_options_t *	options)
  44232 {
  44233 	return bcm_mirror_port_destination_get(
  44234 			BCM_CONTROL(unit)->unit,
  44235 			port,
  44236 			flags,
  44237 			mirror_dest_size,
  44238 			mirror_dest,
  44239 			mirror_dest_count,
  44240 			options);
  44241 }
  44242 
  44243 int
  44244 bcm_loop_mirror_port_get(
  44245 	int	unit,
  44246 	bcm_port_t	port,
  44247 	bcm_module_t *	dest_mod,
  44248 	bcm_port_t *	dest_port,
  44249 	uint32 *	flags)
  44250 {
  44251 	return bcm_mirror_port_get(
  44252 			BCM_CONTROL(unit)->unit,
  44253 			port,
  44254 			dest_mod,
  44255 			dest_port,
  44256 			flags);
  44257 }
  44258 
  44259 int
  44260 bcm_loop_mirror_port_info_get(
  44261 	int	unit,
  44262 	bcm_port_t	port,
  44263 	uint32	flags,
  44264 	bcm_mirror_port_info_t *	info)
  44265 {
  44266 	return bcm_mirror_port_info_get(
  44267 			BCM_CONTROL(unit)->unit,
  44268 			port,
  44269 			flags,
  44270 			info);
  44271 }
  44272 
  44273 int
  44274 bcm_loop_mirror_port_info_set(
  44275 	int	unit,
  44276 	bcm_port_t	port,
  44277 	uint32	flags,
  44278 	bcm_mirror_port_info_t *	info)
  44279 {
  44280 	return bcm_mirror_port_info_set(
  44281 			BCM_CONTROL(unit)->unit,
  44282 			port,
  44283 			flags,
  44284 			info);
  44285 }
  44286 
  44287 /* bcm_mirror_port_info_t_init not dispatchable */
  44288 
  44289 int
  44290 bcm_loop_mirror_port_set(
  44291 	int	unit,
  44292 	bcm_port_t	port,
  44293 	bcm_module_t	dest_mod,
  44294 	bcm_port_t	dest_port,
  44295 	uint32	flags)
  44296 {
  44297 	return bcm_mirror_port_set(
  44298 			BCM_CONTROL(unit)->unit,
  44299 			port,
  44300 			dest_mod,
  44301 			dest_port,
  44302 			flags);
  44303 }
  44304 
  44305 int
  44306 bcm_loop_mirror_port_to_rcy_port_map_get(
  44307 	int	unit,
  44308 	uint32	flags,
  44309 	bcm_port_t	forward_port,
  44310 	bcm_mirror_port_to_rcy_map_info_t *	rcy_map_info)
  44311 {
  44312 	return bcm_mirror_port_to_rcy_port_map_get(
  44313 			BCM_CONTROL(unit)->unit,
  44314 			flags,
  44315 			forward_port,
  44316 			rcy_map_info);
  44317 }
  44318 
  44319 int
  44320 bcm_loop_mirror_port_to_rcy_port_map_set(
  44321 	int	unit,
  44322 	uint32	flags,
  44323 	bcm_port_t	forward_port,
  44324 	bcm_mirror_port_to_rcy_map_info_t *	rcy_map_info)
  44325 {
  44326 	return bcm_mirror_port_to_rcy_port_map_set(
  44327 			BCM_CONTROL(unit)->unit,
  44328 			flags,
  44329 			forward_port,
  44330 			rcy_map_info);
  44331 }
  44332 
  44333 int
  44334 bcm_loop_mirror_port_vlan_dest_add(
  44335 	int	unit,
  44336 	bcm_port_t	port,
  44337 	bcm_vlan_t	vlan,
  44338 	uint32	flags,
  44339 	bcm_gport_t	destid)
  44340 {
  44341 	return bcm_mirror_port_vlan_dest_add(
  44342 			BCM_CONTROL(unit)->unit,
  44343 			port,
  44344 			vlan,
  44345 			flags,
  44346 			destid);
  44347 }
  44348 
  44349 int
  44350 bcm_loop_mirror_port_vlan_dest_delete(
  44351 	int	unit,
  44352 	bcm_port_t	port,
  44353 	bcm_vlan_t	vlan,
  44354 	uint32	flags,
  44355 	bcm_gport_t	destid)
  44356 {
  44357 	return bcm_mirror_port_vlan_dest_delete(
  44358 			BCM_CONTROL(unit)->unit,
  44359 			port,
  44360 			vlan,
  44361 			flags,
  44362 			destid);
  44363 }
  44364 
  44365 int
  44366 bcm_loop_mirror_port_vlan_dest_delete_all(
  44367 	int	unit,
  44368 	bcm_port_t	port,
  44369 	bcm_vlan_t	vlan,
  44370 	uint32	flags)
  44371 {
  44372 	return bcm_mirror_port_vlan_dest_delete_all(
  44373 			BCM_CONTROL(unit)->unit,
  44374 			port,
  44375 			vlan,
  44376 			flags);
  44377 }
  44378 
  44379 int
  44380 bcm_loop_mirror_port_vlan_dest_get(
  44381 	int	unit,
  44382 	bcm_port_t	port,
  44383 	bcm_vlan_t	vlan,
  44384 	uint32	flags,
  44385 	uint32	mirror_dest_size,
  44386 	bcm_gport_t *	destid,
  44387 	uint32 *	destcount)
  44388 {
  44389 	return bcm_mirror_port_vlan_dest_get(
  44390 			BCM_CONTROL(unit)->unit,
  44391 			port,
  44392 			vlan,
  44393 			flags,
  44394 			mirror_dest_size,
  44395 			destid,
  44396 			destcount);
  44397 }
  44398 
  44399 int
  44400 bcm_loop_mirror_port_vlan_destination_add(
  44401 	int	unit,
  44402 	bcm_port_t	port,
  44403 	bcm_vlan_t	vlan,
  44404 	uint32	flags,
  44405 	bcm_gport_t	destid,
  44406 	bcm_mirror_options_t	options)
  44407 {
  44408 	return bcm_mirror_port_vlan_destination_add(
  44409 			BCM_CONTROL(unit)->unit,
  44410 			port,
  44411 			vlan,
  44412 			flags,
  44413 			destid,
  44414 			options);
  44415 }
  44416 
  44417 int
  44418 bcm_loop_mirror_port_vlan_destination_get(
  44419 	int	unit,
  44420 	bcm_port_t	port,
  44421 	bcm_vlan_t	vlan,
  44422 	uint32	flags,
  44423 	uint32	mirror_dest_size,
  44424 	bcm_gport_t *	destid,
  44425 	uint32 *	destcount,
  44426 	bcm_mirror_options_t *	options)
  44427 {
  44428 	return bcm_mirror_port_vlan_destination_get(
  44429 			BCM_CONTROL(unit)->unit,
  44430 			port,
  44431 			vlan,
  44432 			flags,
  44433 			mirror_dest_size,
  44434 			destid,
  44435 			destcount,
  44436 			options);
  44437 }
  44438 
  44439 int
  44440 bcm_loop_mirror_port_vlan_get(
  44441 	int	unit,
  44442 	bcm_port_t	port,
  44443 	bcm_vlan_t	vlan,
  44444 	bcm_gport_t *	dest_port,
  44445 	uint32 *	flags)
  44446 {
  44447 	return bcm_mirror_port_vlan_get(
  44448 			BCM_CONTROL(unit)->unit,
  44449 			port,
  44450 			vlan,
  44451 			dest_port,
  44452 			flags);
  44453 }
  44454 
  44455 int
  44456 bcm_loop_mirror_port_vlan_set(
  44457 	int	unit,
  44458 	bcm_port_t	port,
  44459 	bcm_vlan_t	vlan,
  44460 	bcm_gport_t	destport,
  44461 	uint32	flags)
  44462 {
  44463 	return bcm_mirror_port_vlan_set(
  44464 			BCM_CONTROL(unit)->unit,
  44465 			port,
  44466 			vlan,
  44467 			destport,
  44468 			flags);
  44469 }
  44470 
  44471 int
  44472 bcm_loop_mirror_to_get(
  44473 	int	unit,
  44474 	bcm_port_t *	port)
  44475 {
  44476 	return bcm_mirror_to_get(
  44477 			BCM_CONTROL(unit)->unit,
  44478 			port);
  44479 }
  44480 
  44481 int
  44482 bcm_loop_mirror_to_pbmp_get(
  44483 	int	unit,
  44484 	bcm_port_t	port,
  44485 	bcm_pbmp_t *	pbmp)
  44486 {
  44487 	return bcm_mirror_to_pbmp_get(
  44488 			BCM_CONTROL(unit)->unit,
  44489 			port,
  44490 			pbmp);
  44491 }
  44492 
  44493 int
  44494 bcm_loop_mirror_to_pbmp_set(
  44495 	int	unit,
  44496 	bcm_port_t	port,
  44497 	bcm_pbmp_t	pbmp)
  44498 {
  44499 	return bcm_mirror_to_pbmp_set(
  44500 			BCM_CONTROL(unit)->unit,
  44501 			port,
  44502 			pbmp);
  44503 }
  44504 
  44505 int
  44506 bcm_loop_mirror_to_set(
  44507 	int	unit,
  44508 	bcm_port_t	port)
  44509 {
  44510 	return bcm_mirror_to_set(
  44511 			BCM_CONTROL(unit)->unit,
  44512 			port);
  44513 }
  44514 
  44515 int
  44516 bcm_loop_mirror_vlan_get(
  44517 	int	unit,
  44518 	bcm_port_t	port,
  44519 	uint16 *	tpid,
  44520 	uint16 *	vlan)
  44521 {
  44522 	return bcm_mirror_vlan_get(
  44523 			BCM_CONTROL(unit)->unit,
  44524 			port,
  44525 			tpid,
  44526 			vlan);
  44527 }
  44528 
  44529 int
  44530 bcm_loop_mirror_vlan_set(
  44531 	int	unit,
  44532 	bcm_port_t	port,
  44533 	uint16	tpid,
  44534 	uint16	vlan)
  44535 {
  44536 	return bcm_mirror_vlan_set(
  44537 			BCM_CONTROL(unit)->unit,
  44538 			port,
  44539 			tpid,
  44540 			vlan);
  44541 }
  44542 
  44543 /* bcm_module_name not dispatchable */
  44544 
  44545 #ifdef	INCLUDE_L3
  44546 
  44547 int
  44548 bcm_loop_mpls_cleanup(
  44549 	int	unit)
  44550 {
  44551 	return bcm_mpls_cleanup(
  44552 			BCM_CONTROL(unit)->unit);
  44553 }
  44554 
  44555 /* bcm_mpls_egress_label_t_init not dispatchable */
  44556 
  44557 int
  44558 bcm_loop_mpls_entropy_identifier_add(
  44559 	int	unit,
  44560 	uint32	options,
  44561 	bcm_mpls_entropy_identifier_t *	info)
  44562 {
  44563 	return bcm_mpls_entropy_identifier_add(
  44564 			BCM_CONTROL(unit)->unit,
  44565 			options,
  44566 			info);
  44567 }
  44568 
  44569 int
  44570 bcm_loop_mpls_entropy_identifier_delete(
  44571 	int	unit,
  44572 	bcm_mpls_entropy_identifier_t *	info)
  44573 {
  44574 	return bcm_mpls_entropy_identifier_delete(
  44575 			BCM_CONTROL(unit)->unit,
  44576 			info);
  44577 }
  44578 
  44579 int
  44580 bcm_loop_mpls_entropy_identifier_delete_all(
  44581 	int	unit)
  44582 {
  44583 	return bcm_mpls_entropy_identifier_delete_all(
  44584 			BCM_CONTROL(unit)->unit);
  44585 }
  44586 
  44587 int
  44588 bcm_loop_mpls_entropy_identifier_get(
  44589 	int	unit,
  44590 	bcm_mpls_entropy_identifier_t *	info)
  44591 {
  44592 	return bcm_mpls_entropy_identifier_get(
  44593 			BCM_CONTROL(unit)->unit,
  44594 			info);
  44595 }
  44596 
  44597 /* bcm_mpls_entropy_identifier_t_init not dispatchable */
  44598 
  44599 int
  44600 bcm_loop_mpls_entropy_identifier_traverse(
  44601 	int	unit,
  44602 	bcm_mpls_entropy_identifier_traverse_cb	cb,
  44603 	void *	user_data)
  44604 {
  44605 	return bcm_mpls_entropy_identifier_traverse(
  44606 			BCM_CONTROL(unit)->unit,
  44607 			cb,
  44608 			user_data);
  44609 }
  44610 
  44611 int
  44612 bcm_loop_mpls_esi_encap_add(
  44613 	int	unit,
  44614 	bcm_mpls_esi_info_t *	esi_info)
  44615 {
  44616 	return bcm_mpls_esi_encap_add(
  44617 			BCM_CONTROL(unit)->unit,
  44618 			esi_info);
  44619 }
  44620 
  44621 int
  44622 bcm_loop_mpls_esi_encap_delete(
  44623 	int	unit,
  44624 	bcm_mpls_esi_info_t *	esi_info)
  44625 {
  44626 	return bcm_mpls_esi_encap_delete(
  44627 			BCM_CONTROL(unit)->unit,
  44628 			esi_info);
  44629 }
  44630 
  44631 int
  44632 bcm_loop_mpls_esi_encap_get(
  44633 	int	unit,
  44634 	bcm_mpls_esi_info_t *	esi_info)
  44635 {
  44636 	return bcm_mpls_esi_encap_get(
  44637 			BCM_CONTROL(unit)->unit,
  44638 			esi_info);
  44639 }
  44640 
  44641 int
  44642 bcm_loop_mpls_esi_encap_traverse(
  44643 	int	unit,
  44644 	bcm_mpls_esi_encap_traverse_cb	cb,
  44645 	void *	user_data)
  44646 {
  44647 	return bcm_mpls_esi_encap_traverse(
  44648 			BCM_CONTROL(unit)->unit,
  44649 			cb,
  44650 			user_data);
  44651 }
  44652 
  44653 /* bcm_mpls_esi_info_t_init not dispatchable */
  44654 
  44655 int
  44656 bcm_loop_mpls_exp_map_create(
  44657 	int	unit,
  44658 	uint32	flags,
  44659 	int *	exp_map_id)
  44660 {
  44661 	return bcm_mpls_exp_map_create(
  44662 			BCM_CONTROL(unit)->unit,
  44663 			flags,
  44664 			exp_map_id);
  44665 }
  44666 
  44667 int
  44668 bcm_loop_mpls_exp_map_destroy(
  44669 	int	unit,
  44670 	int	exp_map_id)
  44671 {
  44672 	return bcm_mpls_exp_map_destroy(
  44673 			BCM_CONTROL(unit)->unit,
  44674 			exp_map_id);
  44675 }
  44676 
  44677 int
  44678 bcm_loop_mpls_exp_map_get(
  44679 	int	unit,
  44680 	int	exp_map_id,
  44681 	bcm_mpls_exp_map_t *	exp_map)
  44682 {
  44683 	return bcm_mpls_exp_map_get(
  44684 			BCM_CONTROL(unit)->unit,
  44685 			exp_map_id,
  44686 			exp_map);
  44687 }
  44688 
  44689 int
  44690 bcm_loop_mpls_exp_map_set(
  44691 	int	unit,
  44692 	int	exp_map_id,
  44693 	bcm_mpls_exp_map_t *	exp_map)
  44694 {
  44695 	return bcm_mpls_exp_map_set(
  44696 			BCM_CONTROL(unit)->unit,
  44697 			exp_map_id,
  44698 			exp_map);
  44699 }
  44700 
  44701 /* bcm_mpls_exp_map_t_init not dispatchable */
  44702 
  44703 int
  44704 bcm_loop_mpls_init(
  44705 	int	unit)
  44706 {
  44707 	return bcm_mpls_init(
  44708 			BCM_CONTROL(unit)->unit);
  44709 }
  44710 
  44711 int
  44712 bcm_loop_mpls_label_stat_attach(
  44713 	int	unit,
  44714 	bcm_mpls_label_t	label,
  44715 	bcm_gport_t	port,
  44716 	uint32	stat_counter_id)
  44717 {
  44718 	return bcm_mpls_label_stat_attach(
  44719 			BCM_CONTROL(unit)->unit,
  44720 			label,
  44721 			port,
  44722 			stat_counter_id);
  44723 }
  44724 
  44725 int
  44726 bcm_loop_mpls_label_stat_clear(
  44727 	int	unit,
  44728 	bcm_mpls_label_t	label,
  44729 	bcm_gport_t	port,
  44730 	bcm_mpls_stat_t	stat)
  44731 {
  44732 	return bcm_mpls_label_stat_clear(
  44733 			BCM_CONTROL(unit)->unit,
  44734 			label,
  44735 			port,
  44736 			stat);
  44737 }
  44738 
  44739 int
  44740 bcm_loop_mpls_label_stat_counter_get(
  44741 	int	unit,
  44742 	bcm_mpls_label_t	label,
  44743 	bcm_gport_t	port,
  44744 	bcm_mpls_stat_t	stat,
  44745 	uint32	num_entries,
  44746 	uint32 *	counter_indexes,
  44747 	bcm_stat_value_t *	counter_values)
  44748 {
  44749 	return bcm_mpls_label_stat_counter_get(
  44750 			BCM_CONTROL(unit)->unit,
  44751 			label,
  44752 			port,
  44753 			stat,
  44754 			num_entries,
  44755 			counter_indexes,
  44756 			counter_values);
  44757 }
  44758 
  44759 int
  44760 bcm_loop_mpls_label_stat_counter_set(
  44761 	int	unit,
  44762 	bcm_mpls_label_t	label,
  44763 	bcm_gport_t	port,
  44764 	bcm_mpls_stat_t	stat,
  44765 	uint32	num_entries,
  44766 	uint32 *	counter_indexes,
  44767 	bcm_stat_value_t *	counter_values)
  44768 {
  44769 	return bcm_mpls_label_stat_counter_set(
  44770 			BCM_CONTROL(unit)->unit,
  44771 			label,
  44772 			port,
  44773 			stat,
  44774 			num_entries,
  44775 			counter_indexes,
  44776 			counter_values);
  44777 }
  44778 
  44779 int
  44780 bcm_loop_mpls_label_stat_counter_sync_get(
  44781 	int	unit,
  44782 	bcm_mpls_label_t	label,
  44783 	bcm_gport_t	port,
  44784 	bcm_mpls_stat_t	stat,
  44785 	uint32	num_entries,
  44786 	uint32 *	counter_indexes,
  44787 	bcm_stat_value_t *	counter_values)
  44788 {
  44789 	return bcm_mpls_label_stat_counter_sync_get(
  44790 			BCM_CONTROL(unit)->unit,
  44791 			label,
  44792 			port,
  44793 			stat,
  44794 			num_entries,
  44795 			counter_indexes,
  44796 			counter_values);
  44797 }
  44798 
  44799 int
  44800 bcm_loop_mpls_label_stat_detach(
  44801 	int	unit,
  44802 	bcm_mpls_label_t	label,
  44803 	bcm_gport_t	port)
  44804 {
  44805 	return bcm_mpls_label_stat_detach(
  44806 			BCM_CONTROL(unit)->unit,
  44807 			label,
  44808 			port);
  44809 }
  44810 
  44811 int
  44812 bcm_loop_mpls_label_stat_enable_set(
  44813 	int	unit,
  44814 	bcm_mpls_label_t	label,
  44815 	bcm_gport_t	port,
  44816 	int	enable)
  44817 {
  44818 	return bcm_mpls_label_stat_enable_set(
  44819 			BCM_CONTROL(unit)->unit,
  44820 			label,
  44821 			port,
  44822 			enable);
  44823 }
  44824 
  44825 int
  44826 bcm_loop_mpls_label_stat_get(
  44827 	int	unit,
  44828 	bcm_mpls_label_t	label,
  44829 	bcm_gport_t	port,
  44830 	bcm_mpls_stat_t	stat,
  44831 	uint64 *	val)
  44832 {
  44833 	return bcm_mpls_label_stat_get(
  44834 			BCM_CONTROL(unit)->unit,
  44835 			label,
  44836 			port,
  44837 			stat,
  44838 			val);
  44839 }
  44840 
  44841 int
  44842 bcm_loop_mpls_label_stat_get32(
  44843 	int	unit,
  44844 	bcm_mpls_label_t	label,
  44845 	bcm_gport_t	port,
  44846 	bcm_mpls_stat_t	stat,
  44847 	uint32 *	val)
  44848 {
  44849 	return bcm_mpls_label_stat_get32(
  44850 			BCM_CONTROL(unit)->unit,
  44851 			label,
  44852 			port,
  44853 			stat,
  44854 			val);
  44855 }
  44856 
  44857 int
  44858 bcm_loop_mpls_label_stat_id_get(
  44859 	int	unit,
  44860 	bcm_mpls_label_t	label,
  44861 	bcm_gport_t	port,
  44862 	bcm_mpls_stat_t	stat,
  44863 	uint32 *	stat_counter_id)
  44864 {
  44865 	return bcm_mpls_label_stat_id_get(
  44866 			BCM_CONTROL(unit)->unit,
  44867 			label,
  44868 			port,
  44869 			stat,
  44870 			stat_counter_id);
  44871 }
  44872 
  44873 int
  44874 bcm_loop_mpls_label_stat_sync_get(
  44875 	int	unit,
  44876 	bcm_mpls_label_t	label,
  44877 	bcm_gport_t	port,
  44878 	bcm_mpls_stat_t	stat,
  44879 	uint64 *	val)
  44880 {
  44881 	return bcm_mpls_label_stat_sync_get(
  44882 			BCM_CONTROL(unit)->unit,
  44883 			label,
  44884 			port,
  44885 			stat,
  44886 			val);
  44887 }
  44888 
  44889 int
  44890 bcm_loop_mpls_label_stat_sync_get32(
  44891 	int	unit,
  44892 	bcm_mpls_label_t	label,
  44893 	bcm_gport_t	port,
  44894 	bcm_mpls_stat_t	stat,
  44895 	uint32 *	val)
  44896 {
  44897 	return bcm_mpls_label_stat_sync_get32(
  44898 			BCM_CONTROL(unit)->unit,
  44899 			label,
  44900 			port,
  44901 			stat,
  44902 			val);
  44903 }
  44904 
  44905 int
  44906 bcm_loop_mpls_port_add(
  44907 	int	unit,
  44908 	bcm_vpn_t	vpn,
  44909 	bcm_mpls_port_t *	mpls_port)
  44910 {
  44911 	return bcm_mpls_port_add(
  44912 			BCM_CONTROL(unit)->unit,
  44913 			vpn,
  44914 			mpls_port);
  44915 }
  44916 
  44917 int
  44918 bcm_loop_mpls_port_delete(
  44919 	int	unit,
  44920 	bcm_vpn_t	vpn,
  44921 	bcm_gport_t	mpls_port_id)
  44922 {
  44923 	return bcm_mpls_port_delete(
  44924 			BCM_CONTROL(unit)->unit,
  44925 			vpn,
  44926 			mpls_port_id);
  44927 }
  44928 
  44929 int
  44930 bcm_loop_mpls_port_delete_all(
  44931 	int	unit,
  44932 	bcm_vpn_t	vpn)
  44933 {
  44934 	return bcm_mpls_port_delete_all(
  44935 			BCM_CONTROL(unit)->unit,
  44936 			vpn);
  44937 }
  44938 
  44939 int
  44940 bcm_loop_mpls_port_get(
  44941 	int	unit,
  44942 	bcm_vpn_t	vpn,
  44943 	bcm_mpls_port_t *	mpls_port)
  44944 {
  44945 	return bcm_mpls_port_get(
  44946 			BCM_CONTROL(unit)->unit,
  44947 			vpn,
  44948 			mpls_port);
  44949 }
  44950 
  44951 int
  44952 bcm_loop_mpls_port_get_all(
  44953 	int	unit,
  44954 	bcm_vpn_t	vpn,
  44955 	int	port_max,
  44956 	bcm_mpls_port_t *	port_array,
  44957 	int *	port_count)
  44958 {
  44959 	return bcm_mpls_port_get_all(
  44960 			BCM_CONTROL(unit)->unit,
  44961 			vpn,
  44962 			port_max,
  44963 			port_array,
  44964 			port_count);
  44965 }
  44966 
  44967 int
  44968 bcm_loop_mpls_port_stat_attach(
  44969 	int	unit,
  44970 	bcm_vpn_t	vpn,
  44971 	bcm_gport_t	port,
  44972 	uint32	stat_counter_id)
  44973 {
  44974 	return bcm_mpls_port_stat_attach(
  44975 			BCM_CONTROL(unit)->unit,
  44976 			vpn,
  44977 			port,
  44978 			stat_counter_id);
  44979 }
  44980 
  44981 int
  44982 bcm_loop_mpls_port_stat_counter_get(
  44983 	int	unit,
  44984 	bcm_vpn_t	vpn,
  44985 	bcm_gport_t	port,
  44986 	bcm_mpls_stat_t	stat,
  44987 	uint32	num_entries,
  44988 	uint32 *	counter_indexes,
  44989 	bcm_stat_value_t *	counter_values)
  44990 {
  44991 	return bcm_mpls_port_stat_counter_get(
  44992 			BCM_CONTROL(unit)->unit,
  44993 			vpn,
  44994 			port,
  44995 			stat,
  44996 			num_entries,
  44997 			counter_indexes,
  44998 			counter_values);
  44999 }
  45000 
  45001 int
  45002 bcm_loop_mpls_port_stat_counter_set(
  45003 	int	unit,
  45004 	bcm_vpn_t	vpn,
  45005 	bcm_gport_t	port,
  45006 	bcm_mpls_stat_t	stat,
  45007 	uint32	num_entries,
  45008 	uint32 *	counter_indexes,
  45009 	bcm_stat_value_t *	counter_values)
  45010 {
  45011 	return bcm_mpls_port_stat_counter_set(
  45012 			BCM_CONTROL(unit)->unit,
  45013 			vpn,
  45014 			port,
  45015 			stat,
  45016 			num_entries,
  45017 			counter_indexes,
  45018 			counter_values);
  45019 }
  45020 
  45021 int
  45022 bcm_loop_mpls_port_stat_counter_sync_get(
  45023 	int	unit,
  45024 	bcm_vpn_t	vpn,
  45025 	bcm_gport_t	port,
  45026 	bcm_mpls_stat_t	stat,
  45027 	uint32	num_entries,
  45028 	uint32 *	counter_indexes,
  45029 	bcm_stat_value_t *	counter_values)
  45030 {
  45031 	return bcm_mpls_port_stat_counter_sync_get(
  45032 			BCM_CONTROL(unit)->unit,
  45033 			vpn,
  45034 			port,
  45035 			stat,
  45036 			num_entries,
  45037 			counter_indexes,
  45038 			counter_values);
  45039 }
  45040 
  45041 int
  45042 bcm_loop_mpls_port_stat_detach(
  45043 	int	unit,
  45044 	bcm_vpn_t	vpn,
  45045 	bcm_gport_t	port)
  45046 {
  45047 	return bcm_mpls_port_stat_detach(
  45048 			BCM_CONTROL(unit)->unit,
  45049 			vpn,
  45050 			port);
  45051 }
  45052 
  45053 int
  45054 bcm_loop_mpls_port_stat_enable_set(
  45055 	int	unit,
  45056 	bcm_gport_t	mpls_port,
  45057 	int	enable)
  45058 {
  45059 	return bcm_mpls_port_stat_enable_set(
  45060 			BCM_CONTROL(unit)->unit,
  45061 			mpls_port,
  45062 			enable);
  45063 }
  45064 
  45065 int
  45066 bcm_loop_mpls_port_stat_get(
  45067 	int	unit,
  45068 	bcm_gport_t	mpls_port,
  45069 	bcm_cos_t	cos,
  45070 	bcm_mpls_port_stat_t	stat,
  45071 	uint64 *	val)
  45072 {
  45073 	return bcm_mpls_port_stat_get(
  45074 			BCM_CONTROL(unit)->unit,
  45075 			mpls_port,
  45076 			cos,
  45077 			stat,
  45078 			val);
  45079 }
  45080 
  45081 int
  45082 bcm_loop_mpls_port_stat_get32(
  45083 	int	unit,
  45084 	bcm_gport_t	mpls_port,
  45085 	bcm_cos_t	cos,
  45086 	bcm_mpls_port_stat_t	stat,
  45087 	uint32 *	val)
  45088 {
  45089 	return bcm_mpls_port_stat_get32(
  45090 			BCM_CONTROL(unit)->unit,
  45091 			mpls_port,
  45092 			cos,
  45093 			stat,
  45094 			val);
  45095 }
  45096 
  45097 int
  45098 bcm_loop_mpls_port_stat_id_get(
  45099 	int	unit,
  45100 	bcm_vpn_t	vpn,
  45101 	bcm_gport_t	port,
  45102 	bcm_mpls_stat_t	stat,
  45103 	uint32 *	stat_counter_id)
  45104 {
  45105 	return bcm_mpls_port_stat_id_get(
  45106 			BCM_CONTROL(unit)->unit,
  45107 			vpn,
  45108 			port,
  45109 			stat,
  45110 			stat_counter_id);
  45111 }
  45112 
  45113 int
  45114 bcm_loop_mpls_port_stat_set(
  45115 	int	unit,
  45116 	bcm_gport_t	mpls_port,
  45117 	bcm_cos_t	cos,
  45118 	bcm_mpls_port_stat_t	stat,
  45119 	uint64	val)
  45120 {
  45121 	return bcm_mpls_port_stat_set(
  45122 			BCM_CONTROL(unit)->unit,
  45123 			mpls_port,
  45124 			cos,
  45125 			stat,
  45126 			val);
  45127 }
  45128 
  45129 int
  45130 bcm_loop_mpls_port_stat_set32(
  45131 	int	unit,
  45132 	bcm_gport_t	mpls_port,
  45133 	bcm_cos_t	cos,
  45134 	bcm_mpls_port_stat_t	stat,
  45135 	uint32	val)
  45136 {
  45137 	return bcm_mpls_port_stat_set32(
  45138 			BCM_CONTROL(unit)->unit,
  45139 			mpls_port,
  45140 			cos,
  45141 			stat,
  45142 			val);
  45143 }
  45144 
  45145 /* bcm_mpls_port_t_init not dispatchable */
  45146 
  45147 int
  45148 bcm_loop_mpls_port_traverse(
  45149 	int	unit,
  45150 	bcm_mpls_port_traverse_info_t	additional_info,
  45151 	bcm_mpls_port_traverse_cb	trav_fn,
  45152 	void *	user_data)
  45153 {
  45154 	return bcm_mpls_port_traverse(
  45155 			BCM_CONTROL(unit)->unit,
  45156 			additional_info,
  45157 			trav_fn,
  45158 			user_data);
  45159 }
  45160 
  45161 int
  45162 bcm_loop_mpls_range_action_add(
  45163 	int	unit,
  45164 	bcm_mpls_label_t	label_low,
  45165 	bcm_mpls_label_t	label_high,
  45166 	bcm_mpls_range_action_t *	action)
  45167 {
  45168 	return bcm_mpls_range_action_add(
  45169 			BCM_CONTROL(unit)->unit,
  45170 			label_low,
  45171 			label_high,
  45172 			action);
  45173 }
  45174 
  45175 int
  45176 bcm_loop_mpls_range_action_get(
  45177 	int	unit,
  45178 	bcm_mpls_label_t	label_low,
  45179 	bcm_mpls_label_t	label_high,
  45180 	bcm_mpls_range_action_t *	action)
  45181 {
  45182 	return bcm_mpls_range_action_get(
  45183 			BCM_CONTROL(unit)->unit,
  45184 			label_low,
  45185 			label_high,
  45186 			action);
  45187 }
  45188 
  45189 int
  45190 bcm_loop_mpls_range_action_remove(
  45191 	int	unit,
  45192 	bcm_mpls_label_t	label_low,
  45193 	bcm_mpls_label_t	label_high)
  45194 {
  45195 	return bcm_mpls_range_action_remove(
  45196 			BCM_CONTROL(unit)->unit,
  45197 			label_low,
  45198 			label_high);
  45199 }
  45200 
  45201 /* bcm_mpls_range_action_t_init not dispatchable */
  45202 
  45203 int
  45204 bcm_loop_mpls_special_label_egress_add(
  45205 	int	unit,
  45206 	bcm_mpls_special_label_type_t	label_type,
  45207 	bcm_mpls_special_label_t	label_info)
  45208 {
  45209 	return bcm_mpls_special_label_egress_add(
  45210 			BCM_CONTROL(unit)->unit,
  45211 			label_type,
  45212 			label_info);
  45213 }
  45214 
  45215 int
  45216 bcm_loop_mpls_special_label_egress_delete(
  45217 	int	unit,
  45218 	bcm_mpls_special_label_type_t	label_type,
  45219 	bcm_mpls_special_label_t	label_info)
  45220 {
  45221 	return bcm_mpls_special_label_egress_delete(
  45222 			BCM_CONTROL(unit)->unit,
  45223 			label_type,
  45224 			label_info);
  45225 }
  45226 
  45227 int
  45228 bcm_loop_mpls_special_label_egress_delete_all(
  45229 	int	unit)
  45230 {
  45231 	return bcm_mpls_special_label_egress_delete_all(
  45232 			BCM_CONTROL(unit)->unit);
  45233 }
  45234 
  45235 int
  45236 bcm_loop_mpls_special_label_egress_get(
  45237 	int	unit,
  45238 	bcm_mpls_special_label_type_t	label_type,
  45239 	bcm_mpls_special_label_t *	label_info)
  45240 {
  45241 	return bcm_mpls_special_label_egress_get(
  45242 			BCM_CONTROL(unit)->unit,
  45243 			label_type,
  45244 			label_info);
  45245 }
  45246 
  45247 int
  45248 bcm_loop_mpls_special_label_egress_traverse(
  45249 	int	unit,
  45250 	bcm_mpls_special_label_egress_traverse_cb	cb,
  45251 	void *	user_data)
  45252 {
  45253 	return bcm_mpls_special_label_egress_traverse(
  45254 			BCM_CONTROL(unit)->unit,
  45255 			cb,
  45256 			user_data);
  45257 }
  45258 
  45259 int
  45260 bcm_loop_mpls_special_label_identifier_add(
  45261 	int	unit,
  45262 	bcm_mpls_special_label_type_t	label_type,
  45263 	bcm_mpls_special_label_t	label_info)
  45264 {
  45265 	return bcm_mpls_special_label_identifier_add(
  45266 			BCM_CONTROL(unit)->unit,
  45267 			label_type,
  45268 			label_info);
  45269 }
  45270 
  45271 int
  45272 bcm_loop_mpls_special_label_identifier_delete(
  45273 	int	unit,
  45274 	bcm_mpls_special_label_type_t	label_type,
  45275 	bcm_mpls_special_label_t	label_info)
  45276 {
  45277 	return bcm_mpls_special_label_identifier_delete(
  45278 			BCM_CONTROL(unit)->unit,
  45279 			label_type,
  45280 			label_info);
  45281 }
  45282 
  45283 int
  45284 bcm_loop_mpls_special_label_identifier_delete_all(
  45285 	int	unit)
  45286 {
  45287 	return bcm_mpls_special_label_identifier_delete_all(
  45288 			BCM_CONTROL(unit)->unit);
  45289 }
  45290 
  45291 int
  45292 bcm_loop_mpls_special_label_identifier_get(
  45293 	int	unit,
  45294 	bcm_mpls_special_label_type_t	label_type,
  45295 	bcm_mpls_special_label_t *	label_info)
  45296 {
  45297 	return bcm_mpls_special_label_identifier_get(
  45298 			BCM_CONTROL(unit)->unit,
  45299 			label_type,
  45300 			label_info);
  45301 }
  45302 
  45303 int
  45304 bcm_loop_mpls_special_label_identifier_traverse(
  45305 	int	unit,
  45306 	bcm_mpls_special_label_identifier_traverse_cb	cb,
  45307 	void *	user_data)
  45308 {
  45309 	return bcm_mpls_special_label_identifier_traverse(
  45310 			BCM_CONTROL(unit)->unit,
  45311 			cb,
  45312 			user_data);
  45313 }
  45314 
  45315 int
  45316 bcm_loop_mpls_special_label_push_action_get(
  45317 	int	unit,
  45318 	bcm_mpls_special_label_push_element_t *	element,
  45319 	int *	push_action)
  45320 {
  45321 	return bcm_mpls_special_label_push_action_get(
  45322 			BCM_CONTROL(unit)->unit,
  45323 			element,
  45324 			push_action);
  45325 }
  45326 
  45327 int
  45328 bcm_loop_mpls_special_label_push_action_set(
  45329 	int	unit,
  45330 	bcm_mpls_special_label_push_element_t *	element,
  45331 	int	push_action)
  45332 {
  45333 	return bcm_mpls_special_label_push_action_set(
  45334 			BCM_CONTROL(unit)->unit,
  45335 			element,
  45336 			push_action);
  45337 }
  45338 
  45339 /* bcm_mpls_special_label_push_element_t_init not dispatchable */
  45340 
  45341 /* bcm_mpls_special_label_t_init not dispatchable */
  45342 
  45343 /* bcm_mpls_stat_info_t_init not dispatchable */
  45344 
  45345 int
  45346 bcm_loop_mpls_tunnel_initiator_clear(
  45347 	int	unit,
  45348 	bcm_if_t	intf)
  45349 {
  45350 	return bcm_mpls_tunnel_initiator_clear(
  45351 			BCM_CONTROL(unit)->unit,
  45352 			intf);
  45353 }
  45354 
  45355 int
  45356 bcm_loop_mpls_tunnel_initiator_clear_all(
  45357 	int	unit)
  45358 {
  45359 	return bcm_mpls_tunnel_initiator_clear_all(
  45360 			BCM_CONTROL(unit)->unit);
  45361 }
  45362 
  45363 int
  45364 bcm_loop_mpls_tunnel_initiator_create(
  45365 	int	unit,
  45366 	bcm_if_t	intf,
  45367 	int	num_labels,
  45368 	bcm_mpls_egress_label_t *	label_array)
  45369 {
  45370 	return bcm_mpls_tunnel_initiator_create(
  45371 			BCM_CONTROL(unit)->unit,
  45372 			intf,
  45373 			num_labels,
  45374 			label_array);
  45375 }
  45376 
  45377 int
  45378 bcm_loop_mpls_tunnel_initiator_get(
  45379 	int	unit,
  45380 	bcm_if_t	intf,
  45381 	int	label_max,
  45382 	bcm_mpls_egress_label_t *	label_array,
  45383 	int *	label_count)
  45384 {
  45385 	return bcm_mpls_tunnel_initiator_get(
  45386 			BCM_CONTROL(unit)->unit,
  45387 			intf,
  45388 			label_max,
  45389 			label_array,
  45390 			label_count);
  45391 }
  45392 
  45393 int
  45394 bcm_loop_mpls_tunnel_initiator_set(
  45395 	int	unit,
  45396 	bcm_if_t	intf,
  45397 	int	num_labels,
  45398 	bcm_mpls_egress_label_t *	label_array)
  45399 {
  45400 	return bcm_mpls_tunnel_initiator_set(
  45401 			BCM_CONTROL(unit)->unit,
  45402 			intf,
  45403 			num_labels,
  45404 			label_array);
  45405 }
  45406 
  45407 int
  45408 bcm_loop_mpls_tunnel_initiator_traverse(
  45409 	int	unit,
  45410 	bcm_mpls_tunnel_initiator_traverse_info_t *	additional_info,
  45411 	bcm_mpls_tunnel_initiator_traverse_cb	cb,
  45412 	void *	user_data)
  45413 {
  45414 	return bcm_mpls_tunnel_initiator_traverse(
  45415 			BCM_CONTROL(unit)->unit,
  45416 			additional_info,
  45417 			cb,
  45418 			user_data);
  45419 }
  45420 
  45421 int
  45422 bcm_loop_mpls_tunnel_label_counter_id_detach(
  45423 	int	unit,
  45424 	bcm_if_t	intf_id,
  45425 	uint32	stat_counter_id)
  45426 {
  45427 	return bcm_mpls_tunnel_label_counter_id_detach(
  45428 			BCM_CONTROL(unit)->unit,
  45429 			intf_id,
  45430 			stat_counter_id);
  45431 }
  45432 
  45433 int
  45434 bcm_loop_mpls_tunnel_label_counter_id_num_get(
  45435 	int	unit,
  45436 	bcm_if_t	intf_id,
  45437 	int *	num_counters,
  45438 	uint32 *	stat_counter_id)
  45439 {
  45440 	return bcm_mpls_tunnel_label_counter_id_num_get(
  45441 			BCM_CONTROL(unit)->unit,
  45442 			intf_id,
  45443 			num_counters,
  45444 			stat_counter_id);
  45445 }
  45446 
  45447 int
  45448 bcm_loop_mpls_tunnel_label_counter_id_stat_get(
  45449 	int	unit,
  45450 	bcm_if_t	intf_id,
  45451 	uint32	stat_counter_id,
  45452 	bcm_mpls_stat_info_t *	stat_info)
  45453 {
  45454 	return bcm_mpls_tunnel_label_counter_id_stat_get(
  45455 			BCM_CONTROL(unit)->unit,
  45456 			intf_id,
  45457 			stat_counter_id,
  45458 			stat_info);
  45459 }
  45460 
  45461 int
  45462 bcm_loop_mpls_tunnel_label_counter_id_stat_set(
  45463 	int	unit,
  45464 	bcm_if_t	intf_id,
  45465 	uint32	stat_counter_id,
  45466 	bcm_mpls_stat_info_t *	stat_info)
  45467 {
  45468 	return bcm_mpls_tunnel_label_counter_id_stat_set(
  45469 			BCM_CONTROL(unit)->unit,
  45470 			intf_id,
  45471 			stat_counter_id,
  45472 			stat_info);
  45473 }
  45474 
  45475 int
  45476 bcm_loop_mpls_tunnel_label_counter_id_stat_sync_get(
  45477 	int	unit,
  45478 	bcm_if_t	intf_id,
  45479 	uint32	stat_counter_id,
  45480 	bcm_mpls_stat_info_t *	stat_info)
  45481 {
  45482 	return bcm_mpls_tunnel_label_counter_id_stat_sync_get(
  45483 			BCM_CONTROL(unit)->unit,
  45484 			intf_id,
  45485 			stat_counter_id,
  45486 			stat_info);
  45487 }
  45488 
  45489 int
  45490 bcm_loop_mpls_tunnel_stat_attach(
  45491 	int	unit,
  45492 	bcm_if_t	intf_id,
  45493 	uint32	stat_counter_id)
  45494 {
  45495 	return bcm_mpls_tunnel_stat_attach(
  45496 			BCM_CONTROL(unit)->unit,
  45497 			intf_id,
  45498 			stat_counter_id);
  45499 }
  45500 
  45501 int
  45502 bcm_loop_mpls_tunnel_stat_counter_get(
  45503 	int	unit,
  45504 	bcm_if_t	intf_id,
  45505 	bcm_mpls_stat_t	stat,
  45506 	uint32	num_entries,
  45507 	uint32 *	counter_indexes,
  45508 	bcm_stat_value_t *	counter_values)
  45509 {
  45510 	return bcm_mpls_tunnel_stat_counter_get(
  45511 			BCM_CONTROL(unit)->unit,
  45512 			intf_id,
  45513 			stat,
  45514 			num_entries,
  45515 			counter_indexes,
  45516 			counter_values);
  45517 }
  45518 
  45519 int
  45520 bcm_loop_mpls_tunnel_stat_counter_set(
  45521 	int	unit,
  45522 	bcm_if_t	intf_id,
  45523 	bcm_mpls_stat_t	stat,
  45524 	uint32	num_entries,
  45525 	uint32 *	counter_indexes,
  45526 	bcm_stat_value_t *	counter_values)
  45527 {
  45528 	return bcm_mpls_tunnel_stat_counter_set(
  45529 			BCM_CONTROL(unit)->unit,
  45530 			intf_id,
  45531 			stat,
  45532 			num_entries,
  45533 			counter_indexes,
  45534 			counter_values);
  45535 }
  45536 
  45537 int
  45538 bcm_loop_mpls_tunnel_stat_counter_sync_get(
  45539 	int	unit,
  45540 	bcm_if_t	intf_id,
  45541 	bcm_mpls_stat_t	stat,
  45542 	uint32	num_entries,
  45543 	uint32 *	counter_indexes,
  45544 	bcm_stat_value_t *	counter_values)
  45545 {
  45546 	return bcm_mpls_tunnel_stat_counter_sync_get(
  45547 			BCM_CONTROL(unit)->unit,
  45548 			intf_id,
  45549 			stat,
  45550 			num_entries,
  45551 			counter_indexes,
  45552 			counter_values);
  45553 }
  45554 
  45555 int
  45556 bcm_loop_mpls_tunnel_stat_detach(
  45557 	int	unit,
  45558 	bcm_if_t	intf_id)
  45559 {
  45560 	return bcm_mpls_tunnel_stat_detach(
  45561 			BCM_CONTROL(unit)->unit,
  45562 			intf_id);
  45563 }
  45564 
  45565 int
  45566 bcm_loop_mpls_tunnel_stat_id_get(
  45567 	int	unit,
  45568 	bcm_if_t	intf_id,
  45569 	bcm_mpls_stat_t	stat,
  45570 	uint32 *	stat_counter_id)
  45571 {
  45572 	return bcm_mpls_tunnel_stat_id_get(
  45573 			BCM_CONTROL(unit)->unit,
  45574 			intf_id,
  45575 			stat,
  45576 			stat_counter_id);
  45577 }
  45578 
  45579 int
  45580 bcm_loop_mpls_tunnel_switch_add(
  45581 	int	unit,
  45582 	bcm_mpls_tunnel_switch_t *	info)
  45583 {
  45584 	return bcm_mpls_tunnel_switch_add(
  45585 			BCM_CONTROL(unit)->unit,
  45586 			info);
  45587 }
  45588 
  45589 int
  45590 bcm_loop_mpls_tunnel_switch_create(
  45591 	int	unit,
  45592 	bcm_mpls_tunnel_switch_t *	info)
  45593 {
  45594 	return bcm_mpls_tunnel_switch_create(
  45595 			BCM_CONTROL(unit)->unit,
  45596 			info);
  45597 }
  45598 
  45599 int
  45600 bcm_loop_mpls_tunnel_switch_delete(
  45601 	int	unit,
  45602 	bcm_mpls_tunnel_switch_t *	info)
  45603 {
  45604 	return bcm_mpls_tunnel_switch_delete(
  45605 			BCM_CONTROL(unit)->unit,
  45606 			info);
  45607 }
  45608 
  45609 int
  45610 bcm_loop_mpls_tunnel_switch_delete_all(
  45611 	int	unit)
  45612 {
  45613 	return bcm_mpls_tunnel_switch_delete_all(
  45614 			BCM_CONTROL(unit)->unit);
  45615 }
  45616 
  45617 int
  45618 bcm_loop_mpls_tunnel_switch_get(
  45619 	int	unit,
  45620 	bcm_mpls_tunnel_switch_t *	info)
  45621 {
  45622 	return bcm_mpls_tunnel_switch_get(
  45623 			BCM_CONTROL(unit)->unit,
  45624 			info);
  45625 }
  45626 
  45627 /* bcm_mpls_tunnel_switch_t_init not dispatchable */
  45628 
  45629 int
  45630 bcm_loop_mpls_tunnel_switch_traverse(
  45631 	int	unit,
  45632 	bcm_mpls_tunnel_switch_traverse_cb	cb,
  45633 	void *	user_data)
  45634 {
  45635 	return bcm_mpls_tunnel_switch_traverse(
  45636 			BCM_CONTROL(unit)->unit,
  45637 			cb,
  45638 			user_data);
  45639 }
  45640 
  45641 /* bcm_mpls_vpn_config_t_init not dispatchable */
  45642 
  45643 int
  45644 bcm_loop_mpls_vpn_id_create(
  45645 	int	unit,
  45646 	bcm_mpls_vpn_config_t *	info)
  45647 {
  45648 	return bcm_mpls_vpn_id_create(
  45649 			BCM_CONTROL(unit)->unit,
  45650 			info);
  45651 }
  45652 
  45653 int
  45654 bcm_loop_mpls_vpn_id_destroy(
  45655 	int	unit,
  45656 	bcm_vpn_t	vpn)
  45657 {
  45658 	return bcm_mpls_vpn_id_destroy(
  45659 			BCM_CONTROL(unit)->unit,
  45660 			vpn);
  45661 }
  45662 
  45663 int
  45664 bcm_loop_mpls_vpn_id_destroy_all(
  45665 	int	unit)
  45666 {
  45667 	return bcm_mpls_vpn_id_destroy_all(
  45668 			BCM_CONTROL(unit)->unit);
  45669 }
  45670 
  45671 int
  45672 bcm_loop_mpls_vpn_id_get(
  45673 	int	unit,
  45674 	bcm_vpn_t	vpn,
  45675 	bcm_mpls_vpn_config_t *	info)
  45676 {
  45677 	return bcm_mpls_vpn_id_get(
  45678 			BCM_CONTROL(unit)->unit,
  45679 			vpn,
  45680 			info);
  45681 }
  45682 
  45683 int
  45684 bcm_loop_mpls_vpn_traverse(
  45685 	int	unit,
  45686 	bcm_mpls_vpn_traverse_cb	cb,
  45687 	void *	user_data)
  45688 {
  45689 	return bcm_mpls_vpn_traverse(
  45690 			BCM_CONTROL(unit)->unit,
  45691 			cb,
  45692 			user_data);
  45693 }
  45694 
  45695 #endif	/* INCLUDE_L3 */
  45696 
  45697 int
  45698 bcm_loop_multicast_add(
  45699 	int	unit,
  45700 	bcm_multicast_t	group,
  45701 	uint32	flags,
  45702 	int	nof_replications,
  45703 	bcm_multicast_replication_t *	rep_array)
  45704 {
  45705 	return bcm_multicast_add(
  45706 			BCM_CONTROL(unit)->unit,
  45707 			group,
  45708 			flags,
  45709 			nof_replications,
  45710 			rep_array);
  45711 }
  45712 
  45713 int
  45714 bcm_loop_multicast_control_get(
  45715 	int	unit,
  45716 	bcm_multicast_t	group,
  45717 	bcm_multicast_control_t	type,
  45718 	int *	arg)
  45719 {
  45720 	return bcm_multicast_control_get(
  45721 			BCM_CONTROL(unit)->unit,
  45722 			group,
  45723 			type,
  45724 			arg);
  45725 }
  45726 
  45727 int
  45728 bcm_loop_multicast_control_set(
  45729 	int	unit,
  45730 	bcm_multicast_t	group,
  45731 	bcm_multicast_control_t	type,
  45732 	int	arg)
  45733 {
  45734 	return bcm_multicast_control_set(
  45735 			BCM_CONTROL(unit)->unit,
  45736 			group,
  45737 			type,
  45738 			arg);
  45739 }
  45740 
  45741 int
  45742 bcm_loop_multicast_create(
  45743 	int	unit,
  45744 	uint32	flags,
  45745 	bcm_multicast_t *	group)
  45746 {
  45747 	return bcm_multicast_create(
  45748 			BCM_CONTROL(unit)->unit,
  45749 			flags,
  45750 			group);
  45751 }
  45752 
  45753 int
  45754 bcm_loop_multicast_delete(
  45755 	int	unit,
  45756 	bcm_multicast_t	group,
  45757 	uint32	flags,
  45758 	int	nof_replications,
  45759 	bcm_multicast_replication_t *	rep_array)
  45760 {
  45761 	return bcm_multicast_delete(
  45762 			BCM_CONTROL(unit)->unit,
  45763 			group,
  45764 			flags,
  45765 			nof_replications,
  45766 			rep_array);
  45767 }
  45768 
  45769 int
  45770 bcm_loop_multicast_destroy(
  45771 	int	unit,
  45772 	bcm_multicast_t	group)
  45773 {
  45774 	return bcm_multicast_destroy(
  45775 			BCM_CONTROL(unit)->unit,
  45776 			group);
  45777 }
  45778 
  45779 int
  45780 bcm_loop_multicast_detach(
  45781 	int	unit)
  45782 {
  45783 	return bcm_multicast_detach(
  45784 			BCM_CONTROL(unit)->unit);
  45785 }
  45786 
  45787 int
  45788 bcm_loop_multicast_egress_add(
  45789 	int	unit,
  45790 	bcm_multicast_t	group,
  45791 	bcm_gport_t	port,
  45792 	bcm_if_t	encap_id)
  45793 {
  45794 	return bcm_multicast_egress_add(
  45795 			BCM_CONTROL(unit)->unit,
  45796 			group,
  45797 			port,
  45798 			encap_id);
  45799 }
  45800 
  45801 int
  45802 bcm_loop_multicast_egress_delete(
  45803 	int	unit,
  45804 	bcm_multicast_t	group,
  45805 	bcm_gport_t	port,
  45806 	bcm_if_t	encap_id)
  45807 {
  45808 	return bcm_multicast_egress_delete(
  45809 			BCM_CONTROL(unit)->unit,
  45810 			group,
  45811 			port,
  45812 			encap_id);
  45813 }
  45814 
  45815 int
  45816 bcm_loop_multicast_egress_delete_all(
  45817 	int	unit,
  45818 	bcm_multicast_t	group)
  45819 {
  45820 	return bcm_multicast_egress_delete_all(
  45821 			BCM_CONTROL(unit)->unit,
  45822 			group);
  45823 }
  45824 
  45825 int
  45826 bcm_loop_multicast_egress_get(
  45827 	int	unit,
  45828 	bcm_multicast_t	group,
  45829 	int	port_max,
  45830 	bcm_gport_t *	port_array,
  45831 	bcm_if_t *	encap_id_array,
  45832 	int *	port_count)
  45833 {
  45834 	return bcm_multicast_egress_get(
  45835 			BCM_CONTROL(unit)->unit,
  45836 			group,
  45837 			port_max,
  45838 			port_array,
  45839 			encap_id_array,
  45840 			port_count);
  45841 }
  45842 
  45843 int
  45844 bcm_loop_multicast_egress_object_encap_get(
  45845 	int	unit,
  45846 	bcm_multicast_t	group,
  45847 	bcm_if_t	intf,
  45848 	bcm_if_t *	encap_id)
  45849 {
  45850 	return bcm_multicast_egress_object_encap_get(
  45851 			BCM_CONTROL(unit)->unit,
  45852 			group,
  45853 			intf,
  45854 			encap_id);
  45855 }
  45856 
  45857 int
  45858 bcm_loop_multicast_egress_set(
  45859 	int	unit,
  45860 	bcm_multicast_t	group,
  45861 	int	port_count,
  45862 	bcm_gport_t *	port_array,
  45863 	bcm_if_t *	encap_id_array)
  45864 {
  45865 	return bcm_multicast_egress_set(
  45866 			BCM_CONTROL(unit)->unit,
  45867 			group,
  45868 			port_count,
  45869 			port_array,
  45870 			encap_id_array);
  45871 }
  45872 
  45873 int
  45874 bcm_loop_multicast_egress_subscriber_add(
  45875 	int	unit,
  45876 	bcm_multicast_t	group,
  45877 	bcm_gport_t	port,
  45878 	bcm_if_t	encap_id,
  45879 	bcm_gport_t	subscriber_queue)
  45880 {
  45881 	return bcm_multicast_egress_subscriber_add(
  45882 			BCM_CONTROL(unit)->unit,
  45883 			group,
  45884 			port,
  45885 			encap_id,
  45886 			subscriber_queue);
  45887 }
  45888 
  45889 int
  45890 bcm_loop_multicast_egress_subscriber_delete(
  45891 	int	unit,
  45892 	bcm_multicast_t	group,
  45893 	bcm_gport_t	port,
  45894 	bcm_if_t	encap_id,
  45895 	bcm_gport_t	subscriber_queue)
  45896 {
  45897 	return bcm_multicast_egress_subscriber_delete(
  45898 			BCM_CONTROL(unit)->unit,
  45899 			group,
  45900 			port,
  45901 			encap_id,
  45902 			subscriber_queue);
  45903 }
  45904 
  45905 int
  45906 bcm_loop_multicast_egress_subscriber_get(
  45907 	int	unit,
  45908 	bcm_multicast_t	group,
  45909 	int	port_max,
  45910 	bcm_gport_t *	port_array,
  45911 	bcm_if_t *	encap_id_array,
  45912 	bcm_gport_t *	subscriber_queue_array,
  45913 	int *	port_count)
  45914 {
  45915 	return bcm_multicast_egress_subscriber_get(
  45916 			BCM_CONTROL(unit)->unit,
  45917 			group,
  45918 			port_max,
  45919 			port_array,
  45920 			encap_id_array,
  45921 			subscriber_queue_array,
  45922 			port_count);
  45923 }
  45924 
  45925 int
  45926 bcm_loop_multicast_egress_subscriber_qos_map_get(
  45927 	int	unit,
  45928 	bcm_multicast_t	group,
  45929 	bcm_gport_t	port,
  45930 	bcm_gport_t	subscriber_queue,
  45931 	int *	qos_map_id)
  45932 {
  45933 	return bcm_multicast_egress_subscriber_qos_map_get(
  45934 			BCM_CONTROL(unit)->unit,
  45935 			group,
  45936 			port,
  45937 			subscriber_queue,
  45938 			qos_map_id);
  45939 }
  45940 
  45941 int
  45942 bcm_loop_multicast_egress_subscriber_qos_map_set(
  45943 	int	unit,
  45944 	bcm_multicast_t	group,
  45945 	bcm_gport_t	port,
  45946 	bcm_gport_t	subscriber_queue,
  45947 	int	qos_map_id)
  45948 {
  45949 	return bcm_multicast_egress_subscriber_qos_map_set(
  45950 			BCM_CONTROL(unit)->unit,
  45951 			group,
  45952 			port,
  45953 			subscriber_queue,
  45954 			qos_map_id);
  45955 }
  45956 
  45957 int
  45958 bcm_loop_multicast_egress_subscriber_set(
  45959 	int	unit,
  45960 	bcm_multicast_t	group,
  45961 	int	port_count,
  45962 	bcm_gport_t *	port_array,
  45963 	bcm_if_t *	encap_id_array,
  45964 	bcm_gport_t *	subscriber_queue_array)
  45965 {
  45966 	return bcm_multicast_egress_subscriber_set(
  45967 			BCM_CONTROL(unit)->unit,
  45968 			group,
  45969 			port_count,
  45970 			port_array,
  45971 			encap_id_array,
  45972 			subscriber_queue_array);
  45973 }
  45974 
  45975 int
  45976 bcm_loop_multicast_encap_extension_create(
  45977 	int	unit,
  45978 	uint32	flags,
  45979 	bcm_if_t *	multicast_replication_index,
  45980 	int	encap_extension_count,
  45981 	bcm_if_t *	encap_extension_array)
  45982 {
  45983 	return bcm_multicast_encap_extension_create(
  45984 			BCM_CONTROL(unit)->unit,
  45985 			flags,
  45986 			multicast_replication_index,
  45987 			encap_extension_count,
  45988 			encap_extension_array);
  45989 }
  45990 
  45991 int
  45992 bcm_loop_multicast_encap_extension_delete_all(
  45993 	int	unit)
  45994 {
  45995 	return bcm_multicast_encap_extension_delete_all(
  45996 			BCM_CONTROL(unit)->unit);
  45997 }
  45998 
  45999 int
  46000 bcm_loop_multicast_encap_extension_destroy(
  46001 	int	unit,
  46002 	uint32	flags,
  46003 	bcm_if_t	multicast_replication_index)
  46004 {
  46005 	return bcm_multicast_encap_extension_destroy(
  46006 			BCM_CONTROL(unit)->unit,
  46007 			flags,
  46008 			multicast_replication_index);
  46009 }
  46010 
  46011 int
  46012 bcm_loop_multicast_encap_extension_get(
  46013 	int	unit,
  46014 	uint32	flags,
  46015 	bcm_if_t	multicast_replication_index,
  46016 	int	encap_max,
  46017 	bcm_if_t *	encap_extension_array,
  46018 	int *	encap_extension_count)
  46019 {
  46020 	return bcm_multicast_encap_extension_get(
  46021 			BCM_CONTROL(unit)->unit,
  46022 			flags,
  46023 			multicast_replication_index,
  46024 			encap_max,
  46025 			encap_extension_array,
  46026 			encap_extension_count);
  46027 }
  46028 
  46029 int
  46030 bcm_loop_multicast_encap_extension_traverse(
  46031 	int	unit,
  46032 	bcm_multicast_encap_extension_traverse_cb	trav_fn,
  46033 	void *	user_data)
  46034 {
  46035 	return bcm_multicast_encap_extension_traverse(
  46036 			BCM_CONTROL(unit)->unit,
  46037 			trav_fn,
  46038 			user_data);
  46039 }
  46040 
  46041 int
  46042 bcm_loop_multicast_extender_encap_get(
  46043 	int	unit,
  46044 	bcm_multicast_t	group,
  46045 	bcm_gport_t	port,
  46046 	bcm_gport_t	extender_port_id,
  46047 	bcm_if_t *	encap_id)
  46048 {
  46049 	return bcm_multicast_extender_encap_get(
  46050 			BCM_CONTROL(unit)->unit,
  46051 			group,
  46052 			port,
  46053 			extender_port_id,
  46054 			encap_id);
  46055 }
  46056 
  46057 int
  46058 bcm_loop_multicast_fabric_distribution_get(
  46059 	int	unit,
  46060 	bcm_multicast_t	group,
  46061 	bcm_fabric_distribution_t *	ds_id)
  46062 {
  46063 	return bcm_multicast_fabric_distribution_get(
  46064 			BCM_CONTROL(unit)->unit,
  46065 			group,
  46066 			ds_id);
  46067 }
  46068 
  46069 int
  46070 bcm_loop_multicast_fabric_distribution_set(
  46071 	int	unit,
  46072 	bcm_multicast_t	group,
  46073 	bcm_fabric_distribution_t	ds_id)
  46074 {
  46075 	return bcm_multicast_fabric_distribution_set(
  46076 			BCM_CONTROL(unit)->unit,
  46077 			group,
  46078 			ds_id);
  46079 }
  46080 
  46081 int
  46082 bcm_loop_multicast_get(
  46083 	int	unit,
  46084 	bcm_multicast_t	group,
  46085 	uint32	flags,
  46086 	int	replication_max,
  46087 	bcm_multicast_replication_t *	out_rep_array,
  46088 	int *	rep_count)
  46089 {
  46090 	return bcm_multicast_get(
  46091 			BCM_CONTROL(unit)->unit,
  46092 			group,
  46093 			flags,
  46094 			replication_max,
  46095 			out_rep_array,
  46096 			rep_count);
  46097 }
  46098 
  46099 int
  46100 bcm_loop_multicast_group_free_range_get(
  46101 	int	unit,
  46102 	uint32	type_flag,
  46103 	bcm_multicast_t *	group_min,
  46104 	bcm_multicast_t *	group_max)
  46105 {
  46106 	return bcm_multicast_group_free_range_get(
  46107 			BCM_CONTROL(unit)->unit,
  46108 			type_flag,
  46109 			group_min,
  46110 			group_max);
  46111 }
  46112 
  46113 int
  46114 bcm_loop_multicast_group_get(
  46115 	int	unit,
  46116 	bcm_multicast_t	group,
  46117 	uint32 *	flags)
  46118 {
  46119 	return bcm_multicast_group_get(
  46120 			BCM_CONTROL(unit)->unit,
  46121 			group,
  46122 			flags);
  46123 }
  46124 
  46125 int
  46126 bcm_loop_multicast_group_is_free(
  46127 	int	unit,
  46128 	bcm_multicast_t	group)
  46129 {
  46130 	return bcm_multicast_group_is_free(
  46131 			BCM_CONTROL(unit)->unit,
  46132 			group);
  46133 }
  46134 
  46135 int
  46136 bcm_loop_multicast_group_traverse(
  46137 	int	unit,
  46138 	bcm_multicast_group_traverse_cb_t	trav_fn,
  46139 	uint32	flags,
  46140 	void *	user_data)
  46141 {
  46142 	return bcm_multicast_group_traverse(
  46143 			BCM_CONTROL(unit)->unit,
  46144 			trav_fn,
  46145 			flags,
  46146 			user_data);
  46147 }
  46148 
  46149 int
  46150 bcm_loop_multicast_ingress_add(
  46151 	int	unit,
  46152 	bcm_multicast_t	group,
  46153 	bcm_gport_t	port,
  46154 	bcm_if_t	encap_id)
  46155 {
  46156 	return bcm_multicast_ingress_add(
  46157 			BCM_CONTROL(unit)->unit,
  46158 			group,
  46159 			port,
  46160 			encap_id);
  46161 }
  46162 
  46163 int
  46164 bcm_loop_multicast_ingress_delete(
  46165 	int	unit,
  46166 	bcm_multicast_t	group,
  46167 	bcm_gport_t	port,
  46168 	bcm_if_t	encap_id)
  46169 {
  46170 	return bcm_multicast_ingress_delete(
  46171 			BCM_CONTROL(unit)->unit,
  46172 			group,
  46173 			port,
  46174 			encap_id);
  46175 }
  46176 
  46177 int
  46178 bcm_loop_multicast_ingress_delete_all(
  46179 	int	unit,
  46180 	bcm_multicast_t	group)
  46181 {
  46182 	return bcm_multicast_ingress_delete_all(
  46183 			BCM_CONTROL(unit)->unit,
  46184 			group);
  46185 }
  46186 
  46187 int
  46188 bcm_loop_multicast_ingress_get(
  46189 	int	unit,
  46190 	bcm_multicast_t	group,
  46191 	int	port_max,
  46192 	bcm_gport_t *	port_array,
  46193 	bcm_if_t *	encap_id_array,
  46194 	int *	port_count)
  46195 {
  46196 	return bcm_multicast_ingress_get(
  46197 			BCM_CONTROL(unit)->unit,
  46198 			group,
  46199 			port_max,
  46200 			port_array,
  46201 			encap_id_array,
  46202 			port_count);
  46203 }
  46204 
  46205 int
  46206 bcm_loop_multicast_ingress_set(
  46207 	int	unit,
  46208 	bcm_multicast_t	group,
  46209 	int	port_count,
  46210 	bcm_gport_t *	port_array,
  46211 	bcm_if_t *	encap_id_array)
  46212 {
  46213 	return bcm_multicast_ingress_set(
  46214 			BCM_CONTROL(unit)->unit,
  46215 			group,
  46216 			port_count,
  46217 			port_array,
  46218 			encap_id_array);
  46219 }
  46220 
  46221 int
  46222 bcm_loop_multicast_init(
  46223 	int	unit)
  46224 {
  46225 	return bcm_multicast_init(
  46226 			BCM_CONTROL(unit)->unit);
  46227 }
  46228 
  46229 int
  46230 bcm_loop_multicast_l2_encap_get(
  46231 	int	unit,
  46232 	bcm_multicast_t	group,
  46233 	bcm_gport_t	port,
  46234 	bcm_vlan_t	vlan,
  46235 	bcm_if_t *	encap_id)
  46236 {
  46237 	return bcm_multicast_l2_encap_get(
  46238 			BCM_CONTROL(unit)->unit,
  46239 			group,
  46240 			port,
  46241 			vlan,
  46242 			encap_id);
  46243 }
  46244 
  46245 int
  46246 bcm_loop_multicast_l2gre_encap_get(
  46247 	int	unit,
  46248 	bcm_multicast_t	group,
  46249 	bcm_gport_t	port,
  46250 	bcm_gport_t	l2gre_port_id,
  46251 	bcm_if_t *	encap_id)
  46252 {
  46253 	return bcm_multicast_l2gre_encap_get(
  46254 			BCM_CONTROL(unit)->unit,
  46255 			group,
  46256 			port,
  46257 			l2gre_port_id,
  46258 			encap_id);
  46259 }
  46260 
  46261 int
  46262 bcm_loop_multicast_l3_encap_get(
  46263 	int	unit,
  46264 	bcm_multicast_t	group,
  46265 	bcm_gport_t	port,
  46266 	bcm_if_t	intf,
  46267 	bcm_if_t *	encap_id)
  46268 {
  46269 	return bcm_multicast_l3_encap_get(
  46270 			BCM_CONTROL(unit)->unit,
  46271 			group,
  46272 			port,
  46273 			intf,
  46274 			encap_id);
  46275 }
  46276 
  46277 int
  46278 bcm_loop_multicast_mac_encap_get(
  46279 	int	unit,
  46280 	bcm_multicast_t	group,
  46281 	bcm_gport_t	port,
  46282 	bcm_gport_t	mac_port_id,
  46283 	bcm_if_t *	encap_id)
  46284 {
  46285 	return bcm_multicast_mac_encap_get(
  46286 			BCM_CONTROL(unit)->unit,
  46287 			group,
  46288 			port,
  46289 			mac_port_id,
  46290 			encap_id);
  46291 }
  46292 
  46293 int
  46294 bcm_loop_multicast_mim_encap_get(
  46295 	int	unit,
  46296 	bcm_multicast_t	group,
  46297 	bcm_gport_t	port,
  46298 	bcm_gport_t	mim_port_id,
  46299 	bcm_if_t *	encap_id)
  46300 {
  46301 	return bcm_multicast_mim_encap_get(
  46302 			BCM_CONTROL(unit)->unit,
  46303 			group,
  46304 			port,
  46305 			mim_port_id,
  46306 			encap_id);
  46307 }
  46308 
  46309 int
  46310 bcm_loop_multicast_multi_alloc(
  46311 	int	unit,
  46312 	bcm_multicast_multi_info_t	mc_multi_info,
  46313 	bcm_multicast_t *	base_mc_group)
  46314 {
  46315 	return bcm_multicast_multi_alloc(
  46316 			BCM_CONTROL(unit)->unit,
  46317 			mc_multi_info,
  46318 			base_mc_group);
  46319 }
  46320 
  46321 int
  46322 bcm_loop_multicast_multi_free(
  46323 	int	unit,
  46324 	bcm_multicast_t	base_mc_group)
  46325 {
  46326 	return bcm_multicast_multi_free(
  46327 			BCM_CONTROL(unit)->unit,
  46328 			base_mc_group);
  46329 }
  46330 
  46331 /* bcm_multicast_multi_info_t_init not dispatchable */
  46332 
  46333 int
  46334 bcm_loop_multicast_niv_encap_get(
  46335 	int	unit,
  46336 	bcm_multicast_t	group,
  46337 	bcm_gport_t	port,
  46338 	bcm_gport_t	niv_port_id,
  46339 	bcm_if_t *	encap_id)
  46340 {
  46341 	return bcm_multicast_niv_encap_get(
  46342 			BCM_CONTROL(unit)->unit,
  46343 			group,
  46344 			port,
  46345 			niv_port_id,
  46346 			encap_id);
  46347 }
  46348 
  46349 int
  46350 bcm_loop_multicast_repl_get(
  46351 	int	unit,
  46352 	int	index,
  46353 	bcm_port_t	port,
  46354 	bcm_vlan_vector_t	vlan_vec)
  46355 {
  46356 	return bcm_multicast_repl_get(
  46357 			BCM_CONTROL(unit)->unit,
  46358 			index,
  46359 			port,
  46360 			vlan_vec);
  46361 }
  46362 
  46363 int
  46364 bcm_loop_multicast_repl_set(
  46365 	int	unit,
  46366 	int	mc_index,
  46367 	bcm_port_t	port,
  46368 	bcm_vlan_vector_t	vlan_vec)
  46369 {
  46370 	return bcm_multicast_repl_set(
  46371 			BCM_CONTROL(unit)->unit,
  46372 			mc_index,
  46373 			port,
  46374 			vlan_vec);
  46375 }
  46376 
  46377 /* bcm_multicast_replication_t_init not dispatchable */
  46378 
  46379 int
  46380 bcm_loop_multicast_set(
  46381 	int	unit,
  46382 	bcm_multicast_t	group,
  46383 	uint32	flags,
  46384 	int	nof_replications,
  46385 	bcm_multicast_replication_t *	rep_array)
  46386 {
  46387 	return bcm_multicast_set(
  46388 			BCM_CONTROL(unit)->unit,
  46389 			group,
  46390 			flags,
  46391 			nof_replications,
  46392 			rep_array);
  46393 }
  46394 
  46395 int
  46396 bcm_loop_multicast_stat_control_get(
  46397 	int	unit,
  46398 	bcm_core_t	core_id,
  46399 	uint32	flags,
  46400 	int	command_id,
  46401 	bcm_multicast_stat_control_type_t	type,
  46402 	int *	arg)
  46403 {
  46404 	return bcm_multicast_stat_control_get(
  46405 			BCM_CONTROL(unit)->unit,
  46406 			core_id,
  46407 			flags,
  46408 			command_id,
  46409 			type,
  46410 			arg);
  46411 }
  46412 
  46413 int
  46414 bcm_loop_multicast_stat_control_set(
  46415 	int	unit,
  46416 	bcm_core_t	core_id,
  46417 	uint32	flags,
  46418 	int	command_id,
  46419 	bcm_multicast_stat_control_type_t	type,
  46420 	int	arg)
  46421 {
  46422 	return bcm_multicast_stat_control_set(
  46423 			BCM_CONTROL(unit)->unit,
  46424 			core_id,
  46425 			flags,
  46426 			command_id,
  46427 			type,
  46428 			arg);
  46429 }
  46430 
  46431 int
  46432 bcm_loop_multicast_subport_encap_get(
  46433 	int	unit,
  46434 	bcm_multicast_t	group,
  46435 	bcm_gport_t	port,
  46436 	bcm_gport_t	subport,
  46437 	bcm_if_t *	encap_id)
  46438 {
  46439 	return bcm_multicast_subport_encap_get(
  46440 			BCM_CONTROL(unit)->unit,
  46441 			group,
  46442 			port,
  46443 			subport,
  46444 			encap_id);
  46445 }
  46446 
  46447 int
  46448 bcm_loop_multicast_trill_encap_get(
  46449 	int	unit,
  46450 	bcm_multicast_t	group,
  46451 	bcm_gport_t	port,
  46452 	bcm_if_t	intf,
  46453 	bcm_if_t *	encap_id)
  46454 {
  46455 	return bcm_multicast_trill_encap_get(
  46456 			BCM_CONTROL(unit)->unit,
  46457 			group,
  46458 			port,
  46459 			intf,
  46460 			encap_id);
  46461 }
  46462 
  46463 int
  46464 bcm_loop_multicast_vlan_encap_get(
  46465 	int	unit,
  46466 	bcm_multicast_t	group,
  46467 	bcm_gport_t	port,
  46468 	bcm_gport_t	vlan_port_id,
  46469 	bcm_if_t *	encap_id)
  46470 {
  46471 	return bcm_multicast_vlan_encap_get(
  46472 			BCM_CONTROL(unit)->unit,
  46473 			group,
  46474 			port,
  46475 			vlan_port_id,
  46476 			encap_id);
  46477 }
  46478 
  46479 int
  46480 bcm_loop_multicast_vpls_encap_get(
  46481 	int	unit,
  46482 	bcm_multicast_t	group,
  46483 	bcm_gport_t	port,
  46484 	bcm_gport_t	mpls_port_id,
  46485 	bcm_if_t *	encap_id)
  46486 {
  46487 	return bcm_multicast_vpls_encap_get(
  46488 			BCM_CONTROL(unit)->unit,
  46489 			group,
  46490 			port,
  46491 			mpls_port_id,
  46492 			encap_id);
  46493 }
  46494 
  46495 int
  46496 bcm_loop_multicast_vxlan_encap_get(
  46497 	int	unit,
  46498 	bcm_multicast_t	group,
  46499 	bcm_gport_t	port,
  46500 	bcm_gport_t	vxlan_port_id,
  46501 	bcm_if_t *	encap_id)
  46502 {
  46503 	return bcm_multicast_vxlan_encap_get(
  46504 			BCM_CONTROL(unit)->unit,
  46505 			group,
  46506 			port,
  46507 			vxlan_port_id,
  46508 			encap_id);
  46509 }
  46510 
  46511 int
  46512 bcm_loop_multicast_wlan_encap_get(
  46513 	int	unit,
  46514 	bcm_multicast_t	group,
  46515 	bcm_gport_t	port,
  46516 	bcm_gport_t	wlan_port_id,
  46517 	bcm_if_t *	encap_id)
  46518 {
  46519 	return bcm_multicast_wlan_encap_get(
  46520 			BCM_CONTROL(unit)->unit,
  46521 			group,
  46522 			port,
  46523 			wlan_port_id,
  46524 			encap_id);
  46525 }
  46526 
  46527 #ifdef	INCLUDE_L3
  46528 
  46529 int
  46530 bcm_loop_niv_cleanup(
  46531 	int	unit)
  46532 {
  46533 	return bcm_niv_cleanup(
  46534 			BCM_CONTROL(unit)->unit);
  46535 }
  46536 
  46537 int
  46538 bcm_loop_niv_egress_add(
  46539 	int	unit,
  46540 	bcm_gport_t	niv_port,
  46541 	bcm_niv_egress_t *	niv_egress)
  46542 {
  46543 	return bcm_niv_egress_add(
  46544 			BCM_CONTROL(unit)->unit,
  46545 			niv_port,
  46546 			niv_egress);
  46547 }
  46548 
  46549 int
  46550 bcm_loop_niv_egress_delete(
  46551 	int	unit,
  46552 	bcm_gport_t	niv_port,
  46553 	bcm_niv_egress_t *	niv_egress)
  46554 {
  46555 	return bcm_niv_egress_delete(
  46556 			BCM_CONTROL(unit)->unit,
  46557 			niv_port,
  46558 			niv_egress);
  46559 }
  46560 
  46561 int
  46562 bcm_loop_niv_egress_delete_all(
  46563 	int	unit,
  46564 	bcm_gport_t	niv_port)
  46565 {
  46566 	return bcm_niv_egress_delete_all(
  46567 			BCM_CONTROL(unit)->unit,
  46568 			niv_port);
  46569 }
  46570 
  46571 int
  46572 bcm_loop_niv_egress_get(
  46573 	int	unit,
  46574 	bcm_gport_t	niv_port,
  46575 	int	array_size,
  46576 	bcm_niv_egress_t *	niv_egress_array,
  46577 	int *	count)
  46578 {
  46579 	return bcm_niv_egress_get(
  46580 			BCM_CONTROL(unit)->unit,
  46581 			niv_port,
  46582 			array_size,
  46583 			niv_egress_array,
  46584 			count);
  46585 }
  46586 
  46587 int
  46588 bcm_loop_niv_egress_set(
  46589 	int	unit,
  46590 	bcm_gport_t	niv_port,
  46591 	int	array_size,
  46592 	bcm_niv_egress_t *	niv_egress_array)
  46593 {
  46594 	return bcm_niv_egress_set(
  46595 			BCM_CONTROL(unit)->unit,
  46596 			niv_port,
  46597 			array_size,
  46598 			niv_egress_array);
  46599 }
  46600 
  46601 /* bcm_niv_egress_t_init not dispatchable */
  46602 
  46603 int
  46604 bcm_loop_niv_forward_add(
  46605 	int	unit,
  46606 	bcm_niv_forward_t *	iv_fwd_entry)
  46607 {
  46608 	return bcm_niv_forward_add(
  46609 			BCM_CONTROL(unit)->unit,
  46610 			iv_fwd_entry);
  46611 }
  46612 
  46613 int
  46614 bcm_loop_niv_forward_delete(
  46615 	int	unit,
  46616 	bcm_niv_forward_t *	iv_fwd_entry)
  46617 {
  46618 	return bcm_niv_forward_delete(
  46619 			BCM_CONTROL(unit)->unit,
  46620 			iv_fwd_entry);
  46621 }
  46622 
  46623 int
  46624 bcm_loop_niv_forward_delete_all(
  46625 	int	unit)
  46626 {
  46627 	return bcm_niv_forward_delete_all(
  46628 			BCM_CONTROL(unit)->unit);
  46629 }
  46630 
  46631 int
  46632 bcm_loop_niv_forward_get(
  46633 	int	unit,
  46634 	bcm_niv_forward_t *	iv_fwd_entry)
  46635 {
  46636 	return bcm_niv_forward_get(
  46637 			BCM_CONTROL(unit)->unit,
  46638 			iv_fwd_entry);
  46639 }
  46640 
  46641 /* bcm_niv_forward_t_init not dispatchable */
  46642 
  46643 int
  46644 bcm_loop_niv_forward_traverse(
  46645 	int	unit,
  46646 	bcm_niv_forward_traverse_cb	cb,
  46647 	void *	user_data)
  46648 {
  46649 	return bcm_niv_forward_traverse(
  46650 			BCM_CONTROL(unit)->unit,
  46651 			cb,
  46652 			user_data);
  46653 }
  46654 
  46655 int
  46656 bcm_loop_niv_init(
  46657 	int	unit)
  46658 {
  46659 	return bcm_niv_init(
  46660 			BCM_CONTROL(unit)->unit);
  46661 }
  46662 
  46663 int
  46664 bcm_loop_niv_port_add(
  46665 	int	unit,
  46666 	bcm_niv_port_t *	niv_port)
  46667 {
  46668 	return bcm_niv_port_add(
  46669 			BCM_CONTROL(unit)->unit,
  46670 			niv_port);
  46671 }
  46672 
  46673 int
  46674 bcm_loop_niv_port_delete(
  46675 	int	unit,
  46676 	bcm_gport_t	niv_port_id)
  46677 {
  46678 	return bcm_niv_port_delete(
  46679 			BCM_CONTROL(unit)->unit,
  46680 			niv_port_id);
  46681 }
  46682 
  46683 int
  46684 bcm_loop_niv_port_delete_all(
  46685 	int	unit)
  46686 {
  46687 	return bcm_niv_port_delete_all(
  46688 			BCM_CONTROL(unit)->unit);
  46689 }
  46690 
  46691 int
  46692 bcm_loop_niv_port_get(
  46693 	int	unit,
  46694 	bcm_niv_port_t *	niv_port)
  46695 {
  46696 	return bcm_niv_port_get(
  46697 			BCM_CONTROL(unit)->unit,
  46698 			niv_port);
  46699 }
  46700 
  46701 /* bcm_niv_port_t_init not dispatchable */
  46702 
  46703 int
  46704 bcm_loop_niv_port_traverse(
  46705 	int	unit,
  46706 	bcm_niv_port_traverse_cb	cb,
  46707 	void *	user_data)
  46708 {
  46709 	return bcm_niv_port_traverse(
  46710 			BCM_CONTROL(unit)->unit,
  46711 			cb,
  46712 			user_data);
  46713 }
  46714 
  46715 /* bcm_oam_action_key_t_init not dispatchable */
  46716 
  46717 /* bcm_oam_action_result_t_init not dispatchable */
  46718 
  46719 #endif	/* INCLUDE_L3 */
  46720 
  46721 int
  46722 bcm_loop_oam_ais_add(
  46723 	int	unit,
  46724 	bcm_oam_ais_t *	ais_ptr)
  46725 {
  46726 	return bcm_oam_ais_add(
  46727 			BCM_CONTROL(unit)->unit,
  46728 			ais_ptr);
  46729 }
  46730 
  46731 int
  46732 bcm_loop_oam_ais_delete(
  46733 	int	unit,
  46734 	bcm_oam_ais_t *	ais_ptr)
  46735 {
  46736 	return bcm_oam_ais_delete(
  46737 			BCM_CONTROL(unit)->unit,
  46738 			ais_ptr);
  46739 }
  46740 
  46741 int
  46742 bcm_loop_oam_ais_get(
  46743 	int	unit,
  46744 	bcm_oam_ais_t *	ais_ptr)
  46745 {
  46746 	return bcm_oam_ais_get(
  46747 			BCM_CONTROL(unit)->unit,
  46748 			ais_ptr);
  46749 }
  46750 
  46751 /* bcm_oam_ais_t_init not dispatchable */
  46752 
  46753 int
  46754 bcm_loop_oam_control_get(
  46755 	int	unit,
  46756 	bcm_oam_control_type_t	type,
  46757 	uint64 *	arg)
  46758 {
  46759 	return bcm_oam_control_get(
  46760 			BCM_CONTROL(unit)->unit,
  46761 			type,
  46762 			arg);
  46763 }
  46764 
  46765 int
  46766 bcm_loop_oam_control_indexed_get(
  46767 	int	unit,
  46768 	bcm_oam_control_key_t	key,
  46769 	uint64 *	arg)
  46770 {
  46771 	return bcm_oam_control_indexed_get(
  46772 			BCM_CONTROL(unit)->unit,
  46773 			key,
  46774 			arg);
  46775 }
  46776 
  46777 int
  46778 bcm_loop_oam_control_indexed_set(
  46779 	int	unit,
  46780 	bcm_oam_control_key_t	key,
  46781 	uint64	arg)
  46782 {
  46783 	return bcm_oam_control_indexed_set(
  46784 			BCM_CONTROL(unit)->unit,
  46785 			key,
  46786 			arg);
  46787 }
  46788 
  46789 int
  46790 bcm_loop_oam_control_set(
  46791 	int	unit,
  46792 	bcm_oam_control_type_t	type,
  46793 	uint64	arg)
  46794 {
  46795 	return bcm_oam_control_set(
  46796 			BCM_CONTROL(unit)->unit,
  46797 			type,
  46798 			arg);
  46799 }
  46800 
  46801 int
  46802 bcm_loop_oam_csf_add(
  46803 	int	unit,
  46804 	bcm_oam_csf_t *	csf_ptr)
  46805 {
  46806 	return bcm_oam_csf_add(
  46807 			BCM_CONTROL(unit)->unit,
  46808 			csf_ptr);
  46809 }
  46810 
  46811 int
  46812 bcm_loop_oam_csf_delete(
  46813 	int	unit,
  46814 	bcm_oam_csf_t *	csf_ptr)
  46815 {
  46816 	return bcm_oam_csf_delete(
  46817 			BCM_CONTROL(unit)->unit,
  46818 			csf_ptr);
  46819 }
  46820 
  46821 int
  46822 bcm_loop_oam_csf_get(
  46823 	int	unit,
  46824 	bcm_oam_csf_t *	csf_ptr)
  46825 {
  46826 	return bcm_oam_csf_get(
  46827 			BCM_CONTROL(unit)->unit,
  46828 			csf_ptr);
  46829 }
  46830 
  46831 /* bcm_oam_csf_t_init not dispatchable */
  46832 
  46833 int
  46834 bcm_loop_oam_delay_add(
  46835 	int	unit,
  46836 	bcm_oam_delay_t *	delay_ptr)
  46837 {
  46838 	return bcm_oam_delay_add(
  46839 			BCM_CONTROL(unit)->unit,
  46840 			delay_ptr);
  46841 }
  46842 
  46843 int
  46844 bcm_loop_oam_delay_delete(
  46845 	int	unit,
  46846 	bcm_oam_delay_t *	delay_ptr)
  46847 {
  46848 	return bcm_oam_delay_delete(
  46849 			BCM_CONTROL(unit)->unit,
  46850 			delay_ptr);
  46851 }
  46852 
  46853 int
  46854 bcm_loop_oam_delay_get(
  46855 	int	unit,
  46856 	bcm_oam_delay_t *	delay_ptr)
  46857 {
  46858 	return bcm_oam_delay_get(
  46859 			BCM_CONTROL(unit)->unit,
  46860 			delay_ptr);
  46861 }
  46862 
  46863 /* bcm_oam_delay_t_init not dispatchable */
  46864 
  46865 int
  46866 bcm_loop_oam_detach(
  46867 	int	unit)
  46868 {
  46869 	return bcm_oam_detach(
  46870 			BCM_CONTROL(unit)->unit);
  46871 }
  46872 
  46873 int
  46874 bcm_loop_oam_endpoint_action_set(
  46875 	int	unit,
  46876 	bcm_oam_endpoint_t	id,
  46877 	bcm_oam_endpoint_action_t *	action)
  46878 {
  46879 	return bcm_oam_endpoint_action_set(
  46880 			BCM_CONTROL(unit)->unit,
  46881 			id,
  46882 			action);
  46883 }
  46884 
  46885 /* bcm_oam_endpoint_action_t_init not dispatchable */
  46886 
  46887 int
  46888 bcm_loop_oam_endpoint_create(
  46889 	int	unit,
  46890 	bcm_oam_endpoint_info_t *	endpoint_info)
  46891 {
  46892 	return bcm_oam_endpoint_create(
  46893 			BCM_CONTROL(unit)->unit,
  46894 			endpoint_info);
  46895 }
  46896 
  46897 int
  46898 bcm_loop_oam_endpoint_destroy(
  46899 	int	unit,
  46900 	bcm_oam_endpoint_t	endpoint)
  46901 {
  46902 	return bcm_oam_endpoint_destroy(
  46903 			BCM_CONTROL(unit)->unit,
  46904 			endpoint);
  46905 }
  46906 
  46907 int
  46908 bcm_loop_oam_endpoint_destroy_all(
  46909 	int	unit,
  46910 	bcm_oam_group_t	group)
  46911 {
  46912 	return bcm_oam_endpoint_destroy_all(
  46913 			BCM_CONTROL(unit)->unit,
  46914 			group);
  46915 }
  46916 
  46917 int
  46918 bcm_loop_oam_endpoint_egress_intf_egress_attach(
  46919 	int	unit,
  46920 	bcm_oam_endpoint_t	endpoint_id,
  46921 	bcm_if_t	egress_intf)
  46922 {
  46923 	return bcm_oam_endpoint_egress_intf_egress_attach(
  46924 			BCM_CONTROL(unit)->unit,
  46925 			endpoint_id,
  46926 			egress_intf);
  46927 }
  46928 
  46929 int
  46930 bcm_loop_oam_endpoint_egress_intf_egress_attach_get(
  46931 	int	unit,
  46932 	bcm_oam_endpoint_t	endpoint_id,
  46933 	int	max_count,
  46934 	bcm_if_t *	egress_intf,
  46935 	int *	count)
  46936 {
  46937 	return bcm_oam_endpoint_egress_intf_egress_attach_get(
  46938 			BCM_CONTROL(unit)->unit,
  46939 			endpoint_id,
  46940 			max_count,
  46941 			egress_intf,
  46942 			count);
  46943 }
  46944 
  46945 int
  46946 bcm_loop_oam_endpoint_egress_intf_egress_detach(
  46947 	int	unit,
  46948 	bcm_oam_endpoint_t	endpoint_id,
  46949 	bcm_if_t	egress_intf)
  46950 {
  46951 	return bcm_oam_endpoint_egress_intf_egress_detach(
  46952 			BCM_CONTROL(unit)->unit,
  46953 			endpoint_id,
  46954 			egress_intf);
  46955 }
  46956 
  46957 int
  46958 bcm_loop_oam_endpoint_faults_multi_get(
  46959 	int	unit,
  46960 	uint32	flags,
  46961 	bcm_oam_protocol_type_t	endpoint_protocol,
  46962 	uint32	max_endpoints,
  46963 	bcm_oam_endpoint_fault_t *	faults,
  46964 	uint32 *	endpoint_count)
  46965 {
  46966 	return bcm_oam_endpoint_faults_multi_get(
  46967 			BCM_CONTROL(unit)->unit,
  46968 			flags,
  46969 			endpoint_protocol,
  46970 			max_endpoints,
  46971 			faults,
  46972 			endpoint_count);
  46973 }
  46974 
  46975 int
  46976 bcm_loop_oam_endpoint_get(
  46977 	int	unit,
  46978 	bcm_oam_endpoint_t	endpoint,
  46979 	bcm_oam_endpoint_info_t *	endpoint_info)
  46980 {
  46981 	return bcm_oam_endpoint_get(
  46982 			BCM_CONTROL(unit)->unit,
  46983 			endpoint,
  46984 			endpoint_info);
  46985 }
  46986 
  46987 int
  46988 bcm_loop_oam_endpoint_gport_egress_attach(
  46989 	int	unit,
  46990 	bcm_oam_endpoint_t	endpoint,
  46991 	bcm_gport_t	gport)
  46992 {
  46993 	return bcm_oam_endpoint_gport_egress_attach(
  46994 			BCM_CONTROL(unit)->unit,
  46995 			endpoint,
  46996 			gport);
  46997 }
  46998 
  46999 int
  47000 bcm_loop_oam_endpoint_gport_egress_attach_get(
  47001 	int	unit,
  47002 	bcm_oam_endpoint_t	endpoint,
  47003 	int	max_count,
  47004 	bcm_gport_t *	gport,
  47005 	int *	count)
  47006 {
  47007 	return bcm_oam_endpoint_gport_egress_attach_get(
  47008 			BCM_CONTROL(unit)->unit,
  47009 			endpoint,
  47010 			max_count,
  47011 			gport,
  47012 			count);
  47013 }
  47014 
  47015 int
  47016 bcm_loop_oam_endpoint_gport_egress_detach(
  47017 	int	unit,
  47018 	bcm_oam_endpoint_t	endpoint,
  47019 	bcm_gport_t	gport)
  47020 {
  47021 	return bcm_oam_endpoint_gport_egress_detach(
  47022 			BCM_CONTROL(unit)->unit,
  47023 			endpoint,
  47024 			gport);
  47025 }
  47026 
  47027 /* bcm_oam_endpoint_info_t_init not dispatchable */
  47028 
  47029 int
  47030 bcm_loop_oam_endpoint_traverse(
  47031 	int	unit,
  47032 	bcm_oam_group_t	group,
  47033 	bcm_oam_endpoint_traverse_cb	cb,
  47034 	void *	user_data)
  47035 {
  47036 	return bcm_oam_endpoint_traverse(
  47037 			BCM_CONTROL(unit)->unit,
  47038 			group,
  47039 			cb,
  47040 			user_data);
  47041 }
  47042 
  47043 int
  47044 bcm_loop_oam_event_register(
  47045 	int	unit,
  47046 	bcm_oam_event_types_t	event_types,
  47047 	bcm_oam_event_cb	cb,
  47048 	void *	user_data)
  47049 {
  47050 	return bcm_oam_event_register(
  47051 			BCM_CONTROL(unit)->unit,
  47052 			event_types,
  47053 			cb,
  47054 			user_data);
  47055 }
  47056 
  47057 int
  47058 bcm_loop_oam_event_unregister(
  47059 	int	unit,
  47060 	bcm_oam_event_types_t	event_types,
  47061 	bcm_oam_event_cb	cb)
  47062 {
  47063 	return bcm_oam_event_unregister(
  47064 			BCM_CONTROL(unit)->unit,
  47065 			event_types,
  47066 			cb);
  47067 }
  47068 
  47069 int
  47070 bcm_loop_oam_group_create(
  47071 	int	unit,
  47072 	bcm_oam_group_info_t *	group_info)
  47073 {
  47074 	return bcm_oam_group_create(
  47075 			BCM_CONTROL(unit)->unit,
  47076 			group_info);
  47077 }
  47078 
  47079 int
  47080 bcm_loop_oam_group_destroy(
  47081 	int	unit,
  47082 	bcm_oam_group_t	group)
  47083 {
  47084 	return bcm_oam_group_destroy(
  47085 			BCM_CONTROL(unit)->unit,
  47086 			group);
  47087 }
  47088 
  47089 int
  47090 bcm_loop_oam_group_destroy_all(
  47091 	int	unit)
  47092 {
  47093 	return bcm_oam_group_destroy_all(
  47094 			BCM_CONTROL(unit)->unit);
  47095 }
  47096 
  47097 int
  47098 bcm_loop_oam_group_get(
  47099 	int	unit,
  47100 	bcm_oam_group_t	group,
  47101 	bcm_oam_group_info_t *	group_info)
  47102 {
  47103 	return bcm_oam_group_get(
  47104 			BCM_CONTROL(unit)->unit,
  47105 			group,
  47106 			group_info);
  47107 }
  47108 
  47109 /* bcm_oam_group_info_t_init not dispatchable */
  47110 
  47111 int
  47112 bcm_loop_oam_group_traverse(
  47113 	int	unit,
  47114 	bcm_oam_group_traverse_cb	cb,
  47115 	void *	user_data)
  47116 {
  47117 	return bcm_oam_group_traverse(
  47118 			BCM_CONTROL(unit)->unit,
  47119 			cb,
  47120 			user_data);
  47121 }
  47122 
  47123 int
  47124 bcm_loop_oam_init(
  47125 	int	unit)
  47126 {
  47127 	return bcm_oam_init(
  47128 			BCM_CONTROL(unit)->unit);
  47129 }
  47130 
  47131 int
  47132 bcm_loop_oam_lif_profile_get(
  47133 	int	unit,
  47134 	uint32	flags,
  47135 	bcm_gport_t	gport,
  47136 	bcm_oam_profile_t *	ingress_oam_profile,
  47137 	bcm_oam_profile_t *	egress_oam_profile)
  47138 {
  47139 	return bcm_oam_lif_profile_get(
  47140 			BCM_CONTROL(unit)->unit,
  47141 			flags,
  47142 			gport,
  47143 			ingress_oam_profile,
  47144 			egress_oam_profile);
  47145 }
  47146 
  47147 int
  47148 bcm_loop_oam_lif_profile_set(
  47149 	int	unit,
  47150 	uint32	flags,
  47151 	bcm_gport_t	gport,
  47152 	bcm_oam_profile_t	ingress_oam_profile,
  47153 	bcm_oam_profile_t	egress_oam_profile)
  47154 {
  47155 	return bcm_oam_lif_profile_set(
  47156 			BCM_CONTROL(unit)->unit,
  47157 			flags,
  47158 			gport,
  47159 			ingress_oam_profile,
  47160 			egress_oam_profile);
  47161 }
  47162 
  47163 int
  47164 bcm_loop_oam_lookup_enable_get(
  47165 	int	unit,
  47166 	bcm_oam_lookup_type_t	type,
  47167 	bcm_oam_conditions_t *	condition)
  47168 {
  47169 	return bcm_oam_lookup_enable_get(
  47170 			BCM_CONTROL(unit)->unit,
  47171 			type,
  47172 			condition);
  47173 }
  47174 
  47175 int
  47176 bcm_loop_oam_lookup_enable_multi_set(
  47177 	int	unit,
  47178 	bcm_oam_lookup_types_t	types,
  47179 	bcm_oam_conditions_t	conditions,
  47180 	int	enable)
  47181 {
  47182 	return bcm_oam_lookup_enable_multi_set(
  47183 			BCM_CONTROL(unit)->unit,
  47184 			types,
  47185 			conditions,
  47186 			enable);
  47187 }
  47188 
  47189 int
  47190 bcm_loop_oam_lookup_enable_set(
  47191 	int	unit,
  47192 	bcm_oam_lookup_type_t	type,
  47193 	bcm_oam_condition_t	condition,
  47194 	int	enable)
  47195 {
  47196 	return bcm_oam_lookup_enable_set(
  47197 			BCM_CONTROL(unit)->unit,
  47198 			type,
  47199 			condition,
  47200 			enable);
  47201 }
  47202 
  47203 int
  47204 bcm_loop_oam_loopback_add(
  47205 	int	unit,
  47206 	bcm_oam_loopback_t *	loopback_ptr)
  47207 {
  47208 	return bcm_oam_loopback_add(
  47209 			BCM_CONTROL(unit)->unit,
  47210 			loopback_ptr);
  47211 }
  47212 
  47213 int
  47214 bcm_loop_oam_loopback_delete(
  47215 	int	unit,
  47216 	bcm_oam_loopback_t *	loopback_ptr)
  47217 {
  47218 	return bcm_oam_loopback_delete(
  47219 			BCM_CONTROL(unit)->unit,
  47220 			loopback_ptr);
  47221 }
  47222 
  47223 int
  47224 bcm_loop_oam_loopback_get(
  47225 	int	unit,
  47226 	bcm_oam_loopback_t *	loopback_ptr)
  47227 {
  47228 	return bcm_oam_loopback_get(
  47229 			BCM_CONTROL(unit)->unit,
  47230 			loopback_ptr);
  47231 }
  47232 
  47233 /* bcm_oam_loopback_t_init not dispatchable */
  47234 
  47235 int
  47236 bcm_loop_oam_loss_add(
  47237 	int	unit,
  47238 	bcm_oam_loss_t *	loss_ptr)
  47239 {
  47240 	return bcm_oam_loss_add(
  47241 			BCM_CONTROL(unit)->unit,
  47242 			loss_ptr);
  47243 }
  47244 
  47245 int
  47246 bcm_loop_oam_loss_delete(
  47247 	int	unit,
  47248 	bcm_oam_loss_t *	loss_ptr)
  47249 {
  47250 	return bcm_oam_loss_delete(
  47251 			BCM_CONTROL(unit)->unit,
  47252 			loss_ptr);
  47253 }
  47254 
  47255 int
  47256 bcm_loop_oam_loss_get(
  47257 	int	unit,
  47258 	bcm_oam_loss_t *	loss_ptr)
  47259 {
  47260 	return bcm_oam_loss_get(
  47261 			BCM_CONTROL(unit)->unit,
  47262 			loss_ptr);
  47263 }
  47264 
  47265 /* bcm_oam_loss_t_init not dispatchable */
  47266 
  47267 int
  47268 bcm_loop_oam_mpls_tp_channel_type_rx_delete(
  47269 	int	unit,
  47270 	bcm_oam_mpls_tp_channel_type_t	channel_type,
  47271 	int	num_values,
  47272 	int *	list_of_values)
  47273 {
  47274 	return bcm_oam_mpls_tp_channel_type_rx_delete(
  47275 			BCM_CONTROL(unit)->unit,
  47276 			channel_type,
  47277 			num_values,
  47278 			list_of_values);
  47279 }
  47280 
  47281 int
  47282 bcm_loop_oam_mpls_tp_channel_type_rx_get(
  47283 	int	unit,
  47284 	bcm_oam_mpls_tp_channel_type_t	channel_type,
  47285 	int	num_values,
  47286 	int *	list_of_values,
  47287 	int *	value_count)
  47288 {
  47289 	return bcm_oam_mpls_tp_channel_type_rx_get(
  47290 			BCM_CONTROL(unit)->unit,
  47291 			channel_type,
  47292 			num_values,
  47293 			list_of_values,
  47294 			value_count);
  47295 }
  47296 
  47297 int
  47298 bcm_loop_oam_mpls_tp_channel_type_rx_set(
  47299 	int	unit,
  47300 	bcm_oam_mpls_tp_channel_type_t	channel_type,
  47301 	int	num_values,
  47302 	int *	list_of_values)
  47303 {
  47304 	return bcm_oam_mpls_tp_channel_type_rx_set(
  47305 			BCM_CONTROL(unit)->unit,
  47306 			channel_type,
  47307 			num_values,
  47308 			list_of_values);
  47309 }
  47310 
  47311 int
  47312 bcm_loop_oam_mpls_tp_channel_type_tx_delete(
  47313 	int	unit,
  47314 	bcm_oam_mpls_tp_channel_type_t	channel_type,
  47315 	int	value)
  47316 {
  47317 	return bcm_oam_mpls_tp_channel_type_tx_delete(
  47318 			BCM_CONTROL(unit)->unit,
  47319 			channel_type,
  47320 			value);
  47321 }
  47322 
  47323 int
  47324 bcm_loop_oam_mpls_tp_channel_type_tx_get(
  47325 	int	unit,
  47326 	bcm_oam_mpls_tp_channel_type_t	channel_type,
  47327 	int *	value)
  47328 {
  47329 	return bcm_oam_mpls_tp_channel_type_tx_get(
  47330 			BCM_CONTROL(unit)->unit,
  47331 			channel_type,
  47332 			value);
  47333 }
  47334 
  47335 int
  47336 bcm_loop_oam_mpls_tp_channel_type_tx_set(
  47337 	int	unit,
  47338 	bcm_oam_mpls_tp_channel_type_t	channel_type,
  47339 	int	value)
  47340 {
  47341 	return bcm_oam_mpls_tp_channel_type_tx_set(
  47342 			BCM_CONTROL(unit)->unit,
  47343 			channel_type,
  47344 			value);
  47345 }
  47346 
  47347 int
  47348 bcm_loop_oam_opcode_group_get(
  47349 	int	unit,
  47350 	bcm_oam_protocol_type_t	protocol,
  47351 	bcm_oam_opcode_t	opcode,
  47352 	uint8 *	opcode_group)
  47353 {
  47354 	return bcm_oam_opcode_group_get(
  47355 			BCM_CONTROL(unit)->unit,
  47356 			protocol,
  47357 			opcode,
  47358 			opcode_group);
  47359 }
  47360 
  47361 int
  47362 bcm_loop_oam_opcode_group_set(
  47363 	int	unit,
  47364 	bcm_oam_protocol_type_t	protocol,
  47365 	bcm_oam_opcodes_t	opcodes,
  47366 	uint8	opcode_group)
  47367 {
  47368 	return bcm_oam_opcode_group_set(
  47369 			BCM_CONTROL(unit)->unit,
  47370 			protocol,
  47371 			opcodes,
  47372 			opcode_group);
  47373 }
  47374 
  47375 int
  47376 bcm_loop_oam_opcode_map_get(
  47377 	int	unit,
  47378 	int	opcode,
  47379 	int *	profile)
  47380 {
  47381 	return bcm_oam_opcode_map_get(
  47382 			BCM_CONTROL(unit)->unit,
  47383 			opcode,
  47384 			profile);
  47385 }
  47386 
  47387 int
  47388 bcm_loop_oam_opcode_map_set(
  47389 	int	unit,
  47390 	int	opcode,
  47391 	int	profile)
  47392 {
  47393 	return bcm_oam_opcode_map_set(
  47394 			BCM_CONTROL(unit)->unit,
  47395 			opcode,
  47396 			profile);
  47397 }
  47398 
  47399 int
  47400 bcm_loop_oam_opcodes_count_profile_create(
  47401 	int	unit,
  47402 	uint8 *	lm_count_profile)
  47403 {
  47404 	return bcm_oam_opcodes_count_profile_create(
  47405 			BCM_CONTROL(unit)->unit,
  47406 			lm_count_profile);
  47407 }
  47408 
  47409 int
  47410 bcm_loop_oam_opcodes_count_profile_delete(
  47411 	int	unit,
  47412 	uint8	lm_count_profile)
  47413 {
  47414 	return bcm_oam_opcodes_count_profile_delete(
  47415 			BCM_CONTROL(unit)->unit,
  47416 			lm_count_profile);
  47417 }
  47418 
  47419 int
  47420 bcm_loop_oam_opcodes_count_profile_get(
  47421 	int	unit,
  47422 	uint8	lm_count_profile,
  47423 	uint8	count_enable,
  47424 	bcm_oam_opcodes_t *	opcodes_bitmap)
  47425 {
  47426 	return bcm_oam_opcodes_count_profile_get(
  47427 			BCM_CONTROL(unit)->unit,
  47428 			lm_count_profile,
  47429 			count_enable,
  47430 			opcodes_bitmap);
  47431 }
  47432 
  47433 int
  47434 bcm_loop_oam_opcodes_count_profile_set(
  47435 	int	unit,
  47436 	uint8	lm_count_profile,
  47437 	uint8	count_enable,
  47438 	bcm_oam_opcodes_t *	opcodes_bitmap)
  47439 {
  47440 	return bcm_oam_opcodes_count_profile_set(
  47441 			BCM_CONTROL(unit)->unit,
  47442 			lm_count_profile,
  47443 			count_enable,
  47444 			opcodes_bitmap);
  47445 }
  47446 
  47447 /* bcm_oam_performance_event_data_t_init not dispatchable */
  47448 
  47449 int
  47450 bcm_loop_oam_performance_event_register(
  47451 	int	unit,
  47452 	bcm_oam_event_types_t	event_types,
  47453 	bcm_oam_performance_event_cb	cb,
  47454 	void *	user_data)
  47455 {
  47456 	return bcm_oam_performance_event_register(
  47457 			BCM_CONTROL(unit)->unit,
  47458 			event_types,
  47459 			cb,
  47460 			user_data);
  47461 }
  47462 
  47463 int
  47464 bcm_loop_oam_performance_event_unregister(
  47465 	int	unit,
  47466 	bcm_oam_event_types_t	event_types,
  47467 	bcm_oam_performance_event_cb	cb)
  47468 {
  47469 	return bcm_oam_performance_event_unregister(
  47470 			BCM_CONTROL(unit)->unit,
  47471 			event_types,
  47472 			cb);
  47473 }
  47474 
  47475 int
  47476 bcm_loop_oam_pm_event_register(
  47477 	int	unit,
  47478 	bcm_oam_event_types_t	event_types,
  47479 	bcm_oam_pm_event_cb	cb,
  47480 	void *	user_data)
  47481 {
  47482 	return bcm_oam_pm_event_register(
  47483 			BCM_CONTROL(unit)->unit,
  47484 			event_types,
  47485 			cb,
  47486 			user_data);
  47487 }
  47488 
  47489 int
  47490 bcm_loop_oam_pm_event_unregister(
  47491 	int	unit,
  47492 	bcm_oam_event_types_t	event_types,
  47493 	bcm_oam_pm_event_cb	cb)
  47494 {
  47495 	return bcm_oam_pm_event_unregister(
  47496 			BCM_CONTROL(unit)->unit,
  47497 			event_types,
  47498 			cb);
  47499 }
  47500 
  47501 int
  47502 bcm_loop_oam_pm_profile_attach(
  47503 	int	unit,
  47504 	bcm_oam_endpoint_t	endpoint_id,
  47505 	int	profile_id)
  47506 {
  47507 	return bcm_oam_pm_profile_attach(
  47508 			BCM_CONTROL(unit)->unit,
  47509 			endpoint_id,
  47510 			profile_id);
  47511 }
  47512 
  47513 int
  47514 bcm_loop_oam_pm_profile_attach_get(
  47515 	int	unit,
  47516 	bcm_oam_endpoint_t	endpoint_id,
  47517 	int *	profile_id)
  47518 {
  47519 	return bcm_oam_pm_profile_attach_get(
  47520 			BCM_CONTROL(unit)->unit,
  47521 			endpoint_id,
  47522 			profile_id);
  47523 }
  47524 
  47525 int
  47526 bcm_loop_oam_pm_profile_create(
  47527 	int	unit,
  47528 	bcm_oam_pm_profile_info_t *	profile_info)
  47529 {
  47530 	return bcm_oam_pm_profile_create(
  47531 			BCM_CONTROL(unit)->unit,
  47532 			profile_info);
  47533 }
  47534 
  47535 int
  47536 bcm_loop_oam_pm_profile_delete(
  47537 	int	unit,
  47538 	bcm_oam_pm_profile_t	profile_id)
  47539 {
  47540 	return bcm_oam_pm_profile_delete(
  47541 			BCM_CONTROL(unit)->unit,
  47542 			profile_id);
  47543 }
  47544 
  47545 int
  47546 bcm_loop_oam_pm_profile_delete_all(
  47547 	int	unit)
  47548 {
  47549 	return bcm_oam_pm_profile_delete_all(
  47550 			BCM_CONTROL(unit)->unit);
  47551 }
  47552 
  47553 int
  47554 bcm_loop_oam_pm_profile_detach(
  47555 	int	unit,
  47556 	bcm_oam_endpoint_t	endpoint_id,
  47557 	int	profile_id)
  47558 {
  47559 	return bcm_oam_pm_profile_detach(
  47560 			BCM_CONTROL(unit)->unit,
  47561 			endpoint_id,
  47562 			profile_id);
  47563 }
  47564 
  47565 int
  47566 bcm_loop_oam_pm_profile_get(
  47567 	int	unit,
  47568 	bcm_oam_pm_profile_info_t *	profile_info)
  47569 {
  47570 	return bcm_oam_pm_profile_get(
  47571 			BCM_CONTROL(unit)->unit,
  47572 			profile_info);
  47573 }
  47574 
  47575 int
  47576 bcm_loop_oam_pm_profile_traverse(
  47577 	int	unit,
  47578 	bcm_oam_pm_profile_traverse_cb	cb,
  47579 	void *	user_data)
  47580 {
  47581 	return bcm_oam_pm_profile_traverse(
  47582 			BCM_CONTROL(unit)->unit,
  47583 			cb,
  47584 			user_data);
  47585 }
  47586 
  47587 int
  47588 bcm_loop_oam_pm_raw_data_read_done(
  47589 	int	unit,
  47590 	bcm_oam_event_types_t	event_types,
  47591 	uint32	read_index)
  47592 {
  47593 	return bcm_oam_pm_raw_data_read_done(
  47594 			BCM_CONTROL(unit)->unit,
  47595 			event_types,
  47596 			read_index);
  47597 }
  47598 
  47599 int
  47600 bcm_loop_oam_pm_stats_get(
  47601 	int	unit,
  47602 	bcm_oam_endpoint_t	endpoint_id,
  47603 	bcm_oam_pm_stats_t *	stats_ptr)
  47604 {
  47605 	return bcm_oam_pm_stats_get(
  47606 			BCM_CONTROL(unit)->unit,
  47607 			endpoint_id,
  47608 			stats_ptr);
  47609 }
  47610 
  47611 int
  47612 bcm_loop_oam_profile_action_get(
  47613 	int	unit,
  47614 	uint32	flags,
  47615 	bcm_oam_profile_t	profile_id,
  47616 	bcm_oam_action_key_t *	oam_action_key,
  47617 	bcm_oam_action_result_t *	oam_action_result)
  47618 {
  47619 	return bcm_oam_profile_action_get(
  47620 			BCM_CONTROL(unit)->unit,
  47621 			flags,
  47622 			profile_id,
  47623 			oam_action_key,
  47624 			oam_action_result);
  47625 }
  47626 
  47627 int
  47628 bcm_loop_oam_profile_action_set(
  47629 	int	unit,
  47630 	uint32	flags,
  47631 	bcm_oam_profile_t	profile_id,
  47632 	bcm_oam_action_key_t *	oam_action_key,
  47633 	bcm_oam_action_result_t *	oam_action_result)
  47634 {
  47635 	return bcm_oam_profile_action_set(
  47636 			BCM_CONTROL(unit)->unit,
  47637 			flags,
  47638 			profile_id,
  47639 			oam_action_key,
  47640 			oam_action_result);
  47641 }
  47642 
  47643 int
  47644 bcm_loop_oam_profile_create(
  47645 	int	unit,
  47646 	uint32	flags,
  47647 	bcm_oam_profile_type_t	oam_profile_type,
  47648 	bcm_oam_profile_t *	profile_id)
  47649 {
  47650 	return bcm_oam_profile_create(
  47651 			BCM_CONTROL(unit)->unit,
  47652 			flags,
  47653 			oam_profile_type,
  47654 			profile_id);
  47655 }
  47656 
  47657 int
  47658 bcm_loop_oam_profile_delete(
  47659 	int	unit,
  47660 	uint32	flags,
  47661 	bcm_oam_profile_t	profile_id)
  47662 {
  47663 	return bcm_oam_profile_delete(
  47664 			BCM_CONTROL(unit)->unit,
  47665 			flags,
  47666 			profile_id);
  47667 }
  47668 
  47669 int
  47670 bcm_loop_oam_profile_id_get_by_type(
  47671 	int	unit,
  47672 	uint8	profile_id,
  47673 	bcm_oam_profile_type_t	oam_profile_type,
  47674 	uint32 *	flags,
  47675 	bcm_oam_profile_t *	enc_profile_id)
  47676 {
  47677 	return bcm_oam_profile_id_get_by_type(
  47678 			BCM_CONTROL(unit)->unit,
  47679 			profile_id,
  47680 			oam_profile_type,
  47681 			flags,
  47682 			enc_profile_id);
  47683 }
  47684 
  47685 int
  47686 bcm_loop_oam_protection_packet_header_get(
  47687 	int	unit,
  47688 	bcm_pkt_blk_t *	packet_header)
  47689 {
  47690 	return bcm_oam_protection_packet_header_get(
  47691 			BCM_CONTROL(unit)->unit,
  47692 			packet_header);
  47693 }
  47694 
  47695 int
  47696 bcm_loop_oam_protection_packet_header_set(
  47697 	int	unit,
  47698 	bcm_pkt_blk_t *	packet_header)
  47699 {
  47700 	return bcm_oam_protection_packet_header_set(
  47701 			BCM_CONTROL(unit)->unit,
  47702 			packet_header);
  47703 }
  47704 
  47705 int
  47706 bcm_loop_oam_psc_add(
  47707 	int	unit,
  47708 	bcm_oam_psc_t *	psc_ptr)
  47709 {
  47710 	return bcm_oam_psc_add(
  47711 			BCM_CONTROL(unit)->unit,
  47712 			psc_ptr);
  47713 }
  47714 
  47715 int
  47716 bcm_loop_oam_psc_delete(
  47717 	int	unit,
  47718 	bcm_oam_psc_t *	psc_ptr)
  47719 {
  47720 	return bcm_oam_psc_delete(
  47721 			BCM_CONTROL(unit)->unit,
  47722 			psc_ptr);
  47723 }
  47724 
  47725 int
  47726 bcm_loop_oam_psc_get(
  47727 	int	unit,
  47728 	bcm_oam_psc_t *	psc_ptr)
  47729 {
  47730 	return bcm_oam_psc_get(
  47731 			BCM_CONTROL(unit)->unit,
  47732 			psc_ptr);
  47733 }
  47734 
  47735 /* bcm_oam_psc_t_init not dispatchable */
  47736 
  47737 int
  47738 bcm_loop_oam_pw_status_add(
  47739 	int	unit,
  47740 	bcm_oam_pw_status_t *	pw_status_ptr)
  47741 {
  47742 	return bcm_oam_pw_status_add(
  47743 			BCM_CONTROL(unit)->unit,
  47744 			pw_status_ptr);
  47745 }
  47746 
  47747 int
  47748 bcm_loop_oam_pw_status_delete(
  47749 	int	unit,
  47750 	bcm_oam_pw_status_t *	pw_status_ptr)
  47751 {
  47752 	return bcm_oam_pw_status_delete(
  47753 			BCM_CONTROL(unit)->unit,
  47754 			pw_status_ptr);
  47755 }
  47756 
  47757 int
  47758 bcm_loop_oam_pw_status_get(
  47759 	int	unit,
  47760 	bcm_oam_pw_status_t *	pw_status_ptr)
  47761 {
  47762 	return bcm_oam_pw_status_get(
  47763 			BCM_CONTROL(unit)->unit,
  47764 			pw_status_ptr);
  47765 }
  47766 
  47767 /* bcm_oam_pw_status_t_init not dispatchable */
  47768 
  47769 int
  47770 bcm_loop_oam_reflector_encap_create(
  47771 	int	unit,
  47772 	uint32	flags,
  47773 	bcm_if_t *	encap_id)
  47774 {
  47775 	return bcm_oam_reflector_encap_create(
  47776 			BCM_CONTROL(unit)->unit,
  47777 			flags,
  47778 			encap_id);
  47779 }
  47780 
  47781 int
  47782 bcm_loop_oam_reflector_encap_destroy(
  47783 	int	unit,
  47784 	uint32	flags,
  47785 	bcm_if_t	encap_id)
  47786 {
  47787 	return bcm_oam_reflector_encap_destroy(
  47788 			BCM_CONTROL(unit)->unit,
  47789 			flags,
  47790 			encap_id);
  47791 }
  47792 
  47793 int
  47794 bcm_loop_oam_sd_sf_detection_add(
  47795 	int	unit,
  47796 	bcm_oam_sd_sf_detection_t *	sd_sf_ptr)
  47797 {
  47798 	return bcm_oam_sd_sf_detection_add(
  47799 			BCM_CONTROL(unit)->unit,
  47800 			sd_sf_ptr);
  47801 }
  47802 
  47803 int
  47804 bcm_loop_oam_sd_sf_detection_delete(
  47805 	int	unit,
  47806 	bcm_oam_sd_sf_detection_t *	sd_sf_ptr)
  47807 {
  47808 	return bcm_oam_sd_sf_detection_delete(
  47809 			BCM_CONTROL(unit)->unit,
  47810 			sd_sf_ptr);
  47811 }
  47812 
  47813 int
  47814 bcm_loop_oam_sd_sf_detection_get(
  47815 	int	unit,
  47816 	bcm_oam_sd_sf_detection_t *	sd_sf_ptr)
  47817 {
  47818 	return bcm_oam_sd_sf_detection_get(
  47819 			BCM_CONTROL(unit)->unit,
  47820 			sd_sf_ptr);
  47821 }
  47822 
  47823 /* bcm_oam_sd_sf_detection_t_init not dispatchable */
  47824 
  47825 int
  47826 bcm_loop_oam_tod_leap_control_get(
  47827 	int	unit,
  47828 	bcm_oam_timestamp_format_t	ts_format,
  47829 	bcm_oam_tod_leap_control_t *	leap_info)
  47830 {
  47831 	return bcm_oam_tod_leap_control_get(
  47832 			BCM_CONTROL(unit)->unit,
  47833 			ts_format,
  47834 			leap_info);
  47835 }
  47836 
  47837 int
  47838 bcm_loop_oam_tod_leap_control_set(
  47839 	int	unit,
  47840 	bcm_oam_timestamp_format_t	ts_format,
  47841 	bcm_oam_tod_leap_control_t	leap_info)
  47842 {
  47843 	return bcm_oam_tod_leap_control_set(
  47844 			BCM_CONTROL(unit)->unit,
  47845 			ts_format,
  47846 			leap_info);
  47847 }
  47848 
  47849 int
  47850 bcm_loop_oam_trunk_ports_add(
  47851 	int	unit,
  47852 	bcm_gport_t	trunk_gport,
  47853 	int	max_ports,
  47854 	bcm_gport_t *	port_arr)
  47855 {
  47856 	return bcm_oam_trunk_ports_add(
  47857 			BCM_CONTROL(unit)->unit,
  47858 			trunk_gport,
  47859 			max_ports,
  47860 			port_arr);
  47861 }
  47862 
  47863 int
  47864 bcm_loop_oam_trunk_ports_delete(
  47865 	int	unit,
  47866 	bcm_gport_t	trunk_gport,
  47867 	int	max_ports,
  47868 	bcm_gport_t *	port_arr)
  47869 {
  47870 	return bcm_oam_trunk_ports_delete(
  47871 			BCM_CONTROL(unit)->unit,
  47872 			trunk_gport,
  47873 			max_ports,
  47874 			port_arr);
  47875 }
  47876 
  47877 int
  47878 bcm_loop_oam_trunk_ports_get(
  47879 	int	unit,
  47880 	bcm_gport_t	trunk_gport,
  47881 	int	max_ports,
  47882 	bcm_gport_t *	port_arr,
  47883 	int *	port_count)
  47884 {
  47885 	return bcm_oam_trunk_ports_get(
  47886 			BCM_CONTROL(unit)->unit,
  47887 			trunk_gport,
  47888 			max_ports,
  47889 			port_arr,
  47890 			port_count);
  47891 }
  47892 
  47893 int
  47894 bcm_loop_oam_tst_rx_add(
  47895 	int	unit,
  47896 	bcm_oam_tst_rx_t *	tst_ptr)
  47897 {
  47898 	return bcm_oam_tst_rx_add(
  47899 			BCM_CONTROL(unit)->unit,
  47900 			tst_ptr);
  47901 }
  47902 
  47903 int
  47904 bcm_loop_oam_tst_rx_delete(
  47905 	int	unit,
  47906 	bcm_oam_tst_rx_t *	tst_ptr)
  47907 {
  47908 	return bcm_oam_tst_rx_delete(
  47909 			BCM_CONTROL(unit)->unit,
  47910 			tst_ptr);
  47911 }
  47912 
  47913 int
  47914 bcm_loop_oam_tst_rx_get(
  47915 	int	unit,
  47916 	bcm_oam_tst_rx_t *	tst_ptr)
  47917 {
  47918 	return bcm_oam_tst_rx_get(
  47919 			BCM_CONTROL(unit)->unit,
  47920 			tst_ptr);
  47921 }
  47922 
  47923 /* bcm_oam_tst_rx_t_init not dispatchable */
  47924 
  47925 int
  47926 bcm_loop_oam_tst_tx_add(
  47927 	int	unit,
  47928 	bcm_oam_tst_tx_t *	tst_ptr)
  47929 {
  47930 	return bcm_oam_tst_tx_add(
  47931 			BCM_CONTROL(unit)->unit,
  47932 			tst_ptr);
  47933 }
  47934 
  47935 int
  47936 bcm_loop_oam_tst_tx_delete(
  47937 	int	unit,
  47938 	bcm_oam_tst_tx_t *	tst_ptr)
  47939 {
  47940 	return bcm_oam_tst_tx_delete(
  47941 			BCM_CONTROL(unit)->unit,
  47942 			tst_ptr);
  47943 }
  47944 
  47945 int
  47946 bcm_loop_oam_tst_tx_get(
  47947 	int	unit,
  47948 	bcm_oam_tst_tx_t *	tst_ptr)
  47949 {
  47950 	return bcm_oam_tst_tx_get(
  47951 			BCM_CONTROL(unit)->unit,
  47952 			tst_ptr);
  47953 }
  47954 
  47955 /* bcm_oam_tst_tx_t_init not dispatchable */
  47956 
  47957 int
  47958 bcm_loop_oam_upmep_cosq_get(
  47959 	int	unit,
  47960 	bcm_oam_upmep_pdu_type_t	upmep_pdu_type,
  47961 	bcm_cos_queue_t *	cosq)
  47962 {
  47963 	return bcm_oam_upmep_cosq_get(
  47964 			BCM_CONTROL(unit)->unit,
  47965 			upmep_pdu_type,
  47966 			cosq);
  47967 }
  47968 
  47969 int
  47970 bcm_loop_oam_upmep_cosq_set(
  47971 	int	unit,
  47972 	bcm_oam_upmep_pdu_type_t	upmep_pdu_type,
  47973 	bcm_cos_queue_t	cosq)
  47974 {
  47975 	return bcm_oam_upmep_cosq_set(
  47976 			BCM_CONTROL(unit)->unit,
  47977 			upmep_pdu_type,
  47978 			cosq);
  47979 }
  47980 
  47981 int
  47982 bcm_loop_oam_y_1711_alarm_add(
  47983 	int	unit,
  47984 	bcm_oam_y_1711_alarm_t *	alarm_ptr)
  47985 {
  47986 	return bcm_oam_y_1711_alarm_add(
  47987 			BCM_CONTROL(unit)->unit,
  47988 			alarm_ptr);
  47989 }
  47990 
  47991 int
  47992 bcm_loop_oam_y_1711_alarm_delete(
  47993 	int	unit,
  47994 	bcm_oam_y_1711_alarm_t *	alarm_ptr)
  47995 {
  47996 	return bcm_oam_y_1711_alarm_delete(
  47997 			BCM_CONTROL(unit)->unit,
  47998 			alarm_ptr);
  47999 }
  48000 
  48001 int
  48002 bcm_loop_oam_y_1711_alarm_get(
  48003 	int	unit,
  48004 	bcm_oam_y_1711_alarm_t *	alarm_ptr)
  48005 {
  48006 	return bcm_oam_y_1711_alarm_get(
  48007 			BCM_CONTROL(unit)->unit,
  48008 			alarm_ptr);
  48009 }
  48010 
  48011 /* bcm_oam_y_1711_alarm_t_init not dispatchable */
  48012 
  48013 int
  48014 bcm_loop_obm_cb_register(
  48015 	int	unit,
  48016 	bcm_obm_callback_fn	fn,
  48017 	void *	user_data)
  48018 {
  48019 	return bcm_obm_cb_register(
  48020 			BCM_CONTROL(unit)->unit,
  48021 			fn,
  48022 			user_data);
  48023 }
  48024 
  48025 int
  48026 bcm_loop_obm_cb_unregister(
  48027 	int	unit,
  48028 	bcm_obm_callback_fn	fn,
  48029 	void *	user_data)
  48030 {
  48031 	return bcm_obm_cb_unregister(
  48032 			BCM_CONTROL(unit)->unit,
  48033 			fn,
  48034 			user_data);
  48035 }
  48036 
  48037 int
  48038 bcm_loop_obm_port_max_usage_mode_get(
  48039 	int	unit,
  48040 	bcm_port_t	port,
  48041 	bcm_obm_max_watermark_mode_t *	obm_wm_mode)
  48042 {
  48043 	return bcm_obm_port_max_usage_mode_get(
  48044 			BCM_CONTROL(unit)->unit,
  48045 			port,
  48046 			obm_wm_mode);
  48047 }
  48048 
  48049 int
  48050 bcm_loop_obm_port_max_usage_mode_set(
  48051 	int	unit,
  48052 	bcm_port_t	port,
  48053 	bcm_obm_max_watermark_mode_t	obm_wm_mode)
  48054 {
  48055 	return bcm_obm_port_max_usage_mode_set(
  48056 			BCM_CONTROL(unit)->unit,
  48057 			port,
  48058 			obm_wm_mode);
  48059 }
  48060 
  48061 int
  48062 bcm_loop_obm_port_pri_traffic_class_mapping_get(
  48063 	int	unit,
  48064 	bcm_port_t	port,
  48065 	bcm_obm_lookup_priority_type_t	piority_type,
  48066 	int	priority,
  48067 	bcm_obm_traffic_class_t *	obm_tc)
  48068 {
  48069 	return bcm_obm_port_pri_traffic_class_mapping_get(
  48070 			BCM_CONTROL(unit)->unit,
  48071 			port,
  48072 			piority_type,
  48073 			priority,
  48074 			obm_tc);
  48075 }
  48076 
  48077 int
  48078 bcm_loop_obm_port_pri_traffic_class_mapping_set(
  48079 	int	unit,
  48080 	bcm_port_t	port,
  48081 	bcm_obm_lookup_priority_type_t	piority_type,
  48082 	int	priority,
  48083 	bcm_obm_traffic_class_t	obm_tc)
  48084 {
  48085 	return bcm_obm_port_pri_traffic_class_mapping_set(
  48086 			BCM_CONTROL(unit)->unit,
  48087 			port,
  48088 			piority_type,
  48089 			priority,
  48090 			obm_tc);
  48091 }
  48092 
  48093 int
  48094 bcm_loop_obm_traffic_class_pfc_priority_mapping_get(
  48095 	int	unit,
  48096 	bcm_port_t	port,
  48097 	bcm_obm_traffic_class_t	obm_traffic_class,
  48098 	int	max_pri_count,
  48099 	int *	priority_list,
  48100 	int *	pri_count)
  48101 {
  48102 	return bcm_obm_traffic_class_pfc_priority_mapping_get(
  48103 			BCM_CONTROL(unit)->unit,
  48104 			port,
  48105 			obm_traffic_class,
  48106 			max_pri_count,
  48107 			priority_list,
  48108 			pri_count);
  48109 }
  48110 
  48111 int
  48112 bcm_loop_obm_traffic_class_pfc_priority_mapping_set(
  48113 	int	unit,
  48114 	bcm_port_t	port,
  48115 	bcm_obm_traffic_class_t	obm_traffic_class,
  48116 	int	max_pri_count,
  48117 	int *	priority_list)
  48118 {
  48119 	return bcm_obm_traffic_class_pfc_priority_mapping_set(
  48120 			BCM_CONTROL(unit)->unit,
  48121 			port,
  48122 			obm_traffic_class,
  48123 			max_pri_count,
  48124 			priority_list);
  48125 }
  48126 
  48127 int
  48128 bcm_loop_oob_fc_rx_config_get(
  48129 	int	unit,
  48130 	bcm_oob_fc_rx_intf_id_t	intf_id,
  48131 	bcm_oob_fc_rx_config_t *	config,
  48132 	int	array_max,
  48133 	bcm_gport_t *	gport_array,
  48134 	int *	array_count)
  48135 {
  48136 	return bcm_oob_fc_rx_config_get(
  48137 			BCM_CONTROL(unit)->unit,
  48138 			intf_id,
  48139 			config,
  48140 			array_max,
  48141 			gport_array,
  48142 			array_count);
  48143 }
  48144 
  48145 int
  48146 bcm_loop_oob_fc_rx_config_set(
  48147 	int	unit,
  48148 	bcm_oob_fc_rx_intf_id_t	intf_id,
  48149 	bcm_oob_fc_rx_config_t *	config,
  48150 	int	array_count,
  48151 	bcm_gport_t *	gport_array)
  48152 {
  48153 	return bcm_oob_fc_rx_config_set(
  48154 			BCM_CONTROL(unit)->unit,
  48155 			intf_id,
  48156 			config,
  48157 			array_count,
  48158 			gport_array);
  48159 }
  48160 
  48161 /* bcm_oob_fc_rx_config_t_init not dispatchable */
  48162 
  48163 int
  48164 bcm_loop_oob_fc_rx_port_offset_get(
  48165 	int	unit,
  48166 	bcm_oob_fc_rx_intf_id_t	intf_id,
  48167 	bcm_gport_t	gport,
  48168 	uint32 *	offset)
  48169 {
  48170 	return bcm_oob_fc_rx_port_offset_get(
  48171 			BCM_CONTROL(unit)->unit,
  48172 			intf_id,
  48173 			gport,
  48174 			offset);
  48175 }
  48176 
  48177 int
  48178 bcm_loop_oob_fc_rx_port_tc_mapping_get(
  48179 	int	unit,
  48180 	bcm_oob_fc_rx_intf_id_t	intf_id,
  48181 	bcm_gport_t	gport,
  48182 	uint32	tc,
  48183 	uint32 *	pri_bmp)
  48184 {
  48185 	return bcm_oob_fc_rx_port_tc_mapping_get(
  48186 			BCM_CONTROL(unit)->unit,
  48187 			intf_id,
  48188 			gport,
  48189 			tc,
  48190 			pri_bmp);
  48191 }
  48192 
  48193 int
  48194 bcm_loop_oob_fc_rx_port_tc_mapping_multi_get(
  48195 	int	unit,
  48196 	bcm_oob_fc_rx_intf_id_t	intf_id,
  48197 	bcm_gport_t	gport,
  48198 	int	array_max,
  48199 	uint32 *	tc,
  48200 	uint32 *	pri_bmp,
  48201 	int *	array_count)
  48202 {
  48203 	return bcm_oob_fc_rx_port_tc_mapping_multi_get(
  48204 			BCM_CONTROL(unit)->unit,
  48205 			intf_id,
  48206 			gport,
  48207 			array_max,
  48208 			tc,
  48209 			pri_bmp,
  48210 			array_count);
  48211 }
  48212 
  48213 int
  48214 bcm_loop_oob_fc_rx_port_tc_mapping_multi_set(
  48215 	int	unit,
  48216 	bcm_oob_fc_rx_intf_id_t	intf_id,
  48217 	bcm_gport_t	gport,
  48218 	int	array_count,
  48219 	uint32 *	tc,
  48220 	uint32 *	pri_bmp)
  48221 {
  48222 	return bcm_oob_fc_rx_port_tc_mapping_multi_set(
  48223 			BCM_CONTROL(unit)->unit,
  48224 			intf_id,
  48225 			gport,
  48226 			array_count,
  48227 			tc,
  48228 			pri_bmp);
  48229 }
  48230 
  48231 int
  48232 bcm_loop_oob_fc_rx_port_tc_mapping_set(
  48233 	int	unit,
  48234 	bcm_oob_fc_rx_intf_id_t	intf_id,
  48235 	bcm_gport_t	gport,
  48236 	uint32	tc,
  48237 	uint32	pri_bmp)
  48238 {
  48239 	return bcm_oob_fc_rx_port_tc_mapping_set(
  48240 			BCM_CONTROL(unit)->unit,
  48241 			intf_id,
  48242 			gport,
  48243 			tc,
  48244 			pri_bmp);
  48245 }
  48246 
  48247 int
  48248 bcm_loop_oob_fc_tx_config_get(
  48249 	int	unit,
  48250 	bcm_oob_fc_tx_config_t *	config)
  48251 {
  48252 	return bcm_oob_fc_tx_config_get(
  48253 			BCM_CONTROL(unit)->unit,
  48254 			config);
  48255 }
  48256 
  48257 int
  48258 bcm_loop_oob_fc_tx_config_set(
  48259 	int	unit,
  48260 	bcm_oob_fc_tx_config_t *	config)
  48261 {
  48262 	return bcm_oob_fc_tx_config_set(
  48263 			BCM_CONTROL(unit)->unit,
  48264 			config);
  48265 }
  48266 
  48267 /* bcm_oob_fc_tx_config_t_init not dispatchable */
  48268 
  48269 int
  48270 bcm_loop_oob_fc_tx_info_get(
  48271 	int	unit,
  48272 	bcm_oob_fc_tx_info_t *	info)
  48273 {
  48274 	return bcm_oob_fc_tx_info_get(
  48275 			BCM_CONTROL(unit)->unit,
  48276 			info);
  48277 }
  48278 
  48279 /* bcm_oob_fc_tx_info_t_init not dispatchable */
  48280 
  48281 int
  48282 bcm_loop_oob_fc_tx_port_mapping_get(
  48283 	int	unit,
  48284 	int	max_count,
  48285 	int *	port_array,
  48286 	int *	oob_port_array,
  48287 	int *	count)
  48288 {
  48289 	return bcm_oob_fc_tx_port_mapping_get(
  48290 			BCM_CONTROL(unit)->unit,
  48291 			max_count,
  48292 			port_array,
  48293 			oob_port_array,
  48294 			count);
  48295 }
  48296 
  48297 int
  48298 bcm_loop_oob_fc_tx_port_mapping_set(
  48299 	int	unit,
  48300 	int	count,
  48301 	int *	port_array,
  48302 	int *	oob_port_array)
  48303 {
  48304 	return bcm_oob_fc_tx_port_mapping_set(
  48305 			BCM_CONTROL(unit)->unit,
  48306 			count,
  48307 			port_array,
  48308 			oob_port_array);
  48309 }
  48310 
  48311 /* bcm_oob_fc_tx_queue_config_t_init not dispatchable */
  48312 
  48313 int
  48314 bcm_loop_oob_fc_tx_queue_profile_get(
  48315 	int	unit,
  48316 	int	profile_id,
  48317 	int	max_count,
  48318 	bcm_oob_fc_tx_queue_config_t *	config,
  48319 	int *	count)
  48320 {
  48321 	return bcm_oob_fc_tx_queue_profile_get(
  48322 			BCM_CONTROL(unit)->unit,
  48323 			profile_id,
  48324 			max_count,
  48325 			config,
  48326 			count);
  48327 }
  48328 
  48329 int
  48330 bcm_loop_oob_fc_tx_queue_profile_set(
  48331 	int	unit,
  48332 	int	profile_id,
  48333 	int	count,
  48334 	bcm_oob_fc_tx_queue_config_t *	config)
  48335 {
  48336 	return bcm_oob_fc_tx_queue_profile_set(
  48337 			BCM_CONTROL(unit)->unit,
  48338 			profile_id,
  48339 			count,
  48340 			config);
  48341 }
  48342 
  48343 int
  48344 bcm_loop_oob_stats_config_get(
  48345 	int	unit,
  48346 	bcm_oob_stats_config_t *	config)
  48347 {
  48348 	return bcm_oob_stats_config_get(
  48349 			BCM_CONTROL(unit)->unit,
  48350 			config);
  48351 }
  48352 
  48353 int
  48354 bcm_loop_oob_stats_config_set(
  48355 	int	unit,
  48356 	bcm_oob_stats_config_t *	config)
  48357 {
  48358 	return bcm_oob_stats_config_set(
  48359 			BCM_CONTROL(unit)->unit,
  48360 			config);
  48361 }
  48362 
  48363 /* bcm_oob_stats_config_t_init not dispatchable */
  48364 
  48365 int
  48366 bcm_loop_oob_stats_pool_mapping_get(
  48367 	int	unit,
  48368 	int	offset,
  48369 	uint8 *	dir,
  48370 	bcm_service_pool_id_t *	pool)
  48371 {
  48372 	return bcm_oob_stats_pool_mapping_get(
  48373 			BCM_CONTROL(unit)->unit,
  48374 			offset,
  48375 			dir,
  48376 			pool);
  48377 }
  48378 
  48379 int
  48380 bcm_loop_oob_stats_pool_mapping_multi_get(
  48381 	int	unit,
  48382 	int	array_max,
  48383 	int *	offset_array,
  48384 	uint8 *	dir_array,
  48385 	bcm_service_pool_id_t *	pool_array,
  48386 	int *	array_count)
  48387 {
  48388 	return bcm_oob_stats_pool_mapping_multi_get(
  48389 			BCM_CONTROL(unit)->unit,
  48390 			array_max,
  48391 			offset_array,
  48392 			dir_array,
  48393 			pool_array,
  48394 			array_count);
  48395 }
  48396 
  48397 int
  48398 bcm_loop_oob_stats_pool_mapping_multi_set(
  48399 	int	unit,
  48400 	int	array_count,
  48401 	int *	offset_array,
  48402 	uint8 *	dir_array,
  48403 	bcm_service_pool_id_t *	pool_array)
  48404 {
  48405 	return bcm_oob_stats_pool_mapping_multi_set(
  48406 			BCM_CONTROL(unit)->unit,
  48407 			array_count,
  48408 			offset_array,
  48409 			dir_array,
  48410 			pool_array);
  48411 }
  48412 
  48413 int
  48414 bcm_loop_oob_stats_pool_mapping_set(
  48415 	int	unit,
  48416 	int	offset,
  48417 	uint8	dir,
  48418 	bcm_service_pool_id_t	pool)
  48419 {
  48420 	return bcm_oob_stats_pool_mapping_set(
  48421 			BCM_CONTROL(unit)->unit,
  48422 			offset,
  48423 			dir,
  48424 			pool);
  48425 }
  48426 
  48427 int
  48428 bcm_loop_oob_stats_queue_mapping_get(
  48429 	int	unit,
  48430 	int	offset,
  48431 	bcm_gport_t *	gport)
  48432 {
  48433 	return bcm_oob_stats_queue_mapping_get(
  48434 			BCM_CONTROL(unit)->unit,
  48435 			offset,
  48436 			gport);
  48437 }
  48438 
  48439 int
  48440 bcm_loop_oob_stats_queue_mapping_multi_get(
  48441 	int	unit,
  48442 	int	array_max,
  48443 	int *	offset_array,
  48444 	bcm_gport_t *	gport_array,
  48445 	int *	array_count)
  48446 {
  48447 	return bcm_oob_stats_queue_mapping_multi_get(
  48448 			BCM_CONTROL(unit)->unit,
  48449 			array_max,
  48450 			offset_array,
  48451 			gport_array,
  48452 			array_count);
  48453 }
  48454 
  48455 int
  48456 bcm_loop_oob_stats_queue_mapping_multi_set(
  48457 	int	unit,
  48458 	int	array_count,
  48459 	int *	offset_array,
  48460 	bcm_gport_t *	gport_array)
  48461 {
  48462 	return bcm_oob_stats_queue_mapping_multi_set(
  48463 			BCM_CONTROL(unit)->unit,
  48464 			array_count,
  48465 			offset_array,
  48466 			gport_array);
  48467 }
  48468 
  48469 int
  48470 bcm_loop_oob_stats_queue_mapping_set(
  48471 	int	unit,
  48472 	int	offset,
  48473 	bcm_gport_t	gport)
  48474 {
  48475 	return bcm_oob_stats_queue_mapping_set(
  48476 			BCM_CONTROL(unit)->unit,
  48477 			offset,
  48478 			gport);
  48479 }
  48480 
  48481 /* bcm_phy_config_t_init not dispatchable */
  48482 
  48483 /* bcm_pkt_alloc not dispatchable */
  48484 
  48485 /* bcm_pkt_blk_alloc not dispatchable */
  48486 
  48487 /* bcm_pkt_blk_free not dispatchable */
  48488 
  48489 /* bcm_pkt_blk_t_init not dispatchable */
  48490 
  48491 /* bcm_pkt_byte_index not dispatchable */
  48492 
  48493 /* bcm_pkt_clear not dispatchable */
  48494 
  48495 /* bcm_pkt_ecmp_grp_set not dispatchable */
  48496 
  48497 /* bcm_pkt_ecmp_member_set not dispatchable */
  48498 
  48499 /* bcm_pkt_flags_init not dispatchable */
  48500 
  48501 /* bcm_pkt_flags_len_setup not dispatchable */
  48502 
  48503 /* bcm_pkt_free not dispatchable */
  48504 
  48505 /* bcm_pkt_memcpy not dispatchable */
  48506 
  48507 /* bcm_pkt_nexthop_set not dispatchable */
  48508 
  48509 /* bcm_pkt_rx_alloc not dispatchable */
  48510 
  48511 /* bcm_pkt_rx_free not dispatchable */
  48512 
  48513 /* bcm_pkt_t_init not dispatchable */
  48514 
  48515 int
  48516 bcm_loop_policer_action_add(
  48517 	int	unit,
  48518 	uint32	action_id,
  48519 	bcm_policer_action_t	action,
  48520 	uint32	param0)
  48521 {
  48522 	return bcm_policer_action_add(
  48523 			BCM_CONTROL(unit)->unit,
  48524 			action_id,
  48525 			action,
  48526 			param0);
  48527 }
  48528 
  48529 int
  48530 bcm_loop_policer_action_attach(
  48531 	int	unit,
  48532 	bcm_policer_t	policer_id,
  48533 	uint32	action_id)
  48534 {
  48535 	return bcm_policer_action_attach(
  48536 			BCM_CONTROL(unit)->unit,
  48537 			policer_id,
  48538 			action_id);
  48539 }
  48540 
  48541 int
  48542 bcm_loop_policer_action_attach_get(
  48543 	int	unit,
  48544 	bcm_policer_t	policer_id,
  48545 	uint32 *	action_id)
  48546 {
  48547 	return bcm_policer_action_attach_get(
  48548 			BCM_CONTROL(unit)->unit,
  48549 			policer_id,
  48550 			action_id);
  48551 }
  48552 
  48553 int
  48554 bcm_loop_policer_action_create(
  48555 	int	unit,
  48556 	uint32 *	action_id)
  48557 {
  48558 	return bcm_policer_action_create(
  48559 			BCM_CONTROL(unit)->unit,
  48560 			action_id);
  48561 }
  48562 
  48563 int
  48564 bcm_loop_policer_action_destroy(
  48565 	int	unit,
  48566 	uint32	action_id)
  48567 {
  48568 	return bcm_policer_action_destroy(
  48569 			BCM_CONTROL(unit)->unit,
  48570 			action_id);
  48571 }
  48572 
  48573 int
  48574 bcm_loop_policer_action_detach(
  48575 	int	unit,
  48576 	bcm_policer_t	policer_id,
  48577 	uint32	action_id)
  48578 {
  48579 	return bcm_policer_action_detach(
  48580 			BCM_CONTROL(unit)->unit,
  48581 			policer_id,
  48582 			action_id);
  48583 }
  48584 
  48585 int
  48586 bcm_loop_policer_action_get(
  48587 	int	unit,
  48588 	uint32	action_id,
  48589 	bcm_policer_action_t	action,
  48590 	uint32 *	param0)
  48591 {
  48592 	return bcm_policer_action_get(
  48593 			BCM_CONTROL(unit)->unit,
  48594 			action_id,
  48595 			action,
  48596 			param0);
  48597 }
  48598 
  48599 int
  48600 bcm_loop_policer_aggregate_group_create(
  48601 	int	unit,
  48602 	bcm_policer_aggregate_group_info_t *	info,
  48603 	bcm_policer_t *	policer_id,
  48604 	int *	npolicers)
  48605 {
  48606 	return bcm_policer_aggregate_group_create(
  48607 			BCM_CONTROL(unit)->unit,
  48608 			info,
  48609 			policer_id,
  48610 			npolicers);
  48611 }
  48612 
  48613 int
  48614 bcm_loop_policer_color_decision_get(
  48615 	int	unit,
  48616 	bcm_policer_color_decision_t *	policer_color_decision)
  48617 {
  48618 	return bcm_policer_color_decision_get(
  48619 			BCM_CONTROL(unit)->unit,
  48620 			policer_color_decision);
  48621 }
  48622 
  48623 int
  48624 bcm_loop_policer_color_decision_set(
  48625 	int	unit,
  48626 	bcm_policer_color_decision_t *	policer_color_decision)
  48627 {
  48628 	return bcm_policer_color_decision_set(
  48629 			BCM_CONTROL(unit)->unit,
  48630 			policer_color_decision);
  48631 }
  48632 
  48633 int
  48634 bcm_loop_policer_color_resolution_get(
  48635 	int	unit,
  48636 	bcm_policer_color_resolution_t *	policer_color_resolution)
  48637 {
  48638 	return bcm_policer_color_resolution_get(
  48639 			BCM_CONTROL(unit)->unit,
  48640 			policer_color_resolution);
  48641 }
  48642 
  48643 int
  48644 bcm_loop_policer_color_resolution_set(
  48645 	int	unit,
  48646 	bcm_policer_color_resolution_t *	policer_color_resolution)
  48647 {
  48648 	return bcm_policer_color_resolution_set(
  48649 			BCM_CONTROL(unit)->unit,
  48650 			policer_color_resolution);
  48651 }
  48652 
  48653 /* bcm_policer_color_resolution_t_init not dispatchable */
  48654 
  48655 /* bcm_policer_config_t_init not dispatchable */
  48656 
  48657 int
  48658 bcm_loop_policer_control_get(
  48659 	int	unit,
  48660 	int	flags,
  48661 	int	policer_database_handle,
  48662 	bcm_policer_control_type_t	type,
  48663 	uint32 *	arg)
  48664 {
  48665 	return bcm_policer_control_get(
  48666 			BCM_CONTROL(unit)->unit,
  48667 			flags,
  48668 			policer_database_handle,
  48669 			type,
  48670 			arg);
  48671 }
  48672 
  48673 int
  48674 bcm_loop_policer_control_set(
  48675 	int	unit,
  48676 	int	flags,
  48677 	int	policer_database_handle,
  48678 	bcm_policer_control_type_t	type,
  48679 	uint32	arg)
  48680 {
  48681 	return bcm_policer_control_set(
  48682 			BCM_CONTROL(unit)->unit,
  48683 			flags,
  48684 			policer_database_handle,
  48685 			type,
  48686 			arg);
  48687 }
  48688 
  48689 int
  48690 bcm_loop_policer_create(
  48691 	int	unit,
  48692 	bcm_policer_config_t *	pol_cfg,
  48693 	bcm_policer_t *	policer_id)
  48694 {
  48695 	return bcm_policer_create(
  48696 			BCM_CONTROL(unit)->unit,
  48697 			pol_cfg,
  48698 			policer_id);
  48699 }
  48700 
  48701 int
  48702 bcm_loop_policer_custom_group_create(
  48703 	int	unit,
  48704 	uint32	flags,
  48705 	uint32	mode_id,
  48706 	bcm_policer_t	macro_flow_policer_id,
  48707 	bcm_policer_t *	policer_id,
  48708 	uint32 *	npolicers)
  48709 {
  48710 	return bcm_policer_custom_group_create(
  48711 			BCM_CONTROL(unit)->unit,
  48712 			flags,
  48713 			mode_id,
  48714 			macro_flow_policer_id,
  48715 			policer_id,
  48716 			npolicers);
  48717 }
  48718 
  48719 int
  48720 bcm_loop_policer_custom_group_id_copy(
  48721 	int	unit,
  48722 	bcm_policer_group_info_t *	old_policer_group_info,
  48723 	bcm_policer_group_info_t *	new_policer_group_info)
  48724 {
  48725 	return bcm_policer_custom_group_id_copy(
  48726 			BCM_CONTROL(unit)->unit,
  48727 			old_policer_group_info,
  48728 			new_policer_group_info);
  48729 }
  48730 
  48731 int
  48732 bcm_loop_policer_custom_group_id_create(
  48733 	int	unit,
  48734 	uint32	flags,
  48735 	uint32	mode_id,
  48736 	bcm_policer_t	macro_flow_policer_id,
  48737 	bcm_policer_group_info_t *	policer_group_info)
  48738 {
  48739 	return bcm_policer_custom_group_id_create(
  48740 			BCM_CONTROL(unit)->unit,
  48741 			flags,
  48742 			mode_id,
  48743 			macro_flow_policer_id,
  48744 			policer_group_info);
  48745 }
  48746 
  48747 /* bcm_policer_database_attach_config_t_init not dispatchable */
  48748 
  48749 /* bcm_policer_database_config_t_init not dispatchable */
  48750 
  48751 int
  48752 bcm_loop_policer_database_create(
  48753 	int	unit,
  48754 	int	flags,
  48755 	int	policer_database_handle,
  48756 	bcm_policer_database_config_t *	config)
  48757 {
  48758 	return bcm_policer_database_create(
  48759 			BCM_CONTROL(unit)->unit,
  48760 			flags,
  48761 			policer_database_handle,
  48762 			config);
  48763 }
  48764 
  48765 int
  48766 bcm_loop_policer_database_destroy(
  48767 	int	unit,
  48768 	int	flags,
  48769 	int	policer_database_handle)
  48770 {
  48771 	return bcm_policer_database_destroy(
  48772 			BCM_CONTROL(unit)->unit,
  48773 			flags,
  48774 			policer_database_handle);
  48775 }
  48776 
  48777 int
  48778 bcm_loop_policer_database_enable_get(
  48779 	int	unit,
  48780 	int	flags,
  48781 	int	policer_database_handle,
  48782 	int *	enable)
  48783 {
  48784 	return bcm_policer_database_enable_get(
  48785 			BCM_CONTROL(unit)->unit,
  48786 			flags,
  48787 			policer_database_handle,
  48788 			enable);
  48789 }
  48790 
  48791 int
  48792 bcm_loop_policer_database_enable_set(
  48793 	int	unit,
  48794 	int	flags,
  48795 	int	policer_database_handle,
  48796 	int	enable)
  48797 {
  48798 	return bcm_policer_database_enable_set(
  48799 			BCM_CONTROL(unit)->unit,
  48800 			flags,
  48801 			policer_database_handle,
  48802 			enable);
  48803 }
  48804 
  48805 int
  48806 bcm_loop_policer_destroy(
  48807 	int	unit,
  48808 	bcm_policer_t	policer_id)
  48809 {
  48810 	return bcm_policer_destroy(
  48811 			BCM_CONTROL(unit)->unit,
  48812 			policer_id);
  48813 }
  48814 
  48815 int
  48816 bcm_loop_policer_destroy_all(
  48817 	int	unit)
  48818 {
  48819 	return bcm_policer_destroy_all(
  48820 			BCM_CONTROL(unit)->unit);
  48821 }
  48822 
  48823 int
  48824 bcm_loop_policer_engine_database_attach(
  48825 	int	unit,
  48826 	int	flags,
  48827 	bcm_policer_engine_t *	engine,
  48828 	bcm_policer_database_attach_config_t *	config)
  48829 {
  48830 	return bcm_policer_engine_database_attach(
  48831 			BCM_CONTROL(unit)->unit,
  48832 			flags,
  48833 			engine,
  48834 			config);
  48835 }
  48836 
  48837 int
  48838 bcm_loop_policer_engine_database_detach(
  48839 	int	unit,
  48840 	int	flags,
  48841 	bcm_policer_engine_t *	engine)
  48842 {
  48843 	return bcm_policer_engine_database_detach(
  48844 			BCM_CONTROL(unit)->unit,
  48845 			flags,
  48846 			engine);
  48847 }
  48848 
  48849 int
  48850 bcm_loop_policer_engine_database_get(
  48851 	int	unit,
  48852 	int	flags,
  48853 	bcm_policer_engine_t *	engine,
  48854 	bcm_policer_database_attach_config_t *	config)
  48855 {
  48856 	return bcm_policer_engine_database_get(
  48857 			BCM_CONTROL(unit)->unit,
  48858 			flags,
  48859 			engine,
  48860 			config);
  48861 }
  48862 
  48863 /* bcm_policer_engine_t_init not dispatchable */
  48864 
  48865 int
  48866 bcm_loop_policer_envelop_create(
  48867 	int	unit,
  48868 	uint32	flag,
  48869 	bcm_policer_t	macro_flow_policer_id,
  48870 	bcm_policer_t *	policer_id)
  48871 {
  48872 	return bcm_policer_envelop_create(
  48873 			BCM_CONTROL(unit)->unit,
  48874 			flag,
  48875 			macro_flow_policer_id,
  48876 			policer_id);
  48877 }
  48878 
  48879 int
  48880 bcm_loop_policer_envelop_group_create(
  48881 	int	unit,
  48882 	uint32	flag,
  48883 	bcm_policer_group_mode_t	mode,
  48884 	bcm_policer_t	macro_flow_policer_id,
  48885 	bcm_policer_t *	policer_id,
  48886 	int *	npolicers)
  48887 {
  48888 	return bcm_policer_envelop_group_create(
  48889 			BCM_CONTROL(unit)->unit,
  48890 			flag,
  48891 			mode,
  48892 			macro_flow_policer_id,
  48893 			policer_id,
  48894 			npolicers);
  48895 }
  48896 
  48897 /* bcm_policer_expansion_group_t_init not dispatchable */
  48898 
  48899 int
  48900 bcm_loop_policer_expansion_groups_get(
  48901 	int	unit,
  48902 	int	flags,
  48903 	bcm_core_t	core_id,
  48904 	bcm_policer_expansion_group_t *	expansion_group)
  48905 {
  48906 	return bcm_policer_expansion_groups_get(
  48907 			BCM_CONTROL(unit)->unit,
  48908 			flags,
  48909 			core_id,
  48910 			expansion_group);
  48911 }
  48912 
  48913 int
  48914 bcm_loop_policer_expansion_groups_set(
  48915 	int	unit,
  48916 	int	flags,
  48917 	bcm_core_t	core_id,
  48918 	bcm_policer_expansion_group_t *	expansion_group)
  48919 {
  48920 	return bcm_policer_expansion_groups_set(
  48921 			BCM_CONTROL(unit)->unit,
  48922 			flags,
  48923 			core_id,
  48924 			expansion_group);
  48925 }
  48926 
  48927 int
  48928 bcm_loop_policer_get(
  48929 	int	unit,
  48930 	bcm_policer_t	policer_id,
  48931 	bcm_policer_config_t *	pol_cfg)
  48932 {
  48933 	return bcm_policer_get(
  48934 			BCM_CONTROL(unit)->unit,
  48935 			policer_id,
  48936 			pol_cfg);
  48937 }
  48938 
  48939 int
  48940 bcm_loop_policer_global_meter_config_get(
  48941 	int	unit,
  48942 	bcm_policer_global_meter_config_t *	config)
  48943 {
  48944 	return bcm_policer_global_meter_config_get(
  48945 			BCM_CONTROL(unit)->unit,
  48946 			config);
  48947 }
  48948 
  48949 int
  48950 bcm_loop_policer_global_meter_config_set(
  48951 	int	unit,
  48952 	bcm_policer_global_meter_config_t *	config)
  48953 {
  48954 	return bcm_policer_global_meter_config_set(
  48955 			BCM_CONTROL(unit)->unit,
  48956 			config);
  48957 }
  48958 
  48959 /* bcm_policer_global_meter_config_t_init not dispatchable */
  48960 
  48961 int
  48962 bcm_loop_policer_group_create(
  48963 	int	unit,
  48964 	bcm_policer_group_mode_t	mode,
  48965 	bcm_policer_t *	policer_id,
  48966 	int *	npolicers)
  48967 {
  48968 	return bcm_policer_group_create(
  48969 			BCM_CONTROL(unit)->unit,
  48970 			mode,
  48971 			policer_id,
  48972 			npolicers);
  48973 }
  48974 
  48975 int
  48976 bcm_loop_policer_group_create_with_map(
  48977 	int	unit,
  48978 	bcm_policer_group_mode_t	mode,
  48979 	bcm_policer_map_t *	offset_map,
  48980 	bcm_policer_t *	policer_id,
  48981 	int *	num_policers)
  48982 {
  48983 	return bcm_policer_group_create_with_map(
  48984 			BCM_CONTROL(unit)->unit,
  48985 			mode,
  48986 			offset_map,
  48987 			policer_id,
  48988 			num_policers);
  48989 }
  48990 
  48991 int
  48992 bcm_loop_policer_group_get(
  48993 	int	unit,
  48994 	bcm_policer_t	base_policer_id,
  48995 	int	member_max,
  48996 	bcm_policer_t *	member_array,
  48997 	int *	member_count)
  48998 {
  48999 	return bcm_policer_group_get(
  49000 			BCM_CONTROL(unit)->unit,
  49001 			base_policer_id,
  49002 			member_max,
  49003 			member_array,
  49004 			member_count);
  49005 }
  49006 
  49007 /* bcm_policer_group_info_t_init not dispatchable */
  49008 
  49009 /* bcm_policer_group_mode_attr_selector_t_init not dispatchable */
  49010 
  49011 int
  49012 bcm_loop_policer_group_mode_id_create(
  49013 	int	unit,
  49014 	uint32	flags,
  49015 	bcm_policer_group_mode_type_t	type,
  49016 	uint32	total_policers,
  49017 	uint32	num_selectors,
  49018 	bcm_policer_group_mode_attr_selector_t *	attr_selectors,
  49019 	uint32 *	mode_id)
  49020 {
  49021 	return bcm_policer_group_mode_id_create(
  49022 			BCM_CONTROL(unit)->unit,
  49023 			flags,
  49024 			type,
  49025 			total_policers,
  49026 			num_selectors,
  49027 			attr_selectors,
  49028 			mode_id);
  49029 }
  49030 
  49031 int
  49032 bcm_loop_policer_group_mode_id_destroy(
  49033 	int	unit,
  49034 	uint32	mode_id)
  49035 {
  49036 	return bcm_policer_group_mode_id_destroy(
  49037 			BCM_CONTROL(unit)->unit,
  49038 			mode_id);
  49039 }
  49040 
  49041 int
  49042 bcm_loop_policer_group_mode_id_get(
  49043 	int	unit,
  49044 	uint32	mode_id,
  49045 	uint32	num_selectors,
  49046 	uint32 *	flags,
  49047 	bcm_policer_group_mode_type_t *	type,
  49048 	uint32 *	total_policers,
  49049 	bcm_policer_group_mode_attr_selector_t *	attr_selectors,
  49050 	uint32 *	actual_num_selectors)
  49051 {
  49052 	return bcm_policer_group_mode_id_get(
  49053 			BCM_CONTROL(unit)->unit,
  49054 			mode_id,
  49055 			num_selectors,
  49056 			flags,
  49057 			type,
  49058 			total_policers,
  49059 			attr_selectors,
  49060 			actual_num_selectors);
  49061 }
  49062 
  49063 int
  49064 bcm_loop_policer_init(
  49065 	int	unit)
  49066 {
  49067 	return bcm_policer_init(
  49068 			BCM_CONTROL(unit)->unit);
  49069 }
  49070 
  49071 /* bcm_policer_map_t_init not dispatchable */
  49072 
  49073 int
  49074 bcm_loop_policer_packet_counter_get32(
  49075 	int	unit,
  49076 	bcm_policer_t	policer_id,
  49077 	uint32 *	count)
  49078 {
  49079 	return bcm_policer_packet_counter_get32(
  49080 			BCM_CONTROL(unit)->unit,
  49081 			policer_id,
  49082 			count);
  49083 }
  49084 
  49085 int
  49086 bcm_loop_policer_packet_reset_counter_get32(
  49087 	int	unit,
  49088 	bcm_policer_t	policer_id,
  49089 	uint32 *	count)
  49090 {
  49091 	return bcm_policer_packet_reset_counter_get32(
  49092 			BCM_CONTROL(unit)->unit,
  49093 			policer_id,
  49094 			count);
  49095 }
  49096 
  49097 /* bcm_policer_primary_color_resolution_config_t_init not dispatchable */
  49098 
  49099 int
  49100 bcm_loop_policer_primary_color_resolution_get(
  49101 	int	unit,
  49102 	int	flags,
  49103 	bcm_policer_primary_color_resolution_key_t *	key,
  49104 	bcm_policer_primary_color_resolution_config_t *	config)
  49105 {
  49106 	return bcm_policer_primary_color_resolution_get(
  49107 			BCM_CONTROL(unit)->unit,
  49108 			flags,
  49109 			key,
  49110 			config);
  49111 }
  49112 
  49113 /* bcm_policer_primary_color_resolution_key_t_init not dispatchable */
  49114 
  49115 int
  49116 bcm_loop_policer_primary_color_resolution_set(
  49117 	int	unit,
  49118 	int	flags,
  49119 	bcm_policer_primary_color_resolution_key_t *	key,
  49120 	bcm_policer_primary_color_resolution_config_t *	config)
  49121 {
  49122 	return bcm_policer_primary_color_resolution_set(
  49123 			BCM_CONTROL(unit)->unit,
  49124 			flags,
  49125 			key,
  49126 			config);
  49127 }
  49128 
  49129 int
  49130 bcm_loop_policer_set(
  49131 	int	unit,
  49132 	bcm_policer_t	policer_id,
  49133 	bcm_policer_config_t *	pol_cfg)
  49134 {
  49135 	return bcm_policer_set(
  49136 			BCM_CONTROL(unit)->unit,
  49137 			policer_id,
  49138 			pol_cfg);
  49139 }
  49140 
  49141 int
  49142 bcm_loop_policer_stat_enable_get(
  49143 	int	unit,
  49144 	bcm_policer_t	policer_id,
  49145 	int *	enable)
  49146 {
  49147 	return bcm_policer_stat_enable_get(
  49148 			BCM_CONTROL(unit)->unit,
  49149 			policer_id,
  49150 			enable);
  49151 }
  49152 
  49153 int
  49154 bcm_loop_policer_stat_enable_set(
  49155 	int	unit,
  49156 	bcm_policer_t	policer_id,
  49157 	int	enable)
  49158 {
  49159 	return bcm_policer_stat_enable_set(
  49160 			BCM_CONTROL(unit)->unit,
  49161 			policer_id,
  49162 			enable);
  49163 }
  49164 
  49165 int
  49166 bcm_loop_policer_stat_get(
  49167 	int	unit,
  49168 	bcm_policer_t	policer_id,
  49169 	bcm_cos_t	int_pri,
  49170 	bcm_policer_stat_t	stat,
  49171 	uint64 *	value)
  49172 {
  49173 	return bcm_policer_stat_get(
  49174 			BCM_CONTROL(unit)->unit,
  49175 			policer_id,
  49176 			int_pri,
  49177 			stat,
  49178 			value);
  49179 }
  49180 
  49181 int
  49182 bcm_loop_policer_stat_get32(
  49183 	int	unit,
  49184 	bcm_policer_t	policer_id,
  49185 	bcm_cos_t	int_pri,
  49186 	bcm_policer_stat_t	stat,
  49187 	uint32 *	value)
  49188 {
  49189 	return bcm_policer_stat_get32(
  49190 			BCM_CONTROL(unit)->unit,
  49191 			policer_id,
  49192 			int_pri,
  49193 			stat,
  49194 			value);
  49195 }
  49196 
  49197 int
  49198 bcm_loop_policer_stat_set(
  49199 	int	unit,
  49200 	bcm_policer_t	policer_id,
  49201 	bcm_cos_t	int_pri,
  49202 	bcm_policer_stat_t	stat,
  49203 	uint64	value)
  49204 {
  49205 	return bcm_policer_stat_set(
  49206 			BCM_CONTROL(unit)->unit,
  49207 			policer_id,
  49208 			int_pri,
  49209 			stat,
  49210 			value);
  49211 }
  49212 
  49213 int
  49214 bcm_loop_policer_stat_set32(
  49215 	int	unit,
  49216 	bcm_policer_t	policer_id,
  49217 	bcm_cos_t	int_pri,
  49218 	bcm_policer_stat_t	stat,
  49219 	uint32	value)
  49220 {
  49221 	return bcm_policer_stat_set32(
  49222 			BCM_CONTROL(unit)->unit,
  49223 			policer_id,
  49224 			int_pri,
  49225 			stat,
  49226 			value);
  49227 }
  49228 
  49229 int
  49230 bcm_loop_policer_traverse(
  49231 	int	unit,
  49232 	bcm_policer_traverse_cb	cb,
  49233 	void *	user_data)
  49234 {
  49235 	return bcm_policer_traverse(
  49236 			BCM_CONTROL(unit)->unit,
  49237 			cb,
  49238 			user_data);
  49239 }
  49240 
  49241 int
  49242 bcm_loop_port_ability_advert_get(
  49243 	int	unit,
  49244 	bcm_port_t	port,
  49245 	bcm_port_ability_t *	ability_mask)
  49246 {
  49247 	return bcm_port_ability_advert_get(
  49248 			BCM_CONTROL(unit)->unit,
  49249 			port,
  49250 			ability_mask);
  49251 }
  49252 
  49253 int
  49254 bcm_loop_port_ability_advert_set(
  49255 	int	unit,
  49256 	bcm_port_t	port,
  49257 	bcm_port_ability_t *	ability_mask)
  49258 {
  49259 	return bcm_port_ability_advert_set(
  49260 			BCM_CONTROL(unit)->unit,
  49261 			port,
  49262 			ability_mask);
  49263 }
  49264 
  49265 int
  49266 bcm_loop_port_ability_get(
  49267 	int	unit,
  49268 	bcm_port_t	port,
  49269 	bcm_port_abil_t *	local_ability_mask)
  49270 {
  49271 	return bcm_port_ability_get(
  49272 			BCM_CONTROL(unit)->unit,
  49273 			port,
  49274 			local_ability_mask);
  49275 }
  49276 
  49277 int
  49278 bcm_loop_port_ability_local_get(
  49279 	int	unit,
  49280 	bcm_port_t	port,
  49281 	bcm_port_ability_t *	local_ability_mask)
  49282 {
  49283 	return bcm_port_ability_local_get(
  49284 			BCM_CONTROL(unit)->unit,
  49285 			port,
  49286 			local_ability_mask);
  49287 }
  49288 
  49289 int
  49290 bcm_loop_port_ability_remote_get(
  49291 	int	unit,
  49292 	bcm_port_t	port,
  49293 	bcm_port_ability_t *	ability_mask)
  49294 {
  49295 	return bcm_port_ability_remote_get(
  49296 			BCM_CONTROL(unit)->unit,
  49297 			port,
  49298 			ability_mask);
  49299 }
  49300 
  49301 /* bcm_port_ability_t_init not dispatchable */
  49302 
  49303 int
  49304 bcm_loop_port_add(
  49305 	int	unit,
  49306 	bcm_port_t	port,
  49307 	uint32	flags,
  49308 	bcm_port_interface_info_t *	interface_info,
  49309 	bcm_port_mapping_info_t *	mapping_info)
  49310 {
  49311 	return bcm_port_add(
  49312 			BCM_CONTROL(unit)->unit,
  49313 			port,
  49314 			flags,
  49315 			interface_info,
  49316 			mapping_info);
  49317 }
  49318 
  49319 int
  49320 bcm_loop_port_advert_get(
  49321 	int	unit,
  49322 	bcm_port_t	port,
  49323 	bcm_port_abil_t *	ability_mask)
  49324 {
  49325 	return bcm_port_advert_get(
  49326 			BCM_CONTROL(unit)->unit,
  49327 			port,
  49328 			ability_mask);
  49329 }
  49330 
  49331 int
  49332 bcm_loop_port_advert_remote_get(
  49333 	int	unit,
  49334 	bcm_port_t	port,
  49335 	bcm_port_abil_t *	ability_mask)
  49336 {
  49337 	return bcm_port_advert_remote_get(
  49338 			BCM_CONTROL(unit)->unit,
  49339 			port,
  49340 			ability_mask);
  49341 }
  49342 
  49343 int
  49344 bcm_loop_port_advert_set(
  49345 	int	unit,
  49346 	bcm_port_t	port,
  49347 	bcm_port_abil_t	ability_mask)
  49348 {
  49349 	return bcm_port_advert_set(
  49350 			BCM_CONTROL(unit)->unit,
  49351 			port,
  49352 			ability_mask);
  49353 }
  49354 
  49355 int
  49356 bcm_loop_port_autoneg_ability_advert_get(
  49357 	int	unit,
  49358 	bcm_port_t	port,
  49359 	int	max_num_ability,
  49360 	bcm_port_speed_ability_t *	abilities_array,
  49361 	int *	actual_num_ability)
  49362 {
  49363 	return bcm_port_autoneg_ability_advert_get(
  49364 			BCM_CONTROL(unit)->unit,
  49365 			port,
  49366 			max_num_ability,
  49367 			abilities_array,
  49368 			actual_num_ability);
  49369 }
  49370 
  49371 int
  49372 bcm_loop_port_autoneg_ability_advert_set(
  49373 	int	unit,
  49374 	bcm_port_t	port,
  49375 	int	num_ability,
  49376 	bcm_port_speed_ability_t *	abilities_array)
  49377 {
  49378 	return bcm_port_autoneg_ability_advert_set(
  49379 			BCM_CONTROL(unit)->unit,
  49380 			port,
  49381 			num_ability,
  49382 			abilities_array);
  49383 }
  49384 
  49385 int
  49386 bcm_loop_port_autoneg_ability_remote_get(
  49387 	int	unit,
  49388 	bcm_port_t	port,
  49389 	int	max_num_ability,
  49390 	bcm_port_speed_ability_t *	abilities_array,
  49391 	int *	actual_num_ability)
  49392 {
  49393 	return bcm_port_autoneg_ability_remote_get(
  49394 			BCM_CONTROL(unit)->unit,
  49395 			port,
  49396 			max_num_ability,
  49397 			abilities_array,
  49398 			actual_num_ability);
  49399 }
  49400 
  49401 int
  49402 bcm_loop_port_autoneg_get(
  49403 	int	unit,
  49404 	bcm_port_t	port,
  49405 	int *	autoneg)
  49406 {
  49407 	return bcm_port_autoneg_get(
  49408 			BCM_CONTROL(unit)->unit,
  49409 			port,
  49410 			autoneg);
  49411 }
  49412 
  49413 int
  49414 bcm_loop_port_autoneg_set(
  49415 	int	unit,
  49416 	bcm_port_t	port,
  49417 	int	autoneg)
  49418 {
  49419 	return bcm_port_autoneg_set(
  49420 			BCM_CONTROL(unit)->unit,
  49421 			port,
  49422 			autoneg);
  49423 }
  49424 
  49425 int
  49426 bcm_loop_port_bpdu_enable_get(
  49427 	int	unit,
  49428 	bcm_port_t	port,
  49429 	int *	enable)
  49430 {
  49431 	return bcm_port_bpdu_enable_get(
  49432 			BCM_CONTROL(unit)->unit,
  49433 			port,
  49434 			enable);
  49435 }
  49436 
  49437 int
  49438 bcm_loop_port_bpdu_enable_set(
  49439 	int	unit,
  49440 	bcm_port_t	port,
  49441 	int	enable)
  49442 {
  49443 	return bcm_port_bpdu_enable_set(
  49444 			BCM_CONTROL(unit)->unit,
  49445 			port,
  49446 			enable);
  49447 }
  49448 
  49449 int
  49450 bcm_loop_port_cable_diag(
  49451 	int	unit,
  49452 	bcm_port_t	port,
  49453 	bcm_port_cable_diag_t *	status)
  49454 {
  49455 	return bcm_port_cable_diag(
  49456 			BCM_CONTROL(unit)->unit,
  49457 			port,
  49458 			status);
  49459 }
  49460 
  49461 int
  49462 bcm_loop_port_cfi_color_get(
  49463 	int	unit,
  49464 	bcm_port_t	port,
  49465 	int	cfi,
  49466 	bcm_color_t *	color)
  49467 {
  49468 	return bcm_port_cfi_color_get(
  49469 			BCM_CONTROL(unit)->unit,
  49470 			port,
  49471 			cfi,
  49472 			color);
  49473 }
  49474 
  49475 int
  49476 bcm_loop_port_cfi_color_set(
  49477 	int	unit,
  49478 	bcm_port_t	port,
  49479 	int	cfi,
  49480 	bcm_color_t	color)
  49481 {
  49482 	return bcm_port_cfi_color_set(
  49483 			BCM_CONTROL(unit)->unit,
  49484 			port,
  49485 			cfi,
  49486 			color);
  49487 }
  49488 
  49489 int
  49490 bcm_loop_port_class_get(
  49491 	int	unit,
  49492 	bcm_port_t	port,
  49493 	bcm_port_class_t	pclass,
  49494 	uint32 *	class_id)
  49495 {
  49496 	return bcm_port_class_get(
  49497 			BCM_CONTROL(unit)->unit,
  49498 			port,
  49499 			pclass,
  49500 			class_id);
  49501 }
  49502 
  49503 int
  49504 bcm_loop_port_class_set(
  49505 	int	unit,
  49506 	bcm_port_t	port,
  49507 	bcm_port_class_t	pclass,
  49508 	uint32	class_id)
  49509 {
  49510 	return bcm_port_class_set(
  49511 			BCM_CONTROL(unit)->unit,
  49512 			port,
  49513 			pclass,
  49514 			class_id);
  49515 }
  49516 
  49517 int
  49518 bcm_loop_port_clear(
  49519 	int	unit)
  49520 {
  49521 	return bcm_port_clear(
  49522 			BCM_CONTROL(unit)->unit);
  49523 }
  49524 
  49525 int
  49526 bcm_loop_port_config_get(
  49527 	int	unit,
  49528 	bcm_port_config_t *	config)
  49529 {
  49530 	return bcm_port_config_get(
  49531 			BCM_CONTROL(unit)->unit,
  49532 			config);
  49533 }
  49534 
  49535 int
  49536 bcm_loop_port_config_phy_oam_get(
  49537 	int	unit,
  49538 	bcm_port_t	port,
  49539 	bcm_port_config_phy_oam_t *	conf)
  49540 {
  49541 	return bcm_port_config_phy_oam_get(
  49542 			BCM_CONTROL(unit)->unit,
  49543 			port,
  49544 			conf);
  49545 }
  49546 
  49547 int
  49548 bcm_loop_port_config_phy_oam_set(
  49549 	int	unit,
  49550 	bcm_port_t	port,
  49551 	bcm_port_config_phy_oam_t *	conf)
  49552 {
  49553 	return bcm_port_config_phy_oam_set(
  49554 			BCM_CONTROL(unit)->unit,
  49555 			port,
  49556 			conf);
  49557 }
  49558 
  49559 /* bcm_port_config_t_init not dispatchable */
  49560 
  49561 int
  49562 bcm_loop_port_congestion_config_get(
  49563 	int	unit,
  49564 	bcm_gport_t	port,
  49565 	bcm_port_congestion_config_t *	config)
  49566 {
  49567 	return bcm_port_congestion_config_get(
  49568 			BCM_CONTROL(unit)->unit,
  49569 			port,
  49570 			config);
  49571 }
  49572 
  49573 int
  49574 bcm_loop_port_congestion_config_set(
  49575 	int	unit,
  49576 	bcm_gport_t	port,
  49577 	bcm_port_congestion_config_t *	config)
  49578 {
  49579 	return bcm_port_congestion_config_set(
  49580 			BCM_CONTROL(unit)->unit,
  49581 			port,
  49582 			config);
  49583 }
  49584 
  49585 /* bcm_port_congestion_config_t_init not dispatchable */
  49586 
  49587 int
  49588 bcm_loop_port_congestion_get(
  49589 	int	unit,
  49590 	bcm_gport_t	congestion_port,
  49591 	bcm_gport_t	port,
  49592 	uint32	flags,
  49593 	int *	channel_id)
  49594 {
  49595 	return bcm_port_congestion_get(
  49596 			BCM_CONTROL(unit)->unit,
  49597 			congestion_port,
  49598 			port,
  49599 			flags,
  49600 			channel_id);
  49601 }
  49602 
  49603 int
  49604 bcm_loop_port_congestion_set(
  49605 	int	unit,
  49606 	bcm_gport_t	congestion_port,
  49607 	bcm_gport_t	port,
  49608 	uint32	flags,
  49609 	int	channel_id)
  49610 {
  49611 	return bcm_port_congestion_set(
  49612 			BCM_CONTROL(unit)->unit,
  49613 			congestion_port,
  49614 			port,
  49615 			flags,
  49616 			channel_id);
  49617 }
  49618 
  49619 int
  49620 bcm_loop_port_control_get(
  49621 	int	unit,
  49622 	bcm_port_t	port,
  49623 	bcm_port_control_t	type,
  49624 	int *	value)
  49625 {
  49626 	return bcm_port_control_get(
  49627 			BCM_CONTROL(unit)->unit,
  49628 			port,
  49629 			type,
  49630 			value);
  49631 }
  49632 
  49633 int
  49634 bcm_loop_port_control_phy_oam_get(
  49635 	int	unit,
  49636 	bcm_port_t	port,
  49637 	bcm_port_control_phy_oam_t	type,
  49638 	uint64 *	value)
  49639 {
  49640 	return bcm_port_control_phy_oam_get(
  49641 			BCM_CONTROL(unit)->unit,
  49642 			port,
  49643 			type,
  49644 			value);
  49645 }
  49646 
  49647 int
  49648 bcm_loop_port_control_phy_oam_set(
  49649 	int	unit,
  49650 	bcm_port_t	port,
  49651 	bcm_port_control_phy_oam_t	type,
  49652 	uint64	value)
  49653 {
  49654 	return bcm_port_control_phy_oam_set(
  49655 			BCM_CONTROL(unit)->unit,
  49656 			port,
  49657 			type,
  49658 			value);
  49659 }
  49660 
  49661 int
  49662 bcm_loop_port_control_phy_timesync_get(
  49663 	int	unit,
  49664 	bcm_port_t	port,
  49665 	bcm_port_control_phy_timesync_t	type,
  49666 	uint64 *	value)
  49667 {
  49668 	return bcm_port_control_phy_timesync_get(
  49669 			BCM_CONTROL(unit)->unit,
  49670 			port,
  49671 			type,
  49672 			value);
  49673 }
  49674 
  49675 int
  49676 bcm_loop_port_control_phy_timesync_set(
  49677 	int	unit,
  49678 	bcm_port_t	port,
  49679 	bcm_port_control_phy_timesync_t	type,
  49680 	uint64	value)
  49681 {
  49682 	return bcm_port_control_phy_timesync_set(
  49683 			BCM_CONTROL(unit)->unit,
  49684 			port,
  49685 			type,
  49686 			value);
  49687 }
  49688 
  49689 int
  49690 bcm_loop_port_control_set(
  49691 	int	unit,
  49692 	bcm_port_t	port,
  49693 	bcm_port_control_t	type,
  49694 	int	value)
  49695 {
  49696 	return bcm_port_control_set(
  49697 			BCM_CONTROL(unit)->unit,
  49698 			port,
  49699 			type,
  49700 			value);
  49701 }
  49702 
  49703 int
  49704 bcm_loop_port_detach(
  49705 	int	unit,
  49706 	bcm_pbmp_t	pbmp,
  49707 	bcm_pbmp_t *	detached)
  49708 {
  49709 	return bcm_port_detach(
  49710 			BCM_CONTROL(unit)->unit,
  49711 			pbmp,
  49712 			detached);
  49713 }
  49714 
  49715 int
  49716 bcm_loop_port_discard_get(
  49717 	int	unit,
  49718 	bcm_port_t	port,
  49719 	int *	mode)
  49720 {
  49721 	return bcm_port_discard_get(
  49722 			BCM_CONTROL(unit)->unit,
  49723 			port,
  49724 			mode);
  49725 }
  49726 
  49727 int
  49728 bcm_loop_port_discard_set(
  49729 	int	unit,
  49730 	bcm_port_t	port,
  49731 	int	mode)
  49732 {
  49733 	return bcm_port_discard_set(
  49734 			BCM_CONTROL(unit)->unit,
  49735 			port,
  49736 			mode);
  49737 }
  49738 
  49739 int
  49740 bcm_loop_port_dscp_map_get(
  49741 	int	unit,
  49742 	bcm_port_t	port,
  49743 	int	srccp,
  49744 	int *	mapcp,
  49745 	int *	prio)
  49746 {
  49747 	return bcm_port_dscp_map_get(
  49748 			BCM_CONTROL(unit)->unit,
  49749 			port,
  49750 			srccp,
  49751 			mapcp,
  49752 			prio);
  49753 }
  49754 
  49755 int
  49756 bcm_loop_port_dscp_map_mode_get(
  49757 	int	unit,
  49758 	bcm_port_t	port,
  49759 	int *	mode)
  49760 {
  49761 	return bcm_port_dscp_map_mode_get(
  49762 			BCM_CONTROL(unit)->unit,
  49763 			port,
  49764 			mode);
  49765 }
  49766 
  49767 int
  49768 bcm_loop_port_dscp_map_mode_set(
  49769 	int	unit,
  49770 	bcm_port_t	port,
  49771 	int	mode)
  49772 {
  49773 	return bcm_port_dscp_map_mode_set(
  49774 			BCM_CONTROL(unit)->unit,
  49775 			port,
  49776 			mode);
  49777 }
  49778 
  49779 int
  49780 bcm_loop_port_dscp_map_set(
  49781 	int	unit,
  49782 	bcm_port_t	port,
  49783 	int	srccp,
  49784 	int	mapcp,
  49785 	int	prio)
  49786 {
  49787 	return bcm_port_dscp_map_set(
  49788 			BCM_CONTROL(unit)->unit,
  49789 			port,
  49790 			srccp,
  49791 			mapcp,
  49792 			prio);
  49793 }
  49794 
  49795 int
  49796 bcm_loop_port_dscp_unmap_get(
  49797 	int	unit,
  49798 	bcm_port_t	port,
  49799 	int	internal_pri,
  49800 	bcm_color_t	color,
  49801 	int *	pkt_dscp)
  49802 {
  49803 	return bcm_port_dscp_unmap_get(
  49804 			BCM_CONTROL(unit)->unit,
  49805 			port,
  49806 			internal_pri,
  49807 			color,
  49808 			pkt_dscp);
  49809 }
  49810 
  49811 int
  49812 bcm_loop_port_dscp_unmap_set(
  49813 	int	unit,
  49814 	bcm_port_t	port,
  49815 	int	internal_pri,
  49816 	bcm_color_t	color,
  49817 	int	pkt_dscp)
  49818 {
  49819 	return bcm_port_dscp_unmap_set(
  49820 			BCM_CONTROL(unit)->unit,
  49821 			port,
  49822 			internal_pri,
  49823 			color,
  49824 			pkt_dscp);
  49825 }
  49826 
  49827 int
  49828 bcm_loop_port_dtag_mode_get(
  49829 	int	unit,
  49830 	bcm_port_t	port,
  49831 	int *	mode)
  49832 {
  49833 	return bcm_port_dtag_mode_get(
  49834 			BCM_CONTROL(unit)->unit,
  49835 			port,
  49836 			mode);
  49837 }
  49838 
  49839 int
  49840 bcm_loop_port_dtag_mode_set(
  49841 	int	unit,
  49842 	bcm_port_t	port,
  49843 	int	mode)
  49844 {
  49845 	return bcm_port_dtag_mode_set(
  49846 			BCM_CONTROL(unit)->unit,
  49847 			port,
  49848 			mode);
  49849 }
  49850 
  49851 int
  49852 bcm_loop_port_duplex_get(
  49853 	int	unit,
  49854 	bcm_port_t	port,
  49855 	int *	duplex)
  49856 {
  49857 	return bcm_port_duplex_get(
  49858 			BCM_CONTROL(unit)->unit,
  49859 			port,
  49860 			duplex);
  49861 }
  49862 
  49863 int
  49864 bcm_loop_port_duplex_set(
  49865 	int	unit,
  49866 	bcm_port_t	port,
  49867 	int	duplex)
  49868 {
  49869 	return bcm_port_duplex_set(
  49870 			BCM_CONTROL(unit)->unit,
  49871 			port,
  49872 			duplex);
  49873 }
  49874 
  49875 /* bcm_port_e2efc_remote_module_config_t_init not dispatchable */
  49876 
  49877 int
  49878 bcm_loop_port_e2efc_remote_module_enable_get(
  49879 	int	unit,
  49880 	bcm_module_t	remote_module,
  49881 	bcm_port_e2efc_mode_t	mode,
  49882 	int *	enable,
  49883 	bcm_port_e2efc_remote_module_config_t *	e2efc_rmod_cfg)
  49884 {
  49885 	return bcm_port_e2efc_remote_module_enable_get(
  49886 			BCM_CONTROL(unit)->unit,
  49887 			remote_module,
  49888 			mode,
  49889 			enable,
  49890 			e2efc_rmod_cfg);
  49891 }
  49892 
  49893 int
  49894 bcm_loop_port_e2efc_remote_module_enable_set(
  49895 	int	unit,
  49896 	bcm_module_t	remote_module,
  49897 	bcm_port_e2efc_mode_t	mode,
  49898 	int	enable,
  49899 	bcm_port_e2efc_remote_module_config_t *	e2efc_rmod_cfg)
  49900 {
  49901 	return bcm_port_e2efc_remote_module_enable_set(
  49902 			BCM_CONTROL(unit)->unit,
  49903 			remote_module,
  49904 			mode,
  49905 			enable,
  49906 			e2efc_rmod_cfg);
  49907 }
  49908 
  49909 int
  49910 bcm_loop_port_e2efc_remote_module_traverse(
  49911 	int	unit,
  49912 	bcm_port_e2efc_remote_module_traverse_cb	cb,
  49913 	void *	user_data)
  49914 {
  49915 	return bcm_port_e2efc_remote_module_traverse(
  49916 			BCM_CONTROL(unit)->unit,
  49917 			cb,
  49918 			user_data);
  49919 }
  49920 
  49921 int
  49922 bcm_loop_port_e2efc_remote_port_add(
  49923 	int	unit,
  49924 	bcm_port_e2efc_remote_port_config_t *	e2efc_rport_cfg,
  49925 	int *	rport_handle_id)
  49926 {
  49927 	return bcm_port_e2efc_remote_port_add(
  49928 			BCM_CONTROL(unit)->unit,
  49929 			e2efc_rport_cfg,
  49930 			rport_handle_id);
  49931 }
  49932 
  49933 /* bcm_port_e2efc_remote_port_config_t_init not dispatchable */
  49934 
  49935 int
  49936 bcm_loop_port_e2efc_remote_port_delete(
  49937 	int	unit,
  49938 	int	rport_handle_id)
  49939 {
  49940 	return bcm_port_e2efc_remote_port_delete(
  49941 			BCM_CONTROL(unit)->unit,
  49942 			rport_handle_id);
  49943 }
  49944 
  49945 int
  49946 bcm_loop_port_e2efc_remote_port_get(
  49947 	int	unit,
  49948 	int	rport_handle_id,
  49949 	bcm_port_e2efc_remote_port_config_t *	e2efc_rport_cfg)
  49950 {
  49951 	return bcm_port_e2efc_remote_port_get(
  49952 			BCM_CONTROL(unit)->unit,
  49953 			rport_handle_id,
  49954 			e2efc_rport_cfg);
  49955 }
  49956 
  49957 int
  49958 bcm_loop_port_e2efc_remote_port_set(
  49959 	int	unit,
  49960 	int	rport_handle_id,
  49961 	bcm_port_e2efc_remote_port_config_t *	e2efc_rport_cfg)
  49962 {
  49963 	return bcm_port_e2efc_remote_port_set(
  49964 			BCM_CONTROL(unit)->unit,
  49965 			rport_handle_id,
  49966 			e2efc_rport_cfg);
  49967 }
  49968 
  49969 int
  49970 bcm_loop_port_e2efc_remote_port_traverse(
  49971 	int	unit,
  49972 	bcm_port_e2efc_remote_port_traverse_cb	cb,
  49973 	void *	user_data)
  49974 {
  49975 	return bcm_port_e2efc_remote_port_traverse(
  49976 			BCM_CONTROL(unit)->unit,
  49977 			cb,
  49978 			user_data);
  49979 }
  49980 
  49981 int
  49982 bcm_loop_port_egress_get(
  49983 	int	unit,
  49984 	bcm_port_t	port,
  49985 	int	modid,
  49986 	bcm_pbmp_t *	pbmp)
  49987 {
  49988 	return bcm_port_egress_get(
  49989 			BCM_CONTROL(unit)->unit,
  49990 			port,
  49991 			modid,
  49992 			pbmp);
  49993 }
  49994 
  49995 int
  49996 bcm_loop_port_egress_set(
  49997 	int	unit,
  49998 	bcm_port_t	port,
  49999 	int	modid,
  50000 	bcm_pbmp_t	pbmp)
  50001 {
  50002 	return bcm_port_egress_set(
  50003 			BCM_CONTROL(unit)->unit,
  50004 			port,
  50005 			modid,
  50006 			pbmp);
  50007 }
  50008 
  50009 int
  50010 bcm_loop_port_enable_get(
  50011 	int	unit,
  50012 	bcm_port_t	port,
  50013 	int *	enable)
  50014 {
  50015 	return bcm_port_enable_get(
  50016 			BCM_CONTROL(unit)->unit,
  50017 			port,
  50018 			enable);
  50019 }
  50020 
  50021 int
  50022 bcm_loop_port_enable_set(
  50023 	int	unit,
  50024 	bcm_port_t	port,
  50025 	int	enable)
  50026 {
  50027 	return bcm_port_enable_set(
  50028 			BCM_CONTROL(unit)->unit,
  50029 			port,
  50030 			enable);
  50031 }
  50032 
  50033 int
  50034 bcm_loop_port_encap_config_get(
  50035 	int	unit,
  50036 	bcm_gport_t	gport,
  50037 	bcm_port_encap_config_t *	encap_config)
  50038 {
  50039 	return bcm_port_encap_config_get(
  50040 			BCM_CONTROL(unit)->unit,
  50041 			gport,
  50042 			encap_config);
  50043 }
  50044 
  50045 int
  50046 bcm_loop_port_encap_config_set(
  50047 	int	unit,
  50048 	bcm_gport_t	gport,
  50049 	bcm_port_encap_config_t *	encap_config)
  50050 {
  50051 	return bcm_port_encap_config_set(
  50052 			BCM_CONTROL(unit)->unit,
  50053 			gport,
  50054 			encap_config);
  50055 }
  50056 
  50057 /* bcm_port_encap_config_t_init not dispatchable */
  50058 
  50059 int
  50060 bcm_loop_port_encap_get(
  50061 	int	unit,
  50062 	bcm_port_t	port,
  50063 	int *	mode)
  50064 {
  50065 	return bcm_port_encap_get(
  50066 			BCM_CONTROL(unit)->unit,
  50067 			port,
  50068 			mode);
  50069 }
  50070 
  50071 int
  50072 bcm_loop_port_encap_local_get(
  50073 	int	unit,
  50074 	bcm_gport_t	gport,
  50075 	uint32	flags,
  50076 	int *	encap_local_id)
  50077 {
  50078 	return bcm_port_encap_local_get(
  50079 			BCM_CONTROL(unit)->unit,
  50080 			gport,
  50081 			flags,
  50082 			encap_local_id);
  50083 }
  50084 
  50085 int
  50086 bcm_loop_port_encap_map_get(
  50087 	int	unit,
  50088 	uint32	flags,
  50089 	bcm_if_t	encap_id,
  50090 	bcm_gport_t *	port)
  50091 {
  50092 	return bcm_port_encap_map_get(
  50093 			BCM_CONTROL(unit)->unit,
  50094 			flags,
  50095 			encap_id,
  50096 			port);
  50097 }
  50098 
  50099 int
  50100 bcm_loop_port_encap_map_set(
  50101 	int	unit,
  50102 	uint32	flags,
  50103 	bcm_if_t	encap_id,
  50104 	bcm_gport_t	port)
  50105 {
  50106 	return bcm_port_encap_map_set(
  50107 			BCM_CONTROL(unit)->unit,
  50108 			flags,
  50109 			encap_id,
  50110 			port);
  50111 }
  50112 
  50113 int
  50114 bcm_loop_port_encap_set(
  50115 	int	unit,
  50116 	bcm_port_t	port,
  50117 	int	mode)
  50118 {
  50119 	return bcm_port_encap_set(
  50120 			BCM_CONTROL(unit)->unit,
  50121 			port,
  50122 			mode);
  50123 }
  50124 
  50125 int
  50126 bcm_loop_port_extender_mapping_info_get(
  50127 	int	unit,
  50128 	uint32	flags,
  50129 	bcm_port_extender_mapping_type_t	type,
  50130 	bcm_port_extender_mapping_info_t *	mapping_info)
  50131 {
  50132 	return bcm_port_extender_mapping_info_get(
  50133 			BCM_CONTROL(unit)->unit,
  50134 			flags,
  50135 			type,
  50136 			mapping_info);
  50137 }
  50138 
  50139 int
  50140 bcm_loop_port_extender_mapping_info_set(
  50141 	int	unit,
  50142 	uint32	flags,
  50143 	bcm_port_extender_mapping_type_t	type,
  50144 	bcm_port_extender_mapping_info_t *	mapping_info)
  50145 {
  50146 	return bcm_port_extender_mapping_info_set(
  50147 			BCM_CONTROL(unit)->unit,
  50148 			flags,
  50149 			type,
  50150 			mapping_info);
  50151 }
  50152 
  50153 /* bcm_port_extender_mapping_info_t_init not dispatchable */
  50154 
  50155 int
  50156 bcm_loop_port_fault_get(
  50157 	int	unit,
  50158 	bcm_port_t	port,
  50159 	uint32 *	flags)
  50160 {
  50161 	return bcm_port_fault_get(
  50162 			BCM_CONTROL(unit)->unit,
  50163 			port,
  50164 			flags);
  50165 }
  50166 
  50167 int
  50168 bcm_loop_port_flood_block_get(
  50169 	int	unit,
  50170 	bcm_port_t	ingress_port,
  50171 	bcm_port_t	egress_port,
  50172 	uint32 *	flags)
  50173 {
  50174 	return bcm_port_flood_block_get(
  50175 			BCM_CONTROL(unit)->unit,
  50176 			ingress_port,
  50177 			egress_port,
  50178 			flags);
  50179 }
  50180 
  50181 int
  50182 bcm_loop_port_flood_block_set(
  50183 	int	unit,
  50184 	bcm_port_t	ingress_port,
  50185 	bcm_port_t	egress_port,
  50186 	uint32	flags)
  50187 {
  50188 	return bcm_port_flood_block_set(
  50189 			BCM_CONTROL(unit)->unit,
  50190 			ingress_port,
  50191 			egress_port,
  50192 			flags);
  50193 }
  50194 
  50195 int
  50196 bcm_loop_port_flood_group_get(
  50197 	int	unit,
  50198 	bcm_gport_t	port,
  50199 	uint32	flags,
  50200 	bcm_port_flood_group_t *	flood_groups)
  50201 {
  50202 	return bcm_port_flood_group_get(
  50203 			BCM_CONTROL(unit)->unit,
  50204 			port,
  50205 			flags,
  50206 			flood_groups);
  50207 }
  50208 
  50209 int
  50210 bcm_loop_port_flood_group_set(
  50211 	int	unit,
  50212 	bcm_gport_t	port,
  50213 	uint32	flags,
  50214 	bcm_port_flood_group_t *	flood_groups)
  50215 {
  50216 	return bcm_port_flood_group_set(
  50217 			BCM_CONTROL(unit)->unit,
  50218 			port,
  50219 			flags,
  50220 			flood_groups);
  50221 }
  50222 
  50223 /* bcm_port_flood_group_t_init not dispatchable */
  50224 
  50225 int
  50226 bcm_loop_port_force_dest_get(
  50227 	int	unit,
  50228 	bcm_gport_t	gport,
  50229 	bcm_port_dest_info_t *	dest_info)
  50230 {
  50231 	return bcm_port_force_dest_get(
  50232 			BCM_CONTROL(unit)->unit,
  50233 			gport,
  50234 			dest_info);
  50235 }
  50236 
  50237 int
  50238 bcm_loop_port_force_dest_set(
  50239 	int	unit,
  50240 	bcm_gport_t	gport,
  50241 	bcm_port_dest_info_t *	dest_info)
  50242 {
  50243 	return bcm_port_force_dest_set(
  50244 			BCM_CONTROL(unit)->unit,
  50245 			gport,
  50246 			dest_info);
  50247 }
  50248 
  50249 int
  50250 bcm_loop_port_force_forward_get(
  50251 	int	unit,
  50252 	bcm_port_t	port,
  50253 	bcm_port_t *	egr_port,
  50254 	int *	enabled)
  50255 {
  50256 	return bcm_port_force_forward_get(
  50257 			BCM_CONTROL(unit)->unit,
  50258 			port,
  50259 			egr_port,
  50260 			enabled);
  50261 }
  50262 
  50263 int
  50264 bcm_loop_port_force_forward_mode_get(
  50265 	int	unit,
  50266 	bcm_port_t	port,
  50267 	bcm_port_t *	egr_port,
  50268 	uint32 *	flags)
  50269 {
  50270 	return bcm_port_force_forward_mode_get(
  50271 			BCM_CONTROL(unit)->unit,
  50272 			port,
  50273 			egr_port,
  50274 			flags);
  50275 }
  50276 
  50277 int
  50278 bcm_loop_port_force_forward_mode_set(
  50279 	int	unit,
  50280 	bcm_port_t	port,
  50281 	bcm_port_t	egr_port,
  50282 	uint32	flags)
  50283 {
  50284 	return bcm_port_force_forward_mode_set(
  50285 			BCM_CONTROL(unit)->unit,
  50286 			port,
  50287 			egr_port,
  50288 			flags);
  50289 }
  50290 
  50291 int
  50292 bcm_loop_port_force_forward_set(
  50293 	int	unit,
  50294 	bcm_port_t	port,
  50295 	bcm_port_t	egr_port,
  50296 	int	enable)
  50297 {
  50298 	return bcm_port_force_forward_set(
  50299 			BCM_CONTROL(unit)->unit,
  50300 			port,
  50301 			egr_port,
  50302 			enable);
  50303 }
  50304 
  50305 int
  50306 bcm_loop_port_force_vlan_get(
  50307 	int	unit,
  50308 	bcm_port_t	port,
  50309 	bcm_vlan_t *	vlan,
  50310 	int *	pkt_prio,
  50311 	uint32 *	flags)
  50312 {
  50313 	return bcm_port_force_vlan_get(
  50314 			BCM_CONTROL(unit)->unit,
  50315 			port,
  50316 			vlan,
  50317 			pkt_prio,
  50318 			flags);
  50319 }
  50320 
  50321 int
  50322 bcm_loop_port_force_vlan_set(
  50323 	int	unit,
  50324 	bcm_port_t	port,
  50325 	bcm_vlan_t	vlan,
  50326 	int	pkt_prio,
  50327 	uint32	flags)
  50328 {
  50329 	return bcm_port_force_vlan_set(
  50330 			BCM_CONTROL(unit)->unit,
  50331 			port,
  50332 			vlan,
  50333 			pkt_prio,
  50334 			flags);
  50335 }
  50336 
  50337 int
  50338 bcm_loop_port_frame_max_get(
  50339 	int	unit,
  50340 	bcm_port_t	port,
  50341 	int *	size)
  50342 {
  50343 	return bcm_port_frame_max_get(
  50344 			BCM_CONTROL(unit)->unit,
  50345 			port,
  50346 			size);
  50347 }
  50348 
  50349 int
  50350 bcm_loop_port_frame_max_set(
  50351 	int	unit,
  50352 	bcm_port_t	port,
  50353 	int	size)
  50354 {
  50355 	return bcm_port_frame_max_set(
  50356 			BCM_CONTROL(unit)->unit,
  50357 			port,
  50358 			size);
  50359 }
  50360 
  50361 int
  50362 bcm_loop_port_get(
  50363 	int	unit,
  50364 	bcm_port_t	port,
  50365 	uint32 *	flags,
  50366 	bcm_port_interface_info_t *	interface_info,
  50367 	bcm_port_mapping_info_t *	mapping_info)
  50368 {
  50369 	return bcm_port_get(
  50370 			BCM_CONTROL(unit)->unit,
  50371 			port,
  50372 			flags,
  50373 			interface_info,
  50374 			mapping_info);
  50375 }
  50376 
  50377 int
  50378 bcm_loop_port_gport_add(
  50379 	int	unit,
  50380 	bcm_port_t	local_port,
  50381 	bcm_gport_t	modport)
  50382 {
  50383 	return bcm_port_gport_add(
  50384 			BCM_CONTROL(unit)->unit,
  50385 			local_port,
  50386 			modport);
  50387 }
  50388 
  50389 int
  50390 bcm_loop_port_gport_delete(
  50391 	int	unit,
  50392 	bcm_port_t	local_port,
  50393 	bcm_gport_t	modport)
  50394 {
  50395 	return bcm_port_gport_delete(
  50396 			BCM_CONTROL(unit)->unit,
  50397 			local_port,
  50398 			modport);
  50399 }
  50400 
  50401 int
  50402 bcm_loop_port_gport_delete_all(
  50403 	int	unit,
  50404 	bcm_port_t	local_port)
  50405 {
  50406 	return bcm_port_gport_delete_all(
  50407 			BCM_CONTROL(unit)->unit,
  50408 			local_port);
  50409 }
  50410 
  50411 int
  50412 bcm_loop_port_gport_free_range_get(
  50413 	int	unit,
  50414 	uint32	gport_type,
  50415 	bcm_gport_t *	gport_min,
  50416 	bcm_gport_t *	gport_max)
  50417 {
  50418 	return bcm_port_gport_free_range_get(
  50419 			BCM_CONTROL(unit)->unit,
  50420 			gport_type,
  50421 			gport_min,
  50422 			gport_max);
  50423 }
  50424 
  50425 int
  50426 bcm_loop_port_gport_get(
  50427 	int	unit,
  50428 	bcm_port_t	port,
  50429 	bcm_gport_t *	gport)
  50430 {
  50431 	return bcm_port_gport_get(
  50432 			BCM_CONTROL(unit)->unit,
  50433 			port,
  50434 			gport);
  50435 }
  50436 
  50437 int
  50438 bcm_loop_port_gport_get_all(
  50439 	int	unit,
  50440 	bcm_port_t	local_port,
  50441 	int	size,
  50442 	bcm_gport_t *	gport_array,
  50443 	int *	count)
  50444 {
  50445 	return bcm_port_gport_get_all(
  50446 			BCM_CONTROL(unit)->unit,
  50447 			local_port,
  50448 			size,
  50449 			gport_array,
  50450 			count);
  50451 }
  50452 
  50453 int
  50454 bcm_loop_port_gport_is_free(
  50455 	int	unit,
  50456 	bcm_gport_t	gport)
  50457 {
  50458 	return bcm_port_gport_is_free(
  50459 			BCM_CONTROL(unit)->unit,
  50460 			gport);
  50461 }
  50462 
  50463 int
  50464 bcm_loop_port_ifg_get(
  50465 	int	unit,
  50466 	bcm_port_t	port,
  50467 	int	speed,
  50468 	bcm_port_duplex_t	duplex,
  50469 	int *	bit_times)
  50470 {
  50471 	return bcm_port_ifg_get(
  50472 			BCM_CONTROL(unit)->unit,
  50473 			port,
  50474 			speed,
  50475 			duplex,
  50476 			bit_times);
  50477 }
  50478 
  50479 int
  50480 bcm_loop_port_ifg_set(
  50481 	int	unit,
  50482 	bcm_port_t	port,
  50483 	int	speed,
  50484 	bcm_port_duplex_t	duplex,
  50485 	int	bit_times)
  50486 {
  50487 	return bcm_port_ifg_set(
  50488 			BCM_CONTROL(unit)->unit,
  50489 			port,
  50490 			speed,
  50491 			duplex,
  50492 			bit_times);
  50493 }
  50494 
  50495 int
  50496 bcm_loop_port_ifilter_get(
  50497 	int	unit,
  50498 	bcm_port_t	port,
  50499 	int *	mode)
  50500 {
  50501 	return bcm_port_ifilter_get(
  50502 			BCM_CONTROL(unit)->unit,
  50503 			port,
  50504 			mode);
  50505 }
  50506 
  50507 int
  50508 bcm_loop_port_ifilter_set(
  50509 	int	unit,
  50510 	bcm_port_t	port,
  50511 	int	mode)
  50512 {
  50513 	return bcm_port_ifilter_set(
  50514 			BCM_CONTROL(unit)->unit,
  50515 			port,
  50516 			mode);
  50517 }
  50518 
  50519 int
  50520 bcm_loop_port_ilkn_lane_map_get(
  50521 	int	unit,
  50522 	int	flags,
  50523 	bcm_port_t	port,
  50524 	int	num_of_lanes,
  50525 	int *	lanes)
  50526 {
  50527 	return bcm_port_ilkn_lane_map_get(
  50528 			BCM_CONTROL(unit)->unit,
  50529 			flags,
  50530 			port,
  50531 			num_of_lanes,
  50532 			lanes);
  50533 }
  50534 
  50535 int
  50536 bcm_loop_port_ilkn_lane_map_set(
  50537 	int	unit,
  50538 	int	flags,
  50539 	bcm_port_t	port,
  50540 	int	num_of_lanes,
  50541 	int *	lanes)
  50542 {
  50543 	return bcm_port_ilkn_lane_map_set(
  50544 			BCM_CONTROL(unit)->unit,
  50545 			flags,
  50546 			port,
  50547 			num_of_lanes,
  50548 			lanes);
  50549 }
  50550 
  50551 int
  50552 bcm_loop_port_info_get(
  50553 	int	unit,
  50554 	bcm_port_t	port,
  50555 	bcm_port_info_t *	info)
  50556 {
  50557 	return bcm_port_info_get(
  50558 			BCM_CONTROL(unit)->unit,
  50559 			port,
  50560 			info);
  50561 }
  50562 
  50563 int
  50564 bcm_loop_port_info_restore(
  50565 	int	unit,
  50566 	bcm_port_t	port,
  50567 	bcm_port_info_t *	info)
  50568 {
  50569 	return bcm_port_info_restore(
  50570 			BCM_CONTROL(unit)->unit,
  50571 			port,
  50572 			info);
  50573 }
  50574 
  50575 int
  50576 bcm_loop_port_info_save(
  50577 	int	unit,
  50578 	bcm_port_t	port,
  50579 	bcm_port_info_t *	info)
  50580 {
  50581 	return bcm_port_info_save(
  50582 			BCM_CONTROL(unit)->unit,
  50583 			port,
  50584 			info);
  50585 }
  50586 
  50587 int
  50588 bcm_loop_port_info_set(
  50589 	int	unit,
  50590 	bcm_port_t	port,
  50591 	bcm_port_info_t *	info)
  50592 {
  50593 	return bcm_port_info_set(
  50594 			BCM_CONTROL(unit)->unit,
  50595 			port,
  50596 			info);
  50597 }
  50598 
  50599 /* bcm_port_info_t_init not dispatchable */
  50600 
  50601 int
  50602 bcm_loop_port_ingress_tdm_failover_get(
  50603 	int	unit,
  50604 	int	flag,
  50605 	bcm_pbmp_t *	tdm_enable_pbmp)
  50606 {
  50607 	return bcm_port_ingress_tdm_failover_get(
  50608 			BCM_CONTROL(unit)->unit,
  50609 			flag,
  50610 			tdm_enable_pbmp);
  50611 }
  50612 
  50613 int
  50614 bcm_loop_port_ingress_tdm_failover_set(
  50615 	int	unit,
  50616 	int	flag,
  50617 	bcm_pbmp_t	tdm_enable_pbmp)
  50618 {
  50619 	return bcm_port_ingress_tdm_failover_set(
  50620 			BCM_CONTROL(unit)->unit,
  50621 			flag,
  50622 			tdm_enable_pbmp);
  50623 }
  50624 
  50625 int
  50626 bcm_loop_port_init(
  50627 	int	unit)
  50628 {
  50629 	return bcm_port_init(
  50630 			BCM_CONTROL(unit)->unit);
  50631 }
  50632 
  50633 int
  50634 bcm_loop_port_inner_tpid_get(
  50635 	int	unit,
  50636 	bcm_port_t	port,
  50637 	uint16 *	tpid)
  50638 {
  50639 	return bcm_port_inner_tpid_get(
  50640 			BCM_CONTROL(unit)->unit,
  50641 			port,
  50642 			tpid);
  50643 }
  50644 
  50645 int
  50646 bcm_loop_port_inner_tpid_set(
  50647 	int	unit,
  50648 	bcm_port_t	port,
  50649 	uint16	tpid)
  50650 {
  50651 	return bcm_port_inner_tpid_set(
  50652 			BCM_CONTROL(unit)->unit,
  50653 			port,
  50654 			tpid);
  50655 }
  50656 
  50657 int
  50658 bcm_loop_port_interface_config_get(
  50659 	int	unit,
  50660 	bcm_port_t	port,
  50661 	bcm_port_interface_config_t *	config)
  50662 {
  50663 	return bcm_port_interface_config_get(
  50664 			BCM_CONTROL(unit)->unit,
  50665 			port,
  50666 			config);
  50667 }
  50668 
  50669 int
  50670 bcm_loop_port_interface_config_set(
  50671 	int	unit,
  50672 	bcm_port_t	port,
  50673 	bcm_port_interface_config_t *	config)
  50674 {
  50675 	return bcm_port_interface_config_set(
  50676 			BCM_CONTROL(unit)->unit,
  50677 			port,
  50678 			config);
  50679 }
  50680 
  50681 /* bcm_port_interface_config_t_init not dispatchable */
  50682 
  50683 int
  50684 bcm_loop_port_interface_get(
  50685 	int	unit,
  50686 	bcm_port_t	port,
  50687 	bcm_port_if_t *	intf)
  50688 {
  50689 	return bcm_port_interface_get(
  50690 			BCM_CONTROL(unit)->unit,
  50691 			port,
  50692 			intf);
  50693 }
  50694 
  50695 int
  50696 bcm_loop_port_interface_set(
  50697 	int	unit,
  50698 	bcm_port_t	port,
  50699 	bcm_port_if_t	intf)
  50700 {
  50701 	return bcm_port_interface_set(
  50702 			BCM_CONTROL(unit)->unit,
  50703 			port,
  50704 			intf);
  50705 }
  50706 
  50707 int
  50708 bcm_loop_port_internal_get(
  50709 	int	unit,
  50710 	uint32	flags,
  50711 	int	internal_ports_max,
  50712 	bcm_gport_t *	internal_gport,
  50713 	int *	internal_ports_count)
  50714 {
  50715 	return bcm_port_internal_get(
  50716 			BCM_CONTROL(unit)->unit,
  50717 			flags,
  50718 			internal_ports_max,
  50719 			internal_gport,
  50720 			internal_ports_count);
  50721 }
  50722 
  50723 int
  50724 bcm_loop_port_ipmc_modify_get(
  50725 	int	unit,
  50726 	bcm_port_t	port,
  50727 	uint32 *	flags)
  50728 {
  50729 	return bcm_port_ipmc_modify_get(
  50730 			BCM_CONTROL(unit)->unit,
  50731 			port,
  50732 			flags);
  50733 }
  50734 
  50735 int
  50736 bcm_loop_port_ipmc_modify_set(
  50737 	int	unit,
  50738 	bcm_port_t	port,
  50739 	uint32	flags)
  50740 {
  50741 	return bcm_port_ipmc_modify_set(
  50742 			BCM_CONTROL(unit)->unit,
  50743 			port,
  50744 			flags);
  50745 }
  50746 
  50747 int
  50748 bcm_loop_port_jam_get(
  50749 	int	unit,
  50750 	bcm_port_t	port,
  50751 	int *	enable)
  50752 {
  50753 	return bcm_port_jam_get(
  50754 			BCM_CONTROL(unit)->unit,
  50755 			port,
  50756 			enable);
  50757 }
  50758 
  50759 int
  50760 bcm_loop_port_jam_set(
  50761 	int	unit,
  50762 	bcm_port_t	port,
  50763 	int	enable)
  50764 {
  50765 	return bcm_port_jam_set(
  50766 			BCM_CONTROL(unit)->unit,
  50767 			port,
  50768 			enable);
  50769 }
  50770 
  50771 int
  50772 bcm_loop_port_l3_enable_get(
  50773 	int	unit,
  50774 	bcm_port_t	port,
  50775 	int *	enable)
  50776 {
  50777 	return bcm_port_l3_enable_get(
  50778 			BCM_CONTROL(unit)->unit,
  50779 			port,
  50780 			enable);
  50781 }
  50782 
  50783 int
  50784 bcm_loop_port_l3_enable_set(
  50785 	int	unit,
  50786 	bcm_port_t	port,
  50787 	int	enable)
  50788 {
  50789 	return bcm_port_l3_enable_set(
  50790 			BCM_CONTROL(unit)->unit,
  50791 			port,
  50792 			enable);
  50793 }
  50794 
  50795 int
  50796 bcm_loop_port_l3_encapsulated_mtu_get(
  50797 	int	unit,
  50798 	bcm_port_t	port,
  50799 	int *	size)
  50800 {
  50801 	return bcm_port_l3_encapsulated_mtu_get(
  50802 			BCM_CONTROL(unit)->unit,
  50803 			port,
  50804 			size);
  50805 }
  50806 
  50807 int
  50808 bcm_loop_port_l3_encapsulated_mtu_set(
  50809 	int	unit,
  50810 	bcm_port_t	port,
  50811 	int	size)
  50812 {
  50813 	return bcm_port_l3_encapsulated_mtu_set(
  50814 			BCM_CONTROL(unit)->unit,
  50815 			port,
  50816 			size);
  50817 }
  50818 
  50819 int
  50820 bcm_loop_port_l3_modify_get(
  50821 	int	unit,
  50822 	bcm_port_t	port,
  50823 	uint32 *	flags)
  50824 {
  50825 	return bcm_port_l3_modify_get(
  50826 			BCM_CONTROL(unit)->unit,
  50827 			port,
  50828 			flags);
  50829 }
  50830 
  50831 int
  50832 bcm_loop_port_l3_modify_set(
  50833 	int	unit,
  50834 	bcm_port_t	port,
  50835 	uint32	flags)
  50836 {
  50837 	return bcm_port_l3_modify_set(
  50838 			BCM_CONTROL(unit)->unit,
  50839 			port,
  50840 			flags);
  50841 }
  50842 
  50843 int
  50844 bcm_loop_port_l3_mtu_get(
  50845 	int	unit,
  50846 	bcm_port_t	port,
  50847 	int *	size)
  50848 {
  50849 	return bcm_port_l3_mtu_get(
  50850 			BCM_CONTROL(unit)->unit,
  50851 			port,
  50852 			size);
  50853 }
  50854 
  50855 int
  50856 bcm_loop_port_l3_mtu_set(
  50857 	int	unit,
  50858 	bcm_port_t	port,
  50859 	int	size)
  50860 {
  50861 	return bcm_port_l3_mtu_set(
  50862 			BCM_CONTROL(unit)->unit,
  50863 			port,
  50864 			size);
  50865 }
  50866 
  50867 int
  50868 bcm_loop_port_lane_to_serdes_map_get(
  50869 	int	unit,
  50870 	int	flags,
  50871 	int	map_size,
  50872 	bcm_port_lane_to_serdes_map_t *	serdes_map)
  50873 {
  50874 	return bcm_port_lane_to_serdes_map_get(
  50875 			BCM_CONTROL(unit)->unit,
  50876 			flags,
  50877 			map_size,
  50878 			serdes_map);
  50879 }
  50880 
  50881 int
  50882 bcm_loop_port_lane_to_serdes_map_set(
  50883 	int	unit,
  50884 	int	flags,
  50885 	int	map_size,
  50886 	bcm_port_lane_to_serdes_map_t *	serdes_map)
  50887 {
  50888 	return bcm_port_lane_to_serdes_map_set(
  50889 			BCM_CONTROL(unit)->unit,
  50890 			flags,
  50891 			map_size,
  50892 			serdes_map);
  50893 }
  50894 
  50895 int
  50896 bcm_loop_port_learn_get(
  50897 	int	unit,
  50898 	bcm_port_t	port,
  50899 	uint32 *	flags)
  50900 {
  50901 	return bcm_port_learn_get(
  50902 			BCM_CONTROL(unit)->unit,
  50903 			port,
  50904 			flags);
  50905 }
  50906 
  50907 int
  50908 bcm_loop_port_learn_modify(
  50909 	int	unit,
  50910 	bcm_port_t	port,
  50911 	uint32	add,
  50912 	uint32	remove)
  50913 {
  50914 	return bcm_port_learn_modify(
  50915 			BCM_CONTROL(unit)->unit,
  50916 			port,
  50917 			add,
  50918 			remove);
  50919 }
  50920 
  50921 int
  50922 bcm_loop_port_learn_set(
  50923 	int	unit,
  50924 	bcm_port_t	port,
  50925 	uint32	flags)
  50926 {
  50927 	return bcm_port_learn_set(
  50928 			BCM_CONTROL(unit)->unit,
  50929 			port,
  50930 			flags);
  50931 }
  50932 
  50933 int
  50934 bcm_loop_port_link_failed_clear(
  50935 	int	unit,
  50936 	bcm_port_t	port)
  50937 {
  50938 	return bcm_port_link_failed_clear(
  50939 			BCM_CONTROL(unit)->unit,
  50940 			port);
  50941 }
  50942 
  50943 int
  50944 bcm_loop_port_link_state_get(
  50945 	int	unit,
  50946 	bcm_port_t	port,
  50947 	uint32	flags,
  50948 	bcm_port_link_state_t *	state)
  50949 {
  50950 	return bcm_port_link_state_get(
  50951 			BCM_CONTROL(unit)->unit,
  50952 			port,
  50953 			flags,
  50954 			state);
  50955 }
  50956 
  50957 int
  50958 bcm_loop_port_link_status_get(
  50959 	int	unit,
  50960 	bcm_port_t	port,
  50961 	int *	status)
  50962 {
  50963 	return bcm_port_link_status_get(
  50964 			BCM_CONTROL(unit)->unit,
  50965 			port,
  50966 			status);
  50967 }
  50968 
  50969 int
  50970 bcm_loop_port_linkscan_get(
  50971 	int	unit,
  50972 	bcm_port_t	port,
  50973 	int *	linkscan)
  50974 {
  50975 	return bcm_port_linkscan_get(
  50976 			BCM_CONTROL(unit)->unit,
  50977 			port,
  50978 			linkscan);
  50979 }
  50980 
  50981 int
  50982 bcm_loop_port_linkscan_set(
  50983 	int	unit,
  50984 	bcm_port_t	port,
  50985 	int	linkscan)
  50986 {
  50987 	return bcm_port_linkscan_set(
  50988 			BCM_CONTROL(unit)->unit,
  50989 			port,
  50990 			linkscan);
  50991 }
  50992 
  50993 int
  50994 bcm_loop_port_local_get(
  50995 	int	unit,
  50996 	bcm_gport_t	gport,
  50997 	bcm_port_t *	local_port)
  50998 {
  50999 	return bcm_port_local_get(
  51000 			BCM_CONTROL(unit)->unit,
  51001 			gport,
  51002 			local_port);
  51003 }
  51004 
  51005 int
  51006 bcm_loop_port_loopback_get(
  51007 	int	unit,
  51008 	bcm_port_t	port,
  51009 	int *	loopback)
  51010 {
  51011 	return bcm_port_loopback_get(
  51012 			BCM_CONTROL(unit)->unit,
  51013 			port,
  51014 			loopback);
  51015 }
  51016 
  51017 int
  51018 bcm_loop_port_loopback_set(
  51019 	int	unit,
  51020 	bcm_port_t	port,
  51021 	int	loopback)
  51022 {
  51023 	return bcm_port_loopback_set(
  51024 			BCM_CONTROL(unit)->unit,
  51025 			port,
  51026 			loopback);
  51027 }
  51028 
  51029 int
  51030 bcm_loop_port_management_packet_config_get(
  51031 	int	unit,
  51032 	bcm_port_t	port,
  51033 	bcm_port_management_packet_config_t *	config_array,
  51034 	int	max_config,
  51035 	int *	config_count)
  51036 {
  51037 	return bcm_port_management_packet_config_get(
  51038 			BCM_CONTROL(unit)->unit,
  51039 			port,
  51040 			config_array,
  51041 			max_config,
  51042 			config_count);
  51043 }
  51044 
  51045 int
  51046 bcm_loop_port_management_packet_config_set(
  51047 	int	unit,
  51048 	bcm_port_t	port,
  51049 	bcm_port_management_packet_config_t *	config)
  51050 {
  51051 	return bcm_port_management_packet_config_set(
  51052 			BCM_CONTROL(unit)->unit,
  51053 			port,
  51054 			config);
  51055 }
  51056 
  51057 /* bcm_port_mapping_info_t_init not dispatchable */
  51058 
  51059 int
  51060 bcm_loop_port_master_get(
  51061 	int	unit,
  51062 	bcm_port_t	port,
  51063 	int *	ms)
  51064 {
  51065 	return bcm_port_master_get(
  51066 			BCM_CONTROL(unit)->unit,
  51067 			port,
  51068 			ms);
  51069 }
  51070 
  51071 int
  51072 bcm_loop_port_master_set(
  51073 	int	unit,
  51074 	bcm_port_t	port,
  51075 	int	ms)
  51076 {
  51077 	return bcm_port_master_set(
  51078 			BCM_CONTROL(unit)->unit,
  51079 			port,
  51080 			ms);
  51081 }
  51082 
  51083 int
  51084 bcm_loop_port_match_add(
  51085 	int	unit,
  51086 	bcm_gport_t	port,
  51087 	bcm_port_match_info_t *	match)
  51088 {
  51089 	return bcm_port_match_add(
  51090 			BCM_CONTROL(unit)->unit,
  51091 			port,
  51092 			match);
  51093 }
  51094 
  51095 int
  51096 bcm_loop_port_match_delete(
  51097 	int	unit,
  51098 	bcm_gport_t	port,
  51099 	bcm_port_match_info_t *	match)
  51100 {
  51101 	return bcm_port_match_delete(
  51102 			BCM_CONTROL(unit)->unit,
  51103 			port,
  51104 			match);
  51105 }
  51106 
  51107 int
  51108 bcm_loop_port_match_delete_all(
  51109 	int	unit,
  51110 	bcm_gport_t	port)
  51111 {
  51112 	return bcm_port_match_delete_all(
  51113 			BCM_CONTROL(unit)->unit,
  51114 			port);
  51115 }
  51116 
  51117 /* bcm_port_match_info_t_init not dispatchable */
  51118 
  51119 int
  51120 bcm_loop_port_match_multi_get(
  51121 	int	unit,
  51122 	bcm_gport_t	port,
  51123 	int	size,
  51124 	bcm_port_match_info_t *	match_array,
  51125 	int *	count)
  51126 {
  51127 	return bcm_port_match_multi_get(
  51128 			BCM_CONTROL(unit)->unit,
  51129 			port,
  51130 			size,
  51131 			match_array,
  51132 			count);
  51133 }
  51134 
  51135 int
  51136 bcm_loop_port_match_replace(
  51137 	int	unit,
  51138 	bcm_gport_t	port,
  51139 	bcm_port_match_info_t *	old_match,
  51140 	bcm_port_match_info_t *	new_match)
  51141 {
  51142 	return bcm_port_match_replace(
  51143 			BCM_CONTROL(unit)->unit,
  51144 			port,
  51145 			old_match,
  51146 			new_match);
  51147 }
  51148 
  51149 int
  51150 bcm_loop_port_match_set(
  51151 	int	unit,
  51152 	bcm_gport_t	port,
  51153 	int	size,
  51154 	bcm_port_match_info_t *	match_array)
  51155 {
  51156 	return bcm_port_match_set(
  51157 			BCM_CONTROL(unit)->unit,
  51158 			port,
  51159 			size,
  51160 			match_array);
  51161 }
  51162 
  51163 int
  51164 bcm_loop_port_mdix_get(
  51165 	int	unit,
  51166 	bcm_port_t	port,
  51167 	bcm_port_mdix_t *	mode)
  51168 {
  51169 	return bcm_port_mdix_get(
  51170 			BCM_CONTROL(unit)->unit,
  51171 			port,
  51172 			mode);
  51173 }
  51174 
  51175 int
  51176 bcm_loop_port_mdix_set(
  51177 	int	unit,
  51178 	bcm_port_t	port,
  51179 	bcm_port_mdix_t	mode)
  51180 {
  51181 	return bcm_port_mdix_set(
  51182 			BCM_CONTROL(unit)->unit,
  51183 			port,
  51184 			mode);
  51185 }
  51186 
  51187 int
  51188 bcm_loop_port_mdix_status_get(
  51189 	int	unit,
  51190 	bcm_port_t	port,
  51191 	bcm_port_mdix_status_t *	status)
  51192 {
  51193 	return bcm_port_mdix_status_get(
  51194 			BCM_CONTROL(unit)->unit,
  51195 			port,
  51196 			status);
  51197 }
  51198 
  51199 int
  51200 bcm_loop_port_medium_config_get(
  51201 	int	unit,
  51202 	bcm_port_t	port,
  51203 	bcm_port_medium_t	medium,
  51204 	bcm_phy_config_t *	config)
  51205 {
  51206 	return bcm_port_medium_config_get(
  51207 			BCM_CONTROL(unit)->unit,
  51208 			port,
  51209 			medium,
  51210 			config);
  51211 }
  51212 
  51213 int
  51214 bcm_loop_port_medium_config_set(
  51215 	int	unit,
  51216 	bcm_port_t	port,
  51217 	bcm_port_medium_t	medium,
  51218 	bcm_phy_config_t *	config)
  51219 {
  51220 	return bcm_port_medium_config_set(
  51221 			BCM_CONTROL(unit)->unit,
  51222 			port,
  51223 			medium,
  51224 			config);
  51225 }
  51226 
  51227 int
  51228 bcm_loop_port_medium_get(
  51229 	int	unit,
  51230 	bcm_port_t	port,
  51231 	bcm_port_medium_t *	medium)
  51232 {
  51233 	return bcm_port_medium_get(
  51234 			BCM_CONTROL(unit)->unit,
  51235 			port,
  51236 			medium);
  51237 }
  51238 
  51239 int
  51240 bcm_loop_port_medium_status_register(
  51241 	int	unit,
  51242 	bcm_port_t	port,
  51243 	bcm_port_medium_status_cb_t	callback,
  51244 	void *	user_data)
  51245 {
  51246 	return bcm_port_medium_status_register(
  51247 			BCM_CONTROL(unit)->unit,
  51248 			port,
  51249 			callback,
  51250 			user_data);
  51251 }
  51252 
  51253 int
  51254 bcm_loop_port_medium_status_unregister(
  51255 	int	unit,
  51256 	bcm_port_t	port,
  51257 	bcm_port_medium_status_cb_t	callback,
  51258 	void *	user_data)
  51259 {
  51260 	return bcm_port_medium_status_unregister(
  51261 			BCM_CONTROL(unit)->unit,
  51262 			port,
  51263 			callback,
  51264 			user_data);
  51265 }
  51266 
  51267 int
  51268 bcm_loop_port_modid_egress_get(
  51269 	int	unit,
  51270 	bcm_port_t	port,
  51271 	bcm_module_t	modid,
  51272 	bcm_pbmp_t *	pbmp)
  51273 {
  51274 	return bcm_port_modid_egress_get(
  51275 			BCM_CONTROL(unit)->unit,
  51276 			port,
  51277 			modid,
  51278 			pbmp);
  51279 }
  51280 
  51281 int
  51282 bcm_loop_port_modid_egress_set(
  51283 	int	unit,
  51284 	bcm_port_t	port,
  51285 	bcm_module_t	modid,
  51286 	bcm_pbmp_t	pbmp)
  51287 {
  51288 	return bcm_port_modid_egress_set(
  51289 			BCM_CONTROL(unit)->unit,
  51290 			port,
  51291 			modid,
  51292 			pbmp);
  51293 }
  51294 
  51295 int
  51296 bcm_loop_port_modid_enable_get(
  51297 	int	unit,
  51298 	bcm_port_t	port,
  51299 	int	modid,
  51300 	int *	enable)
  51301 {
  51302 	return bcm_port_modid_enable_get(
  51303 			BCM_CONTROL(unit)->unit,
  51304 			port,
  51305 			modid,
  51306 			enable);
  51307 }
  51308 
  51309 int
  51310 bcm_loop_port_modid_enable_set(
  51311 	int	unit,
  51312 	bcm_port_t	port,
  51313 	int	modid,
  51314 	int	enable)
  51315 {
  51316 	return bcm_port_modid_enable_set(
  51317 			BCM_CONTROL(unit)->unit,
  51318 			port,
  51319 			modid,
  51320 			enable);
  51321 }
  51322 
  51323 int
  51324 bcm_loop_port_nif_priority_get(
  51325 	int	unit,
  51326 	bcm_gport_t	local_port,
  51327 	uint32	flags,
  51328 	bcm_port_nif_prio_t *	priority,
  51329 	bcm_pbmp_t *	affected_ports)
  51330 {
  51331 	return bcm_port_nif_priority_get(
  51332 			BCM_CONTROL(unit)->unit,
  51333 			local_port,
  51334 			flags,
  51335 			priority,
  51336 			affected_ports);
  51337 }
  51338 
  51339 int
  51340 bcm_loop_port_nif_priority_set(
  51341 	int	unit,
  51342 	bcm_gport_t	local_port,
  51343 	uint32	flags,
  51344 	bcm_port_nif_prio_t *	priority,
  51345 	bcm_pbmp_t *	affected_ports)
  51346 {
  51347 	return bcm_port_nif_priority_set(
  51348 			BCM_CONTROL(unit)->unit,
  51349 			local_port,
  51350 			flags,
  51351 			priority,
  51352 			affected_ports);
  51353 }
  51354 
  51355 int
  51356 bcm_loop_port_pause_addr_get(
  51357 	int	unit,
  51358 	bcm_port_t	port,
  51359 	bcm_mac_t	mac)
  51360 {
  51361 	return bcm_port_pause_addr_get(
  51362 			BCM_CONTROL(unit)->unit,
  51363 			port,
  51364 			mac);
  51365 }
  51366 
  51367 int
  51368 bcm_loop_port_pause_addr_set(
  51369 	int	unit,
  51370 	bcm_port_t	port,
  51371 	bcm_mac_t	mac)
  51372 {
  51373 	return bcm_port_pause_addr_set(
  51374 			BCM_CONTROL(unit)->unit,
  51375 			port,
  51376 			mac);
  51377 }
  51378 
  51379 int
  51380 bcm_loop_port_pause_get(
  51381 	int	unit,
  51382 	bcm_port_t	port,
  51383 	int *	pause_tx,
  51384 	int *	pause_rx)
  51385 {
  51386 	return bcm_port_pause_get(
  51387 			BCM_CONTROL(unit)->unit,
  51388 			port,
  51389 			pause_tx,
  51390 			pause_rx);
  51391 }
  51392 
  51393 int
  51394 bcm_loop_port_pause_set(
  51395 	int	unit,
  51396 	bcm_port_t	port,
  51397 	int	pause_tx,
  51398 	int	pause_rx)
  51399 {
  51400 	return bcm_port_pause_set(
  51401 			BCM_CONTROL(unit)->unit,
  51402 			port,
  51403 			pause_tx,
  51404 			pause_rx);
  51405 }
  51406 
  51407 int
  51408 bcm_loop_port_pause_sym_get(
  51409 	int	unit,
  51410 	bcm_port_t	port,
  51411 	int *	pause)
  51412 {
  51413 	return bcm_port_pause_sym_get(
  51414 			BCM_CONTROL(unit)->unit,
  51415 			port,
  51416 			pause);
  51417 }
  51418 
  51419 int
  51420 bcm_loop_port_pause_sym_set(
  51421 	int	unit,
  51422 	bcm_port_t	port,
  51423 	int	pause)
  51424 {
  51425 	return bcm_port_pause_sym_set(
  51426 			BCM_CONTROL(unit)->unit,
  51427 			port,
  51428 			pause);
  51429 }
  51430 
  51431 int
  51432 bcm_loop_port_pfm_get(
  51433 	int	unit,
  51434 	bcm_port_t	port,
  51435 	int *	mode)
  51436 {
  51437 	return bcm_port_pfm_get(
  51438 			BCM_CONTROL(unit)->unit,
  51439 			port,
  51440 			mode);
  51441 }
  51442 
  51443 int
  51444 bcm_loop_port_pfm_set(
  51445 	int	unit,
  51446 	bcm_port_t	port,
  51447 	int	mode)
  51448 {
  51449 	return bcm_port_pfm_set(
  51450 			BCM_CONTROL(unit)->unit,
  51451 			port,
  51452 			mode);
  51453 }
  51454 
  51455 int
  51456 bcm_loop_port_phy_control_get(
  51457 	int	unit,
  51458 	bcm_port_t	port,
  51459 	bcm_port_phy_control_t	type,
  51460 	uint32 *	value)
  51461 {
  51462 	return bcm_port_phy_control_get(
  51463 			BCM_CONTROL(unit)->unit,
  51464 			port,
  51465 			type,
  51466 			value);
  51467 }
  51468 
  51469 int
  51470 bcm_loop_port_phy_control_set(
  51471 	int	unit,
  51472 	bcm_port_t	port,
  51473 	bcm_port_phy_control_t	type,
  51474 	uint32	value)
  51475 {
  51476 	return bcm_port_phy_control_set(
  51477 			BCM_CONTROL(unit)->unit,
  51478 			port,
  51479 			type,
  51480 			value);
  51481 }
  51482 
  51483 int
  51484 bcm_loop_port_phy_drv_name_get(
  51485 	int	unit,
  51486 	bcm_port_t	port,
  51487 	char *	name,
  51488 	int	len)
  51489 {
  51490 	return bcm_port_phy_drv_name_get(
  51491 			BCM_CONTROL(unit)->unit,
  51492 			port,
  51493 			name,
  51494 			len);
  51495 }
  51496 
  51497 int
  51498 bcm_loop_port_phy_firmware_set(
  51499 	int	unit,
  51500 	bcm_port_t	port,
  51501 	uint32	flags,
  51502 	int	offset,
  51503 	uint8 *	array,
  51504 	int	length)
  51505 {
  51506 	return bcm_port_phy_firmware_set(
  51507 			BCM_CONTROL(unit)->unit,
  51508 			port,
  51509 			flags,
  51510 			offset,
  51511 			array,
  51512 			length);
  51513 }
  51514 
  51515 int
  51516 bcm_loop_port_phy_get(
  51517 	int	unit,
  51518 	bcm_port_t	port,
  51519 	uint32	flags,
  51520 	uint32	phy_reg_addr,
  51521 	uint32 *	phy_data)
  51522 {
  51523 	return bcm_port_phy_get(
  51524 			BCM_CONTROL(unit)->unit,
  51525 			port,
  51526 			flags,
  51527 			phy_reg_addr,
  51528 			phy_data);
  51529 }
  51530 
  51531 int
  51532 bcm_loop_port_phy_modify(
  51533 	int	unit,
  51534 	bcm_port_t	port,
  51535 	uint32	flags,
  51536 	uint32	phy_reg_addr,
  51537 	uint32	phy_data,
  51538 	uint32	phy_mask)
  51539 {
  51540 	return bcm_port_phy_modify(
  51541 			BCM_CONTROL(unit)->unit,
  51542 			port,
  51543 			flags,
  51544 			phy_reg_addr,
  51545 			phy_data,
  51546 			phy_mask);
  51547 }
  51548 
  51549 int
  51550 bcm_loop_port_phy_multi_get(
  51551 	int	unit,
  51552 	bcm_port_t	port,
  51553 	uint32	flags,
  51554 	uint32	dev_addr,
  51555 	uint32	offset,
  51556 	int	max_size,
  51557 	uint8 *	data,
  51558 	int *	actual_size)
  51559 {
  51560 	return bcm_port_phy_multi_get(
  51561 			BCM_CONTROL(unit)->unit,
  51562 			port,
  51563 			flags,
  51564 			dev_addr,
  51565 			offset,
  51566 			max_size,
  51567 			data,
  51568 			actual_size);
  51569 }
  51570 
  51571 int
  51572 bcm_loop_port_phy_reset(
  51573 	int	unit,
  51574 	bcm_port_t	port)
  51575 {
  51576 	return bcm_port_phy_reset(
  51577 			BCM_CONTROL(unit)->unit,
  51578 			port);
  51579 }
  51580 
  51581 int
  51582 bcm_loop_port_phy_reset_register(
  51583 	int	unit,
  51584 	bcm_port_t	port,
  51585 	bcm_port_phy_reset_cb_t	callback,
  51586 	void *	user_data)
  51587 {
  51588 	return bcm_port_phy_reset_register(
  51589 			BCM_CONTROL(unit)->unit,
  51590 			port,
  51591 			callback,
  51592 			user_data);
  51593 }
  51594 
  51595 int
  51596 bcm_loop_port_phy_reset_unregister(
  51597 	int	unit,
  51598 	bcm_port_t	port,
  51599 	bcm_port_phy_reset_cb_t	callback,
  51600 	void *	user_data)
  51601 {
  51602 	return bcm_port_phy_reset_unregister(
  51603 			BCM_CONTROL(unit)->unit,
  51604 			port,
  51605 			callback,
  51606 			user_data);
  51607 }
  51608 
  51609 int
  51610 bcm_loop_port_phy_set(
  51611 	int	unit,
  51612 	bcm_port_t	port,
  51613 	uint32	flags,
  51614 	uint32	phy_reg_addr,
  51615 	uint32	phy_data)
  51616 {
  51617 	return bcm_port_phy_set(
  51618 			BCM_CONTROL(unit)->unit,
  51619 			port,
  51620 			flags,
  51621 			phy_reg_addr,
  51622 			phy_data);
  51623 }
  51624 
  51625 int
  51626 bcm_loop_port_phy_timesync_config_get(
  51627 	int	unit,
  51628 	bcm_port_t	port,
  51629 	bcm_port_phy_timesync_config_t *	conf)
  51630 {
  51631 	return bcm_port_phy_timesync_config_get(
  51632 			BCM_CONTROL(unit)->unit,
  51633 			port,
  51634 			conf);
  51635 }
  51636 
  51637 int
  51638 bcm_loop_port_phy_timesync_config_set(
  51639 	int	unit,
  51640 	bcm_port_t	port,
  51641 	bcm_port_phy_timesync_config_t *	conf)
  51642 {
  51643 	return bcm_port_phy_timesync_config_set(
  51644 			BCM_CONTROL(unit)->unit,
  51645 			port,
  51646 			conf);
  51647 }
  51648 
  51649 /* bcm_port_phy_timesync_config_t_init not dispatchable */
  51650 
  51651 int
  51652 bcm_loop_port_phy_timesync_enhanced_capture_get(
  51653 	int	unit,
  51654 	bcm_port_t	port,
  51655 	bcm_port_phy_timesync_enhanced_capture_t *	value)
  51656 {
  51657 	return bcm_port_phy_timesync_enhanced_capture_get(
  51658 			BCM_CONTROL(unit)->unit,
  51659 			port,
  51660 			value);
  51661 }
  51662 
  51663 int
  51664 bcm_loop_port_phy_tx_get(
  51665 	int	unit,
  51666 	bcm_port_t	port,
  51667 	bcm_port_phy_tx_t *	tx)
  51668 {
  51669 	return bcm_port_phy_tx_get(
  51670 			BCM_CONTROL(unit)->unit,
  51671 			port,
  51672 			tx);
  51673 }
  51674 
  51675 int
  51676 bcm_loop_port_phy_tx_set(
  51677 	int	unit,
  51678 	bcm_port_t	port,
  51679 	bcm_port_phy_tx_t *	tx)
  51680 {
  51681 	return bcm_port_phy_tx_set(
  51682 			BCM_CONTROL(unit)->unit,
  51683 			port,
  51684 			tx);
  51685 }
  51686 
  51687 /* bcm_port_phy_tx_t_init not dispatchable */
  51688 
  51689 int
  51690 bcm_loop_port_policer_get(
  51691 	int	unit,
  51692 	bcm_port_t	port,
  51693 	bcm_policer_t *	policer_id)
  51694 {
  51695 	return bcm_port_policer_get(
  51696 			BCM_CONTROL(unit)->unit,
  51697 			port,
  51698 			policer_id);
  51699 }
  51700 
  51701 int
  51702 bcm_loop_port_policer_set(
  51703 	int	unit,
  51704 	bcm_port_t	port,
  51705 	bcm_policer_t	policer_id)
  51706 {
  51707 	return bcm_port_policer_set(
  51708 			BCM_CONTROL(unit)->unit,
  51709 			port,
  51710 			policer_id);
  51711 }
  51712 
  51713 int
  51714 bcm_loop_port_pon_info_get(
  51715 	int	unit,
  51716 	bcm_port_t	pon_port,
  51717 	bcm_port_pon_info_t *	info)
  51718 {
  51719 	return bcm_port_pon_info_get(
  51720 			BCM_CONTROL(unit)->unit,
  51721 			pon_port,
  51722 			info);
  51723 }
  51724 
  51725 int
  51726 bcm_loop_port_pon_info_set(
  51727 	int	unit,
  51728 	bcm_port_t	pon_port,
  51729 	bcm_port_pon_info_t *	info)
  51730 {
  51731 	return bcm_port_pon_info_set(
  51732 			BCM_CONTROL(unit)->unit,
  51733 			pon_port,
  51734 			info);
  51735 }
  51736 
  51737 int
  51738 bcm_loop_port_pon_tunnel_add(
  51739 	int	unit,
  51740 	bcm_gport_t	pon_port,
  51741 	uint32	flags,
  51742 	bcm_gport_t *	tunnel_port_id)
  51743 {
  51744 	return bcm_port_pon_tunnel_add(
  51745 			BCM_CONTROL(unit)->unit,
  51746 			pon_port,
  51747 			flags,
  51748 			tunnel_port_id);
  51749 }
  51750 
  51751 int
  51752 bcm_loop_port_pon_tunnel_map_get(
  51753 	int	unit,
  51754 	bcm_gport_t	pon_port,
  51755 	bcm_tunnel_id_t	tunnel_id,
  51756 	bcm_gport_t *	tunnel_port_id)
  51757 {
  51758 	return bcm_port_pon_tunnel_map_get(
  51759 			BCM_CONTROL(unit)->unit,
  51760 			pon_port,
  51761 			tunnel_id,
  51762 			tunnel_port_id);
  51763 }
  51764 
  51765 int
  51766 bcm_loop_port_pon_tunnel_map_set(
  51767 	int	unit,
  51768 	bcm_gport_t	pon_port,
  51769 	bcm_tunnel_id_t	tunnel_id,
  51770 	bcm_gport_t	tunnel_port_id)
  51771 {
  51772 	return bcm_port_pon_tunnel_map_set(
  51773 			BCM_CONTROL(unit)->unit,
  51774 			pon_port,
  51775 			tunnel_id,
  51776 			tunnel_port_id);
  51777 }
  51778 
  51779 int
  51780 bcm_loop_port_pon_tunnel_remove(
  51781 	int	unit,
  51782 	bcm_gport_t	tunnel_port_id)
  51783 {
  51784 	return bcm_port_pon_tunnel_remove(
  51785 			BCM_CONTROL(unit)->unit,
  51786 			tunnel_port_id);
  51787 }
  51788 
  51789 int
  51790 bcm_loop_port_preemption_control_get(
  51791 	int	unit,
  51792 	bcm_gport_t	gport,
  51793 	bcm_port_preempt_control_t	type,
  51794 	uint32 *	arg)
  51795 {
  51796 	return bcm_port_preemption_control_get(
  51797 			BCM_CONTROL(unit)->unit,
  51798 			gport,
  51799 			type,
  51800 			arg);
  51801 }
  51802 
  51803 int
  51804 bcm_loop_port_preemption_control_set(
  51805 	int	unit,
  51806 	bcm_gport_t	gport,
  51807 	bcm_port_preempt_control_t	type,
  51808 	uint32	arg)
  51809 {
  51810 	return bcm_port_preemption_control_set(
  51811 			BCM_CONTROL(unit)->unit,
  51812 			gport,
  51813 			type,
  51814 			arg);
  51815 }
  51816 
  51817 int
  51818 bcm_loop_port_preemption_status_get(
  51819 	int	unit,
  51820 	bcm_gport_t	gport,
  51821 	bcm_port_preempt_status_t	type,
  51822 	uint32 *	status)
  51823 {
  51824 	return bcm_port_preemption_status_get(
  51825 			BCM_CONTROL(unit)->unit,
  51826 			gport,
  51827 			type,
  51828 			status);
  51829 }
  51830 
  51831 int
  51832 bcm_loop_port_priority_color_get(
  51833 	int	unit,
  51834 	bcm_port_t	port,
  51835 	int	prio,
  51836 	bcm_color_t *	color)
  51837 {
  51838 	return bcm_port_priority_color_get(
  51839 			BCM_CONTROL(unit)->unit,
  51840 			port,
  51841 			prio,
  51842 			color);
  51843 }
  51844 
  51845 int
  51846 bcm_loop_port_priority_color_set(
  51847 	int	unit,
  51848 	bcm_port_t	port,
  51849 	int	prio,
  51850 	bcm_color_t	color)
  51851 {
  51852 	return bcm_port_priority_color_set(
  51853 			BCM_CONTROL(unit)->unit,
  51854 			port,
  51855 			prio,
  51856 			color);
  51857 }
  51858 
  51859 int
  51860 bcm_loop_port_priority_config_get(
  51861 	int	unit,
  51862 	bcm_port_t	port,
  51863 	bcm_port_prio_config_t *	priority_config)
  51864 {
  51865 	return bcm_port_priority_config_get(
  51866 			BCM_CONTROL(unit)->unit,
  51867 			port,
  51868 			priority_config);
  51869 }
  51870 
  51871 int
  51872 bcm_loop_port_priority_config_set(
  51873 	int	unit,
  51874 	bcm_port_t	port,
  51875 	bcm_port_prio_config_t *	port_priority_config)
  51876 {
  51877 	return bcm_port_priority_config_set(
  51878 			BCM_CONTROL(unit)->unit,
  51879 			port,
  51880 			port_priority_config);
  51881 }
  51882 
  51883 int
  51884 bcm_loop_port_priority_group_config_get(
  51885 	int	unit,
  51886 	bcm_gport_t	gport,
  51887 	int	priority_group,
  51888 	bcm_port_priority_group_config_t *	prigrp_config)
  51889 {
  51890 	return bcm_port_priority_group_config_get(
  51891 			BCM_CONTROL(unit)->unit,
  51892 			gport,
  51893 			priority_group,
  51894 			prigrp_config);
  51895 }
  51896 
  51897 int
  51898 bcm_loop_port_priority_group_config_set(
  51899 	int	unit,
  51900 	bcm_gport_t	gport,
  51901 	int	priority_group,
  51902 	bcm_port_priority_group_config_t *	prigrp_config)
  51903 {
  51904 	return bcm_port_priority_group_config_set(
  51905 			BCM_CONTROL(unit)->unit,
  51906 			gport,
  51907 			priority_group,
  51908 			prigrp_config);
  51909 }
  51910 
  51911 /* bcm_port_priority_group_config_t_init not dispatchable */
  51912 
  51913 int
  51914 bcm_loop_port_priority_group_mapping_get(
  51915 	int	unit,
  51916 	bcm_gport_t	gport,
  51917 	int	prio,
  51918 	int *	priority_group)
  51919 {
  51920 	return bcm_port_priority_group_mapping_get(
  51921 			BCM_CONTROL(unit)->unit,
  51922 			gport,
  51923 			prio,
  51924 			priority_group);
  51925 }
  51926 
  51927 int
  51928 bcm_loop_port_priority_group_mapping_set(
  51929 	int	unit,
  51930 	bcm_gport_t	gport,
  51931 	int	prio,
  51932 	int	priority_group)
  51933 {
  51934 	return bcm_port_priority_group_mapping_set(
  51935 			BCM_CONTROL(unit)->unit,
  51936 			gport,
  51937 			prio,
  51938 			priority_group);
  51939 }
  51940 
  51941 int
  51942 bcm_loop_port_probe(
  51943 	int	unit,
  51944 	bcm_pbmp_t	pbmp,
  51945 	bcm_pbmp_t *	okay_pbmp)
  51946 {
  51947 	return bcm_port_probe(
  51948 			BCM_CONTROL(unit)->unit,
  51949 			pbmp,
  51950 			okay_pbmp);
  51951 }
  51952 
  51953 int
  51954 bcm_loop_port_protocol_vlan_add(
  51955 	int	unit,
  51956 	bcm_port_t	port,
  51957 	bcm_port_frametype_t	frame,
  51958 	bcm_port_ethertype_t	ether,
  51959 	bcm_vlan_t	vid)
  51960 {
  51961 	return bcm_port_protocol_vlan_add(
  51962 			BCM_CONTROL(unit)->unit,
  51963 			port,
  51964 			frame,
  51965 			ether,
  51966 			vid);
  51967 }
  51968 
  51969 int
  51970 bcm_loop_port_protocol_vlan_delete(
  51971 	int	unit,
  51972 	bcm_port_t	port,
  51973 	bcm_port_frametype_t	frame,
  51974 	bcm_port_ethertype_t	ether)
  51975 {
  51976 	return bcm_port_protocol_vlan_delete(
  51977 			BCM_CONTROL(unit)->unit,
  51978 			port,
  51979 			frame,
  51980 			ether);
  51981 }
  51982 
  51983 int
  51984 bcm_loop_port_protocol_vlan_delete_all(
  51985 	int	unit,
  51986 	bcm_port_t	port)
  51987 {
  51988 	return bcm_port_protocol_vlan_delete_all(
  51989 			BCM_CONTROL(unit)->unit,
  51990 			port);
  51991 }
  51992 
  51993 int
  51994 bcm_loop_port_queued_count_get(
  51995 	int	unit,
  51996 	bcm_port_t	port,
  51997 	uint32 *	count)
  51998 {
  51999 	return bcm_port_queued_count_get(
  52000 			BCM_CONTROL(unit)->unit,
  52001 			port,
  52002 			count);
  52003 }
  52004 
  52005 int
  52006 bcm_loop_port_rate_egress_get(
  52007 	int	unit,
  52008 	bcm_port_t	port,
  52009 	uint32 *	kbits_sec,
  52010 	uint32 *	kbits_burst)
  52011 {
  52012 	return bcm_port_rate_egress_get(
  52013 			BCM_CONTROL(unit)->unit,
  52014 			port,
  52015 			kbits_sec,
  52016 			kbits_burst);
  52017 }
  52018 
  52019 int
  52020 bcm_loop_port_rate_egress_pps_get(
  52021 	int	unit,
  52022 	bcm_port_t	port,
  52023 	uint32 *	pps,
  52024 	uint32 *	burst)
  52025 {
  52026 	return bcm_port_rate_egress_pps_get(
  52027 			BCM_CONTROL(unit)->unit,
  52028 			port,
  52029 			pps,
  52030 			burst);
  52031 }
  52032 
  52033 int
  52034 bcm_loop_port_rate_egress_pps_set(
  52035 	int	unit,
  52036 	bcm_port_t	port,
  52037 	uint32	pps,
  52038 	uint32	burst)
  52039 {
  52040 	return bcm_port_rate_egress_pps_set(
  52041 			BCM_CONTROL(unit)->unit,
  52042 			port,
  52043 			pps,
  52044 			burst);
  52045 }
  52046 
  52047 int
  52048 bcm_loop_port_rate_egress_set(
  52049 	int	unit,
  52050 	bcm_port_t	port,
  52051 	uint32	kbits_sec,
  52052 	uint32	kbits_burst)
  52053 {
  52054 	return bcm_port_rate_egress_set(
  52055 			BCM_CONTROL(unit)->unit,
  52056 			port,
  52057 			kbits_sec,
  52058 			kbits_burst);
  52059 }
  52060 
  52061 int
  52062 bcm_loop_port_rate_ingress_get(
  52063 	int	unit,
  52064 	bcm_port_t	port,
  52065 	uint32 *	kbits_sec,
  52066 	uint32 *	kbits_burst)
  52067 {
  52068 	return bcm_port_rate_ingress_get(
  52069 			BCM_CONTROL(unit)->unit,
  52070 			port,
  52071 			kbits_sec,
  52072 			kbits_burst);
  52073 }
  52074 
  52075 int
  52076 bcm_loop_port_rate_ingress_set(
  52077 	int	unit,
  52078 	bcm_port_t	port,
  52079 	uint32	kbits_sec,
  52080 	uint32	kbits_burst)
  52081 {
  52082 	return bcm_port_rate_ingress_set(
  52083 			BCM_CONTROL(unit)->unit,
  52084 			port,
  52085 			kbits_sec,
  52086 			kbits_burst);
  52087 }
  52088 
  52089 int
  52090 bcm_loop_port_rate_pause_get(
  52091 	int	unit,
  52092 	bcm_port_t	port,
  52093 	uint32 *	kbits_pause,
  52094 	uint32 *	kbits_resume)
  52095 {
  52096 	return bcm_port_rate_pause_get(
  52097 			BCM_CONTROL(unit)->unit,
  52098 			port,
  52099 			kbits_pause,
  52100 			kbits_resume);
  52101 }
  52102 
  52103 int
  52104 bcm_loop_port_rate_pause_set(
  52105 	int	unit,
  52106 	bcm_port_t	port,
  52107 	uint32	kbits_pause,
  52108 	uint32	kbits_resume)
  52109 {
  52110 	return bcm_port_rate_pause_set(
  52111 			BCM_CONTROL(unit)->unit,
  52112 			port,
  52113 			kbits_pause,
  52114 			kbits_resume);
  52115 }
  52116 
  52117 int
  52118 bcm_loop_port_redirect_config_get(
  52119 	int	unit,
  52120 	bcm_gport_t	gport,
  52121 	bcm_port_redirect_config_t *	redirect_config)
  52122 {
  52123 	return bcm_port_redirect_config_get(
  52124 			BCM_CONTROL(unit)->unit,
  52125 			gport,
  52126 			redirect_config);
  52127 }
  52128 
  52129 int
  52130 bcm_loop_port_redirect_config_set(
  52131 	int	unit,
  52132 	bcm_gport_t	port,
  52133 	bcm_port_redirect_config_t *	redirect_config)
  52134 {
  52135 	return bcm_port_redirect_config_set(
  52136 			BCM_CONTROL(unit)->unit,
  52137 			port,
  52138 			redirect_config);
  52139 }
  52140 
  52141 /* bcm_port_redirect_config_t_init not dispatchable */
  52142 
  52143 int
  52144 bcm_loop_port_remove(
  52145 	int	unit,
  52146 	bcm_port_t	port,
  52147 	uint32	flags)
  52148 {
  52149 	return bcm_port_remove(
  52150 			BCM_CONTROL(unit)->unit,
  52151 			port,
  52152 			flags);
  52153 }
  52154 
  52155 int
  52156 bcm_loop_port_resource_default_get(
  52157 	int	unit,
  52158 	bcm_gport_t	port,
  52159 	uint32	flags,
  52160 	bcm_port_resource_t *	resource)
  52161 {
  52162 	return bcm_port_resource_default_get(
  52163 			BCM_CONTROL(unit)->unit,
  52164 			port,
  52165 			flags,
  52166 			resource);
  52167 }
  52168 
  52169 int
  52170 bcm_loop_port_resource_get(
  52171 	int	unit,
  52172 	bcm_gport_t	port,
  52173 	bcm_port_resource_t *	resource)
  52174 {
  52175 	return bcm_port_resource_get(
  52176 			BCM_CONTROL(unit)->unit,
  52177 			port,
  52178 			resource);
  52179 }
  52180 
  52181 int
  52182 bcm_loop_port_resource_multi_set(
  52183 	int	unit,
  52184 	int	nport,
  52185 	bcm_port_resource_t *	resource)
  52186 {
  52187 	return bcm_port_resource_multi_set(
  52188 			BCM_CONTROL(unit)->unit,
  52189 			nport,
  52190 			resource);
  52191 }
  52192 
  52193 int
  52194 bcm_loop_port_resource_set(
  52195 	int	unit,
  52196 	bcm_gport_t	port,
  52197 	bcm_port_resource_t *	resource)
  52198 {
  52199 	return bcm_port_resource_set(
  52200 			BCM_CONTROL(unit)->unit,
  52201 			port,
  52202 			resource);
  52203 }
  52204 
  52205 int
  52206 bcm_loop_port_resource_speed_config_validate(
  52207 	int	unit,
  52208 	bcm_port_resource_t *	resource,
  52209 	bcm_pbmp_t *	pbmp)
  52210 {
  52211 	return bcm_port_resource_speed_config_validate(
  52212 			BCM_CONTROL(unit)->unit,
  52213 			resource,
  52214 			pbmp);
  52215 }
  52216 
  52217 int
  52218 bcm_loop_port_resource_speed_get(
  52219 	int	unit,
  52220 	bcm_gport_t	port,
  52221 	bcm_port_resource_t *	resource)
  52222 {
  52223 	return bcm_port_resource_speed_get(
  52224 			BCM_CONTROL(unit)->unit,
  52225 			port,
  52226 			resource);
  52227 }
  52228 
  52229 int
  52230 bcm_loop_port_resource_speed_multi_set(
  52231 	int	unit,
  52232 	int	nport,
  52233 	bcm_port_resource_t *	resource)
  52234 {
  52235 	return bcm_port_resource_speed_multi_set(
  52236 			BCM_CONTROL(unit)->unit,
  52237 			nport,
  52238 			resource);
  52239 }
  52240 
  52241 int
  52242 bcm_loop_port_resource_speed_set(
  52243 	int	unit,
  52244 	bcm_gport_t	port,
  52245 	bcm_port_resource_t *	resource)
  52246 {
  52247 	return bcm_port_resource_speed_set(
  52248 			BCM_CONTROL(unit)->unit,
  52249 			port,
  52250 			resource);
  52251 }
  52252 
  52253 /* bcm_port_resource_t_init not dispatchable */
  52254 
  52255 int
  52256 bcm_loop_port_resource_traverse(
  52257 	int	unit,
  52258 	bcm_port_resource_traverse_cb	trav_fn,
  52259 	void *	user_data)
  52260 {
  52261 	return bcm_port_resource_traverse(
  52262 			BCM_CONTROL(unit)->unit,
  52263 			trav_fn,
  52264 			user_data);
  52265 }
  52266 
  52267 int
  52268 bcm_loop_port_rlm_config_get(
  52269 	int	unit,
  52270 	bcm_port_t	port,
  52271 	bcm_port_rlm_config_t *	rlm_config,
  52272 	int *	enable)
  52273 {
  52274 	return bcm_port_rlm_config_get(
  52275 			BCM_CONTROL(unit)->unit,
  52276 			port,
  52277 			rlm_config,
  52278 			enable);
  52279 }
  52280 
  52281 int
  52282 bcm_loop_port_rlm_config_set(
  52283 	int	unit,
  52284 	bcm_port_t	port,
  52285 	bcm_port_rlm_config_t *	rlm_config,
  52286 	int	enable)
  52287 {
  52288 	return bcm_port_rlm_config_set(
  52289 			BCM_CONTROL(unit)->unit,
  52290 			port,
  52291 			rlm_config,
  52292 			enable);
  52293 }
  52294 
  52295 /* bcm_port_rlm_config_t_init not dispatchable */
  52296 
  52297 int
  52298 bcm_loop_port_rlm_status_get(
  52299 	int	unit,
  52300 	bcm_port_t	port,
  52301 	bcm_port_rlm_status_t *	rlm_status)
  52302 {
  52303 	return bcm_port_rlm_status_get(
  52304 			BCM_CONTROL(unit)->unit,
  52305 			port,
  52306 			rlm_status);
  52307 }
  52308 
  52309 int
  52310 bcm_loop_port_sample_rate_get(
  52311 	int	unit,
  52312 	bcm_port_t	port,
  52313 	int *	ingress_rate,
  52314 	int *	egress_rate)
  52315 {
  52316 	return bcm_port_sample_rate_get(
  52317 			BCM_CONTROL(unit)->unit,
  52318 			port,
  52319 			ingress_rate,
  52320 			egress_rate);
  52321 }
  52322 
  52323 int
  52324 bcm_loop_port_sample_rate_set(
  52325 	int	unit,
  52326 	bcm_port_t	port,
  52327 	int	ingress_rate,
  52328 	int	egress_rate)
  52329 {
  52330 	return bcm_port_sample_rate_set(
  52331 			BCM_CONTROL(unit)->unit,
  52332 			port,
  52333 			ingress_rate,
  52334 			egress_rate);
  52335 }
  52336 
  52337 int
  52338 bcm_loop_port_selective_get(
  52339 	int	unit,
  52340 	bcm_port_t	port,
  52341 	bcm_port_info_t *	info)
  52342 {
  52343 	return bcm_port_selective_get(
  52344 			BCM_CONTROL(unit)->unit,
  52345 			port,
  52346 			info);
  52347 }
  52348 
  52349 int
  52350 bcm_loop_port_selective_set(
  52351 	int	unit,
  52352 	bcm_port_t	port,
  52353 	bcm_port_info_t *	info)
  52354 {
  52355 	return bcm_port_selective_set(
  52356 			BCM_CONTROL(unit)->unit,
  52357 			port,
  52358 			info);
  52359 }
  52360 
  52361 int
  52362 bcm_loop_port_speed_ability_local_get(
  52363 	int	unit,
  52364 	bcm_port_t	port,
  52365 	int	max_num_ability,
  52366 	bcm_port_speed_ability_t *	abilities_array,
  52367 	int *	actual_num_ability)
  52368 {
  52369 	return bcm_port_speed_ability_local_get(
  52370 			BCM_CONTROL(unit)->unit,
  52371 			port,
  52372 			max_num_ability,
  52373 			abilities_array,
  52374 			actual_num_ability);
  52375 }
  52376 
  52377 int
  52378 bcm_loop_port_speed_get(
  52379 	int	unit,
  52380 	bcm_port_t	port,
  52381 	int *	speed)
  52382 {
  52383 	return bcm_port_speed_get(
  52384 			BCM_CONTROL(unit)->unit,
  52385 			port,
  52386 			speed);
  52387 }
  52388 
  52389 int
  52390 bcm_loop_port_speed_max(
  52391 	int	unit,
  52392 	bcm_port_t	port,
  52393 	int *	speed)
  52394 {
  52395 	return bcm_port_speed_max(
  52396 			BCM_CONTROL(unit)->unit,
  52397 			port,
  52398 			speed);
  52399 }
  52400 
  52401 int
  52402 bcm_loop_port_speed_set(
  52403 	int	unit,
  52404 	bcm_port_t	port,
  52405 	int	speed)
  52406 {
  52407 	return bcm_port_speed_set(
  52408 			BCM_CONTROL(unit)->unit,
  52409 			port,
  52410 			speed);
  52411 }
  52412 
  52413 int
  52414 bcm_loop_port_stat_attach(
  52415 	int	unit,
  52416 	bcm_gport_t	port,
  52417 	uint32	stat_counter_id)
  52418 {
  52419 	return bcm_port_stat_attach(
  52420 			BCM_CONTROL(unit)->unit,
  52421 			port,
  52422 			stat_counter_id);
  52423 }
  52424 
  52425 int
  52426 bcm_loop_port_stat_counter_get(
  52427 	int	unit,
  52428 	bcm_gport_t	port,
  52429 	bcm_port_stat_t	stat,
  52430 	uint32	num_entries,
  52431 	uint32 *	counter_indexes,
  52432 	bcm_stat_value_t *	counter_values)
  52433 {
  52434 	return bcm_port_stat_counter_get(
  52435 			BCM_CONTROL(unit)->unit,
  52436 			port,
  52437 			stat,
  52438 			num_entries,
  52439 			counter_indexes,
  52440 			counter_values);
  52441 }
  52442 
  52443 int
  52444 bcm_loop_port_stat_counter_set(
  52445 	int	unit,
  52446 	bcm_gport_t	port,
  52447 	bcm_port_stat_t	stat,
  52448 	uint32	num_entries,
  52449 	uint32 *	counter_indexes,
  52450 	bcm_stat_value_t *	counter_values)
  52451 {
  52452 	return bcm_port_stat_counter_set(
  52453 			BCM_CONTROL(unit)->unit,
  52454 			port,
  52455 			stat,
  52456 			num_entries,
  52457 			counter_indexes,
  52458 			counter_values);
  52459 }
  52460 
  52461 int
  52462 bcm_loop_port_stat_counter_sync_get(
  52463 	int	unit,
  52464 	bcm_gport_t	port,
  52465 	bcm_port_stat_t	stat,
  52466 	uint32	num_entries,
  52467 	uint32 *	counter_indexes,
  52468 	bcm_stat_value_t *	counter_values)
  52469 {
  52470 	return bcm_port_stat_counter_sync_get(
  52471 			BCM_CONTROL(unit)->unit,
  52472 			port,
  52473 			stat,
  52474 			num_entries,
  52475 			counter_indexes,
  52476 			counter_values);
  52477 }
  52478 
  52479 int
  52480 bcm_loop_port_stat_detach(
  52481 	int	unit,
  52482 	bcm_gport_t	port)
  52483 {
  52484 	return bcm_port_stat_detach(
  52485 			BCM_CONTROL(unit)->unit,
  52486 			port);
  52487 }
  52488 
  52489 int
  52490 bcm_loop_port_stat_detach_with_id(
  52491 	int	unit,
  52492 	bcm_gport_t	port,
  52493 	uint32	stat_counter_id)
  52494 {
  52495 	return bcm_port_stat_detach_with_id(
  52496 			BCM_CONTROL(unit)->unit,
  52497 			port,
  52498 			stat_counter_id);
  52499 }
  52500 
  52501 int
  52502 bcm_loop_port_stat_enable_set(
  52503 	int	unit,
  52504 	bcm_gport_t	port,
  52505 	int	enable)
  52506 {
  52507 	return bcm_port_stat_enable_set(
  52508 			BCM_CONTROL(unit)->unit,
  52509 			port,
  52510 			enable);
  52511 }
  52512 
  52513 int
  52514 bcm_loop_port_stat_get(
  52515 	int	unit,
  52516 	bcm_gport_t	port,
  52517 	bcm_port_stat_t	stat,
  52518 	uint64 *	val)
  52519 {
  52520 	return bcm_port_stat_get(
  52521 			BCM_CONTROL(unit)->unit,
  52522 			port,
  52523 			stat,
  52524 			val);
  52525 }
  52526 
  52527 int
  52528 bcm_loop_port_stat_get32(
  52529 	int	unit,
  52530 	bcm_gport_t	port,
  52531 	bcm_port_stat_t	stat,
  52532 	uint32 *	val)
  52533 {
  52534 	return bcm_port_stat_get32(
  52535 			BCM_CONTROL(unit)->unit,
  52536 			port,
  52537 			stat,
  52538 			val);
  52539 }
  52540 
  52541 int
  52542 bcm_loop_port_stat_id_get(
  52543 	int	unit,
  52544 	bcm_gport_t	port,
  52545 	bcm_port_stat_t	stat,
  52546 	uint32 *	stat_counter_id)
  52547 {
  52548 	return bcm_port_stat_id_get(
  52549 			BCM_CONTROL(unit)->unit,
  52550 			port,
  52551 			stat,
  52552 			stat_counter_id);
  52553 }
  52554 
  52555 int
  52556 bcm_loop_port_stat_multi_get(
  52557 	int	unit,
  52558 	bcm_gport_t	port,
  52559 	int	nstat,
  52560 	bcm_port_stat_t *	stat_arr,
  52561 	uint64 *	value_arr)
  52562 {
  52563 	return bcm_port_stat_multi_get(
  52564 			BCM_CONTROL(unit)->unit,
  52565 			port,
  52566 			nstat,
  52567 			stat_arr,
  52568 			value_arr);
  52569 }
  52570 
  52571 int
  52572 bcm_loop_port_stat_multi_get32(
  52573 	int	unit,
  52574 	bcm_gport_t	port,
  52575 	int	nstat,
  52576 	bcm_port_stat_t *	stat_arr,
  52577 	uint32 *	value_arr)
  52578 {
  52579 	return bcm_port_stat_multi_get32(
  52580 			BCM_CONTROL(unit)->unit,
  52581 			port,
  52582 			nstat,
  52583 			stat_arr,
  52584 			value_arr);
  52585 }
  52586 
  52587 int
  52588 bcm_loop_port_stat_multi_set(
  52589 	int	unit,
  52590 	bcm_gport_t	port,
  52591 	int	nstat,
  52592 	bcm_port_stat_t *	stat_arr,
  52593 	uint64 *	value_arr)
  52594 {
  52595 	return bcm_port_stat_multi_set(
  52596 			BCM_CONTROL(unit)->unit,
  52597 			port,
  52598 			nstat,
  52599 			stat_arr,
  52600 			value_arr);
  52601 }
  52602 
  52603 int
  52604 bcm_loop_port_stat_multi_set32(
  52605 	int	unit,
  52606 	bcm_gport_t	port,
  52607 	int	nstat,
  52608 	bcm_port_stat_t *	stat_arr,
  52609 	uint32 *	value_arr)
  52610 {
  52611 	return bcm_port_stat_multi_set32(
  52612 			BCM_CONTROL(unit)->unit,
  52613 			port,
  52614 			nstat,
  52615 			stat_arr,
  52616 			value_arr);
  52617 }
  52618 
  52619 int
  52620 bcm_loop_port_stat_set(
  52621 	int	unit,
  52622 	bcm_gport_t	port,
  52623 	bcm_port_stat_t	stat,
  52624 	uint64	val)
  52625 {
  52626 	return bcm_port_stat_set(
  52627 			BCM_CONTROL(unit)->unit,
  52628 			port,
  52629 			stat,
  52630 			val);
  52631 }
  52632 
  52633 int
  52634 bcm_loop_port_stat_set32(
  52635 	int	unit,
  52636 	bcm_gport_t	port,
  52637 	bcm_port_stat_t	stat,
  52638 	uint32	val)
  52639 {
  52640 	return bcm_port_stat_set32(
  52641 			BCM_CONTROL(unit)->unit,
  52642 			port,
  52643 			stat,
  52644 			val);
  52645 }
  52646 
  52647 int
  52648 bcm_loop_port_stat_sync_get(
  52649 	int	unit,
  52650 	bcm_gport_t	port,
  52651 	bcm_port_stat_t	stat,
  52652 	uint64 *	val)
  52653 {
  52654 	return bcm_port_stat_sync_get(
  52655 			BCM_CONTROL(unit)->unit,
  52656 			port,
  52657 			stat,
  52658 			val);
  52659 }
  52660 
  52661 int
  52662 bcm_loop_port_stat_sync_get32(
  52663 	int	unit,
  52664 	bcm_gport_t	port,
  52665 	bcm_port_stat_t	stat,
  52666 	uint32 *	val)
  52667 {
  52668 	return bcm_port_stat_sync_get32(
  52669 			BCM_CONTROL(unit)->unit,
  52670 			port,
  52671 			stat,
  52672 			val);
  52673 }
  52674 
  52675 int
  52676 bcm_loop_port_stp_get(
  52677 	int	unit,
  52678 	bcm_port_t	port,
  52679 	int *	state)
  52680 {
  52681 	return bcm_port_stp_get(
  52682 			BCM_CONTROL(unit)->unit,
  52683 			port,
  52684 			state);
  52685 }
  52686 
  52687 int
  52688 bcm_loop_port_stp_set(
  52689 	int	unit,
  52690 	bcm_port_t	port,
  52691 	int	state)
  52692 {
  52693 	return bcm_port_stp_set(
  52694 			BCM_CONTROL(unit)->unit,
  52695 			port,
  52696 			state);
  52697 }
  52698 
  52699 int
  52700 bcm_loop_port_subsidiary_ports_get(
  52701 	int	unit,
  52702 	bcm_port_t	port,
  52703 	bcm_pbmp_t *	pbmp)
  52704 {
  52705 	return bcm_port_subsidiary_ports_get(
  52706 			BCM_CONTROL(unit)->unit,
  52707 			port,
  52708 			pbmp);
  52709 }
  52710 
  52711 int
  52712 bcm_loop_port_tgid_get(
  52713 	int	unit,
  52714 	bcm_port_t	port,
  52715 	int *	tgid,
  52716 	int *	psc)
  52717 {
  52718 	return bcm_port_tgid_get(
  52719 			BCM_CONTROL(unit)->unit,
  52720 			port,
  52721 			tgid,
  52722 			psc);
  52723 }
  52724 
  52725 int
  52726 bcm_loop_port_tgid_set(
  52727 	int	unit,
  52728 	bcm_port_t	port,
  52729 	int	tgid,
  52730 	int	psc)
  52731 {
  52732 	return bcm_port_tgid_set(
  52733 			BCM_CONTROL(unit)->unit,
  52734 			port,
  52735 			tgid,
  52736 			psc);
  52737 }
  52738 
  52739 int
  52740 bcm_loop_port_timestamp_adjust_get(
  52741 	int	unit,
  52742 	bcm_port_t	port,
  52743 	bcm_port_timestamp_adjust_t *	ts_adjust)
  52744 {
  52745 	return bcm_port_timestamp_adjust_get(
  52746 			BCM_CONTROL(unit)->unit,
  52747 			port,
  52748 			ts_adjust);
  52749 }
  52750 
  52751 int
  52752 bcm_loop_port_timestamp_adjust_set(
  52753 	int	unit,
  52754 	bcm_port_t	port,
  52755 	bcm_port_timestamp_adjust_t *	ts_adjust)
  52756 {
  52757 	return bcm_port_timestamp_adjust_set(
  52758 			BCM_CONTROL(unit)->unit,
  52759 			port,
  52760 			ts_adjust);
  52761 }
  52762 
  52763 int
  52764 bcm_loop_port_timesync_config_get(
  52765 	int	unit,
  52766 	bcm_port_t	port,
  52767 	int	array_size,
  52768 	bcm_port_timesync_config_t *	config_array,
  52769 	int *	array_count)
  52770 {
  52771 	return bcm_port_timesync_config_get(
  52772 			BCM_CONTROL(unit)->unit,
  52773 			port,
  52774 			array_size,
  52775 			config_array,
  52776 			array_count);
  52777 }
  52778 
  52779 int
  52780 bcm_loop_port_timesync_config_set(
  52781 	int	unit,
  52782 	bcm_port_t	port,
  52783 	int	config_count,
  52784 	bcm_port_timesync_config_t *	config_array)
  52785 {
  52786 	return bcm_port_timesync_config_set(
  52787 			BCM_CONTROL(unit)->unit,
  52788 			port,
  52789 			config_count,
  52790 			config_array);
  52791 }
  52792 
  52793 /* bcm_port_timesync_config_t_init not dispatchable */
  52794 
  52795 int
  52796 bcm_loop_port_timesync_tx_info_get(
  52797 	int	unit,
  52798 	bcm_port_t	port,
  52799 	bcm_port_timesync_tx_info_t *	tx_info)
  52800 {
  52801 	return bcm_port_timesync_tx_info_get(
  52802 			BCM_CONTROL(unit)->unit,
  52803 			port,
  52804 			tx_info);
  52805 }
  52806 
  52807 int
  52808 bcm_loop_port_tpid_add(
  52809 	int	unit,
  52810 	bcm_port_t	port,
  52811 	uint16	tpid,
  52812 	int	color_select)
  52813 {
  52814 	return bcm_port_tpid_add(
  52815 			BCM_CONTROL(unit)->unit,
  52816 			port,
  52817 			tpid,
  52818 			color_select);
  52819 }
  52820 
  52821 int
  52822 bcm_loop_port_tpid_class_create(
  52823 	int	unit,
  52824 	uint32	flags,
  52825 	bcm_port_tag_struct_type_t	tag_struct_type,
  52826 	bcm_port_tag_format_class_t *	tag_format_class_id)
  52827 {
  52828 	return bcm_port_tpid_class_create(
  52829 			BCM_CONTROL(unit)->unit,
  52830 			flags,
  52831 			tag_struct_type,
  52832 			tag_format_class_id);
  52833 }
  52834 
  52835 int
  52836 bcm_loop_port_tpid_class_destroy(
  52837 	int	unit,
  52838 	uint32	flags,
  52839 	bcm_port_tag_format_class_t	tag_format_class_id)
  52840 {
  52841 	return bcm_port_tpid_class_destroy(
  52842 			BCM_CONTROL(unit)->unit,
  52843 			flags,
  52844 			tag_format_class_id);
  52845 }
  52846 
  52847 int
  52848 bcm_loop_port_tpid_class_get(
  52849 	int	unit,
  52850 	bcm_port_tpid_class_t *	tpid_class)
  52851 {
  52852 	return bcm_port_tpid_class_get(
  52853 			BCM_CONTROL(unit)->unit,
  52854 			tpid_class);
  52855 }
  52856 
  52857 int
  52858 bcm_loop_port_tpid_class_set(
  52859 	int	unit,
  52860 	bcm_port_tpid_class_t *	tpid_class)
  52861 {
  52862 	return bcm_port_tpid_class_set(
  52863 			BCM_CONTROL(unit)->unit,
  52864 			tpid_class);
  52865 }
  52866 
  52867 /* bcm_port_tpid_class_t_init not dispatchable */
  52868 
  52869 int
  52870 bcm_loop_port_tpid_delete(
  52871 	int	unit,
  52872 	bcm_port_t	port,
  52873 	uint16	tpid)
  52874 {
  52875 	return bcm_port_tpid_delete(
  52876 			BCM_CONTROL(unit)->unit,
  52877 			port,
  52878 			tpid);
  52879 }
  52880 
  52881 int
  52882 bcm_loop_port_tpid_delete_all(
  52883 	int	unit,
  52884 	bcm_port_t	port)
  52885 {
  52886 	return bcm_port_tpid_delete_all(
  52887 			BCM_CONTROL(unit)->unit,
  52888 			port);
  52889 }
  52890 
  52891 int
  52892 bcm_loop_port_tpid_get(
  52893 	int	unit,
  52894 	bcm_port_t	port,
  52895 	uint16 *	tpid)
  52896 {
  52897 	return bcm_port_tpid_get(
  52898 			BCM_CONTROL(unit)->unit,
  52899 			port,
  52900 			tpid);
  52901 }
  52902 
  52903 int
  52904 bcm_loop_port_tpid_get_all(
  52905 	int	unit,
  52906 	bcm_port_t	port,
  52907 	int	size,
  52908 	uint16 *	tpid_array,
  52909 	int *	color_array,
  52910 	int *	count)
  52911 {
  52912 	return bcm_port_tpid_get_all(
  52913 			BCM_CONTROL(unit)->unit,
  52914 			port,
  52915 			size,
  52916 			tpid_array,
  52917 			color_array,
  52918 			count);
  52919 }
  52920 
  52921 int
  52922 bcm_loop_port_tpid_set(
  52923 	int	unit,
  52924 	bcm_port_t	port,
  52925 	uint16	tpid)
  52926 {
  52927 	return bcm_port_tpid_set(
  52928 			BCM_CONTROL(unit)->unit,
  52929 			port,
  52930 			tpid);
  52931 }
  52932 
  52933 int
  52934 bcm_loop_port_trunk_index_get(
  52935 	int	unit,
  52936 	bcm_port_t	port,
  52937 	int *	port_index)
  52938 {
  52939 	return bcm_port_trunk_index_get(
  52940 			BCM_CONTROL(unit)->unit,
  52941 			port,
  52942 			port_index);
  52943 }
  52944 
  52945 int
  52946 bcm_loop_port_trunk_index_set(
  52947 	int	unit,
  52948 	bcm_port_t	port,
  52949 	int	port_index)
  52950 {
  52951 	return bcm_port_trunk_index_set(
  52952 			BCM_CONTROL(unit)->unit,
  52953 			port,
  52954 			port_index);
  52955 }
  52956 
  52957 int
  52958 bcm_loop_port_untagged_priority_get(
  52959 	int	unit,
  52960 	bcm_port_t	port,
  52961 	int *	priority)
  52962 {
  52963 	return bcm_port_untagged_priority_get(
  52964 			BCM_CONTROL(unit)->unit,
  52965 			port,
  52966 			priority);
  52967 }
  52968 
  52969 int
  52970 bcm_loop_port_untagged_priority_set(
  52971 	int	unit,
  52972 	bcm_port_t	port,
  52973 	int	priority)
  52974 {
  52975 	return bcm_port_untagged_priority_set(
  52976 			BCM_CONTROL(unit)->unit,
  52977 			port,
  52978 			priority);
  52979 }
  52980 
  52981 int
  52982 bcm_loop_port_untagged_vlan_get(
  52983 	int	unit,
  52984 	bcm_port_t	port,
  52985 	bcm_vlan_t *	vid_ptr)
  52986 {
  52987 	return bcm_port_untagged_vlan_get(
  52988 			BCM_CONTROL(unit)->unit,
  52989 			port,
  52990 			vid_ptr);
  52991 }
  52992 
  52993 int
  52994 bcm_loop_port_untagged_vlan_set(
  52995 	int	unit,
  52996 	bcm_port_t	port,
  52997 	bcm_vlan_t	vid)
  52998 {
  52999 	return bcm_port_untagged_vlan_set(
  53000 			BCM_CONTROL(unit)->unit,
  53001 			port,
  53002 			vid);
  53003 }
  53004 
  53005 int
  53006 bcm_loop_port_update(
  53007 	int	unit,
  53008 	bcm_port_t	port,
  53009 	int	link)
  53010 {
  53011 	return bcm_port_update(
  53012 			BCM_CONTROL(unit)->unit,
  53013 			port,
  53014 			link);
  53015 }
  53016 
  53017 int
  53018 bcm_loop_port_vlan_dscp_map_get(
  53019 	int	unit,
  53020 	bcm_port_t	port,
  53021 	bcm_vlan_t	vlan,
  53022 	int	dscp,
  53023 	int *	internal_pri,
  53024 	bcm_color_t *	color)
  53025 {
  53026 	return bcm_port_vlan_dscp_map_get(
  53027 			BCM_CONTROL(unit)->unit,
  53028 			port,
  53029 			vlan,
  53030 			dscp,
  53031 			internal_pri,
  53032 			color);
  53033 }
  53034 
  53035 int
  53036 bcm_loop_port_vlan_dscp_map_set(
  53037 	int	unit,
  53038 	bcm_port_t	port,
  53039 	bcm_vlan_t	vlan,
  53040 	int	dscp,
  53041 	int	internal_pri,
  53042 	bcm_color_t	color)
  53043 {
  53044 	return bcm_port_vlan_dscp_map_set(
  53045 			BCM_CONTROL(unit)->unit,
  53046 			port,
  53047 			vlan,
  53048 			dscp,
  53049 			internal_pri,
  53050 			color);
  53051 }
  53052 
  53053 int
  53054 bcm_loop_port_vlan_inner_tag_get(
  53055 	int	unit,
  53056 	bcm_port_t	port,
  53057 	uint16 *	inner_tag)
  53058 {
  53059 	return bcm_port_vlan_inner_tag_get(
  53060 			BCM_CONTROL(unit)->unit,
  53061 			port,
  53062 			inner_tag);
  53063 }
  53064 
  53065 int
  53066 bcm_loop_port_vlan_inner_tag_set(
  53067 	int	unit,
  53068 	bcm_port_t	port,
  53069 	uint16	inner_tag)
  53070 {
  53071 	return bcm_port_vlan_inner_tag_set(
  53072 			BCM_CONTROL(unit)->unit,
  53073 			port,
  53074 			inner_tag);
  53075 }
  53076 
  53077 int
  53078 bcm_loop_port_vlan_member_get(
  53079 	int	unit,
  53080 	bcm_port_t	port,
  53081 	uint32 *	flags)
  53082 {
  53083 	return bcm_port_vlan_member_get(
  53084 			BCM_CONTROL(unit)->unit,
  53085 			port,
  53086 			flags);
  53087 }
  53088 
  53089 int
  53090 bcm_loop_port_vlan_member_set(
  53091 	int	unit,
  53092 	bcm_port_t	port,
  53093 	uint32	flags)
  53094 {
  53095 	return bcm_port_vlan_member_set(
  53096 			BCM_CONTROL(unit)->unit,
  53097 			port,
  53098 			flags);
  53099 }
  53100 
  53101 int
  53102 bcm_loop_port_vlan_pri_map_get(
  53103 	int	unit,
  53104 	bcm_port_t	port,
  53105 	bcm_vlan_t	vlan,
  53106 	int	pkt_pri,
  53107 	int	cfi,
  53108 	int *	internal_pri,
  53109 	bcm_color_t *	color)
  53110 {
  53111 	return bcm_port_vlan_pri_map_get(
  53112 			BCM_CONTROL(unit)->unit,
  53113 			port,
  53114 			vlan,
  53115 			pkt_pri,
  53116 			cfi,
  53117 			internal_pri,
  53118 			color);
  53119 }
  53120 
  53121 int
  53122 bcm_loop_port_vlan_pri_map_set(
  53123 	int	unit,
  53124 	bcm_port_t	port,
  53125 	bcm_vlan_t	vlan,
  53126 	int	pkt_pri,
  53127 	int	cfi,
  53128 	int	internal_pri,
  53129 	bcm_color_t	color)
  53130 {
  53131 	return bcm_port_vlan_pri_map_set(
  53132 			BCM_CONTROL(unit)->unit,
  53133 			port,
  53134 			vlan,
  53135 			pkt_pri,
  53136 			cfi,
  53137 			internal_pri,
  53138 			color);
  53139 }
  53140 
  53141 int
  53142 bcm_loop_port_vlan_priority_map_get(
  53143 	int	unit,
  53144 	bcm_port_t	port,
  53145 	int	pkt_pri,
  53146 	int	cfi,
  53147 	int *	internal_pri,
  53148 	bcm_color_t *	color)
  53149 {
  53150 	return bcm_port_vlan_priority_map_get(
  53151 			BCM_CONTROL(unit)->unit,
  53152 			port,
  53153 			pkt_pri,
  53154 			cfi,
  53155 			internal_pri,
  53156 			color);
  53157 }
  53158 
  53159 int
  53160 bcm_loop_port_vlan_priority_map_set(
  53161 	int	unit,
  53162 	bcm_port_t	port,
  53163 	int	pkt_pri,
  53164 	int	cfi,
  53165 	int	internal_pri,
  53166 	bcm_color_t	color)
  53167 {
  53168 	return bcm_port_vlan_priority_map_set(
  53169 			BCM_CONTROL(unit)->unit,
  53170 			port,
  53171 			pkt_pri,
  53172 			cfi,
  53173 			internal_pri,
  53174 			color);
  53175 }
  53176 
  53177 int
  53178 bcm_loop_port_vlan_priority_mapping_get(
  53179 	int	unit,
  53180 	bcm_port_t	port,
  53181 	bcm_vlan_t	vid,
  53182 	int	pkt_pri,
  53183 	int	cfi,
  53184 	bcm_priority_mapping_t *	pri_map)
  53185 {
  53186 	return bcm_port_vlan_priority_mapping_get(
  53187 			BCM_CONTROL(unit)->unit,
  53188 			port,
  53189 			vid,
  53190 			pkt_pri,
  53191 			cfi,
  53192 			pri_map);
  53193 }
  53194 
  53195 int
  53196 bcm_loop_port_vlan_priority_mapping_set(
  53197 	int	unit,
  53198 	bcm_port_t	port,
  53199 	bcm_vlan_t	vid,
  53200 	int	pkt_pri,
  53201 	int	cfi,
  53202 	bcm_priority_mapping_t *	pri_map)
  53203 {
  53204 	return bcm_port_vlan_priority_mapping_set(
  53205 			BCM_CONTROL(unit)->unit,
  53206 			port,
  53207 			vid,
  53208 			pkt_pri,
  53209 			cfi,
  53210 			pri_map);
  53211 }
  53212 
  53213 int
  53214 bcm_loop_port_vlan_priority_unmap_get(
  53215 	int	unit,
  53216 	bcm_port_t	port,
  53217 	int	internal_pri,
  53218 	bcm_color_t	color,
  53219 	int *	pkt_pri,
  53220 	int *	cfi)
  53221 {
  53222 	return bcm_port_vlan_priority_unmap_get(
  53223 			BCM_CONTROL(unit)->unit,
  53224 			port,
  53225 			internal_pri,
  53226 			color,
  53227 			pkt_pri,
  53228 			cfi);
  53229 }
  53230 
  53231 int
  53232 bcm_loop_port_vlan_priority_unmap_set(
  53233 	int	unit,
  53234 	bcm_port_t	port,
  53235 	int	internal_pri,
  53236 	bcm_color_t	color,
  53237 	int	pkt_pri,
  53238 	int	cfi)
  53239 {
  53240 	return bcm_port_vlan_priority_unmap_set(
  53241 			BCM_CONTROL(unit)->unit,
  53242 			port,
  53243 			internal_pri,
  53244 			color,
  53245 			pkt_pri,
  53246 			cfi);
  53247 }
  53248 
  53249 int
  53250 bcm_loop_port_vlan_vector_get(
  53251 	int	unit,
  53252 	bcm_gport_t	port_id,
  53253 	bcm_vlan_vector_t	vlan_vec)
  53254 {
  53255 	return bcm_port_vlan_vector_get(
  53256 			BCM_CONTROL(unit)->unit,
  53257 			port_id,
  53258 			vlan_vec);
  53259 }
  53260 
  53261 int
  53262 bcm_loop_port_vlan_vector_set(
  53263 	int	unit,
  53264 	bcm_gport_t	port_id,
  53265 	bcm_vlan_vector_t	vlan_vec)
  53266 {
  53267 	return bcm_port_vlan_vector_set(
  53268 			BCM_CONTROL(unit)->unit,
  53269 			port_id,
  53270 			vlan_vec);
  53271 }
  53272 
  53273 int
  53274 bcm_loop_port_wide_data_get(
  53275 	int	unit,
  53276 	bcm_gport_t	gport,
  53277 	uint32	flags,
  53278 	uint64 *	data)
  53279 {
  53280 	return bcm_port_wide_data_get(
  53281 			BCM_CONTROL(unit)->unit,
  53282 			gport,
  53283 			flags,
  53284 			data);
  53285 }
  53286 
  53287 int
  53288 bcm_loop_port_wide_data_set(
  53289 	int	unit,
  53290 	bcm_gport_t	gport,
  53291 	uint32	flags,
  53292 	uint64	data)
  53293 {
  53294 	return bcm_port_wide_data_set(
  53295 			BCM_CONTROL(unit)->unit,
  53296 			gport,
  53297 			flags,
  53298 			data);
  53299 }
  53300 
  53301 /* bcm_priority_mapping_t_init not dispatchable */
  53302 
  53303 #ifdef	INCLUDE_L3
  53304 
  53305 int
  53306 bcm_loop_proxy_cleanup(
  53307 	int	unit)
  53308 {
  53309 	return bcm_proxy_cleanup(
  53310 			BCM_CONTROL(unit)->unit);
  53311 }
  53312 
  53313 int
  53314 bcm_loop_proxy_client_set(
  53315 	int	unit,
  53316 	bcm_port_t	client_port,
  53317 	bcm_proxy_proto_type_t	proto_type,
  53318 	bcm_module_t	server_modid,
  53319 	bcm_port_t	server_port,
  53320 	int	enable)
  53321 {
  53322 	return bcm_proxy_client_set(
  53323 			BCM_CONTROL(unit)->unit,
  53324 			client_port,
  53325 			proto_type,
  53326 			server_modid,
  53327 			server_port,
  53328 			enable);
  53329 }
  53330 
  53331 int
  53332 bcm_loop_proxy_egress_create(
  53333 	int	unit,
  53334 	uint32	flags,
  53335 	bcm_proxy_egress_t *	proxy_egress,
  53336 	bcm_if_t *	proxy_if_id)
  53337 {
  53338 	return bcm_proxy_egress_create(
  53339 			BCM_CONTROL(unit)->unit,
  53340 			flags,
  53341 			proxy_egress,
  53342 			proxy_if_id);
  53343 }
  53344 
  53345 int
  53346 bcm_loop_proxy_egress_destroy(
  53347 	int	unit,
  53348 	bcm_if_t	proxy_if_id)
  53349 {
  53350 	return bcm_proxy_egress_destroy(
  53351 			BCM_CONTROL(unit)->unit,
  53352 			proxy_if_id);
  53353 }
  53354 
  53355 int
  53356 bcm_loop_proxy_egress_get(
  53357 	int	unit,
  53358 	bcm_if_t	proxy_if_id,
  53359 	bcm_proxy_egress_t *	proxy_egress)
  53360 {
  53361 	return bcm_proxy_egress_get(
  53362 			BCM_CONTROL(unit)->unit,
  53363 			proxy_if_id,
  53364 			proxy_egress);
  53365 }
  53366 
  53367 /* bcm_proxy_egress_t_init not dispatchable */
  53368 
  53369 int
  53370 bcm_loop_proxy_egress_traverse(
  53371 	int	unit,
  53372 	bcm_proxy_egress_traverse_cb	trav_fn,
  53373 	void *	user_data)
  53374 {
  53375 	return bcm_proxy_egress_traverse(
  53376 			BCM_CONTROL(unit)->unit,
  53377 			trav_fn,
  53378 			user_data);
  53379 }
  53380 
  53381 int
  53382 bcm_loop_proxy_init(
  53383 	int	unit)
  53384 {
  53385 	return bcm_proxy_init(
  53386 			BCM_CONTROL(unit)->unit);
  53387 }
  53388 
  53389 int
  53390 bcm_loop_proxy_server_get(
  53391 	int	unit,
  53392 	bcm_port_t	server_port,
  53393 	bcm_proxy_mode_t	mode,
  53394 	int *	enable)
  53395 {
  53396 	return bcm_proxy_server_get(
  53397 			BCM_CONTROL(unit)->unit,
  53398 			server_port,
  53399 			mode,
  53400 			enable);
  53401 }
  53402 
  53403 int
  53404 bcm_loop_proxy_server_port_get(
  53405 	int	unit,
  53406 	bcm_gport_t	local_ingress_port,
  53407 	bcm_proxy_server_t *	proxy_server,
  53408 	int *	enable)
  53409 {
  53410 	return bcm_proxy_server_port_get(
  53411 			BCM_CONTROL(unit)->unit,
  53412 			local_ingress_port,
  53413 			proxy_server,
  53414 			enable);
  53415 }
  53416 
  53417 int
  53418 bcm_loop_proxy_server_port_set(
  53419 	int	unit,
  53420 	bcm_gport_t	local_ingress_port,
  53421 	bcm_proxy_server_t *	proxy_server,
  53422 	int	enable)
  53423 {
  53424 	return bcm_proxy_server_port_set(
  53425 			BCM_CONTROL(unit)->unit,
  53426 			local_ingress_port,
  53427 			proxy_server,
  53428 			enable);
  53429 }
  53430 
  53431 int
  53432 bcm_loop_proxy_server_set(
  53433 	int	unit,
  53434 	bcm_port_t	server_port,
  53435 	bcm_proxy_mode_t	mode,
  53436 	int	enable)
  53437 {
  53438 	return bcm_proxy_server_set(
  53439 			BCM_CONTROL(unit)->unit,
  53440 			server_port,
  53441 			mode,
  53442 			enable);
  53443 }
  53444 
  53445 /* bcm_proxy_server_t_init not dispatchable */
  53446 
  53447 #endif	/* INCLUDE_L3 */
  53448 #ifdef	INCLUDE_PSTATS
  53449 
  53450 int
  53451 bcm_loop_pstats_data_sync(
  53452 	int	unit)
  53453 {
  53454 	return bcm_pstats_data_sync(
  53455 			BCM_CONTROL(unit)->unit);
  53456 }
  53457 
  53458 /* bcm_pstats_data_t_init not dispatchable */
  53459 
  53460 int
  53461 bcm_loop_pstats_session_create(
  53462 	int	unit,
  53463 	int	options,
  53464 	int	array_count,
  53465 	bcm_pstats_session_element_t *	element_array,
  53466 	bcm_pstats_session_id_t *	session_id)
  53467 {
  53468 	return bcm_pstats_session_create(
  53469 			BCM_CONTROL(unit)->unit,
  53470 			options,
  53471 			array_count,
  53472 			element_array,
  53473 			session_id);
  53474 }
  53475 
  53476 int
  53477 bcm_loop_pstats_session_data_clear(
  53478 	int	unit,
  53479 	bcm_pstats_session_id_t	session_id)
  53480 {
  53481 	return bcm_pstats_session_data_clear(
  53482 			BCM_CONTROL(unit)->unit,
  53483 			session_id);
  53484 }
  53485 
  53486 int
  53487 bcm_loop_pstats_session_data_get(
  53488 	int	unit,
  53489 	bcm_pstats_session_id_t	session_id,
  53490 	bcm_pstats_timestamp_t *	timestamp,
  53491 	int	array_max,
  53492 	bcm_pstats_data_t *	data_array,
  53493 	int *	array_count)
  53494 {
  53495 	return bcm_pstats_session_data_get(
  53496 			BCM_CONTROL(unit)->unit,
  53497 			session_id,
  53498 			timestamp,
  53499 			array_max,
  53500 			data_array,
  53501 			array_count);
  53502 }
  53503 
  53504 int
  53505 bcm_loop_pstats_session_data_sync_get(
  53506 	int	unit,
  53507 	bcm_pstats_session_id_t	session_id,
  53508 	bcm_pstats_timestamp_t *	timestamp,
  53509 	int	array_max,
  53510 	bcm_pstats_data_t *	data_array,
  53511 	int *	array_count)
  53512 {
  53513 	return bcm_pstats_session_data_sync_get(
  53514 			BCM_CONTROL(unit)->unit,
  53515 			session_id,
  53516 			timestamp,
  53517 			array_max,
  53518 			data_array,
  53519 			array_count);
  53520 }
  53521 
  53522 int
  53523 bcm_loop_pstats_session_destroy(
  53524 	int	unit,
  53525 	bcm_pstats_session_id_t	session_id)
  53526 {
  53527 	return bcm_pstats_session_destroy(
  53528 			BCM_CONTROL(unit)->unit,
  53529 			session_id);
  53530 }
  53531 
  53532 /* bcm_pstats_session_element_t_init not dispatchable */
  53533 
  53534 int
  53535 bcm_loop_pstats_session_get(
  53536 	int	unit,
  53537 	bcm_pstats_session_id_t	session_id,
  53538 	int	array_max,
  53539 	bcm_pstats_session_element_t *	element_array,
  53540 	int *	array_count)
  53541 {
  53542 	return bcm_pstats_session_get(
  53543 			BCM_CONTROL(unit)->unit,
  53544 			session_id,
  53545 			array_max,
  53546 			element_array,
  53547 			array_count);
  53548 }
  53549 
  53550 int
  53551 bcm_loop_pstats_session_traverse(
  53552 	int	unit,
  53553 	bcm_pstats_session_traverse_cb	cb,
  53554 	void *	user_data)
  53555 {
  53556 	return bcm_pstats_session_traverse(
  53557 			BCM_CONTROL(unit)->unit,
  53558 			cb,
  53559 			user_data);
  53560 }
  53561 
  53562 /* bcm_pstats_timestamp_t_init not dispatchable */
  53563 
  53564 #endif	/* INCLUDE_PSTATS */
  53565 #ifdef	INCLUDE_PTP
  53566 
  53567 int
  53568 bcm_loop_ptp_acceptable_master_add(
  53569 	int	unit,
  53570 	bcm_ptp_stack_id_t	ptp_id,
  53571 	int	clock_num,
  53572 	int	port_num,
  53573 	int	priority1_alt_value,
  53574 	bcm_ptp_clock_peer_address_t *	master_info)
  53575 {
  53576 	return bcm_ptp_acceptable_master_add(
  53577 			BCM_CONTROL(unit)->unit,
  53578 			ptp_id,
  53579 			clock_num,
  53580 			port_num,
  53581 			priority1_alt_value,
  53582 			master_info);
  53583 }
  53584 
  53585 int
  53586 bcm_loop_ptp_acceptable_master_enabled_get(
  53587 	int	unit,
  53588 	bcm_ptp_stack_id_t	ptp_id,
  53589 	int	clock_num,
  53590 	int	port_num,
  53591 	uint8 *	enabled)
  53592 {
  53593 	return bcm_ptp_acceptable_master_enabled_get(
  53594 			BCM_CONTROL(unit)->unit,
  53595 			ptp_id,
  53596 			clock_num,
  53597 			port_num,
  53598 			enabled);
  53599 }
  53600 
  53601 int
  53602 bcm_loop_ptp_acceptable_master_enabled_set(
  53603 	int	unit,
  53604 	bcm_ptp_stack_id_t	ptp_id,
  53605 	int	clock_num,
  53606 	int	port_num,
  53607 	uint8	enabled)
  53608 {
  53609 	return bcm_ptp_acceptable_master_enabled_set(
  53610 			BCM_CONTROL(unit)->unit,
  53611 			ptp_id,
  53612 			clock_num,
  53613 			port_num,
  53614 			enabled);
  53615 }
  53616 
  53617 int
  53618 bcm_loop_ptp_acceptable_master_list(
  53619 	int	unit,
  53620 	bcm_ptp_stack_id_t	ptp_id,
  53621 	int	clock_num,
  53622 	int	port_num,
  53623 	int	max_num_masters,
  53624 	int *	num_masters,
  53625 	bcm_ptp_clock_peer_address_t *	master_addr)
  53626 {
  53627 	return bcm_ptp_acceptable_master_list(
  53628 			BCM_CONTROL(unit)->unit,
  53629 			ptp_id,
  53630 			clock_num,
  53631 			port_num,
  53632 			max_num_masters,
  53633 			num_masters,
  53634 			master_addr);
  53635 }
  53636 
  53637 int
  53638 bcm_loop_ptp_acceptable_master_remove(
  53639 	int	unit,
  53640 	bcm_ptp_stack_id_t	ptp_id,
  53641 	int	clock_num,
  53642 	int	port_num,
  53643 	bcm_ptp_clock_peer_address_t *	master_info)
  53644 {
  53645 	return bcm_ptp_acceptable_master_remove(
  53646 			BCM_CONTROL(unit)->unit,
  53647 			ptp_id,
  53648 			clock_num,
  53649 			port_num,
  53650 			master_info);
  53651 }
  53652 
  53653 int
  53654 bcm_loop_ptp_acceptable_master_table_clear(
  53655 	int	unit,
  53656 	bcm_ptp_stack_id_t	ptp_id,
  53657 	int	clock_num,
  53658 	int	port_num)
  53659 {
  53660 	return bcm_ptp_acceptable_master_table_clear(
  53661 			BCM_CONTROL(unit)->unit,
  53662 			ptp_id,
  53663 			clock_num,
  53664 			port_num);
  53665 }
  53666 
  53667 int
  53668 bcm_loop_ptp_acceptable_master_table_size_get(
  53669 	int	unit,
  53670 	bcm_ptp_stack_id_t	ptp_id,
  53671 	int	clock_num,
  53672 	int	port_num,
  53673 	int *	max_table_entries)
  53674 {
  53675 	return bcm_ptp_acceptable_master_table_size_get(
  53676 			BCM_CONTROL(unit)->unit,
  53677 			ptp_id,
  53678 			clock_num,
  53679 			port_num,
  53680 			max_table_entries);
  53681 }
  53682 
  53683 int
  53684 bcm_loop_ptp_bs_time_info_get(
  53685 	int	unit,
  53686 	bcm_ptp_stack_id_t	ptp_id,
  53687 	int	clock_num,
  53688 	bcm_ptp_bs_time_info_t *	time)
  53689 {
  53690 	return bcm_ptp_bs_time_info_get(
  53691 			BCM_CONTROL(unit)->unit,
  53692 			ptp_id,
  53693 			clock_num,
  53694 			time);
  53695 }
  53696 
  53697 int
  53698 bcm_loop_ptp_cb_register(
  53699 	int	unit,
  53700 	bcm_ptp_cb_types_t	cb_types,
  53701 	bcm_ptp_cb	cb,
  53702 	void *	user_data)
  53703 {
  53704 	return bcm_ptp_cb_register(
  53705 			BCM_CONTROL(unit)->unit,
  53706 			cb_types,
  53707 			cb,
  53708 			user_data);
  53709 }
  53710 
  53711 int
  53712 bcm_loop_ptp_cb_unregister(
  53713 	int	unit,
  53714 	bcm_ptp_cb_types_t	cb_types,
  53715 	bcm_ptp_cb	cb)
  53716 {
  53717 	return bcm_ptp_cb_unregister(
  53718 			BCM_CONTROL(unit)->unit,
  53719 			cb_types,
  53720 			cb);
  53721 }
  53722 
  53723 int
  53724 bcm_loop_ptp_clock_accuracy_get(
  53725 	int	unit,
  53726 	bcm_ptp_stack_id_t	ptp_id,
  53727 	int	clock_num,
  53728 	bcm_ptp_clock_accuracy_t *	accuracy)
  53729 {
  53730 	return bcm_ptp_clock_accuracy_get(
  53731 			BCM_CONTROL(unit)->unit,
  53732 			ptp_id,
  53733 			clock_num,
  53734 			accuracy);
  53735 }
  53736 
  53737 int
  53738 bcm_loop_ptp_clock_accuracy_set(
  53739 	int	unit,
  53740 	bcm_ptp_stack_id_t	ptp_id,
  53741 	int	clock_num,
  53742 	bcm_ptp_clock_accuracy_t *	accuracy)
  53743 {
  53744 	return bcm_ptp_clock_accuracy_set(
  53745 			BCM_CONTROL(unit)->unit,
  53746 			ptp_id,
  53747 			clock_num,
  53748 			accuracy);
  53749 }
  53750 
  53751 int
  53752 bcm_loop_ptp_clock_apts_enable_get(
  53753 	int	unit,
  53754 	bcm_ptp_stack_id_t	ptp_id,
  53755 	int	clock_num,
  53756 	int *	enable)
  53757 {
  53758 	return bcm_ptp_clock_apts_enable_get(
  53759 			BCM_CONTROL(unit)->unit,
  53760 			ptp_id,
  53761 			clock_num,
  53762 			enable);
  53763 }
  53764 
  53765 int
  53766 bcm_loop_ptp_clock_apts_enable_set(
  53767 	int	unit,
  53768 	bcm_ptp_stack_id_t	ptp_id,
  53769 	int	clock_num,
  53770 	int	enable)
  53771 {
  53772 	return bcm_ptp_clock_apts_enable_set(
  53773 			BCM_CONTROL(unit)->unit,
  53774 			ptp_id,
  53775 			clock_num,
  53776 			enable);
  53777 }
  53778 
  53779 int
  53780 bcm_loop_ptp_clock_apts_mode_get(
  53781 	int	unit,
  53782 	bcm_ptp_stack_id_t	ptp_id,
  53783 	int	clock_num,
  53784 	bcm_ptp_clock_apts_mode_t *	current_mode)
  53785 {
  53786 	return bcm_ptp_clock_apts_mode_get(
  53787 			BCM_CONTROL(unit)->unit,
  53788 			ptp_id,
  53789 			clock_num,
  53790 			current_mode);
  53791 }
  53792 
  53793 int
  53794 bcm_loop_ptp_clock_apts_source_enable_get(
  53795 	int	unit,
  53796 	bcm_ptp_stack_id_t	ptp_id,
  53797 	int	clock_num,
  53798 	bcm_ptp_clock_apts_source_t	source,
  53799 	int *	enable)
  53800 {
  53801 	return bcm_ptp_clock_apts_source_enable_get(
  53802 			BCM_CONTROL(unit)->unit,
  53803 			ptp_id,
  53804 			clock_num,
  53805 			source,
  53806 			enable);
  53807 }
  53808 
  53809 int
  53810 bcm_loop_ptp_clock_apts_source_enable_set(
  53811 	int	unit,
  53812 	bcm_ptp_stack_id_t	ptp_id,
  53813 	int	clock_num,
  53814 	bcm_ptp_clock_apts_source_t	source,
  53815 	int	enable)
  53816 {
  53817 	return bcm_ptp_clock_apts_source_enable_set(
  53818 			BCM_CONTROL(unit)->unit,
  53819 			ptp_id,
  53820 			clock_num,
  53821 			source,
  53822 			enable);
  53823 }
  53824 
  53825 int
  53826 bcm_loop_ptp_clock_apts_source_prio_get(
  53827 	int	unit,
  53828 	bcm_ptp_stack_id_t	ptp_id,
  53829 	int	clock_num,
  53830 	int *	num_sources,
  53831 	bcm_ptp_clock_apts_source_t *	priority_list)
  53832 {
  53833 	return bcm_ptp_clock_apts_source_prio_get(
  53834 			BCM_CONTROL(unit)->unit,
  53835 			ptp_id,
  53836 			clock_num,
  53837 			num_sources,
  53838 			priority_list);
  53839 }
  53840 
  53841 int
  53842 bcm_loop_ptp_clock_apts_source_prio_set(
  53843 	int	unit,
  53844 	bcm_ptp_stack_id_t	ptp_id,
  53845 	int	clock_num,
  53846 	int	num_sources,
  53847 	bcm_ptp_clock_apts_source_t *	priority_list)
  53848 {
  53849 	return bcm_ptp_clock_apts_source_prio_set(
  53850 			BCM_CONTROL(unit)->unit,
  53851 			ptp_id,
  53852 			clock_num,
  53853 			num_sources,
  53854 			priority_list);
  53855 }
  53856 
  53857 int
  53858 bcm_loop_ptp_clock_bmca_override_get(
  53859 	int	unit,
  53860 	bcm_ptp_stack_id_t	ptp_id,
  53861 	int	clock_num,
  53862 	uint32 *	flags,
  53863 	uint32 *	enable_mask)
  53864 {
  53865 	return bcm_ptp_clock_bmca_override_get(
  53866 			BCM_CONTROL(unit)->unit,
  53867 			ptp_id,
  53868 			clock_num,
  53869 			flags,
  53870 			enable_mask);
  53871 }
  53872 
  53873 int
  53874 bcm_loop_ptp_clock_bmca_override_set(
  53875 	int	unit,
  53876 	bcm_ptp_stack_id_t	ptp_id,
  53877 	int	clock_num,
  53878 	uint32	flags,
  53879 	uint32	enable_mask)
  53880 {
  53881 	return bcm_ptp_clock_bmca_override_set(
  53882 			BCM_CONTROL(unit)->unit,
  53883 			ptp_id,
  53884 			clock_num,
  53885 			flags,
  53886 			enable_mask);
  53887 }
  53888 
  53889 int
  53890 bcm_loop_ptp_clock_create(
  53891 	int	unit,
  53892 	bcm_ptp_stack_id_t	ptp_id,
  53893 	bcm_ptp_clock_info_t *	clock_info)
  53894 {
  53895 	return bcm_ptp_clock_create(
  53896 			BCM_CONTROL(unit)->unit,
  53897 			ptp_id,
  53898 			clock_info);
  53899 }
  53900 
  53901 int
  53902 bcm_loop_ptp_clock_current_dataset_get(
  53903 	int	unit,
  53904 	bcm_ptp_stack_id_t	ptp_id,
  53905 	int	clock_num,
  53906 	bcm_ptp_current_dataset_t *	dataset)
  53907 {
  53908 	return bcm_ptp_clock_current_dataset_get(
  53909 			BCM_CONTROL(unit)->unit,
  53910 			ptp_id,
  53911 			clock_num,
  53912 			dataset);
  53913 }
  53914 
  53915 int
  53916 bcm_loop_ptp_clock_default_dataset_get(
  53917 	int	unit,
  53918 	bcm_ptp_stack_id_t	ptp_id,
  53919 	int	clock_num,
  53920 	bcm_ptp_default_dataset_t *	dataset)
  53921 {
  53922 	return bcm_ptp_clock_default_dataset_get(
  53923 			BCM_CONTROL(unit)->unit,
  53924 			ptp_id,
  53925 			clock_num,
  53926 			dataset);
  53927 }
  53928 
  53929 int
  53930 bcm_loop_ptp_clock_domain_get(
  53931 	int	unit,
  53932 	bcm_ptp_stack_id_t	ptp_id,
  53933 	int	clock_num,
  53934 	uint32 *	domain)
  53935 {
  53936 	return bcm_ptp_clock_domain_get(
  53937 			BCM_CONTROL(unit)->unit,
  53938 			ptp_id,
  53939 			clock_num,
  53940 			domain);
  53941 }
  53942 
  53943 int
  53944 bcm_loop_ptp_clock_domain_set(
  53945 	int	unit,
  53946 	bcm_ptp_stack_id_t	ptp_id,
  53947 	int	clock_num,
  53948 	uint32	domain)
  53949 {
  53950 	return bcm_ptp_clock_domain_set(
  53951 			BCM_CONTROL(unit)->unit,
  53952 			ptp_id,
  53953 			clock_num,
  53954 			domain);
  53955 }
  53956 
  53957 int
  53958 bcm_loop_ptp_clock_get(
  53959 	int	unit,
  53960 	bcm_ptp_stack_id_t	ptp_id,
  53961 	int	clock_num,
  53962 	bcm_ptp_clock_info_t *	clock_info)
  53963 {
  53964 	return bcm_ptp_clock_get(
  53965 			BCM_CONTROL(unit)->unit,
  53966 			ptp_id,
  53967 			clock_num,
  53968 			clock_info);
  53969 }
  53970 
  53971 int
  53972 bcm_loop_ptp_clock_local_priority_get(
  53973 	int	unit,
  53974 	bcm_ptp_stack_id_t	ptp_id,
  53975 	int	clock_num,
  53976 	uint8 *	local_priority)
  53977 {
  53978 	return bcm_ptp_clock_local_priority_get(
  53979 			BCM_CONTROL(unit)->unit,
  53980 			ptp_id,
  53981 			clock_num,
  53982 			local_priority);
  53983 }
  53984 
  53985 int
  53986 bcm_loop_ptp_clock_local_priority_set(
  53987 	int	unit,
  53988 	bcm_ptp_stack_id_t	ptp_id,
  53989 	int	clock_num,
  53990 	uint8	local_priority)
  53991 {
  53992 	return bcm_ptp_clock_local_priority_set(
  53993 			BCM_CONTROL(unit)->unit,
  53994 			ptp_id,
  53995 			clock_num,
  53996 			local_priority);
  53997 }
  53998 
  53999 int
  54000 bcm_loop_ptp_clock_max_steps_removed_get(
  54001 	int	unit,
  54002 	bcm_ptp_stack_id_t	ptp_id,
  54003 	int	clock_num,
  54004 	uint8 *	max_steps_removed)
  54005 {
  54006 	return bcm_ptp_clock_max_steps_removed_get(
  54007 			BCM_CONTROL(unit)->unit,
  54008 			ptp_id,
  54009 			clock_num,
  54010 			max_steps_removed);
  54011 }
  54012 
  54013 int
  54014 bcm_loop_ptp_clock_max_steps_removed_set(
  54015 	int	unit,
  54016 	bcm_ptp_stack_id_t	ptp_id,
  54017 	int	clock_num,
  54018 	uint8	max_steps_removed)
  54019 {
  54020 	return bcm_ptp_clock_max_steps_removed_set(
  54021 			BCM_CONTROL(unit)->unit,
  54022 			ptp_id,
  54023 			clock_num,
  54024 			max_steps_removed);
  54025 }
  54026 
  54027 int
  54028 bcm_loop_ptp_clock_parent_dataset_get(
  54029 	int	unit,
  54030 	bcm_ptp_stack_id_t	ptp_id,
  54031 	int	clock_num,
  54032 	bcm_ptp_parent_dataset_t *	dataset)
  54033 {
  54034 	return bcm_ptp_clock_parent_dataset_get(
  54035 			BCM_CONTROL(unit)->unit,
  54036 			ptp_id,
  54037 			clock_num,
  54038 			dataset);
  54039 }
  54040 
  54041 int
  54042 bcm_loop_ptp_clock_peer_age_timer_get(
  54043 	int	unit,
  54044 	bcm_ptp_stack_id_t	ptp_id,
  54045 	int	clock_num,
  54046 	uint8 *	aging_time)
  54047 {
  54048 	return bcm_ptp_clock_peer_age_timer_get(
  54049 			BCM_CONTROL(unit)->unit,
  54050 			ptp_id,
  54051 			clock_num,
  54052 			aging_time);
  54053 }
  54054 
  54055 int
  54056 bcm_loop_ptp_clock_peer_age_timer_set(
  54057 	int	unit,
  54058 	bcm_ptp_stack_id_t	ptp_id,
  54059 	int	clock_num,
  54060 	uint8	aging_time)
  54061 {
  54062 	return bcm_ptp_clock_peer_age_timer_set(
  54063 			BCM_CONTROL(unit)->unit,
  54064 			ptp_id,
  54065 			clock_num,
  54066 			aging_time);
  54067 }
  54068 
  54069 int
  54070 bcm_loop_ptp_clock_port_announce_receipt_timeout_get(
  54071 	int	unit,
  54072 	bcm_ptp_stack_id_t	ptp_id,
  54073 	int	clock_num,
  54074 	uint32	clock_port,
  54075 	uint32 *	timeout)
  54076 {
  54077 	return bcm_ptp_clock_port_announce_receipt_timeout_get(
  54078 			BCM_CONTROL(unit)->unit,
  54079 			ptp_id,
  54080 			clock_num,
  54081 			clock_port,
  54082 			timeout);
  54083 }
  54084 
  54085 int
  54086 bcm_loop_ptp_clock_port_announce_receipt_timeout_set(
  54087 	int	unit,
  54088 	bcm_ptp_stack_id_t	ptp_id,
  54089 	int	clock_num,
  54090 	uint32	clock_port,
  54091 	uint32	timeout)
  54092 {
  54093 	return bcm_ptp_clock_port_announce_receipt_timeout_set(
  54094 			BCM_CONTROL(unit)->unit,
  54095 			ptp_id,
  54096 			clock_num,
  54097 			clock_port,
  54098 			timeout);
  54099 }
  54100 
  54101 int
  54102 bcm_loop_ptp_clock_port_configure(
  54103 	int	unit,
  54104 	bcm_ptp_stack_id_t	ptp_id,
  54105 	int	clock_num,
  54106 	uint32	clock_port,
  54107 	bcm_ptp_clock_port_info_t *	info)
  54108 {
  54109 	return bcm_ptp_clock_port_configure(
  54110 			BCM_CONTROL(unit)->unit,
  54111 			ptp_id,
  54112 			clock_num,
  54113 			clock_port,
  54114 			info);
  54115 }
  54116 
  54117 int
  54118 bcm_loop_ptp_clock_port_dataset_get(
  54119 	int	unit,
  54120 	bcm_ptp_stack_id_t	ptp_id,
  54121 	int	clock_num,
  54122 	uint32	clock_port,
  54123 	bcm_ptp_port_dataset_t *	dataset)
  54124 {
  54125 	return bcm_ptp_clock_port_dataset_get(
  54126 			BCM_CONTROL(unit)->unit,
  54127 			ptp_id,
  54128 			clock_num,
  54129 			clock_port,
  54130 			dataset);
  54131 }
  54132 
  54133 int
  54134 bcm_loop_ptp_clock_port_delay_mechanism_get(
  54135 	int	unit,
  54136 	bcm_ptp_stack_id_t	ptp_id,
  54137 	int	clock_num,
  54138 	uint32	clock_port,
  54139 	uint32 *	delay_mechanism)
  54140 {
  54141 	return bcm_ptp_clock_port_delay_mechanism_get(
  54142 			BCM_CONTROL(unit)->unit,
  54143 			ptp_id,
  54144 			clock_num,
  54145 			clock_port,
  54146 			delay_mechanism);
  54147 }
  54148 
  54149 int
  54150 bcm_loop_ptp_clock_port_delay_mechanism_set(
  54151 	int	unit,
  54152 	bcm_ptp_stack_id_t	ptp_id,
  54153 	int	clock_num,
  54154 	uint32	clock_port,
  54155 	uint32	delay_mechanism)
  54156 {
  54157 	return bcm_ptp_clock_port_delay_mechanism_set(
  54158 			BCM_CONTROL(unit)->unit,
  54159 			ptp_id,
  54160 			clock_num,
  54161 			clock_port,
  54162 			delay_mechanism);
  54163 }
  54164 
  54165 int
  54166 bcm_loop_ptp_clock_port_disable(
  54167 	int	unit,
  54168 	bcm_ptp_stack_id_t	ptp_id,
  54169 	int	clock_num,
  54170 	uint32	clock_port)
  54171 {
  54172 	return bcm_ptp_clock_port_disable(
  54173 			BCM_CONTROL(unit)->unit,
  54174 			ptp_id,
  54175 			clock_num,
  54176 			clock_port);
  54177 }
  54178 
  54179 int
  54180 bcm_loop_ptp_clock_port_drop_counters_enable_set(
  54181 	int	unit,
  54182 	bcm_ptp_stack_id_t	ptp_id,
  54183 	int	clock_num,
  54184 	uint32	clock_port,
  54185 	int	enable)
  54186 {
  54187 	return bcm_ptp_clock_port_drop_counters_enable_set(
  54188 			BCM_CONTROL(unit)->unit,
  54189 			ptp_id,
  54190 			clock_num,
  54191 			clock_port,
  54192 			enable);
  54193 }
  54194 
  54195 int
  54196 bcm_loop_ptp_clock_port_drop_counters_get(
  54197 	int	unit,
  54198 	bcm_ptp_stack_id_t	ptp_id,
  54199 	int	clock_num,
  54200 	uint32	clock_port,
  54201 	bcm_ptp_clock_port_packet_drop_counters_t *	per_port_packet_drop_counters)
  54202 {
  54203 	return bcm_ptp_clock_port_drop_counters_get(
  54204 			BCM_CONTROL(unit)->unit,
  54205 			ptp_id,
  54206 			clock_num,
  54207 			clock_port,
  54208 			per_port_packet_drop_counters);
  54209 }
  54210 
  54211 int
  54212 bcm_loop_ptp_clock_port_enable(
  54213 	int	unit,
  54214 	bcm_ptp_stack_id_t	ptp_id,
  54215 	int	clock_num,
  54216 	uint32	clock_port)
  54217 {
  54218 	return bcm_ptp_clock_port_enable(
  54219 			BCM_CONTROL(unit)->unit,
  54220 			ptp_id,
  54221 			clock_num,
  54222 			clock_port);
  54223 }
  54224 
  54225 int
  54226 bcm_loop_ptp_clock_port_identity_get(
  54227 	int	unit,
  54228 	bcm_ptp_stack_id_t	ptp_id,
  54229 	int	clock_num,
  54230 	uint32	clock_port,
  54231 	bcm_ptp_port_identity_t *	identity)
  54232 {
  54233 	return bcm_ptp_clock_port_identity_get(
  54234 			BCM_CONTROL(unit)->unit,
  54235 			ptp_id,
  54236 			clock_num,
  54237 			clock_port,
  54238 			identity);
  54239 }
  54240 
  54241 int
  54242 bcm_loop_ptp_clock_port_info_get(
  54243 	int	unit,
  54244 	bcm_ptp_stack_id_t	ptp_id,
  54245 	int	clock_num,
  54246 	uint32	clock_port,
  54247 	bcm_ptp_clock_port_info_t *	info)
  54248 {
  54249 	return bcm_ptp_clock_port_info_get(
  54250 			BCM_CONTROL(unit)->unit,
  54251 			ptp_id,
  54252 			clock_num,
  54253 			clock_port,
  54254 			info);
  54255 }
  54256 
  54257 int
  54258 bcm_loop_ptp_clock_port_latency_set(
  54259 	int	unit,
  54260 	bcm_ptp_stack_id_t	ptp_id,
  54261 	int	clock_num,
  54262 	uint32	clock_port,
  54263 	uint32	latency_in,
  54264 	uint32	latency_out)
  54265 {
  54266 	return bcm_ptp_clock_port_latency_set(
  54267 			BCM_CONTROL(unit)->unit,
  54268 			ptp_id,
  54269 			clock_num,
  54270 			clock_port,
  54271 			latency_in,
  54272 			latency_out);
  54273 }
  54274 
  54275 int
  54276 bcm_loop_ptp_clock_port_log_announce_interval_get(
  54277 	int	unit,
  54278 	bcm_ptp_stack_id_t	ptp_id,
  54279 	int	clock_num,
  54280 	uint32	clock_port,
  54281 	int *	interval)
  54282 {
  54283 	return bcm_ptp_clock_port_log_announce_interval_get(
  54284 			BCM_CONTROL(unit)->unit,
  54285 			ptp_id,
  54286 			clock_num,
  54287 			clock_port,
  54288 			interval);
  54289 }
  54290 
  54291 int
  54292 bcm_loop_ptp_clock_port_log_announce_interval_set(
  54293 	int	unit,
  54294 	bcm_ptp_stack_id_t	ptp_id,
  54295 	int	clock_num,
  54296 	uint32	clock_port,
  54297 	int	interval)
  54298 {
  54299 	return bcm_ptp_clock_port_log_announce_interval_set(
  54300 			BCM_CONTROL(unit)->unit,
  54301 			ptp_id,
  54302 			clock_num,
  54303 			clock_port,
  54304 			interval);
  54305 }
  54306 
  54307 int
  54308 bcm_loop_ptp_clock_port_log_min_delay_req_interval_get(
  54309 	int	unit,
  54310 	bcm_ptp_stack_id_t	ptp_id,
  54311 	int	clock_num,
  54312 	uint32	clock_port,
  54313 	int *	interval)
  54314 {
  54315 	return bcm_ptp_clock_port_log_min_delay_req_interval_get(
  54316 			BCM_CONTROL(unit)->unit,
  54317 			ptp_id,
  54318 			clock_num,
  54319 			clock_port,
  54320 			interval);
  54321 }
  54322 
  54323 int
  54324 bcm_loop_ptp_clock_port_log_min_delay_req_interval_set(
  54325 	int	unit,
  54326 	bcm_ptp_stack_id_t	ptp_id,
  54327 	int	clock_num,
  54328 	uint32	clock_port,
  54329 	int	interval)
  54330 {
  54331 	return bcm_ptp_clock_port_log_min_delay_req_interval_set(
  54332 			BCM_CONTROL(unit)->unit,
  54333 			ptp_id,
  54334 			clock_num,
  54335 			clock_port,
  54336 			interval);
  54337 }
  54338 
  54339 int
  54340 bcm_loop_ptp_clock_port_log_min_pdelay_req_interval_get(
  54341 	int	unit,
  54342 	bcm_ptp_stack_id_t	ptp_id,
  54343 	int	clock_num,
  54344 	uint32	clock_port,
  54345 	int *	interval)
  54346 {
  54347 	return bcm_ptp_clock_port_log_min_pdelay_req_interval_get(
  54348 			BCM_CONTROL(unit)->unit,
  54349 			ptp_id,
  54350 			clock_num,
  54351 			clock_port,
  54352 			interval);
  54353 }
  54354 
  54355 int
  54356 bcm_loop_ptp_clock_port_log_min_pdelay_req_interval_set(
  54357 	int	unit,
  54358 	bcm_ptp_stack_id_t	ptp_id,
  54359 	int	clock_num,
  54360 	uint32	clock_port,
  54361 	int	interval)
  54362 {
  54363 	return bcm_ptp_clock_port_log_min_pdelay_req_interval_set(
  54364 			BCM_CONTROL(unit)->unit,
  54365 			ptp_id,
  54366 			clock_num,
  54367 			clock_port,
  54368 			interval);
  54369 }
  54370 
  54371 int
  54372 bcm_loop_ptp_clock_port_log_sync_interval_get(
  54373 	int	unit,
  54374 	bcm_ptp_stack_id_t	ptp_id,
  54375 	int	clock_num,
  54376 	uint32	clock_port,
  54377 	int *	interval)
  54378 {
  54379 	return bcm_ptp_clock_port_log_sync_interval_get(
  54380 			BCM_CONTROL(unit)->unit,
  54381 			ptp_id,
  54382 			clock_num,
  54383 			clock_port,
  54384 			interval);
  54385 }
  54386 
  54387 int
  54388 bcm_loop_ptp_clock_port_log_sync_interval_set(
  54389 	int	unit,
  54390 	bcm_ptp_stack_id_t	ptp_id,
  54391 	int	clock_num,
  54392 	uint32	clock_port,
  54393 	int	interval)
  54394 {
  54395 	return bcm_ptp_clock_port_log_sync_interval_set(
  54396 			BCM_CONTROL(unit)->unit,
  54397 			ptp_id,
  54398 			clock_num,
  54399 			clock_port,
  54400 			interval);
  54401 }
  54402 
  54403 int
  54404 bcm_loop_ptp_clock_port_mac_get(
  54405 	int	unit,
  54406 	bcm_ptp_stack_id_t	ptp_id,
  54407 	int	clock_num,
  54408 	uint32	clock_port,
  54409 	bcm_mac_t *	mac)
  54410 {
  54411 	return bcm_ptp_clock_port_mac_get(
  54412 			BCM_CONTROL(unit)->unit,
  54413 			ptp_id,
  54414 			clock_num,
  54415 			clock_port,
  54416 			mac);
  54417 }
  54418 
  54419 int
  54420 bcm_loop_ptp_clock_port_protocol_get(
  54421 	int	unit,
  54422 	bcm_ptp_stack_id_t	ptp_id,
  54423 	int	clock_num,
  54424 	uint32	clock_port,
  54425 	bcm_ptp_protocol_t *	protocol)
  54426 {
  54427 	return bcm_ptp_clock_port_protocol_get(
  54428 			BCM_CONTROL(unit)->unit,
  54429 			ptp_id,
  54430 			clock_num,
  54431 			clock_port,
  54432 			protocol);
  54433 }
  54434 
  54435 int
  54436 bcm_loop_ptp_clock_port_type_get(
  54437 	int	unit,
  54438 	bcm_ptp_stack_id_t	ptp_id,
  54439 	int	clock_num,
  54440 	uint32	clock_port,
  54441 	bcm_ptp_port_type_t *	type)
  54442 {
  54443 	return bcm_ptp_clock_port_type_get(
  54444 			BCM_CONTROL(unit)->unit,
  54445 			ptp_id,
  54446 			clock_num,
  54447 			clock_port,
  54448 			type);
  54449 }
  54450 
  54451 int
  54452 bcm_loop_ptp_clock_port_version_number_get(
  54453 	int	unit,
  54454 	bcm_ptp_stack_id_t	ptp_id,
  54455 	int	clock_num,
  54456 	uint32	clock_port,
  54457 	uint32 *	version)
  54458 {
  54459 	return bcm_ptp_clock_port_version_number_get(
  54460 			BCM_CONTROL(unit)->unit,
  54461 			ptp_id,
  54462 			clock_num,
  54463 			clock_port,
  54464 			version);
  54465 }
  54466 
  54467 int
  54468 bcm_loop_ptp_clock_priority1_get(
  54469 	int	unit,
  54470 	bcm_ptp_stack_id_t	ptp_id,
  54471 	int	clock_num,
  54472 	uint32 *	priority1)
  54473 {
  54474 	return bcm_ptp_clock_priority1_get(
  54475 			BCM_CONTROL(unit)->unit,
  54476 			ptp_id,
  54477 			clock_num,
  54478 			priority1);
  54479 }
  54480 
  54481 int
  54482 bcm_loop_ptp_clock_priority1_set(
  54483 	int	unit,
  54484 	bcm_ptp_stack_id_t	ptp_id,
  54485 	int	clock_num,
  54486 	uint32	priority1)
  54487 {
  54488 	return bcm_ptp_clock_priority1_set(
  54489 			BCM_CONTROL(unit)->unit,
  54490 			ptp_id,
  54491 			clock_num,
  54492 			priority1);
  54493 }
  54494 
  54495 int
  54496 bcm_loop_ptp_clock_priority2_get(
  54497 	int	unit,
  54498 	bcm_ptp_stack_id_t	ptp_id,
  54499 	int	clock_num,
  54500 	uint32 *	priority2)
  54501 {
  54502 	return bcm_ptp_clock_priority2_get(
  54503 			BCM_CONTROL(unit)->unit,
  54504 			ptp_id,
  54505 			clock_num,
  54506 			priority2);
  54507 }
  54508 
  54509 int
  54510 bcm_loop_ptp_clock_priority2_set(
  54511 	int	unit,
  54512 	bcm_ptp_stack_id_t	ptp_id,
  54513 	int	clock_num,
  54514 	uint32	priority2)
  54515 {
  54516 	return bcm_ptp_clock_priority2_set(
  54517 			BCM_CONTROL(unit)->unit,
  54518 			ptp_id,
  54519 			clock_num,
  54520 			priority2);
  54521 }
  54522 
  54523 int
  54524 bcm_loop_ptp_clock_quality_get(
  54525 	int	unit,
  54526 	bcm_ptp_stack_id_t	ptp_id,
  54527 	int	clock_num,
  54528 	bcm_ptp_clock_quality_t *	clock_quality,
  54529 	uint32	flags)
  54530 {
  54531 	return bcm_ptp_clock_quality_get(
  54532 			BCM_CONTROL(unit)->unit,
  54533 			ptp_id,
  54534 			clock_num,
  54535 			clock_quality,
  54536 			flags);
  54537 }
  54538 
  54539 int
  54540 bcm_loop_ptp_clock_quality_set(
  54541 	int	unit,
  54542 	bcm_ptp_stack_id_t	ptp_id,
  54543 	int	clock_num,
  54544 	bcm_ptp_clock_quality_t	clock_quality,
  54545 	uint32	flags)
  54546 {
  54547 	return bcm_ptp_clock_quality_set(
  54548 			BCM_CONTROL(unit)->unit,
  54549 			ptp_id,
  54550 			clock_num,
  54551 			clock_quality,
  54552 			flags);
  54553 }
  54554 
  54555 int
  54556 bcm_loop_ptp_clock_slaveonly_get(
  54557 	int	unit,
  54558 	bcm_ptp_stack_id_t	ptp_id,
  54559 	int	clock_num,
  54560 	uint32 *	slaveonly)
  54561 {
  54562 	return bcm_ptp_clock_slaveonly_get(
  54563 			BCM_CONTROL(unit)->unit,
  54564 			ptp_id,
  54565 			clock_num,
  54566 			slaveonly);
  54567 }
  54568 
  54569 int
  54570 bcm_loop_ptp_clock_slaveonly_set(
  54571 	int	unit,
  54572 	bcm_ptp_stack_id_t	ptp_id,
  54573 	int	clock_num,
  54574 	uint32	slaveonly)
  54575 {
  54576 	return bcm_ptp_clock_slaveonly_set(
  54577 			BCM_CONTROL(unit)->unit,
  54578 			ptp_id,
  54579 			clock_num,
  54580 			slaveonly);
  54581 }
  54582 
  54583 int
  54584 bcm_loop_ptp_clock_time_get(
  54585 	int	unit,
  54586 	bcm_ptp_stack_id_t	ptp_id,
  54587 	int	clock_num,
  54588 	bcm_ptp_timestamp_t *	time)
  54589 {
  54590 	return bcm_ptp_clock_time_get(
  54591 			BCM_CONTROL(unit)->unit,
  54592 			ptp_id,
  54593 			clock_num,
  54594 			time);
  54595 }
  54596 
  54597 int
  54598 bcm_loop_ptp_clock_time_properties_get(
  54599 	int	unit,
  54600 	bcm_ptp_stack_id_t	ptp_id,
  54601 	int	clock_num,
  54602 	bcm_ptp_time_properties_t *	data)
  54603 {
  54604 	return bcm_ptp_clock_time_properties_get(
  54605 			BCM_CONTROL(unit)->unit,
  54606 			ptp_id,
  54607 			clock_num,
  54608 			data);
  54609 }
  54610 
  54611 int
  54612 bcm_loop_ptp_clock_time_set(
  54613 	int	unit,
  54614 	bcm_ptp_stack_id_t	ptp_id,
  54615 	int	clock_num,
  54616 	bcm_ptp_timestamp_t *	time)
  54617 {
  54618 	return bcm_ptp_clock_time_set(
  54619 			BCM_CONTROL(unit)->unit,
  54620 			ptp_id,
  54621 			clock_num,
  54622 			time);
  54623 }
  54624 
  54625 int
  54626 bcm_loop_ptp_clock_timescale_get(
  54627 	int	unit,
  54628 	bcm_ptp_stack_id_t	ptp_id,
  54629 	int	clock_num,
  54630 	bcm_ptp_timescale_t *	timescale)
  54631 {
  54632 	return bcm_ptp_clock_timescale_get(
  54633 			BCM_CONTROL(unit)->unit,
  54634 			ptp_id,
  54635 			clock_num,
  54636 			timescale);
  54637 }
  54638 
  54639 int
  54640 bcm_loop_ptp_clock_timescale_set(
  54641 	int	unit,
  54642 	bcm_ptp_stack_id_t	ptp_id,
  54643 	int	clock_num,
  54644 	bcm_ptp_timescale_t *	timescale)
  54645 {
  54646 	return bcm_ptp_clock_timescale_set(
  54647 			BCM_CONTROL(unit)->unit,
  54648 			ptp_id,
  54649 			clock_num,
  54650 			timescale);
  54651 }
  54652 
  54653 int
  54654 bcm_loop_ptp_clock_traceability_get(
  54655 	int	unit,
  54656 	bcm_ptp_stack_id_t	ptp_id,
  54657 	int	clock_num,
  54658 	bcm_ptp_trace_t *	trace)
  54659 {
  54660 	return bcm_ptp_clock_traceability_get(
  54661 			BCM_CONTROL(unit)->unit,
  54662 			ptp_id,
  54663 			clock_num,
  54664 			trace);
  54665 }
  54666 
  54667 int
  54668 bcm_loop_ptp_clock_traceability_set(
  54669 	int	unit,
  54670 	bcm_ptp_stack_id_t	ptp_id,
  54671 	int	clock_num,
  54672 	bcm_ptp_trace_t *	trace)
  54673 {
  54674 	return bcm_ptp_clock_traceability_set(
  54675 			BCM_CONTROL(unit)->unit,
  54676 			ptp_id,
  54677 			clock_num,
  54678 			trace);
  54679 }
  54680 
  54681 int
  54682 bcm_loop_ptp_clock_user_description_set(
  54683 	int	unit,
  54684 	bcm_ptp_stack_id_t	ptp_id,
  54685 	int	clock_num,
  54686 	uint8 *	desc)
  54687 {
  54688 	return bcm_ptp_clock_user_description_set(
  54689 			BCM_CONTROL(unit)->unit,
  54690 			ptp_id,
  54691 			clock_num,
  54692 			desc);
  54693 }
  54694 
  54695 int
  54696 bcm_loop_ptp_clock_utc_get(
  54697 	int	unit,
  54698 	bcm_ptp_stack_id_t	ptp_id,
  54699 	int	clock_num,
  54700 	bcm_ptp_utc_t *	utc)
  54701 {
  54702 	return bcm_ptp_clock_utc_get(
  54703 			BCM_CONTROL(unit)->unit,
  54704 			ptp_id,
  54705 			clock_num,
  54706 			utc);
  54707 }
  54708 
  54709 int
  54710 bcm_loop_ptp_clock_utc_set(
  54711 	int	unit,
  54712 	bcm_ptp_stack_id_t	ptp_id,
  54713 	int	clock_num,
  54714 	bcm_ptp_utc_t *	utc)
  54715 {
  54716 	return bcm_ptp_clock_utc_set(
  54717 			BCM_CONTROL(unit)->unit,
  54718 			ptp_id,
  54719 			clock_num,
  54720 			utc);
  54721 }
  54722 
  54723 int
  54724 bcm_loop_ptp_ctdev_alarm_callback_register(
  54725 	int	unit,
  54726 	bcm_ptp_stack_id_t	ptp_id,
  54727 	int	clock_num,
  54728 	bcm_ptp_ctdev_alarm_cb	alarm_cb)
  54729 {
  54730 	return bcm_ptp_ctdev_alarm_callback_register(
  54731 			BCM_CONTROL(unit)->unit,
  54732 			ptp_id,
  54733 			clock_num,
  54734 			alarm_cb);
  54735 }
  54736 
  54737 int
  54738 bcm_loop_ptp_ctdev_alarm_callback_unregister(
  54739 	int	unit,
  54740 	bcm_ptp_stack_id_t	ptp_id,
  54741 	int	clock_num)
  54742 {
  54743 	return bcm_ptp_ctdev_alarm_callback_unregister(
  54744 			BCM_CONTROL(unit)->unit,
  54745 			ptp_id,
  54746 			clock_num);
  54747 }
  54748 
  54749 int
  54750 bcm_loop_ptp_ctdev_alpha_get(
  54751 	int	unit,
  54752 	bcm_ptp_stack_id_t	ptp_id,
  54753 	int	clock_num,
  54754 	uint16 *	alpha_numerator,
  54755 	uint16 *	alpha_denominator)
  54756 {
  54757 	return bcm_ptp_ctdev_alpha_get(
  54758 			BCM_CONTROL(unit)->unit,
  54759 			ptp_id,
  54760 			clock_num,
  54761 			alpha_numerator,
  54762 			alpha_denominator);
  54763 }
  54764 
  54765 int
  54766 bcm_loop_ptp_ctdev_alpha_set(
  54767 	int	unit,
  54768 	bcm_ptp_stack_id_t	ptp_id,
  54769 	int	clock_num,
  54770 	uint16	alpha_numerator,
  54771 	uint16	alpha_denominator)
  54772 {
  54773 	return bcm_ptp_ctdev_alpha_set(
  54774 			BCM_CONTROL(unit)->unit,
  54775 			ptp_id,
  54776 			clock_num,
  54777 			alpha_numerator,
  54778 			alpha_denominator);
  54779 }
  54780 
  54781 int
  54782 bcm_loop_ptp_ctdev_enable_get(
  54783 	int	unit,
  54784 	bcm_ptp_stack_id_t	ptp_id,
  54785 	int	clock_num,
  54786 	int *	enable,
  54787 	uint32 *	flags)
  54788 {
  54789 	return bcm_ptp_ctdev_enable_get(
  54790 			BCM_CONTROL(unit)->unit,
  54791 			ptp_id,
  54792 			clock_num,
  54793 			enable,
  54794 			flags);
  54795 }
  54796 
  54797 int
  54798 bcm_loop_ptp_ctdev_enable_set(
  54799 	int	unit,
  54800 	bcm_ptp_stack_id_t	ptp_id,
  54801 	int	clock_num,
  54802 	int	enable,
  54803 	uint32	flags)
  54804 {
  54805 	return bcm_ptp_ctdev_enable_set(
  54806 			BCM_CONTROL(unit)->unit,
  54807 			ptp_id,
  54808 			clock_num,
  54809 			enable,
  54810 			flags);
  54811 }
  54812 
  54813 int
  54814 bcm_loop_ptp_ctdev_verbose_get(
  54815 	int	unit,
  54816 	bcm_ptp_stack_id_t	ptp_id,
  54817 	int	clock_num,
  54818 	int *	verbose)
  54819 {
  54820 	return bcm_ptp_ctdev_verbose_get(
  54821 			BCM_CONTROL(unit)->unit,
  54822 			ptp_id,
  54823 			clock_num,
  54824 			verbose);
  54825 }
  54826 
  54827 int
  54828 bcm_loop_ptp_ctdev_verbose_set(
  54829 	int	unit,
  54830 	bcm_ptp_stack_id_t	ptp_id,
  54831 	int	clock_num,
  54832 	int	verbose)
  54833 {
  54834 	return bcm_ptp_ctdev_verbose_set(
  54835 			BCM_CONTROL(unit)->unit,
  54836 			ptp_id,
  54837 			clock_num,
  54838 			verbose);
  54839 }
  54840 
  54841 int
  54842 bcm_loop_ptp_detach(
  54843 	int	unit)
  54844 {
  54845 	return bcm_ptp_detach(
  54846 			BCM_CONTROL(unit)->unit);
  54847 }
  54848 
  54849 int
  54850 bcm_loop_ptp_external_phy_synchronize(
  54851 	int	unit,
  54852 	bcm_ptp_stack_id_t	ptp_id,
  54853 	int	clock_num,
  54854 	bcm_ptp_external_phy_config_t	extphy_config)
  54855 {
  54856 	return bcm_ptp_external_phy_synchronize(
  54857 			BCM_CONTROL(unit)->unit,
  54858 			ptp_id,
  54859 			clock_num,
  54860 			extphy_config);
  54861 }
  54862 
  54863 int
  54864 bcm_loop_ptp_foreign_master_dataset_get(
  54865 	int	unit,
  54866 	bcm_ptp_stack_id_t	ptp_id,
  54867 	int	clock_num,
  54868 	int	port_num,
  54869 	bcm_ptp_foreign_master_dataset_t *	data_set)
  54870 {
  54871 	return bcm_ptp_foreign_master_dataset_get(
  54872 			BCM_CONTROL(unit)->unit,
  54873 			ptp_id,
  54874 			clock_num,
  54875 			port_num,
  54876 			data_set);
  54877 }
  54878 
  54879 int
  54880 bcm_loop_ptp_g8275p1_traceability_info_clock_class_map(
  54881 	int	unit,
  54882 	bcm_ptp_stack_id_t	ptp_id,
  54883 	int	clock_num,
  54884 	bcm_ptp_g8275p1_clock_traceability_info_t	traceability_info,
  54885 	uint8 *	clock_class)
  54886 {
  54887 	return bcm_ptp_g8275p1_traceability_info_clock_class_map(
  54888 			BCM_CONTROL(unit)->unit,
  54889 			ptp_id,
  54890 			clock_num,
  54891 			traceability_info,
  54892 			clock_class);
  54893 }
  54894 
  54895 int
  54896 bcm_loop_ptp_init(
  54897 	int	unit)
  54898 {
  54899 	return bcm_ptp_init(
  54900 			BCM_CONTROL(unit)->unit);
  54901 }
  54902 
  54903 int
  54904 bcm_loop_ptp_input_channel_precedence_mode_set(
  54905 	int	unit,
  54906 	bcm_ptp_stack_id_t	ptp_id,
  54907 	int	clock_num,
  54908 	int	channel_select_mode)
  54909 {
  54910 	return bcm_ptp_input_channel_precedence_mode_set(
  54911 			BCM_CONTROL(unit)->unit,
  54912 			ptp_id,
  54913 			clock_num,
  54914 			channel_select_mode);
  54915 }
  54916 
  54917 int
  54918 bcm_loop_ptp_input_channel_switching_mode_set(
  54919 	int	unit,
  54920 	bcm_ptp_stack_id_t	ptp_id,
  54921 	int	clock_num,
  54922 	int	channel_switching_mode)
  54923 {
  54924 	return bcm_ptp_input_channel_switching_mode_set(
  54925 			BCM_CONTROL(unit)->unit,
  54926 			ptp_id,
  54927 			clock_num,
  54928 			channel_switching_mode);
  54929 }
  54930 
  54931 int
  54932 bcm_loop_ptp_input_channels_get(
  54933 	int	unit,
  54934 	bcm_ptp_stack_id_t	ptp_id,
  54935 	int	clock_num,
  54936 	int *	num_channels,
  54937 	bcm_ptp_channel_t *	channels)
  54938 {
  54939 	return bcm_ptp_input_channels_get(
  54940 			BCM_CONTROL(unit)->unit,
  54941 			ptp_id,
  54942 			clock_num,
  54943 			num_channels,
  54944 			channels);
  54945 }
  54946 
  54947 int
  54948 bcm_loop_ptp_input_channels_set(
  54949 	int	unit,
  54950 	bcm_ptp_stack_id_t	ptp_id,
  54951 	int	clock_num,
  54952 	int	num_channels,
  54953 	bcm_ptp_channel_t *	channels)
  54954 {
  54955 	return bcm_ptp_input_channels_set(
  54956 			BCM_CONTROL(unit)->unit,
  54957 			ptp_id,
  54958 			clock_num,
  54959 			num_channels,
  54960 			channels);
  54961 }
  54962 
  54963 int
  54964 bcm_loop_ptp_modular_enable_get(
  54965 	int	unit,
  54966 	bcm_ptp_stack_id_t	ptp_id,
  54967 	int	clock_num,
  54968 	int *	enable,
  54969 	uint32 *	flags)
  54970 {
  54971 	return bcm_ptp_modular_enable_get(
  54972 			BCM_CONTROL(unit)->unit,
  54973 			ptp_id,
  54974 			clock_num,
  54975 			enable,
  54976 			flags);
  54977 }
  54978 
  54979 int
  54980 bcm_loop_ptp_modular_enable_set(
  54981 	int	unit,
  54982 	bcm_ptp_stack_id_t	ptp_id,
  54983 	int	clock_num,
  54984 	int	enable,
  54985 	uint32	flags)
  54986 {
  54987 	return bcm_ptp_modular_enable_set(
  54988 			BCM_CONTROL(unit)->unit,
  54989 			ptp_id,
  54990 			clock_num,
  54991 			enable,
  54992 			flags);
  54993 }
  54994 
  54995 int
  54996 bcm_loop_ptp_modular_phyts_get(
  54997 	int	unit,
  54998 	bcm_ptp_stack_id_t	ptp_id,
  54999 	int	clock_num,
  55000 	int *	phyts,
  55001 	int *	framesync_pin)
  55002 {
  55003 	return bcm_ptp_modular_phyts_get(
  55004 			BCM_CONTROL(unit)->unit,
  55005 			ptp_id,
  55006 			clock_num,
  55007 			phyts,
  55008 			framesync_pin);
  55009 }
  55010 
  55011 int
  55012 bcm_loop_ptp_modular_phyts_set(
  55013 	int	unit,
  55014 	bcm_ptp_stack_id_t	ptp_id,
  55015 	int	clock_num,
  55016 	int	phyts,
  55017 	int	framesync_pin)
  55018 {
  55019 	return bcm_ptp_modular_phyts_set(
  55020 			BCM_CONTROL(unit)->unit,
  55021 			ptp_id,
  55022 			clock_num,
  55023 			phyts,
  55024 			framesync_pin);
  55025 }
  55026 
  55027 int
  55028 bcm_loop_ptp_modular_portbitmap_get(
  55029 	int	unit,
  55030 	bcm_ptp_stack_id_t	ptp_id,
  55031 	int	clock_num,
  55032 	bcm_pbmp_t *	pbmp)
  55033 {
  55034 	return bcm_ptp_modular_portbitmap_get(
  55035 			BCM_CONTROL(unit)->unit,
  55036 			ptp_id,
  55037 			clock_num,
  55038 			pbmp);
  55039 }
  55040 
  55041 int
  55042 bcm_loop_ptp_modular_portbitmap_set(
  55043 	int	unit,
  55044 	bcm_ptp_stack_id_t	ptp_id,
  55045 	int	clock_num,
  55046 	bcm_pbmp_t	pbmp)
  55047 {
  55048 	return bcm_ptp_modular_portbitmap_set(
  55049 			BCM_CONTROL(unit)->unit,
  55050 			ptp_id,
  55051 			clock_num,
  55052 			pbmp);
  55053 }
  55054 
  55055 int
  55056 bcm_loop_ptp_modular_verbose_get(
  55057 	int	unit,
  55058 	bcm_ptp_stack_id_t	ptp_id,
  55059 	int	clock_num,
  55060 	int *	verbose)
  55061 {
  55062 	return bcm_ptp_modular_verbose_get(
  55063 			BCM_CONTROL(unit)->unit,
  55064 			ptp_id,
  55065 			clock_num,
  55066 			verbose);
  55067 }
  55068 
  55069 int
  55070 bcm_loop_ptp_modular_verbose_set(
  55071 	int	unit,
  55072 	bcm_ptp_stack_id_t	ptp_id,
  55073 	int	clock_num,
  55074 	int	verbose)
  55075 {
  55076 	return bcm_ptp_modular_verbose_set(
  55077 			BCM_CONTROL(unit)->unit,
  55078 			ptp_id,
  55079 			clock_num,
  55080 			verbose);
  55081 }
  55082 
  55083 int
  55084 bcm_loop_ptp_packet_counters_clear(
  55085 	int	unit,
  55086 	bcm_ptp_stack_id_t	ptp_id,
  55087 	int	clock_num,
  55088 	int	port_num,
  55089 	uint32	counter_bitmap)
  55090 {
  55091 	return bcm_ptp_packet_counters_clear(
  55092 			BCM_CONTROL(unit)->unit,
  55093 			ptp_id,
  55094 			clock_num,
  55095 			port_num,
  55096 			counter_bitmap);
  55097 }
  55098 
  55099 int
  55100 bcm_loop_ptp_packet_counters_get(
  55101 	int	unit,
  55102 	bcm_ptp_stack_id_t	ptp_id,
  55103 	int	clock_num,
  55104 	bcm_ptp_packet_counters_t *	counters)
  55105 {
  55106 	return bcm_ptp_packet_counters_get(
  55107 			BCM_CONTROL(unit)->unit,
  55108 			ptp_id,
  55109 			clock_num,
  55110 			counters);
  55111 }
  55112 
  55113 int
  55114 bcm_loop_ptp_peer_dataset_get(
  55115 	int	unit,
  55116 	bcm_ptp_stack_id_t	ptp_id,
  55117 	int	clock_num,
  55118 	int	port_num,
  55119 	int	max_num_peers,
  55120 	bcm_ptp_peer_entry_t *	peers,
  55121 	int *	num_peers)
  55122 {
  55123 	return bcm_ptp_peer_dataset_get(
  55124 			BCM_CONTROL(unit)->unit,
  55125 			ptp_id,
  55126 			clock_num,
  55127 			port_num,
  55128 			max_num_peers,
  55129 			peers,
  55130 			num_peers);
  55131 }
  55132 
  55133 int
  55134 bcm_loop_ptp_phase_offset_get(
  55135 	int	unit,
  55136 	bcm_ptp_stack_id_t	ptp_id,
  55137 	int	clock_num,
  55138 	bcm_ptp_phase_offset_t *	offset)
  55139 {
  55140 	return bcm_ptp_phase_offset_get(
  55141 			BCM_CONTROL(unit)->unit,
  55142 			ptp_id,
  55143 			clock_num,
  55144 			offset);
  55145 }
  55146 
  55147 int
  55148 bcm_loop_ptp_phase_offset_set(
  55149 	int	unit,
  55150 	bcm_ptp_stack_id_t	ptp_id,
  55151 	int	clock_num,
  55152 	const bcm_ptp_phase_offset_t *	offset)
  55153 {
  55154 	return bcm_ptp_phase_offset_set(
  55155 			BCM_CONTROL(unit)->unit,
  55156 			ptp_id,
  55157 			clock_num,
  55158 			offset);
  55159 }
  55160 
  55161 int
  55162 bcm_loop_ptp_pkt_flags_override_get(
  55163 	int	unit,
  55164 	bcm_ptp_stack_id_t	ptp_id,
  55165 	int	clock_num,
  55166 	uint32 *	override_flag,
  55167 	uint32 *	override_value)
  55168 {
  55169 	return bcm_ptp_pkt_flags_override_get(
  55170 			BCM_CONTROL(unit)->unit,
  55171 			ptp_id,
  55172 			clock_num,
  55173 			override_flag,
  55174 			override_value);
  55175 }
  55176 
  55177 int
  55178 bcm_loop_ptp_pkt_flags_override_set(
  55179 	int	unit,
  55180 	bcm_ptp_stack_id_t	ptp_id,
  55181 	int	clock_num,
  55182 	uint32	override_flag,
  55183 	uint32	override_value)
  55184 {
  55185 	return bcm_ptp_pkt_flags_override_set(
  55186 			BCM_CONTROL(unit)->unit,
  55187 			ptp_id,
  55188 			clock_num,
  55189 			override_flag,
  55190 			override_value);
  55191 }
  55192 
  55193 int
  55194 bcm_loop_ptp_primary_domain_get(
  55195 	int	unit,
  55196 	bcm_ptp_stack_id_t	ptp_id,
  55197 	int	clock_num,
  55198 	int *	primary_domain)
  55199 {
  55200 	return bcm_ptp_primary_domain_get(
  55201 			BCM_CONTROL(unit)->unit,
  55202 			ptp_id,
  55203 			clock_num,
  55204 			primary_domain);
  55205 }
  55206 
  55207 int
  55208 bcm_loop_ptp_primary_domain_set(
  55209 	int	unit,
  55210 	bcm_ptp_stack_id_t	ptp_id,
  55211 	int	clock_num,
  55212 	int	primary_domain)
  55213 {
  55214 	return bcm_ptp_primary_domain_set(
  55215 			BCM_CONTROL(unit)->unit,
  55216 			ptp_id,
  55217 			clock_num,
  55218 			primary_domain);
  55219 }
  55220 
  55221 int
  55222 bcm_loop_ptp_servo_configuration_get(
  55223 	int	unit,
  55224 	bcm_ptp_stack_id_t	ptp_id,
  55225 	int	clock_num,
  55226 	bcm_ptp_servo_config_t *	config)
  55227 {
  55228 	return bcm_ptp_servo_configuration_get(
  55229 			BCM_CONTROL(unit)->unit,
  55230 			ptp_id,
  55231 			clock_num,
  55232 			config);
  55233 }
  55234 
  55235 int
  55236 bcm_loop_ptp_servo_configuration_set(
  55237 	int	unit,
  55238 	bcm_ptp_stack_id_t	ptp_id,
  55239 	int	clock_num,
  55240 	bcm_ptp_servo_config_t *	config)
  55241 {
  55242 	return bcm_ptp_servo_configuration_set(
  55243 			BCM_CONTROL(unit)->unit,
  55244 			ptp_id,
  55245 			clock_num,
  55246 			config);
  55247 }
  55248 
  55249 int
  55250 bcm_loop_ptp_servo_status_get(
  55251 	int	unit,
  55252 	bcm_ptp_stack_id_t	ptp_id,
  55253 	int	clock_num,
  55254 	bcm_ptp_servo_status_t *	status)
  55255 {
  55256 	return bcm_ptp_servo_status_get(
  55257 			BCM_CONTROL(unit)->unit,
  55258 			ptp_id,
  55259 			clock_num,
  55260 			status);
  55261 }
  55262 
  55263 int
  55264 bcm_loop_ptp_servo_threshold_get(
  55265 	int	unit,
  55266 	bcm_ptp_stack_id_t	ptp_id,
  55267 	int	clock_num,
  55268 	bcm_ptp_servo_threshold_t *	threshold)
  55269 {
  55270 	return bcm_ptp_servo_threshold_get(
  55271 			BCM_CONTROL(unit)->unit,
  55272 			ptp_id,
  55273 			clock_num,
  55274 			threshold);
  55275 }
  55276 
  55277 int
  55278 bcm_loop_ptp_servo_threshold_set(
  55279 	int	unit,
  55280 	bcm_ptp_stack_id_t	ptp_id,
  55281 	int	clock_num,
  55282 	bcm_ptp_servo_threshold_t *	threshold)
  55283 {
  55284 	return bcm_ptp_servo_threshold_set(
  55285 			BCM_CONTROL(unit)->unit,
  55286 			ptp_id,
  55287 			clock_num,
  55288 			threshold);
  55289 }
  55290 
  55291 int
  55292 bcm_loop_ptp_signal_output_get(
  55293 	int	unit,
  55294 	bcm_ptp_stack_id_t	ptp_id,
  55295 	int	clock_num,
  55296 	int *	signal_output_count,
  55297 	bcm_ptp_signal_output_t *	signal_output_id)
  55298 {
  55299 	return bcm_ptp_signal_output_get(
  55300 			BCM_CONTROL(unit)->unit,
  55301 			ptp_id,
  55302 			clock_num,
  55303 			signal_output_count,
  55304 			signal_output_id);
  55305 }
  55306 
  55307 int
  55308 bcm_loop_ptp_signal_output_remove(
  55309 	int	unit,
  55310 	bcm_ptp_stack_id_t	ptp_id,
  55311 	int	clock_num,
  55312 	int	signal_output_id)
  55313 {
  55314 	return bcm_ptp_signal_output_remove(
  55315 			BCM_CONTROL(unit)->unit,
  55316 			ptp_id,
  55317 			clock_num,
  55318 			signal_output_id);
  55319 }
  55320 
  55321 int
  55322 bcm_loop_ptp_signal_output_set(
  55323 	int	unit,
  55324 	bcm_ptp_stack_id_t	ptp_id,
  55325 	int	clock_num,
  55326 	int *	signal_output_id,
  55327 	bcm_ptp_signal_output_t *	output_info)
  55328 {
  55329 	return bcm_ptp_signal_output_set(
  55330 			BCM_CONTROL(unit)->unit,
  55331 			ptp_id,
  55332 			clock_num,
  55333 			signal_output_id,
  55334 			output_info);
  55335 }
  55336 
  55337 int
  55338 bcm_loop_ptp_signaled_unicast_master_add(
  55339 	int	unit,
  55340 	bcm_ptp_stack_id_t	ptp_id,
  55341 	int	clock_num,
  55342 	int	port_num,
  55343 	bcm_ptp_clock_unicast_master_t *	master_info,
  55344 	uint32	mask)
  55345 {
  55346 	return bcm_ptp_signaled_unicast_master_add(
  55347 			BCM_CONTROL(unit)->unit,
  55348 			ptp_id,
  55349 			clock_num,
  55350 			port_num,
  55351 			master_info,
  55352 			mask);
  55353 }
  55354 
  55355 int
  55356 bcm_loop_ptp_signaled_unicast_master_remove(
  55357 	int	unit,
  55358 	bcm_ptp_stack_id_t	ptp_id,
  55359 	int	clock_num,
  55360 	int	port_num,
  55361 	bcm_ptp_clock_peer_address_t *	master_info)
  55362 {
  55363 	return bcm_ptp_signaled_unicast_master_remove(
  55364 			BCM_CONTROL(unit)->unit,
  55365 			ptp_id,
  55366 			clock_num,
  55367 			port_num,
  55368 			master_info);
  55369 }
  55370 
  55371 int
  55372 bcm_loop_ptp_signaled_unicast_slave_list(
  55373 	int	unit,
  55374 	bcm_ptp_stack_id_t	ptp_id,
  55375 	int	clock_num,
  55376 	int	port_num,
  55377 	int	max_num_slaves,
  55378 	int *	num_slaves,
  55379 	bcm_ptp_clock_peer_t *	slave_info)
  55380 {
  55381 	return bcm_ptp_signaled_unicast_slave_list(
  55382 			BCM_CONTROL(unit)->unit,
  55383 			ptp_id,
  55384 			clock_num,
  55385 			port_num,
  55386 			max_num_slaves,
  55387 			num_slaves,
  55388 			slave_info);
  55389 }
  55390 
  55391 int
  55392 bcm_loop_ptp_signaled_unicast_slave_table_clear(
  55393 	int	unit,
  55394 	bcm_ptp_stack_id_t	ptp_id,
  55395 	int	clock_num,
  55396 	int	port_num,
  55397 	int	callstack)
  55398 {
  55399 	return bcm_ptp_signaled_unicast_slave_table_clear(
  55400 			BCM_CONTROL(unit)->unit,
  55401 			ptp_id,
  55402 			clock_num,
  55403 			port_num,
  55404 			callstack);
  55405 }
  55406 
  55407 int
  55408 bcm_loop_ptp_signaling_arbiter_register(
  55409 	int	unit,
  55410 	bcm_ptp_stack_id_t	ptp_id,
  55411 	int	clock_num,
  55412 	bcm_ptp_signaling_arbiter_t	arb,
  55413 	void *	user_data)
  55414 {
  55415 	return bcm_ptp_signaling_arbiter_register(
  55416 			BCM_CONTROL(unit)->unit,
  55417 			ptp_id,
  55418 			clock_num,
  55419 			arb,
  55420 			user_data);
  55421 }
  55422 
  55423 int
  55424 bcm_loop_ptp_signaling_arbiter_unregister(
  55425 	int	unit,
  55426 	bcm_ptp_stack_id_t	ptp_id,
  55427 	int	clock_num)
  55428 {
  55429 	return bcm_ptp_signaling_arbiter_unregister(
  55430 			BCM_CONTROL(unit)->unit,
  55431 			ptp_id,
  55432 			clock_num);
  55433 }
  55434 
  55435 int
  55436 bcm_loop_ptp_stack_create(
  55437 	int	unit,
  55438 	bcm_ptp_stack_info_t *	ptp_info)
  55439 {
  55440 	return bcm_ptp_stack_create(
  55441 			BCM_CONTROL(unit)->unit,
  55442 			ptp_info);
  55443 }
  55444 
  55445 int
  55446 bcm_loop_ptp_stack_destroy(
  55447 	int	unit,
  55448 	bcm_ptp_stack_id_t	ptp_id)
  55449 {
  55450 	return bcm_ptp_stack_destroy(
  55451 			BCM_CONTROL(unit)->unit,
  55452 			ptp_id);
  55453 }
  55454 
  55455 int
  55456 bcm_loop_ptp_stack_get(
  55457 	int	unit,
  55458 	bcm_ptp_stack_id_t	ptp_id,
  55459 	bcm_ptp_stack_info_t *	ptp_info)
  55460 {
  55461 	return bcm_ptp_stack_get(
  55462 			BCM_CONTROL(unit)->unit,
  55463 			ptp_id,
  55464 			ptp_info);
  55465 }
  55466 
  55467 int
  55468 bcm_loop_ptp_stack_get_all(
  55469 	int	unit,
  55470 	int	max_size,
  55471 	bcm_ptp_stack_info_t *	ptp_info,
  55472 	int *	no_of_stacks)
  55473 {
  55474 	return bcm_ptp_stack_get_all(
  55475 			BCM_CONTROL(unit)->unit,
  55476 			max_size,
  55477 			ptp_info,
  55478 			no_of_stacks);
  55479 }
  55480 
  55481 int
  55482 bcm_loop_ptp_static_unicast_master_add(
  55483 	int	unit,
  55484 	bcm_ptp_stack_id_t	ptp_id,
  55485 	int	clock_num,
  55486 	int	port_num,
  55487 	bcm_ptp_clock_unicast_master_t *	master_info)
  55488 {
  55489 	return bcm_ptp_static_unicast_master_add(
  55490 			BCM_CONTROL(unit)->unit,
  55491 			ptp_id,
  55492 			clock_num,
  55493 			port_num,
  55494 			master_info);
  55495 }
  55496 
  55497 int
  55498 bcm_loop_ptp_static_unicast_master_list(
  55499 	int	unit,
  55500 	bcm_ptp_stack_id_t	ptp_id,
  55501 	int	clock_num,
  55502 	int	port_num,
  55503 	int	max_num_masters,
  55504 	int *	num_masters,
  55505 	bcm_ptp_clock_peer_address_t *	master_addr)
  55506 {
  55507 	return bcm_ptp_static_unicast_master_list(
  55508 			BCM_CONTROL(unit)->unit,
  55509 			ptp_id,
  55510 			clock_num,
  55511 			port_num,
  55512 			max_num_masters,
  55513 			num_masters,
  55514 			master_addr);
  55515 }
  55516 
  55517 int
  55518 bcm_loop_ptp_static_unicast_master_remove(
  55519 	int	unit,
  55520 	bcm_ptp_stack_id_t	ptp_id,
  55521 	int	clock_num,
  55522 	int	port_num,
  55523 	bcm_ptp_clock_peer_address_t *	master_info)
  55524 {
  55525 	return bcm_ptp_static_unicast_master_remove(
  55526 			BCM_CONTROL(unit)->unit,
  55527 			ptp_id,
  55528 			clock_num,
  55529 			port_num,
  55530 			master_info);
  55531 }
  55532 
  55533 int
  55534 bcm_loop_ptp_static_unicast_master_table_clear(
  55535 	int	unit,
  55536 	bcm_ptp_stack_id_t	ptp_id,
  55537 	int	clock_num,
  55538 	int	port_num)
  55539 {
  55540 	return bcm_ptp_static_unicast_master_table_clear(
  55541 			BCM_CONTROL(unit)->unit,
  55542 			ptp_id,
  55543 			clock_num,
  55544 			port_num);
  55545 }
  55546 
  55547 int
  55548 bcm_loop_ptp_static_unicast_master_table_size_get(
  55549 	int	unit,
  55550 	bcm_ptp_stack_id_t	ptp_id,
  55551 	int	clock_num,
  55552 	int	port_num,
  55553 	int *	max_table_entries)
  55554 {
  55555 	return bcm_ptp_static_unicast_master_table_size_get(
  55556 			BCM_CONTROL(unit)->unit,
  55557 			ptp_id,
  55558 			clock_num,
  55559 			port_num,
  55560 			max_table_entries);
  55561 }
  55562 
  55563 int
  55564 bcm_loop_ptp_static_unicast_slave_add(
  55565 	int	unit,
  55566 	bcm_ptp_stack_id_t	ptp_id,
  55567 	int	clock_num,
  55568 	int	port_num,
  55569 	bcm_ptp_clock_peer_t *	slave_info)
  55570 {
  55571 	return bcm_ptp_static_unicast_slave_add(
  55572 			BCM_CONTROL(unit)->unit,
  55573 			ptp_id,
  55574 			clock_num,
  55575 			port_num,
  55576 			slave_info);
  55577 }
  55578 
  55579 int
  55580 bcm_loop_ptp_static_unicast_slave_list(
  55581 	int	unit,
  55582 	bcm_ptp_stack_id_t	ptp_id,
  55583 	int	clock_num,
  55584 	int	port_num,
  55585 	int	max_num_slaves,
  55586 	int *	num_slaves,
  55587 	bcm_ptp_clock_peer_t *	slave_info)
  55588 {
  55589 	return bcm_ptp_static_unicast_slave_list(
  55590 			BCM_CONTROL(unit)->unit,
  55591 			ptp_id,
  55592 			clock_num,
  55593 			port_num,
  55594 			max_num_slaves,
  55595 			num_slaves,
  55596 			slave_info);
  55597 }
  55598 
  55599 int
  55600 bcm_loop_ptp_static_unicast_slave_remove(
  55601 	int	unit,
  55602 	bcm_ptp_stack_id_t	ptp_id,
  55603 	int	clock_num,
  55604 	int	port_num,
  55605 	bcm_ptp_clock_peer_t *	slave_info)
  55606 {
  55607 	return bcm_ptp_static_unicast_slave_remove(
  55608 			BCM_CONTROL(unit)->unit,
  55609 			ptp_id,
  55610 			clock_num,
  55611 			port_num,
  55612 			slave_info);
  55613 }
  55614 
  55615 int
  55616 bcm_loop_ptp_static_unicast_slave_table_clear(
  55617 	int	unit,
  55618 	bcm_ptp_stack_id_t	ptp_id,
  55619 	int	clock_num,
  55620 	int	port_num)
  55621 {
  55622 	return bcm_ptp_static_unicast_slave_table_clear(
  55623 			BCM_CONTROL(unit)->unit,
  55624 			ptp_id,
  55625 			clock_num,
  55626 			port_num);
  55627 }
  55628 
  55629 int
  55630 bcm_loop_ptp_sync_phy(
  55631 	int	unit,
  55632 	bcm_ptp_stack_id_t	ptp_id,
  55633 	int	clock_num,
  55634 	bcm_ptp_sync_phy_input_t	sync_input)
  55635 {
  55636 	return bcm_ptp_sync_phy(
  55637 			BCM_CONTROL(unit)->unit,
  55638 			ptp_id,
  55639 			clock_num,
  55640 			sync_input);
  55641 }
  55642 
  55643 int
  55644 bcm_loop_ptp_telecom_g8265_init(
  55645 	int	unit,
  55646 	bcm_ptp_stack_id_t	ptp_id,
  55647 	int	clock_num)
  55648 {
  55649 	return bcm_ptp_telecom_g8265_init(
  55650 			BCM_CONTROL(unit)->unit,
  55651 			ptp_id,
  55652 			clock_num);
  55653 }
  55654 
  55655 int
  55656 bcm_loop_ptp_telecom_g8265_network_option_get(
  55657 	int	unit,
  55658 	bcm_ptp_stack_id_t	ptp_id,
  55659 	int	clock_num,
  55660 	bcm_ptp_telecom_g8265_network_option_t *	network_option)
  55661 {
  55662 	return bcm_ptp_telecom_g8265_network_option_get(
  55663 			BCM_CONTROL(unit)->unit,
  55664 			ptp_id,
  55665 			clock_num,
  55666 			network_option);
  55667 }
  55668 
  55669 int
  55670 bcm_loop_ptp_telecom_g8265_network_option_set(
  55671 	int	unit,
  55672 	bcm_ptp_stack_id_t	ptp_id,
  55673 	int	clock_num,
  55674 	bcm_ptp_telecom_g8265_network_option_t	network_option)
  55675 {
  55676 	return bcm_ptp_telecom_g8265_network_option_set(
  55677 			BCM_CONTROL(unit)->unit,
  55678 			ptp_id,
  55679 			clock_num,
  55680 			network_option);
  55681 }
  55682 
  55683 int
  55684 bcm_loop_ptp_telecom_g8265_packet_master_add(
  55685 	int	unit,
  55686 	bcm_ptp_stack_id_t	ptp_id,
  55687 	int	clock_num,
  55688 	int	port_num,
  55689 	bcm_ptp_clock_port_address_t *	address)
  55690 {
  55691 	return bcm_ptp_telecom_g8265_packet_master_add(
  55692 			BCM_CONTROL(unit)->unit,
  55693 			ptp_id,
  55694 			clock_num,
  55695 			port_num,
  55696 			address);
  55697 }
  55698 
  55699 int
  55700 bcm_loop_ptp_telecom_g8265_packet_master_best_get(
  55701 	int	unit,
  55702 	bcm_ptp_stack_id_t	ptp_id,
  55703 	int	clock_num,
  55704 	bcm_ptp_telecom_g8265_pktmaster_t *	pktmaster)
  55705 {
  55706 	return bcm_ptp_telecom_g8265_packet_master_best_get(
  55707 			BCM_CONTROL(unit)->unit,
  55708 			ptp_id,
  55709 			clock_num,
  55710 			pktmaster);
  55711 }
  55712 
  55713 int
  55714 bcm_loop_ptp_telecom_g8265_packet_master_get(
  55715 	int	unit,
  55716 	bcm_ptp_stack_id_t	ptp_id,
  55717 	int	clock_num,
  55718 	bcm_ptp_clock_port_address_t *	address,
  55719 	bcm_ptp_telecom_g8265_pktmaster_t *	pktmaster)
  55720 {
  55721 	return bcm_ptp_telecom_g8265_packet_master_get(
  55722 			BCM_CONTROL(unit)->unit,
  55723 			ptp_id,
  55724 			clock_num,
  55725 			address,
  55726 			pktmaster);
  55727 }
  55728 
  55729 int
  55730 bcm_loop_ptp_telecom_g8265_packet_master_list(
  55731 	int	unit,
  55732 	bcm_ptp_stack_id_t	ptp_id,
  55733 	int	clock_num,
  55734 	int	max_master_count,
  55735 	int *	num_masters,
  55736 	int *	best_master,
  55737 	bcm_ptp_telecom_g8265_pktmaster_t *	pktmaster)
  55738 {
  55739 	return bcm_ptp_telecom_g8265_packet_master_list(
  55740 			BCM_CONTROL(unit)->unit,
  55741 			ptp_id,
  55742 			clock_num,
  55743 			max_master_count,
  55744 			num_masters,
  55745 			best_master,
  55746 			pktmaster);
  55747 }
  55748 
  55749 int
  55750 bcm_loop_ptp_telecom_g8265_packet_master_lockout_set(
  55751 	int	unit,
  55752 	bcm_ptp_stack_id_t	ptp_id,
  55753 	int	clock_num,
  55754 	uint8	lockout,
  55755 	bcm_ptp_clock_port_address_t *	address)
  55756 {
  55757 	return bcm_ptp_telecom_g8265_packet_master_lockout_set(
  55758 			BCM_CONTROL(unit)->unit,
  55759 			ptp_id,
  55760 			clock_num,
  55761 			lockout,
  55762 			address);
  55763 }
  55764 
  55765 int
  55766 bcm_loop_ptp_telecom_g8265_packet_master_non_reversion_set(
  55767 	int	unit,
  55768 	bcm_ptp_stack_id_t	ptp_id,
  55769 	int	clock_num,
  55770 	uint8	nonres,
  55771 	bcm_ptp_clock_port_address_t *	address)
  55772 {
  55773 	return bcm_ptp_telecom_g8265_packet_master_non_reversion_set(
  55774 			BCM_CONTROL(unit)->unit,
  55775 			ptp_id,
  55776 			clock_num,
  55777 			nonres,
  55778 			address);
  55779 }
  55780 
  55781 int
  55782 bcm_loop_ptp_telecom_g8265_packet_master_priority_override(
  55783 	int	unit,
  55784 	bcm_ptp_stack_id_t	ptp_id,
  55785 	int	clock_num,
  55786 	uint8	override,
  55787 	bcm_ptp_clock_port_address_t *	address)
  55788 {
  55789 	return bcm_ptp_telecom_g8265_packet_master_priority_override(
  55790 			BCM_CONTROL(unit)->unit,
  55791 			ptp_id,
  55792 			clock_num,
  55793 			override,
  55794 			address);
  55795 }
  55796 
  55797 int
  55798 bcm_loop_ptp_telecom_g8265_packet_master_priority_set(
  55799 	int	unit,
  55800 	bcm_ptp_stack_id_t	ptp_id,
  55801 	int	clock_num,
  55802 	uint16	priority,
  55803 	bcm_ptp_clock_port_address_t *	address)
  55804 {
  55805 	return bcm_ptp_telecom_g8265_packet_master_priority_set(
  55806 			BCM_CONTROL(unit)->unit,
  55807 			ptp_id,
  55808 			clock_num,
  55809 			priority,
  55810 			address);
  55811 }
  55812 
  55813 int
  55814 bcm_loop_ptp_telecom_g8265_packet_master_remove(
  55815 	int	unit,
  55816 	bcm_ptp_stack_id_t	ptp_id,
  55817 	int	clock_num,
  55818 	int	port_num,
  55819 	bcm_ptp_clock_port_address_t *	address)
  55820 {
  55821 	return bcm_ptp_telecom_g8265_packet_master_remove(
  55822 			BCM_CONTROL(unit)->unit,
  55823 			ptp_id,
  55824 			clock_num,
  55825 			port_num,
  55826 			address);
  55827 }
  55828 
  55829 int
  55830 bcm_loop_ptp_telecom_g8265_packet_master_wait_duration_set(
  55831 	int	unit,
  55832 	bcm_ptp_stack_id_t	ptp_id,
  55833 	int	clock_num,
  55834 	uint64	wait_sec,
  55835 	bcm_ptp_clock_port_address_t *	address)
  55836 {
  55837 	return bcm_ptp_telecom_g8265_packet_master_wait_duration_set(
  55838 			BCM_CONTROL(unit)->unit,
  55839 			ptp_id,
  55840 			clock_num,
  55841 			wait_sec,
  55842 			address);
  55843 }
  55844 
  55845 int
  55846 bcm_loop_ptp_telecom_g8265_pktstats_thresholds_get(
  55847 	int	unit,
  55848 	bcm_ptp_stack_id_t	ptp_id,
  55849 	int	clock_num,
  55850 	bcm_ptp_telecom_g8265_pktstats_t *	thresholds)
  55851 {
  55852 	return bcm_ptp_telecom_g8265_pktstats_thresholds_get(
  55853 			BCM_CONTROL(unit)->unit,
  55854 			ptp_id,
  55855 			clock_num,
  55856 			thresholds);
  55857 }
  55858 
  55859 int
  55860 bcm_loop_ptp_telecom_g8265_pktstats_thresholds_set(
  55861 	int	unit,
  55862 	bcm_ptp_stack_id_t	ptp_id,
  55863 	int	clock_num,
  55864 	bcm_ptp_telecom_g8265_pktstats_t	thresholds)
  55865 {
  55866 	return bcm_ptp_telecom_g8265_pktstats_thresholds_set(
  55867 			BCM_CONTROL(unit)->unit,
  55868 			ptp_id,
  55869 			clock_num,
  55870 			thresholds);
  55871 }
  55872 
  55873 int
  55874 bcm_loop_ptp_telecom_g8265_quality_level_set(
  55875 	int	unit,
  55876 	bcm_ptp_stack_id_t	ptp_id,
  55877 	int	clock_num,
  55878 	bcm_ptp_telecom_g8265_quality_level_t	ql)
  55879 {
  55880 	return bcm_ptp_telecom_g8265_quality_level_set(
  55881 			BCM_CONTROL(unit)->unit,
  55882 			ptp_id,
  55883 			clock_num,
  55884 			ql);
  55885 }
  55886 
  55887 int
  55888 bcm_loop_ptp_telecom_g8265_receipt_timeout_get(
  55889 	int	unit,
  55890 	bcm_ptp_stack_id_t	ptp_id,
  55891 	int	clock_num,
  55892 	bcm_ptp_message_type_t	message_type,
  55893 	uint32 *	receipt_timeout)
  55894 {
  55895 	return bcm_ptp_telecom_g8265_receipt_timeout_get(
  55896 			BCM_CONTROL(unit)->unit,
  55897 			ptp_id,
  55898 			clock_num,
  55899 			message_type,
  55900 			receipt_timeout);
  55901 }
  55902 
  55903 int
  55904 bcm_loop_ptp_telecom_g8265_receipt_timeout_set(
  55905 	int	unit,
  55906 	bcm_ptp_stack_id_t	ptp_id,
  55907 	int	clock_num,
  55908 	bcm_ptp_message_type_t	message_type,
  55909 	uint32	receipt_timeout)
  55910 {
  55911 	return bcm_ptp_telecom_g8265_receipt_timeout_set(
  55912 			BCM_CONTROL(unit)->unit,
  55913 			ptp_id,
  55914 			clock_num,
  55915 			message_type,
  55916 			receipt_timeout);
  55917 }
  55918 
  55919 int
  55920 bcm_loop_ptp_telecom_g8265_shutdown(
  55921 	int	unit)
  55922 {
  55923 	return bcm_ptp_telecom_g8265_shutdown(
  55924 			BCM_CONTROL(unit)->unit);
  55925 }
  55926 
  55927 int
  55928 bcm_loop_ptp_time_format_set(
  55929 	int	unit,
  55930 	bcm_ptp_stack_id_t	ptp_id,
  55931 	bcm_ptp_time_type_t	type)
  55932 {
  55933 	return bcm_ptp_time_format_set(
  55934 			BCM_CONTROL(unit)->unit,
  55935 			ptp_id,
  55936 			type);
  55937 }
  55938 
  55939 int
  55940 bcm_loop_ptp_timesource_input_status_get(
  55941 	int	unit,
  55942 	bcm_ptp_stack_id_t	ptp_id,
  55943 	int	clock_num,
  55944 	bcm_ptp_timesource_status_t *	status)
  55945 {
  55946 	return bcm_ptp_timesource_input_status_get(
  55947 			BCM_CONTROL(unit)->unit,
  55948 			ptp_id,
  55949 			clock_num,
  55950 			status);
  55951 }
  55952 
  55953 int
  55954 bcm_loop_ptp_tod_input_sources_get(
  55955 	int	unit,
  55956 	bcm_ptp_stack_id_t	ptp_id,
  55957 	int	clock_num,
  55958 	int *	num_tod_sources,
  55959 	bcm_ptp_tod_input_t *	tod_sources)
  55960 {
  55961 	return bcm_ptp_tod_input_sources_get(
  55962 			BCM_CONTROL(unit)->unit,
  55963 			ptp_id,
  55964 			clock_num,
  55965 			num_tod_sources,
  55966 			tod_sources);
  55967 }
  55968 
  55969 int
  55970 bcm_loop_ptp_tod_input_sources_set(
  55971 	int	unit,
  55972 	bcm_ptp_stack_id_t	ptp_id,
  55973 	int	clock_num,
  55974 	int	num_tod_sources,
  55975 	bcm_ptp_tod_input_t *	tod_sources)
  55976 {
  55977 	return bcm_ptp_tod_input_sources_set(
  55978 			BCM_CONTROL(unit)->unit,
  55979 			ptp_id,
  55980 			clock_num,
  55981 			num_tod_sources,
  55982 			tod_sources);
  55983 }
  55984 
  55985 int
  55986 bcm_loop_ptp_tod_output_get(
  55987 	int	unit,
  55988 	bcm_ptp_stack_id_t	ptp_id,
  55989 	int	clock_num,
  55990 	int *	tod_output_count,
  55991 	bcm_ptp_tod_output_t *	tod_output)
  55992 {
  55993 	return bcm_ptp_tod_output_get(
  55994 			BCM_CONTROL(unit)->unit,
  55995 			ptp_id,
  55996 			clock_num,
  55997 			tod_output_count,
  55998 			tod_output);
  55999 }
  56000 
  56001 int
  56002 bcm_loop_ptp_tod_output_remove(
  56003 	int	unit,
  56004 	bcm_ptp_stack_id_t	ptp_id,
  56005 	int	clock_num,
  56006 	int	tod_output_id)
  56007 {
  56008 	return bcm_ptp_tod_output_remove(
  56009 			BCM_CONTROL(unit)->unit,
  56010 			ptp_id,
  56011 			clock_num,
  56012 			tod_output_id);
  56013 }
  56014 
  56015 int
  56016 bcm_loop_ptp_tod_output_set(
  56017 	int	unit,
  56018 	bcm_ptp_stack_id_t	ptp_id,
  56019 	int	clock_num,
  56020 	int *	tod_output_id,
  56021 	bcm_ptp_tod_output_t *	output_info)
  56022 {
  56023 	return bcm_ptp_tod_output_set(
  56024 			BCM_CONTROL(unit)->unit,
  56025 			ptp_id,
  56026 			clock_num,
  56027 			tod_output_id,
  56028 			output_info);
  56029 }
  56030 
  56031 int
  56032 bcm_loop_ptp_transparent_clock_default_dataset_get(
  56033 	int	unit,
  56034 	bcm_ptp_stack_id_t	ptp_id,
  56035 	int	clock_num,
  56036 	bcm_ptp_transparent_clock_default_dataset_t *	data_set)
  56037 {
  56038 	return bcm_ptp_transparent_clock_default_dataset_get(
  56039 			BCM_CONTROL(unit)->unit,
  56040 			ptp_id,
  56041 			clock_num,
  56042 			data_set);
  56043 }
  56044 
  56045 int
  56046 bcm_loop_ptp_transparent_clock_port_dataset_get(
  56047 	int	unit,
  56048 	bcm_ptp_stack_id_t	ptp_id,
  56049 	int	clock_num,
  56050 	uint16	clock_port,
  56051 	bcm_ptp_transparent_clock_port_dataset_t *	data_set)
  56052 {
  56053 	return bcm_ptp_transparent_clock_port_dataset_get(
  56054 			BCM_CONTROL(unit)->unit,
  56055 			ptp_id,
  56056 			clock_num,
  56057 			clock_port,
  56058 			data_set);
  56059 }
  56060 
  56061 int
  56062 bcm_loop_ptp_unicast_request_duration_get(
  56063 	int	unit,
  56064 	bcm_ptp_stack_id_t	ptp_id,
  56065 	int	clock_num,
  56066 	int	port_num,
  56067 	uint32 *	duration)
  56068 {
  56069 	return bcm_ptp_unicast_request_duration_get(
  56070 			BCM_CONTROL(unit)->unit,
  56071 			ptp_id,
  56072 			clock_num,
  56073 			port_num,
  56074 			duration);
  56075 }
  56076 
  56077 int
  56078 bcm_loop_ptp_unicast_request_duration_max_get(
  56079 	int	unit,
  56080 	bcm_ptp_stack_id_t	ptp_id,
  56081 	int	clock_num,
  56082 	int	port_num,
  56083 	uint32 *	duration_max)
  56084 {
  56085 	return bcm_ptp_unicast_request_duration_max_get(
  56086 			BCM_CONTROL(unit)->unit,
  56087 			ptp_id,
  56088 			clock_num,
  56089 			port_num,
  56090 			duration_max);
  56091 }
  56092 
  56093 int
  56094 bcm_loop_ptp_unicast_request_duration_max_set(
  56095 	int	unit,
  56096 	bcm_ptp_stack_id_t	ptp_id,
  56097 	int	clock_num,
  56098 	int	port_num,
  56099 	uint32	duration_max)
  56100 {
  56101 	return bcm_ptp_unicast_request_duration_max_set(
  56102 			BCM_CONTROL(unit)->unit,
  56103 			ptp_id,
  56104 			clock_num,
  56105 			port_num,
  56106 			duration_max);
  56107 }
  56108 
  56109 int
  56110 bcm_loop_ptp_unicast_request_duration_min_get(
  56111 	int	unit,
  56112 	bcm_ptp_stack_id_t	ptp_id,
  56113 	int	clock_num,
  56114 	int	port_num,
  56115 	uint32 *	duration_min)
  56116 {
  56117 	return bcm_ptp_unicast_request_duration_min_get(
  56118 			BCM_CONTROL(unit)->unit,
  56119 			ptp_id,
  56120 			clock_num,
  56121 			port_num,
  56122 			duration_min);
  56123 }
  56124 
  56125 int
  56126 bcm_loop_ptp_unicast_request_duration_min_set(
  56127 	int	unit,
  56128 	bcm_ptp_stack_id_t	ptp_id,
  56129 	int	clock_num,
  56130 	int	port_num,
  56131 	uint32	duration_min)
  56132 {
  56133 	return bcm_ptp_unicast_request_duration_min_set(
  56134 			BCM_CONTROL(unit)->unit,
  56135 			ptp_id,
  56136 			clock_num,
  56137 			port_num,
  56138 			duration_min);
  56139 }
  56140 
  56141 int
  56142 bcm_loop_ptp_unicast_request_duration_set(
  56143 	int	unit,
  56144 	bcm_ptp_stack_id_t	ptp_id,
  56145 	int	clock_num,
  56146 	int	port_num,
  56147 	uint32	duration)
  56148 {
  56149 	return bcm_ptp_unicast_request_duration_set(
  56150 			BCM_CONTROL(unit)->unit,
  56151 			ptp_id,
  56152 			clock_num,
  56153 			port_num,
  56154 			duration);
  56155 }
  56156 
  56157 #endif	/* INCLUDE_PTP */
  56158 
  56159 int
  56160 bcm_loop_qos_control_get(
  56161 	int	unit,
  56162 	bcm_qos_control_type_t	type,
  56163 	int *	arg)
  56164 {
  56165 	return bcm_qos_control_get(
  56166 			BCM_CONTROL(unit)->unit,
  56167 			type,
  56168 			arg);
  56169 }
  56170 
  56171 int
  56172 bcm_loop_qos_control_set(
  56173 	int	unit,
  56174 	bcm_qos_control_type_t	type,
  56175 	int	arg)
  56176 {
  56177 	return bcm_qos_control_set(
  56178 			BCM_CONTROL(unit)->unit,
  56179 			type,
  56180 			arg);
  56181 }
  56182 
  56183 int
  56184 bcm_loop_qos_detach(
  56185 	int	unit)
  56186 {
  56187 	return bcm_qos_detach(
  56188 			BCM_CONTROL(unit)->unit);
  56189 }
  56190 
  56191 /* bcm_qos_egress_model_t_init not dispatchable */
  56192 
  56193 /* bcm_qos_ingress_model_t_init not dispatchable */
  56194 
  56195 int
  56196 bcm_loop_qos_init(
  56197 	int	unit)
  56198 {
  56199 	return bcm_qos_init(
  56200 			BCM_CONTROL(unit)->unit);
  56201 }
  56202 
  56203 int
  56204 bcm_loop_qos_map_add(
  56205 	int	unit,
  56206 	uint32	flags,
  56207 	bcm_qos_map_t *	map,
  56208 	int	map_id)
  56209 {
  56210 	return bcm_qos_map_add(
  56211 			BCM_CONTROL(unit)->unit,
  56212 			flags,
  56213 			map,
  56214 			map_id);
  56215 }
  56216 
  56217 int
  56218 bcm_loop_qos_map_control_get(
  56219 	int	unit,
  56220 	uint32	map_id,
  56221 	uint32	flags,
  56222 	bcm_qos_map_control_type_t	type,
  56223 	uint64 *	arg)
  56224 {
  56225 	return bcm_qos_map_control_get(
  56226 			BCM_CONTROL(unit)->unit,
  56227 			map_id,
  56228 			flags,
  56229 			type,
  56230 			arg);
  56231 }
  56232 
  56233 int
  56234 bcm_loop_qos_map_control_set(
  56235 	int	unit,
  56236 	uint32	map_id,
  56237 	uint32	flags,
  56238 	bcm_qos_map_control_type_t	type,
  56239 	uint64	arg)
  56240 {
  56241 	return bcm_qos_map_control_set(
  56242 			BCM_CONTROL(unit)->unit,
  56243 			map_id,
  56244 			flags,
  56245 			type,
  56246 			arg);
  56247 }
  56248 
  56249 int
  56250 bcm_loop_qos_map_create(
  56251 	int	unit,
  56252 	uint32	flags,
  56253 	int *	map_id)
  56254 {
  56255 	return bcm_qos_map_create(
  56256 			BCM_CONTROL(unit)->unit,
  56257 			flags,
  56258 			map_id);
  56259 }
  56260 
  56261 int
  56262 bcm_loop_qos_map_delete(
  56263 	int	unit,
  56264 	uint32	flags,
  56265 	bcm_qos_map_t *	map,
  56266 	int	map_id)
  56267 {
  56268 	return bcm_qos_map_delete(
  56269 			BCM_CONTROL(unit)->unit,
  56270 			flags,
  56271 			map,
  56272 			map_id);
  56273 }
  56274 
  56275 int
  56276 bcm_loop_qos_map_destroy(
  56277 	int	unit,
  56278 	int	map_id)
  56279 {
  56280 	return bcm_qos_map_destroy(
  56281 			BCM_CONTROL(unit)->unit,
  56282 			map_id);
  56283 }
  56284 
  56285 int
  56286 bcm_loop_qos_map_id_get_by_profile(
  56287 	int	unit,
  56288 	uint32	flags,
  56289 	int	profile,
  56290 	int *	map_id)
  56291 {
  56292 	return bcm_qos_map_id_get_by_profile(
  56293 			BCM_CONTROL(unit)->unit,
  56294 			flags,
  56295 			profile,
  56296 			map_id);
  56297 }
  56298 
  56299 int
  56300 bcm_loop_qos_map_multi_get(
  56301 	int	unit,
  56302 	uint32	flags,
  56303 	int	map_id,
  56304 	int	array_size,
  56305 	bcm_qos_map_t *	array,
  56306 	int *	array_count)
  56307 {
  56308 	return bcm_qos_map_multi_get(
  56309 			BCM_CONTROL(unit)->unit,
  56310 			flags,
  56311 			map_id,
  56312 			array_size,
  56313 			array,
  56314 			array_count);
  56315 }
  56316 
  56317 /* bcm_qos_map_t_init not dispatchable */
  56318 
  56319 int
  56320 bcm_loop_qos_multi_get(
  56321 	int	unit,
  56322 	int	array_size,
  56323 	int *	map_ids_array,
  56324 	int *	flags_array,
  56325 	int *	array_count)
  56326 {
  56327 	return bcm_qos_multi_get(
  56328 			BCM_CONTROL(unit)->unit,
  56329 			array_size,
  56330 			map_ids_array,
  56331 			flags_array,
  56332 			array_count);
  56333 }
  56334 
  56335 int
  56336 bcm_loop_qos_port_map_get(
  56337 	int	unit,
  56338 	bcm_gport_t	port,
  56339 	int *	ing_map,
  56340 	int *	egr_map)
  56341 {
  56342 	return bcm_qos_port_map_get(
  56343 			BCM_CONTROL(unit)->unit,
  56344 			port,
  56345 			ing_map,
  56346 			egr_map);
  56347 }
  56348 
  56349 int
  56350 bcm_loop_qos_port_map_set(
  56351 	int	unit,
  56352 	bcm_gport_t	port,
  56353 	int	ing_map,
  56354 	int	egr_map)
  56355 {
  56356 	return bcm_qos_port_map_set(
  56357 			BCM_CONTROL(unit)->unit,
  56358 			port,
  56359 			ing_map,
  56360 			egr_map);
  56361 }
  56362 
  56363 int
  56364 bcm_loop_qos_port_map_type_get(
  56365 	int	unit,
  56366 	bcm_gport_t	port,
  56367 	uint32	flags,
  56368 	int *	map_id)
  56369 {
  56370 	return bcm_qos_port_map_type_get(
  56371 			BCM_CONTROL(unit)->unit,
  56372 			port,
  56373 			flags,
  56374 			map_id);
  56375 }
  56376 
  56377 int
  56378 bcm_loop_qos_port_vlan_map_get(
  56379 	int	unit,
  56380 	bcm_port_t	port,
  56381 	bcm_vlan_t	vid,
  56382 	int *	ing_map,
  56383 	int *	egr_map)
  56384 {
  56385 	return bcm_qos_port_vlan_map_get(
  56386 			BCM_CONTROL(unit)->unit,
  56387 			port,
  56388 			vid,
  56389 			ing_map,
  56390 			egr_map);
  56391 }
  56392 
  56393 int
  56394 bcm_loop_qos_port_vlan_map_set(
  56395 	int	unit,
  56396 	bcm_port_t	port,
  56397 	bcm_vlan_t	vid,
  56398 	int	ing_map,
  56399 	int	egr_map)
  56400 {
  56401 	return bcm_qos_port_vlan_map_set(
  56402 			BCM_CONTROL(unit)->unit,
  56403 			port,
  56404 			vid,
  56405 			ing_map,
  56406 			egr_map);
  56407 }
  56408 
  56409 /* bcm_range_config_t_init not dispatchable */
  56410 
  56411 int
  56412 bcm_loop_range_create(
  56413 	int	unit,
  56414 	int	flags,
  56415 	bcm_range_config_t *	range_cfg)
  56416 {
  56417 	return bcm_range_create(
  56418 			BCM_CONTROL(unit)->unit,
  56419 			flags,
  56420 			range_cfg);
  56421 }
  56422 
  56423 int
  56424 bcm_loop_range_destroy(
  56425 	int	unit,
  56426 	bcm_range_t	rid)
  56427 {
  56428 	return bcm_range_destroy(
  56429 			BCM_CONTROL(unit)->unit,
  56430 			rid);
  56431 }
  56432 
  56433 int
  56434 bcm_loop_range_get(
  56435 	int	unit,
  56436 	bcm_range_config_t *	range_cfg)
  56437 {
  56438 	return bcm_range_get(
  56439 			BCM_CONTROL(unit)->unit,
  56440 			range_cfg);
  56441 }
  56442 
  56443 /* bcm_range_group_config_t_init not dispatchable */
  56444 
  56445 int
  56446 bcm_loop_range_group_create(
  56447 	int	unit,
  56448 	bcm_range_group_config_t *	range_group_config)
  56449 {
  56450 	return bcm_range_group_create(
  56451 			BCM_CONTROL(unit)->unit,
  56452 			range_group_config);
  56453 }
  56454 
  56455 int
  56456 bcm_loop_range_group_delete(
  56457 	int	unit,
  56458 	bcm_range_group_config_t *	range_group_config)
  56459 {
  56460 	return bcm_range_group_delete(
  56461 			BCM_CONTROL(unit)->unit,
  56462 			range_group_config);
  56463 }
  56464 
  56465 int
  56466 bcm_loop_range_group_get(
  56467 	int	unit,
  56468 	bcm_range_group_config_t *	range_group_config)
  56469 {
  56470 	return bcm_range_group_get(
  56471 			BCM_CONTROL(unit)->unit,
  56472 			range_group_config);
  56473 }
  56474 
  56475 int
  56476 bcm_loop_range_group_update(
  56477 	int	unit,
  56478 	bcm_range_group_config_t *	range_group_config)
  56479 {
  56480 	return bcm_range_group_update(
  56481 			BCM_CONTROL(unit)->unit,
  56482 			range_group_config);
  56483 }
  56484 
  56485 int
  56486 bcm_loop_range_oper_mode_get(
  56487 	int	unit,
  56488 	bcm_range_oper_mode_t *	oper_mode)
  56489 {
  56490 	return bcm_range_oper_mode_get(
  56491 			BCM_CONTROL(unit)->unit,
  56492 			oper_mode);
  56493 }
  56494 
  56495 int
  56496 bcm_loop_range_oper_mode_set(
  56497 	int	unit,
  56498 	bcm_range_oper_mode_t	oper_mode)
  56499 {
  56500 	return bcm_range_oper_mode_set(
  56501 			BCM_CONTROL(unit)->unit,
  56502 			oper_mode);
  56503 }
  56504 
  56505 int
  56506 bcm_loop_range_traverse(
  56507 	int	unit,
  56508 	bcm_range_traverse_cb	callback,
  56509 	void *	user_data)
  56510 {
  56511 	return bcm_range_traverse(
  56512 			BCM_CONTROL(unit)->unit,
  56513 			callback,
  56514 			user_data);
  56515 }
  56516 
  56517 int
  56518 bcm_loop_rate_bandwidth_get(
  56519 	int	unit,
  56520 	bcm_port_t	port,
  56521 	int	flags,
  56522 	uint32 *	kbits_sec,
  56523 	uint32 *	kbits_burst)
  56524 {
  56525 	return bcm_rate_bandwidth_get(
  56526 			BCM_CONTROL(unit)->unit,
  56527 			port,
  56528 			flags,
  56529 			kbits_sec,
  56530 			kbits_burst);
  56531 }
  56532 
  56533 int
  56534 bcm_loop_rate_bandwidth_set(
  56535 	int	unit,
  56536 	bcm_port_t	port,
  56537 	int	flags,
  56538 	uint32	kbits_sec,
  56539 	uint32	kbits_burst)
  56540 {
  56541 	return bcm_rate_bandwidth_set(
  56542 			BCM_CONTROL(unit)->unit,
  56543 			port,
  56544 			flags,
  56545 			kbits_sec,
  56546 			kbits_burst);
  56547 }
  56548 
  56549 int
  56550 bcm_loop_rate_bcast_get(
  56551 	int	unit,
  56552 	int *	pps,
  56553 	int *	flags,
  56554 	int	port)
  56555 {
  56556 	return bcm_rate_bcast_get(
  56557 			BCM_CONTROL(unit)->unit,
  56558 			pps,
  56559 			flags,
  56560 			port);
  56561 }
  56562 
  56563 int
  56564 bcm_loop_rate_bcast_set(
  56565 	int	unit,
  56566 	int	pps,
  56567 	int	flags,
  56568 	int	port)
  56569 {
  56570 	return bcm_rate_bcast_set(
  56571 			BCM_CONTROL(unit)->unit,
  56572 			pps,
  56573 			flags,
  56574 			port);
  56575 }
  56576 
  56577 int
  56578 bcm_loop_rate_dlfbc_get(
  56579 	int	unit,
  56580 	int *	pps,
  56581 	int *	flags,
  56582 	int	port)
  56583 {
  56584 	return bcm_rate_dlfbc_get(
  56585 			BCM_CONTROL(unit)->unit,
  56586 			pps,
  56587 			flags,
  56588 			port);
  56589 }
  56590 
  56591 int
  56592 bcm_loop_rate_dlfbc_set(
  56593 	int	unit,
  56594 	int	pps,
  56595 	int	flags,
  56596 	int	port)
  56597 {
  56598 	return bcm_rate_dlfbc_set(
  56599 			BCM_CONTROL(unit)->unit,
  56600 			pps,
  56601 			flags,
  56602 			port);
  56603 }
  56604 
  56605 int
  56606 bcm_loop_rate_get(
  56607 	int	unit,
  56608 	int *	pps,
  56609 	int *	flags)
  56610 {
  56611 	return bcm_rate_get(
  56612 			BCM_CONTROL(unit)->unit,
  56613 			pps,
  56614 			flags);
  56615 }
  56616 
  56617 /* bcm_rate_limit_t_init not dispatchable */
  56618 
  56619 int
  56620 bcm_loop_rate_mcast_get(
  56621 	int	unit,
  56622 	int *	pps,
  56623 	int *	flags,
  56624 	int	port)
  56625 {
  56626 	return bcm_rate_mcast_get(
  56627 			BCM_CONTROL(unit)->unit,
  56628 			pps,
  56629 			flags,
  56630 			port);
  56631 }
  56632 
  56633 int
  56634 bcm_loop_rate_mcast_set(
  56635 	int	unit,
  56636 	int	pps,
  56637 	int	flags,
  56638 	int	port)
  56639 {
  56640 	return bcm_rate_mcast_set(
  56641 			BCM_CONTROL(unit)->unit,
  56642 			pps,
  56643 			flags,
  56644 			port);
  56645 }
  56646 
  56647 int
  56648 bcm_loop_rate_packet_get(
  56649 	int	unit,
  56650 	bcm_port_t	port,
  56651 	bcm_rate_packet_t *	pkt_rate)
  56652 {
  56653 	return bcm_rate_packet_get(
  56654 			BCM_CONTROL(unit)->unit,
  56655 			port,
  56656 			pkt_rate);
  56657 }
  56658 
  56659 int
  56660 bcm_loop_rate_packet_set(
  56661 	int	unit,
  56662 	bcm_port_t	port,
  56663 	bcm_rate_packet_t *	pkt_rate)
  56664 {
  56665 	return bcm_rate_packet_set(
  56666 			BCM_CONTROL(unit)->unit,
  56667 			port,
  56668 			pkt_rate);
  56669 }
  56670 
  56671 /* bcm_rate_packet_t_init not dispatchable */
  56672 
  56673 int
  56674 bcm_loop_rate_set(
  56675 	int	unit,
  56676 	int	pps,
  56677 	int	flags)
  56678 {
  56679 	return bcm_rate_set(
  56680 			BCM_CONTROL(unit)->unit,
  56681 			pps,
  56682 			flags);
  56683 }
  56684 
  56685 int
  56686 bcm_loop_rate_type_get(
  56687 	int	unit,
  56688 	bcm_rate_limit_t *	rl)
  56689 {
  56690 	return bcm_rate_type_get(
  56691 			BCM_CONTROL(unit)->unit,
  56692 			rl);
  56693 }
  56694 
  56695 int
  56696 bcm_loop_rate_type_set(
  56697 	int	unit,
  56698 	bcm_rate_limit_t *	rl)
  56699 {
  56700 	return bcm_rate_type_set(
  56701 			BCM_CONTROL(unit)->unit,
  56702 			rl);
  56703 }
  56704 
  56705 #ifdef	INCLUDE_REGEX
  56706 
  56707 int
  56708 bcm_loop_regex_config_get(
  56709 	int	unit,
  56710 	bcm_regex_config_t *	config)
  56711 {
  56712 	return bcm_regex_config_get(
  56713 			BCM_CONTROL(unit)->unit,
  56714 			config);
  56715 }
  56716 
  56717 int
  56718 bcm_loop_regex_config_set(
  56719 	int	unit,
  56720 	bcm_regex_config_t *	config)
  56721 {
  56722 	return bcm_regex_config_set(
  56723 			BCM_CONTROL(unit)->unit,
  56724 			config);
  56725 }
  56726 
  56727 /* bcm_regex_config_t_init not dispatchable */
  56728 
  56729 /* bcm_regex_engine_config_t_init not dispatchable */
  56730 
  56731 int
  56732 bcm_loop_regex_engine_create(
  56733 	int	unit,
  56734 	bcm_regex_engine_config_t *	config,
  56735 	bcm_regex_engine_t *	engid)
  56736 {
  56737 	return bcm_regex_engine_create(
  56738 			BCM_CONTROL(unit)->unit,
  56739 			config,
  56740 			engid);
  56741 }
  56742 
  56743 int
  56744 bcm_loop_regex_engine_destroy(
  56745 	int	unit,
  56746 	bcm_regex_engine_t	engid)
  56747 {
  56748 	return bcm_regex_engine_destroy(
  56749 			BCM_CONTROL(unit)->unit,
  56750 			engid);
  56751 }
  56752 
  56753 int
  56754 bcm_loop_regex_engine_get(
  56755 	int	unit,
  56756 	bcm_regex_engine_t	engid,
  56757 	bcm_regex_engine_config_t *	config)
  56758 {
  56759 	return bcm_regex_engine_get(
  56760 			BCM_CONTROL(unit)->unit,
  56761 			engid,
  56762 			config);
  56763 }
  56764 
  56765 int
  56766 bcm_loop_regex_engine_info_get(
  56767 	int	unit,
  56768 	int	engine_id,
  56769 	bcm_regex_engine_info_t *	regex_engine_info)
  56770 {
  56771 	return bcm_regex_engine_info_get(
  56772 			BCM_CONTROL(unit)->unit,
  56773 			engine_id,
  56774 			regex_engine_info);
  56775 }
  56776 
  56777 int
  56778 bcm_loop_regex_engine_traverse(
  56779 	int	unit,
  56780 	bcm_regex_engine_traverse_cb	cb,
  56781 	void *	user_data)
  56782 {
  56783 	return bcm_regex_engine_traverse(
  56784 			BCM_CONTROL(unit)->unit,
  56785 			cb,
  56786 			user_data);
  56787 }
  56788 
  56789 int
  56790 bcm_loop_regex_exclude_add(
  56791 	int	unit,
  56792 	uint8	protocol,
  56793 	uint16	l4_start,
  56794 	uint16	l4_end)
  56795 {
  56796 	return bcm_regex_exclude_add(
  56797 			BCM_CONTROL(unit)->unit,
  56798 			protocol,
  56799 			l4_start,
  56800 			l4_end);
  56801 }
  56802 
  56803 int
  56804 bcm_loop_regex_exclude_delete(
  56805 	int	unit,
  56806 	uint8	protocol,
  56807 	uint16	l4_start,
  56808 	uint16	l4_end)
  56809 {
  56810 	return bcm_regex_exclude_delete(
  56811 			BCM_CONTROL(unit)->unit,
  56812 			protocol,
  56813 			l4_start,
  56814 			l4_end);
  56815 }
  56816 
  56817 int
  56818 bcm_loop_regex_exclude_delete_all(
  56819 	int	unit)
  56820 {
  56821 	return bcm_regex_exclude_delete_all(
  56822 			BCM_CONTROL(unit)->unit);
  56823 }
  56824 
  56825 int
  56826 bcm_loop_regex_exclude_get(
  56827 	int	unit,
  56828 	int	array_size,
  56829 	uint8 *	protocol,
  56830 	uint16 *	l4low,
  56831 	uint16 *	l4high,
  56832 	int *	array_count)
  56833 {
  56834 	return bcm_regex_exclude_get(
  56835 			BCM_CONTROL(unit)->unit,
  56836 			array_size,
  56837 			protocol,
  56838 			l4low,
  56839 			l4high,
  56840 			array_count);
  56841 }
  56842 
  56843 int
  56844 bcm_loop_regex_get_match_id(
  56845 	int	unit,
  56846 	int	signature_id,
  56847 	int *	match_id)
  56848 {
  56849 	return bcm_regex_get_match_id(
  56850 			BCM_CONTROL(unit)->unit,
  56851 			signature_id,
  56852 			match_id);
  56853 }
  56854 
  56855 int
  56856 bcm_loop_regex_get_sig_id(
  56857 	int	unit,
  56858 	int	match_id,
  56859 	int *	signature_id)
  56860 {
  56861 	return bcm_regex_get_sig_id(
  56862 			BCM_CONTROL(unit)->unit,
  56863 			match_id,
  56864 			signature_id);
  56865 }
  56866 
  56867 int
  56868 bcm_loop_regex_info_get(
  56869 	int	unit,
  56870 	bcm_regex_info_t *	regex_info)
  56871 {
  56872 	return bcm_regex_info_get(
  56873 			BCM_CONTROL(unit)->unit,
  56874 			regex_info);
  56875 }
  56876 
  56877 int
  56878 bcm_loop_regex_init(
  56879 	int	unit)
  56880 {
  56881 	return bcm_regex_init(
  56882 			BCM_CONTROL(unit)->unit);
  56883 }
  56884 
  56885 int
  56886 bcm_loop_regex_match_check(
  56887 	int	unit,
  56888 	bcm_regex_match_t *	matches,
  56889 	int	count,
  56890 	int *	metric)
  56891 {
  56892 	return bcm_regex_match_check(
  56893 			BCM_CONTROL(unit)->unit,
  56894 			matches,
  56895 			count,
  56896 			metric);
  56897 }
  56898 
  56899 int
  56900 bcm_loop_regex_match_set(
  56901 	int	unit,
  56902 	bcm_regex_engine_t	engid,
  56903 	bcm_regex_match_t *	matches,
  56904 	int	count)
  56905 {
  56906 	return bcm_regex_match_set(
  56907 			BCM_CONTROL(unit)->unit,
  56908 			engid,
  56909 			matches,
  56910 			count);
  56911 }
  56912 
  56913 /* bcm_regex_match_t_init not dispatchable */
  56914 
  56915 int
  56916 bcm_loop_regex_policy_action_add(
  56917 	int	unit,
  56918 	bcm_regex_policy_t	policy,
  56919 	bcm_field_action_t	action,
  56920 	uint32	param0,
  56921 	uint32	param1)
  56922 {
  56923 	return bcm_regex_policy_action_add(
  56924 			BCM_CONTROL(unit)->unit,
  56925 			policy,
  56926 			action,
  56927 			param0,
  56928 			param1);
  56929 }
  56930 
  56931 int
  56932 bcm_loop_regex_policy_action_delete(
  56933 	int	unit,
  56934 	bcm_regex_policy_t	policy,
  56935 	bcm_field_action_t	action,
  56936 	uint32	param0,
  56937 	uint32	param1)
  56938 {
  56939 	return bcm_regex_policy_action_delete(
  56940 			BCM_CONTROL(unit)->unit,
  56941 			policy,
  56942 			action,
  56943 			param0,
  56944 			param1);
  56945 }
  56946 
  56947 int
  56948 bcm_loop_regex_policy_action_get(
  56949 	int	unit,
  56950 	bcm_regex_policy_t	policy,
  56951 	bcm_field_action_t	action,
  56952 	uint32 *	param0,
  56953 	uint32 *	param1)
  56954 {
  56955 	return bcm_regex_policy_action_get(
  56956 			BCM_CONTROL(unit)->unit,
  56957 			policy,
  56958 			action,
  56959 			param0,
  56960 			param1);
  56961 }
  56962 
  56963 int
  56964 bcm_loop_regex_policy_action_mac_add(
  56965 	int	unit,
  56966 	bcm_regex_policy_t	policy,
  56967 	bcm_field_action_t	action,
  56968 	bcm_mac_t	mac)
  56969 {
  56970 	return bcm_regex_policy_action_mac_add(
  56971 			BCM_CONTROL(unit)->unit,
  56972 			policy,
  56973 			action,
  56974 			mac);
  56975 }
  56976 
  56977 int
  56978 bcm_loop_regex_policy_action_mac_get(
  56979 	int	unit,
  56980 	bcm_regex_policy_t	policy,
  56981 	bcm_field_action_t	action,
  56982 	bcm_mac_t *	mac)
  56983 {
  56984 	return bcm_regex_policy_action_mac_get(
  56985 			BCM_CONTROL(unit)->unit,
  56986 			policy,
  56987 			action,
  56988 			mac);
  56989 }
  56990 
  56991 int
  56992 bcm_loop_regex_policy_action_ports_add(
  56993 	int	unit,
  56994 	bcm_regex_policy_t	policy,
  56995 	bcm_field_action_t	action,
  56996 	bcm_pbmp_t	pbmp)
  56997 {
  56998 	return bcm_regex_policy_action_ports_add(
  56999 			BCM_CONTROL(unit)->unit,
  57000 			policy,
  57001 			action,
  57002 			pbmp);
  57003 }
  57004 
  57005 int
  57006 bcm_loop_regex_policy_action_ports_get(
  57007 	int	unit,
  57008 	bcm_regex_policy_t	policy,
  57009 	bcm_field_action_t	action,
  57010 	bcm_pbmp_t *	pbmp)
  57011 {
  57012 	return bcm_regex_policy_action_ports_get(
  57013 			BCM_CONTROL(unit)->unit,
  57014 			policy,
  57015 			action,
  57016 			pbmp);
  57017 }
  57018 
  57019 int
  57020 bcm_loop_regex_policy_action_remove(
  57021 	int	unit,
  57022 	bcm_regex_policy_t	policy,
  57023 	bcm_field_action_t	action)
  57024 {
  57025 	return bcm_regex_policy_action_remove(
  57026 			BCM_CONTROL(unit)->unit,
  57027 			policy,
  57028 			action);
  57029 }
  57030 
  57031 int
  57032 bcm_loop_regex_policy_action_remove_all(
  57033 	int	unit,
  57034 	bcm_regex_policy_t	policy)
  57035 {
  57036 	return bcm_regex_policy_action_remove_all(
  57037 			BCM_CONTROL(unit)->unit,
  57038 			policy);
  57039 }
  57040 
  57041 int
  57042 bcm_loop_regex_policy_create(
  57043 	int	unit,
  57044 	int	flags,
  57045 	bcm_regex_policy_t *	policy)
  57046 {
  57047 	return bcm_regex_policy_create(
  57048 			BCM_CONTROL(unit)->unit,
  57049 			flags,
  57050 			policy);
  57051 }
  57052 
  57053 int
  57054 bcm_loop_regex_policy_destroy(
  57055 	int	unit,
  57056 	bcm_regex_policy_t	policy)
  57057 {
  57058 	return bcm_regex_policy_destroy(
  57059 			BCM_CONTROL(unit)->unit,
  57060 			policy);
  57061 }
  57062 
  57063 int
  57064 bcm_loop_regex_policy_destroy_all(
  57065 	int	unit)
  57066 {
  57067 	return bcm_regex_policy_destroy_all(
  57068 			BCM_CONTROL(unit)->unit);
  57069 }
  57070 
  57071 int
  57072 bcm_loop_regex_policy_install(
  57073 	int	unit,
  57074 	bcm_regex_policy_t	policy)
  57075 {
  57076 	return bcm_regex_policy_install(
  57077 			BCM_CONTROL(unit)->unit,
  57078 			policy);
  57079 }
  57080 
  57081 int
  57082 bcm_loop_regex_policy_policer_attach(
  57083 	int	unit,
  57084 	bcm_regex_policy_t	policy,
  57085 	int	level,
  57086 	bcm_policer_t	policer_id)
  57087 {
  57088 	return bcm_regex_policy_policer_attach(
  57089 			BCM_CONTROL(unit)->unit,
  57090 			policy,
  57091 			level,
  57092 			policer_id);
  57093 }
  57094 
  57095 int
  57096 bcm_loop_regex_policy_policer_detach(
  57097 	int	unit,
  57098 	bcm_regex_policy_t	policy,
  57099 	int	level)
  57100 {
  57101 	return bcm_regex_policy_policer_detach(
  57102 			BCM_CONTROL(unit)->unit,
  57103 			policy,
  57104 			level);
  57105 }
  57106 
  57107 int
  57108 bcm_loop_regex_policy_policer_detach_all(
  57109 	int	unit,
  57110 	bcm_regex_policy_t	policy)
  57111 {
  57112 	return bcm_regex_policy_policer_detach_all(
  57113 			BCM_CONTROL(unit)->unit,
  57114 			policy);
  57115 }
  57116 
  57117 int
  57118 bcm_loop_regex_policy_policer_get(
  57119 	int	unit,
  57120 	bcm_regex_policy_t	policy,
  57121 	int	level,
  57122 	bcm_policer_t *	policer_id)
  57123 {
  57124 	return bcm_regex_policy_policer_get(
  57125 			BCM_CONTROL(unit)->unit,
  57126 			policy,
  57127 			level,
  57128 			policer_id);
  57129 }
  57130 
  57131 int
  57132 bcm_loop_regex_policy_remove(
  57133 	int	unit,
  57134 	bcm_regex_policy_t	policy)
  57135 {
  57136 	return bcm_regex_policy_remove(
  57137 			BCM_CONTROL(unit)->unit,
  57138 			policy);
  57139 }
  57140 
  57141 int
  57142 bcm_loop_regex_policy_stat_attach(
  57143 	int	unit,
  57144 	bcm_regex_policy_t	policy,
  57145 	int	stat_id)
  57146 {
  57147 	return bcm_regex_policy_stat_attach(
  57148 			BCM_CONTROL(unit)->unit,
  57149 			policy,
  57150 			stat_id);
  57151 }
  57152 
  57153 int
  57154 bcm_loop_regex_policy_stat_detach(
  57155 	int	unit,
  57156 	bcm_regex_policy_t	policy,
  57157 	int	stat_id)
  57158 {
  57159 	return bcm_regex_policy_stat_detach(
  57160 			BCM_CONTROL(unit)->unit,
  57161 			policy,
  57162 			stat_id);
  57163 }
  57164 
  57165 int
  57166 bcm_loop_regex_policy_stat_get(
  57167 	int	unit,
  57168 	bcm_regex_policy_t	policy,
  57169 	int *	stat_id)
  57170 {
  57171 	return bcm_regex_policy_stat_get(
  57172 			BCM_CONTROL(unit)->unit,
  57173 			policy,
  57174 			stat_id);
  57175 }
  57176 
  57177 int
  57178 bcm_loop_regex_report_register(
  57179 	int	unit,
  57180 	uint32	reports,
  57181 	bcm_regex_report_cb	callback,
  57182 	void *	user_data)
  57183 {
  57184 	return bcm_regex_report_register(
  57185 			BCM_CONTROL(unit)->unit,
  57186 			reports,
  57187 			callback,
  57188 			user_data);
  57189 }
  57190 
  57191 /* bcm_regex_report_t_init not dispatchable */
  57192 
  57193 int
  57194 bcm_loop_regex_report_unregister(
  57195 	int	unit,
  57196 	uint32	reports,
  57197 	bcm_regex_report_cb	callback,
  57198 	void *	user_data)
  57199 {
  57200 	return bcm_regex_report_unregister(
  57201 			BCM_CONTROL(unit)->unit,
  57202 			reports,
  57203 			callback,
  57204 			user_data);
  57205 }
  57206 
  57207 int
  57208 bcm_loop_regex_session_add(
  57209 	int	unit,
  57210 	int	flags,
  57211 	bcm_regex_session_key_t *	key,
  57212 	bcm_regex_session_t *	session)
  57213 {
  57214 	return bcm_regex_session_add(
  57215 			BCM_CONTROL(unit)->unit,
  57216 			flags,
  57217 			key,
  57218 			session);
  57219 }
  57220 
  57221 int
  57222 bcm_loop_regex_session_delete(
  57223 	int	unit,
  57224 	bcm_regex_session_key_t *	key)
  57225 {
  57226 	return bcm_regex_session_delete(
  57227 			BCM_CONTROL(unit)->unit,
  57228 			key);
  57229 }
  57230 
  57231 int
  57232 bcm_loop_regex_session_delete_all(
  57233 	int	unit)
  57234 {
  57235 	return bcm_regex_session_delete_all(
  57236 			BCM_CONTROL(unit)->unit);
  57237 }
  57238 
  57239 int
  57240 bcm_loop_regex_session_get(
  57241 	int	unit,
  57242 	int	flags,
  57243 	bcm_regex_session_key_t *	key,
  57244 	bcm_regex_session_t *	session)
  57245 {
  57246 	return bcm_regex_session_get(
  57247 			BCM_CONTROL(unit)->unit,
  57248 			flags,
  57249 			key,
  57250 			session);
  57251 }
  57252 
  57253 /* bcm_regex_session_key_t_init not dispatchable */
  57254 
  57255 int
  57256 bcm_loop_regex_session_policy_update(
  57257 	int	unit,
  57258 	int	flags,
  57259 	int	flow_index,
  57260 	bcm_regex_policy_t	policy)
  57261 {
  57262 	return bcm_regex_session_policy_update(
  57263 			BCM_CONTROL(unit)->unit,
  57264 			flags,
  57265 			flow_index,
  57266 			policy);
  57267 }
  57268 
  57269 /* bcm_regex_session_t_init not dispatchable */
  57270 
  57271 int
  57272 bcm_loop_regex_session_traverse(
  57273 	int	unit,
  57274 	int	flags,
  57275 	bcm_regex_session_traverse_cb	cb,
  57276 	void *	user_data)
  57277 {
  57278 	return bcm_regex_session_traverse(
  57279 			BCM_CONTROL(unit)->unit,
  57280 			flags,
  57281 			cb,
  57282 			user_data);
  57283 }
  57284 
  57285 int
  57286 bcm_loop_regex_stat_create(
  57287 	int	unit,
  57288 	int	flags,
  57289 	int	nstat,
  57290 	bcm_field_stat_t *	stat_arr,
  57291 	int *	stat_id)
  57292 {
  57293 	return bcm_regex_stat_create(
  57294 			BCM_CONTROL(unit)->unit,
  57295 			flags,
  57296 			nstat,
  57297 			stat_arr,
  57298 			stat_id);
  57299 }
  57300 
  57301 int
  57302 bcm_loop_regex_stat_destroy(
  57303 	int	unit,
  57304 	int	stat_id)
  57305 {
  57306 	return bcm_regex_stat_destroy(
  57307 			BCM_CONTROL(unit)->unit,
  57308 			stat_id);
  57309 }
  57310 
  57311 int
  57312 bcm_loop_regex_stat_get(
  57313 	int	unit,
  57314 	bcm_regex_stat_t	type,
  57315 	uint64 *	val)
  57316 {
  57317 	return bcm_regex_stat_get(
  57318 			BCM_CONTROL(unit)->unit,
  57319 			type,
  57320 			val);
  57321 }
  57322 
  57323 int
  57324 bcm_loop_regex_stat_set(
  57325 	int	unit,
  57326 	bcm_regex_stat_t	type,
  57327 	uint64	val)
  57328 {
  57329 	return bcm_regex_stat_set(
  57330 			BCM_CONTROL(unit)->unit,
  57331 			type,
  57332 			val);
  57333 }
  57334 
  57335 #endif	/* INCLUDE_REGEX */
  57336 
  57337 int
  57338 bcm_loop_rx_CopyToCpu_config_add(
  57339 	int	unit,
  57340 	uint32	options,
  57341 	bcm_rx_CopyToCpu_config_t *	copyToCpu_config)
  57342 {
  57343 	return bcm_rx_CopyToCpu_config_add(
  57344 			BCM_CONTROL(unit)->unit,
  57345 			options,
  57346 			copyToCpu_config);
  57347 }
  57348 
  57349 int
  57350 bcm_loop_rx_CopyToCpu_config_delete(
  57351 	int	unit,
  57352 	int	index)
  57353 {
  57354 	return bcm_rx_CopyToCpu_config_delete(
  57355 			BCM_CONTROL(unit)->unit,
  57356 			index);
  57357 }
  57358 
  57359 int
  57360 bcm_loop_rx_CopyToCpu_config_delete_all(
  57361 	int	unit)
  57362 {
  57363 	return bcm_rx_CopyToCpu_config_delete_all(
  57364 			BCM_CONTROL(unit)->unit);
  57365 }
  57366 
  57367 int
  57368 bcm_loop_rx_CopyToCpu_config_get(
  57369 	int	unit,
  57370 	int	index,
  57371 	bcm_rx_CopyToCpu_config_t *	copyToCpu_config)
  57372 {
  57373 	return bcm_rx_CopyToCpu_config_get(
  57374 			BCM_CONTROL(unit)->unit,
  57375 			index,
  57376 			copyToCpu_config);
  57377 }
  57378 
  57379 int
  57380 bcm_loop_rx_CopyToCpu_config_get_all(
  57381 	int	unit,
  57382 	int	entries_max,
  57383 	bcm_rx_CopyToCpu_config_t *	copyToCpu_config,
  57384 	int *	entries_count)
  57385 {
  57386 	return bcm_rx_CopyToCpu_config_get_all(
  57387 			BCM_CONTROL(unit)->unit,
  57388 			entries_max,
  57389 			copyToCpu_config,
  57390 			entries_count);
  57391 }
  57392 
  57393 /* bcm_rx_CopyToCpu_config_t_init not dispatchable */
  57394 
  57395 int
  57396 bcm_loop_rx_active(
  57397 	int	unit)
  57398 {
  57399 	return bcm_rx_active(
  57400 			BCM_CONTROL(unit)->unit);
  57401 }
  57402 
  57403 int
  57404 bcm_loop_rx_alloc(
  57405 	int	unit,
  57406 	int	pkt_size,
  57407 	uint32	flags,
  57408 	void **	buf)
  57409 {
  57410 	return bcm_rx_alloc(
  57411 			BCM_CONTROL(unit)->unit,
  57412 			pkt_size,
  57413 			flags,
  57414 			buf);
  57415 }
  57416 
  57417 int
  57418 bcm_loop_rx_burst_get(
  57419 	int	unit,
  57420 	int *	burst)
  57421 {
  57422 	return bcm_rx_burst_get(
  57423 			BCM_CONTROL(unit)->unit,
  57424 			burst);
  57425 }
  57426 
  57427 int
  57428 bcm_loop_rx_burst_set(
  57429 	int	unit,
  57430 	int	burst)
  57431 {
  57432 	return bcm_rx_burst_set(
  57433 			BCM_CONTROL(unit)->unit,
  57434 			burst);
  57435 }
  57436 
  57437 int
  57438 bcm_loop_rx_cfg_get(
  57439 	int	unit,
  57440 	bcm_rx_cfg_t *	cfg)
  57441 {
  57442 	return bcm_rx_cfg_get(
  57443 			BCM_CONTROL(unit)->unit,
  57444 			cfg);
  57445 }
  57446 
  57447 int
  57448 bcm_loop_rx_cfg_init(
  57449 	int	unit)
  57450 {
  57451 	return bcm_rx_cfg_init(
  57452 			BCM_CONTROL(unit)->unit);
  57453 }
  57454 
  57455 /* bcm_rx_cfg_t_init not dispatchable */
  57456 
  57457 int
  57458 bcm_loop_rx_channels_running(
  57459 	int	unit,
  57460 	uint32 *	channels)
  57461 {
  57462 	return bcm_rx_channels_running(
  57463 			BCM_CONTROL(unit)->unit,
  57464 			channels);
  57465 }
  57466 
  57467 int
  57468 bcm_loop_rx_clear(
  57469 	int	unit)
  57470 {
  57471 	return bcm_rx_clear(
  57472 			BCM_CONTROL(unit)->unit);
  57473 }
  57474 
  57475 int
  57476 bcm_loop_rx_control_get(
  57477 	int	unit,
  57478 	bcm_rx_control_t	type,
  57479 	int *	arg)
  57480 {
  57481 	return bcm_rx_control_get(
  57482 			BCM_CONTROL(unit)->unit,
  57483 			type,
  57484 			arg);
  57485 }
  57486 
  57487 int
  57488 bcm_loop_rx_control_set(
  57489 	int	unit,
  57490 	bcm_rx_control_t	type,
  57491 	int	arg)
  57492 {
  57493 	return bcm_rx_control_set(
  57494 			BCM_CONTROL(unit)->unit,
  57495 			type,
  57496 			arg);
  57497 }
  57498 
  57499 int
  57500 bcm_loop_rx_cos_burst_get(
  57501 	int	unit,
  57502 	int	cos,
  57503 	int *	burst)
  57504 {
  57505 	return bcm_rx_cos_burst_get(
  57506 			BCM_CONTROL(unit)->unit,
  57507 			cos,
  57508 			burst);
  57509 }
  57510 
  57511 int
  57512 bcm_loop_rx_cos_burst_set(
  57513 	int	unit,
  57514 	int	cos,
  57515 	int	burst)
  57516 {
  57517 	return bcm_rx_cos_burst_set(
  57518 			BCM_CONTROL(unit)->unit,
  57519 			cos,
  57520 			burst);
  57521 }
  57522 
  57523 int
  57524 bcm_loop_rx_cos_max_len_get(
  57525 	int	unit,
  57526 	int	cos,
  57527 	int *	max_q_len)
  57528 {
  57529 	return bcm_rx_cos_max_len_get(
  57530 			BCM_CONTROL(unit)->unit,
  57531 			cos,
  57532 			max_q_len);
  57533 }
  57534 
  57535 int
  57536 bcm_loop_rx_cos_max_len_set(
  57537 	int	unit,
  57538 	int	cos,
  57539 	int	max_q_len)
  57540 {
  57541 	return bcm_rx_cos_max_len_set(
  57542 			BCM_CONTROL(unit)->unit,
  57543 			cos,
  57544 			max_q_len);
  57545 }
  57546 
  57547 int
  57548 bcm_loop_rx_cos_rate_get(
  57549 	int	unit,
  57550 	int	cos,
  57551 	int *	pps)
  57552 {
  57553 	return bcm_rx_cos_rate_get(
  57554 			BCM_CONTROL(unit)->unit,
  57555 			cos,
  57556 			pps);
  57557 }
  57558 
  57559 int
  57560 bcm_loop_rx_cos_rate_set(
  57561 	int	unit,
  57562 	int	cos,
  57563 	int	pps)
  57564 {
  57565 	return bcm_rx_cos_rate_set(
  57566 			BCM_CONTROL(unit)->unit,
  57567 			cos,
  57568 			pps);
  57569 }
  57570 
  57571 int
  57572 bcm_loop_rx_cosq_mapping_delete(
  57573 	int	unit,
  57574 	int	index)
  57575 {
  57576 	return bcm_rx_cosq_mapping_delete(
  57577 			BCM_CONTROL(unit)->unit,
  57578 			index);
  57579 }
  57580 
  57581 int
  57582 bcm_loop_rx_cosq_mapping_extended_get(
  57583 	int	unit,
  57584 	bcm_rx_cosq_mapping_t *	rx_cosq_mapping)
  57585 {
  57586 	return bcm_rx_cosq_mapping_extended_get(
  57587 			BCM_CONTROL(unit)->unit,
  57588 			rx_cosq_mapping);
  57589 }
  57590 
  57591 int
  57592 bcm_loop_rx_cosq_mapping_extended_set(
  57593 	int	unit,
  57594 	uint32	options,
  57595 	bcm_rx_cosq_mapping_t *	rx_cosq_mapping)
  57596 {
  57597 	return bcm_rx_cosq_mapping_extended_set(
  57598 			BCM_CONTROL(unit)->unit,
  57599 			options,
  57600 			rx_cosq_mapping);
  57601 }
  57602 
  57603 int
  57604 bcm_loop_rx_cosq_mapping_get(
  57605 	int	unit,
  57606 	int	index,
  57607 	bcm_rx_reasons_t *	reasons,
  57608 	bcm_rx_reasons_t *	reasons_mask,
  57609 	uint8 *	int_prio,
  57610 	uint8 *	int_prio_mask,
  57611 	uint32 *	packet_type,
  57612 	uint32 *	packet_type_mask,
  57613 	bcm_cos_queue_t *	cosq)
  57614 {
  57615 	return bcm_rx_cosq_mapping_get(
  57616 			BCM_CONTROL(unit)->unit,
  57617 			index,
  57618 			reasons,
  57619 			reasons_mask,
  57620 			int_prio,
  57621 			int_prio_mask,
  57622 			packet_type,
  57623 			packet_type_mask,
  57624 			cosq);
  57625 }
  57626 
  57627 int
  57628 bcm_loop_rx_cosq_mapping_reasons_get(
  57629 	int	unit,
  57630 	bcm_rx_reasons_t *	reasons)
  57631 {
  57632 	return bcm_rx_cosq_mapping_reasons_get(
  57633 			BCM_CONTROL(unit)->unit,
  57634 			reasons);
  57635 }
  57636 
  57637 int
  57638 bcm_loop_rx_cosq_mapping_set(
  57639 	int	unit,
  57640 	int	index,
  57641 	bcm_rx_reasons_t	reasons,
  57642 	bcm_rx_reasons_t	reasons_mask,
  57643 	uint8	int_prio,
  57644 	uint8	int_prio_mask,
  57645 	uint32	packet_type,
  57646 	uint32	packet_type_mask,
  57647 	bcm_cos_queue_t	cosq)
  57648 {
  57649 	return bcm_rx_cosq_mapping_set(
  57650 			BCM_CONTROL(unit)->unit,
  57651 			index,
  57652 			reasons,
  57653 			reasons_mask,
  57654 			int_prio,
  57655 			int_prio_mask,
  57656 			packet_type,
  57657 			packet_type_mask,
  57658 			cosq);
  57659 }
  57660 
  57661 int
  57662 bcm_loop_rx_cosq_mapping_size_get(
  57663 	int	unit,
  57664 	int *	size)
  57665 {
  57666 	return bcm_rx_cosq_mapping_size_get(
  57667 			BCM_CONTROL(unit)->unit,
  57668 			size);
  57669 }
  57670 
  57671 /* bcm_rx_cosq_mapping_t_init not dispatchable */
  57672 
  57673 int
  57674 bcm_loop_rx_cpu_rate_get(
  57675 	int	unit,
  57676 	int *	pps)
  57677 {
  57678 	return bcm_rx_cpu_rate_get(
  57679 			BCM_CONTROL(unit)->unit,
  57680 			pps);
  57681 }
  57682 
  57683 int
  57684 bcm_loop_rx_cpu_rate_set(
  57685 	int	unit,
  57686 	int	pps)
  57687 {
  57688 	return bcm_rx_cpu_rate_set(
  57689 			BCM_CONTROL(unit)->unit,
  57690 			pps);
  57691 }
  57692 
  57693 int
  57694 bcm_loop_rx_free(
  57695 	int	unit,
  57696 	void *	pkt_data)
  57697 {
  57698 	return bcm_rx_free(
  57699 			BCM_CONTROL(unit)->unit,
  57700 			pkt_data);
  57701 }
  57702 
  57703 int
  57704 bcm_loop_rx_free_enqueue(
  57705 	int	unit,
  57706 	void *	pkt_data)
  57707 {
  57708 	return bcm_rx_free_enqueue(
  57709 			BCM_CONTROL(unit)->unit,
  57710 			pkt_data);
  57711 }
  57712 
  57713 int
  57714 bcm_loop_rx_init(
  57715 	int	unit)
  57716 {
  57717 	return bcm_rx_init(
  57718 			BCM_CONTROL(unit)->unit);
  57719 }
  57720 
  57721 /* bcm_rx_mtu_config_t_init not dispatchable */
  57722 
  57723 int
  57724 bcm_loop_rx_mtu_get(
  57725 	int	unit,
  57726 	bcm_rx_mtu_config_t *	config)
  57727 {
  57728 	return bcm_rx_mtu_get(
  57729 			BCM_CONTROL(unit)->unit,
  57730 			config);
  57731 }
  57732 
  57733 int
  57734 bcm_loop_rx_mtu_profile_get(
  57735 	int	unit,
  57736 	uint32	flags,
  57737 	bcm_rx_mtu_profile_key_t *	mtu_key,
  57738 	bcm_rx_mtu_profile_value_t *	mtu_value)
  57739 {
  57740 	return bcm_rx_mtu_profile_get(
  57741 			BCM_CONTROL(unit)->unit,
  57742 			flags,
  57743 			mtu_key,
  57744 			mtu_value);
  57745 }
  57746 
  57747 /* bcm_rx_mtu_profile_key_t_init not dispatchable */
  57748 
  57749 int
  57750 bcm_loop_rx_mtu_profile_set(
  57751 	int	unit,
  57752 	uint32	flags,
  57753 	bcm_rx_mtu_profile_key_t *	mtu_key,
  57754 	bcm_rx_mtu_profile_value_t *	mtu_value)
  57755 {
  57756 	return bcm_rx_mtu_profile_set(
  57757 			BCM_CONTROL(unit)->unit,
  57758 			flags,
  57759 			mtu_key,
  57760 			mtu_value);
  57761 }
  57762 
  57763 /* bcm_rx_mtu_profile_value_t_init not dispatchable */
  57764 
  57765 int
  57766 bcm_loop_rx_mtu_set(
  57767 	int	unit,
  57768 	bcm_rx_mtu_config_t *	config)
  57769 {
  57770 	return bcm_rx_mtu_set(
  57771 			BCM_CONTROL(unit)->unit,
  57772 			config);
  57773 }
  57774 
  57775 /* bcm_rx_pool_alloc not dispatchable */
  57776 
  57777 /* bcm_rx_pool_cleanup not dispatchable */
  57778 
  57779 /* bcm_rx_pool_dump not dispatchable */
  57780 
  57781 /* bcm_rx_pool_free not dispatchable */
  57782 
  57783 /* bcm_rx_pool_free_verify not dispatchable */
  57784 
  57785 /* bcm_rx_pool_own not dispatchable */
  57786 
  57787 /* bcm_rx_pool_report not dispatchable */
  57788 
  57789 /* bcm_rx_pool_setup not dispatchable */
  57790 
  57791 /* bcm_rx_pool_setup_done not dispatchable */
  57792 
  57793 int
  57794 bcm_loop_rx_queue_channel_get(
  57795 	int	unit,
  57796 	bcm_cos_queue_t	queue_id,
  57797 	bcm_rx_chan_t *	chan_id)
  57798 {
  57799 	return bcm_rx_queue_channel_get(
  57800 			BCM_CONTROL(unit)->unit,
  57801 			queue_id,
  57802 			chan_id);
  57803 }
  57804 
  57805 int
  57806 bcm_loop_rx_queue_channel_set(
  57807 	int	unit,
  57808 	bcm_cos_queue_t	queue_id,
  57809 	bcm_rx_chan_t	chan_id)
  57810 {
  57811 	return bcm_rx_queue_channel_set(
  57812 			BCM_CONTROL(unit)->unit,
  57813 			queue_id,
  57814 			chan_id);
  57815 }
  57816 
  57817 int
  57818 bcm_loop_rx_queue_max_get(
  57819 	int	unit,
  57820 	bcm_cos_queue_t *	cosq)
  57821 {
  57822 	return bcm_rx_queue_max_get(
  57823 			BCM_CONTROL(unit)->unit,
  57824 			cosq);
  57825 }
  57826 
  57827 int
  57828 bcm_loop_rx_queue_packet_count_get(
  57829 	int	unit,
  57830 	bcm_cos_queue_t	cosq,
  57831 	int *	packet_count)
  57832 {
  57833 	return bcm_rx_queue_packet_count_get(
  57834 			BCM_CONTROL(unit)->unit,
  57835 			cosq,
  57836 			packet_count);
  57837 }
  57838 
  57839 int
  57840 bcm_loop_rx_queue_rate_limit_status_get(
  57841 	int	unit,
  57842 	bcm_cos_queue_t	cosq,
  57843 	int *	packet_tokens)
  57844 {
  57845 	return bcm_rx_queue_rate_limit_status_get(
  57846 			BCM_CONTROL(unit)->unit,
  57847 			cosq,
  57848 			packet_tokens);
  57849 }
  57850 
  57851 int
  57852 bcm_loop_rx_queue_register(
  57853 	int	unit,
  57854 	const char *	name,
  57855 	bcm_cos_queue_t	cosq,
  57856 	bcm_rx_cb_f	callback,
  57857 	uint8	priority,
  57858 	void *	cookie,
  57859 	uint32	flags)
  57860 {
  57861 	return bcm_rx_queue_register(
  57862 			BCM_CONTROL(unit)->unit,
  57863 			name,
  57864 			cosq,
  57865 			callback,
  57866 			priority,
  57867 			cookie,
  57868 			flags);
  57869 }
  57870 
  57871 int
  57872 bcm_loop_rx_queue_unregister(
  57873 	int	unit,
  57874 	bcm_cos_queue_t	cosq,
  57875 	bcm_rx_cb_f	callback,
  57876 	uint8	priority)
  57877 {
  57878 	return bcm_rx_queue_unregister(
  57879 			BCM_CONTROL(unit)->unit,
  57880 			cosq,
  57881 			callback,
  57882 			priority);
  57883 }
  57884 
  57885 int
  57886 bcm_loop_rx_rate_get(
  57887 	int	unit,
  57888 	int *	pps)
  57889 {
  57890 	return bcm_rx_rate_get(
  57891 			BCM_CONTROL(unit)->unit,
  57892 			pps);
  57893 }
  57894 
  57895 int
  57896 bcm_loop_rx_rate_set(
  57897 	int	unit,
  57898 	int	pps)
  57899 {
  57900 	return bcm_rx_rate_set(
  57901 			BCM_CONTROL(unit)->unit,
  57902 			pps);
  57903 }
  57904 
  57905 int
  57906 bcm_loop_rx_reasons_get(
  57907 	int	unit,
  57908 	bcm_rx_reasons_t *	reasons)
  57909 {
  57910 	return bcm_rx_reasons_get(
  57911 			BCM_CONTROL(unit)->unit,
  57912 			reasons);
  57913 }
  57914 
  57915 int
  57916 bcm_loop_rx_reasons_policer_set(
  57917 	int	unit,
  57918 	bcm_rx_reasons_t	rx_reasons,
  57919 	bcm_policer_t	polid)
  57920 {
  57921 	return bcm_rx_reasons_policer_set(
  57922 			BCM_CONTROL(unit)->unit,
  57923 			rx_reasons,
  57924 			polid);
  57925 }
  57926 
  57927 /* bcm_rx_reasons_t_init not dispatchable */
  57928 
  57929 int
  57930 bcm_loop_rx_redirect_reasons_get(
  57931 	int	unit,
  57932 	bcm_rx_redirect_t	mode,
  57933 	bcm_rx_reasons_t *	reasons)
  57934 {
  57935 	return bcm_rx_redirect_reasons_get(
  57936 			BCM_CONTROL(unit)->unit,
  57937 			mode,
  57938 			reasons);
  57939 }
  57940 
  57941 int
  57942 bcm_loop_rx_redirect_reasons_set(
  57943 	int	unit,
  57944 	bcm_rx_redirect_t	mode,
  57945 	bcm_rx_reasons_t	reasons)
  57946 {
  57947 	return bcm_rx_redirect_reasons_set(
  57948 			BCM_CONTROL(unit)->unit,
  57949 			mode,
  57950 			reasons);
  57951 }
  57952 
  57953 int
  57954 bcm_loop_rx_register(
  57955 	int	unit,
  57956 	const char *	name,
  57957 	bcm_rx_cb_f	callback,
  57958 	uint8	priority,
  57959 	void *	cookie,
  57960 	uint32	flags)
  57961 {
  57962 	return bcm_rx_register(
  57963 			BCM_CONTROL(unit)->unit,
  57964 			name,
  57965 			callback,
  57966 			priority,
  57967 			cookie,
  57968 			flags);
  57969 }
  57970 
  57971 /* bcm_rx_remote_pkt_alloc not dispatchable */
  57972 
  57973 int
  57974 bcm_loop_rx_remote_pkt_enqueue(
  57975 	int	unit,
  57976 	bcm_pkt_t *	pkt)
  57977 {
  57978 	return bcm_rx_remote_pkt_enqueue(
  57979 			BCM_CONTROL(unit)->unit,
  57980 			pkt);
  57981 }
  57982 
  57983 /* bcm_rx_remote_pkt_free not dispatchable */
  57984 
  57985 int
  57986 bcm_loop_rx_sched_register(
  57987 	int	unit,
  57988 	bcm_rx_sched_cb	sched_cb)
  57989 {
  57990 	return bcm_rx_sched_register(
  57991 			BCM_CONTROL(unit)->unit,
  57992 			sched_cb);
  57993 }
  57994 
  57995 int
  57996 bcm_loop_rx_sched_unregister(
  57997 	int	unit)
  57998 {
  57999 	return bcm_rx_sched_unregister(
  58000 			BCM_CONTROL(unit)->unit);
  58001 }
  58002 
  58003 #ifdef	BROADCOM_DEBUG
  58004 
  58005 int
  58006 bcm_loop_rx_show(
  58007 	int	unit)
  58008 {
  58009 	return bcm_rx_show(
  58010 			BCM_CONTROL(unit)->unit);
  58011 }
  58012 
  58013 /* bcm_rx_snoop_config_t_init not dispatchable */
  58014 
  58015 #endif	/* BROADCOM_DEBUG */
  58016 
  58017 int
  58018 bcm_loop_rx_snoop_create(
  58019 	int	unit,
  58020 	int	flags,
  58021 	int *	snoop_cmnd)
  58022 {
  58023 	return bcm_rx_snoop_create(
  58024 			BCM_CONTROL(unit)->unit,
  58025 			flags,
  58026 			snoop_cmnd);
  58027 }
  58028 
  58029 int
  58030 bcm_loop_rx_snoop_destroy(
  58031 	int	unit,
  58032 	int	flags,
  58033 	int	snoop_cmnd)
  58034 {
  58035 	return bcm_rx_snoop_destroy(
  58036 			BCM_CONTROL(unit)->unit,
  58037 			flags,
  58038 			snoop_cmnd);
  58039 }
  58040 
  58041 int
  58042 bcm_loop_rx_snoop_get(
  58043 	int	unit,
  58044 	int	snoop_cmnd,
  58045 	bcm_rx_snoop_config_t *	config)
  58046 {
  58047 	return bcm_rx_snoop_get(
  58048 			BCM_CONTROL(unit)->unit,
  58049 			snoop_cmnd,
  58050 			config);
  58051 }
  58052 
  58053 int
  58054 bcm_loop_rx_snoop_set(
  58055 	int	unit,
  58056 	int	snoop_cmnd,
  58057 	bcm_rx_snoop_config_t *	config)
  58058 {
  58059 	return bcm_rx_snoop_set(
  58060 			BCM_CONTROL(unit)->unit,
  58061 			snoop_cmnd,
  58062 			config);
  58063 }
  58064 
  58065 int
  58066 bcm_loop_rx_start(
  58067 	int	unit,
  58068 	bcm_rx_cfg_t *	cfg)
  58069 {
  58070 	return bcm_rx_start(
  58071 			BCM_CONTROL(unit)->unit,
  58072 			cfg);
  58073 }
  58074 
  58075 int
  58076 bcm_loop_rx_stop(
  58077 	int	unit,
  58078 	bcm_rx_cfg_t *	cfg)
  58079 {
  58080 	return bcm_rx_stop(
  58081 			BCM_CONTROL(unit)->unit,
  58082 			cfg);
  58083 }
  58084 
  58085 int
  58086 bcm_loop_rx_trap_action_profile_clear(
  58087 	int	unit,
  58088 	bcm_rx_trap_t	trap_type)
  58089 {
  58090 	return bcm_rx_trap_action_profile_clear(
  58091 			BCM_CONTROL(unit)->unit,
  58092 			trap_type);
  58093 }
  58094 
  58095 int
  58096 bcm_loop_rx_trap_action_profile_get(
  58097 	int	unit,
  58098 	bcm_rx_trap_t	trap_type,
  58099 	bcm_gport_t *	gport)
  58100 {
  58101 	return bcm_rx_trap_action_profile_get(
  58102 			BCM_CONTROL(unit)->unit,
  58103 			trap_type,
  58104 			gport);
  58105 }
  58106 
  58107 int
  58108 bcm_loop_rx_trap_action_profile_set(
  58109 	int	unit,
  58110 	uint32	flags,
  58111 	bcm_rx_trap_t	trap_type,
  58112 	bcm_gport_t	gport)
  58113 {
  58114 	return bcm_rx_trap_action_profile_set(
  58115 			BCM_CONTROL(unit)->unit,
  58116 			flags,
  58117 			trap_type,
  58118 			gport);
  58119 }
  58120 
  58121 /* bcm_rx_trap_config_t_init not dispatchable */
  58122 
  58123 int
  58124 bcm_loop_rx_trap_get(
  58125 	int	unit,
  58126 	int	trap_id,
  58127 	bcm_rx_trap_config_t *	config)
  58128 {
  58129 	return bcm_rx_trap_get(
  58130 			BCM_CONTROL(unit)->unit,
  58131 			trap_id,
  58132 			config);
  58133 }
  58134 
  58135 /* bcm_rx_trap_lif_config_t_init not dispatchable */
  58136 
  58137 int
  58138 bcm_loop_rx_trap_lif_get(
  58139 	int	unit,
  58140 	bcm_rx_trap_lif_config_t *	lif_config_p)
  58141 {
  58142 	return bcm_rx_trap_lif_get(
  58143 			BCM_CONTROL(unit)->unit,
  58144 			lif_config_p);
  58145 }
  58146 
  58147 int
  58148 bcm_loop_rx_trap_lif_set(
  58149 	int	unit,
  58150 	uint32	flags,
  58151 	bcm_rx_trap_lif_config_t *	lif_config_p)
  58152 {
  58153 	return bcm_rx_trap_lif_set(
  58154 			BCM_CONTROL(unit)->unit,
  58155 			flags,
  58156 			lif_config_p);
  58157 }
  58158 
  58159 /* bcm_rx_trap_prog_config_t_init not dispatchable */
  58160 
  58161 int
  58162 bcm_loop_rx_trap_prog_get(
  58163 	int	unit,
  58164 	uint8	prog_index,
  58165 	bcm_rx_trap_prog_config_t *	prog_config_p)
  58166 {
  58167 	return bcm_rx_trap_prog_get(
  58168 			BCM_CONTROL(unit)->unit,
  58169 			prog_index,
  58170 			prog_config_p);
  58171 }
  58172 
  58173 int
  58174 bcm_loop_rx_trap_prog_set(
  58175 	int	unit,
  58176 	uint32	flags,
  58177 	uint8	prog_index,
  58178 	bcm_rx_trap_prog_config_t *	prog_config_p)
  58179 {
  58180 	return bcm_rx_trap_prog_set(
  58181 			BCM_CONTROL(unit)->unit,
  58182 			flags,
  58183 			prog_index,
  58184 			prog_config_p);
  58185 }
  58186 
  58187 int
  58188 bcm_loop_rx_trap_protocol_clear(
  58189 	int	unit,
  58190 	bcm_rx_trap_protocol_key_t *	key_p)
  58191 {
  58192 	return bcm_rx_trap_protocol_clear(
  58193 			BCM_CONTROL(unit)->unit,
  58194 			key_p);
  58195 }
  58196 
  58197 int
  58198 bcm_loop_rx_trap_protocol_get(
  58199 	int	unit,
  58200 	bcm_rx_trap_protocol_key_t *	key_p,
  58201 	bcm_gport_t *	trap_gport_p)
  58202 {
  58203 	return bcm_rx_trap_protocol_get(
  58204 			BCM_CONTROL(unit)->unit,
  58205 			key_p,
  58206 			trap_gport_p);
  58207 }
  58208 
  58209 /* bcm_rx_trap_protocol_key_t_init not dispatchable */
  58210 
  58211 int
  58212 bcm_loop_rx_trap_protocol_profiles_get(
  58213 	int	unit,
  58214 	bcm_gport_t	port,
  58215 	bcm_rx_trap_protocol_profiles_t *	protocol_profiles_p)
  58216 {
  58217 	return bcm_rx_trap_protocol_profiles_get(
  58218 			BCM_CONTROL(unit)->unit,
  58219 			port,
  58220 			protocol_profiles_p);
  58221 }
  58222 
  58223 int
  58224 bcm_loop_rx_trap_protocol_profiles_set(
  58225 	int	unit,
  58226 	bcm_gport_t	port,
  58227 	bcm_rx_trap_protocol_profiles_t *	protocol_profiles_p)
  58228 {
  58229 	return bcm_rx_trap_protocol_profiles_set(
  58230 			BCM_CONTROL(unit)->unit,
  58231 			port,
  58232 			protocol_profiles_p);
  58233 }
  58234 
  58235 /* bcm_rx_trap_protocol_profiles_t_init not dispatchable */
  58236 
  58237 int
  58238 bcm_loop_rx_trap_protocol_set(
  58239 	int	unit,
  58240 	bcm_rx_trap_protocol_key_t *	key_p,
  58241 	bcm_gport_t	trap_gport)
  58242 {
  58243 	return bcm_rx_trap_protocol_set(
  58244 			BCM_CONTROL(unit)->unit,
  58245 			key_p,
  58246 			trap_gport);
  58247 }
  58248 
  58249 int
  58250 bcm_loop_rx_trap_set(
  58251 	int	unit,
  58252 	int	trap_id,
  58253 	bcm_rx_trap_config_t *	config)
  58254 {
  58255 	return bcm_rx_trap_set(
  58256 			BCM_CONTROL(unit)->unit,
  58257 			trap_id,
  58258 			config);
  58259 }
  58260 
  58261 int
  58262 bcm_loop_rx_trap_sw_to_hw_id_map_get(
  58263 	int	unit,
  58264 	uint32	flags,
  58265 	int	sw_trap_id,
  58266 	int *	hw_trap_id)
  58267 {
  58268 	return bcm_rx_trap_sw_to_hw_id_map_get(
  58269 			BCM_CONTROL(unit)->unit,
  58270 			flags,
  58271 			sw_trap_id,
  58272 			hw_trap_id);
  58273 }
  58274 
  58275 int
  58276 bcm_loop_rx_trap_type_create(
  58277 	int	unit,
  58278 	int	flags,
  58279 	bcm_rx_trap_t	type,
  58280 	int *	trap_id)
  58281 {
  58282 	return bcm_rx_trap_type_create(
  58283 			BCM_CONTROL(unit)->unit,
  58284 			flags,
  58285 			type,
  58286 			trap_id);
  58287 }
  58288 
  58289 int
  58290 bcm_loop_rx_trap_type_destroy(
  58291 	int	unit,
  58292 	int	trap_id)
  58293 {
  58294 	return bcm_rx_trap_type_destroy(
  58295 			BCM_CONTROL(unit)->unit,
  58296 			trap_id);
  58297 }
  58298 
  58299 int
  58300 bcm_loop_rx_trap_type_from_id_get(
  58301 	int	unit,
  58302 	int	flags,
  58303 	int	trap_id,
  58304 	bcm_rx_trap_t *	trap_type)
  58305 {
  58306 	return bcm_rx_trap_type_from_id_get(
  58307 			BCM_CONTROL(unit)->unit,
  58308 			flags,
  58309 			trap_id,
  58310 			trap_type);
  58311 }
  58312 
  58313 int
  58314 bcm_loop_rx_trap_type_get(
  58315 	int	unit,
  58316 	int	flags,
  58317 	bcm_rx_trap_t	type,
  58318 	int *	trap_id)
  58319 {
  58320 	return bcm_rx_trap_type_get(
  58321 			BCM_CONTROL(unit)->unit,
  58322 			flags,
  58323 			type,
  58324 			trap_id);
  58325 }
  58326 
  58327 int
  58328 bcm_loop_rx_unit_next_get(
  58329 	int	unit,
  58330 	int *	next_unit)
  58331 {
  58332 	return bcm_rx_unit_next_get(
  58333 			BCM_CONTROL(unit)->unit,
  58334 			next_unit);
  58335 }
  58336 
  58337 int
  58338 bcm_loop_rx_unregister(
  58339 	int	unit,
  58340 	bcm_rx_cb_f	callback,
  58341 	uint8	priority)
  58342 {
  58343 	return bcm_rx_unregister(
  58344 			BCM_CONTROL(unit)->unit,
  58345 			callback,
  58346 			priority);
  58347 }
  58348 
  58349 int
  58350 bcm_loop_sat_config_get(
  58351 	int	unit,
  58352 	bcm_sat_config_t *	conf)
  58353 {
  58354 	return bcm_sat_config_get(
  58355 			BCM_CONTROL(unit)->unit,
  58356 			conf);
  58357 }
  58358 
  58359 int
  58360 bcm_loop_sat_config_set(
  58361 	int	unit,
  58362 	bcm_sat_config_t *	conf)
  58363 {
  58364 	return bcm_sat_config_set(
  58365 			BCM_CONTROL(unit)->unit,
  58366 			conf);
  58367 }
  58368 
  58369 /* bcm_sat_config_t_init not dispatchable */
  58370 
  58371 int
  58372 bcm_loop_sat_ctf_availability_config_set(
  58373 	int	unit,
  58374 	bcm_sat_ctf_t	ctf_id,
  58375 	bcm_sat_ctf_availability_config_t *	config)
  58376 {
  58377 	return bcm_sat_ctf_availability_config_set(
  58378 			BCM_CONTROL(unit)->unit,
  58379 			ctf_id,
  58380 			config);
  58381 }
  58382 
  58383 /* bcm_sat_ctf_availability_config_t_init not dispatchable */
  58384 
  58385 int
  58386 bcm_loop_sat_ctf_bin_limit_get(
  58387 	int	unit,
  58388 	int	max_bins_count,
  58389 	bcm_sat_ctf_bin_limit_t *	bins,
  58390 	int *	bins_count)
  58391 {
  58392 	return bcm_sat_ctf_bin_limit_get(
  58393 			BCM_CONTROL(unit)->unit,
  58394 			max_bins_count,
  58395 			bins,
  58396 			bins_count);
  58397 }
  58398 
  58399 int
  58400 bcm_loop_sat_ctf_bin_limit_set(
  58401 	int	unit,
  58402 	int	bins_count,
  58403 	bcm_sat_ctf_bin_limit_t *	bins)
  58404 {
  58405 	return bcm_sat_ctf_bin_limit_set(
  58406 			BCM_CONTROL(unit)->unit,
  58407 			bins_count,
  58408 			bins);
  58409 }
  58410 
  58411 /* bcm_sat_ctf_bin_limit_t_init not dispatchable */
  58412 
  58413 int
  58414 bcm_loop_sat_ctf_create(
  58415 	int	unit,
  58416 	uint32	flags,
  58417 	bcm_sat_ctf_t *	ctf_id)
  58418 {
  58419 	return bcm_sat_ctf_create(
  58420 			BCM_CONTROL(unit)->unit,
  58421 			flags,
  58422 			ctf_id);
  58423 }
  58424 
  58425 int
  58426 bcm_loop_sat_ctf_destroy(
  58427 	int	unit,
  58428 	bcm_sat_ctf_t	ctf_id)
  58429 {
  58430 	return bcm_sat_ctf_destroy(
  58431 			BCM_CONTROL(unit)->unit,
  58432 			ctf_id);
  58433 }
  58434 
  58435 int
  58436 bcm_loop_sat_ctf_destroy_all(
  58437 	int	unit)
  58438 {
  58439 	return bcm_sat_ctf_destroy_all(
  58440 			BCM_CONTROL(unit)->unit);
  58441 }
  58442 
  58443 int
  58444 bcm_loop_sat_ctf_identifier_map(
  58445 	int	unit,
  58446 	bcm_sat_ctf_identifier_t *	identifier,
  58447 	bcm_sat_ctf_t	ctf_id)
  58448 {
  58449 	return bcm_sat_ctf_identifier_map(
  58450 			BCM_CONTROL(unit)->unit,
  58451 			identifier,
  58452 			ctf_id);
  58453 }
  58454 
  58455 /* bcm_sat_ctf_identifier_t_init not dispatchable */
  58456 
  58457 int
  58458 bcm_loop_sat_ctf_identifier_unmap(
  58459 	int	unit,
  58460 	bcm_sat_ctf_identifier_t *	identifier)
  58461 {
  58462 	return bcm_sat_ctf_identifier_unmap(
  58463 			BCM_CONTROL(unit)->unit,
  58464 			identifier);
  58465 }
  58466 
  58467 int
  58468 bcm_loop_sat_ctf_packet_config(
  58469 	int	unit,
  58470 	bcm_sat_ctf_t	ctf_id,
  58471 	bcm_sat_ctf_packet_info_t *	packet_info)
  58472 {
  58473 	return bcm_sat_ctf_packet_config(
  58474 			BCM_CONTROL(unit)->unit,
  58475 			ctf_id,
  58476 			packet_info);
  58477 }
  58478 
  58479 /* bcm_sat_ctf_packet_info_t_init not dispatchable */
  58480 
  58481 /* bcm_sat_ctf_report_config_t_init not dispatchable */
  58482 
  58483 int
  58484 bcm_loop_sat_ctf_reports_config_set(
  58485 	int	unit,
  58486 	bcm_sat_ctf_t	ctf_id,
  58487 	bcm_sat_ctf_report_config_t *	reports)
  58488 {
  58489 	return bcm_sat_ctf_reports_config_set(
  58490 			BCM_CONTROL(unit)->unit,
  58491 			ctf_id,
  58492 			reports);
  58493 }
  58494 
  58495 int
  58496 bcm_loop_sat_ctf_stat_config_set(
  58497 	int	unit,
  58498 	bcm_sat_ctf_t	ctf_id,
  58499 	bcm_sat_ctf_stat_config_t *	stat)
  58500 {
  58501 	return bcm_sat_ctf_stat_config_set(
  58502 			BCM_CONTROL(unit)->unit,
  58503 			ctf_id,
  58504 			stat);
  58505 }
  58506 
  58507 /* bcm_sat_ctf_stat_config_t_init not dispatchable */
  58508 
  58509 int
  58510 bcm_loop_sat_ctf_stat_get(
  58511 	int	unit,
  58512 	bcm_sat_ctf_t	ctf_id,
  58513 	uint32	flags,
  58514 	bcm_sat_ctf_stat_t *	stat)
  58515 {
  58516 	return bcm_sat_ctf_stat_get(
  58517 			BCM_CONTROL(unit)->unit,
  58518 			ctf_id,
  58519 			flags,
  58520 			stat);
  58521 }
  58522 
  58523 /* bcm_sat_ctf_stat_t_init not dispatchable */
  58524 
  58525 int
  58526 bcm_loop_sat_ctf_trap_add(
  58527 	int	unit,
  58528 	uint32	trap_id)
  58529 {
  58530 	return bcm_sat_ctf_trap_add(
  58531 			BCM_CONTROL(unit)->unit,
  58532 			trap_id);
  58533 }
  58534 
  58535 int
  58536 bcm_loop_sat_ctf_trap_data_to_session_map(
  58537 	int	unit,
  58538 	uint32	trap_data,
  58539 	uint32	trap_data_mask,
  58540 	uint32	session_id)
  58541 {
  58542 	return bcm_sat_ctf_trap_data_to_session_map(
  58543 			BCM_CONTROL(unit)->unit,
  58544 			trap_data,
  58545 			trap_data_mask,
  58546 			session_id);
  58547 }
  58548 
  58549 int
  58550 bcm_loop_sat_ctf_trap_data_to_session_unmap(
  58551 	int	unit,
  58552 	uint32	trap_data,
  58553 	uint32	trap_data_mask)
  58554 {
  58555 	return bcm_sat_ctf_trap_data_to_session_unmap(
  58556 			BCM_CONTROL(unit)->unit,
  58557 			trap_data,
  58558 			trap_data_mask);
  58559 }
  58560 
  58561 int
  58562 bcm_loop_sat_ctf_trap_remove(
  58563 	int	unit,
  58564 	uint32	trap_id)
  58565 {
  58566 	return bcm_sat_ctf_trap_remove(
  58567 			BCM_CONTROL(unit)->unit,
  58568 			trap_id);
  58569 }
  58570 
  58571 int
  58572 bcm_loop_sat_ctf_trap_remove_all(
  58573 	int	unit)
  58574 {
  58575 	return bcm_sat_ctf_trap_remove_all(
  58576 			BCM_CONTROL(unit)->unit);
  58577 }
  58578 
  58579 int
  58580 bcm_loop_sat_ctf_traverse(
  58581 	int	unit,
  58582 	bcm_sat_ctf_traverse_cb	cb,
  58583 	void *	user_data)
  58584 {
  58585 	return bcm_sat_ctf_traverse(
  58586 			BCM_CONTROL(unit)->unit,
  58587 			cb,
  58588 			user_data);
  58589 }
  58590 
  58591 int
  58592 bcm_loop_sat_endpoint_create(
  58593 	int	unit,
  58594 	bcm_sat_endpoint_info_t *	endpoint_info)
  58595 {
  58596 	return bcm_sat_endpoint_create(
  58597 			BCM_CONTROL(unit)->unit,
  58598 			endpoint_info);
  58599 }
  58600 
  58601 int
  58602 bcm_loop_sat_endpoint_destroy(
  58603 	int	unit,
  58604 	bcm_sat_endpoint_t	endpoint,
  58605 	uint32	flags)
  58606 {
  58607 	return bcm_sat_endpoint_destroy(
  58608 			BCM_CONTROL(unit)->unit,
  58609 			endpoint,
  58610 			flags);
  58611 }
  58612 
  58613 int
  58614 bcm_loop_sat_endpoint_destroy_all(
  58615 	int	unit,
  58616 	uint32	flags)
  58617 {
  58618 	return bcm_sat_endpoint_destroy_all(
  58619 			BCM_CONTROL(unit)->unit,
  58620 			flags);
  58621 }
  58622 
  58623 int
  58624 bcm_loop_sat_endpoint_get(
  58625 	int	unit,
  58626 	bcm_sat_endpoint_t	endpoint,
  58627 	uint32	flags,
  58628 	bcm_sat_endpoint_info_t *	endpoint_info)
  58629 {
  58630 	return bcm_sat_endpoint_get(
  58631 			BCM_CONTROL(unit)->unit,
  58632 			endpoint,
  58633 			flags,
  58634 			endpoint_info);
  58635 }
  58636 
  58637 /* bcm_sat_endpoint_info_t_init not dispatchable */
  58638 
  58639 int
  58640 bcm_loop_sat_endpoint_traverse(
  58641 	int	unit,
  58642 	uint32	flags,
  58643 	bcm_sat_endpoint_traverse_cb	cb,
  58644 	void *	user_data)
  58645 {
  58646 	return bcm_sat_endpoint_traverse(
  58647 			BCM_CONTROL(unit)->unit,
  58648 			flags,
  58649 			cb,
  58650 			user_data);
  58651 }
  58652 
  58653 int
  58654 bcm_loop_sat_event_register(
  58655 	int	unit,
  58656 	bcm_sat_event_type_t	event_type,
  58657 	bcm_sat_event_cb	cb,
  58658 	void *	user_data)
  58659 {
  58660 	return bcm_sat_event_register(
  58661 			BCM_CONTROL(unit)->unit,
  58662 			event_type,
  58663 			cb,
  58664 			user_data);
  58665 }
  58666 
  58667 int
  58668 bcm_loop_sat_event_unregister(
  58669 	int	unit,
  58670 	bcm_sat_event_type_t	event_type,
  58671 	bcm_sat_event_cb	cb)
  58672 {
  58673 	return bcm_sat_event_unregister(
  58674 			BCM_CONTROL(unit)->unit,
  58675 			event_type,
  58676 			cb);
  58677 }
  58678 
  58679 int
  58680 bcm_loop_sat_gtf_bandwidth_get(
  58681 	int	unit,
  58682 	bcm_sat_gtf_t	gtf_id,
  58683 	int	priority,
  58684 	bcm_sat_gtf_bandwidth_t *	bw)
  58685 {
  58686 	return bcm_sat_gtf_bandwidth_get(
  58687 			BCM_CONTROL(unit)->unit,
  58688 			gtf_id,
  58689 			priority,
  58690 			bw);
  58691 }
  58692 
  58693 int
  58694 bcm_loop_sat_gtf_bandwidth_set(
  58695 	int	unit,
  58696 	bcm_sat_gtf_t	gtf_id,
  58697 	int	priority,
  58698 	bcm_sat_gtf_bandwidth_t *	bw)
  58699 {
  58700 	return bcm_sat_gtf_bandwidth_set(
  58701 			BCM_CONTROL(unit)->unit,
  58702 			gtf_id,
  58703 			priority,
  58704 			bw);
  58705 }
  58706 
  58707 /* bcm_sat_gtf_bandwidth_t_init not dispatchable */
  58708 
  58709 int
  58710 bcm_loop_sat_gtf_create(
  58711 	int	unit,
  58712 	uint32	flags,
  58713 	bcm_sat_gtf_t *	gtf_id)
  58714 {
  58715 	return bcm_sat_gtf_create(
  58716 			BCM_CONTROL(unit)->unit,
  58717 			flags,
  58718 			gtf_id);
  58719 }
  58720 
  58721 int
  58722 bcm_loop_sat_gtf_destroy(
  58723 	int	unit,
  58724 	bcm_sat_gtf_t	gtf_id)
  58725 {
  58726 	return bcm_sat_gtf_destroy(
  58727 			BCM_CONTROL(unit)->unit,
  58728 			gtf_id);
  58729 }
  58730 
  58731 int
  58732 bcm_loop_sat_gtf_destroy_all(
  58733 	int	unit)
  58734 {
  58735 	return bcm_sat_gtf_destroy_all(
  58736 			BCM_CONTROL(unit)->unit);
  58737 }
  58738 
  58739 int
  58740 bcm_loop_sat_gtf_packet_config(
  58741 	int	unit,
  58742 	bcm_sat_gtf_t	gtf_id,
  58743 	bcm_sat_gtf_packet_config_t *	config)
  58744 {
  58745 	return bcm_sat_gtf_packet_config(
  58746 			BCM_CONTROL(unit)->unit,
  58747 			gtf_id,
  58748 			config);
  58749 }
  58750 
  58751 int
  58752 bcm_loop_sat_gtf_packet_config_get(
  58753 	int	unit,
  58754 	bcm_sat_gtf_t	gtf_id,
  58755 	bcm_sat_gtf_packet_config_t *	config)
  58756 {
  58757 	return bcm_sat_gtf_packet_config_get(
  58758 			BCM_CONTROL(unit)->unit,
  58759 			gtf_id,
  58760 			config);
  58761 }
  58762 
  58763 int
  58764 bcm_loop_sat_gtf_packet_config_set(
  58765 	int	unit,
  58766 	bcm_sat_gtf_t	gtf_id,
  58767 	bcm_sat_gtf_packet_config_t *	config)
  58768 {
  58769 	return bcm_sat_gtf_packet_config_set(
  58770 			BCM_CONTROL(unit)->unit,
  58771 			gtf_id,
  58772 			config);
  58773 }
  58774 
  58775 /* bcm_sat_gtf_packet_config_t_init not dispatchable */
  58776 
  58777 /* bcm_sat_gtf_packet_edit_t_init not dispatchable */
  58778 
  58779 int
  58780 bcm_loop_sat_gtf_packet_start(
  58781 	int	unit,
  58782 	bcm_sat_gtf_t	gtf_id,
  58783 	bcm_sat_gtf_pri_t	priority)
  58784 {
  58785 	return bcm_sat_gtf_packet_start(
  58786 			BCM_CONTROL(unit)->unit,
  58787 			gtf_id,
  58788 			priority);
  58789 }
  58790 
  58791 int
  58792 bcm_loop_sat_gtf_packet_stop(
  58793 	int	unit,
  58794 	bcm_sat_gtf_t	gtf_id,
  58795 	bcm_sat_gtf_pri_t	priority)
  58796 {
  58797 	return bcm_sat_gtf_packet_stop(
  58798 			BCM_CONTROL(unit)->unit,
  58799 			gtf_id,
  58800 			priority);
  58801 }
  58802 
  58803 int
  58804 bcm_loop_sat_gtf_rate_pattern_get(
  58805 	int	unit,
  58806 	bcm_sat_gtf_t	gtf_id,
  58807 	int	priority,
  58808 	bcm_sat_gtf_rate_pattern_t *	config)
  58809 {
  58810 	return bcm_sat_gtf_rate_pattern_get(
  58811 			BCM_CONTROL(unit)->unit,
  58812 			gtf_id,
  58813 			priority,
  58814 			config);
  58815 }
  58816 
  58817 int
  58818 bcm_loop_sat_gtf_rate_pattern_set(
  58819 	int	unit,
  58820 	bcm_sat_gtf_t	gtf_id,
  58821 	int	priority,
  58822 	bcm_sat_gtf_rate_pattern_t *	config)
  58823 {
  58824 	return bcm_sat_gtf_rate_pattern_set(
  58825 			BCM_CONTROL(unit)->unit,
  58826 			gtf_id,
  58827 			priority,
  58828 			config);
  58829 }
  58830 
  58831 /* bcm_sat_gtf_rate_pattern_t_init not dispatchable */
  58832 
  58833 int
  58834 bcm_loop_sat_gtf_stat_get(
  58835 	int	unit,
  58836 	bcm_sat_gtf_t	gtf_id,
  58837 	int	priority,
  58838 	uint32	flags,
  58839 	bcm_sat_gtf_stat_counter_t	type,
  58840 	uint64 *	value)
  58841 {
  58842 	return bcm_sat_gtf_stat_get(
  58843 			BCM_CONTROL(unit)->unit,
  58844 			gtf_id,
  58845 			priority,
  58846 			flags,
  58847 			type,
  58848 			value);
  58849 }
  58850 
  58851 int
  58852 bcm_loop_sat_gtf_stat_multi_get(
  58853 	int	unit,
  58854 	bcm_sat_gtf_t	gtf_id,
  58855 	bcm_sat_gtf_stat_multi_t *	stat)
  58856 {
  58857 	return bcm_sat_gtf_stat_multi_get(
  58858 			BCM_CONTROL(unit)->unit,
  58859 			gtf_id,
  58860 			stat);
  58861 }
  58862 
  58863 int
  58864 bcm_loop_sat_gtf_traverse(
  58865 	int	unit,
  58866 	bcm_sat_gtf_traverse_cb	cb,
  58867 	void *	user_data)
  58868 {
  58869 	return bcm_sat_gtf_traverse(
  58870 			BCM_CONTROL(unit)->unit,
  58871 			cb,
  58872 			user_data);
  58873 }
  58874 
  58875 /* bcm_sat_header_user_define_offsets_t_init not dispatchable */
  58876 
  58877 /* bcm_sat_payload_t_init not dispatchable */
  58878 
  58879 /* bcm_sat_stamp_t_init not dispatchable */
  58880 
  58881 int
  58882 bcm_loop_srv6_sid_initiator_create(
  58883 	int	unit,
  58884 	bcm_srv6_sid_initiator_info_t *	info)
  58885 {
  58886 	return bcm_srv6_sid_initiator_create(
  58887 			BCM_CONTROL(unit)->unit,
  58888 			info);
  58889 }
  58890 
  58891 int
  58892 bcm_loop_srv6_sid_initiator_delete(
  58893 	int	unit,
  58894 	bcm_srv6_sid_initiator_info_t *	info)
  58895 {
  58896 	return bcm_srv6_sid_initiator_delete(
  58897 			BCM_CONTROL(unit)->unit,
  58898 			info);
  58899 }
  58900 
  58901 int
  58902 bcm_loop_srv6_sid_initiator_get(
  58903 	int	unit,
  58904 	bcm_srv6_sid_initiator_info_t *	info)
  58905 {
  58906 	return bcm_srv6_sid_initiator_get(
  58907 			BCM_CONTROL(unit)->unit,
  58908 			info);
  58909 }
  58910 
  58911 /* bcm_srv6_sid_initiator_info_t_init not dispatchable */
  58912 
  58913 int
  58914 bcm_loop_srv6_sid_initiator_traverse(
  58915 	int	unit,
  58916 	bcm_srv6_sid_initiator_traverse_info_t	additional_info,
  58917 	bcm_srv6_sid_initiator_traverse_cb	cb,
  58918 	void *	user_data)
  58919 {
  58920 	return bcm_srv6_sid_initiator_traverse(
  58921 			BCM_CONTROL(unit)->unit,
  58922 			additional_info,
  58923 			cb,
  58924 			user_data);
  58925 }
  58926 
  58927 int
  58928 bcm_loop_srv6_srh_base_initiator_create(
  58929 	int	unit,
  58930 	bcm_srv6_srh_base_initiator_info_t *	info)
  58931 {
  58932 	return bcm_srv6_srh_base_initiator_create(
  58933 			BCM_CONTROL(unit)->unit,
  58934 			info);
  58935 }
  58936 
  58937 int
  58938 bcm_loop_srv6_srh_base_initiator_delete(
  58939 	int	unit,
  58940 	bcm_srv6_srh_base_initiator_info_t *	info)
  58941 {
  58942 	return bcm_srv6_srh_base_initiator_delete(
  58943 			BCM_CONTROL(unit)->unit,
  58944 			info);
  58945 }
  58946 
  58947 int
  58948 bcm_loop_srv6_srh_base_initiator_get(
  58949 	int	unit,
  58950 	bcm_srv6_srh_base_initiator_info_t *	info)
  58951 {
  58952 	return bcm_srv6_srh_base_initiator_get(
  58953 			BCM_CONTROL(unit)->unit,
  58954 			info);
  58955 }
  58956 
  58957 /* bcm_srv6_srh_base_initiator_info_t_init not dispatchable */
  58958 
  58959 int
  58960 bcm_loop_srv6_srh_base_initiator_traverse(
  58961 	int	unit,
  58962 	bcm_srv6_srh_base_initiator_traverse_info_t	additional_info,
  58963 	bcm_srv6_srh_base_initiator_traverse_cb	cb,
  58964 	void *	user_data)
  58965 {
  58966 	return bcm_srv6_srh_base_initiator_traverse(
  58967 			BCM_CONTROL(unit)->unit,
  58968 			additional_info,
  58969 			cb,
  58970 			user_data);
  58971 }
  58972 
  58973 int
  58974 bcm_loop_srv6_terminator_next_protocol_add(
  58975 	int	unit,
  58976 	bcm_srv6_terminator_next_protocol_mapping_t *	info)
  58977 {
  58978 	return bcm_srv6_terminator_next_protocol_add(
  58979 			BCM_CONTROL(unit)->unit,
  58980 			info);
  58981 }
  58982 
  58983 int
  58984 bcm_loop_srv6_terminator_next_protocol_delete(
  58985 	int	unit,
  58986 	bcm_srv6_terminator_next_protocol_mapping_t *	info)
  58987 {
  58988 	return bcm_srv6_terminator_next_protocol_delete(
  58989 			BCM_CONTROL(unit)->unit,
  58990 			info);
  58991 }
  58992 
  58993 int
  58994 bcm_loop_srv6_terminator_next_protocol_get(
  58995 	int	unit,
  58996 	bcm_srv6_terminator_next_protocol_mapping_t *	info)
  58997 {
  58998 	return bcm_srv6_terminator_next_protocol_get(
  58999 			BCM_CONTROL(unit)->unit,
  59000 			info);
  59001 }
  59002 
  59003 /* bcm_srv6_terminator_next_protocol_mapping_t_init not dispatchable */
  59004 
  59005 int
  59006 bcm_loop_srv6_terminator_next_protocol_traverse(
  59007 	int	unit,
  59008 	bcm_srv6_terminator_next_protocol_traverse_info_t	additional_info,
  59009 	bcm_srv6_terminator_next_protocol_traverse_cb	cb,
  59010 	void *	user_data)
  59011 {
  59012 	return bcm_srv6_terminator_next_protocol_traverse(
  59013 			BCM_CONTROL(unit)->unit,
  59014 			additional_info,
  59015 			cb,
  59016 			user_data);
  59017 }
  59018 
  59019 int
  59020 bcm_loop_stat_clear(
  59021 	int	unit,
  59022 	bcm_port_t	port)
  59023 {
  59024 	return bcm_stat_clear(
  59025 			BCM_CONTROL(unit)->unit,
  59026 			port);
  59027 }
  59028 
  59029 int
  59030 bcm_loop_stat_clear_single(
  59031 	int	unit,
  59032 	bcm_port_t	port,
  59033 	bcm_stat_val_t	type)
  59034 {
  59035 	return bcm_stat_clear_single(
  59036 			BCM_CONTROL(unit)->unit,
  59037 			port,
  59038 			type);
  59039 }
  59040 
  59041 int
  59042 bcm_loop_stat_control_get(
  59043 	int	unit,
  59044 	int	flags,
  59045 	bcm_stat_control_t	type,
  59046 	int *	arg)
  59047 {
  59048 	return bcm_stat_control_get(
  59049 			BCM_CONTROL(unit)->unit,
  59050 			flags,
  59051 			type,
  59052 			arg);
  59053 }
  59054 
  59055 int
  59056 bcm_loop_stat_control_set(
  59057 	int	unit,
  59058 	int	flags,
  59059 	bcm_stat_control_t	type,
  59060 	int	arg)
  59061 {
  59062 	return bcm_stat_control_set(
  59063 			BCM_CONTROL(unit)->unit,
  59064 			flags,
  59065 			type,
  59066 			arg);
  59067 }
  59068 
  59069 /* bcm_stat_counter_command_id_key_t_init not dispatchable */
  59070 
  59071 int
  59072 bcm_loop_stat_counter_config_get(
  59073 	int	unit,
  59074 	bcm_stat_counter_engine_t *	engine,
  59075 	bcm_stat_counter_config_t *	config)
  59076 {
  59077 	return bcm_stat_counter_config_get(
  59078 			BCM_CONTROL(unit)->unit,
  59079 			engine,
  59080 			config);
  59081 }
  59082 
  59083 int
  59084 bcm_loop_stat_counter_config_set(
  59085 	int	unit,
  59086 	bcm_stat_counter_engine_t *	engine,
  59087 	bcm_stat_counter_config_t *	config)
  59088 {
  59089 	return bcm_stat_counter_config_set(
  59090 			BCM_CONTROL(unit)->unit,
  59091 			engine,
  59092 			config);
  59093 }
  59094 
  59095 int
  59096 bcm_loop_stat_counter_database_control_get(
  59097 	int	unit,
  59098 	uint32	flags,
  59099 	bcm_stat_counter_database_t *	database,
  59100 	bcm_stat_counter_database_control_t	control,
  59101 	uint32 *	arg)
  59102 {
  59103 	return bcm_stat_counter_database_control_get(
  59104 			BCM_CONTROL(unit)->unit,
  59105 			flags,
  59106 			database,
  59107 			control,
  59108 			arg);
  59109 }
  59110 
  59111 int
  59112 bcm_loop_stat_counter_database_control_set(
  59113 	int	unit,
  59114 	uint32	flags,
  59115 	bcm_stat_counter_database_t *	database,
  59116 	bcm_stat_counter_database_control_t	control,
  59117 	uint32	arg)
  59118 {
  59119 	return bcm_stat_counter_database_control_set(
  59120 			BCM_CONTROL(unit)->unit,
  59121 			flags,
  59122 			database,
  59123 			control,
  59124 			arg);
  59125 }
  59126 
  59127 int
  59128 bcm_loop_stat_counter_database_create(
  59129 	int	unit,
  59130 	uint32	flags,
  59131 	bcm_core_t	core_id,
  59132 	int *	database_id)
  59133 {
  59134 	return bcm_stat_counter_database_create(
  59135 			BCM_CONTROL(unit)->unit,
  59136 			flags,
  59137 			core_id,
  59138 			database_id);
  59139 }
  59140 
  59141 int
  59142 bcm_loop_stat_counter_database_destroy(
  59143 	int	unit,
  59144 	uint32	flags,
  59145 	bcm_stat_counter_database_t *	database)
  59146 {
  59147 	return bcm_stat_counter_database_destroy(
  59148 			BCM_CONTROL(unit)->unit,
  59149 			flags,
  59150 			database);
  59151 }
  59152 
  59153 int
  59154 bcm_loop_stat_counter_database_enable_get(
  59155 	int	unit,
  59156 	uint32	flags,
  59157 	bcm_stat_counter_database_t *	database,
  59158 	bcm_stat_counter_enable_t *	enable)
  59159 {
  59160 	return bcm_stat_counter_database_enable_get(
  59161 			BCM_CONTROL(unit)->unit,
  59162 			flags,
  59163 			database,
  59164 			enable);
  59165 }
  59166 
  59167 int
  59168 bcm_loop_stat_counter_database_enable_set(
  59169 	int	unit,
  59170 	uint32	flags,
  59171 	bcm_stat_counter_database_t *	database,
  59172 	bcm_stat_counter_enable_t *	enable)
  59173 {
  59174 	return bcm_stat_counter_database_enable_set(
  59175 			BCM_CONTROL(unit)->unit,
  59176 			flags,
  59177 			database,
  59178 			enable);
  59179 }
  59180 
  59181 /* bcm_stat_counter_database_t_init not dispatchable */
  59182 
  59183 /* bcm_stat_counter_enable_t_init not dispatchable */
  59184 
  59185 int
  59186 bcm_loop_stat_counter_engine_attach(
  59187 	int	unit,
  59188 	uint32	flags,
  59189 	bcm_stat_counter_database_t *	database,
  59190 	int	engine_id)
  59191 {
  59192 	return bcm_stat_counter_engine_attach(
  59193 			BCM_CONTROL(unit)->unit,
  59194 			flags,
  59195 			database,
  59196 			engine_id);
  59197 }
  59198 
  59199 int
  59200 bcm_loop_stat_counter_engine_control_get(
  59201 	int	unit,
  59202 	uint32	flags,
  59203 	bcm_stat_engine_t *	engine,
  59204 	bcm_stat_counter_engine_control_t	control,
  59205 	uint32 *	arg)
  59206 {
  59207 	return bcm_stat_counter_engine_control_get(
  59208 			BCM_CONTROL(unit)->unit,
  59209 			flags,
  59210 			engine,
  59211 			control,
  59212 			arg);
  59213 }
  59214 
  59215 int
  59216 bcm_loop_stat_counter_engine_control_set(
  59217 	int	unit,
  59218 	uint32	flags,
  59219 	bcm_stat_engine_t *	engine,
  59220 	bcm_stat_counter_engine_control_t	control,
  59221 	uint32	arg)
  59222 {
  59223 	return bcm_stat_counter_engine_control_set(
  59224 			BCM_CONTROL(unit)->unit,
  59225 			flags,
  59226 			engine,
  59227 			control,
  59228 			arg);
  59229 }
  59230 
  59231 int
  59232 bcm_loop_stat_counter_engine_detach(
  59233 	int	unit,
  59234 	uint32	flags,
  59235 	bcm_stat_counter_database_t *	database,
  59236 	int	engine_id)
  59237 {
  59238 	return bcm_stat_counter_engine_detach(
  59239 			BCM_CONTROL(unit)->unit,
  59240 			flags,
  59241 			database,
  59242 			engine_id);
  59243 }
  59244 
  59245 int
  59246 bcm_loop_stat_counter_eviction_get(
  59247 	int	unit,
  59248 	uint32	flags,
  59249 	bcm_stat_engine_t *	engine,
  59250 	bcm_stat_eviction_t *	eviction)
  59251 {
  59252 	return bcm_stat_counter_eviction_get(
  59253 			BCM_CONTROL(unit)->unit,
  59254 			flags,
  59255 			engine,
  59256 			eviction);
  59257 }
  59258 
  59259 int
  59260 bcm_loop_stat_counter_eviction_set(
  59261 	int	unit,
  59262 	uint32	flags,
  59263 	bcm_stat_engine_t *	engine,
  59264 	bcm_stat_eviction_t *	eviction)
  59265 {
  59266 	return bcm_stat_counter_eviction_set(
  59267 			BCM_CONTROL(unit)->unit,
  59268 			flags,
  59269 			engine,
  59270 			eviction);
  59271 }
  59272 
  59273 int
  59274 bcm_loop_stat_counter_expansion_select_get(
  59275 	int	unit,
  59276 	uint32	flags,
  59277 	bcm_stat_counter_interface_key_t *	interface,
  59278 	bcm_stat_expansion_select_t *	expansion_select)
  59279 {
  59280 	return bcm_stat_counter_expansion_select_get(
  59281 			BCM_CONTROL(unit)->unit,
  59282 			flags,
  59283 			interface,
  59284 			expansion_select);
  59285 }
  59286 
  59287 int
  59288 bcm_loop_stat_counter_expansion_select_set(
  59289 	int	unit,
  59290 	uint32	flags,
  59291 	bcm_stat_counter_interface_key_t *	interface,
  59292 	bcm_stat_expansion_select_t *	expansion_select)
  59293 {
  59294 	return bcm_stat_counter_expansion_select_set(
  59295 			BCM_CONTROL(unit)->unit,
  59296 			flags,
  59297 			interface,
  59298 			expansion_select);
  59299 }
  59300 
  59301 int
  59302 bcm_loop_stat_counter_explicit_get(
  59303 	int	unit,
  59304 	uint32	flags,
  59305 	bcm_stat_counter_explicit_input_data_t *	stat_counter_input_data,
  59306 	bcm_stat_counter_output_data_t *	stat_counter_output_data)
  59307 {
  59308 	return bcm_stat_counter_explicit_get(
  59309 			BCM_CONTROL(unit)->unit,
  59310 			flags,
  59311 			stat_counter_input_data,
  59312 			stat_counter_output_data);
  59313 }
  59314 
  59315 /* bcm_stat_counter_explicit_input_data_t_init not dispatchable */
  59316 
  59317 int
  59318 bcm_loop_stat_counter_filter_get(
  59319 	int	unit,
  59320 	bcm_stat_counter_source_t	source,
  59321 	int	filter_max_count,
  59322 	bcm_stat_counter_filter_t *	filter_array,
  59323 	int *	filter_count)
  59324 {
  59325 	return bcm_stat_counter_filter_get(
  59326 			BCM_CONTROL(unit)->unit,
  59327 			source,
  59328 			filter_max_count,
  59329 			filter_array,
  59330 			filter_count);
  59331 }
  59332 
  59333 int
  59334 bcm_loop_stat_counter_filter_group_get(
  59335 	int	unit,
  59336 	uint32	flags,
  59337 	bcm_stat_counter_command_id_key_t *	key,
  59338 	bcm_stat_counter_group_filter_t	filter,
  59339 	int *	is_active)
  59340 {
  59341 	return bcm_stat_counter_filter_group_get(
  59342 			BCM_CONTROL(unit)->unit,
  59343 			flags,
  59344 			key,
  59345 			filter,
  59346 			is_active);
  59347 }
  59348 
  59349 int
  59350 bcm_loop_stat_counter_filter_group_set(
  59351 	int	unit,
  59352 	uint32	flags,
  59353 	bcm_stat_counter_command_id_key_t *	key,
  59354 	bcm_stat_counter_group_filter_t	filter,
  59355 	int	is_active)
  59356 {
  59357 	return bcm_stat_counter_filter_group_set(
  59358 			BCM_CONTROL(unit)->unit,
  59359 			flags,
  59360 			key,
  59361 			filter,
  59362 			is_active);
  59363 }
  59364 
  59365 int
  59366 bcm_loop_stat_counter_filter_is_active_get(
  59367 	int	unit,
  59368 	bcm_stat_counter_source_t	source,
  59369 	bcm_stat_counter_filter_t	filter,
  59370 	int *	is_active)
  59371 {
  59372 	return bcm_stat_counter_filter_is_active_get(
  59373 			BCM_CONTROL(unit)->unit,
  59374 			source,
  59375 			filter,
  59376 			is_active);
  59377 }
  59378 
  59379 int
  59380 bcm_loop_stat_counter_filter_set(
  59381 	int	unit,
  59382 	bcm_stat_counter_source_t	source,
  59383 	bcm_stat_counter_filter_t *	filter_array,
  59384 	int	filter_count,
  59385 	int	is_active)
  59386 {
  59387 	return bcm_stat_counter_filter_set(
  59388 			BCM_CONTROL(unit)->unit,
  59389 			source,
  59390 			filter_array,
  59391 			filter_count,
  59392 			is_active);
  59393 }
  59394 
  59395 int
  59396 bcm_loop_stat_counter_get(
  59397 	int	unit,
  59398 	uint32	flags,
  59399 	bcm_stat_counter_input_data_t *	stat_counter_input_data,
  59400 	bcm_stat_counter_output_data_t *	stat_counter_output_data)
  59401 {
  59402 	return bcm_stat_counter_get(
  59403 			BCM_CONTROL(unit)->unit,
  59404 			flags,
  59405 			stat_counter_input_data,
  59406 			stat_counter_output_data);
  59407 }
  59408 
  59409 /* bcm_stat_counter_input_data_t_init not dispatchable */
  59410 
  59411 int
  59412 bcm_loop_stat_counter_interface_get(
  59413 	int	unit,
  59414 	uint32	flags,
  59415 	bcm_stat_counter_database_t *	database,
  59416 	bcm_stat_counter_interface_t *	config)
  59417 {
  59418 	return bcm_stat_counter_interface_get(
  59419 			BCM_CONTROL(unit)->unit,
  59420 			flags,
  59421 			database,
  59422 			config);
  59423 }
  59424 
  59425 /* bcm_stat_counter_interface_key_t_init not dispatchable */
  59426 
  59427 int
  59428 bcm_loop_stat_counter_interface_set(
  59429 	int	unit,
  59430 	uint32	flags,
  59431 	bcm_stat_counter_database_t *	database,
  59432 	bcm_stat_counter_interface_t *	config)
  59433 {
  59434 	return bcm_stat_counter_interface_set(
  59435 			BCM_CONTROL(unit)->unit,
  59436 			flags,
  59437 			database,
  59438 			config);
  59439 }
  59440 
  59441 /* bcm_stat_counter_interface_t_init not dispatchable */
  59442 
  59443 int
  59444 bcm_loop_stat_counter_lif_counting_get(
  59445 	int	unit,
  59446 	uint32	flags,
  59447 	bcm_stat_counter_source_t *	source,
  59448 	bcm_stat_counter_lif_mask_t *	counting_mask,
  59449 	bcm_stat_counter_lif_stack_id_t *	lif_stack_id_to_count)
  59450 {
  59451 	return bcm_stat_counter_lif_counting_get(
  59452 			BCM_CONTROL(unit)->unit,
  59453 			flags,
  59454 			source,
  59455 			counting_mask,
  59456 			lif_stack_id_to_count);
  59457 }
  59458 
  59459 int
  59460 bcm_loop_stat_counter_lif_counting_range_get(
  59461 	int	unit,
  59462 	uint32	flags,
  59463 	bcm_stat_counter_source_type_t	source,
  59464 	bcm_stat_counter_lif_range_id_t	range_id,
  59465 	bcm_stat_counter_lif_counting_range_t *	lif_range)
  59466 {
  59467 	return bcm_stat_counter_lif_counting_range_get(
  59468 			BCM_CONTROL(unit)->unit,
  59469 			flags,
  59470 			source,
  59471 			range_id,
  59472 			lif_range);
  59473 }
  59474 
  59475 int
  59476 bcm_loop_stat_counter_lif_counting_range_set(
  59477 	int	unit,
  59478 	uint32	flags,
  59479 	bcm_stat_counter_source_type_t	source,
  59480 	bcm_stat_counter_lif_range_id_t	range_id,
  59481 	bcm_stat_counter_lif_counting_range_t *	lif_range)
  59482 {
  59483 	return bcm_stat_counter_lif_counting_range_set(
  59484 			BCM_CONTROL(unit)->unit,
  59485 			flags,
  59486 			source,
  59487 			range_id,
  59488 			lif_range);
  59489 }
  59490 
  59491 int
  59492 bcm_loop_stat_counter_lif_counting_set(
  59493 	int	unit,
  59494 	uint32	flags,
  59495 	bcm_stat_counter_source_t *	source,
  59496 	bcm_stat_counter_lif_mask_t *	counting_mask,
  59497 	bcm_stat_counter_lif_stack_id_t	lif_stack_id_to_count)
  59498 {
  59499 	return bcm_stat_counter_lif_counting_set(
  59500 			BCM_CONTROL(unit)->unit,
  59501 			flags,
  59502 			source,
  59503 			counting_mask,
  59504 			lif_stack_id_to_count);
  59505 }
  59506 
  59507 /* bcm_stat_counter_output_data_t_init not dispatchable */
  59508 
  59509 /* bcm_stat_counter_set_map_t_init not dispatchable */
  59510 
  59511 int
  59512 bcm_loop_stat_counter_set_mapping_get(
  59513 	int	unit,
  59514 	uint32	flags,
  59515 	bcm_stat_counter_database_t *	database,
  59516 	bcm_stat_counter_set_map_t *	counter_set_map)
  59517 {
  59518 	return bcm_stat_counter_set_mapping_get(
  59519 			BCM_CONTROL(unit)->unit,
  59520 			flags,
  59521 			database,
  59522 			counter_set_map);
  59523 }
  59524 
  59525 int
  59526 bcm_loop_stat_counter_set_mapping_set(
  59527 	int	unit,
  59528 	uint32	flags,
  59529 	bcm_stat_counter_database_t *	database,
  59530 	bcm_stat_counter_set_map_t *	counter_set_map)
  59531 {
  59532 	return bcm_stat_counter_set_mapping_set(
  59533 			BCM_CONTROL(unit)->unit,
  59534 			flags,
  59535 			database,
  59536 			counter_set_map);
  59537 }
  59538 
  59539 int
  59540 bcm_loop_stat_custom_add(
  59541 	int	unit,
  59542 	bcm_port_t	port,
  59543 	bcm_stat_val_t	type,
  59544 	bcm_custom_stat_trigger_t	trigger)
  59545 {
  59546 	return bcm_stat_custom_add(
  59547 			BCM_CONTROL(unit)->unit,
  59548 			port,
  59549 			type,
  59550 			trigger);
  59551 }
  59552 
  59553 int
  59554 bcm_loop_stat_custom_check(
  59555 	int	unit,
  59556 	bcm_port_t	port,
  59557 	bcm_stat_val_t	type,
  59558 	bcm_custom_stat_trigger_t	trigger,
  59559 	int *	result)
  59560 {
  59561 	return bcm_stat_custom_check(
  59562 			BCM_CONTROL(unit)->unit,
  59563 			port,
  59564 			type,
  59565 			trigger,
  59566 			result);
  59567 }
  59568 
  59569 int
  59570 bcm_loop_stat_custom_counter_id_move(
  59571 	int	unit,
  59572 	bcm_stat_custom_base_index_action_t	idx_action,
  59573 	bcm_stat_custom_counter_info_t	counter_info_old,
  59574 	bcm_stat_custom_counter_info_t *	counter_info_new)
  59575 {
  59576 	return bcm_stat_custom_counter_id_move(
  59577 			BCM_CONTROL(unit)->unit,
  59578 			idx_action,
  59579 			counter_info_old,
  59580 			counter_info_new);
  59581 }
  59582 
  59583 /* bcm_stat_custom_counter_info_t_init not dispatchable */
  59584 
  59585 int
  59586 bcm_loop_stat_custom_delete(
  59587 	int	unit,
  59588 	bcm_port_t	port,
  59589 	bcm_stat_val_t	type,
  59590 	bcm_custom_stat_trigger_t	trigger)
  59591 {
  59592 	return bcm_stat_custom_delete(
  59593 			BCM_CONTROL(unit)->unit,
  59594 			port,
  59595 			type,
  59596 			trigger);
  59597 }
  59598 
  59599 int
  59600 bcm_loop_stat_custom_delete_all(
  59601 	int	unit,
  59602 	bcm_port_t	port,
  59603 	bcm_stat_val_t	type)
  59604 {
  59605 	return bcm_stat_custom_delete_all(
  59606 			BCM_CONTROL(unit)->unit,
  59607 			port,
  59608 			type);
  59609 }
  59610 
  59611 int
  59612 bcm_loop_stat_custom_get(
  59613 	int	unit,
  59614 	bcm_port_t	port,
  59615 	bcm_stat_val_t	type,
  59616 	uint32 *	flags)
  59617 {
  59618 	return bcm_stat_custom_get(
  59619 			BCM_CONTROL(unit)->unit,
  59620 			port,
  59621 			type,
  59622 			flags);
  59623 }
  59624 
  59625 int
  59626 bcm_loop_stat_custom_group_create(
  59627 	int	unit,
  59628 	uint32	mode_id,
  59629 	bcm_stat_object_t	object,
  59630 	uint32 *	stat_counter_id,
  59631 	uint32 *	num_entries)
  59632 {
  59633 	return bcm_stat_custom_group_create(
  59634 			BCM_CONTROL(unit)->unit,
  59635 			mode_id,
  59636 			object,
  59637 			stat_counter_id,
  59638 			num_entries);
  59639 }
  59640 
  59641 int
  59642 bcm_loop_stat_custom_group_id_create(
  59643 	int	unit,
  59644 	uint32	mode_id,
  59645 	bcm_stat_object_t	object,
  59646 	uint32	pool_id,
  59647 	uint32	base_idx,
  59648 	bcm_stat_custom_counter_info_t *	counter_info)
  59649 {
  59650 	return bcm_stat_custom_group_id_create(
  59651 			BCM_CONTROL(unit)->unit,
  59652 			mode_id,
  59653 			object,
  59654 			pool_id,
  59655 			base_idx,
  59656 			counter_info);
  59657 }
  59658 
  59659 int
  59660 bcm_loop_stat_custom_set(
  59661 	int	unit,
  59662 	bcm_port_t	port,
  59663 	bcm_stat_val_t	type,
  59664 	uint32	flags)
  59665 {
  59666 	return bcm_stat_custom_set(
  59667 			BCM_CONTROL(unit)->unit,
  59668 			port,
  59669 			type,
  59670 			flags);
  59671 }
  59672 
  59673 int
  59674 bcm_loop_stat_direct_get(
  59675 	int	unit,
  59676 	bcm_port_t	port,
  59677 	bcm_stat_val_t	type,
  59678 	uint64 *	value)
  59679 {
  59680 	return bcm_stat_direct_get(
  59681 			BCM_CONTROL(unit)->unit,
  59682 			port,
  59683 			type,
  59684 			value);
  59685 }
  59686 
  59687 int
  59688 bcm_loop_stat_direct_multi_get(
  59689 	int	unit,
  59690 	bcm_port_t	port,
  59691 	int	nstat,
  59692 	bcm_stat_val_t *	stat_arr,
  59693 	uint64 *	value_arr)
  59694 {
  59695 	return bcm_stat_direct_multi_get(
  59696 			BCM_CONTROL(unit)->unit,
  59697 			port,
  59698 			nstat,
  59699 			stat_arr,
  59700 			value_arr);
  59701 }
  59702 
  59703 int
  59704 bcm_loop_stat_egress_receive_tm_pointer_format_get(
  59705 	int	unit,
  59706 	int	flags,
  59707 	bcm_stat_egress_receive_tm_pointer_format_t *	pointer_format)
  59708 {
  59709 	return bcm_stat_egress_receive_tm_pointer_format_get(
  59710 			BCM_CONTROL(unit)->unit,
  59711 			flags,
  59712 			pointer_format);
  59713 }
  59714 
  59715 int
  59716 bcm_loop_stat_egress_receive_tm_pointer_format_set(
  59717 	int	unit,
  59718 	int	flags,
  59719 	bcm_stat_egress_receive_tm_pointer_format_t *	pointer_format)
  59720 {
  59721 	return bcm_stat_egress_receive_tm_pointer_format_set(
  59722 			BCM_CONTROL(unit)->unit,
  59723 			flags,
  59724 			pointer_format);
  59725 }
  59726 
  59727 /* bcm_stat_engine_t_init not dispatchable */
  59728 
  59729 int
  59730 bcm_loop_stat_eviction_boundaries_get(
  59731 	int	unit,
  59732 	uint32	flags,
  59733 	bcm_stat_engine_t *	engine,
  59734 	bcm_stat_eviction_boundaries_t *	boundaries)
  59735 {
  59736 	return bcm_stat_eviction_boundaries_get(
  59737 			BCM_CONTROL(unit)->unit,
  59738 			flags,
  59739 			engine,
  59740 			boundaries);
  59741 }
  59742 
  59743 int
  59744 bcm_loop_stat_eviction_boundaries_set(
  59745 	int	unit,
  59746 	uint32	flags,
  59747 	bcm_stat_engine_t *	engine,
  59748 	bcm_stat_eviction_boundaries_t *	boundaries)
  59749 {
  59750 	return bcm_stat_eviction_boundaries_set(
  59751 			BCM_CONTROL(unit)->unit,
  59752 			flags,
  59753 			engine,
  59754 			boundaries);
  59755 }
  59756 
  59757 /* bcm_stat_eviction_boundaries_t_init not dispatchable */
  59758 
  59759 /* bcm_stat_eviction_t_init not dispatchable */
  59760 
  59761 /* bcm_stat_expansion_data_mapping_t_init not dispatchable */
  59762 
  59763 /* bcm_stat_expansion_select_t_init not dispatchable */
  59764 
  59765 int
  59766 bcm_loop_stat_flex_counter_get(
  59767 	int	unit,
  59768 	uint32	stat_counter_id,
  59769 	bcm_stat_flex_stat_t	stat,
  59770 	uint32	num_entries,
  59771 	uint32 *	counter_indexes,
  59772 	bcm_stat_value_t *	counter_values)
  59773 {
  59774 	return bcm_stat_flex_counter_get(
  59775 			BCM_CONTROL(unit)->unit,
  59776 			stat_counter_id,
  59777 			stat,
  59778 			num_entries,
  59779 			counter_indexes,
  59780 			counter_values);
  59781 }
  59782 
  59783 int
  59784 bcm_loop_stat_flex_counter_set(
  59785 	int	unit,
  59786 	uint32	stat_counter_id,
  59787 	bcm_stat_flex_stat_t	stat,
  59788 	uint32	num_entries,
  59789 	uint32 *	counter_indexes,
  59790 	bcm_stat_value_t *	counter_values)
  59791 {
  59792 	return bcm_stat_flex_counter_set(
  59793 			BCM_CONTROL(unit)->unit,
  59794 			stat_counter_id,
  59795 			stat,
  59796 			num_entries,
  59797 			counter_indexes,
  59798 			counter_values);
  59799 }
  59800 
  59801 int
  59802 bcm_loop_stat_flex_counter_sync_get(
  59803 	int	unit,
  59804 	uint32	stat_counter_id,
  59805 	bcm_stat_flex_stat_t	stat,
  59806 	uint32	num_entries,
  59807 	uint32 *	counter_indexes,
  59808 	bcm_stat_value_t *	counter_values)
  59809 {
  59810 	return bcm_stat_flex_counter_sync_get(
  59811 			BCM_CONTROL(unit)->unit,
  59812 			stat_counter_id,
  59813 			stat,
  59814 			num_entries,
  59815 			counter_indexes,
  59816 			counter_values);
  59817 }
  59818 
  59819 int
  59820 bcm_loop_stat_flex_pool_info_multi_get(
  59821 	int	unit,
  59822 	bcm_stat_flex_direction_t	direction,
  59823 	uint32	num_pools,
  59824 	bcm_stat_flex_pool_stat_info_t *	flex_pool_stat,
  59825 	uint32 *	actual_num_pools)
  59826 {
  59827 	return bcm_stat_flex_pool_info_multi_get(
  59828 			BCM_CONTROL(unit)->unit,
  59829 			direction,
  59830 			num_pools,
  59831 			flex_pool_stat,
  59832 			actual_num_pools);
  59833 }
  59834 
  59835 /* bcm_stat_flex_pool_stat_info_t_init not dispatchable */
  59836 
  59837 int
  59838 bcm_loop_stat_get(
  59839 	int	unit,
  59840 	bcm_port_t	port,
  59841 	bcm_stat_val_t	type,
  59842 	uint64 *	value)
  59843 {
  59844 	return bcm_stat_get(
  59845 			BCM_CONTROL(unit)->unit,
  59846 			port,
  59847 			type,
  59848 			value);
  59849 }
  59850 
  59851 int
  59852 bcm_loop_stat_get32(
  59853 	int	unit,
  59854 	bcm_port_t	port,
  59855 	bcm_stat_val_t	type,
  59856 	uint32 *	value)
  59857 {
  59858 	return bcm_stat_get32(
  59859 			BCM_CONTROL(unit)->unit,
  59860 			port,
  59861 			type,
  59862 			value);
  59863 }
  59864 
  59865 int
  59866 bcm_loop_stat_group_create(
  59867 	int	unit,
  59868 	bcm_stat_object_t	object,
  59869 	bcm_stat_group_mode_t	group_mode,
  59870 	uint32 *	stat_counter_id,
  59871 	uint32 *	num_entries)
  59872 {
  59873 	return bcm_stat_group_create(
  59874 			BCM_CONTROL(unit)->unit,
  59875 			object,
  59876 			group_mode,
  59877 			stat_counter_id,
  59878 			num_entries);
  59879 }
  59880 
  59881 int
  59882 bcm_loop_stat_group_destroy(
  59883 	int	unit,
  59884 	uint32	stat_counter_id)
  59885 {
  59886 	return bcm_stat_group_destroy(
  59887 			BCM_CONTROL(unit)->unit,
  59888 			stat_counter_id);
  59889 }
  59890 
  59891 int
  59892 bcm_loop_stat_group_drop_reasons_get(
  59893 	int	unit,
  59894 	uint32	flags,
  59895 	bcm_stat_counter_group_filter_t	group,
  59896 	int	max_drop_reason_count,
  59897 	bcm_cosq_drop_reason_t *	drop_reasons_array,
  59898 	int *	drop_reasons_count)
  59899 {
  59900 	return bcm_stat_group_drop_reasons_get(
  59901 			BCM_CONTROL(unit)->unit,
  59902 			flags,
  59903 			group,
  59904 			max_drop_reason_count,
  59905 			drop_reasons_array,
  59906 			drop_reasons_count);
  59907 }
  59908 
  59909 int
  59910 bcm_loop_stat_group_drop_reasons_set(
  59911 	int	unit,
  59912 	uint32	flags,
  59913 	bcm_stat_counter_group_filter_t	group,
  59914 	bcm_cosq_drop_reason_t *	drop_reasons_array,
  59915 	int	drop_reasons_count)
  59916 {
  59917 	return bcm_stat_group_drop_reasons_set(
  59918 			BCM_CONTROL(unit)->unit,
  59919 			flags,
  59920 			group,
  59921 			drop_reasons_array,
  59922 			drop_reasons_count);
  59923 }
  59924 
  59925 int
  59926 bcm_loop_stat_group_dump(
  59927 	int	unit,
  59928 	bcm_stat_object_t	object,
  59929 	bcm_stat_group_mode_t	group_mode)
  59930 {
  59931 	return bcm_stat_group_dump(
  59932 			BCM_CONTROL(unit)->unit,
  59933 			object,
  59934 			group_mode);
  59935 }
  59936 
  59937 int
  59938 bcm_loop_stat_group_dump_all(
  59939 	int	unit)
  59940 {
  59941 	return bcm_stat_group_dump_all(
  59942 			BCM_CONTROL(unit)->unit);
  59943 }
  59944 
  59945 int
  59946 bcm_loop_stat_group_mode_attr_class_id_create(
  59947 	int	unit,
  59948 	bcm_stat_group_mode_attr_t	attr,
  59949 	uint32	num_of_attr_values,
  59950 	uint32 *	attr_values,
  59951 	bcm_stat_group_mode_attr_class_id_t *	attr_class_id)
  59952 {
  59953 	return bcm_stat_group_mode_attr_class_id_create(
  59954 			BCM_CONTROL(unit)->unit,
  59955 			attr,
  59956 			num_of_attr_values,
  59957 			attr_values,
  59958 			attr_class_id);
  59959 }
  59960 
  59961 int
  59962 bcm_loop_stat_group_mode_attr_class_id_destroy(
  59963 	int	unit,
  59964 	bcm_stat_group_mode_attr_class_id_t	attr_class_id)
  59965 {
  59966 	return bcm_stat_group_mode_attr_class_id_destroy(
  59967 			BCM_CONTROL(unit)->unit,
  59968 			attr_class_id);
  59969 }
  59970 
  59971 /* bcm_stat_group_mode_attr_selector_t_init not dispatchable */
  59972 
  59973 /* bcm_stat_group_mode_hint_t_init not dispatchable */
  59974 
  59975 int
  59976 bcm_loop_stat_group_mode_id_config_create(
  59977 	int	unit,
  59978 	uint32	options,
  59979 	bcm_stat_group_mode_id_config_t *	stat_config,
  59980 	uint32	num_selectors,
  59981 	bcm_stat_group_mode_attr_selector_t *	attr_sel,
  59982 	uint32 *	mode_id)
  59983 {
  59984 	return bcm_stat_group_mode_id_config_create(
  59985 			BCM_CONTROL(unit)->unit,
  59986 			options,
  59987 			stat_config,
  59988 			num_selectors,
  59989 			attr_sel,
  59990 			mode_id);
  59991 }
  59992 
  59993 int
  59994 bcm_loop_stat_group_mode_id_config_get(
  59995 	int	unit,
  59996 	uint32	mode_id,
  59997 	bcm_stat_group_mode_id_config_t *	config,
  59998 	uint32	num_selectors,
  59999 	bcm_stat_group_mode_attr_selector_t *	attr_sel,
  60000 	uint32 *	actual_num_selectors)
  60001 {
  60002 	return bcm_stat_group_mode_id_config_get(
  60003 			BCM_CONTROL(unit)->unit,
  60004 			mode_id,
  60005 			config,
  60006 			num_selectors,
  60007 			attr_sel,
  60008 			actual_num_selectors);
  60009 }
  60010 
  60011 /* bcm_stat_group_mode_id_config_t_init not dispatchable */
  60012 
  60013 int
  60014 bcm_loop_stat_group_mode_id_create(
  60015 	int	unit,
  60016 	uint32	flags,
  60017 	uint32	total_counters,
  60018 	uint32	num_selectors,
  60019 	bcm_stat_group_mode_attr_selector_t *	attr_selectors,
  60020 	uint32 *	mode_id)
  60021 {
  60022 	return bcm_stat_group_mode_id_create(
  60023 			BCM_CONTROL(unit)->unit,
  60024 			flags,
  60025 			total_counters,
  60026 			num_selectors,
  60027 			attr_selectors,
  60028 			mode_id);
  60029 }
  60030 
  60031 int
  60032 bcm_loop_stat_group_mode_id_destroy(
  60033 	int	unit,
  60034 	uint32	mode_id)
  60035 {
  60036 	return bcm_stat_group_mode_id_destroy(
  60037 			BCM_CONTROL(unit)->unit,
  60038 			mode_id);
  60039 }
  60040 
  60041 int
  60042 bcm_loop_stat_group_mode_id_get(
  60043 	int	unit,
  60044 	uint32	mode_id,
  60045 	uint32 *	flags,
  60046 	uint32 *	total_counters,
  60047 	uint32	num_selectors,
  60048 	bcm_stat_group_mode_attr_selector_t *	attr_selectors,
  60049 	uint32 *	actual_num_selectors)
  60050 {
  60051 	return bcm_stat_group_mode_id_get(
  60052 			BCM_CONTROL(unit)->unit,
  60053 			mode_id,
  60054 			flags,
  60055 			total_counters,
  60056 			num_selectors,
  60057 			attr_selectors,
  60058 			actual_num_selectors);
  60059 }
  60060 
  60061 int
  60062 bcm_loop_stat_id_get_all(
  60063 	int	unit,
  60064 	bcm_stat_object_t	object,
  60065 	int	stat_max,
  60066 	uint32 *	stat_array,
  60067 	int *	stat_count)
  60068 {
  60069 	return bcm_stat_id_get_all(
  60070 			BCM_CONTROL(unit)->unit,
  60071 			object,
  60072 			stat_max,
  60073 			stat_array,
  60074 			stat_count);
  60075 }
  60076 
  60077 int
  60078 bcm_loop_stat_init(
  60079 	int	unit)
  60080 {
  60081 	return bcm_stat_init(
  60082 			BCM_CONTROL(unit)->unit);
  60083 }
  60084 
  60085 int
  60086 bcm_loop_stat_latency_port_stat_id_get(
  60087 	int	unit,
  60088 	int	flags,
  60089 	bcm_stat_latency_port_stat_id_key_t *	key,
  60090 	int *	stat_id)
  60091 {
  60092 	return bcm_stat_latency_port_stat_id_get(
  60093 			BCM_CONTROL(unit)->unit,
  60094 			flags,
  60095 			key,
  60096 			stat_id);
  60097 }
  60098 
  60099 int
  60100 bcm_loop_stat_lif_counting_profile_get(
  60101 	int	unit,
  60102 	uint32	flags,
  60103 	int	lif_counting_profile,
  60104 	bcm_stat_lif_counting_t *	lif_counting)
  60105 {
  60106 	return bcm_stat_lif_counting_profile_get(
  60107 			BCM_CONTROL(unit)->unit,
  60108 			flags,
  60109 			lif_counting_profile,
  60110 			lif_counting);
  60111 }
  60112 
  60113 int
  60114 bcm_loop_stat_lif_counting_profile_set(
  60115 	int	unit,
  60116 	uint32	flags,
  60117 	int	lif_counting_profile,
  60118 	bcm_stat_lif_counting_t *	lif_counting)
  60119 {
  60120 	return bcm_stat_lif_counting_profile_set(
  60121 			BCM_CONTROL(unit)->unit,
  60122 			flags,
  60123 			lif_counting_profile,
  60124 			lif_counting);
  60125 }
  60126 
  60127 int
  60128 bcm_loop_stat_lif_counting_stack_level_priority_get(
  60129 	int	unit,
  60130 	uint32	flags,
  60131 	bcm_stat_lif_counting_source_t *	source,
  60132 	bcm_stat_counter_lif_stack_id_t	lif_stack_level,
  60133 	int *	priority)
  60134 {
  60135 	return bcm_stat_lif_counting_stack_level_priority_get(
  60136 			BCM_CONTROL(unit)->unit,
  60137 			flags,
  60138 			source,
  60139 			lif_stack_level,
  60140 			priority);
  60141 }
  60142 
  60143 int
  60144 bcm_loop_stat_lif_counting_stack_level_priority_set(
  60145 	int	unit,
  60146 	uint32	flags,
  60147 	bcm_stat_lif_counting_source_t *	source,
  60148 	bcm_stat_counter_lif_stack_id_t	lif_stack_level,
  60149 	int	priority)
  60150 {
  60151 	return bcm_stat_lif_counting_stack_level_priority_set(
  60152 			BCM_CONTROL(unit)->unit,
  60153 			flags,
  60154 			source,
  60155 			lif_stack_level,
  60156 			priority);
  60157 }
  60158 
  60159 int
  60160 bcm_loop_stat_multi_get(
  60161 	int	unit,
  60162 	bcm_port_t	port,
  60163 	int	nstat,
  60164 	bcm_stat_val_t *	stat_arr,
  60165 	uint64 *	value_arr)
  60166 {
  60167 	return bcm_stat_multi_get(
  60168 			BCM_CONTROL(unit)->unit,
  60169 			port,
  60170 			nstat,
  60171 			stat_arr,
  60172 			value_arr);
  60173 }
  60174 
  60175 int
  60176 bcm_loop_stat_multi_get32(
  60177 	int	unit,
  60178 	bcm_port_t	port,
  60179 	int	nstat,
  60180 	bcm_stat_val_t *	stat_arr,
  60181 	uint32 *	value_arr)
  60182 {
  60183 	return bcm_stat_multi_get32(
  60184 			BCM_CONTROL(unit)->unit,
  60185 			port,
  60186 			nstat,
  60187 			stat_arr,
  60188 			value_arr);
  60189 }
  60190 
  60191 int
  60192 bcm_loop_stat_pkt_size_adjust_select_get(
  60193 	int	unit,
  60194 	int	flags,
  60195 	bcm_stat_counter_command_id_key_t *	key,
  60196 	bcm_stat_pkt_size_adjust_select_type_t	select_type,
  60197 	int *	enable)
  60198 {
  60199 	return bcm_stat_pkt_size_adjust_select_get(
  60200 			BCM_CONTROL(unit)->unit,
  60201 			flags,
  60202 			key,
  60203 			select_type,
  60204 			enable);
  60205 }
  60206 
  60207 int
  60208 bcm_loop_stat_pkt_size_adjust_select_set(
  60209 	int	unit,
  60210 	int	flags,
  60211 	bcm_stat_counter_command_id_key_t *	key,
  60212 	bcm_stat_pkt_size_adjust_select_type_t	select_type,
  60213 	int	enable)
  60214 {
  60215 	return bcm_stat_pkt_size_adjust_select_set(
  60216 			BCM_CONTROL(unit)->unit,
  60217 			flags,
  60218 			key,
  60219 			select_type,
  60220 			enable);
  60221 }
  60222 
  60223 /* bcm_stat_pp_info_t_init not dispatchable */
  60224 
  60225 int
  60226 bcm_loop_stat_pp_profile_create(
  60227 	int	unit,
  60228 	int	flags,
  60229 	bcm_stat_counter_interface_type_t	engine_source,
  60230 	int *	stat_pp_profile,
  60231 	bcm_stat_pp_profile_info_t *	stat_pp_profile_info)
  60232 {
  60233 	return bcm_stat_pp_profile_create(
  60234 			BCM_CONTROL(unit)->unit,
  60235 			flags,
  60236 			engine_source,
  60237 			stat_pp_profile,
  60238 			stat_pp_profile_info);
  60239 }
  60240 
  60241 int
  60242 bcm_loop_stat_pp_profile_delete(
  60243 	int	unit,
  60244 	int	stat_pp_profile)
  60245 {
  60246 	return bcm_stat_pp_profile_delete(
  60247 			BCM_CONTROL(unit)->unit,
  60248 			stat_pp_profile);
  60249 }
  60250 
  60251 int
  60252 bcm_loop_stat_pp_profile_get(
  60253 	int	unit,
  60254 	int	stat_pp_profile,
  60255 	bcm_stat_pp_profile_info_t *	stat_pp_profile_info)
  60256 {
  60257 	return bcm_stat_pp_profile_get(
  60258 			BCM_CONTROL(unit)->unit,
  60259 			stat_pp_profile,
  60260 			stat_pp_profile_info);
  60261 }
  60262 
  60263 /* bcm_stat_pp_profile_info_t_init not dispatchable */
  60264 
  60265 int
  60266 bcm_loop_stat_stif_record_format_get(
  60267 	int	unit,
  60268 	int	flags,
  60269 	int	max_nof_elements,
  60270 	bcm_stat_stif_record_format_element_t *	elements_array,
  60271 	int *	nof_elements)
  60272 {
  60273 	return bcm_stat_stif_record_format_get(
  60274 			BCM_CONTROL(unit)->unit,
  60275 			flags,
  60276 			max_nof_elements,
  60277 			elements_array,
  60278 			nof_elements);
  60279 }
  60280 
  60281 int
  60282 bcm_loop_stat_stif_record_format_set(
  60283 	int	unit,
  60284 	int	flags,
  60285 	int	nof_elements,
  60286 	bcm_stat_stif_record_format_element_t *	record_format_elements)
  60287 {
  60288 	return bcm_stat_stif_record_format_set(
  60289 			BCM_CONTROL(unit)->unit,
  60290 			flags,
  60291 			nof_elements,
  60292 			record_format_elements);
  60293 }
  60294 
  60295 int
  60296 bcm_loop_stat_stif_source_mapping_get(
  60297 	int	unit,
  60298 	int	flags,
  60299 	bcm_stat_stif_source_t	source,
  60300 	bcm_port_t *	port)
  60301 {
  60302 	return bcm_stat_stif_source_mapping_get(
  60303 			BCM_CONTROL(unit)->unit,
  60304 			flags,
  60305 			source,
  60306 			port);
  60307 }
  60308 
  60309 int
  60310 bcm_loop_stat_stif_source_mapping_set(
  60311 	int	unit,
  60312 	int	flags,
  60313 	bcm_stat_stif_source_t	source,
  60314 	bcm_port_t	port)
  60315 {
  60316 	return bcm_stat_stif_source_mapping_set(
  60317 			BCM_CONTROL(unit)->unit,
  60318 			flags,
  60319 			source,
  60320 			port);
  60321 }
  60322 
  60323 int
  60324 bcm_loop_stat_sync(
  60325 	int	unit)
  60326 {
  60327 	return bcm_stat_sync(
  60328 			BCM_CONTROL(unit)->unit);
  60329 }
  60330 
  60331 int
  60332 bcm_loop_stat_sync_get(
  60333 	int	unit,
  60334 	bcm_port_t	port,
  60335 	bcm_stat_val_t	type,
  60336 	uint64 *	value)
  60337 {
  60338 	return bcm_stat_sync_get(
  60339 			BCM_CONTROL(unit)->unit,
  60340 			port,
  60341 			type,
  60342 			value);
  60343 }
  60344 
  60345 int
  60346 bcm_loop_stat_sync_get32(
  60347 	int	unit,
  60348 	bcm_port_t	port,
  60349 	bcm_stat_val_t	type,
  60350 	uint32 *	value)
  60351 {
  60352 	return bcm_stat_sync_get32(
  60353 			BCM_CONTROL(unit)->unit,
  60354 			port,
  60355 			type,
  60356 			value);
  60357 }
  60358 
  60359 int
  60360 bcm_loop_stat_sync_multi_get(
  60361 	int	unit,
  60362 	bcm_port_t	port,
  60363 	int	nstat,
  60364 	bcm_stat_val_t *	stat_arr,
  60365 	uint64 *	value_arr)
  60366 {
  60367 	return bcm_stat_sync_multi_get(
  60368 			BCM_CONTROL(unit)->unit,
  60369 			port,
  60370 			nstat,
  60371 			stat_arr,
  60372 			value_arr);
  60373 }
  60374 
  60375 int
  60376 bcm_loop_stat_sync_multi_get32(
  60377 	int	unit,
  60378 	bcm_port_t	port,
  60379 	int	nstat,
  60380 	bcm_stat_val_t *	stat_arr,
  60381 	uint32 *	value_arr)
  60382 {
  60383 	return bcm_stat_sync_multi_get32(
  60384 			BCM_CONTROL(unit)->unit,
  60385 			port,
  60386 			nstat,
  60387 			stat_arr,
  60388 			value_arr);
  60389 }
  60390 
  60391 int
  60392 bcm_loop_stat_threshold_get(
  60393 	int	unit,
  60394 	bcm_port_t	port,
  60395 	bcm_stat_val_t	stat,
  60396 	bcm_stat_threshold_t *	threshold)
  60397 {
  60398 	return bcm_stat_threshold_get(
  60399 			BCM_CONTROL(unit)->unit,
  60400 			port,
  60401 			stat,
  60402 			threshold);
  60403 }
  60404 
  60405 int
  60406 bcm_loop_stat_threshold_set(
  60407 	int	unit,
  60408 	bcm_port_t	port,
  60409 	bcm_stat_val_t	stat,
  60410 	bcm_stat_threshold_t *	threshold)
  60411 {
  60412 	return bcm_stat_threshold_set(
  60413 			BCM_CONTROL(unit)->unit,
  60414 			port,
  60415 			stat,
  60416 			threshold);
  60417 }
  60418 
  60419 /* bcm_stat_value_t_init not dispatchable */
  60420 
  60421 int
  60422 bcm_loop_stg_clear(
  60423 	int	unit)
  60424 {
  60425 	return bcm_stg_clear(
  60426 			BCM_CONTROL(unit)->unit);
  60427 }
  60428 
  60429 int
  60430 bcm_loop_stg_count_get(
  60431 	int	unit,
  60432 	int *	max_stg)
  60433 {
  60434 	return bcm_stg_count_get(
  60435 			BCM_CONTROL(unit)->unit,
  60436 			max_stg);
  60437 }
  60438 
  60439 int
  60440 bcm_loop_stg_create(
  60441 	int	unit,
  60442 	bcm_stg_t *	stg_ptr)
  60443 {
  60444 	return bcm_stg_create(
  60445 			BCM_CONTROL(unit)->unit,
  60446 			stg_ptr);
  60447 }
  60448 
  60449 int
  60450 bcm_loop_stg_create_id(
  60451 	int	unit,
  60452 	bcm_stg_t	stg)
  60453 {
  60454 	return bcm_stg_create_id(
  60455 			BCM_CONTROL(unit)->unit,
  60456 			stg);
  60457 }
  60458 
  60459 int
  60460 bcm_loop_stg_default_get(
  60461 	int	unit,
  60462 	bcm_stg_t *	stg_ptr)
  60463 {
  60464 	return bcm_stg_default_get(
  60465 			BCM_CONTROL(unit)->unit,
  60466 			stg_ptr);
  60467 }
  60468 
  60469 int
  60470 bcm_loop_stg_default_set(
  60471 	int	unit,
  60472 	bcm_stg_t	stg)
  60473 {
  60474 	return bcm_stg_default_set(
  60475 			BCM_CONTROL(unit)->unit,
  60476 			stg);
  60477 }
  60478 
  60479 int
  60480 bcm_loop_stg_destroy(
  60481 	int	unit,
  60482 	bcm_stg_t	stg)
  60483 {
  60484 	return bcm_stg_destroy(
  60485 			BCM_CONTROL(unit)->unit,
  60486 			stg);
  60487 }
  60488 
  60489 int
  60490 bcm_loop_stg_init(
  60491 	int	unit)
  60492 {
  60493 	return bcm_stg_init(
  60494 			BCM_CONTROL(unit)->unit);
  60495 }
  60496 
  60497 int
  60498 bcm_loop_stg_list(
  60499 	int	unit,
  60500 	bcm_stg_t **	list,
  60501 	int *	count)
  60502 {
  60503 	return bcm_stg_list(
  60504 			BCM_CONTROL(unit)->unit,
  60505 			list,
  60506 			count);
  60507 }
  60508 
  60509 int
  60510 bcm_loop_stg_list_destroy(
  60511 	int	unit,
  60512 	bcm_stg_t *	list,
  60513 	int	count)
  60514 {
  60515 	return bcm_stg_list_destroy(
  60516 			BCM_CONTROL(unit)->unit,
  60517 			list,
  60518 			count);
  60519 }
  60520 
  60521 int
  60522 bcm_loop_stg_stp_get(
  60523 	int	unit,
  60524 	bcm_stg_t	stg,
  60525 	bcm_port_t	port,
  60526 	int *	stp_state)
  60527 {
  60528 	return bcm_stg_stp_get(
  60529 			BCM_CONTROL(unit)->unit,
  60530 			stg,
  60531 			port,
  60532 			stp_state);
  60533 }
  60534 
  60535 int
  60536 bcm_loop_stg_stp_set(
  60537 	int	unit,
  60538 	bcm_stg_t	stg,
  60539 	bcm_port_t	port,
  60540 	int	stp_state)
  60541 {
  60542 	return bcm_stg_stp_set(
  60543 			BCM_CONTROL(unit)->unit,
  60544 			stg,
  60545 			port,
  60546 			stp_state);
  60547 }
  60548 
  60549 int
  60550 bcm_loop_stg_vlan_add(
  60551 	int	unit,
  60552 	bcm_stg_t	stg,
  60553 	bcm_vlan_t	vid)
  60554 {
  60555 	return bcm_stg_vlan_add(
  60556 			BCM_CONTROL(unit)->unit,
  60557 			stg,
  60558 			vid);
  60559 }
  60560 
  60561 int
  60562 bcm_loop_stg_vlan_list(
  60563 	int	unit,
  60564 	bcm_stg_t	stg,
  60565 	bcm_vlan_t **	list,
  60566 	int *	count)
  60567 {
  60568 	return bcm_stg_vlan_list(
  60569 			BCM_CONTROL(unit)->unit,
  60570 			stg,
  60571 			list,
  60572 			count);
  60573 }
  60574 
  60575 int
  60576 bcm_loop_stg_vlan_list_destroy(
  60577 	int	unit,
  60578 	bcm_vlan_t *	list,
  60579 	int	count)
  60580 {
  60581 	return bcm_stg_vlan_list_destroy(
  60582 			BCM_CONTROL(unit)->unit,
  60583 			list,
  60584 			count);
  60585 }
  60586 
  60587 int
  60588 bcm_loop_stg_vlan_remove(
  60589 	int	unit,
  60590 	bcm_stg_t	stg,
  60591 	bcm_vlan_t	vid)
  60592 {
  60593 	return bcm_stg_vlan_remove(
  60594 			BCM_CONTROL(unit)->unit,
  60595 			stg,
  60596 			vid);
  60597 }
  60598 
  60599 int
  60600 bcm_loop_stg_vlan_remove_all(
  60601 	int	unit,
  60602 	bcm_stg_t	stg)
  60603 {
  60604 	return bcm_stg_vlan_remove_all(
  60605 			BCM_CONTROL(unit)->unit,
  60606 			stg);
  60607 }
  60608 
  60609 int
  60610 bcm_loop_stk_domain_stk_trunk_add(
  60611 	int	unit,
  60612 	int	tm_domain,
  60613 	bcm_trunk_t	stk_trunk)
  60614 {
  60615 	return bcm_stk_domain_stk_trunk_add(
  60616 			BCM_CONTROL(unit)->unit,
  60617 			tm_domain,
  60618 			stk_trunk);
  60619 }
  60620 
  60621 int
  60622 bcm_loop_stk_domain_stk_trunk_delete(
  60623 	int	unit,
  60624 	int	tm_domain,
  60625 	bcm_trunk_t	stk_trunk)
  60626 {
  60627 	return bcm_stk_domain_stk_trunk_delete(
  60628 			BCM_CONTROL(unit)->unit,
  60629 			tm_domain,
  60630 			stk_trunk);
  60631 }
  60632 
  60633 int
  60634 bcm_loop_stk_domain_stk_trunk_get(
  60635 	int	unit,
  60636 	bcm_trunk_t	stk_trunk,
  60637 	int	domain_max,
  60638 	int *	domain_array,
  60639 	int *	domain_count)
  60640 {
  60641 	return bcm_stk_domain_stk_trunk_get(
  60642 			BCM_CONTROL(unit)->unit,
  60643 			stk_trunk,
  60644 			domain_max,
  60645 			domain_array,
  60646 			domain_count);
  60647 }
  60648 
  60649 int
  60650 bcm_loop_stk_fmod_lmod_mapping_get(
  60651 	int	unit,
  60652 	bcm_port_t	port,
  60653 	bcm_module_t *	fmod,
  60654 	bcm_module_t *	lmod)
  60655 {
  60656 	return bcm_stk_fmod_lmod_mapping_get(
  60657 			BCM_CONTROL(unit)->unit,
  60658 			port,
  60659 			fmod,
  60660 			lmod);
  60661 }
  60662 
  60663 int
  60664 bcm_loop_stk_fmod_lmod_mapping_set(
  60665 	int	unit,
  60666 	bcm_port_t	port,
  60667 	bcm_module_t	fmod,
  60668 	bcm_module_t	lmod)
  60669 {
  60670 	return bcm_stk_fmod_lmod_mapping_set(
  60671 			BCM_CONTROL(unit)->unit,
  60672 			port,
  60673 			fmod,
  60674 			lmod);
  60675 }
  60676 
  60677 int
  60678 bcm_loop_stk_fmod_smod_mapping_get(
  60679 	int	unit,
  60680 	bcm_port_t	port,
  60681 	bcm_module_t	fmod,
  60682 	bcm_module_t *	smod,
  60683 	bcm_port_t *	sport,
  60684 	uint32 *	nports)
  60685 {
  60686 	return bcm_stk_fmod_smod_mapping_get(
  60687 			BCM_CONTROL(unit)->unit,
  60688 			port,
  60689 			fmod,
  60690 			smod,
  60691 			sport,
  60692 			nports);
  60693 }
  60694 
  60695 int
  60696 bcm_loop_stk_fmod_smod_mapping_set(
  60697 	int	unit,
  60698 	bcm_port_t	port,
  60699 	bcm_module_t	fmod,
  60700 	bcm_module_t	smod,
  60701 	bcm_port_t	sport,
  60702 	uint32	nports)
  60703 {
  60704 	return bcm_stk_fmod_smod_mapping_set(
  60705 			BCM_CONTROL(unit)->unit,
  60706 			port,
  60707 			fmod,
  60708 			smod,
  60709 			sport,
  60710 			nports);
  60711 }
  60712 
  60713 int
  60714 bcm_loop_stk_gport_sysport_get(
  60715 	int	unit,
  60716 	bcm_gport_t	gport,
  60717 	bcm_gport_t *	sysport)
  60718 {
  60719 	return bcm_stk_gport_sysport_get(
  60720 			BCM_CONTROL(unit)->unit,
  60721 			gport,
  60722 			sysport);
  60723 }
  60724 
  60725 int
  60726 bcm_loop_stk_init(
  60727 	int	unit)
  60728 {
  60729 	return bcm_stk_init(
  60730 			BCM_CONTROL(unit)->unit);
  60731 }
  60732 
  60733 int
  60734 bcm_loop_stk_mode_get(
  60735 	int	unit,
  60736 	uint32 *	flags)
  60737 {
  60738 	return bcm_stk_mode_get(
  60739 			BCM_CONTROL(unit)->unit,
  60740 			flags);
  60741 }
  60742 
  60743 int
  60744 bcm_loop_stk_mode_set(
  60745 	int	unit,
  60746 	uint32	flags)
  60747 {
  60748 	return bcm_stk_mode_set(
  60749 			BCM_CONTROL(unit)->unit,
  60750 			flags);
  60751 }
  60752 
  60753 int
  60754 bcm_loop_stk_modid_config_add(
  60755 	int	unit,
  60756 	bcm_stk_modid_config_t *	modid)
  60757 {
  60758 	return bcm_stk_modid_config_add(
  60759 			BCM_CONTROL(unit)->unit,
  60760 			modid);
  60761 }
  60762 
  60763 int
  60764 bcm_loop_stk_modid_config_delete(
  60765 	int	unit,
  60766 	bcm_stk_modid_config_t *	modid)
  60767 {
  60768 	return bcm_stk_modid_config_delete(
  60769 			BCM_CONTROL(unit)->unit,
  60770 			modid);
  60771 }
  60772 
  60773 int
  60774 bcm_loop_stk_modid_config_delete_all(
  60775 	int	unit)
  60776 {
  60777 	return bcm_stk_modid_config_delete_all(
  60778 			BCM_CONTROL(unit)->unit);
  60779 }
  60780 
  60781 int
  60782 bcm_loop_stk_modid_config_get(
  60783 	int	unit,
  60784 	bcm_stk_modid_config_t *	modid)
  60785 {
  60786 	return bcm_stk_modid_config_get(
  60787 			BCM_CONTROL(unit)->unit,
  60788 			modid);
  60789 }
  60790 
  60791 int
  60792 bcm_loop_stk_modid_config_get_all(
  60793 	int	unit,
  60794 	int	modid_max,
  60795 	bcm_stk_modid_config_t *	modid_array,
  60796 	int *	modid_count)
  60797 {
  60798 	return bcm_stk_modid_config_get_all(
  60799 			BCM_CONTROL(unit)->unit,
  60800 			modid_max,
  60801 			modid_array,
  60802 			modid_count);
  60803 }
  60804 
  60805 int
  60806 bcm_loop_stk_modid_config_set(
  60807 	int	unit,
  60808 	bcm_stk_modid_config_t *	modid)
  60809 {
  60810 	return bcm_stk_modid_config_set(
  60811 			BCM_CONTROL(unit)->unit,
  60812 			modid);
  60813 }
  60814 
  60815 /* bcm_stk_modid_config_t_init not dispatchable */
  60816 
  60817 int
  60818 bcm_loop_stk_modid_count(
  60819 	int	unit,
  60820 	int *	num_modid)
  60821 {
  60822 	return bcm_stk_modid_count(
  60823 			BCM_CONTROL(unit)->unit,
  60824 			num_modid);
  60825 }
  60826 
  60827 int
  60828 bcm_loop_stk_modid_domain_add(
  60829 	int	unit,
  60830 	int	modid,
  60831 	int	tm_domain)
  60832 {
  60833 	return bcm_stk_modid_domain_add(
  60834 			BCM_CONTROL(unit)->unit,
  60835 			modid,
  60836 			tm_domain);
  60837 }
  60838 
  60839 int
  60840 bcm_loop_stk_modid_domain_delete(
  60841 	int	unit,
  60842 	int	modid,
  60843 	int	tm_domain)
  60844 {
  60845 	return bcm_stk_modid_domain_delete(
  60846 			BCM_CONTROL(unit)->unit,
  60847 			modid,
  60848 			tm_domain);
  60849 }
  60850 
  60851 int
  60852 bcm_loop_stk_modid_domain_get(
  60853 	int	unit,
  60854 	int	tm_domain,
  60855 	int	mod_max,
  60856 	int *	mod_array,
  60857 	int *	mod_count)
  60858 {
  60859 	return bcm_stk_modid_domain_get(
  60860 			BCM_CONTROL(unit)->unit,
  60861 			tm_domain,
  60862 			mod_max,
  60863 			mod_array,
  60864 			mod_count);
  60865 }
  60866 
  60867 int
  60868 bcm_loop_stk_modid_get(
  60869 	int	unit,
  60870 	int *	modid)
  60871 {
  60872 	return bcm_stk_modid_get(
  60873 			BCM_CONTROL(unit)->unit,
  60874 			modid);
  60875 }
  60876 
  60877 int
  60878 bcm_loop_stk_modid_set(
  60879 	int	unit,
  60880 	int	modid)
  60881 {
  60882 	return bcm_stk_modid_set(
  60883 			BCM_CONTROL(unit)->unit,
  60884 			modid);
  60885 }
  60886 
  60887 int
  60888 bcm_loop_stk_modmap_enable_get(
  60889 	int	unit,
  60890 	bcm_port_t	port,
  60891 	int *	enable)
  60892 {
  60893 	return bcm_stk_modmap_enable_get(
  60894 			BCM_CONTROL(unit)->unit,
  60895 			port,
  60896 			enable);
  60897 }
  60898 
  60899 int
  60900 bcm_loop_stk_modmap_enable_set(
  60901 	int	unit,
  60902 	bcm_port_t	port,
  60903 	int	enable)
  60904 {
  60905 	return bcm_stk_modmap_enable_set(
  60906 			BCM_CONTROL(unit)->unit,
  60907 			port,
  60908 			enable);
  60909 }
  60910 
  60911 int
  60912 bcm_loop_stk_modmap_map(
  60913 	int	unit,
  60914 	int	setget,
  60915 	bcm_module_t	mod_in,
  60916 	bcm_port_t	port_in,
  60917 	bcm_module_t *	mod_out,
  60918 	bcm_port_t *	port_out)
  60919 {
  60920 	return bcm_stk_modmap_map(
  60921 			BCM_CONTROL(unit)->unit,
  60922 			setget,
  60923 			mod_in,
  60924 			port_in,
  60925 			mod_out,
  60926 			port_out);
  60927 }
  60928 
  60929 int
  60930 bcm_loop_stk_modmap_register(
  60931 	int	unit,
  60932 	bcm_stk_modmap_cb_t	func)
  60933 {
  60934 	return bcm_stk_modmap_register(
  60935 			BCM_CONTROL(unit)->unit,
  60936 			func);
  60937 }
  60938 
  60939 int
  60940 bcm_loop_stk_modmap_unregister(
  60941 	int	unit)
  60942 {
  60943 	return bcm_stk_modmap_unregister(
  60944 			BCM_CONTROL(unit)->unit);
  60945 }
  60946 
  60947 int
  60948 bcm_loop_stk_modport_add(
  60949 	int	unit,
  60950 	int	modid,
  60951 	bcm_port_t	port)
  60952 {
  60953 	return bcm_stk_modport_add(
  60954 			BCM_CONTROL(unit)->unit,
  60955 			modid,
  60956 			port);
  60957 }
  60958 
  60959 int
  60960 bcm_loop_stk_modport_clear(
  60961 	int	unit,
  60962 	int	modid)
  60963 {
  60964 	return bcm_stk_modport_clear(
  60965 			BCM_CONTROL(unit)->unit,
  60966 			modid);
  60967 }
  60968 
  60969 int
  60970 bcm_loop_stk_modport_clear_all(
  60971 	int	unit)
  60972 {
  60973 	return bcm_stk_modport_clear_all(
  60974 			BCM_CONTROL(unit)->unit);
  60975 }
  60976 
  60977 int
  60978 bcm_loop_stk_modport_delete(
  60979 	int	unit,
  60980 	int	modid,
  60981 	bcm_port_t	port)
  60982 {
  60983 	return bcm_stk_modport_delete(
  60984 			BCM_CONTROL(unit)->unit,
  60985 			modid,
  60986 			port);
  60987 }
  60988 
  60989 int
  60990 bcm_loop_stk_modport_get(
  60991 	int	unit,
  60992 	int	modid,
  60993 	int *	port)
  60994 {
  60995 	return bcm_stk_modport_get(
  60996 			BCM_CONTROL(unit)->unit,
  60997 			modid,
  60998 			port);
  60999 }
  61000 
  61001 int
  61002 bcm_loop_stk_modport_get_all(
  61003 	int	unit,
  61004 	int	modid,
  61005 	int	port_max,
  61006 	int *	port_array,
  61007 	int *	port_count)
  61008 {
  61009 	return bcm_stk_modport_get_all(
  61010 			BCM_CONTROL(unit)->unit,
  61011 			modid,
  61012 			port_max,
  61013 			port_array,
  61014 			port_count);
  61015 }
  61016 
  61017 int
  61018 bcm_loop_stk_modport_remote_map_get(
  61019 	int	unit,
  61020 	bcm_gport_t	port,
  61021 	uint32	flags,
  61022 	int *	remote_modid,
  61023 	bcm_port_t *	remote_port)
  61024 {
  61025 	return bcm_stk_modport_remote_map_get(
  61026 			BCM_CONTROL(unit)->unit,
  61027 			port,
  61028 			flags,
  61029 			remote_modid,
  61030 			remote_port);
  61031 }
  61032 
  61033 int
  61034 bcm_loop_stk_modport_remote_map_set(
  61035 	int	unit,
  61036 	bcm_gport_t	port,
  61037 	uint32	flags,
  61038 	int	remote_modid,
  61039 	bcm_port_t	remote_port)
  61040 {
  61041 	return bcm_stk_modport_remote_map_set(
  61042 			BCM_CONTROL(unit)->unit,
  61043 			port,
  61044 			flags,
  61045 			remote_modid,
  61046 			remote_port);
  61047 }
  61048 
  61049 int
  61050 bcm_loop_stk_modport_set(
  61051 	int	unit,
  61052 	int	modid,
  61053 	int	port)
  61054 {
  61055 	return bcm_stk_modport_set(
  61056 			BCM_CONTROL(unit)->unit,
  61057 			modid,
  61058 			port);
  61059 }
  61060 
  61061 int
  61062 bcm_loop_stk_module_control_get(
  61063 	int	unit,
  61064 	uint32	flags,
  61065 	bcm_module_t	module,
  61066 	bcm_stk_module_control_t	control,
  61067 	int *	arg)
  61068 {
  61069 	return bcm_stk_module_control_get(
  61070 			BCM_CONTROL(unit)->unit,
  61071 			flags,
  61072 			module,
  61073 			control,
  61074 			arg);
  61075 }
  61076 
  61077 int
  61078 bcm_loop_stk_module_control_set(
  61079 	int	unit,
  61080 	uint32	flags,
  61081 	bcm_module_t	module,
  61082 	bcm_stk_module_control_t	control,
  61083 	int	arg)
  61084 {
  61085 	return bcm_stk_module_control_set(
  61086 			BCM_CONTROL(unit)->unit,
  61087 			flags,
  61088 			module,
  61089 			control,
  61090 			arg);
  61091 }
  61092 
  61093 int
  61094 bcm_loop_stk_module_enable(
  61095 	int	unit,
  61096 	bcm_module_t	modid,
  61097 	int	nports,
  61098 	int	enable)
  61099 {
  61100 	return bcm_stk_module_enable(
  61101 			BCM_CONTROL(unit)->unit,
  61102 			modid,
  61103 			nports,
  61104 			enable);
  61105 }
  61106 
  61107 int
  61108 bcm_loop_stk_module_max_get(
  61109 	int	unit,
  61110 	uint32	flags,
  61111 	bcm_module_t *	max_module)
  61112 {
  61113 	return bcm_stk_module_max_get(
  61114 			BCM_CONTROL(unit)->unit,
  61115 			flags,
  61116 			max_module);
  61117 }
  61118 
  61119 int
  61120 bcm_loop_stk_module_max_set(
  61121 	int	unit,
  61122 	uint32	flags,
  61123 	bcm_module_t	max_module)
  61124 {
  61125 	return bcm_stk_module_max_set(
  61126 			BCM_CONTROL(unit)->unit,
  61127 			flags,
  61128 			max_module);
  61129 }
  61130 
  61131 int
  61132 bcm_loop_stk_my_modid_get(
  61133 	int	unit,
  61134 	int *	my_modid)
  61135 {
  61136 	return bcm_stk_my_modid_get(
  61137 			BCM_CONTROL(unit)->unit,
  61138 			my_modid);
  61139 }
  61140 
  61141 int
  61142 bcm_loop_stk_my_modid_set(
  61143 	int	unit,
  61144 	int	my_modid)
  61145 {
  61146 	return bcm_stk_my_modid_set(
  61147 			BCM_CONTROL(unit)->unit,
  61148 			my_modid);
  61149 }
  61150 
  61151 int
  61152 bcm_loop_stk_pbmp_get(
  61153 	int	unit,
  61154 	bcm_pbmp_t *	cur_pbm,
  61155 	bcm_pbmp_t *	inactive_pbm)
  61156 {
  61157 	return bcm_stk_pbmp_get(
  61158 			BCM_CONTROL(unit)->unit,
  61159 			cur_pbm,
  61160 			inactive_pbm);
  61161 }
  61162 
  61163 int
  61164 bcm_loop_stk_port_get(
  61165 	int	unit,
  61166 	bcm_port_t	port,
  61167 	uint32 *	flags)
  61168 {
  61169 	return bcm_stk_port_get(
  61170 			BCM_CONTROL(unit)->unit,
  61171 			port,
  61172 			flags);
  61173 }
  61174 
  61175 int
  61176 bcm_loop_stk_port_modmap_group_get(
  61177 	int	unit,
  61178 	bcm_port_t	port,
  61179 	int *	group)
  61180 {
  61181 	return bcm_stk_port_modmap_group_get(
  61182 			BCM_CONTROL(unit)->unit,
  61183 			port,
  61184 			group);
  61185 }
  61186 
  61187 int
  61188 bcm_loop_stk_port_modmap_group_max_get(
  61189 	int	unit,
  61190 	int *	max_group)
  61191 {
  61192 	return bcm_stk_port_modmap_group_max_get(
  61193 			BCM_CONTROL(unit)->unit,
  61194 			max_group);
  61195 }
  61196 
  61197 int
  61198 bcm_loop_stk_port_modmap_group_set(
  61199 	int	unit,
  61200 	bcm_port_t	port,
  61201 	int	group)
  61202 {
  61203 	return bcm_stk_port_modmap_group_set(
  61204 			BCM_CONTROL(unit)->unit,
  61205 			port,
  61206 			group);
  61207 }
  61208 
  61209 int
  61210 bcm_loop_stk_port_modport_add(
  61211 	int	unit,
  61212 	bcm_port_t	ing_port,
  61213 	bcm_module_t	dest_modid,
  61214 	bcm_port_t	dest_port)
  61215 {
  61216 	return bcm_stk_port_modport_add(
  61217 			BCM_CONTROL(unit)->unit,
  61218 			ing_port,
  61219 			dest_modid,
  61220 			dest_port);
  61221 }
  61222 
  61223 int
  61224 bcm_loop_stk_port_modport_clear(
  61225 	int	unit,
  61226 	bcm_port_t	ing_port,
  61227 	bcm_module_t	dest_modid)
  61228 {
  61229 	return bcm_stk_port_modport_clear(
  61230 			BCM_CONTROL(unit)->unit,
  61231 			ing_port,
  61232 			dest_modid);
  61233 }
  61234 
  61235 int
  61236 bcm_loop_stk_port_modport_clear_all(
  61237 	int	unit,
  61238 	bcm_port_t	ing_port)
  61239 {
  61240 	return bcm_stk_port_modport_clear_all(
  61241 			BCM_CONTROL(unit)->unit,
  61242 			ing_port);
  61243 }
  61244 
  61245 int
  61246 bcm_loop_stk_port_modport_delete(
  61247 	int	unit,
  61248 	bcm_port_t	ing_port,
  61249 	bcm_module_t	dest_modid,
  61250 	bcm_port_t	dest_port)
  61251 {
  61252 	return bcm_stk_port_modport_delete(
  61253 			BCM_CONTROL(unit)->unit,
  61254 			ing_port,
  61255 			dest_modid,
  61256 			dest_port);
  61257 }
  61258 
  61259 int
  61260 bcm_loop_stk_port_modport_get(
  61261 	int	unit,
  61262 	bcm_port_t	ing_port,
  61263 	bcm_module_t	dest_modid,
  61264 	bcm_port_t *	dest_port)
  61265 {
  61266 	return bcm_stk_port_modport_get(
  61267 			BCM_CONTROL(unit)->unit,
  61268 			ing_port,
  61269 			dest_modid,
  61270 			dest_port);
  61271 }
  61272 
  61273 int
  61274 bcm_loop_stk_port_modport_get_all(
  61275 	int	unit,
  61276 	bcm_port_t	ing_port,
  61277 	bcm_module_t	dest_modid,
  61278 	int	dest_port_max,
  61279 	bcm_port_t *	dest_port_array,
  61280 	int *	dest_port_count)
  61281 {
  61282 	return bcm_stk_port_modport_get_all(
  61283 			BCM_CONTROL(unit)->unit,
  61284 			ing_port,
  61285 			dest_modid,
  61286 			dest_port_max,
  61287 			dest_port_array,
  61288 			dest_port_count);
  61289 }
  61290 
  61291 int
  61292 bcm_loop_stk_port_modport_set(
  61293 	int	unit,
  61294 	bcm_port_t	ing_port,
  61295 	bcm_module_t	dest_modid,
  61296 	bcm_port_t	dest_port)
  61297 {
  61298 	return bcm_stk_port_modport_set(
  61299 			BCM_CONTROL(unit)->unit,
  61300 			ing_port,
  61301 			dest_modid,
  61302 			dest_port);
  61303 }
  61304 
  61305 int
  61306 bcm_loop_stk_port_set(
  61307 	int	unit,
  61308 	bcm_port_t	port,
  61309 	uint32	flags)
  61310 {
  61311 	return bcm_stk_port_set(
  61312 			BCM_CONTROL(unit)->unit,
  61313 			port,
  61314 			flags);
  61315 }
  61316 
  61317 int
  61318 bcm_loop_stk_sysport_gport_get(
  61319 	int	unit,
  61320 	bcm_gport_t	sysport,
  61321 	bcm_gport_t *	gport)
  61322 {
  61323 	return bcm_stk_sysport_gport_get(
  61324 			BCM_CONTROL(unit)->unit,
  61325 			sysport,
  61326 			gport);
  61327 }
  61328 
  61329 int
  61330 bcm_loop_stk_sysport_gport_set(
  61331 	int	unit,
  61332 	bcm_gport_t	sysport,
  61333 	bcm_gport_t	gport)
  61334 {
  61335 	return bcm_stk_sysport_gport_set(
  61336 			BCM_CONTROL(unit)->unit,
  61337 			sysport,
  61338 			gport);
  61339 }
  61340 
  61341 int
  61342 bcm_loop_stk_system_gport_map_create(
  61343 	int	unit,
  61344 	bcm_stk_system_gport_map_t *	sys_gport_map)
  61345 {
  61346 	return bcm_stk_system_gport_map_create(
  61347 			BCM_CONTROL(unit)->unit,
  61348 			sys_gport_map);
  61349 }
  61350 
  61351 int
  61352 bcm_loop_stk_system_gport_map_destroy(
  61353 	int	unit,
  61354 	bcm_gport_t	system_gport)
  61355 {
  61356 	return bcm_stk_system_gport_map_destroy(
  61357 			BCM_CONTROL(unit)->unit,
  61358 			system_gport);
  61359 }
  61360 
  61361 int
  61362 bcm_loop_stk_system_gport_map_get(
  61363 	int	unit,
  61364 	bcm_stk_system_gport_map_t *	sys_gport_map)
  61365 {
  61366 	return bcm_stk_system_gport_map_get(
  61367 			BCM_CONTROL(unit)->unit,
  61368 			sys_gport_map);
  61369 }
  61370 
  61371 int
  61372 bcm_loop_stk_ucbitmap_del(
  61373 	int	unit,
  61374 	bcm_port_t	port,
  61375 	int	modid,
  61376 	bcm_pbmp_t	pbmp)
  61377 {
  61378 	return bcm_stk_ucbitmap_del(
  61379 			BCM_CONTROL(unit)->unit,
  61380 			port,
  61381 			modid,
  61382 			pbmp);
  61383 }
  61384 
  61385 int
  61386 bcm_loop_stk_ucbitmap_get(
  61387 	int	unit,
  61388 	int	port,
  61389 	int	modid,
  61390 	bcm_pbmp_t *	pbmp)
  61391 {
  61392 	return bcm_stk_ucbitmap_get(
  61393 			BCM_CONTROL(unit)->unit,
  61394 			port,
  61395 			modid,
  61396 			pbmp);
  61397 }
  61398 
  61399 int
  61400 bcm_loop_stk_ucbitmap_set(
  61401 	int	unit,
  61402 	int	port,
  61403 	int	modid,
  61404 	bcm_pbmp_t	pbmp)
  61405 {
  61406 	return bcm_stk_ucbitmap_set(
  61407 			BCM_CONTROL(unit)->unit,
  61408 			port,
  61409 			modid,
  61410 			pbmp);
  61411 }
  61412 
  61413 int
  61414 bcm_loop_stk_update_callback_register(
  61415 	int	unit,
  61416 	bcm_stk_cb_f	cb,
  61417 	void *	cookie)
  61418 {
  61419 	return bcm_stk_update_callback_register(
  61420 			BCM_CONTROL(unit)->unit,
  61421 			cb,
  61422 			cookie);
  61423 }
  61424 
  61425 int
  61426 bcm_loop_stk_update_callback_unregister(
  61427 	int	unit,
  61428 	bcm_stk_cb_f	cb,
  61429 	void *	cookie)
  61430 {
  61431 	return bcm_stk_update_callback_unregister(
  61432 			BCM_CONTROL(unit)->unit,
  61433 			cb,
  61434 			cookie);
  61435 }
  61436 
  61437 int
  61438 bcm_loop_subport_cleanup(
  61439 	int	unit)
  61440 {
  61441 	return bcm_subport_cleanup(
  61442 			BCM_CONTROL(unit)->unit);
  61443 }
  61444 
  61445 /* bcm_subport_config_t_init not dispatchable */
  61446 
  61447 int
  61448 bcm_loop_subport_gport_modport_get(
  61449 	int	unit,
  61450 	bcm_gport_t	subport_gport,
  61451 	bcm_module_t *	module,
  61452 	bcm_port_t *	port)
  61453 {
  61454 	return bcm_subport_gport_modport_get(
  61455 			BCM_CONTROL(unit)->unit,
  61456 			subport_gport,
  61457 			module,
  61458 			port);
  61459 }
  61460 
  61461 /* bcm_subport_group_config_t_init not dispatchable */
  61462 
  61463 int
  61464 bcm_loop_subport_group_create(
  61465 	int	unit,
  61466 	bcm_subport_group_config_t *	config,
  61467 	bcm_gport_t *	group)
  61468 {
  61469 	return bcm_subport_group_create(
  61470 			BCM_CONTROL(unit)->unit,
  61471 			config,
  61472 			group);
  61473 }
  61474 
  61475 int
  61476 bcm_loop_subport_group_destroy(
  61477 	int	unit,
  61478 	bcm_gport_t	group)
  61479 {
  61480 	return bcm_subport_group_destroy(
  61481 			BCM_CONTROL(unit)->unit,
  61482 			group);
  61483 }
  61484 
  61485 int
  61486 bcm_loop_subport_group_get(
  61487 	int	unit,
  61488 	bcm_gport_t	group,
  61489 	bcm_subport_group_config_t *	config)
  61490 {
  61491 	return bcm_subport_group_get(
  61492 			BCM_CONTROL(unit)->unit,
  61493 			group,
  61494 			config);
  61495 }
  61496 
  61497 int
  61498 bcm_loop_subport_group_linkphy_config_get(
  61499 	int	unit,
  61500 	bcm_gport_t	port,
  61501 	bcm_subport_group_linkphy_config_t *	linkphy_config)
  61502 {
  61503 	return bcm_subport_group_linkphy_config_get(
  61504 			BCM_CONTROL(unit)->unit,
  61505 			port,
  61506 			linkphy_config);
  61507 }
  61508 
  61509 int
  61510 bcm_loop_subport_group_linkphy_config_set(
  61511 	int	unit,
  61512 	bcm_gport_t	port,
  61513 	bcm_subport_group_linkphy_config_t *	linkphy_config)
  61514 {
  61515 	return bcm_subport_group_linkphy_config_set(
  61516 			BCM_CONTROL(unit)->unit,
  61517 			port,
  61518 			linkphy_config);
  61519 }
  61520 
  61521 /* bcm_subport_group_linkphy_config_t_init not dispatchable */
  61522 
  61523 int
  61524 bcm_loop_subport_group_traverse(
  61525 	int	unit,
  61526 	bcm_gport_t	subport_group,
  61527 	bcm_subport_port_traverse_cb	cb,
  61528 	void *	user_data)
  61529 {
  61530 	return bcm_subport_group_traverse(
  61531 			BCM_CONTROL(unit)->unit,
  61532 			subport_group,
  61533 			cb,
  61534 			user_data);
  61535 }
  61536 
  61537 int
  61538 bcm_loop_subport_init(
  61539 	int	unit)
  61540 {
  61541 	return bcm_subport_init(
  61542 			BCM_CONTROL(unit)->unit);
  61543 }
  61544 
  61545 /* bcm_subport_linkphy_rx_error_reg_info_t_init not dispatchable */
  61546 
  61547 int
  61548 bcm_loop_subport_linkphy_rx_error_register(
  61549 	int	unit,
  61550 	bcm_subport_linkphy_rx_errors_t	errors,
  61551 	bcm_subport_linkphy_rx_error_reg_info_t *	reg_info,
  61552 	void *	user_data)
  61553 {
  61554 	return bcm_subport_linkphy_rx_error_register(
  61555 			BCM_CONTROL(unit)->unit,
  61556 			errors,
  61557 			reg_info,
  61558 			user_data);
  61559 }
  61560 
  61561 int
  61562 bcm_loop_subport_linkphy_rx_error_unregister(
  61563 	int	unit,
  61564 	bcm_subport_linkphy_rx_errors_t	errors)
  61565 {
  61566 	return bcm_subport_linkphy_rx_error_unregister(
  61567 			BCM_CONTROL(unit)->unit,
  61568 			errors);
  61569 }
  61570 
  61571 int
  61572 bcm_loop_subport_port_add(
  61573 	int	unit,
  61574 	bcm_subport_config_t *	config,
  61575 	bcm_gport_t *	port)
  61576 {
  61577 	return bcm_subport_port_add(
  61578 			BCM_CONTROL(unit)->unit,
  61579 			config,
  61580 			port);
  61581 }
  61582 
  61583 int
  61584 bcm_loop_subport_port_delete(
  61585 	int	unit,
  61586 	bcm_gport_t	port)
  61587 {
  61588 	return bcm_subport_port_delete(
  61589 			BCM_CONTROL(unit)->unit,
  61590 			port);
  61591 }
  61592 
  61593 int
  61594 bcm_loop_subport_port_get(
  61595 	int	unit,
  61596 	bcm_gport_t	port,
  61597 	bcm_subport_config_t *	config)
  61598 {
  61599 	return bcm_subport_port_get(
  61600 			BCM_CONTROL(unit)->unit,
  61601 			port,
  61602 			config);
  61603 }
  61604 
  61605 int
  61606 bcm_loop_subport_port_stat_get(
  61607 	int	unit,
  61608 	bcm_gport_t	port,
  61609 	int	stream_id,
  61610 	bcm_subport_stat_t	stat_type,
  61611 	uint64 *	val)
  61612 {
  61613 	return bcm_subport_port_stat_get(
  61614 			BCM_CONTROL(unit)->unit,
  61615 			port,
  61616 			stream_id,
  61617 			stat_type,
  61618 			val);
  61619 }
  61620 
  61621 int
  61622 bcm_loop_subport_port_stat_set(
  61623 	int	unit,
  61624 	bcm_gport_t	port,
  61625 	int	stream_id,
  61626 	bcm_subport_stat_t	stat_type,
  61627 	uint64	val)
  61628 {
  61629 	return bcm_subport_port_stat_set(
  61630 			BCM_CONTROL(unit)->unit,
  61631 			port,
  61632 			stream_id,
  61633 			stat_type,
  61634 			val);
  61635 }
  61636 
  61637 int
  61638 bcm_loop_subport_port_traverse(
  61639 	int	unit,
  61640 	bcm_subport_port_traverse_cb	cb,
  61641 	void *	user_data)
  61642 {
  61643 	return bcm_subport_port_traverse(
  61644 			BCM_CONTROL(unit)->unit,
  61645 			cb,
  61646 			user_data);
  61647 }
  61648 
  61649 int
  61650 bcm_loop_sum_config_get(
  61651 	int	unit,
  61652 	bcm_sum_config_t *	config_data,
  61653 	bcm_pbmp_t *	pbmp)
  61654 {
  61655 	return bcm_sum_config_get(
  61656 			BCM_CONTROL(unit)->unit,
  61657 			config_data,
  61658 			pbmp);
  61659 }
  61660 
  61661 int
  61662 bcm_loop_sum_config_set(
  61663 	int	unit,
  61664 	bcm_sum_config_t *	config_data,
  61665 	bcm_pbmp_t	pbmp)
  61666 {
  61667 	return bcm_sum_config_set(
  61668 			BCM_CONTROL(unit)->unit,
  61669 			config_data,
  61670 			pbmp);
  61671 }
  61672 
  61673 /* bcm_sum_config_t_init not dispatchable */
  61674 
  61675 int
  61676 bcm_loop_sum_detach(
  61677 	int	unit)
  61678 {
  61679 	return bcm_sum_detach(
  61680 			BCM_CONTROL(unit)->unit);
  61681 }
  61682 
  61683 int
  61684 bcm_loop_sum_init(
  61685 	int	unit)
  61686 {
  61687 	return bcm_sum_init(
  61688 			BCM_CONTROL(unit)->unit);
  61689 }
  61690 
  61691 int
  61692 bcm_loop_sum_stat_get(
  61693 	int	unit,
  61694 	uint32	max_samples,
  61695 	bcm_sum_stat_info_t *	stats_data,
  61696 	uint32 *	num_samples,
  61697 	bcm_sum_stat_type_t	stat_type,
  61698 	uint32	usec_sample_period)
  61699 {
  61700 	return bcm_sum_stat_get(
  61701 			BCM_CONTROL(unit)->unit,
  61702 			max_samples,
  61703 			stats_data,
  61704 			num_samples,
  61705 			stat_type,
  61706 			usec_sample_period);
  61707 }
  61708 
  61709 /* bcm_sum_stat_info_t_init not dispatchable */
  61710 
  61711 int
  61712 bcm_loop_switch_agm_create(
  61713 	int	unit,
  61714 	uint32	options,
  61715 	bcm_switch_agm_info_t *	agm_info)
  61716 {
  61717 	return bcm_switch_agm_create(
  61718 			BCM_CONTROL(unit)->unit,
  61719 			options,
  61720 			agm_info);
  61721 }
  61722 
  61723 int
  61724 bcm_loop_switch_agm_destroy(
  61725 	int	unit,
  61726 	bcm_switch_agm_id_t	agm_id)
  61727 {
  61728 	return bcm_switch_agm_destroy(
  61729 			BCM_CONTROL(unit)->unit,
  61730 			agm_id);
  61731 }
  61732 
  61733 int
  61734 bcm_loop_switch_agm_enable_get(
  61735 	int	unit,
  61736 	bcm_switch_agm_id_t	agm_id,
  61737 	int *	enable)
  61738 {
  61739 	return bcm_switch_agm_enable_get(
  61740 			BCM_CONTROL(unit)->unit,
  61741 			agm_id,
  61742 			enable);
  61743 }
  61744 
  61745 int
  61746 bcm_loop_switch_agm_enable_set(
  61747 	int	unit,
  61748 	bcm_switch_agm_id_t	agm_id,
  61749 	int	enable)
  61750 {
  61751 	return bcm_switch_agm_enable_set(
  61752 			BCM_CONTROL(unit)->unit,
  61753 			agm_id,
  61754 			enable);
  61755 }
  61756 
  61757 int
  61758 bcm_loop_switch_agm_get(
  61759 	int	unit,
  61760 	bcm_switch_agm_info_t *	agm_info)
  61761 {
  61762 	return bcm_switch_agm_get(
  61763 			BCM_CONTROL(unit)->unit,
  61764 			agm_info);
  61765 }
  61766 
  61767 /* bcm_switch_agm_info_t_init not dispatchable */
  61768 
  61769 int
  61770 bcm_loop_switch_agm_l3_ecmp_attach_get(
  61771 	int	unit,
  61772 	bcm_switch_agm_id_t	agm_id,
  61773 	bcm_if_t *	l3_ecmp_id)
  61774 {
  61775 	return bcm_switch_agm_l3_ecmp_attach_get(
  61776 			BCM_CONTROL(unit)->unit,
  61777 			agm_id,
  61778 			l3_ecmp_id);
  61779 }
  61780 
  61781 int
  61782 bcm_loop_switch_agm_stat_clear(
  61783 	int	unit,
  61784 	bcm_switch_agm_id_t	agm_id)
  61785 {
  61786 	return bcm_switch_agm_stat_clear(
  61787 			BCM_CONTROL(unit)->unit,
  61788 			agm_id);
  61789 }
  61790 
  61791 int
  61792 bcm_loop_switch_agm_stat_get(
  61793 	int	unit,
  61794 	bcm_switch_agm_id_t	agm_id,
  61795 	int	nstat,
  61796 	bcm_switch_agm_stat_t *	stat_arr)
  61797 {
  61798 	return bcm_switch_agm_stat_get(
  61799 			BCM_CONTROL(unit)->unit,
  61800 			agm_id,
  61801 			nstat,
  61802 			stat_arr);
  61803 }
  61804 
  61805 /* bcm_switch_agm_stat_t_init not dispatchable */
  61806 
  61807 int
  61808 bcm_loop_switch_agm_traverse(
  61809 	int	unit,
  61810 	int	flags,
  61811 	bcm_switch_agm_traverse_cb	trav_fn,
  61812 	void *	user_data)
  61813 {
  61814 	return bcm_switch_agm_traverse(
  61815 			BCM_CONTROL(unit)->unit,
  61816 			flags,
  61817 			trav_fn,
  61818 			user_data);
  61819 }
  61820 
  61821 int
  61822 bcm_loop_switch_agm_trunk_attach_get(
  61823 	int	unit,
  61824 	bcm_switch_agm_id_t	agm_id,
  61825 	bcm_trunk_t *	trunk_id)
  61826 {
  61827 	return bcm_switch_agm_trunk_attach_get(
  61828 			BCM_CONTROL(unit)->unit,
  61829 			agm_id,
  61830 			trunk_id);
  61831 }
  61832 
  61833 int
  61834 bcm_loop_switch_chip_info_get(
  61835 	int	unit,
  61836 	bcm_switch_chip_info_t	info_type,
  61837 	int	max_size,
  61838 	void *	data_buf,
  61839 	int *	actual_size)
  61840 {
  61841 	return bcm_switch_chip_info_get(
  61842 			BCM_CONTROL(unit)->unit,
  61843 			info_type,
  61844 			max_size,
  61845 			data_buf,
  61846 			actual_size);
  61847 }
  61848 
  61849 int
  61850 bcm_loop_switch_control_get(
  61851 	int	unit,
  61852 	bcm_switch_control_t	type,
  61853 	int *	arg)
  61854 {
  61855 	return bcm_switch_control_get(
  61856 			BCM_CONTROL(unit)->unit,
  61857 			type,
  61858 			arg);
  61859 }
  61860 
  61861 int
  61862 bcm_loop_switch_control_indexed_get(
  61863 	int	unit,
  61864 	bcm_switch_control_key_t	key,
  61865 	bcm_switch_control_info_t *	value)
  61866 {
  61867 	return bcm_switch_control_indexed_get(
  61868 			BCM_CONTROL(unit)->unit,
  61869 			key,
  61870 			value);
  61871 }
  61872 
  61873 int
  61874 bcm_loop_switch_control_indexed_port_get(
  61875 	int	unit,
  61876 	bcm_port_t	port,
  61877 	bcm_switch_control_key_t	key,
  61878 	bcm_switch_control_info_t *	value)
  61879 {
  61880 	return bcm_switch_control_indexed_port_get(
  61881 			BCM_CONTROL(unit)->unit,
  61882 			port,
  61883 			key,
  61884 			value);
  61885 }
  61886 
  61887 int
  61888 bcm_loop_switch_control_indexed_port_set(
  61889 	int	unit,
  61890 	bcm_port_t	port,
  61891 	bcm_switch_control_key_t	key,
  61892 	bcm_switch_control_info_t	value)
  61893 {
  61894 	return bcm_switch_control_indexed_port_set(
  61895 			BCM_CONTROL(unit)->unit,
  61896 			port,
  61897 			key,
  61898 			value);
  61899 }
  61900 
  61901 int
  61902 bcm_loop_switch_control_indexed_set(
  61903 	int	unit,
  61904 	bcm_switch_control_key_t	key,
  61905 	bcm_switch_control_info_t	value)
  61906 {
  61907 	return bcm_switch_control_indexed_set(
  61908 			BCM_CONTROL(unit)->unit,
  61909 			key,
  61910 			value);
  61911 }
  61912 
  61913 int
  61914 bcm_loop_switch_control_port_get(
  61915 	int	unit,
  61916 	bcm_port_t	port,
  61917 	bcm_switch_control_t	type,
  61918 	int *	arg)
  61919 {
  61920 	return bcm_switch_control_port_get(
  61921 			BCM_CONTROL(unit)->unit,
  61922 			port,
  61923 			type,
  61924 			arg);
  61925 }
  61926 
  61927 int
  61928 bcm_loop_switch_control_port_set(
  61929 	int	unit,
  61930 	bcm_port_t	port,
  61931 	bcm_switch_control_t	type,
  61932 	int	arg)
  61933 {
  61934 	return bcm_switch_control_port_set(
  61935 			BCM_CONTROL(unit)->unit,
  61936 			port,
  61937 			type,
  61938 			arg);
  61939 }
  61940 
  61941 int
  61942 bcm_loop_switch_control_set(
  61943 	int	unit,
  61944 	bcm_switch_control_t	type,
  61945 	int	arg)
  61946 {
  61947 	return bcm_switch_control_set(
  61948 			BCM_CONTROL(unit)->unit,
  61949 			type,
  61950 			arg);
  61951 }
  61952 
  61953 int
  61954 bcm_loop_switch_dosattack_event_get(
  61955 	int	unit,
  61956 	uint32	flags,
  61957 	bcm_switch_dosattack_event_t	event,
  61958 	int *	arg)
  61959 {
  61960 	return bcm_switch_dosattack_event_get(
  61961 			BCM_CONTROL(unit)->unit,
  61962 			flags,
  61963 			event,
  61964 			arg);
  61965 }
  61966 
  61967 int
  61968 bcm_loop_switch_dosattack_event_set(
  61969 	int	unit,
  61970 	uint32	flags,
  61971 	bcm_switch_dosattack_event_t	event,
  61972 	int	arg)
  61973 {
  61974 	return bcm_switch_dosattack_event_set(
  61975 			BCM_CONTROL(unit)->unit,
  61976 			flags,
  61977 			event,
  61978 			arg);
  61979 }
  61980 
  61981 int
  61982 bcm_loop_switch_dram_init(
  61983 	int	unit,
  61984 	uint32	flags)
  61985 {
  61986 	return bcm_switch_dram_init(
  61987 			BCM_CONTROL(unit)->unit,
  61988 			flags);
  61989 }
  61990 
  61991 int
  61992 bcm_loop_switch_dram_power_down(
  61993 	int	unit,
  61994 	uint32	flags)
  61995 {
  61996 	return bcm_switch_dram_power_down(
  61997 			BCM_CONTROL(unit)->unit,
  61998 			flags);
  61999 }
  62000 
  62001 int
  62002 bcm_loop_switch_dram_power_down_cb_register(
  62003 	int	unit,
  62004 	uint32	flags,
  62005 	bcm_switch_dram_power_down_callback_t	callback,
  62006 	void *	userdata)
  62007 {
  62008 	return bcm_switch_dram_power_down_cb_register(
  62009 			BCM_CONTROL(unit)->unit,
  62010 			flags,
  62011 			callback,
  62012 			userdata);
  62013 }
  62014 
  62015 int
  62016 bcm_loop_switch_dram_power_down_cb_unregister(
  62017 	int	unit,
  62018 	bcm_switch_dram_power_down_callback_t	callback,
  62019 	void *	userdata)
  62020 {
  62021 	return bcm_switch_dram_power_down_cb_unregister(
  62022 			BCM_CONTROL(unit)->unit,
  62023 			callback,
  62024 			userdata);
  62025 }
  62026 
  62027 int
  62028 bcm_loop_switch_dram_traffic_enable_set(
  62029 	int	unit,
  62030 	uint32	flags,
  62031 	uint32	enable)
  62032 {
  62033 	return bcm_switch_dram_traffic_enable_set(
  62034 			BCM_CONTROL(unit)->unit,
  62035 			flags,
  62036 			enable);
  62037 }
  62038 
  62039 int
  62040 bcm_loop_switch_dram_vendor_info_get(
  62041 	int	unit,
  62042 	bcm_switch_dram_vendor_info_t *	info)
  62043 {
  62044 	return bcm_switch_dram_vendor_info_get(
  62045 			BCM_CONTROL(unit)->unit,
  62046 			info);
  62047 }
  62048 
  62049 int
  62050 bcm_loop_switch_encap_create(
  62051 	int	unit,
  62052 	bcm_switch_encap_info_t *	encap_info,
  62053 	bcm_if_t *	encap_id)
  62054 {
  62055 	return bcm_switch_encap_create(
  62056 			BCM_CONTROL(unit)->unit,
  62057 			encap_info,
  62058 			encap_id);
  62059 }
  62060 
  62061 int
  62062 bcm_loop_switch_encap_destroy(
  62063 	int	unit,
  62064 	bcm_if_t	encap_id)
  62065 {
  62066 	return bcm_switch_encap_destroy(
  62067 			BCM_CONTROL(unit)->unit,
  62068 			encap_id);
  62069 }
  62070 
  62071 int
  62072 bcm_loop_switch_encap_destroy_all(
  62073 	int	unit)
  62074 {
  62075 	return bcm_switch_encap_destroy_all(
  62076 			BCM_CONTROL(unit)->unit);
  62077 }
  62078 
  62079 int
  62080 bcm_loop_switch_encap_get(
  62081 	int	unit,
  62082 	bcm_if_t	encap_id,
  62083 	bcm_switch_encap_info_t *	encap_info)
  62084 {
  62085 	return bcm_switch_encap_get(
  62086 			BCM_CONTROL(unit)->unit,
  62087 			encap_id,
  62088 			encap_info);
  62089 }
  62090 
  62091 /* bcm_switch_encap_info_t_init not dispatchable */
  62092 
  62093 int
  62094 bcm_loop_switch_encap_set(
  62095 	int	unit,
  62096 	bcm_if_t	encap_id,
  62097 	bcm_switch_encap_info_t *	encap_info)
  62098 {
  62099 	return bcm_switch_encap_set(
  62100 			BCM_CONTROL(unit)->unit,
  62101 			encap_id,
  62102 			encap_info);
  62103 }
  62104 
  62105 int
  62106 bcm_loop_switch_encap_traverse(
  62107 	int	unit,
  62108 	bcm_switch_encap_traverse_cb	cb_fn,
  62109 	void *	user_data)
  62110 {
  62111 	return bcm_switch_encap_traverse(
  62112 			BCM_CONTROL(unit)->unit,
  62113 			cb_fn,
  62114 			user_data);
  62115 }
  62116 
  62117 int
  62118 bcm_loop_switch_event_control_get(
  62119 	int	unit,
  62120 	bcm_switch_event_t	event,
  62121 	bcm_switch_event_control_t	type,
  62122 	uint32 *	value)
  62123 {
  62124 	return bcm_switch_event_control_get(
  62125 			BCM_CONTROL(unit)->unit,
  62126 			event,
  62127 			type,
  62128 			value);
  62129 }
  62130 
  62131 int
  62132 bcm_loop_switch_event_control_set(
  62133 	int	unit,
  62134 	bcm_switch_event_t	event,
  62135 	bcm_switch_event_control_t	type,
  62136 	uint32	value)
  62137 {
  62138 	return bcm_switch_event_control_set(
  62139 			BCM_CONTROL(unit)->unit,
  62140 			event,
  62141 			type,
  62142 			value);
  62143 }
  62144 
  62145 int
  62146 bcm_loop_switch_event_register(
  62147 	int	unit,
  62148 	bcm_switch_event_cb_t	cb,
  62149 	void *	userdata)
  62150 {
  62151 	return bcm_switch_event_register(
  62152 			BCM_CONTROL(unit)->unit,
  62153 			cb,
  62154 			userdata);
  62155 }
  62156 
  62157 int
  62158 bcm_loop_switch_event_unregister(
  62159 	int	unit,
  62160 	bcm_switch_event_cb_t	cb,
  62161 	void *	userdata)
  62162 {
  62163 	return bcm_switch_event_unregister(
  62164 			BCM_CONTROL(unit)->unit,
  62165 			cb,
  62166 			userdata);
  62167 }
  62168 
  62169 int
  62170 bcm_loop_switch_fec_property_get(
  62171 	int	unit,
  62172 	bcm_switch_fec_property_config_t *	fec_config)
  62173 {
  62174 	return bcm_switch_fec_property_get(
  62175 			BCM_CONTROL(unit)->unit,
  62176 			fec_config);
  62177 }
  62178 
  62179 int
  62180 bcm_loop_switch_hard_reset_cb_register(
  62181 	int	unit,
  62182 	uint32	flags,
  62183 	bcm_switch_hard_reset_callback_t	callback,
  62184 	void *	userdata)
  62185 {
  62186 	return bcm_switch_hard_reset_cb_register(
  62187 			BCM_CONTROL(unit)->unit,
  62188 			flags,
  62189 			callback,
  62190 			userdata);
  62191 }
  62192 
  62193 int
  62194 bcm_loop_switch_hard_reset_cb_unregister(
  62195 	int	unit,
  62196 	bcm_switch_hard_reset_callback_t	callback,
  62197 	void *	userdata)
  62198 {
  62199 	return bcm_switch_hard_reset_cb_unregister(
  62200 			BCM_CONTROL(unit)->unit,
  62201 			callback,
  62202 			userdata);
  62203 }
  62204 
  62205 int
  62206 bcm_loop_switch_hash_banks_config_get(
  62207 	int	unit,
  62208 	bcm_switch_hash_table_t	hash_table,
  62209 	uint32	bank_num,
  62210 	int *	hash_type,
  62211 	uint32 *	hash_offset)
  62212 {
  62213 	return bcm_switch_hash_banks_config_get(
  62214 			BCM_CONTROL(unit)->unit,
  62215 			hash_table,
  62216 			bank_num,
  62217 			hash_type,
  62218 			hash_offset);
  62219 }
  62220 
  62221 int
  62222 bcm_loop_switch_hash_banks_config_set(
  62223 	int	unit,
  62224 	bcm_switch_hash_table_t	hash_table,
  62225 	uint32	bank_num,
  62226 	int	hash_type,
  62227 	uint32	hash_offset)
  62228 {
  62229 	return bcm_switch_hash_banks_config_set(
  62230 			BCM_CONTROL(unit)->unit,
  62231 			hash_table,
  62232 			bank_num,
  62233 			hash_type,
  62234 			hash_offset);
  62235 }
  62236 
  62237 int
  62238 bcm_loop_switch_hash_banks_max_get(
  62239 	int	unit,
  62240 	bcm_switch_hash_table_t	hash_table,
  62241 	uint32 *	bank_count)
  62242 {
  62243 	return bcm_switch_hash_banks_max_get(
  62244 			BCM_CONTROL(unit)->unit,
  62245 			hash_table,
  62246 			bank_count);
  62247 }
  62248 
  62249 /* bcm_switch_hash_entry_config_t_init not dispatchable */
  62250 
  62251 int
  62252 bcm_loop_switch_hash_entry_create(
  62253 	int	unit,
  62254 	bcm_field_group_t	group,
  62255 	bcm_hash_entry_t *	entry)
  62256 {
  62257 	return bcm_switch_hash_entry_create(
  62258 			BCM_CONTROL(unit)->unit,
  62259 			group,
  62260 			entry);
  62261 }
  62262 
  62263 int
  62264 bcm_loop_switch_hash_entry_create_qset(
  62265 	int	unit,
  62266 	bcm_field_qset_t	qset,
  62267 	bcm_hash_entry_t *	entry)
  62268 {
  62269 	return bcm_switch_hash_entry_create_qset(
  62270 			BCM_CONTROL(unit)->unit,
  62271 			qset,
  62272 			entry);
  62273 }
  62274 
  62275 int
  62276 bcm_loop_switch_hash_entry_destroy(
  62277 	int	unit,
  62278 	bcm_hash_entry_t	entry)
  62279 {
  62280 	return bcm_switch_hash_entry_destroy(
  62281 			BCM_CONTROL(unit)->unit,
  62282 			entry);
  62283 }
  62284 
  62285 int
  62286 bcm_loop_switch_hash_entry_get(
  62287 	int	unit,
  62288 	bcm_hash_entry_t	entry,
  62289 	bcm_switch_hash_entry_config_t *	config)
  62290 {
  62291 	return bcm_switch_hash_entry_get(
  62292 			BCM_CONTROL(unit)->unit,
  62293 			entry,
  62294 			config);
  62295 }
  62296 
  62297 int
  62298 bcm_loop_switch_hash_entry_install(
  62299 	int	unit,
  62300 	bcm_hash_entry_t	entry,
  62301 	uint32	offset)
  62302 {
  62303 	return bcm_switch_hash_entry_install(
  62304 			BCM_CONTROL(unit)->unit,
  62305 			entry,
  62306 			offset);
  62307 }
  62308 
  62309 int
  62310 bcm_loop_switch_hash_entry_reinstall(
  62311 	int	unit,
  62312 	bcm_hash_entry_t	entry,
  62313 	uint32	offset)
  62314 {
  62315 	return bcm_switch_hash_entry_reinstall(
  62316 			BCM_CONTROL(unit)->unit,
  62317 			entry,
  62318 			offset);
  62319 }
  62320 
  62321 int
  62322 bcm_loop_switch_hash_entry_remove(
  62323 	int	unit,
  62324 	bcm_hash_entry_t	entry)
  62325 {
  62326 	return bcm_switch_hash_entry_remove(
  62327 			BCM_CONTROL(unit)->unit,
  62328 			entry);
  62329 }
  62330 
  62331 int
  62332 bcm_loop_switch_hash_entry_set(
  62333 	int	unit,
  62334 	bcm_hash_entry_t	entry,
  62335 	bcm_switch_hash_entry_config_t *	config)
  62336 {
  62337 	return bcm_switch_hash_entry_set(
  62338 			BCM_CONTROL(unit)->unit,
  62339 			entry,
  62340 			config);
  62341 }
  62342 
  62343 int
  62344 bcm_loop_switch_hash_entry_traverse(
  62345 	int	unit,
  62346 	int	flags,
  62347 	bcm_switch_hash_entry_traverse_cb	cb_fn,
  62348 	void *	user_data)
  62349 {
  62350 	return bcm_switch_hash_entry_traverse(
  62351 			BCM_CONTROL(unit)->unit,
  62352 			flags,
  62353 			cb_fn,
  62354 			user_data);
  62355 }
  62356 
  62357 int
  62358 bcm_loop_switch_hash_qualify_data(
  62359 	int	unit,
  62360 	bcm_hash_entry_t	entry,
  62361 	int	qual_id,
  62362 	uint32	data,
  62363 	uint32	mask)
  62364 {
  62365 	return bcm_switch_hash_qualify_data(
  62366 			BCM_CONTROL(unit)->unit,
  62367 			entry,
  62368 			qual_id,
  62369 			data,
  62370 			mask);
  62371 }
  62372 
  62373 int
  62374 bcm_loop_switch_hash_qualify_udf(
  62375 	int	unit,
  62376 	bcm_hash_entry_t	entry,
  62377 	bcm_udf_id_t	udf_id,
  62378 	int	length,
  62379 	uint8 *	data,
  62380 	uint8 *	mask)
  62381 {
  62382 	return bcm_switch_hash_qualify_udf(
  62383 			BCM_CONTROL(unit)->unit,
  62384 			entry,
  62385 			udf_id,
  62386 			length,
  62387 			data,
  62388 			mask);
  62389 }
  62390 
  62391 int
  62392 bcm_loop_switch_hash_qualify_udf_get(
  62393 	int	unit,
  62394 	bcm_hash_entry_t	entry,
  62395 	bcm_udf_id_t	udf_id,
  62396 	int	max_length,
  62397 	uint8 *	data,
  62398 	uint8 *	mask,
  62399 	int *	actual_length)
  62400 {
  62401 	return bcm_switch_hash_qualify_udf_get(
  62402 			BCM_CONTROL(unit)->unit,
  62403 			entry,
  62404 			udf_id,
  62405 			max_length,
  62406 			data,
  62407 			mask,
  62408 			actual_length);
  62409 }
  62410 
  62411 int
  62412 bcm_loop_switch_ipv6_reserved_multicast_addr_get(
  62413 	int	unit,
  62414 	bcm_ip6_t *	ip6_addr,
  62415 	bcm_ip6_t *	ip6_mask)
  62416 {
  62417 	return bcm_switch_ipv6_reserved_multicast_addr_get(
  62418 			BCM_CONTROL(unit)->unit,
  62419 			ip6_addr,
  62420 			ip6_mask);
  62421 }
  62422 
  62423 int
  62424 bcm_loop_switch_ipv6_reserved_multicast_addr_multi_get(
  62425 	int	unit,
  62426 	int	inner,
  62427 	int	num,
  62428 	bcm_ip6_t *	ip6_addr,
  62429 	bcm_ip6_t *	ip6_mask)
  62430 {
  62431 	return bcm_switch_ipv6_reserved_multicast_addr_multi_get(
  62432 			BCM_CONTROL(unit)->unit,
  62433 			inner,
  62434 			num,
  62435 			ip6_addr,
  62436 			ip6_mask);
  62437 }
  62438 
  62439 int
  62440 bcm_loop_switch_ipv6_reserved_multicast_addr_multi_set(
  62441 	int	unit,
  62442 	int	inner,
  62443 	int	num,
  62444 	bcm_ip6_t *	ip6_addr,
  62445 	bcm_ip6_t *	ip6_mask)
  62446 {
  62447 	return bcm_switch_ipv6_reserved_multicast_addr_multi_set(
  62448 			BCM_CONTROL(unit)->unit,
  62449 			inner,
  62450 			num,
  62451 			ip6_addr,
  62452 			ip6_mask);
  62453 }
  62454 
  62455 int
  62456 bcm_loop_switch_ipv6_reserved_multicast_addr_set(
  62457 	int	unit,
  62458 	bcm_ip6_t	ip6_addr,
  62459 	bcm_ip6_t	ip6_mask)
  62460 {
  62461 	return bcm_switch_ipv6_reserved_multicast_addr_set(
  62462 			BCM_CONTROL(unit)->unit,
  62463 			ip6_addr,
  62464 			ip6_mask);
  62465 }
  62466 
  62467 int
  62468 bcm_loop_switch_kbp_apptype_info_get(
  62469 	int	unit,
  62470 	bcm_core_t	core,
  62471 	bcm_field_AppType_t	apptype,
  62472 	bcm_switch_kbp_apptype_info_t *	apptype_info)
  62473 {
  62474 	return bcm_switch_kbp_apptype_info_get(
  62475 			BCM_CONTROL(unit)->unit,
  62476 			core,
  62477 			apptype,
  62478 			apptype_info);
  62479 }
  62480 
  62481 int
  62482 bcm_loop_switch_kbp_info_get(
  62483 	int	unit,
  62484 	bcm_core_t	core,
  62485 	bcm_switch_kbp_info_t *	kbp_info)
  62486 {
  62487 	return bcm_switch_kbp_info_get(
  62488 			BCM_CONTROL(unit)->unit,
  62489 			core,
  62490 			kbp_info);
  62491 }
  62492 
  62493 int
  62494 bcm_loop_switch_l3_protocol_group_get(
  62495 	int	unit,
  62496 	uint32 *	group_members,
  62497 	bcm_l3_protocol_group_id_t *	group_id)
  62498 {
  62499 	return bcm_switch_l3_protocol_group_get(
  62500 			BCM_CONTROL(unit)->unit,
  62501 			group_members,
  62502 			group_id);
  62503 }
  62504 
  62505 int
  62506 bcm_loop_switch_l3_protocol_group_set(
  62507 	int	unit,
  62508 	uint32	group_members,
  62509 	bcm_l3_protocol_group_id_t	group_id)
  62510 {
  62511 	return bcm_switch_l3_protocol_group_set(
  62512 			BCM_CONTROL(unit)->unit,
  62513 			group_members,
  62514 			group_id);
  62515 }
  62516 
  62517 int
  62518 bcm_loop_switch_lif_property_get(
  62519 	int	unit,
  62520 	bcm_switch_lif_property_t	lif_property,
  62521 	bcm_switch_lif_property_config_t *	lif_config)
  62522 {
  62523 	return bcm_switch_lif_property_get(
  62524 			BCM_CONTROL(unit)->unit,
  62525 			lif_property,
  62526 			lif_config);
  62527 }
  62528 
  62529 int
  62530 bcm_loop_switch_lif_property_set(
  62531 	int	unit,
  62532 	bcm_switch_lif_property_t	lif_property,
  62533 	bcm_switch_lif_property_config_t *	lif_config)
  62534 {
  62535 	return bcm_switch_lif_property_set(
  62536 			BCM_CONTROL(unit)->unit,
  62537 			lif_property,
  62538 			lif_config);
  62539 }
  62540 
  62541 int
  62542 bcm_loop_switch_match_config_add(
  62543 	int	unit,
  62544 	bcm_switch_match_service_t	match_service,
  62545 	bcm_switch_match_config_info_t *	config_info,
  62546 	int *	match_id)
  62547 {
  62548 	return bcm_switch_match_config_add(
  62549 			BCM_CONTROL(unit)->unit,
  62550 			match_service,
  62551 			config_info,
  62552 			match_id);
  62553 }
  62554 
  62555 int
  62556 bcm_loop_switch_match_config_delete(
  62557 	int	unit,
  62558 	bcm_switch_match_service_t	match_service,
  62559 	int	match_id)
  62560 {
  62561 	return bcm_switch_match_config_delete(
  62562 			BCM_CONTROL(unit)->unit,
  62563 			match_service,
  62564 			match_id);
  62565 }
  62566 
  62567 int
  62568 bcm_loop_switch_match_config_delete_all(
  62569 	int	unit,
  62570 	bcm_switch_match_service_t	match_service)
  62571 {
  62572 	return bcm_switch_match_config_delete_all(
  62573 			BCM_CONTROL(unit)->unit,
  62574 			match_service);
  62575 }
  62576 
  62577 int
  62578 bcm_loop_switch_match_config_get(
  62579 	int	unit,
  62580 	bcm_switch_match_service_t	match_service,
  62581 	int	match_id,
  62582 	bcm_switch_match_config_info_t *	config_info)
  62583 {
  62584 	return bcm_switch_match_config_get(
  62585 			BCM_CONTROL(unit)->unit,
  62586 			match_service,
  62587 			match_id,
  62588 			config_info);
  62589 }
  62590 
  62591 /* bcm_switch_match_config_info_t_init not dispatchable */
  62592 
  62593 int
  62594 bcm_loop_switch_match_config_set(
  62595 	int	unit,
  62596 	bcm_switch_match_service_t	match_service,
  62597 	int	match_id,
  62598 	bcm_switch_match_config_info_t *	config_info)
  62599 {
  62600 	return bcm_switch_match_config_set(
  62601 			BCM_CONTROL(unit)->unit,
  62602 			match_service,
  62603 			match_id,
  62604 			config_info);
  62605 }
  62606 
  62607 int
  62608 bcm_loop_switch_match_config_traverse(
  62609 	int	unit,
  62610 	bcm_switch_match_service_t	match_service,
  62611 	bcm_switch_match_config_traverse_cb	cb_fn,
  62612 	void *	user_data)
  62613 {
  62614 	return bcm_switch_match_config_traverse(
  62615 			BCM_CONTROL(unit)->unit,
  62616 			match_service,
  62617 			cb_fn,
  62618 			user_data);
  62619 }
  62620 
  62621 int
  62622 bcm_loop_switch_match_control_get(
  62623 	int	unit,
  62624 	bcm_switch_match_service_t	match_service,
  62625 	bcm_switch_match_control_type_t	control_type,
  62626 	bcm_gport_t	gport,
  62627 	bcm_switch_match_control_info_t *	control_info)
  62628 {
  62629 	return bcm_switch_match_control_get(
  62630 			BCM_CONTROL(unit)->unit,
  62631 			match_service,
  62632 			control_type,
  62633 			gport,
  62634 			control_info);
  62635 }
  62636 
  62637 /* bcm_switch_match_control_info_t_init not dispatchable */
  62638 
  62639 int
  62640 bcm_loop_switch_match_control_set(
  62641 	int	unit,
  62642 	bcm_switch_match_service_t	match_service,
  62643 	bcm_switch_match_control_type_t	control_type,
  62644 	bcm_gport_t	gport,
  62645 	bcm_switch_match_control_info_t *	control_info)
  62646 {
  62647 	return bcm_switch_match_control_set(
  62648 			BCM_CONTROL(unit)->unit,
  62649 			match_service,
  62650 			control_type,
  62651 			gport,
  62652 			control_info);
  62653 }
  62654 
  62655 int
  62656 bcm_loop_switch_match_control_traverse(
  62657 	int	unit,
  62658 	bcm_switch_match_service_t	match_service,
  62659 	bcm_switch_match_control_traverse_cb	cb_fn,
  62660 	void *	user_data)
  62661 {
  62662 	return bcm_switch_match_control_traverse(
  62663 			BCM_CONTROL(unit)->unit,
  62664 			match_service,
  62665 			cb_fn,
  62666 			user_data);
  62667 }
  62668 
  62669 int
  62670 bcm_loop_switch_network_group_config_get(
  62671 	int	unit,
  62672 	bcm_switch_network_group_t	source_network_group_id,
  62673 	bcm_switch_network_group_config_t *	config)
  62674 {
  62675 	return bcm_switch_network_group_config_get(
  62676 			BCM_CONTROL(unit)->unit,
  62677 			source_network_group_id,
  62678 			config);
  62679 }
  62680 
  62681 int
  62682 bcm_loop_switch_network_group_config_set(
  62683 	int	unit,
  62684 	bcm_switch_network_group_t	source_network_group_id,
  62685 	bcm_switch_network_group_config_t *	config)
  62686 {
  62687 	return bcm_switch_network_group_config_set(
  62688 			BCM_CONTROL(unit)->unit,
  62689 			source_network_group_id,
  62690 			config);
  62691 }
  62692 
  62693 /* bcm_switch_network_group_config_t_init not dispatchable */
  62694 
  62695 int
  62696 bcm_loop_switch_object_count_get(
  62697 	int	unit,
  62698 	bcm_switch_object_t	object,
  62699 	int *	entries)
  62700 {
  62701 	return bcm_switch_object_count_get(
  62702 			BCM_CONTROL(unit)->unit,
  62703 			object,
  62704 			entries);
  62705 }
  62706 
  62707 int
  62708 bcm_loop_switch_object_count_multi_get(
  62709 	int	unit,
  62710 	int	object_size,
  62711 	bcm_switch_object_t *	object_array,
  62712 	int *	entries)
  62713 {
  62714 	return bcm_switch_object_count_multi_get(
  62715 			BCM_CONTROL(unit)->unit,
  62716 			object_size,
  62717 			object_array,
  62718 			entries);
  62719 }
  62720 
  62721 int
  62722 bcm_loop_switch_obm_classifier_mapping_get(
  62723 	int	unit,
  62724 	bcm_gport_t	gport,
  62725 	bcm_switch_obm_classifier_type_t	switch_obm_classifier_type,
  62726 	bcm_switch_obm_classifier_t *	switch_obm_classifier)
  62727 {
  62728 	return bcm_switch_obm_classifier_mapping_get(
  62729 			BCM_CONTROL(unit)->unit,
  62730 			gport,
  62731 			switch_obm_classifier_type,
  62732 			switch_obm_classifier);
  62733 }
  62734 
  62735 int
  62736 bcm_loop_switch_obm_classifier_mapping_multi_get(
  62737 	int	unit,
  62738 	bcm_gport_t	port,
  62739 	bcm_switch_obm_classifier_type_t	switch_obm_classifier_type,
  62740 	int	array_max,
  62741 	bcm_switch_obm_classifier_t *	switch_obm_classifier,
  62742 	int *	array_count)
  62743 {
  62744 	return bcm_switch_obm_classifier_mapping_multi_get(
  62745 			BCM_CONTROL(unit)->unit,
  62746 			port,
  62747 			switch_obm_classifier_type,
  62748 			array_max,
  62749 			switch_obm_classifier,
  62750 			array_count);
  62751 }
  62752 
  62753 int
  62754 bcm_loop_switch_obm_classifier_mapping_multi_set(
  62755 	int	unit,
  62756 	bcm_gport_t	gport,
  62757 	bcm_switch_obm_classifier_type_t	switch_obm_classifier_type,
  62758 	int	array_count,
  62759 	bcm_switch_obm_classifier_t *	switch_obm_classifier)
  62760 {
  62761 	return bcm_switch_obm_classifier_mapping_multi_set(
  62762 			BCM_CONTROL(unit)->unit,
  62763 			gport,
  62764 			switch_obm_classifier_type,
  62765 			array_count,
  62766 			switch_obm_classifier);
  62767 }
  62768 
  62769 int
  62770 bcm_loop_switch_obm_classifier_mapping_set(
  62771 	int	unit,
  62772 	bcm_gport_t	gport,
  62773 	bcm_switch_obm_classifier_type_t	switch_obm_classifier_type,
  62774 	bcm_switch_obm_classifier_t *	switch_obm_classifier)
  62775 {
  62776 	return bcm_switch_obm_classifier_mapping_set(
  62777 			BCM_CONTROL(unit)->unit,
  62778 			gport,
  62779 			switch_obm_classifier_type,
  62780 			switch_obm_classifier);
  62781 }
  62782 
  62783 /* bcm_switch_obm_classifier_t_init not dispatchable */
  62784 
  62785 int
  62786 bcm_loop_switch_olp_l2_addr_add(
  62787 	int	unit,
  62788 	uint32	options,
  62789 	bcm_switch_olp_l2_addr_t *	l2_addr)
  62790 {
  62791 	return bcm_switch_olp_l2_addr_add(
  62792 			BCM_CONTROL(unit)->unit,
  62793 			options,
  62794 			l2_addr);
  62795 }
  62796 
  62797 int
  62798 bcm_loop_switch_olp_l2_addr_delete(
  62799 	int	unit,
  62800 	bcm_switch_olp_l2_addr_t *	l2_addr)
  62801 {
  62802 	return bcm_switch_olp_l2_addr_delete(
  62803 			BCM_CONTROL(unit)->unit,
  62804 			l2_addr);
  62805 }
  62806 
  62807 int
  62808 bcm_loop_switch_olp_l2_addr_delete_all(
  62809 	int	unit)
  62810 {
  62811 	return bcm_switch_olp_l2_addr_delete_all(
  62812 			BCM_CONTROL(unit)->unit);
  62813 }
  62814 
  62815 int
  62816 bcm_loop_switch_olp_l2_addr_get(
  62817 	int	unit,
  62818 	bcm_switch_olp_l2_addr_t *	l2_addr)
  62819 {
  62820 	return bcm_switch_olp_l2_addr_get(
  62821 			BCM_CONTROL(unit)->unit,
  62822 			l2_addr);
  62823 }
  62824 
  62825 /* bcm_switch_olp_l2_addr_t_init not dispatchable */
  62826 
  62827 int
  62828 bcm_loop_switch_olp_l2_addr_traverse(
  62829 	int	unit,
  62830 	bcm_switch_olp_l2_addr_traverse_cb	cb_fn,
  62831 	void *	user_data)
  62832 {
  62833 	return bcm_switch_olp_l2_addr_traverse(
  62834 			BCM_CONTROL(unit)->unit,
  62835 			cb_fn,
  62836 			user_data);
  62837 }
  62838 
  62839 int
  62840 bcm_loop_switch_opaque_tag_config_get(
  62841 	int	unit,
  62842 	int	index,
  62843 	bcm_switch_opaque_tag_params_t *	opaque_tag_config)
  62844 {
  62845 	return bcm_switch_opaque_tag_config_get(
  62846 			BCM_CONTROL(unit)->unit,
  62847 			index,
  62848 			opaque_tag_config);
  62849 }
  62850 
  62851 int
  62852 bcm_loop_switch_opaque_tag_config_set(
  62853 	int	unit,
  62854 	int	index,
  62855 	bcm_switch_opaque_tag_params_t *	opaque_tag_config)
  62856 {
  62857 	return bcm_switch_opaque_tag_config_set(
  62858 			BCM_CONTROL(unit)->unit,
  62859 			index,
  62860 			opaque_tag_config);
  62861 }
  62862 
  62863 /* bcm_switch_opaque_tag_config_t_init not dispatchable */
  62864 
  62865 int
  62866 bcm_loop_switch_pkt_info_hash_get(
  62867 	int	unit,
  62868 	bcm_switch_pkt_info_t *	pkt_info,
  62869 	bcm_gport_t *	dst_gport,
  62870 	bcm_if_t *	dst_intf)
  62871 {
  62872 	return bcm_switch_pkt_info_hash_get(
  62873 			BCM_CONTROL(unit)->unit,
  62874 			pkt_info,
  62875 			dst_gport,
  62876 			dst_intf);
  62877 }
  62878 
  62879 /* bcm_switch_pkt_info_t_init not dispatchable */
  62880 
  62881 int
  62882 bcm_loop_switch_pkt_trace_info_clear(
  62883 	int	unit,
  62884 	bcm_port_t	port)
  62885 {
  62886 	return bcm_switch_pkt_trace_info_clear(
  62887 			BCM_CONTROL(unit)->unit,
  62888 			port);
  62889 }
  62890 
  62891 int
  62892 bcm_loop_switch_pkt_trace_info_get(
  62893 	int	unit,
  62894 	uint32	options,
  62895 	uint8	port,
  62896 	int	len,
  62897 	uint8 *	data,
  62898 	bcm_switch_pkt_trace_info_t *	pkt_trace_info)
  62899 {
  62900 	return bcm_switch_pkt_trace_info_get(
  62901 			BCM_CONTROL(unit)->unit,
  62902 			options,
  62903 			port,
  62904 			len,
  62905 			data,
  62906 			pkt_trace_info);
  62907 }
  62908 
  62909 int
  62910 bcm_loop_switch_pkt_trace_raw_data_get(
  62911 	int	unit,
  62912 	uint32	options,
  62913 	uint8	port,
  62914 	int	len,
  62915 	uint8 *	data,
  62916 	uint32	raw_data_buf_size,
  62917 	uint8 *	raw_data,
  62918 	uint32 *	raw_data_size)
  62919 {
  62920 	return bcm_switch_pkt_trace_raw_data_get(
  62921 			BCM_CONTROL(unit)->unit,
  62922 			options,
  62923 			port,
  62924 			len,
  62925 			data,
  62926 			raw_data_buf_size,
  62927 			raw_data,
  62928 			raw_data_size);
  62929 }
  62930 
  62931 /* bcm_switch_profile_mapping_t_init not dispatchable */
  62932 
  62933 int
  62934 bcm_loop_switch_rcpu_decap_priority_map_get(
  62935 	int	unit,
  62936 	int	decap_pri,
  62937 	int *	internal_cpu_pri)
  62938 {
  62939 	return bcm_switch_rcpu_decap_priority_map_get(
  62940 			BCM_CONTROL(unit)->unit,
  62941 			decap_pri,
  62942 			internal_cpu_pri);
  62943 }
  62944 
  62945 int
  62946 bcm_loop_switch_rcpu_decap_priority_map_set(
  62947 	int	unit,
  62948 	int	decap_pri,
  62949 	int	internal_cpu_pri)
  62950 {
  62951 	return bcm_switch_rcpu_decap_priority_map_set(
  62952 			BCM_CONTROL(unit)->unit,
  62953 			decap_pri,
  62954 			internal_cpu_pri);
  62955 }
  62956 
  62957 int
  62958 bcm_loop_switch_rcpu_encap_priority_map_get(
  62959 	int	unit,
  62960 	uint32	flags,
  62961 	int	internal_cpu_pri,
  62962 	int *	encap_pri)
  62963 {
  62964 	return bcm_switch_rcpu_encap_priority_map_get(
  62965 			BCM_CONTROL(unit)->unit,
  62966 			flags,
  62967 			internal_cpu_pri,
  62968 			encap_pri);
  62969 }
  62970 
  62971 int
  62972 bcm_loop_switch_rcpu_encap_priority_map_set(
  62973 	int	unit,
  62974 	uint32	flags,
  62975 	int	internal_cpu_pri,
  62976 	int	encap_pri)
  62977 {
  62978 	return bcm_switch_rcpu_encap_priority_map_set(
  62979 			BCM_CONTROL(unit)->unit,
  62980 			flags,
  62981 			internal_cpu_pri,
  62982 			encap_pri);
  62983 }
  62984 
  62985 int
  62986 bcm_loop_switch_reflector_create(
  62987 	int	unit,
  62988 	uint32	flags,
  62989 	bcm_if_t *	encap_id,
  62990 	bcm_switch_reflector_data_t *	data)
  62991 {
  62992 	return bcm_switch_reflector_create(
  62993 			BCM_CONTROL(unit)->unit,
  62994 			flags,
  62995 			encap_id,
  62996 			data);
  62997 }
  62998 
  62999 /* bcm_switch_reflector_data_t_init not dispatchable */
  63000 
  63001 int
  63002 bcm_loop_switch_reflector_destroy(
  63003 	int	unit,
  63004 	uint32	flags,
  63005 	bcm_if_t	encap_id)
  63006 {
  63007 	return bcm_switch_reflector_destroy(
  63008 			BCM_CONTROL(unit)->unit,
  63009 			flags,
  63010 			encap_id);
  63011 }
  63012 
  63013 int
  63014 bcm_loop_switch_reflector_get(
  63015 	int	unit,
  63016 	uint32	flags,
  63017 	bcm_if_t	encap_id,
  63018 	bcm_switch_reflector_data_t *	data)
  63019 {
  63020 	return bcm_switch_reflector_get(
  63021 			BCM_CONTROL(unit)->unit,
  63022 			flags,
  63023 			encap_id,
  63024 			data);
  63025 }
  63026 
  63027 int
  63028 bcm_loop_switch_reflector_traverse(
  63029 	int	unit,
  63030 	uint32	flags,
  63031 	bcm_switch_reflector_traverse_cb	traverse_cb,
  63032 	void *	user_data)
  63033 {
  63034 	return bcm_switch_reflector_traverse(
  63035 			BCM_CONTROL(unit)->unit,
  63036 			flags,
  63037 			traverse_cb,
  63038 			user_data);
  63039 }
  63040 
  63041 int
  63042 bcm_loop_switch_rov_get(
  63043 	int	unit,
  63044 	uint32	flags,
  63045 	uint32 *	rov)
  63046 {
  63047 	return bcm_switch_rov_get(
  63048 			BCM_CONTROL(unit)->unit,
  63049 			flags,
  63050 			rov);
  63051 }
  63052 
  63053 int
  63054 bcm_loop_switch_ser_error_stat_clear(
  63055 	int	unit,
  63056 	bcm_switch_ser_error_stat_type_t	stat_type)
  63057 {
  63058 	return bcm_switch_ser_error_stat_clear(
  63059 			BCM_CONTROL(unit)->unit,
  63060 			stat_type);
  63061 }
  63062 
  63063 int
  63064 bcm_loop_switch_ser_error_stat_get(
  63065 	int	unit,
  63066 	bcm_switch_ser_error_stat_type_t	stat_type,
  63067 	uint32 *	value)
  63068 {
  63069 	return bcm_switch_ser_error_stat_get(
  63070 			BCM_CONTROL(unit)->unit,
  63071 			stat_type,
  63072 			value);
  63073 }
  63074 
  63075 /* bcm_switch_ser_error_stat_type_t_init not dispatchable */
  63076 
  63077 int
  63078 bcm_loop_switch_ser_log_info_get(
  63079 	int	unit,
  63080 	int	id,
  63081 	bcm_switch_ser_log_info_t *	info)
  63082 {
  63083 	return bcm_switch_ser_log_info_get(
  63084 			BCM_CONTROL(unit)->unit,
  63085 			id,
  63086 			info);
  63087 }
  63088 
  63089 /* bcm_switch_ser_log_info_t_init not dispatchable */
  63090 
  63091 /* bcm_switch_service_config_t_init not dispatchable */
  63092 
  63093 int
  63094 bcm_loop_switch_service_get(
  63095 	int	unit,
  63096 	bcm_switch_service_t	service,
  63097 	bcm_switch_service_config_t *	config)
  63098 {
  63099 	return bcm_switch_service_get(
  63100 			BCM_CONTROL(unit)->unit,
  63101 			service,
  63102 			config);
  63103 }
  63104 
  63105 int
  63106 bcm_loop_switch_service_set(
  63107 	int	unit,
  63108 	bcm_switch_service_t	service,
  63109 	bcm_switch_service_config_t *	config)
  63110 {
  63111 	return bcm_switch_service_set(
  63112 			BCM_CONTROL(unit)->unit,
  63113 			service,
  63114 			config);
  63115 }
  63116 
  63117 int
  63118 bcm_loop_switch_stable_register(
  63119 	int	unit,
  63120 	bcm_switch_read_func_t	rf,
  63121 	bcm_switch_write_func_t	wf)
  63122 {
  63123 	return bcm_switch_stable_register(
  63124 			BCM_CONTROL(unit)->unit,
  63125 			rf,
  63126 			wf);
  63127 }
  63128 
  63129 int
  63130 bcm_loop_switch_temperature_monitor_get(
  63131 	int	unit,
  63132 	int	temperature_max,
  63133 	bcm_switch_temperature_monitor_t *	temperature_array,
  63134 	int *	temperature_count)
  63135 {
  63136 	return bcm_switch_temperature_monitor_get(
  63137 			BCM_CONTROL(unit)->unit,
  63138 			temperature_max,
  63139 			temperature_array,
  63140 			temperature_count);
  63141 }
  63142 
  63143 int
  63144 bcm_loop_switch_thermo_sensor_read(
  63145 	int	unit,
  63146 	bcm_switch_thermo_sensor_type_t	sensor_type,
  63147 	int	interface_id,
  63148 	bcm_switch_thermo_sensor_t *	sensor_data)
  63149 {
  63150 	return bcm_switch_thermo_sensor_read(
  63151 			BCM_CONTROL(unit)->unit,
  63152 			sensor_type,
  63153 			interface_id,
  63154 			sensor_data);
  63155 }
  63156 
  63157 int
  63158 bcm_loop_switch_tpid_add(
  63159 	int	unit,
  63160 	uint32	options,
  63161 	bcm_switch_tpid_info_t *	tpid_info)
  63162 {
  63163 	return bcm_switch_tpid_add(
  63164 			BCM_CONTROL(unit)->unit,
  63165 			options,
  63166 			tpid_info);
  63167 }
  63168 
  63169 int
  63170 bcm_loop_switch_tpid_class_get(
  63171 	int	unit,
  63172 	bcm_switch_tpid_class_t *	tpid_class)
  63173 {
  63174 	return bcm_switch_tpid_class_get(
  63175 			BCM_CONTROL(unit)->unit,
  63176 			tpid_class);
  63177 }
  63178 
  63179 /* bcm_switch_tpid_class_t_init not dispatchable */
  63180 
  63181 int
  63182 bcm_loop_switch_tpid_delete(
  63183 	int	unit,
  63184 	bcm_switch_tpid_info_t *	tpid_info)
  63185 {
  63186 	return bcm_switch_tpid_delete(
  63187 			BCM_CONTROL(unit)->unit,
  63188 			tpid_info);
  63189 }
  63190 
  63191 int
  63192 bcm_loop_switch_tpid_delete_all(
  63193 	int	unit)
  63194 {
  63195 	return bcm_switch_tpid_delete_all(
  63196 			BCM_CONTROL(unit)->unit);
  63197 }
  63198 
  63199 int
  63200 bcm_loop_switch_tpid_get(
  63201 	int	unit,
  63202 	bcm_switch_tpid_info_t *	tpid_info)
  63203 {
  63204 	return bcm_switch_tpid_get(
  63205 			BCM_CONTROL(unit)->unit,
  63206 			tpid_info);
  63207 }
  63208 
  63209 int
  63210 bcm_loop_switch_tpid_get_all(
  63211 	int	unit,
  63212 	int	size,
  63213 	bcm_switch_tpid_info_t *	tpid_info_array,
  63214 	int *	count)
  63215 {
  63216 	return bcm_switch_tpid_get_all(
  63217 			BCM_CONTROL(unit)->unit,
  63218 			size,
  63219 			tpid_info_array,
  63220 			count);
  63221 }
  63222 
  63223 int
  63224 bcm_loop_switch_user_buffer_read(
  63225 	int	unit,
  63226 	uint32	flags,
  63227 	bcm_switch_user_buffer_type_t	buff_type,
  63228 	uint8 *	buf,
  63229 	int	offset,
  63230 	int	nbytes)
  63231 {
  63232 	return bcm_switch_user_buffer_read(
  63233 			BCM_CONTROL(unit)->unit,
  63234 			flags,
  63235 			buff_type,
  63236 			buf,
  63237 			offset,
  63238 			nbytes);
  63239 }
  63240 
  63241 int
  63242 bcm_loop_switch_user_buffer_write(
  63243 	int	unit,
  63244 	uint32	flags,
  63245 	bcm_switch_user_buffer_type_t	buff_type,
  63246 	uint8 *	buf,
  63247 	int	offset,
  63248 	int	nbytes)
  63249 {
  63250 	return bcm_switch_user_buffer_write(
  63251 			BCM_CONTROL(unit)->unit,
  63252 			flags,
  63253 			buff_type,
  63254 			buf,
  63255 			offset,
  63256 			nbytes);
  63257 }
  63258 
  63259 #ifdef	INCLUDE_PTP
  63260 
  63261 int
  63262 bcm_loop_tdpll_dpll_bandwidth_get(
  63263 	int	unit,
  63264 	int	stack_id,
  63265 	int	dpll_index,
  63266 	bcm_tdpll_dpll_bandwidth_t *	bandwidth)
  63267 {
  63268 	return bcm_tdpll_dpll_bandwidth_get(
  63269 			BCM_CONTROL(unit)->unit,
  63270 			stack_id,
  63271 			dpll_index,
  63272 			bandwidth);
  63273 }
  63274 
  63275 int
  63276 bcm_loop_tdpll_dpll_bandwidth_set(
  63277 	int	unit,
  63278 	int	stack_id,
  63279 	int	dpll_index,
  63280 	bcm_tdpll_dpll_bandwidth_t *	bandwidth)
  63281 {
  63282 	return bcm_tdpll_dpll_bandwidth_set(
  63283 			BCM_CONTROL(unit)->unit,
  63284 			stack_id,
  63285 			dpll_index,
  63286 			bandwidth);
  63287 }
  63288 
  63289 int
  63290 bcm_loop_tdpll_dpll_bindings_get(
  63291 	int	unit,
  63292 	int	stack_id,
  63293 	int	dpll_index,
  63294 	bcm_tdpll_dpll_bindings_t *	bindings)
  63295 {
  63296 	return bcm_tdpll_dpll_bindings_get(
  63297 			BCM_CONTROL(unit)->unit,
  63298 			stack_id,
  63299 			dpll_index,
  63300 			bindings);
  63301 }
  63302 
  63303 int
  63304 bcm_loop_tdpll_dpll_bindings_set(
  63305 	int	unit,
  63306 	int	stack_id,
  63307 	int	dpll_index,
  63308 	bcm_tdpll_dpll_bindings_t *	bindings)
  63309 {
  63310 	return bcm_tdpll_dpll_bindings_set(
  63311 			BCM_CONTROL(unit)->unit,
  63312 			stack_id,
  63313 			dpll_index,
  63314 			bindings);
  63315 }
  63316 
  63317 int
  63318 bcm_loop_tdpll_dpll_phase_control_get(
  63319 	int	unit,
  63320 	int	stack_id,
  63321 	int	dpll_index,
  63322 	bcm_tdpll_dpll_phase_control_t *	phase_control)
  63323 {
  63324 	return bcm_tdpll_dpll_phase_control_get(
  63325 			BCM_CONTROL(unit)->unit,
  63326 			stack_id,
  63327 			dpll_index,
  63328 			phase_control);
  63329 }
  63330 
  63331 int
  63332 bcm_loop_tdpll_dpll_phase_control_set(
  63333 	int	unit,
  63334 	int	stack_id,
  63335 	int	dpll_index,
  63336 	bcm_tdpll_dpll_phase_control_t *	phase_control)
  63337 {
  63338 	return bcm_tdpll_dpll_phase_control_set(
  63339 			BCM_CONTROL(unit)->unit,
  63340 			stack_id,
  63341 			dpll_index,
  63342 			phase_control);
  63343 }
  63344 
  63345 int
  63346 bcm_loop_tdpll_dpll_reference_get(
  63347 	int	unit,
  63348 	int	stack_id,
  63349 	int	max_num_dpll,
  63350 	int *	dpll_ref,
  63351 	int *	num_dpll)
  63352 {
  63353 	return bcm_tdpll_dpll_reference_get(
  63354 			BCM_CONTROL(unit)->unit,
  63355 			stack_id,
  63356 			max_num_dpll,
  63357 			dpll_ref,
  63358 			num_dpll);
  63359 }
  63360 
  63361 int
  63362 bcm_loop_tdpll_esmc_essm_code_get(
  63363 	int	unit,
  63364 	int	stack_id,
  63365 	int	dpll_index,
  63366 	bcm_esmc_essm_code_t *	essm_code)
  63367 {
  63368 	return bcm_tdpll_esmc_essm_code_get(
  63369 			BCM_CONTROL(unit)->unit,
  63370 			stack_id,
  63371 			dpll_index,
  63372 			essm_code);
  63373 }
  63374 
  63375 int
  63376 bcm_loop_tdpll_esmc_essm_code_set(
  63377 	int	unit,
  63378 	int	stack_id,
  63379 	int	dpll_index,
  63380 	bcm_esmc_essm_code_t	essm_code)
  63381 {
  63382 	return bcm_tdpll_esmc_essm_code_set(
  63383 			BCM_CONTROL(unit)->unit,
  63384 			stack_id,
  63385 			dpll_index,
  63386 			essm_code);
  63387 }
  63388 
  63389 int
  63390 bcm_loop_tdpll_esmc_holdover_ql_get(
  63391 	int	unit,
  63392 	int	stack_id,
  63393 	int	dpll_index,
  63394 	bcm_esmc_quality_level_t *	ql)
  63395 {
  63396 	return bcm_tdpll_esmc_holdover_ql_get(
  63397 			BCM_CONTROL(unit)->unit,
  63398 			stack_id,
  63399 			dpll_index,
  63400 			ql);
  63401 }
  63402 
  63403 int
  63404 bcm_loop_tdpll_esmc_holdover_ql_set(
  63405 	int	unit,
  63406 	int	stack_id,
  63407 	int	dpll_index,
  63408 	bcm_esmc_quality_level_t	ql)
  63409 {
  63410 	return bcm_tdpll_esmc_holdover_ql_set(
  63411 			BCM_CONTROL(unit)->unit,
  63412 			stack_id,
  63413 			dpll_index,
  63414 			ql);
  63415 }
  63416 
  63417 int
  63418 bcm_loop_tdpll_esmc_mac_get(
  63419 	int	unit,
  63420 	int	stack_id,
  63421 	int	dpll_index,
  63422 	bcm_mac_t *	mac)
  63423 {
  63424 	return bcm_tdpll_esmc_mac_get(
  63425 			BCM_CONTROL(unit)->unit,
  63426 			stack_id,
  63427 			dpll_index,
  63428 			mac);
  63429 }
  63430 
  63431 int
  63432 bcm_loop_tdpll_esmc_mac_set(
  63433 	int	unit,
  63434 	int	stack_id,
  63435 	int	dpll_index,
  63436 	bcm_mac_t *	mac)
  63437 {
  63438 	return bcm_tdpll_esmc_mac_set(
  63439 			BCM_CONTROL(unit)->unit,
  63440 			stack_id,
  63441 			dpll_index,
  63442 			mac);
  63443 }
  63444 
  63445 int
  63446 bcm_loop_tdpll_esmc_ql_get(
  63447 	int	unit,
  63448 	int	stack_id,
  63449 	int	dpll_index,
  63450 	bcm_esmc_quality_level_t *	ql)
  63451 {
  63452 	return bcm_tdpll_esmc_ql_get(
  63453 			BCM_CONTROL(unit)->unit,
  63454 			stack_id,
  63455 			dpll_index,
  63456 			ql);
  63457 }
  63458 
  63459 int
  63460 bcm_loop_tdpll_esmc_ql_set(
  63461 	int	unit,
  63462 	int	stack_id,
  63463 	int	dpll_index,
  63464 	bcm_esmc_quality_level_t	ql)
  63465 {
  63466 	return bcm_tdpll_esmc_ql_set(
  63467 			BCM_CONTROL(unit)->unit,
  63468 			stack_id,
  63469 			dpll_index,
  63470 			ql);
  63471 }
  63472 
  63473 int
  63474 bcm_loop_tdpll_esmc_rx_enable_get(
  63475 	int	unit,
  63476 	int	stack_id,
  63477 	int *	enable)
  63478 {
  63479 	return bcm_tdpll_esmc_rx_enable_get(
  63480 			BCM_CONTROL(unit)->unit,
  63481 			stack_id,
  63482 			enable);
  63483 }
  63484 
  63485 int
  63486 bcm_loop_tdpll_esmc_rx_enable_set(
  63487 	int	unit,
  63488 	int	stack_id,
  63489 	int	enable)
  63490 {
  63491 	return bcm_tdpll_esmc_rx_enable_set(
  63492 			BCM_CONTROL(unit)->unit,
  63493 			stack_id,
  63494 			enable);
  63495 }
  63496 
  63497 int
  63498 bcm_loop_tdpll_esmc_rx_portbitmap_get(
  63499 	int	unit,
  63500 	int	stack_id,
  63501 	int	dpll_index,
  63502 	bcm_pbmp_t *	pbmp)
  63503 {
  63504 	return bcm_tdpll_esmc_rx_portbitmap_get(
  63505 			BCM_CONTROL(unit)->unit,
  63506 			stack_id,
  63507 			dpll_index,
  63508 			pbmp);
  63509 }
  63510 
  63511 int
  63512 bcm_loop_tdpll_esmc_rx_portbitmap_set(
  63513 	int	unit,
  63514 	int	stack_id,
  63515 	int	dpll_index,
  63516 	bcm_pbmp_t	pbmp)
  63517 {
  63518 	return bcm_tdpll_esmc_rx_portbitmap_set(
  63519 			BCM_CONTROL(unit)->unit,
  63520 			stack_id,
  63521 			dpll_index,
  63522 			pbmp);
  63523 }
  63524 
  63525 int
  63526 bcm_loop_tdpll_esmc_rx_state_machine(
  63527 	int	unit,
  63528 	int	stack_id,
  63529 	int	ingress_port,
  63530 	bcm_esmc_pdu_data_t *	esmc_pdu_data)
  63531 {
  63532 	return bcm_tdpll_esmc_rx_state_machine(
  63533 			BCM_CONTROL(unit)->unit,
  63534 			stack_id,
  63535 			ingress_port,
  63536 			esmc_pdu_data);
  63537 }
  63538 
  63539 int
  63540 bcm_loop_tdpll_esmc_tx_enable_get(
  63541 	int	unit,
  63542 	int	stack_id,
  63543 	int	dpll_index,
  63544 	int *	enable)
  63545 {
  63546 	return bcm_tdpll_esmc_tx_enable_get(
  63547 			BCM_CONTROL(unit)->unit,
  63548 			stack_id,
  63549 			dpll_index,
  63550 			enable);
  63551 }
  63552 
  63553 int
  63554 bcm_loop_tdpll_esmc_tx_enable_set(
  63555 	int	unit,
  63556 	int	stack_id,
  63557 	int	dpll_index,
  63558 	int	enable)
  63559 {
  63560 	return bcm_tdpll_esmc_tx_enable_set(
  63561 			BCM_CONTROL(unit)->unit,
  63562 			stack_id,
  63563 			dpll_index,
  63564 			enable);
  63565 }
  63566 
  63567 int
  63568 bcm_loop_tdpll_esmc_tx_portbitmap_get(
  63569 	int	unit,
  63570 	int	stack_id,
  63571 	int	dpll_index,
  63572 	bcm_pbmp_t *	pbmp)
  63573 {
  63574 	return bcm_tdpll_esmc_tx_portbitmap_get(
  63575 			BCM_CONTROL(unit)->unit,
  63576 			stack_id,
  63577 			dpll_index,
  63578 			pbmp);
  63579 }
  63580 
  63581 int
  63582 bcm_loop_tdpll_esmc_tx_portbitmap_set(
  63583 	int	unit,
  63584 	int	stack_id,
  63585 	int	dpll_index,
  63586 	bcm_pbmp_t	pbmp)
  63587 {
  63588 	return bcm_tdpll_esmc_tx_portbitmap_set(
  63589 			BCM_CONTROL(unit)->unit,
  63590 			stack_id,
  63591 			dpll_index,
  63592 			pbmp);
  63593 }
  63594 
  63595 int
  63596 bcm_loop_tdpll_event_callback_register(
  63597 	int	unit,
  63598 	int	stack_id,
  63599 	bcm_tdpll_event_cb_f	event_cb)
  63600 {
  63601 	return bcm_tdpll_event_callback_register(
  63602 			BCM_CONTROL(unit)->unit,
  63603 			stack_id,
  63604 			event_cb);
  63605 }
  63606 
  63607 int
  63608 bcm_loop_tdpll_event_callback_unregister(
  63609 	int	unit,
  63610 	int	stack_id)
  63611 {
  63612 	return bcm_tdpll_event_callback_unregister(
  63613 			BCM_CONTROL(unit)->unit,
  63614 			stack_id);
  63615 }
  63616 
  63617 int
  63618 bcm_loop_tdpll_input_clock_best_get(
  63619 	int	unit,
  63620 	int	stack_id,
  63621 	int	dpll_index,
  63622 	int *	best_clock)
  63623 {
  63624 	return bcm_tdpll_input_clock_best_get(
  63625 			BCM_CONTROL(unit)->unit,
  63626 			stack_id,
  63627 			dpll_index,
  63628 			best_clock);
  63629 }
  63630 
  63631 int
  63632 bcm_loop_tdpll_input_clock_callback_register(
  63633 	int	unit,
  63634 	int	stack_id,
  63635 	bcm_tdpll_callback_type_t	type,
  63636 	bcm_tdpll_input_clock_cb	callback)
  63637 {
  63638 	return bcm_tdpll_input_clock_callback_register(
  63639 			BCM_CONTROL(unit)->unit,
  63640 			stack_id,
  63641 			type,
  63642 			callback);
  63643 }
  63644 
  63645 int
  63646 bcm_loop_tdpll_input_clock_callback_unregister(
  63647 	int	unit,
  63648 	int	stack_id,
  63649 	bcm_tdpll_callback_type_t	type)
  63650 {
  63651 	return bcm_tdpll_input_clock_callback_unregister(
  63652 			BCM_CONTROL(unit)->unit,
  63653 			stack_id,
  63654 			type);
  63655 }
  63656 
  63657 int
  63658 bcm_loop_tdpll_input_clock_control(
  63659 	int	unit,
  63660 	int	stack_id,
  63661 	int	enable)
  63662 {
  63663 	return bcm_tdpll_input_clock_control(
  63664 			BCM_CONTROL(unit)->unit,
  63665 			stack_id,
  63666 			enable);
  63667 }
  63668 
  63669 int
  63670 bcm_loop_tdpll_input_clock_enable_get(
  63671 	int	unit,
  63672 	int	stack_id,
  63673 	int	clock_index,
  63674 	int *	enable)
  63675 {
  63676 	return bcm_tdpll_input_clock_enable_get(
  63677 			BCM_CONTROL(unit)->unit,
  63678 			stack_id,
  63679 			clock_index,
  63680 			enable);
  63681 }
  63682 
  63683 int
  63684 bcm_loop_tdpll_input_clock_enable_set(
  63685 	int	unit,
  63686 	int	stack_id,
  63687 	int	clock_index,
  63688 	int	enable)
  63689 {
  63690 	return bcm_tdpll_input_clock_enable_set(
  63691 			BCM_CONTROL(unit)->unit,
  63692 			stack_id,
  63693 			clock_index,
  63694 			enable);
  63695 }
  63696 
  63697 int
  63698 bcm_loop_tdpll_input_clock_frequency_error_get(
  63699 	int	unit,
  63700 	int	stack_id,
  63701 	int	clock_index,
  63702 	int *	freq_error_ppb)
  63703 {
  63704 	return bcm_tdpll_input_clock_frequency_error_get(
  63705 			BCM_CONTROL(unit)->unit,
  63706 			stack_id,
  63707 			clock_index,
  63708 			freq_error_ppb);
  63709 }
  63710 
  63711 int
  63712 bcm_loop_tdpll_input_clock_frequency_get(
  63713 	int	unit,
  63714 	int	stack_id,
  63715 	int	clock_index,
  63716 	uint32 *	clock_frequency,
  63717 	uint32 *	tsevent_frequency)
  63718 {
  63719 	return bcm_tdpll_input_clock_frequency_get(
  63720 			BCM_CONTROL(unit)->unit,
  63721 			stack_id,
  63722 			clock_index,
  63723 			clock_frequency,
  63724 			tsevent_frequency);
  63725 }
  63726 
  63727 int
  63728 bcm_loop_tdpll_input_clock_frequency_set(
  63729 	int	unit,
  63730 	int	stack_id,
  63731 	int	clock_index,
  63732 	uint32	clock_frequency,
  63733 	uint32	tsevent_frequency)
  63734 {
  63735 	return bcm_tdpll_input_clock_frequency_set(
  63736 			BCM_CONTROL(unit)->unit,
  63737 			stack_id,
  63738 			clock_index,
  63739 			clock_frequency,
  63740 			tsevent_frequency);
  63741 }
  63742 
  63743 int
  63744 bcm_loop_tdpll_input_clock_l1mux_get(
  63745 	int	unit,
  63746 	int	stack_id,
  63747 	int	clock_index,
  63748 	bcm_tdpll_input_clock_l1mux_t *	l1mux)
  63749 {
  63750 	return bcm_tdpll_input_clock_l1mux_get(
  63751 			BCM_CONTROL(unit)->unit,
  63752 			stack_id,
  63753 			clock_index,
  63754 			l1mux);
  63755 }
  63756 
  63757 int
  63758 bcm_loop_tdpll_input_clock_l1mux_set(
  63759 	int	unit,
  63760 	int	stack_id,
  63761 	int	clock_index,
  63762 	bcm_tdpll_input_clock_l1mux_t *	l1mux)
  63763 {
  63764 	return bcm_tdpll_input_clock_l1mux_set(
  63765 			BCM_CONTROL(unit)->unit,
  63766 			stack_id,
  63767 			clock_index,
  63768 			l1mux);
  63769 }
  63770 
  63771 int
  63772 bcm_loop_tdpll_input_clock_lockout_get(
  63773 	int	unit,
  63774 	int	stack_id,
  63775 	int	clock_index,
  63776 	int *	lockout)
  63777 {
  63778 	return bcm_tdpll_input_clock_lockout_get(
  63779 			BCM_CONTROL(unit)->unit,
  63780 			stack_id,
  63781 			clock_index,
  63782 			lockout);
  63783 }
  63784 
  63785 int
  63786 bcm_loop_tdpll_input_clock_lockout_set(
  63787 	int	unit,
  63788 	int	stack_id,
  63789 	int	clock_index,
  63790 	int	lockout)
  63791 {
  63792 	return bcm_tdpll_input_clock_lockout_set(
  63793 			BCM_CONTROL(unit)->unit,
  63794 			stack_id,
  63795 			clock_index,
  63796 			lockout);
  63797 }
  63798 
  63799 int
  63800 bcm_loop_tdpll_input_clock_mac_get(
  63801 	int	unit,
  63802 	int	stack_id,
  63803 	int	clock_index,
  63804 	bcm_mac_t *	mac)
  63805 {
  63806 	return bcm_tdpll_input_clock_mac_get(
  63807 			BCM_CONTROL(unit)->unit,
  63808 			stack_id,
  63809 			clock_index,
  63810 			mac);
  63811 }
  63812 
  63813 int
  63814 bcm_loop_tdpll_input_clock_mac_set(
  63815 	int	unit,
  63816 	int	stack_id,
  63817 	int	clock_index,
  63818 	bcm_mac_t *	mac)
  63819 {
  63820 	return bcm_tdpll_input_clock_mac_set(
  63821 			BCM_CONTROL(unit)->unit,
  63822 			stack_id,
  63823 			clock_index,
  63824 			mac);
  63825 }
  63826 
  63827 int
  63828 bcm_loop_tdpll_input_clock_monitor_callback_register(
  63829 	int	unit,
  63830 	int	stack_id,
  63831 	bcm_tdpll_input_clock_monitor_cb	monitor_cb)
  63832 {
  63833 	return bcm_tdpll_input_clock_monitor_callback_register(
  63834 			BCM_CONTROL(unit)->unit,
  63835 			stack_id,
  63836 			monitor_cb);
  63837 }
  63838 
  63839 int
  63840 bcm_loop_tdpll_input_clock_monitor_callback_unregister(
  63841 	int	unit,
  63842 	int	stack_id)
  63843 {
  63844 	return bcm_tdpll_input_clock_monitor_callback_unregister(
  63845 			BCM_CONTROL(unit)->unit,
  63846 			stack_id);
  63847 }
  63848 
  63849 int
  63850 bcm_loop_tdpll_input_clock_monitor_interval_get(
  63851 	int	unit,
  63852 	int	stack_id,
  63853 	uint32 *	monitor_interval)
  63854 {
  63855 	return bcm_tdpll_input_clock_monitor_interval_get(
  63856 			BCM_CONTROL(unit)->unit,
  63857 			stack_id,
  63858 			monitor_interval);
  63859 }
  63860 
  63861 int
  63862 bcm_loop_tdpll_input_clock_monitor_interval_set(
  63863 	int	unit,
  63864 	int	stack_id,
  63865 	uint32	monitor_interval)
  63866 {
  63867 	return bcm_tdpll_input_clock_monitor_interval_set(
  63868 			BCM_CONTROL(unit)->unit,
  63869 			stack_id,
  63870 			monitor_interval);
  63871 }
  63872 
  63873 int
  63874 bcm_loop_tdpll_input_clock_monitor_threshold_get(
  63875 	int	unit,
  63876 	int	stack_id,
  63877 	bcm_tdpll_input_clock_monitor_type_t	threshold_type,
  63878 	uint32 *	threshold)
  63879 {
  63880 	return bcm_tdpll_input_clock_monitor_threshold_get(
  63881 			BCM_CONTROL(unit)->unit,
  63882 			stack_id,
  63883 			threshold_type,
  63884 			threshold);
  63885 }
  63886 
  63887 int
  63888 bcm_loop_tdpll_input_clock_monitor_threshold_set(
  63889 	int	unit,
  63890 	int	stack_id,
  63891 	bcm_tdpll_input_clock_monitor_type_t	threshold_type,
  63892 	uint32	threshold)
  63893 {
  63894 	return bcm_tdpll_input_clock_monitor_threshold_set(
  63895 			BCM_CONTROL(unit)->unit,
  63896 			stack_id,
  63897 			threshold_type,
  63898 			threshold);
  63899 }
  63900 
  63901 int
  63902 bcm_loop_tdpll_input_clock_priority_get(
  63903 	int	unit,
  63904 	int	stack_id,
  63905 	int	clock_index,
  63906 	int *	priority)
  63907 {
  63908 	return bcm_tdpll_input_clock_priority_get(
  63909 			BCM_CONTROL(unit)->unit,
  63910 			stack_id,
  63911 			clock_index,
  63912 			priority);
  63913 }
  63914 
  63915 int
  63916 bcm_loop_tdpll_input_clock_priority_set(
  63917 	int	unit,
  63918 	int	stack_id,
  63919 	int	clock_index,
  63920 	int	priority)
  63921 {
  63922 	return bcm_tdpll_input_clock_priority_set(
  63923 			BCM_CONTROL(unit)->unit,
  63924 			stack_id,
  63925 			clock_index,
  63926 			priority);
  63927 }
  63928 
  63929 int
  63930 bcm_loop_tdpll_input_clock_ql_change_callback_register(
  63931 	int	unit,
  63932 	int	stack_id,
  63933 	bcm_tdpll_input_clock_ql_change_cb	ql_change_cb)
  63934 {
  63935 	return bcm_tdpll_input_clock_ql_change_callback_register(
  63936 			BCM_CONTROL(unit)->unit,
  63937 			stack_id,
  63938 			ql_change_cb);
  63939 }
  63940 
  63941 int
  63942 bcm_loop_tdpll_input_clock_ql_change_callback_unregister(
  63943 	int	unit,
  63944 	int	stack_id)
  63945 {
  63946 	return bcm_tdpll_input_clock_ql_change_callback_unregister(
  63947 			BCM_CONTROL(unit)->unit,
  63948 			stack_id);
  63949 }
  63950 
  63951 int
  63952 bcm_loop_tdpll_input_clock_ql_enabled_get(
  63953 	int	unit,
  63954 	int	stack_id,
  63955 	int	dpll_index,
  63956 	int *	ql_enabled)
  63957 {
  63958 	return bcm_tdpll_input_clock_ql_enabled_get(
  63959 			BCM_CONTROL(unit)->unit,
  63960 			stack_id,
  63961 			dpll_index,
  63962 			ql_enabled);
  63963 }
  63964 
  63965 int
  63966 bcm_loop_tdpll_input_clock_ql_enabled_set(
  63967 	int	unit,
  63968 	int	stack_id,
  63969 	int	dpll_index,
  63970 	int	ql_enabled)
  63971 {
  63972 	return bcm_tdpll_input_clock_ql_enabled_set(
  63973 			BCM_CONTROL(unit)->unit,
  63974 			stack_id,
  63975 			dpll_index,
  63976 			ql_enabled);
  63977 }
  63978 
  63979 int
  63980 bcm_loop_tdpll_input_clock_ql_get(
  63981 	int	unit,
  63982 	int	stack_id,
  63983 	int	clock_index,
  63984 	bcm_esmc_quality_level_t *	ql)
  63985 {
  63986 	return bcm_tdpll_input_clock_ql_get(
  63987 			BCM_CONTROL(unit)->unit,
  63988 			stack_id,
  63989 			clock_index,
  63990 			ql);
  63991 }
  63992 
  63993 int
  63994 bcm_loop_tdpll_input_clock_ql_set(
  63995 	int	unit,
  63996 	int	stack_id,
  63997 	int	clock_index,
  63998 	bcm_esmc_quality_level_t	ql)
  63999 {
  64000 	return bcm_tdpll_input_clock_ql_set(
  64001 			BCM_CONTROL(unit)->unit,
  64002 			stack_id,
  64003 			clock_index,
  64004 			ql);
  64005 }
  64006 
  64007 int
  64008 bcm_loop_tdpll_input_clock_revertive_get(
  64009 	int	unit,
  64010 	int	stack_id,
  64011 	int	dpll_index,
  64012 	int *	revertive)
  64013 {
  64014 	return bcm_tdpll_input_clock_revertive_get(
  64015 			BCM_CONTROL(unit)->unit,
  64016 			stack_id,
  64017 			dpll_index,
  64018 			revertive);
  64019 }
  64020 
  64021 int
  64022 bcm_loop_tdpll_input_clock_revertive_set(
  64023 	int	unit,
  64024 	int	stack_id,
  64025 	int	dpll_index,
  64026 	int	revertive)
  64027 {
  64028 	return bcm_tdpll_input_clock_revertive_set(
  64029 			BCM_CONTROL(unit)->unit,
  64030 			stack_id,
  64031 			dpll_index,
  64032 			revertive);
  64033 }
  64034 
  64035 int
  64036 bcm_loop_tdpll_input_clock_selector_callback_register(
  64037 	int	unit,
  64038 	int	stack_id,
  64039 	bcm_tdpll_input_clock_selector_cb	selector_cb)
  64040 {
  64041 	return bcm_tdpll_input_clock_selector_callback_register(
  64042 			BCM_CONTROL(unit)->unit,
  64043 			stack_id,
  64044 			selector_cb);
  64045 }
  64046 
  64047 int
  64048 bcm_loop_tdpll_input_clock_selector_callback_unregister(
  64049 	int	unit,
  64050 	int	stack_id)
  64051 {
  64052 	return bcm_tdpll_input_clock_selector_callback_unregister(
  64053 			BCM_CONTROL(unit)->unit,
  64054 			stack_id);
  64055 }
  64056 
  64057 int
  64058 bcm_loop_tdpll_input_clock_threshold_state_get(
  64059 	int	unit,
  64060 	int	stack_id,
  64061 	int	clock_index,
  64062 	bcm_tdpll_input_clock_monitor_type_t	threshold_type,
  64063 	int *	threshold_state)
  64064 {
  64065 	return bcm_tdpll_input_clock_threshold_state_get(
  64066 			BCM_CONTROL(unit)->unit,
  64067 			stack_id,
  64068 			clock_index,
  64069 			threshold_type,
  64070 			threshold_state);
  64071 }
  64072 
  64073 int
  64074 bcm_loop_tdpll_input_clock_valid_get(
  64075 	int	unit,
  64076 	int	stack_id,
  64077 	int	clock_index,
  64078 	int *	valid)
  64079 {
  64080 	return bcm_tdpll_input_clock_valid_get(
  64081 			BCM_CONTROL(unit)->unit,
  64082 			stack_id,
  64083 			clock_index,
  64084 			valid);
  64085 }
  64086 
  64087 int
  64088 bcm_loop_tdpll_input_clock_valid_set(
  64089 	int	unit,
  64090 	int	stack_id,
  64091 	int	clock_index,
  64092 	int	valid)
  64093 {
  64094 	return bcm_tdpll_input_clock_valid_set(
  64095 			BCM_CONTROL(unit)->unit,
  64096 			stack_id,
  64097 			clock_index,
  64098 			valid);
  64099 }
  64100 
  64101 int
  64102 bcm_loop_tdpll_output_clock_deriv_frequency_get(
  64103 	int	unit,
  64104 	int	stack_id,
  64105 	int	clock_index,
  64106 	uint32 *	deriv_frequency)
  64107 {
  64108 	return bcm_tdpll_output_clock_deriv_frequency_get(
  64109 			BCM_CONTROL(unit)->unit,
  64110 			stack_id,
  64111 			clock_index,
  64112 			deriv_frequency);
  64113 }
  64114 
  64115 int
  64116 bcm_loop_tdpll_output_clock_deriv_frequency_set(
  64117 	int	unit,
  64118 	int	stack_id,
  64119 	int	clock_index,
  64120 	uint32	deriv_frequency)
  64121 {
  64122 	return bcm_tdpll_output_clock_deriv_frequency_set(
  64123 			BCM_CONTROL(unit)->unit,
  64124 			stack_id,
  64125 			clock_index,
  64126 			deriv_frequency);
  64127 }
  64128 
  64129 int
  64130 bcm_loop_tdpll_output_clock_enable_get(
  64131 	int	unit,
  64132 	int	stack_id,
  64133 	int	clock_index,
  64134 	int *	enable)
  64135 {
  64136 	return bcm_tdpll_output_clock_enable_get(
  64137 			BCM_CONTROL(unit)->unit,
  64138 			stack_id,
  64139 			clock_index,
  64140 			enable);
  64141 }
  64142 
  64143 int
  64144 bcm_loop_tdpll_output_clock_enable_set(
  64145 	int	unit,
  64146 	int	stack_id,
  64147 	int	clock_index,
  64148 	int	enable)
  64149 {
  64150 	return bcm_tdpll_output_clock_enable_set(
  64151 			BCM_CONTROL(unit)->unit,
  64152 			stack_id,
  64153 			clock_index,
  64154 			enable);
  64155 }
  64156 
  64157 int
  64158 bcm_loop_tdpll_output_clock_holdover_data_get(
  64159 	int	unit,
  64160 	int	stack_id,
  64161 	int	clock_index,
  64162 	bcm_tdpll_holdover_data_t *	hdata)
  64163 {
  64164 	return bcm_tdpll_output_clock_holdover_data_get(
  64165 			BCM_CONTROL(unit)->unit,
  64166 			stack_id,
  64167 			clock_index,
  64168 			hdata);
  64169 }
  64170 
  64171 int
  64172 bcm_loop_tdpll_output_clock_holdover_frequency_set(
  64173 	int	unit,
  64174 	int	stack_id,
  64175 	int	clock_index,
  64176 	bcm_tdpll_frequency_correction_t	hfreq)
  64177 {
  64178 	return bcm_tdpll_output_clock_holdover_frequency_set(
  64179 			BCM_CONTROL(unit)->unit,
  64180 			stack_id,
  64181 			clock_index,
  64182 			hfreq);
  64183 }
  64184 
  64185 int
  64186 bcm_loop_tdpll_output_clock_holdover_mode_get(
  64187 	int	unit,
  64188 	int	stack_id,
  64189 	int	clock_index,
  64190 	bcm_tdpll_holdover_mode_t *	hmode)
  64191 {
  64192 	return bcm_tdpll_output_clock_holdover_mode_get(
  64193 			BCM_CONTROL(unit)->unit,
  64194 			stack_id,
  64195 			clock_index,
  64196 			hmode);
  64197 }
  64198 
  64199 int
  64200 bcm_loop_tdpll_output_clock_holdover_mode_set(
  64201 	int	unit,
  64202 	int	stack_id,
  64203 	int	clock_index,
  64204 	bcm_tdpll_holdover_mode_t	hmode)
  64205 {
  64206 	return bcm_tdpll_output_clock_holdover_mode_set(
  64207 			BCM_CONTROL(unit)->unit,
  64208 			stack_id,
  64209 			clock_index,
  64210 			hmode);
  64211 }
  64212 
  64213 int
  64214 bcm_loop_tdpll_output_clock_holdover_reset(
  64215 	int	unit,
  64216 	int	stack_id,
  64217 	int	clock_index)
  64218 {
  64219 	return bcm_tdpll_output_clock_holdover_reset(
  64220 			BCM_CONTROL(unit)->unit,
  64221 			stack_id,
  64222 			clock_index);
  64223 }
  64224 
  64225 int
  64226 bcm_loop_tdpll_output_clock_synth_frequency_get(
  64227 	int	unit,
  64228 	int	stack_id,
  64229 	int	clock_index,
  64230 	uint32 *	synth_frequency,
  64231 	uint32 *	tsevent_frequency)
  64232 {
  64233 	return bcm_tdpll_output_clock_synth_frequency_get(
  64234 			BCM_CONTROL(unit)->unit,
  64235 			stack_id,
  64236 			clock_index,
  64237 			synth_frequency,
  64238 			tsevent_frequency);
  64239 }
  64240 
  64241 int
  64242 bcm_loop_tdpll_output_clock_synth_frequency_set(
  64243 	int	unit,
  64244 	int	stack_id,
  64245 	int	clock_index,
  64246 	uint32	synth_frequency,
  64247 	uint32	tsevent_frequency)
  64248 {
  64249 	return bcm_tdpll_output_clock_synth_frequency_set(
  64250 			BCM_CONTROL(unit)->unit,
  64251 			stack_id,
  64252 			clock_index,
  64253 			synth_frequency,
  64254 			tsevent_frequency);
  64255 }
  64256 
  64257 #endif	/* INCLUDE_PTP */
  64258 
  64259 int
  64260 bcm_loop_telemetry_config_get(
  64261 	int	unit,
  64262 	int	telemetry_instance,
  64263 	int	core,
  64264 	int	max_count,
  64265 	bcm_telemetry_config_t *	telemetry_config_list,
  64266 	int *	config_count)
  64267 {
  64268 	return bcm_telemetry_config_get(
  64269 			BCM_CONTROL(unit)->unit,
  64270 			telemetry_instance,
  64271 			core,
  64272 			max_count,
  64273 			telemetry_config_list,
  64274 			config_count);
  64275 }
  64276 
  64277 int
  64278 bcm_loop_telemetry_config_set(
  64279 	int	unit,
  64280 	int	telemetry_instance,
  64281 	int	core,
  64282 	int	config_count,
  64283 	bcm_telemetry_config_t *	telemetry_config_list)
  64284 {
  64285 	return bcm_telemetry_config_set(
  64286 			BCM_CONTROL(unit)->unit,
  64287 			telemetry_instance,
  64288 			core,
  64289 			config_count,
  64290 			telemetry_config_list);
  64291 }
  64292 
  64293 /* bcm_telemetry_config_t_init not dispatchable */
  64294 
  64295 int
  64296 bcm_loop_telemetry_detach(
  64297 	int	unit)
  64298 {
  64299 	return bcm_telemetry_detach(
  64300 			BCM_CONTROL(unit)->unit);
  64301 }
  64302 
  64303 int
  64304 bcm_loop_telemetry_export_config_delete(
  64305 	int	unit,
  64306 	int	telemetry_instance,
  64307 	bcm_collector_t	collector_id,
  64308 	int	export_profile_id)
  64309 {
  64310 	return bcm_telemetry_export_config_delete(
  64311 			BCM_CONTROL(unit)->unit,
  64312 			telemetry_instance,
  64313 			collector_id,
  64314 			export_profile_id);
  64315 }
  64316 
  64317 int
  64318 bcm_loop_telemetry_export_config_get(
  64319 	int	unit,
  64320 	int	telemetry_instance,
  64321 	bcm_collector_t *	collector_id,
  64322 	int *	export_profile_id)
  64323 {
  64324 	return bcm_telemetry_export_config_get(
  64325 			BCM_CONTROL(unit)->unit,
  64326 			telemetry_instance,
  64327 			collector_id,
  64328 			export_profile_id);
  64329 }
  64330 
  64331 int
  64332 bcm_loop_telemetry_export_config_set(
  64333 	int	unit,
  64334 	int	telemetry_instance,
  64335 	bcm_collector_t	collector_id,
  64336 	int	export_profile_id)
  64337 {
  64338 	return bcm_telemetry_export_config_set(
  64339 			BCM_CONTROL(unit)->unit,
  64340 			telemetry_instance,
  64341 			collector_id,
  64342 			export_profile_id);
  64343 }
  64344 
  64345 int
  64346 bcm_loop_telemetry_init(
  64347 	int	unit)
  64348 {
  64349 	return bcm_telemetry_init(
  64350 			BCM_CONTROL(unit)->unit);
  64351 }
  64352 
  64353 int
  64354 bcm_loop_telemetry_instance_export_stats_get(
  64355 	int	unit,
  64356 	int	telemetry_instance,
  64357 	bcm_collector_t	collector_id,
  64358 	bcm_telemetry_instance_export_stats_t *	stats)
  64359 {
  64360 	return bcm_telemetry_instance_export_stats_get(
  64361 			BCM_CONTROL(unit)->unit,
  64362 			telemetry_instance,
  64363 			collector_id,
  64364 			stats);
  64365 }
  64366 
  64367 int
  64368 bcm_loop_telemetry_instance_export_stats_set(
  64369 	int	unit,
  64370 	int	telemetry_instance,
  64371 	bcm_collector_t	collector_id,
  64372 	bcm_telemetry_instance_export_stats_t *	stats)
  64373 {
  64374 	return bcm_telemetry_instance_export_stats_set(
  64375 			BCM_CONTROL(unit)->unit,
  64376 			telemetry_instance,
  64377 			collector_id,
  64378 			stats);
  64379 }
  64380 
  64381 int
  64382 bcm_loop_telemetry_system_id_get(
  64383 	int	unit,
  64384 	int	max_system_id_len,
  64385 	int *	system_id_len,
  64386 	uint8 *	system_id)
  64387 {
  64388 	return bcm_telemetry_system_id_get(
  64389 			BCM_CONTROL(unit)->unit,
  64390 			max_system_id_len,
  64391 			system_id_len,
  64392 			system_id);
  64393 }
  64394 
  64395 int
  64396 bcm_loop_telemetry_system_id_set(
  64397 	int	unit,
  64398 	int	system_id_len,
  64399 	uint8 *	system_id)
  64400 {
  64401 	return bcm_telemetry_system_id_set(
  64402 			BCM_CONTROL(unit)->unit,
  64403 			system_id_len,
  64404 			system_id);
  64405 }
  64406 
  64407 int
  64408 bcm_loop_time_bs_log_configure_get(
  64409 	int	unit,
  64410 	bcm_time_bs_log_cfg_t *	bs_log_cfg)
  64411 {
  64412 	return bcm_time_bs_log_configure_get(
  64413 			BCM_CONTROL(unit)->unit,
  64414 			bs_log_cfg);
  64415 }
  64416 
  64417 int
  64418 bcm_loop_time_bs_log_configure_set(
  64419 	int	unit,
  64420 	bcm_time_bs_log_cfg_t	bs_log_cfg)
  64421 {
  64422 	return bcm_time_bs_log_configure_set(
  64423 			BCM_CONTROL(unit)->unit,
  64424 			bs_log_cfg);
  64425 }
  64426 
  64427 int
  64428 bcm_loop_time_bs_time_get(
  64429 	int	unit,
  64430 	bcm_time_spec_t *	bs_time)
  64431 {
  64432 	return bcm_time_bs_time_get(
  64433 			BCM_CONTROL(unit)->unit,
  64434 			bs_time);
  64435 }
  64436 
  64437 int
  64438 bcm_loop_time_capture_cb_register(
  64439 	int	unit,
  64440 	bcm_time_if_t	id,
  64441 	bcm_time_capture_cb_type_t	cb_type,
  64442 	bcm_time_capture_cb	cb,
  64443 	void *	user_data)
  64444 {
  64445 	return bcm_time_capture_cb_register(
  64446 			BCM_CONTROL(unit)->unit,
  64447 			id,
  64448 			cb_type,
  64449 			cb,
  64450 			user_data);
  64451 }
  64452 
  64453 int
  64454 bcm_loop_time_capture_cb_unregister(
  64455 	int	unit,
  64456 	bcm_time_if_t	id,
  64457 	bcm_time_capture_cb_type_t	cb_type)
  64458 {
  64459 	return bcm_time_capture_cb_unregister(
  64460 			BCM_CONTROL(unit)->unit,
  64461 			id,
  64462 			cb_type);
  64463 }
  64464 
  64465 int
  64466 bcm_loop_time_capture_enable_set(
  64467 	int	unit,
  64468 	bcm_time_if_t	id,
  64469 	bcm_time_capture_t *	time_capture,
  64470 	int	enable,
  64471 	int *	capture_handle)
  64472 {
  64473 	return bcm_time_capture_enable_set(
  64474 			BCM_CONTROL(unit)->unit,
  64475 			id,
  64476 			time_capture,
  64477 			enable,
  64478 			capture_handle);
  64479 }
  64480 
  64481 int
  64482 bcm_loop_time_capture_get(
  64483 	int	unit,
  64484 	bcm_time_if_t	intf_id,
  64485 	bcm_time_capture_t *	time)
  64486 {
  64487 	return bcm_time_capture_get(
  64488 			BCM_CONTROL(unit)->unit,
  64489 			intf_id,
  64490 			time);
  64491 }
  64492 
  64493 /* bcm_time_capture_t_init not dispatchable */
  64494 
  64495 int
  64496 bcm_loop_time_deinit(
  64497 	int	unit)
  64498 {
  64499 	return bcm_time_deinit(
  64500 			BCM_CONTROL(unit)->unit);
  64501 }
  64502 
  64503 int
  64504 bcm_loop_time_heartbeat_enable_get(
  64505 	int	unit,
  64506 	bcm_time_if_t	id,
  64507 	int *	enable)
  64508 {
  64509 	return bcm_time_heartbeat_enable_get(
  64510 			BCM_CONTROL(unit)->unit,
  64511 			id,
  64512 			enable);
  64513 }
  64514 
  64515 int
  64516 bcm_loop_time_heartbeat_enable_set(
  64517 	int	unit,
  64518 	bcm_time_if_t	id,
  64519 	int	enable)
  64520 {
  64521 	return bcm_time_heartbeat_enable_set(
  64522 			BCM_CONTROL(unit)->unit,
  64523 			id,
  64524 			enable);
  64525 }
  64526 
  64527 int
  64528 bcm_loop_time_heartbeat_register(
  64529 	int	unit,
  64530 	bcm_time_if_t	id,
  64531 	bcm_time_heartbeat_cb	f,
  64532 	void *	user_data)
  64533 {
  64534 	return bcm_time_heartbeat_register(
  64535 			BCM_CONTROL(unit)->unit,
  64536 			id,
  64537 			f,
  64538 			user_data);
  64539 }
  64540 
  64541 int
  64542 bcm_loop_time_heartbeat_unregister(
  64543 	int	unit,
  64544 	bcm_time_if_t	id)
  64545 {
  64546 	return bcm_time_heartbeat_unregister(
  64547 			BCM_CONTROL(unit)->unit,
  64548 			id);
  64549 }
  64550 
  64551 int
  64552 bcm_loop_time_init(
  64553 	int	unit)
  64554 {
  64555 	return bcm_time_init(
  64556 			BCM_CONTROL(unit)->unit);
  64557 }
  64558 
  64559 int
  64560 bcm_loop_time_interface_add(
  64561 	int	unit,
  64562 	bcm_time_interface_t *	intf)
  64563 {
  64564 	return bcm_time_interface_add(
  64565 			BCM_CONTROL(unit)->unit,
  64566 			intf);
  64567 }
  64568 
  64569 int
  64570 bcm_loop_time_interface_delete(
  64571 	int	unit,
  64572 	bcm_time_if_t	intf_id)
  64573 {
  64574 	return bcm_time_interface_delete(
  64575 			BCM_CONTROL(unit)->unit,
  64576 			intf_id);
  64577 }
  64578 
  64579 int
  64580 bcm_loop_time_interface_delete_all(
  64581 	int	unit)
  64582 {
  64583 	return bcm_time_interface_delete_all(
  64584 			BCM_CONTROL(unit)->unit);
  64585 }
  64586 
  64587 int
  64588 bcm_loop_time_interface_get(
  64589 	int	unit,
  64590 	bcm_time_interface_t *	intf)
  64591 {
  64592 	return bcm_time_interface_get(
  64593 			BCM_CONTROL(unit)->unit,
  64594 			intf);
  64595 }
  64596 
  64597 /* bcm_time_interface_t_init not dispatchable */
  64598 
  64599 int
  64600 bcm_loop_time_interface_traverse(
  64601 	int	unit,
  64602 	bcm_time_interface_traverse_cb	cb,
  64603 	void *	user_data)
  64604 {
  64605 	return bcm_time_interface_traverse(
  64606 			BCM_CONTROL(unit)->unit,
  64607 			cb,
  64608 			user_data);
  64609 }
  64610 
  64611 /* bcm_time_spec_t_init not dispatchable */
  64612 
  64613 int
  64614 bcm_loop_time_synce_clock_get(
  64615 	int	unit,
  64616 	bcm_time_synce_clock_src_type_t	clk_src,
  64617 	bcm_time_synce_divisor_setting_t *	divisor_setting)
  64618 {
  64619 	return bcm_time_synce_clock_get(
  64620 			BCM_CONTROL(unit)->unit,
  64621 			clk_src,
  64622 			divisor_setting);
  64623 }
  64624 
  64625 int
  64626 bcm_loop_time_synce_clock_set(
  64627 	int	unit,
  64628 	bcm_time_synce_clock_src_type_t	clk_src,
  64629 	bcm_time_synce_divisor_setting_t *	divisor_setting)
  64630 {
  64631 	return bcm_time_synce_clock_set(
  64632 			BCM_CONTROL(unit)->unit,
  64633 			clk_src,
  64634 			divisor_setting);
  64635 }
  64636 
  64637 int
  64638 bcm_loop_time_synce_clock_source_control_get(
  64639 	int	unit,
  64640 	bcm_time_synce_clock_source_config_t *	clk_src_config,
  64641 	bcm_time_synce_clock_source_control_t	control,
  64642 	int *	value)
  64643 {
  64644 	return bcm_time_synce_clock_source_control_get(
  64645 			BCM_CONTROL(unit)->unit,
  64646 			clk_src_config,
  64647 			control,
  64648 			value);
  64649 }
  64650 
  64651 int
  64652 bcm_loop_time_synce_clock_source_control_set(
  64653 	int	unit,
  64654 	bcm_time_synce_clock_source_config_t *	clk_src_config,
  64655 	bcm_time_synce_clock_source_control_t	control,
  64656 	int	value)
  64657 {
  64658 	return bcm_time_synce_clock_source_control_set(
  64659 			BCM_CONTROL(unit)->unit,
  64660 			clk_src_config,
  64661 			control,
  64662 			value);
  64663 }
  64664 
  64665 /* bcm_time_synce_divisor_setting_t_init not dispatchable */
  64666 
  64667 int
  64668 bcm_loop_time_tod_get(
  64669 	int	unit,
  64670 	uint32	stages,
  64671 	bcm_time_tod_t *	tod)
  64672 {
  64673 	return bcm_time_tod_get(
  64674 			BCM_CONTROL(unit)->unit,
  64675 			stages,
  64676 			tod);
  64677 }
  64678 
  64679 int
  64680 bcm_loop_time_tod_set(
  64681 	int	unit,
  64682 	uint32	stages,
  64683 	bcm_time_tod_t *	tod)
  64684 {
  64685 	return bcm_time_tod_set(
  64686 			BCM_CONTROL(unit)->unit,
  64687 			stages,
  64688 			tod);
  64689 }
  64690 
  64691 /* bcm_time_tod_t_init not dispatchable */
  64692 
  64693 int
  64694 bcm_loop_time_trigger_enable_get(
  64695 	int	unit,
  64696 	bcm_time_if_t	id,
  64697 	uint32 *	mode_flags)
  64698 {
  64699 	return bcm_time_trigger_enable_get(
  64700 			BCM_CONTROL(unit)->unit,
  64701 			id,
  64702 			mode_flags);
  64703 }
  64704 
  64705 int
  64706 bcm_loop_time_trigger_enable_set(
  64707 	int	unit,
  64708 	bcm_time_if_t	id,
  64709 	uint32	mode_flags)
  64710 {
  64711 	return bcm_time_trigger_enable_set(
  64712 			BCM_CONTROL(unit)->unit,
  64713 			id,
  64714 			mode_flags);
  64715 }
  64716 
  64717 int
  64718 bcm_loop_time_ts_counter_get(
  64719 	int	unit,
  64720 	bcm_time_ts_counter_t *	counter)
  64721 {
  64722 	return bcm_time_ts_counter_get(
  64723 			BCM_CONTROL(unit)->unit,
  64724 			counter);
  64725 }
  64726 
  64727 int
  64728 bcm_loop_time_ts_counter_set(
  64729 	int	unit,
  64730 	bcm_time_ts_counter_t *	counter)
  64731 {
  64732 	return bcm_time_ts_counter_set(
  64733 			BCM_CONTROL(unit)->unit,
  64734 			counter);
  64735 }
  64736 
  64737 /* bcm_time_ts_counter_t_init not dispatchable */
  64738 
  64739 /* bcm_topo_map_get not dispatchable */
  64740 
  64741 /* bcm_topo_map_set not dispatchable */
  64742 
  64743 int
  64744 bcm_loop_topo_port_get(
  64745 	int	unit,
  64746 	int	dest_modid,
  64747 	bcm_port_t *	exit_port)
  64748 {
  64749 	return bcm_topo_port_get(
  64750 			BCM_CONTROL(unit)->unit,
  64751 			dest_modid,
  64752 			exit_port);
  64753 }
  64754 
  64755 #ifdef	INCLUDE_L3
  64756 
  64757 int
  64758 bcm_loop_trill_cleanup(
  64759 	int	unit)
  64760 {
  64761 	return bcm_trill_cleanup(
  64762 			BCM_CONTROL(unit)->unit);
  64763 }
  64764 
  64765 int
  64766 bcm_loop_trill_init(
  64767 	int	unit)
  64768 {
  64769 	return bcm_trill_init(
  64770 			BCM_CONTROL(unit)->unit);
  64771 }
  64772 
  64773 int
  64774 bcm_loop_trill_multicast_adjacency_add(
  64775 	int	unit,
  64776 	bcm_trill_multicast_adjacency_t *	trill_multicast_adjacency)
  64777 {
  64778 	return bcm_trill_multicast_adjacency_add(
  64779 			BCM_CONTROL(unit)->unit,
  64780 			trill_multicast_adjacency);
  64781 }
  64782 
  64783 int
  64784 bcm_loop_trill_multicast_adjacency_delete(
  64785 	int	unit,
  64786 	bcm_trill_multicast_adjacency_t *	trill_multicast_adjacency)
  64787 {
  64788 	return bcm_trill_multicast_adjacency_delete(
  64789 			BCM_CONTROL(unit)->unit,
  64790 			trill_multicast_adjacency);
  64791 }
  64792 
  64793 int
  64794 bcm_loop_trill_multicast_adjacency_delete_all(
  64795 	int	unit)
  64796 {
  64797 	return bcm_trill_multicast_adjacency_delete_all(
  64798 			BCM_CONTROL(unit)->unit);
  64799 }
  64800 
  64801 int
  64802 bcm_loop_trill_multicast_adjacency_traverse(
  64803 	int	unit,
  64804 	bcm_trill_multicast_adjacency_traverse_cb	cb,
  64805 	void *	user_data)
  64806 {
  64807 	return bcm_trill_multicast_adjacency_traverse(
  64808 			BCM_CONTROL(unit)->unit,
  64809 			cb,
  64810 			user_data);
  64811 }
  64812 
  64813 int
  64814 bcm_loop_trill_multicast_delete_all(
  64815 	int	unit,
  64816 	bcm_trill_name_t	root_name)
  64817 {
  64818 	return bcm_trill_multicast_delete_all(
  64819 			BCM_CONTROL(unit)->unit,
  64820 			root_name);
  64821 }
  64822 
  64823 int
  64824 bcm_loop_trill_multicast_entry_add(
  64825 	int	unit,
  64826 	bcm_trill_multicast_entry_t *	trill_mc_entry)
  64827 {
  64828 	return bcm_trill_multicast_entry_add(
  64829 			BCM_CONTROL(unit)->unit,
  64830 			trill_mc_entry);
  64831 }
  64832 
  64833 int
  64834 bcm_loop_trill_multicast_entry_delete(
  64835 	int	unit,
  64836 	bcm_trill_multicast_entry_t *	trill_mc_entry)
  64837 {
  64838 	return bcm_trill_multicast_entry_delete(
  64839 			BCM_CONTROL(unit)->unit,
  64840 			trill_mc_entry);
  64841 }
  64842 
  64843 int
  64844 bcm_loop_trill_multicast_entry_get(
  64845 	int	unit,
  64846 	bcm_trill_multicast_entry_t *	trill_mc_entry)
  64847 {
  64848 	return bcm_trill_multicast_entry_get(
  64849 			BCM_CONTROL(unit)->unit,
  64850 			trill_mc_entry);
  64851 }
  64852 
  64853 /* bcm_trill_multicast_entry_t_init not dispatchable */
  64854 
  64855 int
  64856 bcm_loop_trill_multicast_entry_traverse(
  64857 	int	unit,
  64858 	bcm_trill_multicast_entry_traverse_cb	cb,
  64859 	void *	user_data)
  64860 {
  64861 	return bcm_trill_multicast_entry_traverse(
  64862 			BCM_CONTROL(unit)->unit,
  64863 			cb,
  64864 			user_data);
  64865 }
  64866 
  64867 int
  64868 bcm_loop_trill_multicast_source_add(
  64869 	int	unit,
  64870 	bcm_trill_name_t	root_name,
  64871 	bcm_trill_name_t	source_rbridge_name,
  64872 	bcm_gport_t	port,
  64873 	bcm_if_t	encap_intf)
  64874 {
  64875 	return bcm_trill_multicast_source_add(
  64876 			BCM_CONTROL(unit)->unit,
  64877 			root_name,
  64878 			source_rbridge_name,
  64879 			port,
  64880 			encap_intf);
  64881 }
  64882 
  64883 int
  64884 bcm_loop_trill_multicast_source_delete(
  64885 	int	unit,
  64886 	bcm_trill_name_t	root_name,
  64887 	bcm_trill_name_t	source_rbridge_name,
  64888 	bcm_gport_t	port,
  64889 	bcm_if_t	encap_intf)
  64890 {
  64891 	return bcm_trill_multicast_source_delete(
  64892 			BCM_CONTROL(unit)->unit,
  64893 			root_name,
  64894 			source_rbridge_name,
  64895 			port,
  64896 			encap_intf);
  64897 }
  64898 
  64899 int
  64900 bcm_loop_trill_multicast_source_get(
  64901 	int	unit,
  64902 	bcm_trill_name_t	root_name,
  64903 	bcm_trill_name_t	source_rbridge_name,
  64904 	bcm_gport_t *	port)
  64905 {
  64906 	return bcm_trill_multicast_source_get(
  64907 			BCM_CONTROL(unit)->unit,
  64908 			root_name,
  64909 			source_rbridge_name,
  64910 			port);
  64911 }
  64912 
  64913 int
  64914 bcm_loop_trill_multicast_source_traverse(
  64915 	int	unit,
  64916 	bcm_trill_multicast_source_traverse_cb	cb,
  64917 	void *	user_data)
  64918 {
  64919 	return bcm_trill_multicast_source_traverse(
  64920 			BCM_CONTROL(unit)->unit,
  64921 			cb,
  64922 			user_data);
  64923 }
  64924 
  64925 int
  64926 bcm_loop_trill_port_add(
  64927 	int	unit,
  64928 	bcm_trill_port_t *	trill_port)
  64929 {
  64930 	return bcm_trill_port_add(
  64931 			BCM_CONTROL(unit)->unit,
  64932 			trill_port);
  64933 }
  64934 
  64935 int
  64936 bcm_loop_trill_port_delete(
  64937 	int	unit,
  64938 	bcm_gport_t	trill_port_id)
  64939 {
  64940 	return bcm_trill_port_delete(
  64941 			BCM_CONTROL(unit)->unit,
  64942 			trill_port_id);
  64943 }
  64944 
  64945 int
  64946 bcm_loop_trill_port_delete_all(
  64947 	int	unit)
  64948 {
  64949 	return bcm_trill_port_delete_all(
  64950 			BCM_CONTROL(unit)->unit);
  64951 }
  64952 
  64953 int
  64954 bcm_loop_trill_port_get(
  64955 	int	unit,
  64956 	bcm_trill_port_t *	trill_port)
  64957 {
  64958 	return bcm_trill_port_get(
  64959 			BCM_CONTROL(unit)->unit,
  64960 			trill_port);
  64961 }
  64962 
  64963 int
  64964 bcm_loop_trill_port_get_all(
  64965 	int	unit,
  64966 	int	port_max,
  64967 	bcm_trill_port_t *	port_array,
  64968 	int *	port_count)
  64969 {
  64970 	return bcm_trill_port_get_all(
  64971 			BCM_CONTROL(unit)->unit,
  64972 			port_max,
  64973 			port_array,
  64974 			port_count);
  64975 }
  64976 
  64977 /* bcm_trill_port_t_init not dispatchable */
  64978 
  64979 int
  64980 bcm_loop_trill_rbridge_entry_add(
  64981 	int	unit,
  64982 	bcm_trill_rbridge_t *	trill_entry)
  64983 {
  64984 	return bcm_trill_rbridge_entry_add(
  64985 			BCM_CONTROL(unit)->unit,
  64986 			trill_entry);
  64987 }
  64988 
  64989 int
  64990 bcm_loop_trill_rbridge_entry_delete(
  64991 	int	unit,
  64992 	bcm_trill_rbridge_t *	trill_entry)
  64993 {
  64994 	return bcm_trill_rbridge_entry_delete(
  64995 			BCM_CONTROL(unit)->unit,
  64996 			trill_entry);
  64997 }
  64998 
  64999 int
  65000 bcm_loop_trill_rbridge_entry_get(
  65001 	int	unit,
  65002 	bcm_trill_rbridge_t *	trill_entry)
  65003 {
  65004 	return bcm_trill_rbridge_entry_get(
  65005 			BCM_CONTROL(unit)->unit,
  65006 			trill_entry);
  65007 }
  65008 
  65009 int
  65010 bcm_loop_trill_stat_clear(
  65011 	int	unit,
  65012 	bcm_port_t	port,
  65013 	bcm_trill_stat_t	stat)
  65014 {
  65015 	return bcm_trill_stat_clear(
  65016 			BCM_CONTROL(unit)->unit,
  65017 			port,
  65018 			stat);
  65019 }
  65020 
  65021 int
  65022 bcm_loop_trill_stat_get(
  65023 	int	unit,
  65024 	bcm_port_t	port,
  65025 	bcm_trill_stat_t	stat,
  65026 	uint64 *	val)
  65027 {
  65028 	return bcm_trill_stat_get(
  65029 			BCM_CONTROL(unit)->unit,
  65030 			port,
  65031 			stat,
  65032 			val);
  65033 }
  65034 
  65035 int
  65036 bcm_loop_trill_stat_get32(
  65037 	int	unit,
  65038 	bcm_port_t	port,
  65039 	bcm_trill_stat_t	stat,
  65040 	uint32 *	val)
  65041 {
  65042 	return bcm_trill_stat_get32(
  65043 			BCM_CONTROL(unit)->unit,
  65044 			port,
  65045 			stat,
  65046 			val);
  65047 }
  65048 
  65049 /* bcm_trill_vpn_config_t_init not dispatchable */
  65050 
  65051 int
  65052 bcm_loop_trill_vpn_create(
  65053 	int	unit,
  65054 	bcm_trill_vpn_config_t *	info)
  65055 {
  65056 	return bcm_trill_vpn_create(
  65057 			BCM_CONTROL(unit)->unit,
  65058 			info);
  65059 }
  65060 
  65061 int
  65062 bcm_loop_trill_vpn_destroy(
  65063 	int	unit,
  65064 	bcm_vpn_t	vpn)
  65065 {
  65066 	return bcm_trill_vpn_destroy(
  65067 			BCM_CONTROL(unit)->unit,
  65068 			vpn);
  65069 }
  65070 
  65071 int
  65072 bcm_loop_trill_vpn_destroy_all(
  65073 	int	unit)
  65074 {
  65075 	return bcm_trill_vpn_destroy_all(
  65076 			BCM_CONTROL(unit)->unit);
  65077 }
  65078 
  65079 int
  65080 bcm_loop_trill_vpn_get(
  65081 	int	unit,
  65082 	bcm_vpn_t	vpn,
  65083 	bcm_trill_vpn_config_t *	info)
  65084 {
  65085 	return bcm_trill_vpn_get(
  65086 			BCM_CONTROL(unit)->unit,
  65087 			vpn,
  65088 			info);
  65089 }
  65090 
  65091 int
  65092 bcm_loop_trill_vpn_traverse(
  65093 	int	unit,
  65094 	bcm_trill_vpn_traverse_cb	cb,
  65095 	void *	user_data)
  65096 {
  65097 	return bcm_trill_vpn_traverse(
  65098 			BCM_CONTROL(unit)->unit,
  65099 			cb,
  65100 			user_data);
  65101 }
  65102 
  65103 #endif	/* INCLUDE_L3 */
  65104 
  65105 int
  65106 bcm_loop_trunk_agm_attach(
  65107 	int	unit,
  65108 	bcm_trunk_t	trunk_id,
  65109 	bcm_switch_agm_id_t	agm_id)
  65110 {
  65111 	return bcm_trunk_agm_attach(
  65112 			BCM_CONTROL(unit)->unit,
  65113 			trunk_id,
  65114 			agm_id);
  65115 }
  65116 
  65117 int
  65118 bcm_loop_trunk_agm_attach_get(
  65119 	int	unit,
  65120 	bcm_trunk_t	trunk_id,
  65121 	bcm_switch_agm_id_t *	agm_id)
  65122 {
  65123 	return bcm_trunk_agm_attach_get(
  65124 			BCM_CONTROL(unit)->unit,
  65125 			trunk_id,
  65126 			agm_id);
  65127 }
  65128 
  65129 int
  65130 bcm_loop_trunk_agm_detach(
  65131 	int	unit,
  65132 	bcm_trunk_t	trunk_id,
  65133 	bcm_switch_agm_id_t	agm_id)
  65134 {
  65135 	return bcm_trunk_agm_detach(
  65136 			BCM_CONTROL(unit)->unit,
  65137 			trunk_id,
  65138 			agm_id);
  65139 }
  65140 
  65141 int
  65142 bcm_loop_trunk_bitmap_expand(
  65143 	int	unit,
  65144 	bcm_pbmp_t *	pbmp_ptr)
  65145 {
  65146 	return bcm_trunk_bitmap_expand(
  65147 			BCM_CONTROL(unit)->unit,
  65148 			pbmp_ptr);
  65149 }
  65150 
  65151 int
  65152 bcm_loop_trunk_chip_info_get(
  65153 	int	unit,
  65154 	bcm_trunk_chip_info_t *	ta_info)
  65155 {
  65156 	return bcm_trunk_chip_info_get(
  65157 			BCM_CONTROL(unit)->unit,
  65158 			ta_info);
  65159 }
  65160 
  65161 /* bcm_trunk_chip_info_t_init not dispatchable */
  65162 
  65163 int
  65164 bcm_loop_trunk_create(
  65165 	int	unit,
  65166 	uint32	flags,
  65167 	bcm_trunk_t *	tid)
  65168 {
  65169 	return bcm_trunk_create(
  65170 			BCM_CONTROL(unit)->unit,
  65171 			flags,
  65172 			tid);
  65173 }
  65174 
  65175 int
  65176 bcm_loop_trunk_destroy(
  65177 	int	unit,
  65178 	bcm_trunk_t	tid)
  65179 {
  65180 	return bcm_trunk_destroy(
  65181 			BCM_CONTROL(unit)->unit,
  65182 			tid);
  65183 }
  65184 
  65185 int
  65186 bcm_loop_trunk_detach(
  65187 	int	unit)
  65188 {
  65189 	return bcm_trunk_detach(
  65190 			BCM_CONTROL(unit)->unit);
  65191 }
  65192 
  65193 int
  65194 bcm_loop_trunk_egress_get(
  65195 	int	unit,
  65196 	bcm_trunk_t	tid,
  65197 	bcm_pbmp_t *	pbmp)
  65198 {
  65199 	return bcm_trunk_egress_get(
  65200 			BCM_CONTROL(unit)->unit,
  65201 			tid,
  65202 			pbmp);
  65203 }
  65204 
  65205 int
  65206 bcm_loop_trunk_egress_set(
  65207 	int	unit,
  65208 	bcm_trunk_t	tid,
  65209 	bcm_pbmp_t	pbmp)
  65210 {
  65211 	return bcm_trunk_egress_set(
  65212 			BCM_CONTROL(unit)->unit,
  65213 			tid,
  65214 			pbmp);
  65215 }
  65216 
  65217 int
  65218 bcm_loop_trunk_ethertype_get(
  65219 	int	unit,
  65220 	uint32 *	flags,
  65221 	int	ethertype_max,
  65222 	int *	ethertype_array,
  65223 	int *	ethertype_count)
  65224 {
  65225 	return bcm_trunk_ethertype_get(
  65226 			BCM_CONTROL(unit)->unit,
  65227 			flags,
  65228 			ethertype_max,
  65229 			ethertype_array,
  65230 			ethertype_count);
  65231 }
  65232 
  65233 int
  65234 bcm_loop_trunk_ethertype_set(
  65235 	int	unit,
  65236 	uint32	flags,
  65237 	int	ethertype_count,
  65238 	int *	ethertype_array)
  65239 {
  65240 	return bcm_trunk_ethertype_set(
  65241 			BCM_CONTROL(unit)->unit,
  65242 			flags,
  65243 			ethertype_count,
  65244 			ethertype_array);
  65245 }
  65246 
  65247 int
  65248 bcm_loop_trunk_failover_get(
  65249 	int	unit,
  65250 	bcm_trunk_t	tid,
  65251 	bcm_gport_t	failport,
  65252 	int *	psc,
  65253 	uint32 *	flags,
  65254 	int	array_size,
  65255 	bcm_gport_t *	fail_to_array,
  65256 	int *	array_count)
  65257 {
  65258 	return bcm_trunk_failover_get(
  65259 			BCM_CONTROL(unit)->unit,
  65260 			tid,
  65261 			failport,
  65262 			psc,
  65263 			flags,
  65264 			array_size,
  65265 			fail_to_array,
  65266 			array_count);
  65267 }
  65268 
  65269 int
  65270 bcm_loop_trunk_failover_set(
  65271 	int	unit,
  65272 	bcm_trunk_t	tid,
  65273 	bcm_gport_t	failport,
  65274 	int	psc,
  65275 	uint32	flags,
  65276 	int	count,
  65277 	bcm_gport_t *	fail_to_array)
  65278 {
  65279 	return bcm_trunk_failover_set(
  65280 			BCM_CONTROL(unit)->unit,
  65281 			tid,
  65282 			failport,
  65283 			psc,
  65284 			flags,
  65285 			count,
  65286 			fail_to_array);
  65287 }
  65288 
  65289 int
  65290 bcm_loop_trunk_find(
  65291 	int	unit,
  65292 	bcm_module_t	modid,
  65293 	bcm_gport_t	gport,
  65294 	bcm_trunk_t *	tid)
  65295 {
  65296 	return bcm_trunk_find(
  65297 			BCM_CONTROL(unit)->unit,
  65298 			modid,
  65299 			gport,
  65300 			tid);
  65301 }
  65302 
  65303 int
  65304 bcm_loop_trunk_get(
  65305 	int	unit,
  65306 	bcm_trunk_t	tid,
  65307 	bcm_trunk_info_t *	t_data,
  65308 	int	member_max,
  65309 	bcm_trunk_member_t *	member_array,
  65310 	int *	member_count)
  65311 {
  65312 	return bcm_trunk_get(
  65313 			BCM_CONTROL(unit)->unit,
  65314 			tid,
  65315 			t_data,
  65316 			member_max,
  65317 			member_array,
  65318 			member_count);
  65319 }
  65320 
  65321 int
  65322 bcm_loop_trunk_gport_add(
  65323 	int	unit,
  65324 	bcm_trunk_t	tid,
  65325 	bcm_gport_t	gport)
  65326 {
  65327 	return bcm_trunk_gport_add(
  65328 			BCM_CONTROL(unit)->unit,
  65329 			tid,
  65330 			gport);
  65331 }
  65332 
  65333 int
  65334 bcm_loop_trunk_gport_delete(
  65335 	int	unit,
  65336 	bcm_trunk_t	tid,
  65337 	bcm_gport_t	gport)
  65338 {
  65339 	return bcm_trunk_gport_delete(
  65340 			BCM_CONTROL(unit)->unit,
  65341 			tid,
  65342 			gport);
  65343 }
  65344 
  65345 int
  65346 bcm_loop_trunk_gport_delete_all(
  65347 	int	unit,
  65348 	bcm_trunk_t	tid)
  65349 {
  65350 	return bcm_trunk_gport_delete_all(
  65351 			BCM_CONTROL(unit)->unit,
  65352 			tid);
  65353 }
  65354 
  65355 int
  65356 bcm_loop_trunk_gport_get_all(
  65357 	int	unit,
  65358 	bcm_trunk_t	tid,
  65359 	int	gport_size,
  65360 	bcm_gport_t *	gport_array,
  65361 	int *	count)
  65362 {
  65363 	return bcm_trunk_gport_get_all(
  65364 			BCM_CONTROL(unit)->unit,
  65365 			tid,
  65366 			gport_size,
  65367 			gport_array,
  65368 			count);
  65369 }
  65370 
  65371 /* bcm_trunk_info_t_init not dispatchable */
  65372 
  65373 int
  65374 bcm_loop_trunk_init(
  65375 	int	unit)
  65376 {
  65377 	return bcm_trunk_init(
  65378 			BCM_CONTROL(unit)->unit);
  65379 }
  65380 
  65381 int
  65382 bcm_loop_trunk_mcast_join(
  65383 	int	unit,
  65384 	bcm_trunk_t	tid,
  65385 	bcm_vlan_t	vid,
  65386 	bcm_mac_t	mac)
  65387 {
  65388 	return bcm_trunk_mcast_join(
  65389 			BCM_CONTROL(unit)->unit,
  65390 			tid,
  65391 			vid,
  65392 			mac);
  65393 }
  65394 
  65395 int
  65396 bcm_loop_trunk_member_add(
  65397 	int	unit,
  65398 	bcm_trunk_t	tid,
  65399 	bcm_trunk_member_t *	member)
  65400 {
  65401 	return bcm_trunk_member_add(
  65402 			BCM_CONTROL(unit)->unit,
  65403 			tid,
  65404 			member);
  65405 }
  65406 
  65407 int
  65408 bcm_loop_trunk_member_delete(
  65409 	int	unit,
  65410 	bcm_trunk_t	tid,
  65411 	bcm_trunk_member_t *	member)
  65412 {
  65413 	return bcm_trunk_member_delete(
  65414 			BCM_CONTROL(unit)->unit,
  65415 			tid,
  65416 			member);
  65417 }
  65418 
  65419 int
  65420 bcm_loop_trunk_member_delete_all(
  65421 	int	unit,
  65422 	bcm_trunk_t	tid)
  65423 {
  65424 	return bcm_trunk_member_delete_all(
  65425 			BCM_CONTROL(unit)->unit,
  65426 			tid);
  65427 }
  65428 
  65429 int
  65430 bcm_loop_trunk_member_status_get(
  65431 	int	unit,
  65432 	bcm_gport_t	member,
  65433 	int *	status)
  65434 {
  65435 	return bcm_trunk_member_status_get(
  65436 			BCM_CONTROL(unit)->unit,
  65437 			member,
  65438 			status);
  65439 }
  65440 
  65441 int
  65442 bcm_loop_trunk_member_status_set(
  65443 	int	unit,
  65444 	bcm_gport_t	member,
  65445 	int	status)
  65446 {
  65447 	return bcm_trunk_member_status_set(
  65448 			BCM_CONTROL(unit)->unit,
  65449 			member,
  65450 			status);
  65451 }
  65452 
  65453 /* bcm_trunk_member_t_init not dispatchable */
  65454 
  65455 int
  65456 bcm_loop_trunk_override_ipmc_get(
  65457 	int	unit,
  65458 	bcm_port_t	port,
  65459 	bcm_trunk_t	tid,
  65460 	int	idx,
  65461 	int *	enable)
  65462 {
  65463 	return bcm_trunk_override_ipmc_get(
  65464 			BCM_CONTROL(unit)->unit,
  65465 			port,
  65466 			tid,
  65467 			idx,
  65468 			enable);
  65469 }
  65470 
  65471 int
  65472 bcm_loop_trunk_override_ipmc_set(
  65473 	int	unit,
  65474 	bcm_port_t	port,
  65475 	bcm_trunk_t	tid,
  65476 	int	idx,
  65477 	int	enable)
  65478 {
  65479 	return bcm_trunk_override_ipmc_set(
  65480 			BCM_CONTROL(unit)->unit,
  65481 			port,
  65482 			tid,
  65483 			idx,
  65484 			enable);
  65485 }
  65486 
  65487 int
  65488 bcm_loop_trunk_override_mcast_get(
  65489 	int	unit,
  65490 	bcm_port_t	port,
  65491 	bcm_trunk_t	tid,
  65492 	int	idx,
  65493 	int *	enable)
  65494 {
  65495 	return bcm_trunk_override_mcast_get(
  65496 			BCM_CONTROL(unit)->unit,
  65497 			port,
  65498 			tid,
  65499 			idx,
  65500 			enable);
  65501 }
  65502 
  65503 int
  65504 bcm_loop_trunk_override_mcast_set(
  65505 	int	unit,
  65506 	bcm_port_t	port,
  65507 	bcm_trunk_t	tid,
  65508 	int	idx,
  65509 	int	enable)
  65510 {
  65511 	return bcm_trunk_override_mcast_set(
  65512 			BCM_CONTROL(unit)->unit,
  65513 			port,
  65514 			tid,
  65515 			idx,
  65516 			enable);
  65517 }
  65518 
  65519 int
  65520 bcm_loop_trunk_override_ucast_get(
  65521 	int	unit,
  65522 	bcm_port_t	port,
  65523 	bcm_trunk_t	tid,
  65524 	int	modid,
  65525 	int *	enable)
  65526 {
  65527 	return bcm_trunk_override_ucast_get(
  65528 			BCM_CONTROL(unit)->unit,
  65529 			port,
  65530 			tid,
  65531 			modid,
  65532 			enable);
  65533 }
  65534 
  65535 int
  65536 bcm_loop_trunk_override_ucast_set(
  65537 	int	unit,
  65538 	bcm_port_t	port,
  65539 	bcm_trunk_t	tid,
  65540 	int	modid,
  65541 	int	enable)
  65542 {
  65543 	return bcm_trunk_override_ucast_set(
  65544 			BCM_CONTROL(unit)->unit,
  65545 			port,
  65546 			tid,
  65547 			modid,
  65548 			enable);
  65549 }
  65550 
  65551 int
  65552 bcm_loop_trunk_override_vlan_get(
  65553 	int	unit,
  65554 	bcm_port_t	port,
  65555 	bcm_trunk_t	tid,
  65556 	bcm_vlan_t	vid,
  65557 	int *	enable)
  65558 {
  65559 	return bcm_trunk_override_vlan_get(
  65560 			BCM_CONTROL(unit)->unit,
  65561 			port,
  65562 			tid,
  65563 			vid,
  65564 			enable);
  65565 }
  65566 
  65567 int
  65568 bcm_loop_trunk_override_vlan_set(
  65569 	int	unit,
  65570 	bcm_port_t	port,
  65571 	bcm_trunk_t	tid,
  65572 	bcm_vlan_t	vid,
  65573 	int	enable)
  65574 {
  65575 	return bcm_trunk_override_vlan_set(
  65576 			BCM_CONTROL(unit)->unit,
  65577 			port,
  65578 			tid,
  65579 			vid,
  65580 			enable);
  65581 }
  65582 
  65583 int
  65584 bcm_loop_trunk_pool_get(
  65585 	int	unit,
  65586 	bcm_port_t	port,
  65587 	bcm_trunk_t	tid,
  65588 	int *	size,
  65589 	int	weights[BCM_TRUNK_MAX_PORTCNT])
  65590 {
  65591 	return bcm_trunk_pool_get(
  65592 			BCM_CONTROL(unit)->unit,
  65593 			port,
  65594 			tid,
  65595 			size,
  65596 			weights);
  65597 }
  65598 
  65599 int
  65600 bcm_loop_trunk_pool_set(
  65601 	int	unit,
  65602 	bcm_port_t	port,
  65603 	bcm_trunk_t	tid,
  65604 	int	size,
  65605 	const int	weights[BCM_TRUNK_MAX_PORTCNT])
  65606 {
  65607 	return bcm_trunk_pool_set(
  65608 			BCM_CONTROL(unit)->unit,
  65609 			port,
  65610 			tid,
  65611 			size,
  65612 			weights);
  65613 }
  65614 
  65615 int
  65616 bcm_loop_trunk_pp_port_allocation_get(
  65617 	int	unit,
  65618 	bcm_trunk_t	trunk_id,
  65619 	uint32	flags,
  65620 	bcm_trunk_pp_port_allocation_info_t *	allocation_info)
  65621 {
  65622 	return bcm_trunk_pp_port_allocation_get(
  65623 			BCM_CONTROL(unit)->unit,
  65624 			trunk_id,
  65625 			flags,
  65626 			allocation_info);
  65627 }
  65628 
  65629 /* bcm_trunk_pp_port_allocation_info_t_init not dispatchable */
  65630 
  65631 int
  65632 bcm_loop_trunk_pp_port_allocation_set(
  65633 	int	unit,
  65634 	bcm_trunk_t	trunk_id,
  65635 	uint32	flags,
  65636 	bcm_trunk_pp_port_allocation_info_t *	allocation_info)
  65637 {
  65638 	return bcm_trunk_pp_port_allocation_set(
  65639 			BCM_CONTROL(unit)->unit,
  65640 			trunk_id,
  65641 			flags,
  65642 			allocation_info);
  65643 }
  65644 
  65645 int
  65646 bcm_loop_trunk_psc_get(
  65647 	int	unit,
  65648 	bcm_trunk_t	tid,
  65649 	int *	psc)
  65650 {
  65651 	return bcm_trunk_psc_get(
  65652 			BCM_CONTROL(unit)->unit,
  65653 			tid,
  65654 			psc);
  65655 }
  65656 
  65657 int
  65658 bcm_loop_trunk_psc_set(
  65659 	int	unit,
  65660 	bcm_trunk_t	tid,
  65661 	int	psc)
  65662 {
  65663 	return bcm_trunk_psc_set(
  65664 			BCM_CONTROL(unit)->unit,
  65665 			tid,
  65666 			psc);
  65667 }
  65668 
  65669 int
  65670 bcm_loop_trunk_resilient_replace(
  65671 	int	unit,
  65672 	uint32	flags,
  65673 	bcm_trunk_resilient_entry_t *	match_entry,
  65674 	int *	num_entries,
  65675 	bcm_trunk_resilient_entry_t *	replace_entry)
  65676 {
  65677 	return bcm_trunk_resilient_replace(
  65678 			BCM_CONTROL(unit)->unit,
  65679 			flags,
  65680 			match_entry,
  65681 			num_entries,
  65682 			replace_entry);
  65683 }
  65684 
  65685 int
  65686 bcm_loop_trunk_resilient_traverse(
  65687 	int	unit,
  65688 	uint32	flags,
  65689 	bcm_trunk_resilient_entry_t *	match_entry,
  65690 	bcm_trunk_resilient_traverse_cb	trav_fn,
  65691 	void *	user_data)
  65692 {
  65693 	return bcm_trunk_resilient_traverse(
  65694 			BCM_CONTROL(unit)->unit,
  65695 			flags,
  65696 			match_entry,
  65697 			trav_fn,
  65698 			user_data);
  65699 }
  65700 
  65701 int
  65702 bcm_loop_trunk_set(
  65703 	int	unit,
  65704 	bcm_trunk_t	tid,
  65705 	bcm_trunk_info_t *	trunk_info,
  65706 	int	member_count,
  65707 	bcm_trunk_member_t *	member_array)
  65708 {
  65709 	return bcm_trunk_set(
  65710 			BCM_CONTROL(unit)->unit,
  65711 			tid,
  65712 			trunk_info,
  65713 			member_count,
  65714 			member_array);
  65715 }
  65716 
  65717 int
  65718 bcm_loop_trunk_spa_to_system_phys_port_map_get(
  65719 	int	unit,
  65720 	uint32	flags,
  65721 	uint32	system_port_aggregate,
  65722 	bcm_gport_t *	gport)
  65723 {
  65724 	return bcm_trunk_spa_to_system_phys_port_map_get(
  65725 			BCM_CONTROL(unit)->unit,
  65726 			flags,
  65727 			system_port_aggregate,
  65728 			gport);
  65729 }
  65730 
  65731 int
  65732 bcm_loop_trunk_vplag_get(
  65733 	int	unit,
  65734 	bcm_trunk_t	tid,
  65735 	bcm_gport_t *	vplag_port_id)
  65736 {
  65737 	return bcm_trunk_vplag_get(
  65738 			BCM_CONTROL(unit)->unit,
  65739 			tid,
  65740 			vplag_port_id);
  65741 }
  65742 
  65743 int
  65744 bcm_loop_trunk_with_vplag_create(
  65745 	int	unit,
  65746 	uint32	flags,
  65747 	bcm_trunk_t *	tid,
  65748 	bcm_gport_t *	vplag_port_id)
  65749 {
  65750 	return bcm_trunk_with_vplag_create(
  65751 			BCM_CONTROL(unit)->unit,
  65752 			flags,
  65753 			tid,
  65754 			vplag_port_id);
  65755 }
  65756 
  65757 int
  65758 bcm_loop_tsn_control_get(
  65759 	int	unit,
  65760 	bcm_tsn_control_t	type,
  65761 	uint32 *	arg)
  65762 {
  65763 	return bcm_tsn_control_get(
  65764 			BCM_CONTROL(unit)->unit,
  65765 			type,
  65766 			arg);
  65767 }
  65768 
  65769 int
  65770 bcm_loop_tsn_control_set(
  65771 	int	unit,
  65772 	bcm_tsn_control_t	type,
  65773 	uint32	arg)
  65774 {
  65775 	return bcm_tsn_control_set(
  65776 			BCM_CONTROL(unit)->unit,
  65777 			type,
  65778 			arg);
  65779 }
  65780 
  65781 int
  65782 bcm_loop_tsn_detach(
  65783 	int	unit)
  65784 {
  65785 	return bcm_tsn_detach(
  65786 			BCM_CONTROL(unit)->unit);
  65787 }
  65788 
  65789 int
  65790 bcm_loop_tsn_event_notification_traverse(
  65791 	int	unit,
  65792 	bcm_tsn_event_notification_traverse_cb	cb,
  65793 	void *	user_data)
  65794 {
  65795 	return bcm_tsn_event_notification_traverse(
  65796 			BCM_CONTROL(unit)->unit,
  65797 			cb,
  65798 			user_data);
  65799 }
  65800 
  65801 int
  65802 bcm_loop_tsn_event_register(
  65803 	int	unit,
  65804 	bcm_tsn_event_type_t	event,
  65805 	bcm_tsn_event_source_t *	src,
  65806 	bcm_tsn_event_cb	cb,
  65807 	void *	user_data)
  65808 {
  65809 	return bcm_tsn_event_register(
  65810 			BCM_CONTROL(unit)->unit,
  65811 			event,
  65812 			src,
  65813 			cb,
  65814 			user_data);
  65815 }
  65816 
  65817 /* bcm_tsn_event_source_t_init not dispatchable */
  65818 
  65819 int
  65820 bcm_loop_tsn_event_unregister(
  65821 	int	unit,
  65822 	bcm_tsn_event_type_t	event,
  65823 	bcm_tsn_event_source_t *	src,
  65824 	bcm_tsn_event_cb	cb)
  65825 {
  65826 	return bcm_tsn_event_unregister(
  65827 			BCM_CONTROL(unit)->unit,
  65828 			event,
  65829 			src,
  65830 			cb);
  65831 }
  65832 
  65833 int
  65834 bcm_loop_tsn_flow_config_get(
  65835 	int	unit,
  65836 	bcm_tsn_flow_t	flow_id,
  65837 	bcm_tsn_flow_config_t *	config)
  65838 {
  65839 	return bcm_tsn_flow_config_get(
  65840 			BCM_CONTROL(unit)->unit,
  65841 			flow_id,
  65842 			config);
  65843 }
  65844 
  65845 int
  65846 bcm_loop_tsn_flow_config_set(
  65847 	int	unit,
  65848 	bcm_tsn_flow_t	flow_id,
  65849 	bcm_tsn_flow_config_t *	config)
  65850 {
  65851 	return bcm_tsn_flow_config_set(
  65852 			BCM_CONTROL(unit)->unit,
  65853 			flow_id,
  65854 			config);
  65855 }
  65856 
  65857 /* bcm_tsn_flow_config_t_init not dispatchable */
  65858 
  65859 int
  65860 bcm_loop_tsn_flowset_config_get(
  65861 	int	unit,
  65862 	bcm_tsn_flowset_t	flowset,
  65863 	bcm_tsn_pri_map_t *	pri_map,
  65864 	bcm_tsn_flow_config_t *	default_config)
  65865 {
  65866 	return bcm_tsn_flowset_config_get(
  65867 			BCM_CONTROL(unit)->unit,
  65868 			flowset,
  65869 			pri_map,
  65870 			default_config);
  65871 }
  65872 
  65873 int
  65874 bcm_loop_tsn_flowset_create(
  65875 	int	unit,
  65876 	bcm_tsn_pri_map_t	pri_map,
  65877 	bcm_tsn_flow_config_t *	default_config,
  65878 	bcm_tsn_flowset_t *	flowset)
  65879 {
  65880 	return bcm_tsn_flowset_create(
  65881 			BCM_CONTROL(unit)->unit,
  65882 			pri_map,
  65883 			default_config,
  65884 			flowset);
  65885 }
  65886 
  65887 int
  65888 bcm_loop_tsn_flowset_destroy(
  65889 	int	unit,
  65890 	bcm_tsn_flowset_t	flowset)
  65891 {
  65892 	return bcm_tsn_flowset_destroy(
  65893 			BCM_CONTROL(unit)->unit,
  65894 			flowset);
  65895 }
  65896 
  65897 int
  65898 bcm_loop_tsn_flowset_flow_get(
  65899 	int	unit,
  65900 	bcm_tsn_flowset_t	flowset,
  65901 	int	index,
  65902 	bcm_tsn_flow_t *	flow_id)
  65903 {
  65904 	return bcm_tsn_flowset_flow_get(
  65905 			BCM_CONTROL(unit)->unit,
  65906 			flowset,
  65907 			index,
  65908 			flow_id);
  65909 }
  65910 
  65911 int
  65912 bcm_loop_tsn_flowset_status_get(
  65913 	int	unit,
  65914 	bcm_tsn_flowset_t	flowset,
  65915 	bcm_tsn_flowset_status_t *	status)
  65916 {
  65917 	return bcm_tsn_flowset_status_get(
  65918 			BCM_CONTROL(unit)->unit,
  65919 			flowset,
  65920 			status);
  65921 }
  65922 
  65923 /* bcm_tsn_flowset_status_t_init not dispatchable */
  65924 
  65925 int
  65926 bcm_loop_tsn_flowset_traverse(
  65927 	int	unit,
  65928 	bcm_tsn_flowset_traverse_cb	cb,
  65929 	void *	user_data)
  65930 {
  65931 	return bcm_tsn_flowset_traverse(
  65932 			BCM_CONTROL(unit)->unit,
  65933 			cb,
  65934 			user_data);
  65935 }
  65936 
  65937 int
  65938 bcm_loop_tsn_ingress_mtu_config_get(
  65939 	int	unit,
  65940 	bcm_tsn_ingress_mtu_config_t *	config)
  65941 {
  65942 	return bcm_tsn_ingress_mtu_config_get(
  65943 			BCM_CONTROL(unit)->unit,
  65944 			config);
  65945 }
  65946 
  65947 int
  65948 bcm_loop_tsn_ingress_mtu_config_set(
  65949 	int	unit,
  65950 	bcm_tsn_ingress_mtu_config_t *	config)
  65951 {
  65952 	return bcm_tsn_ingress_mtu_config_set(
  65953 			BCM_CONTROL(unit)->unit,
  65954 			config);
  65955 }
  65956 
  65957 /* bcm_tsn_ingress_mtu_config_t_init not dispatchable */
  65958 
  65959 int
  65960 bcm_loop_tsn_ingress_stu_config_get(
  65961 	int	unit,
  65962 	bcm_tsn_ingress_stu_config_t *	config)
  65963 {
  65964 	return bcm_tsn_ingress_stu_config_get(
  65965 			BCM_CONTROL(unit)->unit,
  65966 			config);
  65967 }
  65968 
  65969 int
  65970 bcm_loop_tsn_ingress_stu_config_set(
  65971 	int	unit,
  65972 	bcm_tsn_ingress_stu_config_t *	config)
  65973 {
  65974 	return bcm_tsn_ingress_stu_config_set(
  65975 			BCM_CONTROL(unit)->unit,
  65976 			config);
  65977 }
  65978 
  65979 /* bcm_tsn_ingress_stu_config_t_init not dispatchable */
  65980 
  65981 int
  65982 bcm_loop_tsn_init(
  65983 	int	unit)
  65984 {
  65985 	return bcm_tsn_init(
  65986 			BCM_CONTROL(unit)->unit);
  65987 }
  65988 
  65989 /* bcm_tsn_mtu_config_t_init not dispatchable */
  65990 
  65991 int
  65992 bcm_loop_tsn_mtu_profile_create(
  65993 	int	unit,
  65994 	bcm_tsn_mtu_profile_type_t	type,
  65995 	bcm_tsn_mtu_config_t *	config,
  65996 	int *	mtu_profile_id)
  65997 {
  65998 	return bcm_tsn_mtu_profile_create(
  65999 			BCM_CONTROL(unit)->unit,
  66000 			type,
  66001 			config,
  66002 			mtu_profile_id);
  66003 }
  66004 
  66005 int
  66006 bcm_loop_tsn_mtu_profile_destroy(
  66007 	int	unit,
  66008 	int	mtu_profile_id)
  66009 {
  66010 	return bcm_tsn_mtu_profile_destroy(
  66011 			BCM_CONTROL(unit)->unit,
  66012 			mtu_profile_id);
  66013 }
  66014 
  66015 int
  66016 bcm_loop_tsn_mtu_profile_get(
  66017 	int	unit,
  66018 	int	mtu_profile_id,
  66019 	bcm_tsn_mtu_profile_type_t *	type,
  66020 	bcm_tsn_mtu_config_t *	config)
  66021 {
  66022 	return bcm_tsn_mtu_profile_get(
  66023 			BCM_CONTROL(unit)->unit,
  66024 			mtu_profile_id,
  66025 			type,
  66026 			config);
  66027 }
  66028 
  66029 int
  66030 bcm_loop_tsn_mtu_profile_set(
  66031 	int	unit,
  66032 	int	mtu_profile_id,
  66033 	bcm_tsn_mtu_config_t *	config)
  66034 {
  66035 	return bcm_tsn_mtu_profile_set(
  66036 			BCM_CONTROL(unit)->unit,
  66037 			mtu_profile_id,
  66038 			config);
  66039 }
  66040 
  66041 int
  66042 bcm_loop_tsn_mtu_profile_traverse(
  66043 	int	unit,
  66044 	bcm_tsn_mtu_profile_traverse_cb	cb,
  66045 	void *	user_data)
  66046 {
  66047 	return bcm_tsn_mtu_profile_traverse(
  66048 			BCM_CONTROL(unit)->unit,
  66049 			cb,
  66050 			user_data);
  66051 }
  66052 
  66053 int
  66054 bcm_loop_tsn_port_control_get(
  66055 	int	unit,
  66056 	bcm_gport_t	port,
  66057 	bcm_tsn_control_t	type,
  66058 	uint32 *	arg)
  66059 {
  66060 	return bcm_tsn_port_control_get(
  66061 			BCM_CONTROL(unit)->unit,
  66062 			port,
  66063 			type,
  66064 			arg);
  66065 }
  66066 
  66067 int
  66068 bcm_loop_tsn_port_control_set(
  66069 	int	unit,
  66070 	bcm_gport_t	port,
  66071 	bcm_tsn_control_t	type,
  66072 	uint32	arg)
  66073 {
  66074 	return bcm_tsn_port_control_set(
  66075 			BCM_CONTROL(unit)->unit,
  66076 			port,
  66077 			type,
  66078 			arg);
  66079 }
  66080 
  66081 int
  66082 bcm_loop_tsn_port_stat_get(
  66083 	int	unit,
  66084 	bcm_gport_t	port,
  66085 	bcm_tsn_stat_t	stat,
  66086 	uint64 *	val)
  66087 {
  66088 	return bcm_tsn_port_stat_get(
  66089 			BCM_CONTROL(unit)->unit,
  66090 			port,
  66091 			stat,
  66092 			val);
  66093 }
  66094 
  66095 int
  66096 bcm_loop_tsn_port_stat_get32(
  66097 	int	unit,
  66098 	bcm_gport_t	port,
  66099 	bcm_tsn_stat_t	stat,
  66100 	uint32 *	val)
  66101 {
  66102 	return bcm_tsn_port_stat_get32(
  66103 			BCM_CONTROL(unit)->unit,
  66104 			port,
  66105 			stat,
  66106 			val);
  66107 }
  66108 
  66109 int
  66110 bcm_loop_tsn_port_stat_multi_get(
  66111 	int	unit,
  66112 	bcm_gport_t	port,
  66113 	int	nstat,
  66114 	bcm_tsn_stat_t *	stat_arr,
  66115 	uint64 *	value_arr)
  66116 {
  66117 	return bcm_tsn_port_stat_multi_get(
  66118 			BCM_CONTROL(unit)->unit,
  66119 			port,
  66120 			nstat,
  66121 			stat_arr,
  66122 			value_arr);
  66123 }
  66124 
  66125 int
  66126 bcm_loop_tsn_port_stat_multi_get32(
  66127 	int	unit,
  66128 	bcm_gport_t	port,
  66129 	int	nstat,
  66130 	bcm_tsn_stat_t *	stat_arr,
  66131 	uint32 *	value_arr)
  66132 {
  66133 	return bcm_tsn_port_stat_multi_get32(
  66134 			BCM_CONTROL(unit)->unit,
  66135 			port,
  66136 			nstat,
  66137 			stat_arr,
  66138 			value_arr);
  66139 }
  66140 
  66141 int
  66142 bcm_loop_tsn_port_stat_multi_set(
  66143 	int	unit,
  66144 	bcm_gport_t	port,
  66145 	int	nstat,
  66146 	bcm_tsn_stat_t *	stat_arr,
  66147 	uint64 *	value_arr)
  66148 {
  66149 	return bcm_tsn_port_stat_multi_set(
  66150 			BCM_CONTROL(unit)->unit,
  66151 			port,
  66152 			nstat,
  66153 			stat_arr,
  66154 			value_arr);
  66155 }
  66156 
  66157 int
  66158 bcm_loop_tsn_port_stat_multi_set32(
  66159 	int	unit,
  66160 	bcm_gport_t	port,
  66161 	int	nstat,
  66162 	bcm_tsn_stat_t *	stat_arr,
  66163 	uint32 *	value_arr)
  66164 {
  66165 	return bcm_tsn_port_stat_multi_set32(
  66166 			BCM_CONTROL(unit)->unit,
  66167 			port,
  66168 			nstat,
  66169 			stat_arr,
  66170 			value_arr);
  66171 }
  66172 
  66173 int
  66174 bcm_loop_tsn_port_stat_set(
  66175 	int	unit,
  66176 	bcm_gport_t	port,
  66177 	bcm_tsn_stat_t	stat,
  66178 	uint64	val)
  66179 {
  66180 	return bcm_tsn_port_stat_set(
  66181 			BCM_CONTROL(unit)->unit,
  66182 			port,
  66183 			stat,
  66184 			val);
  66185 }
  66186 
  66187 int
  66188 bcm_loop_tsn_port_stat_set32(
  66189 	int	unit,
  66190 	bcm_gport_t	port,
  66191 	bcm_tsn_stat_t	stat,
  66192 	uint32	val)
  66193 {
  66194 	return bcm_tsn_port_stat_set32(
  66195 			BCM_CONTROL(unit)->unit,
  66196 			port,
  66197 			stat,
  66198 			val);
  66199 }
  66200 
  66201 int
  66202 bcm_loop_tsn_port_stat_sync_get(
  66203 	int	unit,
  66204 	bcm_gport_t	port,
  66205 	bcm_tsn_stat_t	stat,
  66206 	uint64 *	val)
  66207 {
  66208 	return bcm_tsn_port_stat_sync_get(
  66209 			BCM_CONTROL(unit)->unit,
  66210 			port,
  66211 			stat,
  66212 			val);
  66213 }
  66214 
  66215 int
  66216 bcm_loop_tsn_port_stat_sync_get32(
  66217 	int	unit,
  66218 	bcm_gport_t	port,
  66219 	bcm_tsn_stat_t	stat,
  66220 	uint32 *	val)
  66221 {
  66222 	return bcm_tsn_port_stat_sync_get32(
  66223 			BCM_CONTROL(unit)->unit,
  66224 			port,
  66225 			stat,
  66226 			val);
  66227 }
  66228 
  66229 int
  66230 bcm_loop_tsn_port_stat_sync_multi_get(
  66231 	int	unit,
  66232 	bcm_gport_t	port,
  66233 	int	nstat,
  66234 	bcm_tsn_stat_t *	stat_arr,
  66235 	uint64 *	value_arr)
  66236 {
  66237 	return bcm_tsn_port_stat_sync_multi_get(
  66238 			BCM_CONTROL(unit)->unit,
  66239 			port,
  66240 			nstat,
  66241 			stat_arr,
  66242 			value_arr);
  66243 }
  66244 
  66245 int
  66246 bcm_loop_tsn_port_stat_sync_multi_get32(
  66247 	int	unit,
  66248 	bcm_gport_t	port,
  66249 	int	nstat,
  66250 	bcm_tsn_stat_t *	stat_arr,
  66251 	uint32 *	value_arr)
  66252 {
  66253 	return bcm_tsn_port_stat_sync_multi_get32(
  66254 			BCM_CONTROL(unit)->unit,
  66255 			port,
  66256 			nstat,
  66257 			stat_arr,
  66258 			value_arr);
  66259 }
  66260 
  66261 /* bcm_tsn_pri_map_config_t_init not dispatchable */
  66262 
  66263 int
  66264 bcm_loop_tsn_pri_map_create(
  66265 	int	unit,
  66266 	bcm_tsn_pri_map_config_t *	config,
  66267 	bcm_tsn_pri_map_t *	map_id)
  66268 {
  66269 	return bcm_tsn_pri_map_create(
  66270 			BCM_CONTROL(unit)->unit,
  66271 			config,
  66272 			map_id);
  66273 }
  66274 
  66275 int
  66276 bcm_loop_tsn_pri_map_destroy(
  66277 	int	unit,
  66278 	bcm_tsn_pri_map_t	map_id)
  66279 {
  66280 	return bcm_tsn_pri_map_destroy(
  66281 			BCM_CONTROL(unit)->unit,
  66282 			map_id);
  66283 }
  66284 
  66285 /* bcm_tsn_pri_map_entry_t_init not dispatchable */
  66286 
  66287 int
  66288 bcm_loop_tsn_pri_map_get(
  66289 	int	unit,
  66290 	bcm_tsn_pri_map_t	map_id,
  66291 	bcm_tsn_pri_map_config_t *	config)
  66292 {
  66293 	return bcm_tsn_pri_map_get(
  66294 			BCM_CONTROL(unit)->unit,
  66295 			map_id,
  66296 			config);
  66297 }
  66298 
  66299 int
  66300 bcm_loop_tsn_pri_map_set(
  66301 	int	unit,
  66302 	bcm_tsn_pri_map_t	map_id,
  66303 	bcm_tsn_pri_map_config_t *	config)
  66304 {
  66305 	return bcm_tsn_pri_map_set(
  66306 			BCM_CONTROL(unit)->unit,
  66307 			map_id,
  66308 			config);
  66309 }
  66310 
  66311 int
  66312 bcm_loop_tsn_pri_map_traverse(
  66313 	int	unit,
  66314 	bcm_tsn_pri_map_traverse_cb	cb,
  66315 	void *	user_data)
  66316 {
  66317 	return bcm_tsn_pri_map_traverse(
  66318 			BCM_CONTROL(unit)->unit,
  66319 			cb,
  66320 			user_data);
  66321 }
  66322 
  66323 /* bcm_tsn_sr_auto_learn_config_t_init not dispatchable */
  66324 
  66325 int
  66326 bcm_loop_tsn_sr_auto_learn_enable(
  66327 	int	unit,
  66328 	int	enable,
  66329 	bcm_tsn_sr_auto_learn_config_t *	config)
  66330 {
  66331 	return bcm_tsn_sr_auto_learn_enable(
  66332 			BCM_CONTROL(unit)->unit,
  66333 			enable,
  66334 			config);
  66335 }
  66336 
  66337 int
  66338 bcm_loop_tsn_sr_auto_learn_enable_get(
  66339 	int	unit,
  66340 	int *	enabled,
  66341 	bcm_tsn_sr_auto_learn_config_t *	config)
  66342 {
  66343 	return bcm_tsn_sr_auto_learn_enable_get(
  66344 			BCM_CONTROL(unit)->unit,
  66345 			enabled,
  66346 			config);
  66347 }
  66348 
  66349 /* bcm_tsn_sr_auto_learn_group_config_t_init not dispatchable */
  66350 
  66351 int
  66352 bcm_loop_tsn_sr_auto_learn_group_create(
  66353 	int	unit,
  66354 	bcm_tsn_sr_auto_learn_group_config_t *	config,
  66355 	int *	group_id)
  66356 {
  66357 	return bcm_tsn_sr_auto_learn_group_create(
  66358 			BCM_CONTROL(unit)->unit,
  66359 			config,
  66360 			group_id);
  66361 }
  66362 
  66363 int
  66364 bcm_loop_tsn_sr_auto_learn_group_destroy(
  66365 	int	unit,
  66366 	int	group_id)
  66367 {
  66368 	return bcm_tsn_sr_auto_learn_group_destroy(
  66369 			BCM_CONTROL(unit)->unit,
  66370 			group_id);
  66371 }
  66372 
  66373 int
  66374 bcm_loop_tsn_sr_auto_learn_group_get(
  66375 	int	unit,
  66376 	int	group_id,
  66377 	bcm_tsn_sr_auto_learn_group_config_t *	config)
  66378 {
  66379 	return bcm_tsn_sr_auto_learn_group_get(
  66380 			BCM_CONTROL(unit)->unit,
  66381 			group_id,
  66382 			config);
  66383 }
  66384 
  66385 int
  66386 bcm_loop_tsn_sr_auto_learn_group_set(
  66387 	int	unit,
  66388 	int	group_id,
  66389 	bcm_tsn_sr_auto_learn_group_config_t *	config)
  66390 {
  66391 	return bcm_tsn_sr_auto_learn_group_set(
  66392 			BCM_CONTROL(unit)->unit,
  66393 			group_id,
  66394 			config);
  66395 }
  66396 
  66397 int
  66398 bcm_loop_tsn_sr_auto_learn_group_traverse(
  66399 	int	unit,
  66400 	bcm_tsn_sr_auto_learn_group_traverse_cb	cb,
  66401 	void *	user_data)
  66402 {
  66403 	return bcm_tsn_sr_auto_learn_group_traverse(
  66404 			BCM_CONTROL(unit)->unit,
  66405 			cb,
  66406 			user_data);
  66407 }
  66408 
  66409 int
  66410 bcm_loop_tsn_sr_flow_stat_get(
  66411 	int	unit,
  66412 	bcm_tsn_sr_flow_t	flow,
  66413 	bcm_tsn_stat_t	stat,
  66414 	uint64 *	val)
  66415 {
  66416 	return bcm_tsn_sr_flow_stat_get(
  66417 			BCM_CONTROL(unit)->unit,
  66418 			flow,
  66419 			stat,
  66420 			val);
  66421 }
  66422 
  66423 int
  66424 bcm_loop_tsn_sr_flow_stat_get32(
  66425 	int	unit,
  66426 	bcm_tsn_sr_flow_t	flow,
  66427 	bcm_tsn_stat_t	stat,
  66428 	uint32 *	val)
  66429 {
  66430 	return bcm_tsn_sr_flow_stat_get32(
  66431 			BCM_CONTROL(unit)->unit,
  66432 			flow,
  66433 			stat,
  66434 			val);
  66435 }
  66436 
  66437 int
  66438 bcm_loop_tsn_sr_flow_stat_group_get(
  66439 	int	unit,
  66440 	bcm_tsn_sr_flow_t	flow,
  66441 	bcm_tsn_stat_group_type_t	group_type,
  66442 	bcm_tsn_stat_group_t *	stat_group)
  66443 {
  66444 	return bcm_tsn_sr_flow_stat_group_get(
  66445 			BCM_CONTROL(unit)->unit,
  66446 			flow,
  66447 			group_type,
  66448 			stat_group);
  66449 }
  66450 
  66451 int
  66452 bcm_loop_tsn_sr_flow_stat_group_set(
  66453 	int	unit,
  66454 	bcm_tsn_sr_flow_t	flow,
  66455 	bcm_tsn_stat_group_type_t	group_type,
  66456 	bcm_tsn_stat_group_t	stat_group)
  66457 {
  66458 	return bcm_tsn_sr_flow_stat_group_set(
  66459 			BCM_CONTROL(unit)->unit,
  66460 			flow,
  66461 			group_type,
  66462 			stat_group);
  66463 }
  66464 
  66465 int
  66466 bcm_loop_tsn_sr_flow_stat_multi_get(
  66467 	int	unit,
  66468 	bcm_tsn_sr_flow_t	flow,
  66469 	int	nstat,
  66470 	bcm_tsn_stat_t *	stat_arr,
  66471 	uint64 *	value_arr)
  66472 {
  66473 	return bcm_tsn_sr_flow_stat_multi_get(
  66474 			BCM_CONTROL(unit)->unit,
  66475 			flow,
  66476 			nstat,
  66477 			stat_arr,
  66478 			value_arr);
  66479 }
  66480 
  66481 int
  66482 bcm_loop_tsn_sr_flow_stat_multi_get32(
  66483 	int	unit,
  66484 	bcm_tsn_sr_flow_t	flow,
  66485 	int	nstat,
  66486 	bcm_tsn_stat_t *	stat_arr,
  66487 	uint32 *	value_arr)
  66488 {
  66489 	return bcm_tsn_sr_flow_stat_multi_get32(
  66490 			BCM_CONTROL(unit)->unit,
  66491 			flow,
  66492 			nstat,
  66493 			stat_arr,
  66494 			value_arr);
  66495 }
  66496 
  66497 int
  66498 bcm_loop_tsn_sr_flow_stat_multi_set(
  66499 	int	unit,
  66500 	bcm_tsn_sr_flow_t	flow,
  66501 	int	nstat,
  66502 	bcm_tsn_stat_t *	stat_arr,
  66503 	uint64 *	value_arr)
  66504 {
  66505 	return bcm_tsn_sr_flow_stat_multi_set(
  66506 			BCM_CONTROL(unit)->unit,
  66507 			flow,
  66508 			nstat,
  66509 			stat_arr,
  66510 			value_arr);
  66511 }
  66512 
  66513 int
  66514 bcm_loop_tsn_sr_flow_stat_multi_set32(
  66515 	int	unit,
  66516 	bcm_tsn_sr_flow_t	flow,
  66517 	int	nstat,
  66518 	bcm_tsn_stat_t *	stat_arr,
  66519 	uint32 *	value_arr)
  66520 {
  66521 	return bcm_tsn_sr_flow_stat_multi_set32(
  66522 			BCM_CONTROL(unit)->unit,
  66523 			flow,
  66524 			nstat,
  66525 			stat_arr,
  66526 			value_arr);
  66527 }
  66528 
  66529 int
  66530 bcm_loop_tsn_sr_flow_stat_set(
  66531 	int	unit,
  66532 	bcm_tsn_sr_flow_t	flow,
  66533 	bcm_tsn_stat_t	stat,
  66534 	uint64	val)
  66535 {
  66536 	return bcm_tsn_sr_flow_stat_set(
  66537 			BCM_CONTROL(unit)->unit,
  66538 			flow,
  66539 			stat,
  66540 			val);
  66541 }
  66542 
  66543 int
  66544 bcm_loop_tsn_sr_flow_stat_set32(
  66545 	int	unit,
  66546 	bcm_tsn_sr_flow_t	flow,
  66547 	bcm_tsn_stat_t	stat,
  66548 	uint32	val)
  66549 {
  66550 	return bcm_tsn_sr_flow_stat_set32(
  66551 			BCM_CONTROL(unit)->unit,
  66552 			flow,
  66553 			stat,
  66554 			val);
  66555 }
  66556 
  66557 int
  66558 bcm_loop_tsn_sr_flow_stat_sync_get(
  66559 	int	unit,
  66560 	bcm_tsn_sr_flow_t	flow,
  66561 	bcm_tsn_stat_t	stat,
  66562 	uint64 *	val)
  66563 {
  66564 	return bcm_tsn_sr_flow_stat_sync_get(
  66565 			BCM_CONTROL(unit)->unit,
  66566 			flow,
  66567 			stat,
  66568 			val);
  66569 }
  66570 
  66571 int
  66572 bcm_loop_tsn_sr_flow_stat_sync_get32(
  66573 	int	unit,
  66574 	bcm_tsn_sr_flow_t	flow,
  66575 	bcm_tsn_stat_t	stat,
  66576 	uint32 *	val)
  66577 {
  66578 	return bcm_tsn_sr_flow_stat_sync_get32(
  66579 			BCM_CONTROL(unit)->unit,
  66580 			flow,
  66581 			stat,
  66582 			val);
  66583 }
  66584 
  66585 int
  66586 bcm_loop_tsn_sr_flow_stat_sync_multi_get(
  66587 	int	unit,
  66588 	bcm_tsn_sr_flow_t	flow,
  66589 	int	nstat,
  66590 	bcm_tsn_stat_t *	stat_arr,
  66591 	uint64 *	value_arr)
  66592 {
  66593 	return bcm_tsn_sr_flow_stat_sync_multi_get(
  66594 			BCM_CONTROL(unit)->unit,
  66595 			flow,
  66596 			nstat,
  66597 			stat_arr,
  66598 			value_arr);
  66599 }
  66600 
  66601 int
  66602 bcm_loop_tsn_sr_flow_stat_sync_multi_get32(
  66603 	int	unit,
  66604 	bcm_tsn_sr_flow_t	flow,
  66605 	int	nstat,
  66606 	bcm_tsn_stat_t *	stat_arr,
  66607 	uint32 *	value_arr)
  66608 {
  66609 	return bcm_tsn_sr_flow_stat_sync_multi_get32(
  66610 			BCM_CONTROL(unit)->unit,
  66611 			flow,
  66612 			nstat,
  66613 			stat_arr,
  66614 			value_arr);
  66615 }
  66616 
  66617 int
  66618 bcm_loop_tsn_sr_flowset_destroy(
  66619 	int	unit,
  66620 	bcm_tsn_sr_flowset_t	flowset)
  66621 {
  66622 	return bcm_tsn_sr_flowset_destroy(
  66623 			BCM_CONTROL(unit)->unit,
  66624 			flowset);
  66625 }
  66626 
  66627 int
  66628 bcm_loop_tsn_sr_flowset_flow_get(
  66629 	int	unit,
  66630 	bcm_tsn_sr_flowset_t	flowset,
  66631 	int	index,
  66632 	bcm_tsn_sr_flow_t *	flow_id)
  66633 {
  66634 	return bcm_tsn_sr_flowset_flow_get(
  66635 			BCM_CONTROL(unit)->unit,
  66636 			flowset,
  66637 			index,
  66638 			flow_id);
  66639 }
  66640 
  66641 int
  66642 bcm_loop_tsn_sr_flowset_status_get(
  66643 	int	unit,
  66644 	bcm_tsn_sr_flowset_t	flowset,
  66645 	bcm_tsn_sr_flowset_status_t *	status)
  66646 {
  66647 	return bcm_tsn_sr_flowset_status_get(
  66648 			BCM_CONTROL(unit)->unit,
  66649 			flowset,
  66650 			status);
  66651 }
  66652 
  66653 /* bcm_tsn_sr_flowset_status_t_init not dispatchable */
  66654 
  66655 int
  66656 bcm_loop_tsn_sr_flowset_traverse(
  66657 	int	unit,
  66658 	int	is_rx,
  66659 	bcm_tsn_sr_flowset_traverse_cb	cb,
  66660 	void *	user_data)
  66661 {
  66662 	return bcm_tsn_sr_flowset_traverse(
  66663 			BCM_CONTROL(unit)->unit,
  66664 			is_rx,
  66665 			cb,
  66666 			user_data);
  66667 }
  66668 
  66669 int
  66670 bcm_loop_tsn_sr_port_config_get(
  66671 	int	unit,
  66672 	bcm_gport_t	port,
  66673 	bcm_tsn_sr_port_config_t *	config)
  66674 {
  66675 	return bcm_tsn_sr_port_config_get(
  66676 			BCM_CONTROL(unit)->unit,
  66677 			port,
  66678 			config);
  66679 }
  66680 
  66681 int
  66682 bcm_loop_tsn_sr_port_config_set(
  66683 	int	unit,
  66684 	bcm_gport_t	port,
  66685 	bcm_tsn_sr_port_config_t *	config)
  66686 {
  66687 	return bcm_tsn_sr_port_config_set(
  66688 			BCM_CONTROL(unit)->unit,
  66689 			port,
  66690 			config);
  66691 }
  66692 
  66693 /* bcm_tsn_sr_port_config_t_init not dispatchable */
  66694 
  66695 int
  66696 bcm_loop_tsn_sr_rx_flow_config_get(
  66697 	int	unit,
  66698 	bcm_tsn_sr_flow_t	flow_id,
  66699 	bcm_tsn_sr_rx_flow_config_t *	config)
  66700 {
  66701 	return bcm_tsn_sr_rx_flow_config_get(
  66702 			BCM_CONTROL(unit)->unit,
  66703 			flow_id,
  66704 			config);
  66705 }
  66706 
  66707 int
  66708 bcm_loop_tsn_sr_rx_flow_config_set(
  66709 	int	unit,
  66710 	bcm_tsn_sr_flow_t	flow_id,
  66711 	bcm_tsn_sr_rx_flow_config_t *	config)
  66712 {
  66713 	return bcm_tsn_sr_rx_flow_config_set(
  66714 			BCM_CONTROL(unit)->unit,
  66715 			flow_id,
  66716 			config);
  66717 }
  66718 
  66719 /* bcm_tsn_sr_rx_flow_config_t_init not dispatchable */
  66720 
  66721 int
  66722 bcm_loop_tsn_sr_rx_flow_reset(
  66723 	int	unit,
  66724 	uint32	flags,
  66725 	bcm_tsn_sr_flow_t	flow_id)
  66726 {
  66727 	return bcm_tsn_sr_rx_flow_reset(
  66728 			BCM_CONTROL(unit)->unit,
  66729 			flags,
  66730 			flow_id);
  66731 }
  66732 
  66733 int
  66734 bcm_loop_tsn_sr_rx_flow_seqnum_history_get(
  66735 	int	unit,
  66736 	bcm_tsn_sr_flow_t	flow_id,
  66737 	int	offset_in_bits,
  66738 	int	max_size_in_bits,
  66739 	uint8 *	history_bits,
  66740 	int *	actual_size_in_bits)
  66741 {
  66742 	return bcm_tsn_sr_rx_flow_seqnum_history_get(
  66743 			BCM_CONTROL(unit)->unit,
  66744 			flow_id,
  66745 			offset_in_bits,
  66746 			max_size_in_bits,
  66747 			history_bits,
  66748 			actual_size_in_bits);
  66749 }
  66750 
  66751 int
  66752 bcm_loop_tsn_sr_rx_flow_seqnum_history_set(
  66753 	int	unit,
  66754 	bcm_tsn_sr_flow_t	flow_id,
  66755 	int	offset_in_bits,
  66756 	int	size_in_bits,
  66757 	uint8 *	history_bits)
  66758 {
  66759 	return bcm_tsn_sr_rx_flow_seqnum_history_set(
  66760 			BCM_CONTROL(unit)->unit,
  66761 			flow_id,
  66762 			offset_in_bits,
  66763 			size_in_bits,
  66764 			history_bits);
  66765 }
  66766 
  66767 int
  66768 bcm_loop_tsn_sr_rx_flow_status_get(
  66769 	int	unit,
  66770 	bcm_tsn_sr_flow_t	flow_id,
  66771 	bcm_tsn_sr_rx_flow_status_t *	status)
  66772 {
  66773 	return bcm_tsn_sr_rx_flow_status_get(
  66774 			BCM_CONTROL(unit)->unit,
  66775 			flow_id,
  66776 			status);
  66777 }
  66778 
  66779 /* bcm_tsn_sr_rx_flow_status_t_init not dispatchable */
  66780 
  66781 int
  66782 bcm_loop_tsn_sr_rx_flowset_config_get(
  66783 	int	unit,
  66784 	bcm_tsn_sr_flowset_t	flowset,
  66785 	bcm_tsn_pri_map_t *	pri_map,
  66786 	bcm_tsn_sr_rx_flow_config_t *	default_config)
  66787 {
  66788 	return bcm_tsn_sr_rx_flowset_config_get(
  66789 			BCM_CONTROL(unit)->unit,
  66790 			flowset,
  66791 			pri_map,
  66792 			default_config);
  66793 }
  66794 
  66795 int
  66796 bcm_loop_tsn_sr_rx_flowset_create(
  66797 	int	unit,
  66798 	bcm_tsn_pri_map_t	pri_map,
  66799 	bcm_tsn_sr_rx_flow_config_t *	default_config,
  66800 	bcm_tsn_sr_flowset_t *	flowset)
  66801 {
  66802 	return bcm_tsn_sr_rx_flowset_create(
  66803 			BCM_CONTROL(unit)->unit,
  66804 			pri_map,
  66805 			default_config,
  66806 			flowset);
  66807 }
  66808 
  66809 int
  66810 bcm_loop_tsn_sr_tx_flow_config_get(
  66811 	int	unit,
  66812 	bcm_tsn_sr_flow_t	flow_id,
  66813 	bcm_tsn_sr_tx_flow_config_t *	config)
  66814 {
  66815 	return bcm_tsn_sr_tx_flow_config_get(
  66816 			BCM_CONTROL(unit)->unit,
  66817 			flow_id,
  66818 			config);
  66819 }
  66820 
  66821 int
  66822 bcm_loop_tsn_sr_tx_flow_config_set(
  66823 	int	unit,
  66824 	bcm_tsn_sr_flow_t	flow_id,
  66825 	bcm_tsn_sr_tx_flow_config_t *	config)
  66826 {
  66827 	return bcm_tsn_sr_tx_flow_config_set(
  66828 			BCM_CONTROL(unit)->unit,
  66829 			flow_id,
  66830 			config);
  66831 }
  66832 
  66833 /* bcm_tsn_sr_tx_flow_config_t_init not dispatchable */
  66834 
  66835 int
  66836 bcm_loop_tsn_sr_tx_flow_status_get(
  66837 	int	unit,
  66838 	bcm_tsn_sr_flow_t	flow_id,
  66839 	bcm_tsn_sr_tx_flow_status_t *	status)
  66840 {
  66841 	return bcm_tsn_sr_tx_flow_status_get(
  66842 			BCM_CONTROL(unit)->unit,
  66843 			flow_id,
  66844 			status);
  66845 }
  66846 
  66847 /* bcm_tsn_sr_tx_flow_status_t_init not dispatchable */
  66848 
  66849 int
  66850 bcm_loop_tsn_sr_tx_flowset_config_get(
  66851 	int	unit,
  66852 	bcm_tsn_sr_flowset_t	flowset,
  66853 	bcm_tsn_pri_map_t *	pri_map,
  66854 	bcm_tsn_sr_tx_flow_config_t *	default_config)
  66855 {
  66856 	return bcm_tsn_sr_tx_flowset_config_get(
  66857 			BCM_CONTROL(unit)->unit,
  66858 			flowset,
  66859 			pri_map,
  66860 			default_config);
  66861 }
  66862 
  66863 int
  66864 bcm_loop_tsn_sr_tx_flowset_create(
  66865 	int	unit,
  66866 	bcm_tsn_pri_map_t	pri_map,
  66867 	bcm_tsn_sr_tx_flow_config_t *	default_config,
  66868 	bcm_tsn_sr_flowset_t *	flowset)
  66869 {
  66870 	return bcm_tsn_sr_tx_flowset_create(
  66871 			BCM_CONTROL(unit)->unit,
  66872 			pri_map,
  66873 			default_config,
  66874 			flowset);
  66875 }
  66876 
  66877 int
  66878 bcm_loop_tsn_stat_group_create(
  66879 	int	unit,
  66880 	bcm_tsn_stat_group_type_t	group_type,
  66881 	int	count,
  66882 	bcm_tsn_stat_t *	stat_arr,
  66883 	bcm_tsn_stat_group_t *	id)
  66884 {
  66885 	return bcm_tsn_stat_group_create(
  66886 			BCM_CONTROL(unit)->unit,
  66887 			group_type,
  66888 			count,
  66889 			stat_arr,
  66890 			id);
  66891 }
  66892 
  66893 int
  66894 bcm_loop_tsn_stat_group_destroy(
  66895 	int	unit,
  66896 	bcm_tsn_stat_group_t	id)
  66897 {
  66898 	return bcm_tsn_stat_group_destroy(
  66899 			BCM_CONTROL(unit)->unit,
  66900 			id);
  66901 }
  66902 
  66903 int
  66904 bcm_loop_tsn_stat_group_get(
  66905 	int	unit,
  66906 	bcm_tsn_stat_group_t	id,
  66907 	bcm_tsn_stat_group_type_t *	group_type,
  66908 	int	max,
  66909 	bcm_tsn_stat_t *	stat_arr,
  66910 	int *	count)
  66911 {
  66912 	return bcm_tsn_stat_group_get(
  66913 			BCM_CONTROL(unit)->unit,
  66914 			id,
  66915 			group_type,
  66916 			max,
  66917 			stat_arr,
  66918 			count);
  66919 }
  66920 
  66921 int
  66922 bcm_loop_tsn_stat_group_set(
  66923 	int	unit,
  66924 	bcm_tsn_stat_group_t	id,
  66925 	int	count,
  66926 	bcm_tsn_stat_t *	stat_arr)
  66927 {
  66928 	return bcm_tsn_stat_group_set(
  66929 			BCM_CONTROL(unit)->unit,
  66930 			id,
  66931 			count,
  66932 			stat_arr);
  66933 }
  66934 
  66935 int
  66936 bcm_loop_tsn_stat_group_traverse(
  66937 	int	unit,
  66938 	bcm_tsn_stat_group_traverse_cb	cb,
  66939 	void *	user_data)
  66940 {
  66941 	return bcm_tsn_stat_group_traverse(
  66942 			BCM_CONTROL(unit)->unit,
  66943 			cb,
  66944 			user_data);
  66945 }
  66946 
  66947 /* bcm_tsn_stat_threshold_config_t_init not dispatchable */
  66948 
  66949 int
  66950 bcm_loop_tsn_stat_threshold_get(
  66951 	int	unit,
  66952 	bcm_tsn_stat_threshold_source_t	source,
  66953 	bcm_tsn_stat_t	stat,
  66954 	bcm_tsn_stat_threshold_config_t *	config)
  66955 {
  66956 	return bcm_tsn_stat_threshold_get(
  66957 			BCM_CONTROL(unit)->unit,
  66958 			source,
  66959 			stat,
  66960 			config);
  66961 }
  66962 
  66963 int
  66964 bcm_loop_tsn_stat_threshold_set(
  66965 	int	unit,
  66966 	bcm_tsn_stat_threshold_source_t	source,
  66967 	bcm_tsn_stat_t	stat,
  66968 	bcm_tsn_stat_threshold_config_t *	config)
  66969 {
  66970 	return bcm_tsn_stat_threshold_set(
  66971 			BCM_CONTROL(unit)->unit,
  66972 			source,
  66973 			stat,
  66974 			config);
  66975 }
  66976 
  66977 /* bcm_tsn_stu_config_t_init not dispatchable */
  66978 
  66979 int
  66980 bcm_loop_tsn_stu_profile_create(
  66981 	int	unit,
  66982 	bcm_tsn_stu_profile_type_t	type,
  66983 	bcm_tsn_stu_config_t *	config,
  66984 	int *	stu_profile_id)
  66985 {
  66986 	return bcm_tsn_stu_profile_create(
  66987 			BCM_CONTROL(unit)->unit,
  66988 			type,
  66989 			config,
  66990 			stu_profile_id);
  66991 }
  66992 
  66993 int
  66994 bcm_loop_tsn_stu_profile_destroy(
  66995 	int	unit,
  66996 	int	stu_profile_id)
  66997 {
  66998 	return bcm_tsn_stu_profile_destroy(
  66999 			BCM_CONTROL(unit)->unit,
  67000 			stu_profile_id);
  67001 }
  67002 
  67003 int
  67004 bcm_loop_tsn_stu_profile_get(
  67005 	int	unit,
  67006 	int	stu_profile_id,
  67007 	bcm_tsn_stu_profile_type_t *	type,
  67008 	bcm_tsn_stu_config_t *	config)
  67009 {
  67010 	return bcm_tsn_stu_profile_get(
  67011 			BCM_CONTROL(unit)->unit,
  67012 			stu_profile_id,
  67013 			type,
  67014 			config);
  67015 }
  67016 
  67017 int
  67018 bcm_loop_tsn_stu_profile_set(
  67019 	int	unit,
  67020 	int	stu_profile_id,
  67021 	bcm_tsn_stu_config_t *	config)
  67022 {
  67023 	return bcm_tsn_stu_profile_set(
  67024 			BCM_CONTROL(unit)->unit,
  67025 			stu_profile_id,
  67026 			config);
  67027 }
  67028 
  67029 int
  67030 bcm_loop_tsn_stu_profile_traverse(
  67031 	int	unit,
  67032 	bcm_tsn_stu_profile_traverse_cb	cb,
  67033 	void *	user_data)
  67034 {
  67035 	return bcm_tsn_stu_profile_traverse(
  67036 			BCM_CONTROL(unit)->unit,
  67037 			cb,
  67038 			user_data);
  67039 }
  67040 
  67041 int
  67042 bcm_loop_tsn_taf_control_get(
  67043 	int	unit,
  67044 	int	taf_gate,
  67045 	bcm_tsn_taf_control_t	type,
  67046 	uint32 *	arg)
  67047 {
  67048 	return bcm_tsn_taf_control_get(
  67049 			BCM_CONTROL(unit)->unit,
  67050 			taf_gate,
  67051 			type,
  67052 			arg);
  67053 }
  67054 
  67055 int
  67056 bcm_loop_tsn_taf_control_set(
  67057 	int	unit,
  67058 	int	taf_gate,
  67059 	bcm_tsn_taf_control_t	type,
  67060 	uint32	arg)
  67061 {
  67062 	return bcm_tsn_taf_control_set(
  67063 			BCM_CONTROL(unit)->unit,
  67064 			taf_gate,
  67065 			type,
  67066 			arg);
  67067 }
  67068 
  67069 int
  67070 bcm_loop_tsn_taf_cosq_mapping_profile_create(
  67071 	int	unit,
  67072 	int *	cosq_profile)
  67073 {
  67074 	return bcm_tsn_taf_cosq_mapping_profile_create(
  67075 			BCM_CONTROL(unit)->unit,
  67076 			cosq_profile);
  67077 }
  67078 
  67079 int
  67080 bcm_loop_tsn_taf_cosq_mapping_profile_destroy(
  67081 	int	unit,
  67082 	int	cosq_profile)
  67083 {
  67084 	return bcm_tsn_taf_cosq_mapping_profile_destroy(
  67085 			BCM_CONTROL(unit)->unit,
  67086 			cosq_profile);
  67087 }
  67088 
  67089 int
  67090 bcm_loop_tsn_taf_cosq_mapping_profile_get(
  67091 	int	unit,
  67092 	int	cosq_profile,
  67093 	bcm_cos_t	priority,
  67094 	bcm_cos_queue_t *	cosq)
  67095 {
  67096 	return bcm_tsn_taf_cosq_mapping_profile_get(
  67097 			BCM_CONTROL(unit)->unit,
  67098 			cosq_profile,
  67099 			priority,
  67100 			cosq);
  67101 }
  67102 
  67103 int
  67104 bcm_loop_tsn_taf_cosq_mapping_profile_set(
  67105 	int	unit,
  67106 	int	cosq_profile,
  67107 	bcm_cos_t	priority,
  67108 	bcm_cos_queue_t	cosq)
  67109 {
  67110 	return bcm_tsn_taf_cosq_mapping_profile_set(
  67111 			BCM_CONTROL(unit)->unit,
  67112 			cosq_profile,
  67113 			priority,
  67114 			cosq);
  67115 }
  67116 
  67117 int
  67118 bcm_loop_tsn_taf_cosq_mapping_profile_traverse(
  67119 	int	unit,
  67120 	bcm_tsn_taf_cosq_mapping_profile_traverse_cb	cb,
  67121 	void *	user_data)
  67122 {
  67123 	return bcm_tsn_taf_cosq_mapping_profile_traverse(
  67124 			BCM_CONTROL(unit)->unit,
  67125 			cb,
  67126 			user_data);
  67127 }
  67128 
  67129 int
  67130 bcm_loop_tsn_taf_event_register(
  67131 	int	unit,
  67132 	bcm_tsn_taf_event_types_t	event_types,
  67133 	int	taf_gate,
  67134 	bcm_tsn_taf_event_cb	cb,
  67135 	void *	user_data)
  67136 {
  67137 	return bcm_tsn_taf_event_register(
  67138 			BCM_CONTROL(unit)->unit,
  67139 			event_types,
  67140 			taf_gate,
  67141 			cb,
  67142 			user_data);
  67143 }
  67144 
  67145 int
  67146 bcm_loop_tsn_taf_event_unregister(
  67147 	int	unit,
  67148 	bcm_tsn_taf_event_types_t	event_types,
  67149 	int	taf_gate,
  67150 	bcm_tsn_taf_event_cb	cb)
  67151 {
  67152 	return bcm_tsn_taf_event_unregister(
  67153 			BCM_CONTROL(unit)->unit,
  67154 			event_types,
  67155 			taf_gate,
  67156 			cb);
  67157 }
  67158 
  67159 int
  67160 bcm_loop_tsn_taf_gate_create(
  67161 	int	unit,
  67162 	int	flags,
  67163 	int *	taf_gate_id)
  67164 {
  67165 	return bcm_tsn_taf_gate_create(
  67166 			BCM_CONTROL(unit)->unit,
  67167 			flags,
  67168 			taf_gate_id);
  67169 }
  67170 
  67171 int
  67172 bcm_loop_tsn_taf_gate_destroy(
  67173 	int	unit,
  67174 	int	taf_gate_id)
  67175 {
  67176 	return bcm_tsn_taf_gate_destroy(
  67177 			BCM_CONTROL(unit)->unit,
  67178 			taf_gate_id);
  67179 }
  67180 
  67181 int
  67182 bcm_loop_tsn_taf_gate_max_bytes_profile_create(
  67183 	int	unit,
  67184 	int	taf_gate_id,
  67185 	uint64	max_bytes,
  67186 	int *	profile_id)
  67187 {
  67188 	return bcm_tsn_taf_gate_max_bytes_profile_create(
  67189 			BCM_CONTROL(unit)->unit,
  67190 			taf_gate_id,
  67191 			max_bytes,
  67192 			profile_id);
  67193 }
  67194 
  67195 int
  67196 bcm_loop_tsn_taf_gate_max_bytes_profile_destroy(
  67197 	int	unit,
  67198 	int	taf_gate_id,
  67199 	int	profile_id)
  67200 {
  67201 	return bcm_tsn_taf_gate_max_bytes_profile_destroy(
  67202 			BCM_CONTROL(unit)->unit,
  67203 			taf_gate_id,
  67204 			profile_id);
  67205 }
  67206 
  67207 int
  67208 bcm_loop_tsn_taf_gate_max_bytes_profile_get(
  67209 	int	unit,
  67210 	int	taf_gate_id,
  67211 	int	profile_id,
  67212 	uint64 *	max_bytes)
  67213 {
  67214 	return bcm_tsn_taf_gate_max_bytes_profile_get(
  67215 			BCM_CONTROL(unit)->unit,
  67216 			taf_gate_id,
  67217 			profile_id,
  67218 			max_bytes);
  67219 }
  67220 
  67221 int
  67222 bcm_loop_tsn_taf_gate_max_bytes_profile_set(
  67223 	int	unit,
  67224 	int	taf_gate_id,
  67225 	int	profile_id,
  67226 	uint64	max_bytes)
  67227 {
  67228 	return bcm_tsn_taf_gate_max_bytes_profile_set(
  67229 			BCM_CONTROL(unit)->unit,
  67230 			taf_gate_id,
  67231 			profile_id,
  67232 			max_bytes);
  67233 }
  67234 
  67235 int
  67236 bcm_loop_tsn_taf_gate_max_bytes_profile_traverse(
  67237 	int	unit,
  67238 	int	taf_gate_id,
  67239 	bcm_tsn_taf_gate_max_bytes_profile_traverse_cb	cb,
  67240 	void *	user_data)
  67241 {
  67242 	return bcm_tsn_taf_gate_max_bytes_profile_traverse(
  67243 			BCM_CONTROL(unit)->unit,
  67244 			taf_gate_id,
  67245 			cb,
  67246 			user_data);
  67247 }
  67248 
  67249 int
  67250 bcm_loop_tsn_taf_gate_stat_get(
  67251 	int	unit,
  67252 	int	taf_gate_id,
  67253 	bcm_tsn_taf_gate_stat_t	stat,
  67254 	uint64 *	val)
  67255 {
  67256 	return bcm_tsn_taf_gate_stat_get(
  67257 			BCM_CONTROL(unit)->unit,
  67258 			taf_gate_id,
  67259 			stat,
  67260 			val);
  67261 }
  67262 
  67263 int
  67264 bcm_loop_tsn_taf_gate_stat_get32(
  67265 	int	unit,
  67266 	int	taf_gate_id,
  67267 	bcm_tsn_taf_gate_stat_t	stat,
  67268 	uint32 *	val)
  67269 {
  67270 	return bcm_tsn_taf_gate_stat_get32(
  67271 			BCM_CONTROL(unit)->unit,
  67272 			taf_gate_id,
  67273 			stat,
  67274 			val);
  67275 }
  67276 
  67277 int
  67278 bcm_loop_tsn_taf_gate_stat_multi_get(
  67279 	int	unit,
  67280 	int	taf_gate_id,
  67281 	int	nstat,
  67282 	bcm_tsn_taf_gate_stat_t *	stat_arr,
  67283 	uint64 *	val_arr)
  67284 {
  67285 	return bcm_tsn_taf_gate_stat_multi_get(
  67286 			BCM_CONTROL(unit)->unit,
  67287 			taf_gate_id,
  67288 			nstat,
  67289 			stat_arr,
  67290 			val_arr);
  67291 }
  67292 
  67293 int
  67294 bcm_loop_tsn_taf_gate_stat_multi_get32(
  67295 	int	unit,
  67296 	int	taf_gate_id,
  67297 	int	nstat,
  67298 	bcm_tsn_taf_gate_stat_t *	stat_arr,
  67299 	uint32 *	val_arr)
  67300 {
  67301 	return bcm_tsn_taf_gate_stat_multi_get32(
  67302 			BCM_CONTROL(unit)->unit,
  67303 			taf_gate_id,
  67304 			nstat,
  67305 			stat_arr,
  67306 			val_arr);
  67307 }
  67308 
  67309 int
  67310 bcm_loop_tsn_taf_gate_stat_multi_set(
  67311 	int	unit,
  67312 	int	taf_gate_id,
  67313 	int	nstat,
  67314 	bcm_tsn_taf_gate_stat_t *	stat_arr,
  67315 	uint64 *	val_arr)
  67316 {
  67317 	return bcm_tsn_taf_gate_stat_multi_set(
  67318 			BCM_CONTROL(unit)->unit,
  67319 			taf_gate_id,
  67320 			nstat,
  67321 			stat_arr,
  67322 			val_arr);
  67323 }
  67324 
  67325 int
  67326 bcm_loop_tsn_taf_gate_stat_multi_set32(
  67327 	int	unit,
  67328 	int	taf_gate_id,
  67329 	int	nstat,
  67330 	bcm_tsn_taf_gate_stat_t *	stat_arr,
  67331 	uint32 *	val_arr)
  67332 {
  67333 	return bcm_tsn_taf_gate_stat_multi_set32(
  67334 			BCM_CONTROL(unit)->unit,
  67335 			taf_gate_id,
  67336 			nstat,
  67337 			stat_arr,
  67338 			val_arr);
  67339 }
  67340 
  67341 int
  67342 bcm_loop_tsn_taf_gate_stat_set(
  67343 	int	unit,
  67344 	int	taf_gate_id,
  67345 	bcm_tsn_taf_gate_stat_t	stat,
  67346 	uint64	val)
  67347 {
  67348 	return bcm_tsn_taf_gate_stat_set(
  67349 			BCM_CONTROL(unit)->unit,
  67350 			taf_gate_id,
  67351 			stat,
  67352 			val);
  67353 }
  67354 
  67355 int
  67356 bcm_loop_tsn_taf_gate_stat_set32(
  67357 	int	unit,
  67358 	int	taf_gate_id,
  67359 	bcm_tsn_taf_gate_stat_t	stat,
  67360 	uint32	val)
  67361 {
  67362 	return bcm_tsn_taf_gate_stat_set32(
  67363 			BCM_CONTROL(unit)->unit,
  67364 			taf_gate_id,
  67365 			stat,
  67366 			val);
  67367 }
  67368 
  67369 int
  67370 bcm_loop_tsn_taf_gate_stat_sync_get(
  67371 	int	unit,
  67372 	int	taf_gate_id,
  67373 	bcm_tsn_taf_gate_stat_t	stat,
  67374 	uint64 *	val)
  67375 {
  67376 	return bcm_tsn_taf_gate_stat_sync_get(
  67377 			BCM_CONTROL(unit)->unit,
  67378 			taf_gate_id,
  67379 			stat,
  67380 			val);
  67381 }
  67382 
  67383 int
  67384 bcm_loop_tsn_taf_gate_stat_sync_get32(
  67385 	int	unit,
  67386 	int	taf_gate_id,
  67387 	bcm_tsn_taf_gate_stat_t	stat,
  67388 	uint32 *	val)
  67389 {
  67390 	return bcm_tsn_taf_gate_stat_sync_get32(
  67391 			BCM_CONTROL(unit)->unit,
  67392 			taf_gate_id,
  67393 			stat,
  67394 			val);
  67395 }
  67396 
  67397 int
  67398 bcm_loop_tsn_taf_gate_stat_sync_multi_get(
  67399 	int	unit,
  67400 	int	taf_gate_id,
  67401 	int	nstat,
  67402 	bcm_tsn_taf_gate_stat_t *	stat_arr,
  67403 	uint64 *	val_arr)
  67404 {
  67405 	return bcm_tsn_taf_gate_stat_sync_multi_get(
  67406 			BCM_CONTROL(unit)->unit,
  67407 			taf_gate_id,
  67408 			nstat,
  67409 			stat_arr,
  67410 			val_arr);
  67411 }
  67412 
  67413 int
  67414 bcm_loop_tsn_taf_gate_stat_sync_multi_get32(
  67415 	int	unit,
  67416 	int	taf_gate_id,
  67417 	int	nstat,
  67418 	bcm_tsn_taf_gate_stat_t *	stat_arr,
  67419 	uint32 *	val_arr)
  67420 {
  67421 	return bcm_tsn_taf_gate_stat_sync_multi_get32(
  67422 			BCM_CONTROL(unit)->unit,
  67423 			taf_gate_id,
  67424 			nstat,
  67425 			stat_arr,
  67426 			val_arr);
  67427 }
  67428 
  67429 int
  67430 bcm_loop_tsn_taf_gate_traverse(
  67431 	int	unit,
  67432 	bcm_tsn_taf_gate_traverse_cb	cb,
  67433 	void *	user_data)
  67434 {
  67435 	return bcm_tsn_taf_gate_traverse(
  67436 			BCM_CONTROL(unit)->unit,
  67437 			cb,
  67438 			user_data);
  67439 }
  67440 
  67441 int
  67442 bcm_loop_tsn_taf_profile_commit(
  67443 	int	unit,
  67444 	int	taf_gate,
  67445 	bcm_tsn_taf_profile_id_t	pid)
  67446 {
  67447 	return bcm_tsn_taf_profile_commit(
  67448 			BCM_CONTROL(unit)->unit,
  67449 			taf_gate,
  67450 			pid);
  67451 }
  67452 
  67453 int
  67454 bcm_loop_tsn_taf_profile_create(
  67455 	int	unit,
  67456 	int	taf_gate,
  67457 	bcm_tsn_taf_profile_t *	profile,
  67458 	bcm_tsn_taf_profile_id_t *	pid)
  67459 {
  67460 	return bcm_tsn_taf_profile_create(
  67461 			BCM_CONTROL(unit)->unit,
  67462 			taf_gate,
  67463 			profile,
  67464 			pid);
  67465 }
  67466 
  67467 int
  67468 bcm_loop_tsn_taf_profile_destroy(
  67469 	int	unit,
  67470 	int	taf_gate,
  67471 	bcm_tsn_taf_profile_id_t	pid)
  67472 {
  67473 	return bcm_tsn_taf_profile_destroy(
  67474 			BCM_CONTROL(unit)->unit,
  67475 			taf_gate,
  67476 			pid);
  67477 }
  67478 
  67479 int
  67480 bcm_loop_tsn_taf_profile_destroy_all(
  67481 	int	unit,
  67482 	int	taf_gate)
  67483 {
  67484 	return bcm_tsn_taf_profile_destroy_all(
  67485 			BCM_CONTROL(unit)->unit,
  67486 			taf_gate);
  67487 }
  67488 
  67489 int
  67490 bcm_loop_tsn_taf_profile_get(
  67491 	int	unit,
  67492 	int	taf_gate,
  67493 	bcm_tsn_taf_profile_id_t	pid,
  67494 	bcm_tsn_taf_profile_t *	profile)
  67495 {
  67496 	return bcm_tsn_taf_profile_get(
  67497 			BCM_CONTROL(unit)->unit,
  67498 			taf_gate,
  67499 			pid,
  67500 			profile);
  67501 }
  67502 
  67503 int
  67504 bcm_loop_tsn_taf_profile_set(
  67505 	int	unit,
  67506 	int	taf_gate,
  67507 	bcm_tsn_taf_profile_id_t	pid,
  67508 	bcm_tsn_taf_profile_t *	profile)
  67509 {
  67510 	return bcm_tsn_taf_profile_set(
  67511 			BCM_CONTROL(unit)->unit,
  67512 			taf_gate,
  67513 			pid,
  67514 			profile);
  67515 }
  67516 
  67517 int
  67518 bcm_loop_tsn_taf_profile_status_get(
  67519 	int	unit,
  67520 	int	taf_gate,
  67521 	bcm_tsn_taf_profile_id_t	pid,
  67522 	bcm_tsn_taf_profile_status_t *	status)
  67523 {
  67524 	return bcm_tsn_taf_profile_status_get(
  67525 			BCM_CONTROL(unit)->unit,
  67526 			taf_gate,
  67527 			pid,
  67528 			status);
  67529 }
  67530 
  67531 /* bcm_tsn_taf_profile_status_t_init not dispatchable */
  67532 
  67533 /* bcm_tsn_taf_profile_t_init not dispatchable */
  67534 
  67535 int
  67536 bcm_loop_tsn_taf_profile_traverse(
  67537 	int	unit,
  67538 	int	taf_gate,
  67539 	bcm_tsn_taf_profile_traverse_cb	cb,
  67540 	void *	user_data)
  67541 {
  67542 	return bcm_tsn_taf_profile_traverse(
  67543 			BCM_CONTROL(unit)->unit,
  67544 			taf_gate,
  67545 			cb,
  67546 			user_data);
  67547 }
  67548 
  67549 int
  67550 bcm_loop_tsn_taf_status_get(
  67551 	int	unit,
  67552 	int	taf_gate,
  67553 	bcm_tsn_taf_status_t	type,
  67554 	uint32 *	arg)
  67555 {
  67556 	return bcm_tsn_taf_status_get(
  67557 			BCM_CONTROL(unit)->unit,
  67558 			taf_gate,
  67559 			type,
  67560 			arg);
  67561 }
  67562 
  67563 #ifdef	INCLUDE_L3
  67564 
  67565 int
  67566 bcm_loop_tunnel_config_get(
  67567 	int	unit,
  67568 	bcm_tunnel_config_t *	tconfig)
  67569 {
  67570 	return bcm_tunnel_config_get(
  67571 			BCM_CONTROL(unit)->unit,
  67572 			tconfig);
  67573 }
  67574 
  67575 int
  67576 bcm_loop_tunnel_config_set(
  67577 	int	unit,
  67578 	bcm_tunnel_config_t *	tconfig)
  67579 {
  67580 	return bcm_tunnel_config_set(
  67581 			BCM_CONTROL(unit)->unit,
  67582 			tconfig);
  67583 }
  67584 
  67585 /* bcm_tunnel_config_t_init not dispatchable */
  67586 
  67587 int
  67588 bcm_loop_tunnel_dscp_map_create(
  67589 	int	unit,
  67590 	uint32	flags,
  67591 	int *	dscp_map_id)
  67592 {
  67593 	return bcm_tunnel_dscp_map_create(
  67594 			BCM_CONTROL(unit)->unit,
  67595 			flags,
  67596 			dscp_map_id);
  67597 }
  67598 
  67599 int
  67600 bcm_loop_tunnel_dscp_map_destroy(
  67601 	int	unit,
  67602 	int	dscp_map_id)
  67603 {
  67604 	return bcm_tunnel_dscp_map_destroy(
  67605 			BCM_CONTROL(unit)->unit,
  67606 			dscp_map_id);
  67607 }
  67608 
  67609 int
  67610 bcm_loop_tunnel_dscp_map_get(
  67611 	int	unit,
  67612 	int	dscp_map_id,
  67613 	bcm_tunnel_dscp_map_t *	dscp_map)
  67614 {
  67615 	return bcm_tunnel_dscp_map_get(
  67616 			BCM_CONTROL(unit)->unit,
  67617 			dscp_map_id,
  67618 			dscp_map);
  67619 }
  67620 
  67621 int
  67622 bcm_loop_tunnel_dscp_map_port_get(
  67623 	int	unit,
  67624 	bcm_port_t	port,
  67625 	bcm_tunnel_dscp_map_t *	dscp_map)
  67626 {
  67627 	return bcm_tunnel_dscp_map_port_get(
  67628 			BCM_CONTROL(unit)->unit,
  67629 			port,
  67630 			dscp_map);
  67631 }
  67632 
  67633 int
  67634 bcm_loop_tunnel_dscp_map_port_set(
  67635 	int	unit,
  67636 	bcm_port_t	port,
  67637 	bcm_tunnel_dscp_map_t *	dscp_map)
  67638 {
  67639 	return bcm_tunnel_dscp_map_port_set(
  67640 			BCM_CONTROL(unit)->unit,
  67641 			port,
  67642 			dscp_map);
  67643 }
  67644 
  67645 int
  67646 bcm_loop_tunnel_dscp_map_set(
  67647 	int	unit,
  67648 	int	dscp_map_id,
  67649 	bcm_tunnel_dscp_map_t *	dscp_map)
  67650 {
  67651 	return bcm_tunnel_dscp_map_set(
  67652 			BCM_CONTROL(unit)->unit,
  67653 			dscp_map_id,
  67654 			dscp_map);
  67655 }
  67656 
  67657 /* bcm_tunnel_dscp_map_t_init not dispatchable */
  67658 
  67659 int
  67660 bcm_loop_tunnel_initiator_clear(
  67661 	int	unit,
  67662 	bcm_l3_intf_t *	intf)
  67663 {
  67664 	return bcm_tunnel_initiator_clear(
  67665 			BCM_CONTROL(unit)->unit,
  67666 			intf);
  67667 }
  67668 
  67669 int
  67670 bcm_loop_tunnel_initiator_create(
  67671 	int	unit,
  67672 	bcm_l3_intf_t *	intf,
  67673 	bcm_tunnel_initiator_t *	tunnel)
  67674 {
  67675 	return bcm_tunnel_initiator_create(
  67676 			BCM_CONTROL(unit)->unit,
  67677 			intf,
  67678 			tunnel);
  67679 }
  67680 
  67681 int
  67682 bcm_loop_tunnel_initiator_get(
  67683 	int	unit,
  67684 	bcm_l3_intf_t *	intf,
  67685 	bcm_tunnel_initiator_t *	tunnel)
  67686 {
  67687 	return bcm_tunnel_initiator_get(
  67688 			BCM_CONTROL(unit)->unit,
  67689 			intf,
  67690 			tunnel);
  67691 }
  67692 
  67693 int
  67694 bcm_loop_tunnel_initiator_set(
  67695 	int	unit,
  67696 	bcm_l3_intf_t *	intf,
  67697 	bcm_tunnel_initiator_t *	tunnel)
  67698 {
  67699 	return bcm_tunnel_initiator_set(
  67700 			BCM_CONTROL(unit)->unit,
  67701 			intf,
  67702 			tunnel);
  67703 }
  67704 
  67705 /* bcm_tunnel_initiator_t_init not dispatchable */
  67706 
  67707 int
  67708 bcm_loop_tunnel_initiator_traverse(
  67709 	int	unit,
  67710 	bcm_tunnel_initiator_traverse_cb	cb,
  67711 	void *	user_data)
  67712 {
  67713 	return bcm_tunnel_initiator_traverse(
  67714 			BCM_CONTROL(unit)->unit,
  67715 			cb,
  67716 			user_data);
  67717 }
  67718 
  67719 int
  67720 bcm_loop_tunnel_terminator_add(
  67721 	int	unit,
  67722 	bcm_tunnel_terminator_t *	info)
  67723 {
  67724 	return bcm_tunnel_terminator_add(
  67725 			BCM_CONTROL(unit)->unit,
  67726 			info);
  67727 }
  67728 
  67729 /* bcm_tunnel_terminator_config_action_t_init not dispatchable */
  67730 
  67731 int
  67732 bcm_loop_tunnel_terminator_config_add(
  67733 	int	unit,
  67734 	uint32	flags,
  67735 	bcm_tunnel_terminator_config_key_t *	config_key,
  67736 	bcm_tunnel_terminator_config_action_t *	config_action)
  67737 {
  67738 	return bcm_tunnel_terminator_config_add(
  67739 			BCM_CONTROL(unit)->unit,
  67740 			flags,
  67741 			config_key,
  67742 			config_action);
  67743 }
  67744 
  67745 int
  67746 bcm_loop_tunnel_terminator_config_delete(
  67747 	int	unit,
  67748 	bcm_tunnel_terminator_config_key_t *	config_key)
  67749 {
  67750 	return bcm_tunnel_terminator_config_delete(
  67751 			BCM_CONTROL(unit)->unit,
  67752 			config_key);
  67753 }
  67754 
  67755 int
  67756 bcm_loop_tunnel_terminator_config_get(
  67757 	int	unit,
  67758 	bcm_tunnel_terminator_config_key_t *	config_key,
  67759 	bcm_tunnel_terminator_config_action_t *	config_action)
  67760 {
  67761 	return bcm_tunnel_terminator_config_get(
  67762 			BCM_CONTROL(unit)->unit,
  67763 			config_key,
  67764 			config_action);
  67765 }
  67766 
  67767 /* bcm_tunnel_terminator_config_key_t_init not dispatchable */
  67768 
  67769 int
  67770 bcm_loop_tunnel_terminator_config_traverse(
  67771 	int	unit,
  67772 	bcm_tunnel_terminator_config_traverse_cb	cb,
  67773 	void *	user_data)
  67774 {
  67775 	return bcm_tunnel_terminator_config_traverse(
  67776 			BCM_CONTROL(unit)->unit,
  67777 			cb,
  67778 			user_data);
  67779 }
  67780 
  67781 int
  67782 bcm_loop_tunnel_terminator_create(
  67783 	int	unit,
  67784 	bcm_tunnel_terminator_t *	info)
  67785 {
  67786 	return bcm_tunnel_terminator_create(
  67787 			BCM_CONTROL(unit)->unit,
  67788 			info);
  67789 }
  67790 
  67791 int
  67792 bcm_loop_tunnel_terminator_delete(
  67793 	int	unit,
  67794 	bcm_tunnel_terminator_t *	info)
  67795 {
  67796 	return bcm_tunnel_terminator_delete(
  67797 			BCM_CONTROL(unit)->unit,
  67798 			info);
  67799 }
  67800 
  67801 int
  67802 bcm_loop_tunnel_terminator_get(
  67803 	int	unit,
  67804 	bcm_tunnel_terminator_t *	info)
  67805 {
  67806 	return bcm_tunnel_terminator_get(
  67807 			BCM_CONTROL(unit)->unit,
  67808 			info);
  67809 }
  67810 
  67811 /* bcm_tunnel_terminator_t_init not dispatchable */
  67812 
  67813 int
  67814 bcm_loop_tunnel_terminator_traverse(
  67815 	int	unit,
  67816 	bcm_tunnel_terminator_traverse_cb	cb,
  67817 	void *	user_data)
  67818 {
  67819 	return bcm_tunnel_terminator_traverse(
  67820 			BCM_CONTROL(unit)->unit,
  67821 			cb,
  67822 			user_data);
  67823 }
  67824 
  67825 int
  67826 bcm_loop_tunnel_terminator_update(
  67827 	int	unit,
  67828 	bcm_tunnel_terminator_t *	info)
  67829 {
  67830 	return bcm_tunnel_terminator_update(
  67831 			BCM_CONTROL(unit)->unit,
  67832 			info);
  67833 }
  67834 
  67835 int
  67836 bcm_loop_tunnel_terminator_vlan_get(
  67837 	int	unit,
  67838 	bcm_gport_t	tunnel,
  67839 	bcm_vlan_vector_t *	vlan_vec)
  67840 {
  67841 	return bcm_tunnel_terminator_vlan_get(
  67842 			BCM_CONTROL(unit)->unit,
  67843 			tunnel,
  67844 			vlan_vec);
  67845 }
  67846 
  67847 int
  67848 bcm_loop_tunnel_terminator_vlan_set(
  67849 	int	unit,
  67850 	bcm_gport_t	tunnel,
  67851 	bcm_vlan_vector_t	vlan_vec)
  67852 {
  67853 	return bcm_tunnel_terminator_vlan_set(
  67854 			BCM_CONTROL(unit)->unit,
  67855 			tunnel,
  67856 			vlan_vec);
  67857 }
  67858 
  67859 #endif	/* INCLUDE_L3 */
  67860 
  67861 int
  67862 bcm_loop_tx(
  67863 	int	unit,
  67864 	bcm_pkt_t *	tx_pkt,
  67865 	void *	cookie)
  67866 {
  67867 	return bcm_tx(
  67868 			BCM_CONTROL(unit)->unit,
  67869 			tx_pkt,
  67870 			cookie);
  67871 }
  67872 
  67873 int
  67874 bcm_loop_tx_array(
  67875 	int	unit,
  67876 	bcm_pkt_t **	pkt,
  67877 	int	count,
  67878 	bcm_pkt_cb_f	all_done_cb,
  67879 	void *	cookie)
  67880 {
  67881 	return bcm_tx_array(
  67882 			BCM_CONTROL(unit)->unit,
  67883 			pkt,
  67884 			count,
  67885 			all_done_cb,
  67886 			cookie);
  67887 }
  67888 
  67889 /* bcm_tx_cpu_tunnel not dispatchable */
  67890 
  67891 /* bcm_tx_cpu_tunnel_get not dispatchable */
  67892 
  67893 /* bcm_tx_cpu_tunnel_set not dispatchable */
  67894 
  67895 #ifdef	BROADCOM_DEBUG
  67896 
  67897 int
  67898 bcm_loop_tx_dv_dump(
  67899 	int	unit,
  67900 	void *	dv_p)
  67901 {
  67902 	return bcm_tx_dv_dump(
  67903 			BCM_CONTROL(unit)->unit,
  67904 			dv_p);
  67905 }
  67906 
  67907 #endif	/* BROADCOM_DEBUG */
  67908 
  67909 int
  67910 bcm_loop_tx_init(
  67911 	int	unit)
  67912 {
  67913 	return bcm_tx_init(
  67914 			BCM_CONTROL(unit)->unit);
  67915 }
  67916 
  67917 int
  67918 bcm_loop_tx_list(
  67919 	int	unit,
  67920 	bcm_pkt_t *	pkt,
  67921 	bcm_pkt_cb_f	all_done_cb,
  67922 	void *	cookie)
  67923 {
  67924 	return bcm_tx_list(
  67925 			BCM_CONTROL(unit)->unit,
  67926 			pkt,
  67927 			all_done_cb,
  67928 			cookie);
  67929 }
  67930 
  67931 int
  67932 bcm_loop_tx_pkt_l2_map(
  67933 	int	unit,
  67934 	bcm_pkt_t *	pkt,
  67935 	bcm_mac_t	dest_mac,
  67936 	int	vid)
  67937 {
  67938 	return bcm_tx_pkt_l2_map(
  67939 			BCM_CONTROL(unit)->unit,
  67940 			pkt,
  67941 			dest_mac,
  67942 			vid);
  67943 }
  67944 
  67945 int
  67946 bcm_loop_tx_pkt_setup(
  67947 	int	unit,
  67948 	bcm_pkt_t *	tx_pkt)
  67949 {
  67950 	return bcm_tx_pkt_setup(
  67951 			BCM_CONTROL(unit)->unit,
  67952 			tx_pkt);
  67953 }
  67954 
  67955 #ifdef	BROADCOM_DEBUG
  67956 
  67957 int
  67958 bcm_loop_tx_show(
  67959 	int	unit)
  67960 {
  67961 	return bcm_tx_show(
  67962 			BCM_CONTROL(unit)->unit);
  67963 }
  67964 
  67965 #endif	/* BROADCOM_DEBUG */
  67966 
  67967 int
  67968 bcm_loop_txbeacon_destroy(
  67969 	int	unit,
  67970 	bcm_txbeacon_pkt_id_t	pkt_id)
  67971 {
  67972 	return bcm_txbeacon_destroy(
  67973 			BCM_CONTROL(unit)->unit,
  67974 			pkt_id);
  67975 }
  67976 
  67977 int
  67978 bcm_loop_txbeacon_init(
  67979 	int	unit,
  67980 	int	uC)
  67981 {
  67982 	return bcm_txbeacon_init(
  67983 			BCM_CONTROL(unit)->unit,
  67984 			uC);
  67985 }
  67986 
  67987 int
  67988 bcm_loop_txbeacon_pkt_get(
  67989 	int	unit,
  67990 	bcm_txbeacon_t *	txbeacon)
  67991 {
  67992 	return bcm_txbeacon_pkt_get(
  67993 			BCM_CONTROL(unit)->unit,
  67994 			txbeacon);
  67995 }
  67996 
  67997 int
  67998 bcm_loop_txbeacon_pkt_setup(
  67999 	int	unit,
  68000 	bcm_txbeacon_t *	txbeacon)
  68001 {
  68002 	return bcm_txbeacon_pkt_setup(
  68003 			BCM_CONTROL(unit)->unit,
  68004 			txbeacon);
  68005 }
  68006 
  68007 int
  68008 bcm_loop_txbeacon_start(
  68009 	int	unit,
  68010 	bcm_txbeacon_pkt_id_t	pkt_id)
  68011 {
  68012 	return bcm_txbeacon_start(
  68013 			BCM_CONTROL(unit)->unit,
  68014 			pkt_id);
  68015 }
  68016 
  68017 int
  68018 bcm_loop_txbeacon_stop(
  68019 	int	unit,
  68020 	bcm_txbeacon_pkt_id_t	pkt_id)
  68021 {
  68022 	return bcm_txbeacon_stop(
  68023 			BCM_CONTROL(unit)->unit,
  68024 			pkt_id);
  68025 }
  68026 
  68027 int
  68028 bcm_loop_txbeacon_traverse(
  68029 	int	unit,
  68030 	bcm_txbeacon_traverse_cb_t	trav_fn,
  68031 	void *	user_data)
  68032 {
  68033 	return bcm_txbeacon_traverse(
  68034 			BCM_CONTROL(unit)->unit,
  68035 			trav_fn,
  68036 			user_data);
  68037 }
  68038 
  68039 int
  68040 bcm_loop_udf_abstract_pkt_format_info_get(
  68041 	int	unit,
  68042 	bcm_udf_abstract_pkt_format_t	abstract_pkt_format,
  68043 	bcm_udf_abstract_pkt_format_info_t *	pkt_format_info)
  68044 {
  68045 	return bcm_udf_abstract_pkt_format_info_get(
  68046 			BCM_CONTROL(unit)->unit,
  68047 			abstract_pkt_format,
  68048 			pkt_format_info);
  68049 }
  68050 
  68051 int
  68052 bcm_loop_udf_abstract_pkt_format_object_list_get(
  68053 	int	unit,
  68054 	bcm_udf_abstract_pkt_format_t	abstract_pkt_format,
  68055 	int	max,
  68056 	bcm_udf_id_t *	udf_id_list,
  68057 	int *	actual)
  68058 {
  68059 	return bcm_udf_abstract_pkt_format_object_list_get(
  68060 			BCM_CONTROL(unit)->unit,
  68061 			abstract_pkt_format,
  68062 			max,
  68063 			udf_id_list,
  68064 			actual);
  68065 }
  68066 
  68067 /* bcm_udf_alloc_hints_t_init not dispatchable */
  68068 
  68069 int
  68070 bcm_loop_udf_chunk_create(
  68071 	int	unit,
  68072 	bcm_udf_alloc_hints_t *	hints,
  68073 	bcm_udf_chunk_info_t *	udf_chunk_info,
  68074 	bcm_udf_id_t *	udf_id)
  68075 {
  68076 	return bcm_udf_chunk_create(
  68077 			BCM_CONTROL(unit)->unit,
  68078 			hints,
  68079 			udf_chunk_info,
  68080 			udf_id);
  68081 }
  68082 
  68083 int
  68084 bcm_loop_udf_chunk_info_get(
  68085 	int	unit,
  68086 	bcm_udf_id_t	udf_id,
  68087 	bcm_udf_chunk_info_t *	udf_chunk_info)
  68088 {
  68089 	return bcm_udf_chunk_info_get(
  68090 			BCM_CONTROL(unit)->unit,
  68091 			udf_id,
  68092 			udf_chunk_info);
  68093 }
  68094 
  68095 /* bcm_udf_chunk_info_t_init not dispatchable */
  68096 
  68097 int
  68098 bcm_loop_udf_create(
  68099 	int	unit,
  68100 	bcm_udf_alloc_hints_t *	hints,
  68101 	bcm_udf_t *	udf_info,
  68102 	bcm_udf_id_t *	udf_id)
  68103 {
  68104 	return bcm_udf_create(
  68105 			BCM_CONTROL(unit)->unit,
  68106 			hints,
  68107 			udf_info,
  68108 			udf_id);
  68109 }
  68110 
  68111 int
  68112 bcm_loop_udf_destroy(
  68113 	int	unit,
  68114 	bcm_udf_id_t	udf_id)
  68115 {
  68116 	return bcm_udf_destroy(
  68117 			BCM_CONTROL(unit)->unit,
  68118 			udf_id);
  68119 }
  68120 
  68121 int
  68122 bcm_loop_udf_detach(
  68123 	int	unit)
  68124 {
  68125 	return bcm_udf_detach(
  68126 			BCM_CONTROL(unit)->unit);
  68127 }
  68128 
  68129 int
  68130 bcm_loop_udf_flow_based_chunk_arrange_get(
  68131 	int	unit,
  68132 	bcm_udf_tunnel_term_flow_type_t	flow_type,
  68133 	uint32 *	chunk_bmap)
  68134 {
  68135 	return bcm_udf_flow_based_chunk_arrange_get(
  68136 			BCM_CONTROL(unit)->unit,
  68137 			flow_type,
  68138 			chunk_bmap);
  68139 }
  68140 
  68141 int
  68142 bcm_loop_udf_flow_based_chunk_arrange_set(
  68143 	int	unit,
  68144 	bcm_udf_tunnel_term_flow_type_t	flow_type,
  68145 	uint32	chunk_bmap)
  68146 {
  68147 	return bcm_udf_flow_based_chunk_arrange_set(
  68148 			BCM_CONTROL(unit)->unit,
  68149 			flow_type,
  68150 			chunk_bmap);
  68151 }
  68152 
  68153 int
  68154 bcm_loop_udf_get(
  68155 	int	unit,
  68156 	bcm_udf_id_t	udf_id,
  68157 	bcm_udf_t *	udf_info)
  68158 {
  68159 	return bcm_udf_get(
  68160 			BCM_CONTROL(unit)->unit,
  68161 			udf_id,
  68162 			udf_info);
  68163 }
  68164 
  68165 int
  68166 bcm_loop_udf_get_all(
  68167 	int	unit,
  68168 	int	max,
  68169 	bcm_udf_id_t *	udf_id_list,
  68170 	int *	actual)
  68171 {
  68172 	return bcm_udf_get_all(
  68173 			BCM_CONTROL(unit)->unit,
  68174 			max,
  68175 			udf_id_list,
  68176 			actual);
  68177 }
  68178 
  68179 int
  68180 bcm_loop_udf_hash_config_add(
  68181 	int	unit,
  68182 	uint32	options,
  68183 	bcm_udf_hash_config_t *	config)
  68184 {
  68185 	return bcm_udf_hash_config_add(
  68186 			BCM_CONTROL(unit)->unit,
  68187 			options,
  68188 			config);
  68189 }
  68190 
  68191 int
  68192 bcm_loop_udf_hash_config_delete(
  68193 	int	unit,
  68194 	bcm_udf_hash_config_t *	config)
  68195 {
  68196 	return bcm_udf_hash_config_delete(
  68197 			BCM_CONTROL(unit)->unit,
  68198 			config);
  68199 }
  68200 
  68201 int
  68202 bcm_loop_udf_hash_config_delete_all(
  68203 	int	unit)
  68204 {
  68205 	return bcm_udf_hash_config_delete_all(
  68206 			BCM_CONTROL(unit)->unit);
  68207 }
  68208 
  68209 int
  68210 bcm_loop_udf_hash_config_get(
  68211 	int	unit,
  68212 	bcm_udf_hash_config_t *	config)
  68213 {
  68214 	return bcm_udf_hash_config_get(
  68215 			BCM_CONTROL(unit)->unit,
  68216 			config);
  68217 }
  68218 
  68219 int
  68220 bcm_loop_udf_hash_config_get_all(
  68221 	int	unit,
  68222 	int	max,
  68223 	bcm_udf_hash_config_t *	config_list,
  68224 	int *	actual)
  68225 {
  68226 	return bcm_udf_hash_config_get_all(
  68227 			BCM_CONTROL(unit)->unit,
  68228 			max,
  68229 			config_list,
  68230 			actual);
  68231 }
  68232 
  68233 /* bcm_udf_hash_config_t_init not dispatchable */
  68234 
  68235 int
  68236 bcm_loop_udf_init(
  68237 	int	unit)
  68238 {
  68239 	return bcm_udf_init(
  68240 			BCM_CONTROL(unit)->unit);
  68241 }
  68242 
  68243 int
  68244 bcm_loop_udf_oper_mode_get(
  68245 	int	unit,
  68246 	bcm_udf_oper_mode_t *	mode)
  68247 {
  68248 	return bcm_udf_oper_mode_get(
  68249 			BCM_CONTROL(unit)->unit,
  68250 			mode);
  68251 }
  68252 
  68253 int
  68254 bcm_loop_udf_oper_mode_set(
  68255 	int	unit,
  68256 	bcm_udf_oper_mode_t	mode)
  68257 {
  68258 	return bcm_udf_oper_mode_set(
  68259 			BCM_CONTROL(unit)->unit,
  68260 			mode);
  68261 }
  68262 
  68263 int
  68264 bcm_loop_udf_pkt_format_add(
  68265 	int	unit,
  68266 	bcm_udf_id_t	udf_id,
  68267 	bcm_udf_pkt_format_id_t	pkt_format_id)
  68268 {
  68269 	return bcm_udf_pkt_format_add(
  68270 			BCM_CONTROL(unit)->unit,
  68271 			udf_id,
  68272 			pkt_format_id);
  68273 }
  68274 
  68275 int
  68276 bcm_loop_udf_pkt_format_create(
  68277 	int	unit,
  68278 	bcm_udf_pkt_format_options_t	options,
  68279 	bcm_udf_pkt_format_info_t *	pkt_format,
  68280 	bcm_udf_pkt_format_id_t *	pkt_format_id)
  68281 {
  68282 	return bcm_udf_pkt_format_create(
  68283 			BCM_CONTROL(unit)->unit,
  68284 			options,
  68285 			pkt_format,
  68286 			pkt_format_id);
  68287 }
  68288 
  68289 int
  68290 bcm_loop_udf_pkt_format_delete(
  68291 	int	unit,
  68292 	bcm_udf_id_t	udf_id,
  68293 	bcm_udf_pkt_format_id_t	pkt_format_id)
  68294 {
  68295 	return bcm_udf_pkt_format_delete(
  68296 			BCM_CONTROL(unit)->unit,
  68297 			udf_id,
  68298 			pkt_format_id);
  68299 }
  68300 
  68301 int
  68302 bcm_loop_udf_pkt_format_delete_all(
  68303 	int	unit,
  68304 	bcm_udf_id_t	udf_id)
  68305 {
  68306 	return bcm_udf_pkt_format_delete_all(
  68307 			BCM_CONTROL(unit)->unit,
  68308 			udf_id);
  68309 }
  68310 
  68311 int
  68312 bcm_loop_udf_pkt_format_destroy(
  68313 	int	unit,
  68314 	bcm_udf_pkt_format_id_t	pkt_format_id)
  68315 {
  68316 	return bcm_udf_pkt_format_destroy(
  68317 			BCM_CONTROL(unit)->unit,
  68318 			pkt_format_id);
  68319 }
  68320 
  68321 int
  68322 bcm_loop_udf_pkt_format_get(
  68323 	int	unit,
  68324 	bcm_udf_pkt_format_id_t	pkt_format_id,
  68325 	int	max,
  68326 	bcm_udf_id_t *	udf_id_list,
  68327 	int *	actual)
  68328 {
  68329 	return bcm_udf_pkt_format_get(
  68330 			BCM_CONTROL(unit)->unit,
  68331 			pkt_format_id,
  68332 			max,
  68333 			udf_id_list,
  68334 			actual);
  68335 }
  68336 
  68337 int
  68338 bcm_loop_udf_pkt_format_get_all(
  68339 	int	unit,
  68340 	bcm_udf_id_t	udf_id,
  68341 	int	max,
  68342 	bcm_udf_pkt_format_id_t *	pkt_format_id_list,
  68343 	int *	actual)
  68344 {
  68345 	return bcm_udf_pkt_format_get_all(
  68346 			BCM_CONTROL(unit)->unit,
  68347 			udf_id,
  68348 			max,
  68349 			pkt_format_id_list,
  68350 			actual);
  68351 }
  68352 
  68353 int
  68354 bcm_loop_udf_pkt_format_info_get(
  68355 	int	unit,
  68356 	bcm_udf_pkt_format_id_t	pkt_format_id,
  68357 	bcm_udf_pkt_format_info_t *	pkt_format)
  68358 {
  68359 	return bcm_udf_pkt_format_info_get(
  68360 			BCM_CONTROL(unit)->unit,
  68361 			pkt_format_id,
  68362 			pkt_format);
  68363 }
  68364 
  68365 /* bcm_udf_pkt_format_info_t_init not dispatchable */
  68366 
  68367 int
  68368 bcm_loop_udf_range_checker_chunk_info_get(
  68369 	int	unit,
  68370 	uint8 *	num_chunks,
  68371 	uint32 *	chunk_bmap)
  68372 {
  68373 	return bcm_udf_range_checker_chunk_info_get(
  68374 			BCM_CONTROL(unit)->unit,
  68375 			num_chunks,
  68376 			chunk_bmap);
  68377 }
  68378 
  68379 /* bcm_udf_t_init not dispatchable */
  68380 
  68381 /* bcm_unit_local not dispatchable */
  68382 
  68383 /* bcm_unit_max not dispatchable */
  68384 
  68385 /* bcm_unit_remote not dispatchable */
  68386 
  68387 /* bcm_unit_remote_unit_get not dispatchable */
  68388 
  68389 /* bcm_unit_subtype_get not dispatchable */
  68390 
  68391 /* bcm_unit_valid not dispatchable */
  68392 
  68393 /* bcm_vlan_action_set_t_init not dispatchable */
  68394 
  68395 int
  68396 bcm_loop_vlan_block_get(
  68397 	int	unit,
  68398 	bcm_vlan_t	vlan,
  68399 	bcm_vlan_block_t *	vlan_block)
  68400 {
  68401 	return bcm_vlan_block_get(
  68402 			BCM_CONTROL(unit)->unit,
  68403 			vlan,
  68404 			vlan_block);
  68405 }
  68406 
  68407 int
  68408 bcm_loop_vlan_block_set(
  68409 	int	unit,
  68410 	bcm_vlan_t	vlan,
  68411 	bcm_vlan_block_t *	vlan_block)
  68412 {
  68413 	return bcm_vlan_block_set(
  68414 			BCM_CONTROL(unit)->unit,
  68415 			vlan,
  68416 			vlan_block);
  68417 }
  68418 
  68419 /* bcm_vlan_block_t_init not dispatchable */
  68420 
  68421 int
  68422 bcm_loop_vlan_control_get(
  68423 	int	unit,
  68424 	bcm_vlan_control_t	type,
  68425 	int *	arg)
  68426 {
  68427 	return bcm_vlan_control_get(
  68428 			BCM_CONTROL(unit)->unit,
  68429 			type,
  68430 			arg);
  68431 }
  68432 
  68433 int
  68434 bcm_loop_vlan_control_port_get(
  68435 	int	unit,
  68436 	int	port,
  68437 	bcm_vlan_control_port_t	type,
  68438 	int *	arg)
  68439 {
  68440 	return bcm_vlan_control_port_get(
  68441 			BCM_CONTROL(unit)->unit,
  68442 			port,
  68443 			type,
  68444 			arg);
  68445 }
  68446 
  68447 int
  68448 bcm_loop_vlan_control_port_set(
  68449 	int	unit,
  68450 	int	port,
  68451 	bcm_vlan_control_port_t	type,
  68452 	int	arg)
  68453 {
  68454 	return bcm_vlan_control_port_set(
  68455 			BCM_CONTROL(unit)->unit,
  68456 			port,
  68457 			type,
  68458 			arg);
  68459 }
  68460 
  68461 int
  68462 bcm_loop_vlan_control_set(
  68463 	int	unit,
  68464 	bcm_vlan_control_t	type,
  68465 	int	arg)
  68466 {
  68467 	return bcm_vlan_control_set(
  68468 			BCM_CONTROL(unit)->unit,
  68469 			type,
  68470 			arg);
  68471 }
  68472 
  68473 int
  68474 bcm_loop_vlan_control_vlan_get(
  68475 	int	unit,
  68476 	bcm_vlan_t	vlan,
  68477 	bcm_vlan_control_vlan_t *	control)
  68478 {
  68479 	return bcm_vlan_control_vlan_get(
  68480 			BCM_CONTROL(unit)->unit,
  68481 			vlan,
  68482 			control);
  68483 }
  68484 
  68485 int
  68486 bcm_loop_vlan_control_vlan_selective_get(
  68487 	int	unit,
  68488 	bcm_vlan_t	vlan,
  68489 	uint32	valid_fields,
  68490 	bcm_vlan_control_vlan_t *	control)
  68491 {
  68492 	return bcm_vlan_control_vlan_selective_get(
  68493 			BCM_CONTROL(unit)->unit,
  68494 			vlan,
  68495 			valid_fields,
  68496 			control);
  68497 }
  68498 
  68499 int
  68500 bcm_loop_vlan_control_vlan_selective_set(
  68501 	int	unit,
  68502 	bcm_vlan_t	vlan,
  68503 	uint32	valid_fields,
  68504 	bcm_vlan_control_vlan_t *	control)
  68505 {
  68506 	return bcm_vlan_control_vlan_selective_set(
  68507 			BCM_CONTROL(unit)->unit,
  68508 			vlan,
  68509 			valid_fields,
  68510 			control);
  68511 }
  68512 
  68513 int
  68514 bcm_loop_vlan_control_vlan_set(
  68515 	int	unit,
  68516 	bcm_vlan_t	vlan,
  68517 	bcm_vlan_control_vlan_t	control)
  68518 {
  68519 	return bcm_vlan_control_vlan_set(
  68520 			BCM_CONTROL(unit)->unit,
  68521 			vlan,
  68522 			control);
  68523 }
  68524 
  68525 /* bcm_vlan_control_vlan_t_init not dispatchable */
  68526 
  68527 int
  68528 bcm_loop_vlan_create(
  68529 	int	unit,
  68530 	bcm_vlan_t	vid)
  68531 {
  68532 	return bcm_vlan_create(
  68533 			BCM_CONTROL(unit)->unit,
  68534 			vid);
  68535 }
  68536 
  68537 int
  68538 bcm_loop_vlan_cross_connect_add(
  68539 	int	unit,
  68540 	bcm_vlan_t	outer_vlan,
  68541 	bcm_vlan_t	inner_vlan,
  68542 	bcm_gport_t	port_1,
  68543 	bcm_gport_t	port_2)
  68544 {
  68545 	return bcm_vlan_cross_connect_add(
  68546 			BCM_CONTROL(unit)->unit,
  68547 			outer_vlan,
  68548 			inner_vlan,
  68549 			port_1,
  68550 			port_2);
  68551 }
  68552 
  68553 int
  68554 bcm_loop_vlan_cross_connect_delete(
  68555 	int	unit,
  68556 	bcm_vlan_t	outer_vlan,
  68557 	bcm_vlan_t	inner_vlan)
  68558 {
  68559 	return bcm_vlan_cross_connect_delete(
  68560 			BCM_CONTROL(unit)->unit,
  68561 			outer_vlan,
  68562 			inner_vlan);
  68563 }
  68564 
  68565 int
  68566 bcm_loop_vlan_cross_connect_delete_all(
  68567 	int	unit)
  68568 {
  68569 	return bcm_vlan_cross_connect_delete_all(
  68570 			BCM_CONTROL(unit)->unit);
  68571 }
  68572 
  68573 int
  68574 bcm_loop_vlan_cross_connect_traverse(
  68575 	int	unit,
  68576 	bcm_vlan_cross_connect_traverse_cb	cb,
  68577 	void *	user_data)
  68578 {
  68579 	return bcm_vlan_cross_connect_traverse(
  68580 			BCM_CONTROL(unit)->unit,
  68581 			cb,
  68582 			user_data);
  68583 }
  68584 
  68585 /* bcm_vlan_data_t_init not dispatchable */
  68586 
  68587 int
  68588 bcm_loop_vlan_default_get(
  68589 	int	unit,
  68590 	bcm_vlan_t *	vid_ptr)
  68591 {
  68592 	return bcm_vlan_default_get(
  68593 			BCM_CONTROL(unit)->unit,
  68594 			vid_ptr);
  68595 }
  68596 
  68597 int
  68598 bcm_loop_vlan_default_set(
  68599 	int	unit,
  68600 	bcm_vlan_t	vid)
  68601 {
  68602 	return bcm_vlan_default_set(
  68603 			BCM_CONTROL(unit)->unit,
  68604 			vid);
  68605 }
  68606 
  68607 int
  68608 bcm_loop_vlan_destroy(
  68609 	int	unit,
  68610 	bcm_vlan_t	vid)
  68611 {
  68612 	return bcm_vlan_destroy(
  68613 			BCM_CONTROL(unit)->unit,
  68614 			vid);
  68615 }
  68616 
  68617 int
  68618 bcm_loop_vlan_destroy_all(
  68619 	int	unit)
  68620 {
  68621 	return bcm_vlan_destroy_all(
  68622 			BCM_CONTROL(unit)->unit);
  68623 }
  68624 
  68625 int
  68626 bcm_loop_vlan_dtag_add(
  68627 	int	unit,
  68628 	int	port,
  68629 	bcm_vlan_t	old_vid,
  68630 	bcm_vlan_t	new_vid,
  68631 	int	prio)
  68632 {
  68633 	return bcm_vlan_dtag_add(
  68634 			BCM_CONTROL(unit)->unit,
  68635 			port,
  68636 			old_vid,
  68637 			new_vid,
  68638 			prio);
  68639 }
  68640 
  68641 int
  68642 bcm_loop_vlan_dtag_delete(
  68643 	int	unit,
  68644 	int	port,
  68645 	bcm_vlan_t	old_vid)
  68646 {
  68647 	return bcm_vlan_dtag_delete(
  68648 			BCM_CONTROL(unit)->unit,
  68649 			port,
  68650 			old_vid);
  68651 }
  68652 
  68653 int
  68654 bcm_loop_vlan_dtag_delete_all(
  68655 	int	unit)
  68656 {
  68657 	return bcm_vlan_dtag_delete_all(
  68658 			BCM_CONTROL(unit)->unit);
  68659 }
  68660 
  68661 int
  68662 bcm_loop_vlan_dtag_get(
  68663 	int	unit,
  68664 	int	port,
  68665 	bcm_vlan_t	old_vid,
  68666 	bcm_vlan_t *	new_vid,
  68667 	int *	prio)
  68668 {
  68669 	return bcm_vlan_dtag_get(
  68670 			BCM_CONTROL(unit)->unit,
  68671 			port,
  68672 			old_vid,
  68673 			new_vid,
  68674 			prio);
  68675 }
  68676 
  68677 int
  68678 bcm_loop_vlan_dtag_range_add(
  68679 	int	unit,
  68680 	int	port,
  68681 	bcm_vlan_t	old_vid_low,
  68682 	bcm_vlan_t	old_vid_high,
  68683 	bcm_vlan_t	new_vid,
  68684 	int	int_prio)
  68685 {
  68686 	return bcm_vlan_dtag_range_add(
  68687 			BCM_CONTROL(unit)->unit,
  68688 			port,
  68689 			old_vid_low,
  68690 			old_vid_high,
  68691 			new_vid,
  68692 			int_prio);
  68693 }
  68694 
  68695 int
  68696 bcm_loop_vlan_dtag_range_delete(
  68697 	int	unit,
  68698 	int	port,
  68699 	bcm_vlan_t	old_vid_low,
  68700 	bcm_vlan_t	old_vid_high)
  68701 {
  68702 	return bcm_vlan_dtag_range_delete(
  68703 			BCM_CONTROL(unit)->unit,
  68704 			port,
  68705 			old_vid_low,
  68706 			old_vid_high);
  68707 }
  68708 
  68709 int
  68710 bcm_loop_vlan_dtag_range_delete_all(
  68711 	int	unit)
  68712 {
  68713 	return bcm_vlan_dtag_range_delete_all(
  68714 			BCM_CONTROL(unit)->unit);
  68715 }
  68716 
  68717 int
  68718 bcm_loop_vlan_dtag_range_get(
  68719 	int	unit,
  68720 	int	port,
  68721 	bcm_vlan_t	old_vid_low,
  68722 	bcm_vlan_t	old_vid_high,
  68723 	bcm_vlan_t *	new_vid,
  68724 	int *	prio)
  68725 {
  68726 	return bcm_vlan_dtag_range_get(
  68727 			BCM_CONTROL(unit)->unit,
  68728 			port,
  68729 			old_vid_low,
  68730 			old_vid_high,
  68731 			new_vid,
  68732 			prio);
  68733 }
  68734 
  68735 int
  68736 bcm_loop_vlan_dtag_range_traverse(
  68737 	int	unit,
  68738 	bcm_vlan_dtag_range_traverse_cb	cb,
  68739 	void *	user_data)
  68740 {
  68741 	return bcm_vlan_dtag_range_traverse(
  68742 			BCM_CONTROL(unit)->unit,
  68743 			cb,
  68744 			user_data);
  68745 }
  68746 
  68747 int
  68748 bcm_loop_vlan_dtag_traverse(
  68749 	int	unit,
  68750 	bcm_vlan_dtag_traverse_cb	cb,
  68751 	void *	user_data)
  68752 {
  68753 	return bcm_vlan_dtag_traverse(
  68754 			BCM_CONTROL(unit)->unit,
  68755 			cb,
  68756 			user_data);
  68757 }
  68758 
  68759 int
  68760 bcm_loop_vlan_gport_add(
  68761 	int	unit,
  68762 	bcm_vlan_t	vlan,
  68763 	bcm_gport_t	port,
  68764 	int	flags)
  68765 {
  68766 	return bcm_vlan_gport_add(
  68767 			BCM_CONTROL(unit)->unit,
  68768 			vlan,
  68769 			port,
  68770 			flags);
  68771 }
  68772 
  68773 int
  68774 bcm_loop_vlan_gport_delete(
  68775 	int	unit,
  68776 	bcm_vlan_t	vlan,
  68777 	bcm_gport_t	port)
  68778 {
  68779 	return bcm_vlan_gport_delete(
  68780 			BCM_CONTROL(unit)->unit,
  68781 			vlan,
  68782 			port);
  68783 }
  68784 
  68785 int
  68786 bcm_loop_vlan_gport_delete_all(
  68787 	int	unit,
  68788 	bcm_vlan_t	vlan)
  68789 {
  68790 	return bcm_vlan_gport_delete_all(
  68791 			BCM_CONTROL(unit)->unit,
  68792 			vlan);
  68793 }
  68794 
  68795 int
  68796 bcm_loop_vlan_gport_extended_delete(
  68797 	int	unit,
  68798 	bcm_vlan_t	vlan,
  68799 	bcm_gport_t	port,
  68800 	int	flags)
  68801 {
  68802 	return bcm_vlan_gport_extended_delete(
  68803 			BCM_CONTROL(unit)->unit,
  68804 			vlan,
  68805 			port,
  68806 			flags);
  68807 }
  68808 
  68809 int
  68810 bcm_loop_vlan_gport_get(
  68811 	int	unit,
  68812 	bcm_vlan_t	vlan,
  68813 	bcm_gport_t	port,
  68814 	int *	flags)
  68815 {
  68816 	return bcm_vlan_gport_get(
  68817 			BCM_CONTROL(unit)->unit,
  68818 			vlan,
  68819 			port,
  68820 			flags);
  68821 }
  68822 
  68823 int
  68824 bcm_loop_vlan_gport_get_all(
  68825 	int	unit,
  68826 	bcm_vlan_t	vlan,
  68827 	int	array_max,
  68828 	bcm_gport_t *	gport_array,
  68829 	int *	flags_array,
  68830 	int *	array_size)
  68831 {
  68832 	return bcm_vlan_gport_get_all(
  68833 			BCM_CONTROL(unit)->unit,
  68834 			vlan,
  68835 			array_max,
  68836 			gport_array,
  68837 			flags_array,
  68838 			array_size);
  68839 }
  68840 
  68841 int
  68842 bcm_loop_vlan_gport_info_get(
  68843 	int	unit,
  68844 	bcm_vlan_gport_info_t *	vlan_gport_info)
  68845 {
  68846 	return bcm_vlan_gport_info_get(
  68847 			BCM_CONTROL(unit)->unit,
  68848 			vlan_gport_info);
  68849 }
  68850 
  68851 /* bcm_vlan_gport_info_t_init not dispatchable */
  68852 
  68853 int
  68854 bcm_loop_vlan_init(
  68855 	int	unit)
  68856 {
  68857 	return bcm_vlan_init(
  68858 			BCM_CONTROL(unit)->unit);
  68859 }
  68860 
  68861 int
  68862 bcm_loop_vlan_ip_action_add(
  68863 	int	unit,
  68864 	bcm_vlan_ip_t *	vlan_ip,
  68865 	bcm_vlan_action_set_t *	action)
  68866 {
  68867 	return bcm_vlan_ip_action_add(
  68868 			BCM_CONTROL(unit)->unit,
  68869 			vlan_ip,
  68870 			action);
  68871 }
  68872 
  68873 int
  68874 bcm_loop_vlan_ip_action_delete(
  68875 	int	unit,
  68876 	bcm_vlan_ip_t *	vlan_ip)
  68877 {
  68878 	return bcm_vlan_ip_action_delete(
  68879 			BCM_CONTROL(unit)->unit,
  68880 			vlan_ip);
  68881 }
  68882 
  68883 int
  68884 bcm_loop_vlan_ip_action_delete_all(
  68885 	int	unit)
  68886 {
  68887 	return bcm_vlan_ip_action_delete_all(
  68888 			BCM_CONTROL(unit)->unit);
  68889 }
  68890 
  68891 int
  68892 bcm_loop_vlan_ip_action_get(
  68893 	int	unit,
  68894 	bcm_vlan_ip_t *	vlan_ip,
  68895 	bcm_vlan_action_set_t *	action)
  68896 {
  68897 	return bcm_vlan_ip_action_get(
  68898 			BCM_CONTROL(unit)->unit,
  68899 			vlan_ip,
  68900 			action);
  68901 }
  68902 
  68903 int
  68904 bcm_loop_vlan_ip_action_traverse(
  68905 	int	unit,
  68906 	bcm_vlan_ip_action_traverse_cb	cb,
  68907 	void *	user_data)
  68908 {
  68909 	return bcm_vlan_ip_action_traverse(
  68910 			BCM_CONTROL(unit)->unit,
  68911 			cb,
  68912 			user_data);
  68913 }
  68914 
  68915 int
  68916 bcm_loop_vlan_ip_add(
  68917 	int	unit,
  68918 	bcm_vlan_ip_t *	vlan_ip)
  68919 {
  68920 	return bcm_vlan_ip_add(
  68921 			BCM_CONTROL(unit)->unit,
  68922 			vlan_ip);
  68923 }
  68924 
  68925 int
  68926 bcm_loop_vlan_ip_delete(
  68927 	int	unit,
  68928 	bcm_vlan_ip_t *	vlan_ip)
  68929 {
  68930 	return bcm_vlan_ip_delete(
  68931 			BCM_CONTROL(unit)->unit,
  68932 			vlan_ip);
  68933 }
  68934 
  68935 int
  68936 bcm_loop_vlan_ip_delete_all(
  68937 	int	unit)
  68938 {
  68939 	return bcm_vlan_ip_delete_all(
  68940 			BCM_CONTROL(unit)->unit);
  68941 }
  68942 
  68943 /* bcm_vlan_ip_t_init not dispatchable */
  68944 
  68945 int
  68946 bcm_loop_vlan_list(
  68947 	int	unit,
  68948 	bcm_vlan_data_t **	listp,
  68949 	int *	countp)
  68950 {
  68951 	return bcm_vlan_list(
  68952 			BCM_CONTROL(unit)->unit,
  68953 			listp,
  68954 			countp);
  68955 }
  68956 
  68957 int
  68958 bcm_loop_vlan_list_by_pbmp(
  68959 	int	unit,
  68960 	bcm_pbmp_t	ports,
  68961 	bcm_vlan_data_t **	listp,
  68962 	int *	countp)
  68963 {
  68964 	return bcm_vlan_list_by_pbmp(
  68965 			BCM_CONTROL(unit)->unit,
  68966 			ports,
  68967 			listp,
  68968 			countp);
  68969 }
  68970 
  68971 int
  68972 bcm_loop_vlan_list_destroy(
  68973 	int	unit,
  68974 	bcm_vlan_data_t *	list,
  68975 	int	count)
  68976 {
  68977 	return bcm_vlan_list_destroy(
  68978 			BCM_CONTROL(unit)->unit,
  68979 			list,
  68980 			count);
  68981 }
  68982 
  68983 int
  68984 bcm_loop_vlan_mac_action_add(
  68985 	int	unit,
  68986 	bcm_mac_t	mac,
  68987 	bcm_vlan_action_set_t *	action)
  68988 {
  68989 	return bcm_vlan_mac_action_add(
  68990 			BCM_CONTROL(unit)->unit,
  68991 			mac,
  68992 			action);
  68993 }
  68994 
  68995 int
  68996 bcm_loop_vlan_mac_action_delete(
  68997 	int	unit,
  68998 	bcm_mac_t	mac)
  68999 {
  69000 	return bcm_vlan_mac_action_delete(
  69001 			BCM_CONTROL(unit)->unit,
  69002 			mac);
  69003 }
  69004 
  69005 int
  69006 bcm_loop_vlan_mac_action_delete_all(
  69007 	int	unit)
  69008 {
  69009 	return bcm_vlan_mac_action_delete_all(
  69010 			BCM_CONTROL(unit)->unit);
  69011 }
  69012 
  69013 int
  69014 bcm_loop_vlan_mac_action_get(
  69015 	int	unit,
  69016 	bcm_mac_t	mac,
  69017 	bcm_vlan_action_set_t *	action)
  69018 {
  69019 	return bcm_vlan_mac_action_get(
  69020 			BCM_CONTROL(unit)->unit,
  69021 			mac,
  69022 			action);
  69023 }
  69024 
  69025 int
  69026 bcm_loop_vlan_mac_action_traverse(
  69027 	int	unit,
  69028 	bcm_vlan_mac_action_traverse_cb	cb,
  69029 	void *	user_data)
  69030 {
  69031 	return bcm_vlan_mac_action_traverse(
  69032 			BCM_CONTROL(unit)->unit,
  69033 			cb,
  69034 			user_data);
  69035 }
  69036 
  69037 int
  69038 bcm_loop_vlan_mac_add(
  69039 	int	unit,
  69040 	bcm_mac_t	mac,
  69041 	bcm_vlan_t	vid,
  69042 	int	prio)
  69043 {
  69044 	return bcm_vlan_mac_add(
  69045 			BCM_CONTROL(unit)->unit,
  69046 			mac,
  69047 			vid,
  69048 			prio);
  69049 }
  69050 
  69051 int
  69052 bcm_loop_vlan_mac_delete(
  69053 	int	unit,
  69054 	bcm_mac_t	mac)
  69055 {
  69056 	return bcm_vlan_mac_delete(
  69057 			BCM_CONTROL(unit)->unit,
  69058 			mac);
  69059 }
  69060 
  69061 int
  69062 bcm_loop_vlan_mac_delete_all(
  69063 	int	unit)
  69064 {
  69065 	return bcm_vlan_mac_delete_all(
  69066 			BCM_CONTROL(unit)->unit);
  69067 }
  69068 
  69069 int
  69070 bcm_loop_vlan_match_action_add(
  69071 	int	unit,
  69072 	uint32	options,
  69073 	bcm_vlan_match_info_t *	match_info,
  69074 	bcm_vlan_action_set_t *	action_set)
  69075 {
  69076 	return bcm_vlan_match_action_add(
  69077 			BCM_CONTROL(unit)->unit,
  69078 			options,
  69079 			match_info,
  69080 			action_set);
  69081 }
  69082 
  69083 int
  69084 bcm_loop_vlan_match_action_delete(
  69085 	int	unit,
  69086 	bcm_vlan_match_info_t *	match_info)
  69087 {
  69088 	return bcm_vlan_match_action_delete(
  69089 			BCM_CONTROL(unit)->unit,
  69090 			match_info);
  69091 }
  69092 
  69093 int
  69094 bcm_loop_vlan_match_action_delete_all(
  69095 	int	unit,
  69096 	bcm_vlan_match_t	match)
  69097 {
  69098 	return bcm_vlan_match_action_delete_all(
  69099 			BCM_CONTROL(unit)->unit,
  69100 			match);
  69101 }
  69102 
  69103 int
  69104 bcm_loop_vlan_match_action_get(
  69105 	int	unit,
  69106 	bcm_vlan_match_info_t *	match_info,
  69107 	bcm_vlan_action_set_t *	action_set)
  69108 {
  69109 	return bcm_vlan_match_action_get(
  69110 			BCM_CONTROL(unit)->unit,
  69111 			match_info,
  69112 			action_set);
  69113 }
  69114 
  69115 int
  69116 bcm_loop_vlan_match_action_multi_get(
  69117 	int	unit,
  69118 	bcm_vlan_match_t	match,
  69119 	int	size,
  69120 	bcm_vlan_match_info_t *	match_info_array,
  69121 	bcm_vlan_action_set_t *	action_set_array,
  69122 	int *	count)
  69123 {
  69124 	return bcm_vlan_match_action_multi_get(
  69125 			BCM_CONTROL(unit)->unit,
  69126 			match,
  69127 			size,
  69128 			match_info_array,
  69129 			action_set_array,
  69130 			count);
  69131 }
  69132 
  69133 /* bcm_vlan_match_info_t_init not dispatchable */
  69134 
  69135 int
  69136 bcm_loop_vlan_mcast_flood_get(
  69137 	int	unit,
  69138 	bcm_vlan_t	vlan,
  69139 	bcm_vlan_mcast_flood_t *	mode)
  69140 {
  69141 	return bcm_vlan_mcast_flood_get(
  69142 			BCM_CONTROL(unit)->unit,
  69143 			vlan,
  69144 			mode);
  69145 }
  69146 
  69147 int
  69148 bcm_loop_vlan_mcast_flood_set(
  69149 	int	unit,
  69150 	bcm_vlan_t	vlan,
  69151 	bcm_vlan_mcast_flood_t	mode)
  69152 {
  69153 	return bcm_vlan_mcast_flood_set(
  69154 			BCM_CONTROL(unit)->unit,
  69155 			vlan,
  69156 			mode);
  69157 }
  69158 
  69159 int
  69160 bcm_loop_vlan_policer_get(
  69161 	int	unit,
  69162 	bcm_vlan_t	vlan,
  69163 	bcm_policer_t *	policer_id)
  69164 {
  69165 	return bcm_vlan_policer_get(
  69166 			BCM_CONTROL(unit)->unit,
  69167 			vlan,
  69168 			policer_id);
  69169 }
  69170 
  69171 int
  69172 bcm_loop_vlan_policer_set(
  69173 	int	unit,
  69174 	bcm_vlan_t	vlan,
  69175 	bcm_policer_t	policer_id)
  69176 {
  69177 	return bcm_vlan_policer_set(
  69178 			BCM_CONTROL(unit)->unit,
  69179 			vlan,
  69180 			policer_id);
  69181 }
  69182 
  69183 int
  69184 bcm_loop_vlan_port_add(
  69185 	int	unit,
  69186 	bcm_vlan_t	vid,
  69187 	bcm_pbmp_t	pbmp,
  69188 	bcm_pbmp_t	ubmp)
  69189 {
  69190 	return bcm_vlan_port_add(
  69191 			BCM_CONTROL(unit)->unit,
  69192 			vid,
  69193 			pbmp,
  69194 			ubmp);
  69195 }
  69196 
  69197 int
  69198 bcm_loop_vlan_port_create(
  69199 	int	unit,
  69200 	bcm_vlan_port_t *	vlan_port)
  69201 {
  69202 	return bcm_vlan_port_create(
  69203 			BCM_CONTROL(unit)->unit,
  69204 			vlan_port);
  69205 }
  69206 
  69207 int
  69208 bcm_loop_vlan_port_default_action_delete(
  69209 	int	unit,
  69210 	bcm_port_t	port)
  69211 {
  69212 	return bcm_vlan_port_default_action_delete(
  69213 			BCM_CONTROL(unit)->unit,
  69214 			port);
  69215 }
  69216 
  69217 int
  69218 bcm_loop_vlan_port_default_action_get(
  69219 	int	unit,
  69220 	bcm_port_t	port,
  69221 	bcm_vlan_action_set_t *	action)
  69222 {
  69223 	return bcm_vlan_port_default_action_get(
  69224 			BCM_CONTROL(unit)->unit,
  69225 			port,
  69226 			action);
  69227 }
  69228 
  69229 int
  69230 bcm_loop_vlan_port_default_action_set(
  69231 	int	unit,
  69232 	bcm_port_t	port,
  69233 	bcm_vlan_action_set_t *	action)
  69234 {
  69235 	return bcm_vlan_port_default_action_set(
  69236 			BCM_CONTROL(unit)->unit,
  69237 			port,
  69238 			action);
  69239 }
  69240 
  69241 int
  69242 bcm_loop_vlan_port_destroy(
  69243 	int	unit,
  69244 	bcm_gport_t	gport)
  69245 {
  69246 	return bcm_vlan_port_destroy(
  69247 			BCM_CONTROL(unit)->unit,
  69248 			gport);
  69249 }
  69250 
  69251 int
  69252 bcm_loop_vlan_port_egress_default_action_delete(
  69253 	int	unit,
  69254 	bcm_port_t	port)
  69255 {
  69256 	return bcm_vlan_port_egress_default_action_delete(
  69257 			BCM_CONTROL(unit)->unit,
  69258 			port);
  69259 }
  69260 
  69261 int
  69262 bcm_loop_vlan_port_egress_default_action_get(
  69263 	int	unit,
  69264 	bcm_port_t	port,
  69265 	bcm_vlan_action_set_t *	action)
  69266 {
  69267 	return bcm_vlan_port_egress_default_action_get(
  69268 			BCM_CONTROL(unit)->unit,
  69269 			port,
  69270 			action);
  69271 }
  69272 
  69273 int
  69274 bcm_loop_vlan_port_egress_default_action_set(
  69275 	int	unit,
  69276 	bcm_port_t	port,
  69277 	bcm_vlan_action_set_t *	action)
  69278 {
  69279 	return bcm_vlan_port_egress_default_action_set(
  69280 			BCM_CONTROL(unit)->unit,
  69281 			port,
  69282 			action);
  69283 }
  69284 
  69285 int
  69286 bcm_loop_vlan_port_find(
  69287 	int	unit,
  69288 	bcm_vlan_port_t *	vlan_port)
  69289 {
  69290 	return bcm_vlan_port_find(
  69291 			BCM_CONTROL(unit)->unit,
  69292 			vlan_port);
  69293 }
  69294 
  69295 int
  69296 bcm_loop_vlan_port_get(
  69297 	int	unit,
  69298 	bcm_vlan_t	vid,
  69299 	bcm_pbmp_t *	pbmp,
  69300 	bcm_pbmp_t *	ubmp)
  69301 {
  69302 	return bcm_vlan_port_get(
  69303 			BCM_CONTROL(unit)->unit,
  69304 			vid,
  69305 			pbmp,
  69306 			ubmp);
  69307 }
  69308 
  69309 int
  69310 bcm_loop_vlan_port_protocol_action_add(
  69311 	int	unit,
  69312 	bcm_port_t	port,
  69313 	bcm_port_frametype_t	frame,
  69314 	bcm_port_ethertype_t	ether,
  69315 	bcm_vlan_action_set_t *	action)
  69316 {
  69317 	return bcm_vlan_port_protocol_action_add(
  69318 			BCM_CONTROL(unit)->unit,
  69319 			port,
  69320 			frame,
  69321 			ether,
  69322 			action);
  69323 }
  69324 
  69325 int
  69326 bcm_loop_vlan_port_protocol_action_delete(
  69327 	int	unit,
  69328 	bcm_port_t	port,
  69329 	bcm_port_frametype_t	frame,
  69330 	bcm_port_ethertype_t	ether)
  69331 {
  69332 	return bcm_vlan_port_protocol_action_delete(
  69333 			BCM_CONTROL(unit)->unit,
  69334 			port,
  69335 			frame,
  69336 			ether);
  69337 }
  69338 
  69339 int
  69340 bcm_loop_vlan_port_protocol_action_delete_all(
  69341 	int	unit,
  69342 	bcm_port_t	port)
  69343 {
  69344 	return bcm_vlan_port_protocol_action_delete_all(
  69345 			BCM_CONTROL(unit)->unit,
  69346 			port);
  69347 }
  69348 
  69349 int
  69350 bcm_loop_vlan_port_protocol_action_get(
  69351 	int	unit,
  69352 	bcm_port_t	port,
  69353 	bcm_port_frametype_t	frame,
  69354 	bcm_port_ethertype_t	ether,
  69355 	bcm_vlan_action_set_t *	action)
  69356 {
  69357 	return bcm_vlan_port_protocol_action_get(
  69358 			BCM_CONTROL(unit)->unit,
  69359 			port,
  69360 			frame,
  69361 			ether,
  69362 			action);
  69363 }
  69364 
  69365 int
  69366 bcm_loop_vlan_port_protocol_action_traverse(
  69367 	int	unit,
  69368 	bcm_vlan_port_protocol_action_traverse_cb	cb,
  69369 	void *	user_data)
  69370 {
  69371 	return bcm_vlan_port_protocol_action_traverse(
  69372 			BCM_CONTROL(unit)->unit,
  69373 			cb,
  69374 			user_data);
  69375 }
  69376 
  69377 int
  69378 bcm_loop_vlan_port_remove(
  69379 	int	unit,
  69380 	bcm_vlan_t	vid,
  69381 	bcm_pbmp_t	pbmp)
  69382 {
  69383 	return bcm_vlan_port_remove(
  69384 			BCM_CONTROL(unit)->unit,
  69385 			vid,
  69386 			pbmp);
  69387 }
  69388 
  69389 int
  69390 bcm_loop_vlan_port_stat_multi_get(
  69391 	int	unit,
  69392 	bcm_vlan_t	vlan,
  69393 	bcm_port_t	port,
  69394 	bcm_cos_t	cos,
  69395 	int	nstat,
  69396 	bcm_vlan_stat_t *	stat_arr,
  69397 	uint64 *	value_arr)
  69398 {
  69399 	return bcm_vlan_port_stat_multi_get(
  69400 			BCM_CONTROL(unit)->unit,
  69401 			vlan,
  69402 			port,
  69403 			cos,
  69404 			nstat,
  69405 			stat_arr,
  69406 			value_arr);
  69407 }
  69408 
  69409 int
  69410 bcm_loop_vlan_port_stat_multi_get32(
  69411 	int	unit,
  69412 	bcm_vlan_t	vlan,
  69413 	bcm_port_t	port,
  69414 	bcm_cos_t	cos,
  69415 	int	nstat,
  69416 	bcm_vlan_stat_t *	stat_arr,
  69417 	uint32 *	value_arr)
  69418 {
  69419 	return bcm_vlan_port_stat_multi_get32(
  69420 			BCM_CONTROL(unit)->unit,
  69421 			vlan,
  69422 			port,
  69423 			cos,
  69424 			nstat,
  69425 			stat_arr,
  69426 			value_arr);
  69427 }
  69428 
  69429 int
  69430 bcm_loop_vlan_port_stat_multi_set(
  69431 	int	unit,
  69432 	bcm_vlan_t	vlan,
  69433 	bcm_port_t	port,
  69434 	bcm_cos_t	cos,
  69435 	int	nstat,
  69436 	bcm_vlan_stat_t *	stat_arr,
  69437 	uint64 *	value_arr)
  69438 {
  69439 	return bcm_vlan_port_stat_multi_set(
  69440 			BCM_CONTROL(unit)->unit,
  69441 			vlan,
  69442 			port,
  69443 			cos,
  69444 			nstat,
  69445 			stat_arr,
  69446 			value_arr);
  69447 }
  69448 
  69449 int
  69450 bcm_loop_vlan_port_stat_multi_set32(
  69451 	int	unit,
  69452 	bcm_vlan_t	vlan,
  69453 	bcm_port_t	port,
  69454 	bcm_cos_t	cos,
  69455 	int	nstat,
  69456 	bcm_vlan_stat_t *	stat_arr,
  69457 	uint32 *	value_arr)
  69458 {
  69459 	return bcm_vlan_port_stat_multi_set32(
  69460 			BCM_CONTROL(unit)->unit,
  69461 			vlan,
  69462 			port,
  69463 			cos,
  69464 			nstat,
  69465 			stat_arr,
  69466 			value_arr);
  69467 }
  69468 
  69469 /* bcm_vlan_port_t_init not dispatchable */
  69470 
  69471 int
  69472 bcm_loop_vlan_port_translation_get(
  69473 	int	unit,
  69474 	bcm_vlan_port_translation_t *	vlan_port_translation)
  69475 {
  69476 	return bcm_vlan_port_translation_get(
  69477 			BCM_CONTROL(unit)->unit,
  69478 			vlan_port_translation);
  69479 }
  69480 
  69481 int
  69482 bcm_loop_vlan_port_translation_set(
  69483 	int	unit,
  69484 	bcm_vlan_port_translation_t *	vlan_port_translation)
  69485 {
  69486 	return bcm_vlan_port_translation_set(
  69487 			BCM_CONTROL(unit)->unit,
  69488 			vlan_port_translation);
  69489 }
  69490 
  69491 /* bcm_vlan_port_translation_t_init not dispatchable */
  69492 
  69493 int
  69494 bcm_loop_vlan_port_traverse(
  69495 	int	unit,
  69496 	bcm_vlan_port_traverse_info_t *	additional_info,
  69497 	bcm_vlan_port_traverse_cb	trav_fn,
  69498 	void *	user_data)
  69499 {
  69500 	return bcm_vlan_port_traverse(
  69501 			BCM_CONTROL(unit)->unit,
  69502 			additional_info,
  69503 			trav_fn,
  69504 			user_data);
  69505 }
  69506 
  69507 int
  69508 bcm_loop_vlan_queue_map_attach(
  69509 	int	unit,
  69510 	bcm_vlan_t	vlan,
  69511 	int	qmid)
  69512 {
  69513 	return bcm_vlan_queue_map_attach(
  69514 			BCM_CONTROL(unit)->unit,
  69515 			vlan,
  69516 			qmid);
  69517 }
  69518 
  69519 int
  69520 bcm_loop_vlan_queue_map_attach_get(
  69521 	int	unit,
  69522 	bcm_vlan_t	vlan,
  69523 	int *	qmid)
  69524 {
  69525 	return bcm_vlan_queue_map_attach_get(
  69526 			BCM_CONTROL(unit)->unit,
  69527 			vlan,
  69528 			qmid);
  69529 }
  69530 
  69531 int
  69532 bcm_loop_vlan_queue_map_create(
  69533 	int	unit,
  69534 	uint32	flags,
  69535 	int *	qmid)
  69536 {
  69537 	return bcm_vlan_queue_map_create(
  69538 			BCM_CONTROL(unit)->unit,
  69539 			flags,
  69540 			qmid);
  69541 }
  69542 
  69543 int
  69544 bcm_loop_vlan_queue_map_destroy(
  69545 	int	unit,
  69546 	int	qmid)
  69547 {
  69548 	return bcm_vlan_queue_map_destroy(
  69549 			BCM_CONTROL(unit)->unit,
  69550 			qmid);
  69551 }
  69552 
  69553 int
  69554 bcm_loop_vlan_queue_map_destroy_all(
  69555 	int	unit)
  69556 {
  69557 	return bcm_vlan_queue_map_destroy_all(
  69558 			BCM_CONTROL(unit)->unit);
  69559 }
  69560 
  69561 int
  69562 bcm_loop_vlan_queue_map_detach(
  69563 	int	unit,
  69564 	bcm_vlan_t	vlan)
  69565 {
  69566 	return bcm_vlan_queue_map_detach(
  69567 			BCM_CONTROL(unit)->unit,
  69568 			vlan);
  69569 }
  69570 
  69571 int
  69572 bcm_loop_vlan_queue_map_detach_all(
  69573 	int	unit)
  69574 {
  69575 	return bcm_vlan_queue_map_detach_all(
  69576 			BCM_CONTROL(unit)->unit);
  69577 }
  69578 
  69579 int
  69580 bcm_loop_vlan_queue_map_get(
  69581 	int	unit,
  69582 	int	qmid,
  69583 	int	pkt_pri,
  69584 	int	cfi,
  69585 	int *	queue,
  69586 	int *	color)
  69587 {
  69588 	return bcm_vlan_queue_map_get(
  69589 			BCM_CONTROL(unit)->unit,
  69590 			qmid,
  69591 			pkt_pri,
  69592 			cfi,
  69593 			queue,
  69594 			color);
  69595 }
  69596 
  69597 int
  69598 bcm_loop_vlan_queue_map_set(
  69599 	int	unit,
  69600 	int	qmid,
  69601 	int	pkt_pri,
  69602 	int	cfi,
  69603 	int	queue,
  69604 	int	color)
  69605 {
  69606 	return bcm_vlan_queue_map_set(
  69607 			BCM_CONTROL(unit)->unit,
  69608 			qmid,
  69609 			pkt_pri,
  69610 			cfi,
  69611 			queue,
  69612 			color);
  69613 }
  69614 
  69615 int
  69616 bcm_loop_vlan_stat_attach(
  69617 	int	unit,
  69618 	bcm_vlan_t	vlan,
  69619 	uint32	stat_counter_id)
  69620 {
  69621 	return bcm_vlan_stat_attach(
  69622 			BCM_CONTROL(unit)->unit,
  69623 			vlan,
  69624 			stat_counter_id);
  69625 }
  69626 
  69627 int
  69628 bcm_loop_vlan_stat_counter_get(
  69629 	int	unit,
  69630 	bcm_vlan_t	vlan,
  69631 	bcm_vlan_stat_t	stat,
  69632 	uint32	num_entries,
  69633 	uint32 *	counter_indexes,
  69634 	bcm_stat_value_t *	counter_values)
  69635 {
  69636 	return bcm_vlan_stat_counter_get(
  69637 			BCM_CONTROL(unit)->unit,
  69638 			vlan,
  69639 			stat,
  69640 			num_entries,
  69641 			counter_indexes,
  69642 			counter_values);
  69643 }
  69644 
  69645 int
  69646 bcm_loop_vlan_stat_counter_set(
  69647 	int	unit,
  69648 	bcm_vlan_t	vlan,
  69649 	bcm_vlan_stat_t	stat,
  69650 	uint32	num_entries,
  69651 	uint32 *	counter_indexes,
  69652 	bcm_stat_value_t *	counter_values)
  69653 {
  69654 	return bcm_vlan_stat_counter_set(
  69655 			BCM_CONTROL(unit)->unit,
  69656 			vlan,
  69657 			stat,
  69658 			num_entries,
  69659 			counter_indexes,
  69660 			counter_values);
  69661 }
  69662 
  69663 int
  69664 bcm_loop_vlan_stat_counter_sync_get(
  69665 	int	unit,
  69666 	bcm_vlan_t	vlan,
  69667 	bcm_vlan_stat_t	stat,
  69668 	uint32	num_entries,
  69669 	uint32 *	counter_indexes,
  69670 	bcm_stat_value_t *	counter_values)
  69671 {
  69672 	return bcm_vlan_stat_counter_sync_get(
  69673 			BCM_CONTROL(unit)->unit,
  69674 			vlan,
  69675 			stat,
  69676 			num_entries,
  69677 			counter_indexes,
  69678 			counter_values);
  69679 }
  69680 
  69681 int
  69682 bcm_loop_vlan_stat_detach(
  69683 	int	unit,
  69684 	bcm_vlan_t	vlan)
  69685 {
  69686 	return bcm_vlan_stat_detach(
  69687 			BCM_CONTROL(unit)->unit,
  69688 			vlan);
  69689 }
  69690 
  69691 int
  69692 bcm_loop_vlan_stat_detach_with_id(
  69693 	int	unit,
  69694 	bcm_vlan_t	vlan,
  69695 	uint32	stat_counter_id)
  69696 {
  69697 	return bcm_vlan_stat_detach_with_id(
  69698 			BCM_CONTROL(unit)->unit,
  69699 			vlan,
  69700 			stat_counter_id);
  69701 }
  69702 
  69703 int
  69704 bcm_loop_vlan_stat_enable_set(
  69705 	int	unit,
  69706 	bcm_vlan_t	vlan,
  69707 	int	enable)
  69708 {
  69709 	return bcm_vlan_stat_enable_set(
  69710 			BCM_CONTROL(unit)->unit,
  69711 			vlan,
  69712 			enable);
  69713 }
  69714 
  69715 int
  69716 bcm_loop_vlan_stat_get(
  69717 	int	unit,
  69718 	bcm_vlan_t	vlan,
  69719 	bcm_cos_t	cos,
  69720 	bcm_vlan_stat_t	stat,
  69721 	uint64 *	val)
  69722 {
  69723 	return bcm_vlan_stat_get(
  69724 			BCM_CONTROL(unit)->unit,
  69725 			vlan,
  69726 			cos,
  69727 			stat,
  69728 			val);
  69729 }
  69730 
  69731 int
  69732 bcm_loop_vlan_stat_get32(
  69733 	int	unit,
  69734 	bcm_vlan_t	vlan,
  69735 	bcm_cos_t	cos,
  69736 	bcm_vlan_stat_t	stat,
  69737 	uint32 *	val)
  69738 {
  69739 	return bcm_vlan_stat_get32(
  69740 			BCM_CONTROL(unit)->unit,
  69741 			vlan,
  69742 			cos,
  69743 			stat,
  69744 			val);
  69745 }
  69746 
  69747 int
  69748 bcm_loop_vlan_stat_id_get(
  69749 	int	unit,
  69750 	bcm_vlan_t	vlan,
  69751 	bcm_vlan_stat_t	stat,
  69752 	uint32 *	stat_counter_id)
  69753 {
  69754 	return bcm_vlan_stat_id_get(
  69755 			BCM_CONTROL(unit)->unit,
  69756 			vlan,
  69757 			stat,
  69758 			stat_counter_id);
  69759 }
  69760 
  69761 int
  69762 bcm_loop_vlan_stat_multi_get(
  69763 	int	unit,
  69764 	bcm_vlan_t	vlan,
  69765 	bcm_cos_t	cos,
  69766 	int	nstat,
  69767 	bcm_vlan_stat_t *	stat_arr,
  69768 	uint64 *	value_arr)
  69769 {
  69770 	return bcm_vlan_stat_multi_get(
  69771 			BCM_CONTROL(unit)->unit,
  69772 			vlan,
  69773 			cos,
  69774 			nstat,
  69775 			stat_arr,
  69776 			value_arr);
  69777 }
  69778 
  69779 int
  69780 bcm_loop_vlan_stat_multi_get32(
  69781 	int	unit,
  69782 	bcm_vlan_t	vlan,
  69783 	bcm_cos_t	cos,
  69784 	int	nstat,
  69785 	bcm_vlan_stat_t *	stat_arr,
  69786 	uint32 *	value_arr)
  69787 {
  69788 	return bcm_vlan_stat_multi_get32(
  69789 			BCM_CONTROL(unit)->unit,
  69790 			vlan,
  69791 			cos,
  69792 			nstat,
  69793 			stat_arr,
  69794 			value_arr);
  69795 }
  69796 
  69797 int
  69798 bcm_loop_vlan_stat_multi_set(
  69799 	int	unit,
  69800 	bcm_vlan_t	vlan,
  69801 	bcm_cos_t	cos,
  69802 	int	nstat,
  69803 	bcm_vlan_stat_t *	stat_arr,
  69804 	uint64 *	value_arr)
  69805 {
  69806 	return bcm_vlan_stat_multi_set(
  69807 			BCM_CONTROL(unit)->unit,
  69808 			vlan,
  69809 			cos,
  69810 			nstat,
  69811 			stat_arr,
  69812 			value_arr);
  69813 }
  69814 
  69815 int
  69816 bcm_loop_vlan_stat_multi_set32(
  69817 	int	unit,
  69818 	bcm_vlan_t	vlan,
  69819 	bcm_cos_t	cos,
  69820 	int	nstat,
  69821 	bcm_vlan_stat_t *	stat_arr,
  69822 	uint32 *	value_arr)
  69823 {
  69824 	return bcm_vlan_stat_multi_set32(
  69825 			BCM_CONTROL(unit)->unit,
  69826 			vlan,
  69827 			cos,
  69828 			nstat,
  69829 			stat_arr,
  69830 			value_arr);
  69831 }
  69832 
  69833 int
  69834 bcm_loop_vlan_stat_set(
  69835 	int	unit,
  69836 	bcm_vlan_t	vlan,
  69837 	bcm_cos_t	cos,
  69838 	bcm_vlan_stat_t	stat,
  69839 	uint64	val)
  69840 {
  69841 	return bcm_vlan_stat_set(
  69842 			BCM_CONTROL(unit)->unit,
  69843 			vlan,
  69844 			cos,
  69845 			stat,
  69846 			val);
  69847 }
  69848 
  69849 int
  69850 bcm_loop_vlan_stat_set32(
  69851 	int	unit,
  69852 	bcm_vlan_t	vlan,
  69853 	bcm_cos_t	cos,
  69854 	bcm_vlan_stat_t	stat,
  69855 	uint32	val)
  69856 {
  69857 	return bcm_vlan_stat_set32(
  69858 			BCM_CONTROL(unit)->unit,
  69859 			vlan,
  69860 			cos,
  69861 			stat,
  69862 			val);
  69863 }
  69864 
  69865 int
  69866 bcm_loop_vlan_stat_sync_get(
  69867 	int	unit,
  69868 	bcm_vlan_t	vlan,
  69869 	bcm_cos_t	cos,
  69870 	bcm_vlan_stat_t	stat,
  69871 	uint64 *	val)
  69872 {
  69873 	return bcm_vlan_stat_sync_get(
  69874 			BCM_CONTROL(unit)->unit,
  69875 			vlan,
  69876 			cos,
  69877 			stat,
  69878 			val);
  69879 }
  69880 
  69881 int
  69882 bcm_loop_vlan_stat_sync_get32(
  69883 	int	unit,
  69884 	bcm_vlan_t	vlan,
  69885 	bcm_cos_t	cos,
  69886 	bcm_vlan_stat_t	stat,
  69887 	uint32 *	val)
  69888 {
  69889 	return bcm_vlan_stat_sync_get32(
  69890 			BCM_CONTROL(unit)->unit,
  69891 			vlan,
  69892 			cos,
  69893 			stat,
  69894 			val);
  69895 }
  69896 
  69897 int
  69898 bcm_loop_vlan_stg_get(
  69899 	int	unit,
  69900 	bcm_vlan_t	vid,
  69901 	bcm_stg_t *	stg_ptr)
  69902 {
  69903 	return bcm_vlan_stg_get(
  69904 			BCM_CONTROL(unit)->unit,
  69905 			vid,
  69906 			stg_ptr);
  69907 }
  69908 
  69909 int
  69910 bcm_loop_vlan_stg_set(
  69911 	int	unit,
  69912 	bcm_vlan_t	vid,
  69913 	bcm_stg_t	stg)
  69914 {
  69915 	return bcm_vlan_stg_set(
  69916 			BCM_CONTROL(unit)->unit,
  69917 			vid,
  69918 			stg);
  69919 }
  69920 
  69921 int
  69922 bcm_loop_vlan_stp_get(
  69923 	int	unit,
  69924 	bcm_vlan_t	vid,
  69925 	bcm_port_t	port,
  69926 	int *	stp_state)
  69927 {
  69928 	return bcm_vlan_stp_get(
  69929 			BCM_CONTROL(unit)->unit,
  69930 			vid,
  69931 			port,
  69932 			stp_state);
  69933 }
  69934 
  69935 int
  69936 bcm_loop_vlan_stp_set(
  69937 	int	unit,
  69938 	bcm_vlan_t	vid,
  69939 	bcm_port_t	port,
  69940 	int	stp_state)
  69941 {
  69942 	return bcm_vlan_stp_set(
  69943 			BCM_CONTROL(unit)->unit,
  69944 			vid,
  69945 			port,
  69946 			stp_state);
  69947 }
  69948 
  69949 int
  69950 bcm_loop_vlan_translate_action_add(
  69951 	int	unit,
  69952 	bcm_gport_t	port,
  69953 	bcm_vlan_translate_key_t	key_type,
  69954 	bcm_vlan_t	outer_vlan,
  69955 	bcm_vlan_t	inner_vlan,
  69956 	bcm_vlan_action_set_t *	action)
  69957 {
  69958 	return bcm_vlan_translate_action_add(
  69959 			BCM_CONTROL(unit)->unit,
  69960 			port,
  69961 			key_type,
  69962 			outer_vlan,
  69963 			inner_vlan,
  69964 			action);
  69965 }
  69966 
  69967 int
  69968 bcm_loop_vlan_translate_action_class_get(
  69969 	int	unit,
  69970 	bcm_vlan_translate_action_class_t *	action_class)
  69971 {
  69972 	return bcm_vlan_translate_action_class_get(
  69973 			BCM_CONTROL(unit)->unit,
  69974 			action_class);
  69975 }
  69976 
  69977 int
  69978 bcm_loop_vlan_translate_action_class_set(
  69979 	int	unit,
  69980 	bcm_vlan_translate_action_class_t *	action_class)
  69981 {
  69982 	return bcm_vlan_translate_action_class_set(
  69983 			BCM_CONTROL(unit)->unit,
  69984 			action_class);
  69985 }
  69986 
  69987 /* bcm_vlan_translate_action_class_t_init not dispatchable */
  69988 
  69989 int
  69990 bcm_loop_vlan_translate_action_create(
  69991 	int	unit,
  69992 	bcm_gport_t	port,
  69993 	bcm_vlan_translate_key_t	key_type,
  69994 	bcm_vlan_t	outer_vlan,
  69995 	bcm_vlan_t	inner_vlan,
  69996 	bcm_vlan_action_set_t *	action)
  69997 {
  69998 	return bcm_vlan_translate_action_create(
  69999 			BCM_CONTROL(unit)->unit,
  70000 			port,
  70001 			key_type,
  70002 			outer_vlan,
  70003 			inner_vlan,
  70004 			action);
  70005 }
  70006 
  70007 int
  70008 bcm_loop_vlan_translate_action_delete(
  70009 	int	unit,
  70010 	bcm_gport_t	port,
  70011 	bcm_vlan_translate_key_t	key_type,
  70012 	bcm_vlan_t	outer_vlan,
  70013 	bcm_vlan_t	inner_vlan)
  70014 {
  70015 	return bcm_vlan_translate_action_delete(
  70016 			BCM_CONTROL(unit)->unit,
  70017 			port,
  70018 			key_type,
  70019 			outer_vlan,
  70020 			inner_vlan);
  70021 }
  70022 
  70023 int
  70024 bcm_loop_vlan_translate_action_get(
  70025 	int	unit,
  70026 	bcm_gport_t	port,
  70027 	bcm_vlan_translate_key_t	key_type,
  70028 	bcm_vlan_t	outer_vlan,
  70029 	bcm_vlan_t	inner_vlan,
  70030 	bcm_vlan_action_set_t *	action)
  70031 {
  70032 	return bcm_vlan_translate_action_get(
  70033 			BCM_CONTROL(unit)->unit,
  70034 			port,
  70035 			key_type,
  70036 			outer_vlan,
  70037 			inner_vlan,
  70038 			action);
  70039 }
  70040 
  70041 int
  70042 bcm_loop_vlan_translate_action_id_create(
  70043 	int	unit,
  70044 	uint32	flags,
  70045 	int *	action_id)
  70046 {
  70047 	return bcm_vlan_translate_action_id_create(
  70048 			BCM_CONTROL(unit)->unit,
  70049 			flags,
  70050 			action_id);
  70051 }
  70052 
  70053 int
  70054 bcm_loop_vlan_translate_action_id_destroy(
  70055 	int	unit,
  70056 	uint32	flags,
  70057 	int	action_id)
  70058 {
  70059 	return bcm_vlan_translate_action_id_destroy(
  70060 			BCM_CONTROL(unit)->unit,
  70061 			flags,
  70062 			action_id);
  70063 }
  70064 
  70065 int
  70066 bcm_loop_vlan_translate_action_id_destroy_all(
  70067 	int	unit,
  70068 	uint32	flags)
  70069 {
  70070 	return bcm_vlan_translate_action_id_destroy_all(
  70071 			BCM_CONTROL(unit)->unit,
  70072 			flags);
  70073 }
  70074 
  70075 int
  70076 bcm_loop_vlan_translate_action_id_get(
  70077 	int	unit,
  70078 	uint32	flags,
  70079 	int	action_id,
  70080 	bcm_vlan_action_set_t *	action)
  70081 {
  70082 	return bcm_vlan_translate_action_id_get(
  70083 			BCM_CONTROL(unit)->unit,
  70084 			flags,
  70085 			action_id,
  70086 			action);
  70087 }
  70088 
  70089 int
  70090 bcm_loop_vlan_translate_action_id_set(
  70091 	int	unit,
  70092 	uint32	flags,
  70093 	int	action_id,
  70094 	bcm_vlan_action_set_t *	action)
  70095 {
  70096 	return bcm_vlan_translate_action_id_set(
  70097 			BCM_CONTROL(unit)->unit,
  70098 			flags,
  70099 			action_id,
  70100 			action);
  70101 }
  70102 
  70103 int
  70104 bcm_loop_vlan_translate_action_range_add(
  70105 	int	unit,
  70106 	bcm_gport_t	port,
  70107 	bcm_vlan_t	outer_vlan_low,
  70108 	bcm_vlan_t	outer_vlan_high,
  70109 	bcm_vlan_t	inner_vlan_low,
  70110 	bcm_vlan_t	inner_vlan_high,
  70111 	bcm_vlan_action_set_t *	action)
  70112 {
  70113 	return bcm_vlan_translate_action_range_add(
  70114 			BCM_CONTROL(unit)->unit,
  70115 			port,
  70116 			outer_vlan_low,
  70117 			outer_vlan_high,
  70118 			inner_vlan_low,
  70119 			inner_vlan_high,
  70120 			action);
  70121 }
  70122 
  70123 int
  70124 bcm_loop_vlan_translate_action_range_delete(
  70125 	int	unit,
  70126 	bcm_gport_t	port,
  70127 	bcm_vlan_t	outer_vlan_low,
  70128 	bcm_vlan_t	outer_vlan_high,
  70129 	bcm_vlan_t	inner_vlan_low,
  70130 	bcm_vlan_t	inner_vlan_high)
  70131 {
  70132 	return bcm_vlan_translate_action_range_delete(
  70133 			BCM_CONTROL(unit)->unit,
  70134 			port,
  70135 			outer_vlan_low,
  70136 			outer_vlan_high,
  70137 			inner_vlan_low,
  70138 			inner_vlan_high);
  70139 }
  70140 
  70141 int
  70142 bcm_loop_vlan_translate_action_range_delete_all(
  70143 	int	unit)
  70144 {
  70145 	return bcm_vlan_translate_action_range_delete_all(
  70146 			BCM_CONTROL(unit)->unit);
  70147 }
  70148 
  70149 int
  70150 bcm_loop_vlan_translate_action_range_get(
  70151 	int	unit,
  70152 	bcm_gport_t	port,
  70153 	bcm_vlan_t	outer_vlan_low,
  70154 	bcm_vlan_t	outer_vlan_high,
  70155 	bcm_vlan_t	inner_vlan_low,
  70156 	bcm_vlan_t	inner_vlan_high,
  70157 	bcm_vlan_action_set_t *	action)
  70158 {
  70159 	return bcm_vlan_translate_action_range_get(
  70160 			BCM_CONTROL(unit)->unit,
  70161 			port,
  70162 			outer_vlan_low,
  70163 			outer_vlan_high,
  70164 			inner_vlan_low,
  70165 			inner_vlan_high,
  70166 			action);
  70167 }
  70168 
  70169 int
  70170 bcm_loop_vlan_translate_action_range_traverse(
  70171 	int	unit,
  70172 	bcm_vlan_translate_action_range_traverse_cb	cb,
  70173 	void *	user_data)
  70174 {
  70175 	return bcm_vlan_translate_action_range_traverse(
  70176 			BCM_CONTROL(unit)->unit,
  70177 			cb,
  70178 			user_data);
  70179 }
  70180 
  70181 int
  70182 bcm_loop_vlan_translate_action_traverse(
  70183 	int	unit,
  70184 	bcm_vlan_translate_action_traverse_cb	cb,
  70185 	void *	user_data)
  70186 {
  70187 	return bcm_vlan_translate_action_traverse(
  70188 			BCM_CONTROL(unit)->unit,
  70189 			cb,
  70190 			user_data);
  70191 }
  70192 
  70193 int
  70194 bcm_loop_vlan_translate_add(
  70195 	int	unit,
  70196 	int	port,
  70197 	bcm_vlan_t	old_vid,
  70198 	bcm_vlan_t	new_vid,
  70199 	int	prio)
  70200 {
  70201 	return bcm_vlan_translate_add(
  70202 			BCM_CONTROL(unit)->unit,
  70203 			port,
  70204 			old_vid,
  70205 			new_vid,
  70206 			prio);
  70207 }
  70208 
  70209 int
  70210 bcm_loop_vlan_translate_delete(
  70211 	int	unit,
  70212 	int	port,
  70213 	bcm_vlan_t	old_vid)
  70214 {
  70215 	return bcm_vlan_translate_delete(
  70216 			BCM_CONTROL(unit)->unit,
  70217 			port,
  70218 			old_vid);
  70219 }
  70220 
  70221 int
  70222 bcm_loop_vlan_translate_delete_all(
  70223 	int	unit)
  70224 {
  70225 	return bcm_vlan_translate_delete_all(
  70226 			BCM_CONTROL(unit)->unit);
  70227 }
  70228 
  70229 int
  70230 bcm_loop_vlan_translate_egress_action_add(
  70231 	int	unit,
  70232 	int	port_class,
  70233 	bcm_vlan_t	outer_vlan,
  70234 	bcm_vlan_t	inner_vlan,
  70235 	bcm_vlan_action_set_t *	action)
  70236 {
  70237 	return bcm_vlan_translate_egress_action_add(
  70238 			BCM_CONTROL(unit)->unit,
  70239 			port_class,
  70240 			outer_vlan,
  70241 			inner_vlan,
  70242 			action);
  70243 }
  70244 
  70245 int
  70246 bcm_loop_vlan_translate_egress_action_delete(
  70247 	int	unit,
  70248 	int	port_class,
  70249 	bcm_vlan_t	outer_vlan,
  70250 	bcm_vlan_t	inner_vlan)
  70251 {
  70252 	return bcm_vlan_translate_egress_action_delete(
  70253 			BCM_CONTROL(unit)->unit,
  70254 			port_class,
  70255 			outer_vlan,
  70256 			inner_vlan);
  70257 }
  70258 
  70259 int
  70260 bcm_loop_vlan_translate_egress_action_get(
  70261 	int	unit,
  70262 	int	port_class,
  70263 	bcm_vlan_t	outer_vlan,
  70264 	bcm_vlan_t	inner_vlan,
  70265 	bcm_vlan_action_set_t *	action)
  70266 {
  70267 	return bcm_vlan_translate_egress_action_get(
  70268 			BCM_CONTROL(unit)->unit,
  70269 			port_class,
  70270 			outer_vlan,
  70271 			inner_vlan,
  70272 			action);
  70273 }
  70274 
  70275 int
  70276 bcm_loop_vlan_translate_egress_action_traverse(
  70277 	int	unit,
  70278 	bcm_vlan_translate_egress_action_traverse_cb	cb,
  70279 	void *	user_data)
  70280 {
  70281 	return bcm_vlan_translate_egress_action_traverse(
  70282 			BCM_CONTROL(unit)->unit,
  70283 			cb,
  70284 			user_data);
  70285 }
  70286 
  70287 int
  70288 bcm_loop_vlan_translate_egress_add(
  70289 	int	unit,
  70290 	int	port,
  70291 	bcm_vlan_t	old_vid,
  70292 	bcm_vlan_t	new_vid,
  70293 	int	prio)
  70294 {
  70295 	return bcm_vlan_translate_egress_add(
  70296 			BCM_CONTROL(unit)->unit,
  70297 			port,
  70298 			old_vid,
  70299 			new_vid,
  70300 			prio);
  70301 }
  70302 
  70303 int
  70304 bcm_loop_vlan_translate_egress_delete(
  70305 	int	unit,
  70306 	int	port,
  70307 	bcm_vlan_t	old_vid)
  70308 {
  70309 	return bcm_vlan_translate_egress_delete(
  70310 			BCM_CONTROL(unit)->unit,
  70311 			port,
  70312 			old_vid);
  70313 }
  70314 
  70315 int
  70316 bcm_loop_vlan_translate_egress_delete_all(
  70317 	int	unit)
  70318 {
  70319 	return bcm_vlan_translate_egress_delete_all(
  70320 			BCM_CONTROL(unit)->unit);
  70321 }
  70322 
  70323 int
  70324 bcm_loop_vlan_translate_egress_get(
  70325 	int	unit,
  70326 	int	port,
  70327 	bcm_vlan_t	old_vid,
  70328 	bcm_vlan_t *	new_vid,
  70329 	int *	prio)
  70330 {
  70331 	return bcm_vlan_translate_egress_get(
  70332 			BCM_CONTROL(unit)->unit,
  70333 			port,
  70334 			old_vid,
  70335 			new_vid,
  70336 			prio);
  70337 }
  70338 
  70339 int
  70340 bcm_loop_vlan_translate_egress_gport_action_add(
  70341 	int	unit,
  70342 	bcm_gport_t	port,
  70343 	bcm_vlan_t	outer_vlan,
  70344 	bcm_vlan_t	inner_vlan,
  70345 	bcm_vlan_action_set_t *	action)
  70346 {
  70347 	return bcm_vlan_translate_egress_gport_action_add(
  70348 			BCM_CONTROL(unit)->unit,
  70349 			port,
  70350 			outer_vlan,
  70351 			inner_vlan,
  70352 			action);
  70353 }
  70354 
  70355 int
  70356 bcm_loop_vlan_translate_egress_gport_action_delete(
  70357 	int	unit,
  70358 	bcm_gport_t	port,
  70359 	bcm_vlan_t	outer_vlan,
  70360 	bcm_vlan_t	inner_vlan)
  70361 {
  70362 	return bcm_vlan_translate_egress_gport_action_delete(
  70363 			BCM_CONTROL(unit)->unit,
  70364 			port,
  70365 			outer_vlan,
  70366 			inner_vlan);
  70367 }
  70368 
  70369 int
  70370 bcm_loop_vlan_translate_egress_gport_action_get(
  70371 	int	unit,
  70372 	bcm_gport_t	port,
  70373 	bcm_vlan_t	outer_vlan,
  70374 	bcm_vlan_t	inner_vlan,
  70375 	bcm_vlan_action_set_t *	action)
  70376 {
  70377 	return bcm_vlan_translate_egress_gport_action_get(
  70378 			BCM_CONTROL(unit)->unit,
  70379 			port,
  70380 			outer_vlan,
  70381 			inner_vlan,
  70382 			action);
  70383 }
  70384 
  70385 int
  70386 bcm_loop_vlan_translate_egress_stat_attach(
  70387 	int	unit,
  70388 	int	port_class,
  70389 	bcm_vlan_t	outer_vlan,
  70390 	bcm_vlan_t	inner_vlan,
  70391 	uint32	stat_counter_id)
  70392 {
  70393 	return bcm_vlan_translate_egress_stat_attach(
  70394 			BCM_CONTROL(unit)->unit,
  70395 			port_class,
  70396 			outer_vlan,
  70397 			inner_vlan,
  70398 			stat_counter_id);
  70399 }
  70400 
  70401 int
  70402 bcm_loop_vlan_translate_egress_stat_counter_get(
  70403 	int	unit,
  70404 	int	port_class,
  70405 	bcm_vlan_t	outer_vlan,
  70406 	bcm_vlan_t	inner_vlan,
  70407 	bcm_vlan_stat_t	stat,
  70408 	uint32	num_entries,
  70409 	uint32 *	counter_indexes,
  70410 	bcm_stat_value_t *	counter_values)
  70411 {
  70412 	return bcm_vlan_translate_egress_stat_counter_get(
  70413 			BCM_CONTROL(unit)->unit,
  70414 			port_class,
  70415 			outer_vlan,
  70416 			inner_vlan,
  70417 			stat,
  70418 			num_entries,
  70419 			counter_indexes,
  70420 			counter_values);
  70421 }
  70422 
  70423 int
  70424 bcm_loop_vlan_translate_egress_stat_counter_set(
  70425 	int	unit,
  70426 	int	port_class,
  70427 	bcm_vlan_t	outer_vlan,
  70428 	bcm_vlan_t	inner_vlan,
  70429 	bcm_vlan_stat_t	stat,
  70430 	uint32	num_entries,
  70431 	uint32 *	counter_indexes,
  70432 	bcm_stat_value_t *	counter_values)
  70433 {
  70434 	return bcm_vlan_translate_egress_stat_counter_set(
  70435 			BCM_CONTROL(unit)->unit,
  70436 			port_class,
  70437 			outer_vlan,
  70438 			inner_vlan,
  70439 			stat,
  70440 			num_entries,
  70441 			counter_indexes,
  70442 			counter_values);
  70443 }
  70444 
  70445 int
  70446 bcm_loop_vlan_translate_egress_stat_counter_sync_get(
  70447 	int	unit,
  70448 	int	port_class,
  70449 	bcm_vlan_t	outer_vlan,
  70450 	bcm_vlan_t	inner_vlan,
  70451 	bcm_vlan_stat_t	stat,
  70452 	uint32	num_entries,
  70453 	uint32 *	counter_indexes,
  70454 	bcm_stat_value_t *	counter_values)
  70455 {
  70456 	return bcm_vlan_translate_egress_stat_counter_sync_get(
  70457 			BCM_CONTROL(unit)->unit,
  70458 			port_class,
  70459 			outer_vlan,
  70460 			inner_vlan,
  70461 			stat,
  70462 			num_entries,
  70463 			counter_indexes,
  70464 			counter_values);
  70465 }
  70466 
  70467 int
  70468 bcm_loop_vlan_translate_egress_stat_detach(
  70469 	int	unit,
  70470 	int	port_class,
  70471 	bcm_vlan_t	outer_vlan,
  70472 	bcm_vlan_t	inner_vlan)
  70473 {
  70474 	return bcm_vlan_translate_egress_stat_detach(
  70475 			BCM_CONTROL(unit)->unit,
  70476 			port_class,
  70477 			outer_vlan,
  70478 			inner_vlan);
  70479 }
  70480 
  70481 int
  70482 bcm_loop_vlan_translate_egress_stat_enable_set(
  70483 	int	unit,
  70484 	int	port_class,
  70485 	bcm_vlan_t	outer_vlan,
  70486 	bcm_vlan_t	inner_vlan,
  70487 	int	enable)
  70488 {
  70489 	return bcm_vlan_translate_egress_stat_enable_set(
  70490 			BCM_CONTROL(unit)->unit,
  70491 			port_class,
  70492 			outer_vlan,
  70493 			inner_vlan,
  70494 			enable);
  70495 }
  70496 
  70497 int
  70498 bcm_loop_vlan_translate_egress_stat_get(
  70499 	int	unit,
  70500 	int	port_class,
  70501 	bcm_vlan_t	outer_vlan,
  70502 	bcm_vlan_t	inner_vlan,
  70503 	bcm_vlan_stat_t	stat,
  70504 	uint64 *	val)
  70505 {
  70506 	return bcm_vlan_translate_egress_stat_get(
  70507 			BCM_CONTROL(unit)->unit,
  70508 			port_class,
  70509 			outer_vlan,
  70510 			inner_vlan,
  70511 			stat,
  70512 			val);
  70513 }
  70514 
  70515 int
  70516 bcm_loop_vlan_translate_egress_stat_get32(
  70517 	int	unit,
  70518 	int	port_class,
  70519 	bcm_vlan_t	outer_vlan,
  70520 	bcm_vlan_t	inner_vlan,
  70521 	bcm_vlan_stat_t	stat,
  70522 	uint32 *	val)
  70523 {
  70524 	return bcm_vlan_translate_egress_stat_get32(
  70525 			BCM_CONTROL(unit)->unit,
  70526 			port_class,
  70527 			outer_vlan,
  70528 			inner_vlan,
  70529 			stat,
  70530 			val);
  70531 }
  70532 
  70533 int
  70534 bcm_loop_vlan_translate_egress_stat_id_get(
  70535 	int	unit,
  70536 	int	port_class,
  70537 	bcm_vlan_t	outer_vlan,
  70538 	bcm_vlan_t	inner_vlan,
  70539 	bcm_vlan_stat_t	stat,
  70540 	uint32 *	stat_counter_id)
  70541 {
  70542 	return bcm_vlan_translate_egress_stat_id_get(
  70543 			BCM_CONTROL(unit)->unit,
  70544 			port_class,
  70545 			outer_vlan,
  70546 			inner_vlan,
  70547 			stat,
  70548 			stat_counter_id);
  70549 }
  70550 
  70551 int
  70552 bcm_loop_vlan_translate_egress_stat_multi_get(
  70553 	int	unit,
  70554 	int	port_class,
  70555 	bcm_vlan_t	outer_vlan,
  70556 	bcm_vlan_t	inner_vlan,
  70557 	int	nstat,
  70558 	bcm_vlan_stat_t *	stat_arr,
  70559 	uint64 *	value_arr)
  70560 {
  70561 	return bcm_vlan_translate_egress_stat_multi_get(
  70562 			BCM_CONTROL(unit)->unit,
  70563 			port_class,
  70564 			outer_vlan,
  70565 			inner_vlan,
  70566 			nstat,
  70567 			stat_arr,
  70568 			value_arr);
  70569 }
  70570 
  70571 int
  70572 bcm_loop_vlan_translate_egress_stat_multi_get32(
  70573 	int	unit,
  70574 	int	port_class,
  70575 	bcm_vlan_t	outer_vlan,
  70576 	bcm_vlan_t	inner_vlan,
  70577 	int	nstat,
  70578 	bcm_vlan_stat_t *	stat_arr,
  70579 	uint32 *	value_arr)
  70580 {
  70581 	return bcm_vlan_translate_egress_stat_multi_get32(
  70582 			BCM_CONTROL(unit)->unit,
  70583 			port_class,
  70584 			outer_vlan,
  70585 			inner_vlan,
  70586 			nstat,
  70587 			stat_arr,
  70588 			value_arr);
  70589 }
  70590 
  70591 int
  70592 bcm_loop_vlan_translate_egress_stat_multi_set(
  70593 	int	unit,
  70594 	int	port_class,
  70595 	bcm_vlan_t	outer_vlan,
  70596 	bcm_vlan_t	inner_vlan,
  70597 	int	nstat,
  70598 	bcm_vlan_stat_t *	stat_arr,
  70599 	uint64 *	value_arr)
  70600 {
  70601 	return bcm_vlan_translate_egress_stat_multi_set(
  70602 			BCM_CONTROL(unit)->unit,
  70603 			port_class,
  70604 			outer_vlan,
  70605 			inner_vlan,
  70606 			nstat,
  70607 			stat_arr,
  70608 			value_arr);
  70609 }
  70610 
  70611 int
  70612 bcm_loop_vlan_translate_egress_stat_multi_set32(
  70613 	int	unit,
  70614 	int	port_class,
  70615 	bcm_vlan_t	outer_vlan,
  70616 	bcm_vlan_t	inner_vlan,
  70617 	int	nstat,
  70618 	bcm_vlan_stat_t *	stat_arr,
  70619 	uint32 *	value_arr)
  70620 {
  70621 	return bcm_vlan_translate_egress_stat_multi_set32(
  70622 			BCM_CONTROL(unit)->unit,
  70623 			port_class,
  70624 			outer_vlan,
  70625 			inner_vlan,
  70626 			nstat,
  70627 			stat_arr,
  70628 			value_arr);
  70629 }
  70630 
  70631 int
  70632 bcm_loop_vlan_translate_egress_stat_set(
  70633 	int	unit,
  70634 	int	port_class,
  70635 	bcm_vlan_t	outer_vlan,
  70636 	bcm_vlan_t	inner_vlan,
  70637 	bcm_vlan_stat_t	stat,
  70638 	uint64	val)
  70639 {
  70640 	return bcm_vlan_translate_egress_stat_set(
  70641 			BCM_CONTROL(unit)->unit,
  70642 			port_class,
  70643 			outer_vlan,
  70644 			inner_vlan,
  70645 			stat,
  70646 			val);
  70647 }
  70648 
  70649 int
  70650 bcm_loop_vlan_translate_egress_stat_set32(
  70651 	int	unit,
  70652 	int	port_class,
  70653 	bcm_vlan_t	outer_vlan,
  70654 	bcm_vlan_t	inner_vlan,
  70655 	bcm_vlan_stat_t	stat,
  70656 	uint32	val)
  70657 {
  70658 	return bcm_vlan_translate_egress_stat_set32(
  70659 			BCM_CONTROL(unit)->unit,
  70660 			port_class,
  70661 			outer_vlan,
  70662 			inner_vlan,
  70663 			stat,
  70664 			val);
  70665 }
  70666 
  70667 int
  70668 bcm_loop_vlan_translate_egress_stat_sync_get(
  70669 	int	unit,
  70670 	int	port_class,
  70671 	bcm_vlan_t	outer_vlan,
  70672 	bcm_vlan_t	inner_vlan,
  70673 	bcm_vlan_stat_t	stat,
  70674 	uint64 *	val)
  70675 {
  70676 	return bcm_vlan_translate_egress_stat_sync_get(
  70677 			BCM_CONTROL(unit)->unit,
  70678 			port_class,
  70679 			outer_vlan,
  70680 			inner_vlan,
  70681 			stat,
  70682 			val);
  70683 }
  70684 
  70685 int
  70686 bcm_loop_vlan_translate_egress_stat_sync_get32(
  70687 	int	unit,
  70688 	int	port_class,
  70689 	bcm_vlan_t	outer_vlan,
  70690 	bcm_vlan_t	inner_vlan,
  70691 	bcm_vlan_stat_t	stat,
  70692 	uint32 *	val)
  70693 {
  70694 	return bcm_vlan_translate_egress_stat_sync_get32(
  70695 			BCM_CONTROL(unit)->unit,
  70696 			port_class,
  70697 			outer_vlan,
  70698 			inner_vlan,
  70699 			stat,
  70700 			val);
  70701 }
  70702 
  70703 int
  70704 bcm_loop_vlan_translate_egress_traverse(
  70705 	int	unit,
  70706 	bcm_vlan_translate_egress_traverse_cb	cb,
  70707 	void *	user_data)
  70708 {
  70709 	return bcm_vlan_translate_egress_traverse(
  70710 			BCM_CONTROL(unit)->unit,
  70711 			cb,
  70712 			user_data);
  70713 }
  70714 
  70715 int
  70716 bcm_loop_vlan_translate_get(
  70717 	int	unit,
  70718 	int	port,
  70719 	bcm_vlan_t	old_vid,
  70720 	bcm_vlan_t *	new_vid,
  70721 	int *	prio)
  70722 {
  70723 	return bcm_vlan_translate_get(
  70724 			BCM_CONTROL(unit)->unit,
  70725 			port,
  70726 			old_vid,
  70727 			new_vid,
  70728 			prio);
  70729 }
  70730 
  70731 int
  70732 bcm_loop_vlan_translate_range_add(
  70733 	int	unit,
  70734 	int	port,
  70735 	bcm_vlan_t	old_vid_low,
  70736 	bcm_vlan_t	old_vid_high,
  70737 	bcm_vlan_t	new_vid,
  70738 	int	int_prio)
  70739 {
  70740 	return bcm_vlan_translate_range_add(
  70741 			BCM_CONTROL(unit)->unit,
  70742 			port,
  70743 			old_vid_low,
  70744 			old_vid_high,
  70745 			new_vid,
  70746 			int_prio);
  70747 }
  70748 
  70749 int
  70750 bcm_loop_vlan_translate_range_delete(
  70751 	int	unit,
  70752 	int	port,
  70753 	bcm_vlan_t	old_vid_low,
  70754 	bcm_vlan_t	old_vid_high)
  70755 {
  70756 	return bcm_vlan_translate_range_delete(
  70757 			BCM_CONTROL(unit)->unit,
  70758 			port,
  70759 			old_vid_low,
  70760 			old_vid_high);
  70761 }
  70762 
  70763 int
  70764 bcm_loop_vlan_translate_range_delete_all(
  70765 	int	unit)
  70766 {
  70767 	return bcm_vlan_translate_range_delete_all(
  70768 			BCM_CONTROL(unit)->unit);
  70769 }
  70770 
  70771 int
  70772 bcm_loop_vlan_translate_range_get(
  70773 	int	unit,
  70774 	int	port,
  70775 	bcm_vlan_t	old_vid_low,
  70776 	bcm_vlan_t	old_vid_high,
  70777 	bcm_vlan_t *	new_vid,
  70778 	int *	int_prio)
  70779 {
  70780 	return bcm_vlan_translate_range_get(
  70781 			BCM_CONTROL(unit)->unit,
  70782 			port,
  70783 			old_vid_low,
  70784 			old_vid_high,
  70785 			new_vid,
  70786 			int_prio);
  70787 }
  70788 
  70789 int
  70790 bcm_loop_vlan_translate_range_traverse(
  70791 	int	unit,
  70792 	bcm_vlan_translate_range_traverse_cb	cb,
  70793 	void *	user_data)
  70794 {
  70795 	return bcm_vlan_translate_range_traverse(
  70796 			BCM_CONTROL(unit)->unit,
  70797 			cb,
  70798 			user_data);
  70799 }
  70800 
  70801 int
  70802 bcm_loop_vlan_translate_stat_attach(
  70803 	int	unit,
  70804 	bcm_gport_t	port,
  70805 	bcm_vlan_translate_key_t	key_type,
  70806 	bcm_vlan_t	outer_vlan,
  70807 	bcm_vlan_t	inner_vlan,
  70808 	uint32	stat_counter_id)
  70809 {
  70810 	return bcm_vlan_translate_stat_attach(
  70811 			BCM_CONTROL(unit)->unit,
  70812 			port,
  70813 			key_type,
  70814 			outer_vlan,
  70815 			inner_vlan,
  70816 			stat_counter_id);
  70817 }
  70818 
  70819 int
  70820 bcm_loop_vlan_translate_stat_counter_get(
  70821 	int	unit,
  70822 	bcm_gport_t	port,
  70823 	bcm_vlan_translate_key_t	key_type,
  70824 	bcm_vlan_t	outer_vlan,
  70825 	bcm_vlan_t	inner_vlan,
  70826 	bcm_vlan_stat_t	stat,
  70827 	uint32	num_entries,
  70828 	uint32 *	counter_indexes,
  70829 	bcm_stat_value_t *	counter_values)
  70830 {
  70831 	return bcm_vlan_translate_stat_counter_get(
  70832 			BCM_CONTROL(unit)->unit,
  70833 			port,
  70834 			key_type,
  70835 			outer_vlan,
  70836 			inner_vlan,
  70837 			stat,
  70838 			num_entries,
  70839 			counter_indexes,
  70840 			counter_values);
  70841 }
  70842 
  70843 int
  70844 bcm_loop_vlan_translate_stat_counter_set(
  70845 	int	unit,
  70846 	bcm_gport_t	port,
  70847 	bcm_vlan_translate_key_t	key_type,
  70848 	bcm_vlan_t	outer_vlan,
  70849 	bcm_vlan_t	inner_vlan,
  70850 	bcm_vlan_stat_t	stat,
  70851 	uint32	num_entries,
  70852 	uint32 *	counter_indexes,
  70853 	bcm_stat_value_t *	counter_values)
  70854 {
  70855 	return bcm_vlan_translate_stat_counter_set(
  70856 			BCM_CONTROL(unit)->unit,
  70857 			port,
  70858 			key_type,
  70859 			outer_vlan,
  70860 			inner_vlan,
  70861 			stat,
  70862 			num_entries,
  70863 			counter_indexes,
  70864 			counter_values);
  70865 }
  70866 
  70867 int
  70868 bcm_loop_vlan_translate_stat_counter_sync_get(
  70869 	int	unit,
  70870 	bcm_gport_t	port,
  70871 	bcm_vlan_translate_key_t	key_type,
  70872 	bcm_vlan_t	outer_vlan,
  70873 	bcm_vlan_t	inner_vlan,
  70874 	bcm_vlan_stat_t	stat,
  70875 	uint32	num_entries,
  70876 	uint32 *	counter_indexes,
  70877 	bcm_stat_value_t *	counter_values)
  70878 {
  70879 	return bcm_vlan_translate_stat_counter_sync_get(
  70880 			BCM_CONTROL(unit)->unit,
  70881 			port,
  70882 			key_type,
  70883 			outer_vlan,
  70884 			inner_vlan,
  70885 			stat,
  70886 			num_entries,
  70887 			counter_indexes,
  70888 			counter_values);
  70889 }
  70890 
  70891 int
  70892 bcm_loop_vlan_translate_stat_detach(
  70893 	int	unit,
  70894 	bcm_gport_t	port,
  70895 	bcm_vlan_translate_key_t	key_type,
  70896 	bcm_vlan_t	outer_vlan,
  70897 	bcm_vlan_t	inner_vlan)
  70898 {
  70899 	return bcm_vlan_translate_stat_detach(
  70900 			BCM_CONTROL(unit)->unit,
  70901 			port,
  70902 			key_type,
  70903 			outer_vlan,
  70904 			inner_vlan);
  70905 }
  70906 
  70907 int
  70908 bcm_loop_vlan_translate_stat_enable_set(
  70909 	int	unit,
  70910 	bcm_gport_t	port,
  70911 	bcm_vlan_translate_key_t	key_type,
  70912 	bcm_vlan_t	outer_vlan,
  70913 	bcm_vlan_t	inner_vlan,
  70914 	int	enable)
  70915 {
  70916 	return bcm_vlan_translate_stat_enable_set(
  70917 			BCM_CONTROL(unit)->unit,
  70918 			port,
  70919 			key_type,
  70920 			outer_vlan,
  70921 			inner_vlan,
  70922 			enable);
  70923 }
  70924 
  70925 int
  70926 bcm_loop_vlan_translate_stat_get(
  70927 	int	unit,
  70928 	bcm_gport_t	port,
  70929 	bcm_vlan_translate_key_t	key_type,
  70930 	bcm_vlan_t	outer_vlan,
  70931 	bcm_vlan_t	inner_vlan,
  70932 	bcm_vlan_stat_t	stat,
  70933 	uint64 *	val)
  70934 {
  70935 	return bcm_vlan_translate_stat_get(
  70936 			BCM_CONTROL(unit)->unit,
  70937 			port,
  70938 			key_type,
  70939 			outer_vlan,
  70940 			inner_vlan,
  70941 			stat,
  70942 			val);
  70943 }
  70944 
  70945 int
  70946 bcm_loop_vlan_translate_stat_get32(
  70947 	int	unit,
  70948 	bcm_gport_t	port,
  70949 	bcm_vlan_translate_key_t	key_type,
  70950 	bcm_vlan_t	outer_vlan,
  70951 	bcm_vlan_t	inner_vlan,
  70952 	bcm_vlan_stat_t	stat,
  70953 	uint32 *	val)
  70954 {
  70955 	return bcm_vlan_translate_stat_get32(
  70956 			BCM_CONTROL(unit)->unit,
  70957 			port,
  70958 			key_type,
  70959 			outer_vlan,
  70960 			inner_vlan,
  70961 			stat,
  70962 			val);
  70963 }
  70964 
  70965 int
  70966 bcm_loop_vlan_translate_stat_id_get(
  70967 	int	unit,
  70968 	bcm_gport_t	port,
  70969 	bcm_vlan_translate_key_t	key_type,
  70970 	bcm_vlan_t	outer_vlan,
  70971 	bcm_vlan_t	inner_vlan,
  70972 	bcm_vlan_stat_t	stat,
  70973 	uint32 *	stat_counter_id)
  70974 {
  70975 	return bcm_vlan_translate_stat_id_get(
  70976 			BCM_CONTROL(unit)->unit,
  70977 			port,
  70978 			key_type,
  70979 			outer_vlan,
  70980 			inner_vlan,
  70981 			stat,
  70982 			stat_counter_id);
  70983 }
  70984 
  70985 int
  70986 bcm_loop_vlan_translate_stat_multi_get(
  70987 	int	unit,
  70988 	bcm_gport_t	port,
  70989 	bcm_vlan_translate_key_t	key_type,
  70990 	bcm_vlan_t	outer_vlan,
  70991 	bcm_vlan_t	inner_vlan,
  70992 	int	nstat,
  70993 	bcm_vlan_stat_t *	stat_arr,
  70994 	uint64 *	value_arr)
  70995 {
  70996 	return bcm_vlan_translate_stat_multi_get(
  70997 			BCM_CONTROL(unit)->unit,
  70998 			port,
  70999 			key_type,
  71000 			outer_vlan,
  71001 			inner_vlan,
  71002 			nstat,
  71003 			stat_arr,
  71004 			value_arr);
  71005 }
  71006 
  71007 int
  71008 bcm_loop_vlan_translate_stat_multi_get32(
  71009 	int	unit,
  71010 	bcm_gport_t	port,
  71011 	bcm_vlan_translate_key_t	key_type,
  71012 	bcm_vlan_t	outer_vlan,
  71013 	bcm_vlan_t	inner_vlan,
  71014 	int	nstat,
  71015 	bcm_vlan_stat_t *	stat_arr,
  71016 	uint32 *	value_arr)
  71017 {
  71018 	return bcm_vlan_translate_stat_multi_get32(
  71019 			BCM_CONTROL(unit)->unit,
  71020 			port,
  71021 			key_type,
  71022 			outer_vlan,
  71023 			inner_vlan,
  71024 			nstat,
  71025 			stat_arr,
  71026 			value_arr);
  71027 }
  71028 
  71029 int
  71030 bcm_loop_vlan_translate_stat_multi_set(
  71031 	int	unit,
  71032 	bcm_gport_t	port,
  71033 	bcm_vlan_translate_key_t	key_type,
  71034 	bcm_vlan_t	outer_vlan,
  71035 	bcm_vlan_t	inner_vlan,
  71036 	int	nstat,
  71037 	bcm_vlan_stat_t *	stat_arr,
  71038 	uint64 *	value_arr)
  71039 {
  71040 	return bcm_vlan_translate_stat_multi_set(
  71041 			BCM_CONTROL(unit)->unit,
  71042 			port,
  71043 			key_type,
  71044 			outer_vlan,
  71045 			inner_vlan,
  71046 			nstat,
  71047 			stat_arr,
  71048 			value_arr);
  71049 }
  71050 
  71051 int
  71052 bcm_loop_vlan_translate_stat_multi_set32(
  71053 	int	unit,
  71054 	bcm_gport_t	port,
  71055 	bcm_vlan_translate_key_t	key_type,
  71056 	bcm_vlan_t	outer_vlan,
  71057 	bcm_vlan_t	inner_vlan,
  71058 	int	nstat,
  71059 	bcm_vlan_stat_t *	stat_arr,
  71060 	uint32 *	value_arr)
  71061 {
  71062 	return bcm_vlan_translate_stat_multi_set32(
  71063 			BCM_CONTROL(unit)->unit,
  71064 			port,
  71065 			key_type,
  71066 			outer_vlan,
  71067 			inner_vlan,
  71068 			nstat,
  71069 			stat_arr,
  71070 			value_arr);
  71071 }
  71072 
  71073 int
  71074 bcm_loop_vlan_translate_stat_set(
  71075 	int	unit,
  71076 	bcm_gport_t	port,
  71077 	bcm_vlan_translate_key_t	key_type,
  71078 	bcm_vlan_t	outer_vlan,
  71079 	bcm_vlan_t	inner_vlan,
  71080 	bcm_vlan_stat_t	stat,
  71081 	uint64	val)
  71082 {
  71083 	return bcm_vlan_translate_stat_set(
  71084 			BCM_CONTROL(unit)->unit,
  71085 			port,
  71086 			key_type,
  71087 			outer_vlan,
  71088 			inner_vlan,
  71089 			stat,
  71090 			val);
  71091 }
  71092 
  71093 int
  71094 bcm_loop_vlan_translate_stat_set32(
  71095 	int	unit,
  71096 	bcm_gport_t	port,
  71097 	bcm_vlan_translate_key_t	key_type,
  71098 	bcm_vlan_t	outer_vlan,
  71099 	bcm_vlan_t	inner_vlan,
  71100 	bcm_vlan_stat_t	stat,
  71101 	uint32	val)
  71102 {
  71103 	return bcm_vlan_translate_stat_set32(
  71104 			BCM_CONTROL(unit)->unit,
  71105 			port,
  71106 			key_type,
  71107 			outer_vlan,
  71108 			inner_vlan,
  71109 			stat,
  71110 			val);
  71111 }
  71112 
  71113 int
  71114 bcm_loop_vlan_translate_stat_sync_get(
  71115 	int	unit,
  71116 	bcm_gport_t	port,
  71117 	bcm_vlan_translate_key_t	key_type,
  71118 	bcm_vlan_t	outer_vlan,
  71119 	bcm_vlan_t	inner_vlan,
  71120 	bcm_vlan_stat_t	stat,
  71121 	uint64 *	val)
  71122 {
  71123 	return bcm_vlan_translate_stat_sync_get(
  71124 			BCM_CONTROL(unit)->unit,
  71125 			port,
  71126 			key_type,
  71127 			outer_vlan,
  71128 			inner_vlan,
  71129 			stat,
  71130 			val);
  71131 }
  71132 
  71133 int
  71134 bcm_loop_vlan_translate_stat_sync_get32(
  71135 	int	unit,
  71136 	bcm_gport_t	port,
  71137 	bcm_vlan_translate_key_t	key_type,
  71138 	bcm_vlan_t	outer_vlan,
  71139 	bcm_vlan_t	inner_vlan,
  71140 	bcm_vlan_stat_t	stat,
  71141 	uint32 *	val)
  71142 {
  71143 	return bcm_vlan_translate_stat_sync_get32(
  71144 			BCM_CONTROL(unit)->unit,
  71145 			port,
  71146 			key_type,
  71147 			outer_vlan,
  71148 			inner_vlan,
  71149 			stat,
  71150 			val);
  71151 }
  71152 
  71153 int
  71154 bcm_loop_vlan_translate_traverse(
  71155 	int	unit,
  71156 	bcm_vlan_translate_traverse_cb	cb,
  71157 	void *	user_data)
  71158 {
  71159 	return bcm_vlan_translate_traverse(
  71160 			BCM_CONTROL(unit)->unit,
  71161 			cb,
  71162 			user_data);
  71163 }
  71164 
  71165 int
  71166 bcm_loop_vlan_vector_flags_set(
  71167 	int	unit,
  71168 	bcm_vlan_vector_t	vlan_vector,
  71169 	uint32	flags_mask,
  71170 	uint32	flags_value)
  71171 {
  71172 	return bcm_vlan_vector_flags_set(
  71173 			BCM_CONTROL(unit)->unit,
  71174 			vlan_vector,
  71175 			flags_mask,
  71176 			flags_value);
  71177 }
  71178 
  71179 int
  71180 bcm_loop_vlan_vector_stp_set(
  71181 	int	unit,
  71182 	bcm_vlan_vector_t	vlan_vector,
  71183 	bcm_port_t	port,
  71184 	int	stp_state)
  71185 {
  71186 	return bcm_vlan_vector_stp_set(
  71187 			BCM_CONTROL(unit)->unit,
  71188 			vlan_vector,
  71189 			port,
  71190 			stp_state);
  71191 }
  71192 
  71193 /* bcm_vlan_vpn_config_t_init not dispatchable */
  71194 
  71195 #ifdef	INCLUDE_L3
  71196 
  71197 int
  71198 bcm_loop_vlan_vpn_create(
  71199 	int	unit,
  71200 	bcm_vlan_vpn_config_t *	info)
  71201 {
  71202 	return bcm_vlan_vpn_create(
  71203 			BCM_CONTROL(unit)->unit,
  71204 			info);
  71205 }
  71206 
  71207 int
  71208 bcm_loop_vlan_vpn_destroy(
  71209 	int	unit,
  71210 	bcm_vpn_t	vpn)
  71211 {
  71212 	return bcm_vlan_vpn_destroy(
  71213 			BCM_CONTROL(unit)->unit,
  71214 			vpn);
  71215 }
  71216 
  71217 int
  71218 bcm_loop_vlan_vpn_destroy_all(
  71219 	int	unit)
  71220 {
  71221 	return bcm_vlan_vpn_destroy_all(
  71222 			BCM_CONTROL(unit)->unit);
  71223 }
  71224 
  71225 int
  71226 bcm_loop_vlan_vpn_get(
  71227 	int	unit,
  71228 	bcm_vpn_t	vpn,
  71229 	bcm_vlan_vpn_config_t *	info)
  71230 {
  71231 	return bcm_vlan_vpn_get(
  71232 			BCM_CONTROL(unit)->unit,
  71233 			vpn,
  71234 			info);
  71235 }
  71236 
  71237 int
  71238 bcm_loop_vlan_vpn_traverse(
  71239 	int	unit,
  71240 	bcm_vlan_vpn_traverse_cb	cb,
  71241 	void *	user_data)
  71242 {
  71243 	return bcm_vlan_vpn_traverse(
  71244 			BCM_CONTROL(unit)->unit,
  71245 			cb,
  71246 			user_data);
  71247 }
  71248 
  71249 #endif	/* INCLUDE_L3 */
  71250 
  71251 int
  71252 bcm_loop_vswitch_create(
  71253 	int	unit,
  71254 	bcm_vlan_t *	vsi)
  71255 {
  71256 	return bcm_vswitch_create(
  71257 			BCM_CONTROL(unit)->unit,
  71258 			vsi);
  71259 }
  71260 
  71261 int
  71262 bcm_loop_vswitch_create_with_id(
  71263 	int	unit,
  71264 	bcm_vlan_t	vsi)
  71265 {
  71266 	return bcm_vswitch_create_with_id(
  71267 			BCM_CONTROL(unit)->unit,
  71268 			vsi);
  71269 }
  71270 
  71271 int
  71272 bcm_loop_vswitch_cross_connect_add(
  71273 	int	unit,
  71274 	bcm_vswitch_cross_connect_t *	gports)
  71275 {
  71276 	return bcm_vswitch_cross_connect_add(
  71277 			BCM_CONTROL(unit)->unit,
  71278 			gports);
  71279 }
  71280 
  71281 int
  71282 bcm_loop_vswitch_cross_connect_delete(
  71283 	int	unit,
  71284 	bcm_vswitch_cross_connect_t *	gports)
  71285 {
  71286 	return bcm_vswitch_cross_connect_delete(
  71287 			BCM_CONTROL(unit)->unit,
  71288 			gports);
  71289 }
  71290 
  71291 int
  71292 bcm_loop_vswitch_cross_connect_delete_all(
  71293 	int	unit)
  71294 {
  71295 	return bcm_vswitch_cross_connect_delete_all(
  71296 			BCM_CONTROL(unit)->unit);
  71297 }
  71298 
  71299 int
  71300 bcm_loop_vswitch_cross_connect_get(
  71301 	int	unit,
  71302 	bcm_vswitch_cross_connect_t *	gports)
  71303 {
  71304 	return bcm_vswitch_cross_connect_get(
  71305 			BCM_CONTROL(unit)->unit,
  71306 			gports);
  71307 }
  71308 
  71309 /* bcm_vswitch_cross_connect_t_init not dispatchable */
  71310 
  71311 int
  71312 bcm_loop_vswitch_cross_connect_traverse(
  71313 	int	unit,
  71314 	bcm_vswitch_cross_connect_traverse_cb	cb,
  71315 	void *	user_data)
  71316 {
  71317 	return bcm_vswitch_cross_connect_traverse(
  71318 			BCM_CONTROL(unit)->unit,
  71319 			cb,
  71320 			user_data);
  71321 }
  71322 
  71323 int
  71324 bcm_loop_vswitch_destroy(
  71325 	int	unit,
  71326 	bcm_vlan_t	vsi)
  71327 {
  71328 	return bcm_vswitch_destroy(
  71329 			BCM_CONTROL(unit)->unit,
  71330 			vsi);
  71331 }
  71332 
  71333 int
  71334 bcm_loop_vswitch_destroy_all(
  71335 	int	unit)
  71336 {
  71337 	return bcm_vswitch_destroy_all(
  71338 			BCM_CONTROL(unit)->unit);
  71339 }
  71340 
  71341 int
  71342 bcm_loop_vswitch_detach(
  71343 	int	unit)
  71344 {
  71345 	return bcm_vswitch_detach(
  71346 			BCM_CONTROL(unit)->unit);
  71347 }
  71348 
  71349 int
  71350 bcm_loop_vswitch_flexible_connect_add(
  71351 	int	unit,
  71352 	uint32	flags,
  71353 	bcm_vswitch_flexible_connect_match_t *	port_match,
  71354 	bcm_vswitch_flexible_connect_fwd_t *	port_fwd)
  71355 {
  71356 	return bcm_vswitch_flexible_connect_add(
  71357 			BCM_CONTROL(unit)->unit,
  71358 			flags,
  71359 			port_match,
  71360 			port_fwd);
  71361 }
  71362 
  71363 int
  71364 bcm_loop_vswitch_flexible_connect_delete(
  71365 	int	unit,
  71366 	bcm_vswitch_flexible_connect_match_t *	port_match)
  71367 {
  71368 	return bcm_vswitch_flexible_connect_delete(
  71369 			BCM_CONTROL(unit)->unit,
  71370 			port_match);
  71371 }
  71372 
  71373 /* bcm_vswitch_flexible_connect_fwd_t_init not dispatchable */
  71374 
  71375 int
  71376 bcm_loop_vswitch_flexible_connect_get(
  71377 	int	unit,
  71378 	uint32	flags,
  71379 	bcm_vswitch_flexible_connect_match_t *	port_match,
  71380 	bcm_vswitch_flexible_connect_fwd_t *	port_fwd)
  71381 {
  71382 	return bcm_vswitch_flexible_connect_get(
  71383 			BCM_CONTROL(unit)->unit,
  71384 			flags,
  71385 			port_match,
  71386 			port_fwd);
  71387 }
  71388 
  71389 /* bcm_vswitch_flexible_connect_match_t_init not dispatchable */
  71390 
  71391 int
  71392 bcm_loop_vswitch_init(
  71393 	int	unit)
  71394 {
  71395 	return bcm_vswitch_init(
  71396 			BCM_CONTROL(unit)->unit);
  71397 }
  71398 
  71399 int
  71400 bcm_loop_vswitch_port_add(
  71401 	int	unit,
  71402 	bcm_vlan_t	vsi,
  71403 	bcm_gport_t	port)
  71404 {
  71405 	return bcm_vswitch_port_add(
  71406 			BCM_CONTROL(unit)->unit,
  71407 			vsi,
  71408 			port);
  71409 }
  71410 
  71411 int
  71412 bcm_loop_vswitch_port_delete(
  71413 	int	unit,
  71414 	bcm_vlan_t	vsi,
  71415 	bcm_gport_t	port)
  71416 {
  71417 	return bcm_vswitch_port_delete(
  71418 			BCM_CONTROL(unit)->unit,
  71419 			vsi,
  71420 			port);
  71421 }
  71422 
  71423 int
  71424 bcm_loop_vswitch_port_delete_all(
  71425 	int	unit,
  71426 	bcm_vlan_t	vsi)
  71427 {
  71428 	return bcm_vswitch_port_delete_all(
  71429 			BCM_CONTROL(unit)->unit,
  71430 			vsi);
  71431 }
  71432 
  71433 int
  71434 bcm_loop_vswitch_port_get(
  71435 	int	unit,
  71436 	bcm_gport_t	port,
  71437 	bcm_vlan_t *	vsi)
  71438 {
  71439 	return bcm_vswitch_port_get(
  71440 			BCM_CONTROL(unit)->unit,
  71441 			port,
  71442 			vsi);
  71443 }
  71444 
  71445 int
  71446 bcm_loop_vswitch_port_traverse(
  71447 	int	unit,
  71448 	bcm_vlan_t	vsi,
  71449 	bcm_vswitch_port_traverse_cb	cb,
  71450 	void *	user_data)
  71451 {
  71452 	return bcm_vswitch_port_traverse(
  71453 			BCM_CONTROL(unit)->unit,
  71454 			vsi,
  71455 			cb,
  71456 			user_data);
  71457 }
  71458 
  71459 #ifdef	INCLUDE_L3
  71460 
  71461 int
  71462 bcm_loop_vxlan_cleanup(
  71463 	int	unit)
  71464 {
  71465 	return bcm_vxlan_cleanup(
  71466 			BCM_CONTROL(unit)->unit);
  71467 }
  71468 
  71469 int
  71470 bcm_loop_vxlan_dip_stat_attach(
  71471 	int	unit,
  71472 	bcm_ip_t	vxlan_dip,
  71473 	uint32	stat_counter_id)
  71474 {
  71475 	return bcm_vxlan_dip_stat_attach(
  71476 			BCM_CONTROL(unit)->unit,
  71477 			vxlan_dip,
  71478 			stat_counter_id);
  71479 }
  71480 
  71481 int
  71482 bcm_loop_vxlan_dip_stat_counter_get(
  71483 	int	unit,
  71484 	bcm_ip_t	vxlan_dip,
  71485 	bcm_vxlan_dip_stat_t	stat,
  71486 	uint32	num_entries,
  71487 	uint32 *	counter_indexes,
  71488 	bcm_stat_value_t *	counter_values)
  71489 {
  71490 	return bcm_vxlan_dip_stat_counter_get(
  71491 			BCM_CONTROL(unit)->unit,
  71492 			vxlan_dip,
  71493 			stat,
  71494 			num_entries,
  71495 			counter_indexes,
  71496 			counter_values);
  71497 }
  71498 
  71499 int
  71500 bcm_loop_vxlan_dip_stat_counter_set(
  71501 	int	unit,
  71502 	bcm_ip_t	vxlan_dip,
  71503 	bcm_vxlan_dip_stat_t	stat,
  71504 	uint32	num_entries,
  71505 	uint32 *	counter_indexes,
  71506 	bcm_stat_value_t *	counter_values)
  71507 {
  71508 	return bcm_vxlan_dip_stat_counter_set(
  71509 			BCM_CONTROL(unit)->unit,
  71510 			vxlan_dip,
  71511 			stat,
  71512 			num_entries,
  71513 			counter_indexes,
  71514 			counter_values);
  71515 }
  71516 
  71517 int
  71518 bcm_loop_vxlan_dip_stat_detach(
  71519 	int	unit,
  71520 	bcm_ip_t	vxlan_dip)
  71521 {
  71522 	return bcm_vxlan_dip_stat_detach(
  71523 			BCM_CONTROL(unit)->unit,
  71524 			vxlan_dip);
  71525 }
  71526 
  71527 int
  71528 bcm_loop_vxlan_dip_stat_id_get(
  71529 	int	unit,
  71530 	bcm_ip_t	vxlan_dip,
  71531 	bcm_vxlan_dip_stat_t	stat,
  71532 	uint32 *	stat_counter_id)
  71533 {
  71534 	return bcm_vxlan_dip_stat_id_get(
  71535 			BCM_CONTROL(unit)->unit,
  71536 			vxlan_dip,
  71537 			stat,
  71538 			stat_counter_id);
  71539 }
  71540 
  71541 int
  71542 bcm_loop_vxlan_dip_stat_multi_get(
  71543 	int	unit,
  71544 	bcm_ip_t	vxlan_dip,
  71545 	int	nstat,
  71546 	bcm_vxlan_dip_stat_t *	stat_arr,
  71547 	uint64 *	value_arr)
  71548 {
  71549 	return bcm_vxlan_dip_stat_multi_get(
  71550 			BCM_CONTROL(unit)->unit,
  71551 			vxlan_dip,
  71552 			nstat,
  71553 			stat_arr,
  71554 			value_arr);
  71555 }
  71556 
  71557 int
  71558 bcm_loop_vxlan_dip_stat_multi_get32(
  71559 	int	unit,
  71560 	bcm_ip_t	vxlan_dip,
  71561 	int	nstat,
  71562 	bcm_vxlan_dip_stat_t *	stat_arr,
  71563 	uint32 *	value_arr)
  71564 {
  71565 	return bcm_vxlan_dip_stat_multi_get32(
  71566 			BCM_CONTROL(unit)->unit,
  71567 			vxlan_dip,
  71568 			nstat,
  71569 			stat_arr,
  71570 			value_arr);
  71571 }
  71572 
  71573 int
  71574 bcm_loop_vxlan_dip_stat_multi_set(
  71575 	int	unit,
  71576 	bcm_ip_t	vxlan_dip,
  71577 	int	nstat,
  71578 	bcm_vxlan_dip_stat_t *	stat_arr,
  71579 	uint64 *	value_arr)
  71580 {
  71581 	return bcm_vxlan_dip_stat_multi_set(
  71582 			BCM_CONTROL(unit)->unit,
  71583 			vxlan_dip,
  71584 			nstat,
  71585 			stat_arr,
  71586 			value_arr);
  71587 }
  71588 
  71589 int
  71590 bcm_loop_vxlan_dip_stat_multi_set32(
  71591 	int	unit,
  71592 	bcm_ip_t	vxlan_dip,
  71593 	int	nstat,
  71594 	bcm_vxlan_dip_stat_t *	stat_arr,
  71595 	uint32 *	value_arr)
  71596 {
  71597 	return bcm_vxlan_dip_stat_multi_set32(
  71598 			BCM_CONTROL(unit)->unit,
  71599 			vxlan_dip,
  71600 			nstat,
  71601 			stat_arr,
  71602 			value_arr);
  71603 }
  71604 
  71605 int
  71606 bcm_loop_vxlan_init(
  71607 	int	unit)
  71608 {
  71609 	return bcm_vxlan_init(
  71610 			BCM_CONTROL(unit)->unit);
  71611 }
  71612 
  71613 int
  71614 bcm_loop_vxlan_network_domain_config_add(
  71615 	int	unit,
  71616 	bcm_vxlan_network_domain_config_t *	config)
  71617 {
  71618 	return bcm_vxlan_network_domain_config_add(
  71619 			BCM_CONTROL(unit)->unit,
  71620 			config);
  71621 }
  71622 
  71623 int
  71624 bcm_loop_vxlan_network_domain_config_get(
  71625 	int	unit,
  71626 	bcm_vxlan_network_domain_config_t *	config)
  71627 {
  71628 	return bcm_vxlan_network_domain_config_get(
  71629 			BCM_CONTROL(unit)->unit,
  71630 			config);
  71631 }
  71632 
  71633 int
  71634 bcm_loop_vxlan_network_domain_config_remove(
  71635 	int	unit,
  71636 	bcm_vxlan_network_domain_config_t *	config)
  71637 {
  71638 	return bcm_vxlan_network_domain_config_remove(
  71639 			BCM_CONTROL(unit)->unit,
  71640 			config);
  71641 }
  71642 
  71643 /* bcm_vxlan_network_domain_config_t_init not dispatchable */
  71644 
  71645 int
  71646 bcm_loop_vxlan_network_domain_config_traverse(
  71647 	int	unit,
  71648 	bcm_vxlan_network_domain_config_additional_info_t *	additional_info,
  71649 	bcm_vxlan_network_domain_config_traverse_cb	cb,
  71650 	void *	user_data)
  71651 {
  71652 	return bcm_vxlan_network_domain_config_traverse(
  71653 			BCM_CONTROL(unit)->unit,
  71654 			additional_info,
  71655 			cb,
  71656 			user_data);
  71657 }
  71658 
  71659 int
  71660 bcm_loop_vxlan_port_add(
  71661 	int	unit,
  71662 	bcm_vpn_t	l2vpn,
  71663 	bcm_vxlan_port_t *	vxlan_port)
  71664 {
  71665 	return bcm_vxlan_port_add(
  71666 			BCM_CONTROL(unit)->unit,
  71667 			l2vpn,
  71668 			vxlan_port);
  71669 }
  71670 
  71671 int
  71672 bcm_loop_vxlan_port_delete(
  71673 	int	unit,
  71674 	bcm_vpn_t	l2vpn,
  71675 	bcm_gport_t	vxlan_port_id)
  71676 {
  71677 	return bcm_vxlan_port_delete(
  71678 			BCM_CONTROL(unit)->unit,
  71679 			l2vpn,
  71680 			vxlan_port_id);
  71681 }
  71682 
  71683 int
  71684 bcm_loop_vxlan_port_delete_all(
  71685 	int	unit,
  71686 	bcm_vpn_t	l2vpn)
  71687 {
  71688 	return bcm_vxlan_port_delete_all(
  71689 			BCM_CONTROL(unit)->unit,
  71690 			l2vpn);
  71691 }
  71692 
  71693 int
  71694 bcm_loop_vxlan_port_get(
  71695 	int	unit,
  71696 	bcm_vpn_t	l2vpn,
  71697 	bcm_vxlan_port_t *	vxlan_port)
  71698 {
  71699 	return bcm_vxlan_port_get(
  71700 			BCM_CONTROL(unit)->unit,
  71701 			l2vpn,
  71702 			vxlan_port);
  71703 }
  71704 
  71705 int
  71706 bcm_loop_vxlan_port_get_all(
  71707 	int	unit,
  71708 	bcm_vpn_t	l2vpn,
  71709 	int	port_max,
  71710 	bcm_vxlan_port_t *	port_array,
  71711 	int *	port_count)
  71712 {
  71713 	return bcm_vxlan_port_get_all(
  71714 			BCM_CONTROL(unit)->unit,
  71715 			l2vpn,
  71716 			port_max,
  71717 			port_array,
  71718 			port_count);
  71719 }
  71720 
  71721 /* bcm_vxlan_port_t_init not dispatchable */
  71722 
  71723 int
  71724 bcm_loop_vxlan_port_traverse(
  71725 	int	unit,
  71726 	bcm_vxlan_port_traverse_cb	cb,
  71727 	void *	user_data)
  71728 {
  71729 	return bcm_vxlan_port_traverse(
  71730 			BCM_CONTROL(unit)->unit,
  71731 			cb,
  71732 			user_data);
  71733 }
  71734 
  71735 int
  71736 bcm_loop_vxlan_stat_attach(
  71737 	int	unit,
  71738 	bcm_gport_t	port,
  71739 	bcm_vpn_t	vpn,
  71740 	uint32	stat_counter_id)
  71741 {
  71742 	return bcm_vxlan_stat_attach(
  71743 			BCM_CONTROL(unit)->unit,
  71744 			port,
  71745 			vpn,
  71746 			stat_counter_id);
  71747 }
  71748 
  71749 int
  71750 bcm_loop_vxlan_stat_counter_get(
  71751 	int	unit,
  71752 	bcm_gport_t	port,
  71753 	bcm_vpn_t	vpn,
  71754 	bcm_vxlan_stat_t	stat,
  71755 	uint32	num_entries,
  71756 	uint32 *	counter_indexes,
  71757 	bcm_stat_value_t *	counter_values)
  71758 {
  71759 	return bcm_vxlan_stat_counter_get(
  71760 			BCM_CONTROL(unit)->unit,
  71761 			port,
  71762 			vpn,
  71763 			stat,
  71764 			num_entries,
  71765 			counter_indexes,
  71766 			counter_values);
  71767 }
  71768 
  71769 int
  71770 bcm_loop_vxlan_stat_counter_set(
  71771 	int	unit,
  71772 	bcm_gport_t	port,
  71773 	bcm_vpn_t	vpn,
  71774 	bcm_vxlan_stat_t	stat,
  71775 	uint32	num_entries,
  71776 	uint32 *	counter_indexes,
  71777 	bcm_stat_value_t *	counter_values)
  71778 {
  71779 	return bcm_vxlan_stat_counter_set(
  71780 			BCM_CONTROL(unit)->unit,
  71781 			port,
  71782 			vpn,
  71783 			stat,
  71784 			num_entries,
  71785 			counter_indexes,
  71786 			counter_values);
  71787 }
  71788 
  71789 int
  71790 bcm_loop_vxlan_stat_counter_sync_get(
  71791 	int	unit,
  71792 	bcm_gport_t	port,
  71793 	bcm_vpn_t	vpn,
  71794 	bcm_vxlan_stat_t	stat,
  71795 	uint32	num_entries,
  71796 	uint32 *	counter_indexes,
  71797 	bcm_stat_value_t *	counter_values)
  71798 {
  71799 	return bcm_vxlan_stat_counter_sync_get(
  71800 			BCM_CONTROL(unit)->unit,
  71801 			port,
  71802 			vpn,
  71803 			stat,
  71804 			num_entries,
  71805 			counter_indexes,
  71806 			counter_values);
  71807 }
  71808 
  71809 int
  71810 bcm_loop_vxlan_stat_detach(
  71811 	int	unit,
  71812 	bcm_gport_t	port,
  71813 	bcm_vpn_t	vpn)
  71814 {
  71815 	return bcm_vxlan_stat_detach(
  71816 			BCM_CONTROL(unit)->unit,
  71817 			port,
  71818 			vpn);
  71819 }
  71820 
  71821 int
  71822 bcm_loop_vxlan_stat_enable_set(
  71823 	int	unit,
  71824 	bcm_gport_t	port,
  71825 	bcm_vpn_t	vpn,
  71826 	int	enable)
  71827 {
  71828 	return bcm_vxlan_stat_enable_set(
  71829 			BCM_CONTROL(unit)->unit,
  71830 			port,
  71831 			vpn,
  71832 			enable);
  71833 }
  71834 
  71835 int
  71836 bcm_loop_vxlan_stat_id_get(
  71837 	int	unit,
  71838 	bcm_gport_t	port,
  71839 	bcm_vpn_t	vpn,
  71840 	bcm_vxlan_stat_t	stat,
  71841 	uint32 *	stat_counter_id)
  71842 {
  71843 	return bcm_vxlan_stat_id_get(
  71844 			BCM_CONTROL(unit)->unit,
  71845 			port,
  71846 			vpn,
  71847 			stat,
  71848 			stat_counter_id);
  71849 }
  71850 
  71851 int
  71852 bcm_loop_vxlan_stat_multi_get(
  71853 	int	unit,
  71854 	bcm_gport_t	port,
  71855 	bcm_vpn_t	vpn,
  71856 	int	nstat,
  71857 	bcm_vxlan_stat_t *	stat_arr,
  71858 	uint64 *	value_arr)
  71859 {
  71860 	return bcm_vxlan_stat_multi_get(
  71861 			BCM_CONTROL(unit)->unit,
  71862 			port,
  71863 			vpn,
  71864 			nstat,
  71865 			stat_arr,
  71866 			value_arr);
  71867 }
  71868 
  71869 int
  71870 bcm_loop_vxlan_stat_multi_get32(
  71871 	int	unit,
  71872 	bcm_gport_t	port,
  71873 	bcm_vpn_t	vpn,
  71874 	int	nstat,
  71875 	bcm_vxlan_stat_t *	stat_arr,
  71876 	uint32 *	value_arr)
  71877 {
  71878 	return bcm_vxlan_stat_multi_get32(
  71879 			BCM_CONTROL(unit)->unit,
  71880 			port,
  71881 			vpn,
  71882 			nstat,
  71883 			stat_arr,
  71884 			value_arr);
  71885 }
  71886 
  71887 int
  71888 bcm_loop_vxlan_stat_multi_set(
  71889 	int	unit,
  71890 	bcm_gport_t	port,
  71891 	bcm_vpn_t	vpn,
  71892 	int	nstat,
  71893 	bcm_vxlan_stat_t *	stat_arr,
  71894 	uint64 *	value_arr)
  71895 {
  71896 	return bcm_vxlan_stat_multi_set(
  71897 			BCM_CONTROL(unit)->unit,
  71898 			port,
  71899 			vpn,
  71900 			nstat,
  71901 			stat_arr,
  71902 			value_arr);
  71903 }
  71904 
  71905 int
  71906 bcm_loop_vxlan_stat_multi_set32(
  71907 	int	unit,
  71908 	bcm_gport_t	port,
  71909 	bcm_vpn_t	vpn,
  71910 	int	nstat,
  71911 	bcm_vxlan_stat_t *	stat_arr,
  71912 	uint32 *	value_arr)
  71913 {
  71914 	return bcm_vxlan_stat_multi_set32(
  71915 			BCM_CONTROL(unit)->unit,
  71916 			port,
  71917 			vpn,
  71918 			nstat,
  71919 			stat_arr,
  71920 			value_arr);
  71921 }
  71922 
  71923 int
  71924 bcm_loop_vxlan_tunnel_initiator_create(
  71925 	int	unit,
  71926 	bcm_tunnel_initiator_t *	info)
  71927 {
  71928 	return bcm_vxlan_tunnel_initiator_create(
  71929 			BCM_CONTROL(unit)->unit,
  71930 			info);
  71931 }
  71932 
  71933 int
  71934 bcm_loop_vxlan_tunnel_initiator_destroy(
  71935 	int	unit,
  71936 	bcm_gport_t	vxlan_tunnel_id)
  71937 {
  71938 	return bcm_vxlan_tunnel_initiator_destroy(
  71939 			BCM_CONTROL(unit)->unit,
  71940 			vxlan_tunnel_id);
  71941 }
  71942 
  71943 int
  71944 bcm_loop_vxlan_tunnel_initiator_destroy_all(
  71945 	int	unit)
  71946 {
  71947 	return bcm_vxlan_tunnel_initiator_destroy_all(
  71948 			BCM_CONTROL(unit)->unit);
  71949 }
  71950 
  71951 int
  71952 bcm_loop_vxlan_tunnel_initiator_get(
  71953 	int	unit,
  71954 	bcm_tunnel_initiator_t *	info)
  71955 {
  71956 	return bcm_vxlan_tunnel_initiator_get(
  71957 			BCM_CONTROL(unit)->unit,
  71958 			info);
  71959 }
  71960 
  71961 int
  71962 bcm_loop_vxlan_tunnel_initiator_traverse(
  71963 	int	unit,
  71964 	bcm_tunnel_initiator_traverse_cb	cb,
  71965 	void *	user_data)
  71966 {
  71967 	return bcm_vxlan_tunnel_initiator_traverse(
  71968 			BCM_CONTROL(unit)->unit,
  71969 			cb,
  71970 			user_data);
  71971 }
  71972 
  71973 int
  71974 bcm_loop_vxlan_tunnel_terminator_create(
  71975 	int	unit,
  71976 	bcm_tunnel_terminator_t *	info)
  71977 {
  71978 	return bcm_vxlan_tunnel_terminator_create(
  71979 			BCM_CONTROL(unit)->unit,
  71980 			info);
  71981 }
  71982 
  71983 int
  71984 bcm_loop_vxlan_tunnel_terminator_destroy(
  71985 	int	unit,
  71986 	bcm_gport_t	vxlan_tunnel_id)
  71987 {
  71988 	return bcm_vxlan_tunnel_terminator_destroy(
  71989 			BCM_CONTROL(unit)->unit,
  71990 			vxlan_tunnel_id);
  71991 }
  71992 
  71993 int
  71994 bcm_loop_vxlan_tunnel_terminator_destroy_all(
  71995 	int	unit)
  71996 {
  71997 	return bcm_vxlan_tunnel_terminator_destroy_all(
  71998 			BCM_CONTROL(unit)->unit);
  71999 }
  72000 
  72001 int
  72002 bcm_loop_vxlan_tunnel_terminator_get(
  72003 	int	unit,
  72004 	bcm_tunnel_terminator_t *	info)
  72005 {
  72006 	return bcm_vxlan_tunnel_terminator_get(
  72007 			BCM_CONTROL(unit)->unit,
  72008 			info);
  72009 }
  72010 
  72011 int
  72012 bcm_loop_vxlan_tunnel_terminator_traverse(
  72013 	int	unit,
  72014 	bcm_tunnel_terminator_traverse_cb	cb,
  72015 	void *	user_data)
  72016 {
  72017 	return bcm_vxlan_tunnel_terminator_traverse(
  72018 			BCM_CONTROL(unit)->unit,
  72019 			cb,
  72020 			user_data);
  72021 }
  72022 
  72023 int
  72024 bcm_loop_vxlan_tunnel_terminator_update(
  72025 	int	unit,
  72026 	bcm_tunnel_terminator_t *	info)
  72027 {
  72028 	return bcm_vxlan_tunnel_terminator_update(
  72029 			BCM_CONTROL(unit)->unit,
  72030 			info);
  72031 }
  72032 
  72033 /* bcm_vxlan_vpn_config_t_init not dispatchable */
  72034 
  72035 int
  72036 bcm_loop_vxlan_vpn_create(
  72037 	int	unit,
  72038 	bcm_vxlan_vpn_config_t *	info)
  72039 {
  72040 	return bcm_vxlan_vpn_create(
  72041 			BCM_CONTROL(unit)->unit,
  72042 			info);
  72043 }
  72044 
  72045 int
  72046 bcm_loop_vxlan_vpn_destroy(
  72047 	int	unit,
  72048 	bcm_vpn_t	l2vpn)
  72049 {
  72050 	return bcm_vxlan_vpn_destroy(
  72051 			BCM_CONTROL(unit)->unit,
  72052 			l2vpn);
  72053 }
  72054 
  72055 int
  72056 bcm_loop_vxlan_vpn_destroy_all(
  72057 	int	unit)
  72058 {
  72059 	return bcm_vxlan_vpn_destroy_all(
  72060 			BCM_CONTROL(unit)->unit);
  72061 }
  72062 
  72063 int
  72064 bcm_loop_vxlan_vpn_get(
  72065 	int	unit,
  72066 	bcm_vpn_t	l2vpn,
  72067 	bcm_vxlan_vpn_config_t *	info)
  72068 {
  72069 	return bcm_vxlan_vpn_get(
  72070 			BCM_CONTROL(unit)->unit,
  72071 			l2vpn,
  72072 			info);
  72073 }
  72074 
  72075 int
  72076 bcm_loop_vxlan_vpn_traverse(
  72077 	int	unit,
  72078 	bcm_vxlan_vpn_traverse_cb	cb,
  72079 	void *	user_data)
  72080 {
  72081 	return bcm_vxlan_vpn_traverse(
  72082 			BCM_CONTROL(unit)->unit,
  72083 			cb,
  72084 			user_data);
  72085 }
  72086 
  72087 int
  72088 bcm_loop_wlan_client_add(
  72089 	int	unit,
  72090 	bcm_wlan_client_t *	info)
  72091 {
  72092 	return bcm_wlan_client_add(
  72093 			BCM_CONTROL(unit)->unit,
  72094 			info);
  72095 }
  72096 
  72097 int
  72098 bcm_loop_wlan_client_delete(
  72099 	int	unit,
  72100 	bcm_mac_t	mac)
  72101 {
  72102 	return bcm_wlan_client_delete(
  72103 			BCM_CONTROL(unit)->unit,
  72104 			mac);
  72105 }
  72106 
  72107 int
  72108 bcm_loop_wlan_client_delete_all(
  72109 	int	unit)
  72110 {
  72111 	return bcm_wlan_client_delete_all(
  72112 			BCM_CONTROL(unit)->unit);
  72113 }
  72114 
  72115 int
  72116 bcm_loop_wlan_client_get(
  72117 	int	unit,
  72118 	bcm_mac_t	mac,
  72119 	bcm_wlan_client_t *	info)
  72120 {
  72121 	return bcm_wlan_client_get(
  72122 			BCM_CONTROL(unit)->unit,
  72123 			mac,
  72124 			info);
  72125 }
  72126 
  72127 /* bcm_wlan_client_t_init not dispatchable */
  72128 
  72129 int
  72130 bcm_loop_wlan_client_traverse(
  72131 	int	unit,
  72132 	bcm_wlan_client_traverse_cb	cb,
  72133 	void *	user_data)
  72134 {
  72135 	return bcm_wlan_client_traverse(
  72136 			BCM_CONTROL(unit)->unit,
  72137 			cb,
  72138 			user_data);
  72139 }
  72140 
  72141 int
  72142 bcm_loop_wlan_detach(
  72143 	int	unit)
  72144 {
  72145 	return bcm_wlan_detach(
  72146 			BCM_CONTROL(unit)->unit);
  72147 }
  72148 
  72149 int
  72150 bcm_loop_wlan_init(
  72151 	int	unit)
  72152 {
  72153 	return bcm_wlan_init(
  72154 			BCM_CONTROL(unit)->unit);
  72155 }
  72156 
  72157 int
  72158 bcm_loop_wlan_port_add(
  72159 	int	unit,
  72160 	bcm_wlan_port_t *	info)
  72161 {
  72162 	return bcm_wlan_port_add(
  72163 			BCM_CONTROL(unit)->unit,
  72164 			info);
  72165 }
  72166 
  72167 int
  72168 bcm_loop_wlan_port_delete(
  72169 	int	unit,
  72170 	bcm_gport_t	wlan_port_id)
  72171 {
  72172 	return bcm_wlan_port_delete(
  72173 			BCM_CONTROL(unit)->unit,
  72174 			wlan_port_id);
  72175 }
  72176 
  72177 int
  72178 bcm_loop_wlan_port_delete_all(
  72179 	int	unit)
  72180 {
  72181 	return bcm_wlan_port_delete_all(
  72182 			BCM_CONTROL(unit)->unit);
  72183 }
  72184 
  72185 int
  72186 bcm_loop_wlan_port_get(
  72187 	int	unit,
  72188 	bcm_gport_t	wlan_port_id,
  72189 	bcm_wlan_port_t *	info)
  72190 {
  72191 	return bcm_wlan_port_get(
  72192 			BCM_CONTROL(unit)->unit,
  72193 			wlan_port_id,
  72194 			info);
  72195 }
  72196 
  72197 /* bcm_wlan_port_t_init not dispatchable */
  72198 
  72199 int
  72200 bcm_loop_wlan_port_traverse(
  72201 	int	unit,
  72202 	bcm_wlan_port_traverse_cb	cb,
  72203 	void *	user_data)
  72204 {
  72205 	return bcm_wlan_port_traverse(
  72206 			BCM_CONTROL(unit)->unit,
  72207 			cb,
  72208 			user_data);
  72209 }
  72210 
  72211 int
  72212 bcm_loop_wlan_tunnel_initiator_create(
  72213 	int	unit,
  72214 	bcm_tunnel_initiator_t *	info)
  72215 {
  72216 	return bcm_wlan_tunnel_initiator_create(
  72217 			BCM_CONTROL(unit)->unit,
  72218 			info);
  72219 }
  72220 
  72221 int
  72222 bcm_loop_wlan_tunnel_initiator_destroy(
  72223 	int	unit,
  72224 	bcm_gport_t	wlan_tunnel_id)
  72225 {
  72226 	return bcm_wlan_tunnel_initiator_destroy(
  72227 			BCM_CONTROL(unit)->unit,
  72228 			wlan_tunnel_id);
  72229 }
  72230 
  72231 int
  72232 bcm_loop_wlan_tunnel_initiator_get(
  72233 	int	unit,
  72234 	bcm_tunnel_initiator_t *	info)
  72235 {
  72236 	return bcm_wlan_tunnel_initiator_get(
  72237 			BCM_CONTROL(unit)->unit,
  72238 			info);
  72239 }
  72240 
  72241 #endif	/* INCLUDE_L3 */
  72242 #ifdef	INCLUDE_XFLOW_MACSEC
  72243 
  72244 int
  72245 bcm_loop_xflow_macsec_control_get(
  72246 	int	unit,
  72247 	uint32	flags,
  72248 	bcm_xflow_macsec_instance_id_t	instance_id,
  72249 	bcm_xflow_macsec_control_t	type,
  72250 	uint64 *	value)
  72251 {
  72252 	return bcm_xflow_macsec_control_get(
  72253 			BCM_CONTROL(unit)->unit,
  72254 			flags,
  72255 			instance_id,
  72256 			type,
  72257 			value);
  72258 }
  72259 
  72260 int
  72261 bcm_loop_xflow_macsec_control_set(
  72262 	int	unit,
  72263 	uint32	flags,
  72264 	bcm_xflow_macsec_instance_id_t	instance_id,
  72265 	bcm_xflow_macsec_control_t	type,
  72266 	uint64	value)
  72267 {
  72268 	return bcm_xflow_macsec_control_set(
  72269 			BCM_CONTROL(unit)->unit,
  72270 			flags,
  72271 			instance_id,
  72272 			type,
  72273 			value);
  72274 }
  72275 
  72276 int
  72277 bcm_loop_xflow_macsec_decrypt_flow_create(
  72278 	int	unit,
  72279 	uint32	flags,
  72280 	bcm_xflow_macsec_instance_id_t	instance_id,
  72281 	bcm_xflow_macsec_decrypt_flow_info_t *	flow_info,
  72282 	int	priority,
  72283 	bcm_xflow_macsec_flow_id_t *	flow_id)
  72284 {
  72285 	return bcm_xflow_macsec_decrypt_flow_create(
  72286 			BCM_CONTROL(unit)->unit,
  72287 			flags,
  72288 			instance_id,
  72289 			flow_info,
  72290 			priority,
  72291 			flow_id);
  72292 }
  72293 
  72294 int
  72295 bcm_loop_xflow_macsec_decrypt_flow_destroy(
  72296 	int	unit,
  72297 	bcm_xflow_macsec_flow_id_t	flow_id)
  72298 {
  72299 	return bcm_xflow_macsec_decrypt_flow_destroy(
  72300 			BCM_CONTROL(unit)->unit,
  72301 			flow_id);
  72302 }
  72303 
  72304 int
  72305 bcm_loop_xflow_macsec_decrypt_flow_enable_get(
  72306 	int	unit,
  72307 	bcm_xflow_macsec_flow_id_t	flow_id,
  72308 	int *	enable)
  72309 {
  72310 	return bcm_xflow_macsec_decrypt_flow_enable_get(
  72311 			BCM_CONTROL(unit)->unit,
  72312 			flow_id,
  72313 			enable);
  72314 }
  72315 
  72316 int
  72317 bcm_loop_xflow_macsec_decrypt_flow_enable_set(
  72318 	int	unit,
  72319 	bcm_xflow_macsec_flow_id_t	flow_id,
  72320 	int	enable)
  72321 {
  72322 	return bcm_xflow_macsec_decrypt_flow_enable_set(
  72323 			BCM_CONTROL(unit)->unit,
  72324 			flow_id,
  72325 			enable);
  72326 }
  72327 
  72328 int
  72329 bcm_loop_xflow_macsec_decrypt_flow_get(
  72330 	int	unit,
  72331 	bcm_xflow_macsec_flow_id_t	flow_id,
  72332 	bcm_xflow_macsec_decrypt_flow_info_t *	flow_info,
  72333 	int *	priority)
  72334 {
  72335 	return bcm_xflow_macsec_decrypt_flow_get(
  72336 			BCM_CONTROL(unit)->unit,
  72337 			flow_id,
  72338 			flow_info,
  72339 			priority);
  72340 }
  72341 
  72342 /* bcm_xflow_macsec_decrypt_flow_info_t_init not dispatchable */
  72343 
  72344 int
  72345 bcm_loop_xflow_macsec_decrypt_flow_set(
  72346 	int	unit,
  72347 	bcm_xflow_macsec_flow_id_t	flow_id,
  72348 	bcm_xflow_macsec_decrypt_flow_info_t *	flow_info,
  72349 	int	priority)
  72350 {
  72351 	return bcm_xflow_macsec_decrypt_flow_set(
  72352 			BCM_CONTROL(unit)->unit,
  72353 			flow_id,
  72354 			flow_info,
  72355 			priority);
  72356 }
  72357 
  72358 int
  72359 bcm_loop_xflow_macsec_decrypt_policy_create(
  72360 	int	unit,
  72361 	uint32	flags,
  72362 	bcm_xflow_macsec_instance_id_t	instance_id,
  72363 	bcm_xflow_macsec_decrypt_policy_info_t *	policy_info,
  72364 	bcm_xflow_macsec_policy_id_t *	policy_id)
  72365 {
  72366 	return bcm_xflow_macsec_decrypt_policy_create(
  72367 			BCM_CONTROL(unit)->unit,
  72368 			flags,
  72369 			instance_id,
  72370 			policy_info,
  72371 			policy_id);
  72372 }
  72373 
  72374 int
  72375 bcm_loop_xflow_macsec_decrypt_policy_destroy(
  72376 	int	unit,
  72377 	bcm_xflow_macsec_policy_id_t	policy_id)
  72378 {
  72379 	return bcm_xflow_macsec_decrypt_policy_destroy(
  72380 			BCM_CONTROL(unit)->unit,
  72381 			policy_id);
  72382 }
  72383 
  72384 int
  72385 bcm_loop_xflow_macsec_decrypt_policy_get(
  72386 	int	unit,
  72387 	bcm_xflow_macsec_policy_id_t	policy_id,
  72388 	bcm_xflow_macsec_decrypt_policy_info_t *	policy_info)
  72389 {
  72390 	return bcm_xflow_macsec_decrypt_policy_get(
  72391 			BCM_CONTROL(unit)->unit,
  72392 			policy_id,
  72393 			policy_info);
  72394 }
  72395 
  72396 /* bcm_xflow_macsec_decrypt_policy_info_t_init not dispatchable */
  72397 
  72398 int
  72399 bcm_loop_xflow_macsec_decrypt_policy_set(
  72400 	int	unit,
  72401 	bcm_xflow_macsec_policy_id_t	policy_id,
  72402 	bcm_xflow_macsec_decrypt_policy_info_t *	policy_info)
  72403 {
  72404 	return bcm_xflow_macsec_decrypt_policy_set(
  72405 			BCM_CONTROL(unit)->unit,
  72406 			policy_id,
  72407 			policy_info);
  72408 }
  72409 
  72410 int
  72411 bcm_loop_xflow_macsec_event_deregister(
  72412 	int	unit,
  72413 	bcm_xflow_macsec_event_cb	cb)
  72414 {
  72415 	return bcm_xflow_macsec_event_deregister(
  72416 			BCM_CONTROL(unit)->unit,
  72417 			cb);
  72418 }
  72419 
  72420 int
  72421 bcm_loop_xflow_macsec_event_register(
  72422 	int	unit,
  72423 	bcm_xflow_macsec_event_cb	cb,
  72424 	void *	user_data)
  72425 {
  72426 	return bcm_xflow_macsec_event_register(
  72427 			BCM_CONTROL(unit)->unit,
  72428 			cb,
  72429 			user_data);
  72430 }
  72431 
  72432 int
  72433 bcm_loop_xflow_macsec_mac_addr_control_get(
  72434 	int	unit,
  72435 	uint32	flags,
  72436 	bcm_xflow_macsec_instance_id_t	instance_id,
  72437 	bcm_xflow_macsec_mac_addr_control_t	control_type,
  72438 	bcm_xflow_macsec_mac_addr_info_t *	control_info)
  72439 {
  72440 	return bcm_xflow_macsec_mac_addr_control_get(
  72441 			BCM_CONTROL(unit)->unit,
  72442 			flags,
  72443 			instance_id,
  72444 			control_type,
  72445 			control_info);
  72446 }
  72447 
  72448 int
  72449 bcm_loop_xflow_macsec_mac_addr_control_set(
  72450 	int	unit,
  72451 	uint32	flags,
  72452 	bcm_xflow_macsec_instance_id_t	instance_id,
  72453 	bcm_xflow_macsec_mac_addr_control_t	control_type,
  72454 	bcm_xflow_macsec_mac_addr_info_t *	control_info)
  72455 {
  72456 	return bcm_xflow_macsec_mac_addr_control_set(
  72457 			BCM_CONTROL(unit)->unit,
  72458 			flags,
  72459 			instance_id,
  72460 			control_type,
  72461 			control_info);
  72462 }
  72463 
  72464 int
  72465 bcm_loop_xflow_macsec_mtu_get(
  72466 	int	unit,
  72467 	int	flags,
  72468 	bcm_xflow_macsec_instance_id_t	instance_id,
  72469 	bcm_xflow_macsec_mtu_t	mtu_sel,
  72470 	uint32 *	mtu)
  72471 {
  72472 	return bcm_xflow_macsec_mtu_get(
  72473 			BCM_CONTROL(unit)->unit,
  72474 			flags,
  72475 			instance_id,
  72476 			mtu_sel,
  72477 			mtu);
  72478 }
  72479 
  72480 int
  72481 bcm_loop_xflow_macsec_mtu_set(
  72482 	int	unit,
  72483 	int	flags,
  72484 	bcm_xflow_macsec_instance_id_t	instance_id,
  72485 	uint32	mtu,
  72486 	bcm_xflow_macsec_mtu_t *	mtu_sel)
  72487 {
  72488 	return bcm_xflow_macsec_mtu_set(
  72489 			BCM_CONTROL(unit)->unit,
  72490 			flags,
  72491 			instance_id,
  72492 			mtu,
  72493 			mtu_sel);
  72494 }
  72495 
  72496 int
  72497 bcm_loop_xflow_macsec_sectag_etype_get(
  72498 	int	unit,
  72499 	bcm_xflow_macsec_instance_id_t	instance_id,
  72500 	bcm_xflow_macsec_sectag_ethertype_t	sectag_etype_sel,
  72501 	uint32 *	sectag_etype)
  72502 {
  72503 	return bcm_xflow_macsec_sectag_etype_get(
  72504 			BCM_CONTROL(unit)->unit,
  72505 			instance_id,
  72506 			sectag_etype_sel,
  72507 			sectag_etype);
  72508 }
  72509 
  72510 int
  72511 bcm_loop_xflow_macsec_sectag_etype_set(
  72512 	int	unit,
  72513 	int	flags,
  72514 	bcm_xflow_macsec_instance_id_t	instance_id,
  72515 	uint32	sectag_etype,
  72516 	bcm_xflow_macsec_sectag_ethertype_t *	sectag_etype_sel)
  72517 {
  72518 	return bcm_xflow_macsec_sectag_etype_set(
  72519 			BCM_CONTROL(unit)->unit,
  72520 			flags,
  72521 			instance_id,
  72522 			sectag_etype,
  72523 			sectag_etype_sel);
  72524 }
  72525 
  72526 int
  72527 bcm_loop_xflow_macsec_secure_assoc_create(
  72528 	int	unit,
  72529 	uint32	flags,
  72530 	bcm_xflow_macsec_secure_chan_id_t	chan_id,
  72531 	bcm_xflow_macsec_secure_assoc_info_t *	assoc_info,
  72532 	bcm_xflow_macsec_secure_assoc_id_t *	assoc_id)
  72533 {
  72534 	return bcm_xflow_macsec_secure_assoc_create(
  72535 			BCM_CONTROL(unit)->unit,
  72536 			flags,
  72537 			chan_id,
  72538 			assoc_info,
  72539 			assoc_id);
  72540 }
  72541 
  72542 int
  72543 bcm_loop_xflow_macsec_secure_assoc_destroy(
  72544 	int	unit,
  72545 	bcm_xflow_macsec_secure_assoc_id_t	assoc_id)
  72546 {
  72547 	return bcm_xflow_macsec_secure_assoc_destroy(
  72548 			BCM_CONTROL(unit)->unit,
  72549 			assoc_id);
  72550 }
  72551 
  72552 int
  72553 bcm_loop_xflow_macsec_secure_assoc_get(
  72554 	int	unit,
  72555 	bcm_xflow_macsec_secure_assoc_id_t	assoc_id,
  72556 	bcm_xflow_macsec_secure_assoc_info_t *	assoc_info,
  72557 	bcm_xflow_macsec_secure_chan_id_t *	chan_id)
  72558 {
  72559 	return bcm_xflow_macsec_secure_assoc_get(
  72560 			BCM_CONTROL(unit)->unit,
  72561 			assoc_id,
  72562 			assoc_info,
  72563 			chan_id);
  72564 }
  72565 
  72566 /* bcm_xflow_macsec_secure_assoc_info_t_init not dispatchable */
  72567 
  72568 int
  72569 bcm_loop_xflow_macsec_secure_assoc_set(
  72570 	int	unit,
  72571 	bcm_xflow_macsec_secure_assoc_id_t	assoc_id,
  72572 	bcm_xflow_macsec_secure_assoc_info_t *	assoc_info)
  72573 {
  72574 	return bcm_xflow_macsec_secure_assoc_set(
  72575 			BCM_CONTROL(unit)->unit,
  72576 			assoc_id,
  72577 			assoc_info);
  72578 }
  72579 
  72580 int
  72581 bcm_loop_xflow_macsec_secure_assoc_traverse(
  72582 	int	unit,
  72583 	bcm_xflow_macsec_secure_chan_id_t	chan_id,
  72584 	bcm_xflow_macsec_secure_assoc_traverse_cb	callback,
  72585 	void *	user_data)
  72586 {
  72587 	return bcm_xflow_macsec_secure_assoc_traverse(
  72588 			BCM_CONTROL(unit)->unit,
  72589 			chan_id,
  72590 			callback,
  72591 			user_data);
  72592 }
  72593 
  72594 int
  72595 bcm_loop_xflow_macsec_secure_chan_create(
  72596 	int	unit,
  72597 	uint32	flags,
  72598 	bcm_xflow_macsec_instance_id_t	instance_id,
  72599 	bcm_xflow_macsec_secure_chan_info_t *	chan_info,
  72600 	int	priority,
  72601 	bcm_xflow_macsec_secure_chan_id_t *	chan_id)
  72602 {
  72603 	return bcm_xflow_macsec_secure_chan_create(
  72604 			BCM_CONTROL(unit)->unit,
  72605 			flags,
  72606 			instance_id,
  72607 			chan_info,
  72608 			priority,
  72609 			chan_id);
  72610 }
  72611 
  72612 int
  72613 bcm_loop_xflow_macsec_secure_chan_destroy(
  72614 	int	unit,
  72615 	bcm_xflow_macsec_secure_chan_id_t	chan_id)
  72616 {
  72617 	return bcm_xflow_macsec_secure_chan_destroy(
  72618 			BCM_CONTROL(unit)->unit,
  72619 			chan_id);
  72620 }
  72621 
  72622 int
  72623 bcm_loop_xflow_macsec_secure_chan_enable_get(
  72624 	int	unit,
  72625 	bcm_xflow_macsec_secure_chan_id_t	chan_id,
  72626 	int *	enable)
  72627 {
  72628 	return bcm_xflow_macsec_secure_chan_enable_get(
  72629 			BCM_CONTROL(unit)->unit,
  72630 			chan_id,
  72631 			enable);
  72632 }
  72633 
  72634 int
  72635 bcm_loop_xflow_macsec_secure_chan_enable_set(
  72636 	int	unit,
  72637 	bcm_xflow_macsec_secure_chan_id_t	chan_id,
  72638 	int	enable)
  72639 {
  72640 	return bcm_xflow_macsec_secure_chan_enable_set(
  72641 			BCM_CONTROL(unit)->unit,
  72642 			chan_id,
  72643 			enable);
  72644 }
  72645 
  72646 int
  72647 bcm_loop_xflow_macsec_secure_chan_get(
  72648 	int	unit,
  72649 	bcm_xflow_macsec_secure_chan_id_t	chan_id,
  72650 	bcm_xflow_macsec_secure_chan_info_t *	chan_info,
  72651 	int *	priority)
  72652 {
  72653 	return bcm_xflow_macsec_secure_chan_get(
  72654 			BCM_CONTROL(unit)->unit,
  72655 			chan_id,
  72656 			chan_info,
  72657 			priority);
  72658 }
  72659 
  72660 /* bcm_xflow_macsec_secure_chan_info_t_init not dispatchable */
  72661 
  72662 int
  72663 bcm_loop_xflow_macsec_secure_chan_info_traverse(
  72664 	int	unit,
  72665 	uint32	flags,
  72666 	bcm_xflow_macsec_instance_id_t	instance_id,
  72667 	bcm_xflow_macsec_chan_traverse_cb	callback,
  72668 	void *	user_data)
  72669 {
  72670 	return bcm_xflow_macsec_secure_chan_info_traverse(
  72671 			BCM_CONTROL(unit)->unit,
  72672 			flags,
  72673 			instance_id,
  72674 			callback,
  72675 			user_data);
  72676 }
  72677 
  72678 int
  72679 bcm_loop_xflow_macsec_secure_chan_set(
  72680 	int	unit,
  72681 	uint32	flags,
  72682 	bcm_xflow_macsec_secure_chan_id_t	chan_id,
  72683 	bcm_xflow_macsec_secure_chan_info_t *	chan_info,
  72684 	int	priority)
  72685 {
  72686 	return bcm_xflow_macsec_secure_chan_set(
  72687 			BCM_CONTROL(unit)->unit,
  72688 			flags,
  72689 			chan_id,
  72690 			chan_info,
  72691 			priority);
  72692 }
  72693 
  72694 int
  72695 bcm_loop_xflow_macsec_stat_get(
  72696 	int	unit,
  72697 	uint32	flags,
  72698 	bcm_xflow_macsec_id_t	id,
  72699 	bcm_xflow_macsec_stat_type_t	stat_type,
  72700 	uint64 *	value)
  72701 {
  72702 	return bcm_xflow_macsec_stat_get(
  72703 			BCM_CONTROL(unit)->unit,
  72704 			flags,
  72705 			id,
  72706 			stat_type,
  72707 			value);
  72708 }
  72709 
  72710 int
  72711 bcm_loop_xflow_macsec_stat_multi_get(
  72712 	int	unit,
  72713 	uint32	flags,
  72714 	bcm_xflow_macsec_id_t	id,
  72715 	uint32	num_stats,
  72716 	bcm_xflow_macsec_stat_type_t *	stat_type_array,
  72717 	uint64 *	value_array)
  72718 {
  72719 	return bcm_xflow_macsec_stat_multi_get(
  72720 			BCM_CONTROL(unit)->unit,
  72721 			flags,
  72722 			id,
  72723 			num_stats,
  72724 			stat_type_array,
  72725 			value_array);
  72726 }
  72727 
  72728 int
  72729 bcm_loop_xflow_macsec_stat_multi_set(
  72730 	int	unit,
  72731 	uint32	flags,
  72732 	bcm_xflow_macsec_id_t	id,
  72733 	uint32	num_stats,
  72734 	bcm_xflow_macsec_stat_type_t *	stat_type_array,
  72735 	uint64 *	value_array)
  72736 {
  72737 	return bcm_xflow_macsec_stat_multi_set(
  72738 			BCM_CONTROL(unit)->unit,
  72739 			flags,
  72740 			id,
  72741 			num_stats,
  72742 			stat_type_array,
  72743 			value_array);
  72744 }
  72745 
  72746 int
  72747 bcm_loop_xflow_macsec_stat_set(
  72748 	int	unit,
  72749 	uint32	flags,
  72750 	bcm_xflow_macsec_id_t	id,
  72751 	bcm_xflow_macsec_stat_type_t	stat_type,
  72752 	uint64	value)
  72753 {
  72754 	return bcm_xflow_macsec_stat_set(
  72755 			BCM_CONTROL(unit)->unit,
  72756 			flags,
  72757 			id,
  72758 			stat_type,
  72759 			value);
  72760 }
  72761 
  72762 int
  72763 bcm_loop_xflow_macsec_subport_id_get(
  72764 	int	unit,
  72765 	bcm_xflow_macsec_id_t	id,
  72766 	bcm_xflow_macsec_subport_id_t *	macsec_subport_id)
  72767 {
  72768 	return bcm_xflow_macsec_subport_id_get(
  72769 			BCM_CONTROL(unit)->unit,
  72770 			id,
  72771 			macsec_subport_id);
  72772 }
  72773 
  72774 int
  72775 bcm_loop_xflow_macsec_vlan_tpid_array_get(
  72776 	int	unit,
  72777 	bcm_xflow_macsec_instance_id_t	instance_id,
  72778 	bcm_xflow_macsec_vlan_tpid_t *	vlan_tpid)
  72779 {
  72780 	return bcm_xflow_macsec_vlan_tpid_array_get(
  72781 			BCM_CONTROL(unit)->unit,
  72782 			instance_id,
  72783 			vlan_tpid);
  72784 }
  72785 
  72786 int
  72787 bcm_loop_xflow_macsec_vlan_tpid_array_index_get(
  72788 	int	unit,
  72789 	bcm_xflow_macsec_instance_id_t	instance_id,
  72790 	uint32	vlan_tpid,
  72791 	uint8 *	tpid_index_sel)
  72792 {
  72793 	return bcm_xflow_macsec_vlan_tpid_array_index_get(
  72794 			BCM_CONTROL(unit)->unit,
  72795 			instance_id,
  72796 			vlan_tpid,
  72797 			tpid_index_sel);
  72798 }
  72799 
  72800 int
  72801 bcm_loop_xflow_macsec_vlan_tpid_array_set(
  72802 	int	unit,
  72803 	bcm_xflow_macsec_instance_id_t	instance_id,
  72804 	bcm_xflow_macsec_vlan_tpid_t *	vlan_tpid)
  72805 {
  72806 	return bcm_xflow_macsec_vlan_tpid_array_set(
  72807 			BCM_CONTROL(unit)->unit,
  72808 			instance_id,
  72809 			vlan_tpid);
  72810 }
  72811 
  72812 #endif	/* INCLUDE_XFLOW_MACSEC */
  72813 
  72814 #endif	/* BCM_LOOP_SUPPORT */