1/* 2 * Copyright (c) 2012, 2015, The Linux Foundation. All rights reserved. 3 * Permission to use, copy, modify, and/or distribute this software for 4 * any purpose with or without fee is hereby granted, provided that the 5 * above copyright notice and this permission notice appear in all copies. 6 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 7 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 8 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 9 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 11 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 12 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 13 */ 14 15 16 17#ifndef _HSL_API_H 18#define _HSL_API_H 19 20#ifdef __cplusplus 21extern "C" 22{ 23#endif /* __cplusplus */ 24 25#include "fal.h" 26 27 /* Misc */ 28#define MISC_FUNC_PROTOTYPE_DEF 29 typedef sw_error_t 30 (*hsl_arp_status_set) (a_uint32_t dev_id, a_bool_t enable); 31 32 typedef sw_error_t 33 (*hsl_arp_status_get) (a_uint32_t dev_id, a_bool_t * enable); 34 35 typedef sw_error_t 36 (*hsl_frame_max_size_set) (a_uint32_t dev_id, a_uint32_t size); 37 38 typedef sw_error_t 39 (*hsl_frame_max_size_get) (a_uint32_t dev_id, a_uint32_t * size); 40 41 typedef sw_error_t 42 (*hsl_port_unk_sa_cmd_set) (a_uint32_t dev_id, fal_port_t port_id, 43 fal_fwd_cmd_t cmd); 44 45 typedef sw_error_t 46 (*hsl_port_unk_sa_cmd_get) (a_uint32_t dev_id, fal_port_t port_id, 47 fal_fwd_cmd_t * cmd); 48 49 typedef sw_error_t 50 (*hsl_port_unk_uc_filter_set) (a_uint32_t dev_id, fal_port_t port_id, 51 a_bool_t enable); 52 53 typedef sw_error_t 54 (*hsl_port_unk_uc_filter_get) (a_uint32_t dev_id, fal_port_t port_id, 55 a_bool_t * enable); 56 57 typedef sw_error_t 58 (*hsl_port_unk_mc_filter_set) (a_uint32_t dev_id, fal_port_t port_id, 59 a_bool_t enable); 60 61 typedef sw_error_t 62 (*hsl_port_unk_mc_filter_get) (a_uint32_t dev_id, fal_port_t port_id, 63 a_bool_t * enable); 64 65 typedef sw_error_t 66 (*hsl_port_bc_filter_set) (a_uint32_t dev_id, fal_port_t port_id, 67 a_bool_t enable); 68 69 typedef sw_error_t 70 (*hsl_port_bc_filter_get) (a_uint32_t dev_id, fal_port_t port_id, 71 a_bool_t * enable); 72 73 typedef sw_error_t 74 (*hsl_cpu_port_status_set) (a_uint32_t dev_id, a_bool_t enable); 75 76 typedef sw_error_t 77 (*hsl_cpu_port_status_get) (a_uint32_t dev_id, a_bool_t * enable); 78 79 typedef sw_error_t 80 (*hsl_bc_to_cpu_port_set) (a_uint32_t dev_id, a_bool_t enable); 81 82 typedef sw_error_t 83 (*hsl_bc_to_cpu_port_get) (a_uint32_t dev_id, a_bool_t * enable); 84 85 typedef sw_error_t 86 (*hsl_port_dhcp_set) (a_uint32_t dev_id, fal_port_t port_id, 87 a_bool_t enable); 88 89 typedef sw_error_t 90 (*hsl_pppoe_cmd_set) (a_uint32_t dev_id, fal_fwd_cmd_t cmd); 91 92 typedef sw_error_t 93 (*hsl_pppoe_cmd_get) (a_uint32_t dev_id, fal_fwd_cmd_t * cmd); 94 95 typedef sw_error_t 96 (*hsl_pppoe_status_set) (a_uint32_t dev_id, a_bool_t enable); 97 98 typedef sw_error_t 99 (*hsl_pppoe_status_get) (a_uint32_t dev_id, a_bool_t * enable); 100 101 typedef sw_error_t 102 (*hsl_port_dhcp_get) (a_uint32_t dev_id, fal_port_t port_id, 103 a_bool_t * enable); 104 105 typedef sw_error_t 106 (*hsl_arp_cmd_set) (a_uint32_t dev_id, fal_fwd_cmd_t cmd); 107 108 typedef sw_error_t 109 (*hsl_arp_cmd_get) (a_uint32_t dev_id, fal_fwd_cmd_t * cmd); 110 111 typedef sw_error_t 112 (*hsl_eapol_cmd_set) (a_uint32_t dev_id, fal_fwd_cmd_t cmd); 113 114 typedef sw_error_t 115 (*hsl_eapol_cmd_get) (a_uint32_t dev_id, fal_fwd_cmd_t * cmd); 116 117 typedef sw_error_t 118 (*hsl_pppoe_session_add) (a_uint32_t dev_id, a_uint32_t session_id, 119 a_bool_t strip_hdr); 120 121 typedef sw_error_t 122 (*hsl_pppoe_session_del) (a_uint32_t dev_id, a_uint32_t session_id); 123 124 typedef sw_error_t 125 (*hsl_pppoe_session_get) (a_uint32_t dev_id, a_uint32_t session_id, 126 a_bool_t * strip_hdr); 127 128 typedef sw_error_t 129 (*hsl_eapol_status_set) (a_uint32_t dev_id, a_uint32_t port_id, 130 a_bool_t enable); 131 132 typedef sw_error_t 133 (*hsl_eapol_status_get) (a_uint32_t dev_id, a_uint32_t port_id, 134 a_bool_t * enable); 135 136 typedef sw_error_t 137 (*hsl_ripv1_status_set) (a_uint32_t dev_id, a_bool_t enable); 138 139 typedef sw_error_t 140 (*hsl_ripv1_status_get) (a_uint32_t dev_id, a_bool_t * enable); 141 142 typedef sw_error_t 143 (*hsl_port_arp_req_status_set) (a_uint32_t dev_id, fal_port_t port_id, 144 a_bool_t enable); 145 146 typedef sw_error_t 147 (*hsl_port_arp_req_status_get) (a_uint32_t dev_id, fal_port_t port_id, 148 a_bool_t * enable); 149 150 typedef sw_error_t 151 (*hsl_port_arp_ack_status_set) (a_uint32_t dev_id, fal_port_t port_id, 152 a_bool_t enable); 153 154 typedef sw_error_t 155 (*hsl_port_arp_ack_status_get) (a_uint32_t dev_id, fal_port_t port_id, 156 a_bool_t * enable); 157 158 typedef sw_error_t 159 (*hsl_pppoe_session_table_add) (a_uint32_t dev_id, 160 fal_pppoe_session_t * session_tbl); 161 162 typedef sw_error_t 163 (*hsl_pppoe_session_table_del) (a_uint32_t dev_id, 164 fal_pppoe_session_t * session_tbl); 165 166 typedef sw_error_t 167 (*hsl_pppoe_session_table_get) (a_uint32_t dev_id, 168 fal_pppoe_session_t * session_tbl); 169 170 typedef sw_error_t 171 (*hsl_pppoe_session_id_set) (a_uint32_t dev_id, a_uint32_t index, 172 a_uint32_t id); 173 174 typedef sw_error_t 175 (*hsl_pppoe_session_id_get) (a_uint32_t dev_id, a_uint32_t index, 176 a_uint32_t * id); 177 178 typedef sw_error_t 179 (*hsl_intr_mask_set) (a_uint32_t dev_id, a_uint32_t intr_mask); 180 181 typedef sw_error_t 182 (*hsl_intr_mask_get) (a_uint32_t dev_id, a_uint32_t * intr_mask); 183 184 typedef sw_error_t 185 (*hsl_intr_status_get) (a_uint32_t dev_id, a_uint32_t * intr_status); 186 187 typedef sw_error_t 188 (*hsl_intr_status_clear) (a_uint32_t dev_id, a_uint32_t intr_status); 189 190 typedef sw_error_t 191 (*hsl_intr_port_link_mask_set) (a_uint32_t dev_id, fal_port_t port_id, 192 a_uint32_t intr_mask); 193 194 typedef sw_error_t 195 (*hsl_intr_port_link_mask_get) (a_uint32_t dev_id, fal_port_t port_id, 196 a_uint32_t * intr_mask); 197 198 typedef sw_error_t 199 (*hsl_intr_port_link_status_get) (a_uint32_t dev_id, fal_port_t port_id, 200 a_uint32_t * intr_mask); 201 202 typedef sw_error_t 203 (*hsl_intr_mask_mac_linkchg_set) (a_uint32_t dev_id, fal_port_t port_id, 204 a_bool_t enable); 205 206 typedef sw_error_t 207 (*hsl_intr_mask_mac_linkchg_get) (a_uint32_t dev_id, fal_port_t port_id, 208 a_bool_t * enable); 209 210 typedef sw_error_t 211 (*hsl_intr_status_mac_linkchg_get) (a_uint32_t dev_id, 212 fal_pbmp_t * port_bitmap); 213 214 typedef sw_error_t (*hsl_intr_status_mac_linkchg_clear) (a_uint32_t dev_id); 215 216 typedef sw_error_t 217 (*hsl_cpu_vid_en_set) (a_uint32_t dev_id, a_bool_t enable); 218 219 typedef sw_error_t 220 (*hsl_cpu_vid_en_get) (a_uint32_t dev_id, a_bool_t * enable); 221 222 typedef sw_error_t 223 (*hsl_rtd_pppoe_en_set) (a_uint32_t dev_id, a_bool_t enable); 224 225 typedef sw_error_t 226 (*hsl_rtd_pppoe_en_get) (a_uint32_t dev_id, a_bool_t * enable); 227 228 typedef sw_error_t 229 (*hsl_global_macaddr_set) (a_uint32_t dev_id, fal_mac_addr_t * addr); 230 231 typedef sw_error_t 232 (*hsl_global_macaddr_get) (a_uint32_t dev_id, fal_mac_addr_t * addr); 233 234 typedef sw_error_t 235 (*hsl_lldp_status_set) (a_uint32_t dev_id, a_bool_t enable); 236 237 typedef sw_error_t 238 (*hsl_lldp_status_get) (a_uint32_t dev_id, a_bool_t * enable); 239 240 typedef sw_error_t 241 (*hsl_frame_crc_reserve_set) (a_uint32_t dev_id, a_bool_t enable); 242 243 typedef sw_error_t 244 (*hsl_frame_crc_reserve_get) (a_uint32_t dev_id, a_bool_t * enable); 245 246 247 typedef sw_error_t 248 (*hsl_register_dump) (a_uint32_t dev_id,a_uint32_t register_idx, fal_reg_dump_t * reg_dump); 249 250 typedef sw_error_t 251 (*hsl_debug_register_dump) (a_uint32_t dev_id, fal_debug_reg_dump_t * reg_dump); 252 253 254 /* Port Control */ 255#define PORT_CONTROL_FUNC_PROTOTYPE_DEF 256 typedef sw_error_t 257 (*hsl_port_duplex_get) (a_uint32_t dev_id, fal_port_t port_id, 258 fal_port_duplex_t * pduplex); 259 260 typedef sw_error_t 261 (*hsl_port_duplex_set) (a_uint32_t dev_id, fal_port_t port_id, 262 fal_port_duplex_t duplex); 263 264 typedef sw_error_t 265 (*hsl_port_speed_get) (a_uint32_t dev_id, fal_port_t port_id, 266 fal_port_speed_t * pspeed); 267 268 typedef sw_error_t 269 (*hsl_port_autoneg_status_get) (a_uint32_t dev_id, fal_port_t port_id, 270 a_bool_t * status); 271 272 typedef sw_error_t 273 (*hsl_port_speed_set) (a_uint32_t dev_id, fal_port_t port_id, 274 fal_port_speed_t speed); 275 276 typedef sw_error_t 277 (*hsl_port_autoneg_enable) (a_uint32_t dev_id, fal_port_t port_id); 278 279 typedef sw_error_t 280 (*hsl_port_autoneg_restart) (a_uint32_t dev_id, fal_port_t port_id); 281 282 typedef sw_error_t 283 (*hsl_port_autoneg_adv_get) (a_uint32_t dev_id, fal_port_t port_id, 284 a_uint32_t * autoadv); 285 286 typedef sw_error_t 287 (*hsl_port_autoneg_adv_set) (a_uint32_t dev_id, fal_port_t port_id, 288 a_uint32_t autoadv); 289 290 typedef sw_error_t 291 (*hsl_port_hdr_status_set) (a_uint32_t dev_id, fal_port_t port_id, 292 a_bool_t enable); 293 294 typedef sw_error_t 295 (*hsl_port_hdr_status_get) (a_uint32_t dev_id, fal_port_t port_id, 296 a_bool_t * enable); 297 298 typedef sw_error_t 299 (*hsl_port_flowctrl_set) (a_uint32_t dev_id, fal_port_t port_id, 300 a_bool_t enable); 301 302 typedef sw_error_t 303 (*hsl_port_flowctrl_get) (a_uint32_t dev_id, fal_port_t port_id, 304 a_bool_t * enable); 305typedef sw_error_t 306 (*hsl_port_flowctrl_thresh_set) (a_uint32_t dev_id, fal_port_t port_id, 307 a_uint8_t on, a_uint8_t off); 308 309 typedef sw_error_t 310 (*hsl_port_flowctrl_forcemode_set) (a_uint32_t dev_id, fal_port_t port_id, 311 a_bool_t enable); 312 313 typedef sw_error_t 314 (*hsl_port_flowctrl_forcemode_get) (a_uint32_t dev_id, fal_port_t port_id, 315 a_bool_t * enable); 316 317 typedef sw_error_t 318 (*hsl_port_powersave_set) (a_uint32_t dev_id, fal_port_t port_id, 319 a_bool_t enable); 320 321 322 typedef sw_error_t 323 (*hsl_port_powersave_get) (a_uint32_t dev_id, fal_port_t port_id, 324 a_bool_t * enable); 325 326 327 typedef sw_error_t 328 (*hsl_port_hibernate_set) (a_uint32_t dev_id, fal_port_t port_id, 329 a_bool_t enable); 330 331 332 typedef sw_error_t 333 (*hsl_port_hibernate_get) (a_uint32_t dev_id, fal_port_t port_id, 334 a_bool_t * enable); 335 336 337 typedef sw_error_t 338 (*hsl_port_cdt) (a_uint32_t dev_id, fal_port_t port_id, 339 a_uint32_t mdi_pair, fal_cable_status_t * cable_status, 340 a_uint32_t * cable_len); 341 342 typedef sw_error_t 343 (*hsl_port_rxhdr_mode_set) (a_uint32_t dev_id, fal_port_t port_id, 344 fal_port_header_mode_t mode); 345 346 typedef sw_error_t 347 (*hsl_port_rxhdr_mode_get) (a_uint32_t dev_id, fal_port_t port_id, 348 fal_port_header_mode_t * mode); 349 350 typedef sw_error_t 351 (*hsl_port_txhdr_mode_set) (a_uint32_t dev_id, fal_port_t port_id, 352 fal_port_header_mode_t mode); 353 354 typedef sw_error_t 355 (*hsl_port_txhdr_mode_get) (a_uint32_t dev_id, fal_port_t port_id, 356 fal_port_header_mode_t * mode); 357 358 typedef sw_error_t 359 (*hsl_header_type_set) (a_uint32_t dev_id, a_bool_t enable, 360 a_uint32_t type); 361 362 typedef sw_error_t 363 (*hsl_header_type_get) (a_uint32_t dev_id, a_bool_t * enable, 364 a_uint32_t * type); 365 366 typedef sw_error_t 367 (*hsl_port_txmac_status_set) (a_uint32_t dev_id, fal_port_t port_id, 368 a_bool_t enable); 369 370 typedef sw_error_t 371 (*hsl_port_txmac_status_get) (a_uint32_t dev_id, fal_port_t port_id, 372 a_bool_t * enable); 373 374 typedef sw_error_t 375 (*hsl_port_rxmac_status_set) (a_uint32_t dev_id, fal_port_t port_id, 376 a_bool_t enable); 377 378 typedef sw_error_t 379 (*hsl_port_rxmac_status_get) (a_uint32_t dev_id, fal_port_t port_id, 380 a_bool_t * enable); 381 382 typedef sw_error_t 383 (*hsl_port_txfc_status_set) (a_uint32_t dev_id, fal_port_t port_id, 384 a_bool_t enable); 385 386 typedef sw_error_t 387 (*hsl_port_txfc_status_get) (a_uint32_t dev_id, fal_port_t port_id, 388 a_bool_t * enable); 389 390 typedef sw_error_t 391 (*hsl_port_rxfc_status_set) (a_uint32_t dev_id, fal_port_t port_id, 392 a_bool_t enable); 393 394 typedef sw_error_t 395 (*hsl_port_rxfc_status_get) (a_uint32_t dev_id, fal_port_t port_id, 396 a_bool_t * enable); 397 398 typedef sw_error_t 399 (*hsl_port_bp_status_set) (a_uint32_t dev_id, fal_port_t port_id, 400 a_bool_t enable); 401 402 typedef sw_error_t 403 (*hsl_port_bp_status_get) (a_uint32_t dev_id, fal_port_t port_id, 404 a_bool_t * enable); 405 406 typedef sw_error_t 407 (*hsl_port_link_forcemode_set) (a_uint32_t dev_id, fal_port_t port_id, 408 a_bool_t enable); 409 410 typedef sw_error_t 411 (*hsl_port_link_forcemode_get) (a_uint32_t dev_id, fal_port_t port_id, 412 a_bool_t * enable); 413 414 typedef sw_error_t 415 (*hsl_port_link_status_get) (a_uint32_t dev_id, fal_port_t port_id, 416 a_bool_t * status); 417 418 typedef sw_error_t 419 (*hsl_ports_link_status_get) (a_uint32_t dev_id, a_uint32_t * status); 420 421 typedef sw_error_t 422 (*hsl_port_mac_loopback_set) (a_uint32_t dev_id, fal_port_t port_id, 423 a_bool_t enable); 424 425 typedef sw_error_t 426 (*hsl_port_mac_loopback_get) (a_uint32_t dev_id, fal_port_t port_id, 427 a_bool_t * enable); 428 429 typedef sw_error_t 430 (*hsl_port_congestion_drop_set) (a_uint32_t dev_id, fal_port_t port_id, 431 a_uint32_t queue_id, a_bool_t enable); 432 433 typedef sw_error_t 434 (*hsl_port_congestion_drop_get) (a_uint32_t dev_id, fal_port_t port_id, 435 a_uint32_t queue_id, a_bool_t * enable); 436 437 typedef sw_error_t 438 (*hsl_ring_flow_ctrl_thres_set) (a_uint32_t dev_id, a_uint32_t ring_id, 439 a_uint8_t on_thres, a_uint8_t off_thres); 440 441 typedef sw_error_t 442 (*hsl_ring_flow_ctrl_thres_get) (a_uint32_t dev_id, a_uint32_t ring_id, 443 a_uint8_t * on_thres, 444 a_uint8_t * off_thres); 445 446 typedef sw_error_t 447 (*hsl_port_8023az_set) (a_uint32_t dev_id, fal_port_t port_id, 448 a_bool_t enable); 449 450 451 typedef sw_error_t 452 (*hsl_port_8023az_get) (a_uint32_t dev_id, fal_port_t port_id, 453 a_bool_t * enable); 454 455 typedef sw_error_t 456 (*hsl_port_mdix_set) (a_uint32_t dev_id, fal_port_t port_id, 457 fal_port_mdix_mode_t mode); 458 459 typedef sw_error_t 460 (*hsl_port_mdix_get) (a_uint32_t dev_id, fal_port_t port_id, 461 fal_port_mdix_mode_t * mode); 462 463 typedef sw_error_t 464 (*hsl_port_mdix_status_get) (a_uint32_t dev_id, fal_port_t port_id, 465 fal_port_mdix_status_t * mode); 466 467 typedef sw_error_t 468 (*hsl_port_combo_prefer_medium_set) (a_uint32_t dev_id, 469 fal_port_t port_id, 470 fal_port_medium_t medium); 471 472 typedef sw_error_t 473 (*hsl_port_combo_prefer_medium_get) (a_uint32_t dev_id, 474 fal_port_t port_id, 475 fal_port_medium_t * medium); 476 477 typedef sw_error_t 478 (*hsl_port_combo_medium_status_get) (a_uint32_t dev_id, 479 fal_port_t port_id, 480 fal_port_medium_t * medium); 481 482 typedef sw_error_t 483 (*hsl_port_combo_fiber_mode_set) (a_uint32_t dev_id, fal_port_t port_id, 484 fal_port_fiber_mode_t mode); 485 486 typedef sw_error_t 487 (*hsl_port_combo_fiber_mode_get) (a_uint32_t dev_id, fal_port_t port_id, 488 fal_port_fiber_mode_t * mode); 489 490 typedef sw_error_t 491 (*hsl_port_local_loopback_set) (a_uint32_t dev_id, fal_port_t port_id, 492 a_bool_t enable); 493 494 typedef sw_error_t 495 (*hsl_port_local_loopback_get) (a_uint32_t dev_id, fal_port_t port_id, 496 a_bool_t * enable); 497 498 typedef sw_error_t 499 (*hsl_port_remote_loopback_set) (a_uint32_t dev_id, fal_port_t port_id, 500 a_bool_t enable); 501 502 typedef sw_error_t 503 (*hsl_port_remote_loopback_get) (a_uint32_t dev_id, fal_port_t port_id, 504 a_bool_t * enable); 505 506 typedef sw_error_t 507 (*hsl_port_reset) (a_uint32_t dev_id, fal_port_t port_id); 508 509 typedef sw_error_t 510 (*hsl_port_power_off) (a_uint32_t dev_id, fal_port_t port_id); 511 512 typedef sw_error_t 513 (*hsl_port_power_on) (a_uint32_t dev_id, fal_port_t port_id); 514 515 typedef sw_error_t 516 (*hsl_port_phy_id_get) (a_uint32_t dev_id, fal_port_t port_id,a_uint16_t * org_id, a_uint16_t * rev_id); 517 518 typedef sw_error_t 519 (*hsl_port_wol_status_set) (a_uint32_t dev_id, fal_port_t port_id,a_bool_t enable); 520 521 typedef sw_error_t 522 (*hsl_port_wol_status_get) (a_uint32_t dev_id, fal_port_t port_id,a_bool_t *enable); 523 524 typedef sw_error_t 525 (*hsl_port_magic_frame_mac_set) (a_uint32_t dev_id, fal_port_t port_id,fal_mac_addr_t * mac); 526 527 typedef sw_error_t 528 (*hsl_port_magic_frame_mac_get) (a_uint32_t dev_id, fal_port_t port_id,fal_mac_addr_t * mac); 529 530 typedef sw_error_t 531 (*hsl_port_interface_mode_set) (a_uint32_t dev_id, fal_port_t port_id, 532 fal_port_interface_mode_t mode); 533 534 typedef sw_error_t 535 (*hsl_port_interface_mode_get) (a_uint32_t dev_id, fal_port_t port_id, 536 fal_port_interface_mode_t * mode); 537 538 typedef sw_error_t 539 (*hsl_port_interface_mode_status_get) (a_uint32_t dev_id, fal_port_t port_id, 540 fal_port_interface_mode_t * mode); 541 typedef sw_error_t 542 (*hsl_port_counter_set) (a_uint32_t dev_id, fal_port_t port_id, 543 a_bool_t enable); 544 typedef sw_error_t 545 (*hsl_port_counter_get) (a_uint32_t dev_id, fal_port_t port_id, 546 a_bool_t * enable); 547 typedef sw_error_t 548 (*hsl_port_counter_show) (a_uint32_t dev_id, fal_port_t port_id, 549 fal_port_counter_info_t * counter_info); 550 /* VLAN */ 551#define VLAN_FUNC_PROTOTYPE_DEF 552 typedef sw_error_t 553 (*hsl_vlan_entry_append) (a_uint32_t dev_id, 554 const fal_vlan_t * vlan_entry); 555 556 typedef sw_error_t 557 (*hsl_vlan_create) (a_uint32_t dev_id, a_uint32_t vlan_id); 558 559 typedef sw_error_t 560 (*hsl_vlan_next) (a_uint32_t dev_id, a_uint32_t vlan_id, 561 fal_vlan_t * p_vlan); 562 563 typedef sw_error_t 564 (*hsl_vlan_find) (a_uint32_t dev_id, a_uint32_t vlan_id, 565 fal_vlan_t * p_vlan); 566 567 typedef sw_error_t 568 (*hsl_vlan_member_update) (a_uint32_t dev_id, a_uint32_t vlan_id, 569 fal_pbmp_t member, fal_pbmp_t u_member); 570 571 typedef sw_error_t 572 (*hsl_vlan_delete) (a_uint32_t dev_id, a_uint32_t vlan_id); 573 574 typedef sw_error_t (*hsl_vlan_flush) (a_uint32_t dev_id); 575 576 typedef sw_error_t 577 (*hsl_vlan_fid_set) (a_uint32_t dev_id, a_uint32_t vlan_id, 578 a_uint32_t fid); 579 580 typedef sw_error_t 581 (*hsl_vlan_fid_get) (a_uint32_t dev_id, a_uint32_t vlan_id, 582 a_uint32_t * fid); 583 584 typedef sw_error_t 585 (*hsl_vlan_member_add) (a_uint32_t dev_id, a_uint32_t vlan_id, 586 fal_port_t port_id, fal_pt_1q_egmode_t port_info); 587 588 typedef sw_error_t 589 (*hsl_vlan_member_del) (a_uint32_t dev_id, a_uint32_t vlan_id, 590 fal_port_t port_id); 591 592 typedef sw_error_t 593 (*hsl_vlan_learning_state_set) (a_uint32_t dev_id, a_uint32_t vlan_id, 594 a_bool_t enable); 595 596 typedef sw_error_t 597 (*hsl_vlan_learning_state_get) (a_uint32_t dev_id, a_uint32_t vlan_id, 598 a_bool_t * enable); 599 600 /* Port Vlan */ 601#define PORT_VLAN_FUNC_PROTOTYPE_DEF 602 typedef sw_error_t 603 (*hsl_port_1qmode_get) (a_uint32_t dev_id, fal_port_t port_id, 604 fal_pt_1qmode_t * pport_1qmode); 605 606 typedef sw_error_t 607 (*hsl_port_1qmode_set) (a_uint32_t dev_id, fal_port_t port_id, 608 fal_pt_1qmode_t port_1qmode); 609 610 typedef sw_error_t 611 (*hsl_port_egvlanmode_get) (a_uint32_t dev_id, fal_port_t port_id, 612 fal_pt_1q_egmode_t * pport_egvlanmode); 613 614 typedef sw_error_t 615 (*hsl_port_egvlanmode_set) (a_uint32_t dev_id, fal_port_t port_id, 616 fal_pt_1q_egmode_t port_egvlanmode); 617 618 typedef sw_error_t 619 (*hsl_portvlan_member_add) (a_uint32_t dev_id, fal_port_t port_id, 620 a_uint32_t mem_port_id); 621 622 typedef sw_error_t 623 (*hsl_portvlan_member_del) (a_uint32_t dev_id, fal_port_t port_id, 624 a_uint32_t mem_port_id); 625 626 typedef sw_error_t 627 (*hsl_portvlan_member_update) (a_uint32_t dev_id, fal_port_t port_id, 628 fal_pbmp_t mem_port_map); 629 630 typedef sw_error_t 631 (*hsl_portvlan_member_get) (a_uint32_t dev_id, fal_port_t port_id, 632 fal_pbmp_t * mem_port_map); 633 634 typedef sw_error_t 635 (*hsl_port_nestvlan_set) (a_uint32_t dev_id, fal_port_t port_id, 636 a_bool_t enable); 637 638 typedef sw_error_t 639 (*hsl_port_nestvlan_get) (a_uint32_t dev_id, fal_port_t port_id, 640 a_bool_t * enable); 641 642 typedef sw_error_t 643 (*hsl_nestvlan_tpid_set) (a_uint32_t dev_id, a_uint32_t tpid); 644 645 typedef sw_error_t 646 (*hsl_nestvlan_tpid_get) (a_uint32_t dev_id, a_uint32_t * tpid); 647 648 typedef sw_error_t 649 (*hsl_port_default_vid_set) (a_uint32_t dev_id, fal_port_t port_id, 650 a_uint32_t vid); 651 652 typedef sw_error_t 653 (*hsl_port_default_vid_get) (a_uint32_t dev_id, fal_port_t port_id, 654 a_uint32_t * vid); 655 656 typedef sw_error_t 657 (*hsl_port_force_default_vid_set) (a_uint32_t dev_id, 658 fal_port_t port_id, a_bool_t enable); 659 660 typedef sw_error_t 661 (*hsl_port_force_default_vid_get) (a_uint32_t dev_id, 662 fal_port_t port_id, a_bool_t * enable); 663 664 typedef sw_error_t 665 (*hsl_port_force_portvlan_set) (a_uint32_t dev_id, fal_port_t port_id, 666 a_bool_t enable); 667 668 typedef sw_error_t 669 (*hsl_port_force_portvlan_get) (a_uint32_t dev_id, fal_port_t port_id, 670 a_bool_t * enable); 671 672 typedef sw_error_t 673 (*hsl_port_invlan_mode_set) (a_uint32_t dev_id, fal_port_t port_id, 674 fal_pt_invlan_mode_t mode); 675 676 typedef sw_error_t 677 (*hsl_port_invlan_mode_get) (a_uint32_t dev_id, fal_port_t port_id, 678 fal_pt_invlan_mode_t * mode); 679 680 typedef sw_error_t 681 (*hsl_port_tls_set) (a_uint32_t dev_id, fal_port_t port_id, 682 a_bool_t enable); 683 684 typedef sw_error_t 685 (*hsl_port_tls_get) (a_uint32_t dev_id, fal_port_t port_id, 686 a_bool_t * enable); 687 688 typedef sw_error_t 689 (*hsl_port_pri_propagation_set) (a_uint32_t dev_id, fal_port_t port_id, 690 a_bool_t enable); 691 692 typedef sw_error_t 693 (*hsl_port_pri_propagation_get) (a_uint32_t dev_id, fal_port_t port_id, 694 a_bool_t * enable); 695 696 typedef sw_error_t 697 (*hsl_port_default_svid_set) (a_uint32_t dev_id, fal_port_t port_id, 698 a_uint32_t vid); 699 700 typedef sw_error_t 701 (*hsl_port_default_svid_get) (a_uint32_t dev_id, fal_port_t port_id, 702 a_uint32_t * vid); 703 704 typedef sw_error_t 705 (*hsl_port_default_cvid_set) (a_uint32_t dev_id, fal_port_t port_id, 706 a_uint32_t vid); 707 708 typedef sw_error_t 709 (*hsl_port_default_cvid_get) (a_uint32_t dev_id, fal_port_t port_id, 710 a_uint32_t * vid); 711 712 typedef sw_error_t 713 (*hsl_port_vlan_propagation_set) (a_uint32_t dev_id, fal_port_t port_id, 714 fal_vlan_propagation_mode_t mode); 715 716 typedef sw_error_t 717 (*hsl_port_vlan_propagation_get) (a_uint32_t dev_id, fal_port_t port_id, 718 fal_vlan_propagation_mode_t * mode); 719 720 typedef sw_error_t 721 (*hsl_port_vlan_trans_add) (a_uint32_t dev_id, fal_port_t port_id, 722 fal_vlan_trans_entry_t * entry); 723 724 typedef sw_error_t 725 (*hsl_port_vlan_trans_del) (a_uint32_t dev_id, fal_port_t port_id, 726 fal_vlan_trans_entry_t * entry); 727 728 typedef sw_error_t 729 (*hsl_port_vlan_trans_get) (a_uint32_t dev_id, fal_port_t port_id, 730 fal_vlan_trans_entry_t * entry); 731 732 typedef sw_error_t 733 (*hsl_qinq_mode_set) (a_uint32_t dev_id, fal_qinq_mode_t mode); 734 735 typedef sw_error_t 736 (*hsl_qinq_mode_get) (a_uint32_t dev_id, fal_qinq_mode_t * mode); 737 738 typedef sw_error_t 739 (*hsl_port_qinq_role_set) (a_uint32_t dev_id, fal_port_t port_id, 740 fal_qinq_port_role_t role); 741 742 typedef sw_error_t 743 (*hsl_port_qinq_role_get) (a_uint32_t dev_id, fal_port_t port_id, 744 fal_qinq_port_role_t * role); 745 746 typedef sw_error_t 747 (*hsl_port_vlan_trans_iterate) (a_uint32_t dev_id, fal_port_t port_id, 748 a_uint32_t * iterator, 749 fal_vlan_trans_entry_t * entry); 750 751 typedef sw_error_t 752 (*hsl_port_mac_vlan_xlt_set) (a_uint32_t dev_id, fal_port_t port_id, 753 a_bool_t enable); 754 755 typedef sw_error_t 756 (*hsl_port_mac_vlan_xlt_get) (a_uint32_t dev_id, fal_port_t port_id, 757 a_bool_t * enable); 758 759 typedef sw_error_t 760 (*hsl_netisolate_set) (a_uint32_t dev_id, a_uint32_t enable); 761 762 typedef sw_error_t 763 (*hsl_netisolate_get) (a_uint32_t dev_id, a_uint32_t * enable); 764 765 typedef sw_error_t 766 (*hsl_eg_trans_filter_bypass_en_set) (a_uint32_t dev_id, 767 a_uint32_t enable); 768 769 typedef sw_error_t 770 (*hsl_eg_trans_filter_bypass_en_get) (a_uint32_t dev_id, 771 a_uint32_t * enable); 772 773 typedef sw_error_t 774 (*hsl_port_vrf_id_set) (a_uint32_t dev_id, fal_port_t port_id, 775 a_uint32_t vrf_id); 776 777 typedef sw_error_t 778 (*hsl_port_vrf_id_get) (a_uint32_t dev_id, fal_port_t port_id, 779 a_uint32_t * vrf_id); 780 781 /* FDB */ 782#define FDB_FUNC_PROTOTYPE_DEF 783 typedef sw_error_t 784 (*hsl_fdb_add) (a_uint32_t dev_id, const fal_fdb_entry_t * entry); 785 786 typedef sw_error_t 787 (*hsl_fdb_rfs_set) (a_uint32_t dev_id, const fal_fdb_rfs_t * entry); 788 789 typedef sw_error_t 790 (*hsl_fdb_rfs_del) (a_uint32_t dev_id, const fal_fdb_rfs_t * entry); 791 792 typedef sw_error_t (*hsl_fdb_del_all) (a_uint32_t dev_id, a_uint32_t flag); 793 794 typedef sw_error_t 795 (*hsl_fdb_del_by_port) (a_uint32_t dev_id, a_uint32_t port_id, 796 a_uint32_t flag); 797 798 typedef sw_error_t 799 (*hsl_fdb_del_by_mac) (a_uint32_t dev_id, const fal_fdb_entry_t * addr); 800 801 typedef sw_error_t 802 (*hsl_fdb_first) (a_uint32_t dev_id, fal_fdb_entry_t * entry); 803 804 typedef sw_error_t 805 (*hsl_fdb_next) (a_uint32_t dev_id, fal_fdb_entry_t * entry); 806 807 typedef sw_error_t 808 (*hsl_fdb_find) (a_uint32_t dev_id, fal_fdb_entry_t * entry); 809 810 typedef sw_error_t 811 (*hsl_fdb_port_learn_set) (a_uint32_t dev_id, fal_port_t port_id, 812 a_bool_t enable); 813 814 typedef sw_error_t 815 (*hsl_fdb_port_learn_get) (a_uint32_t dev_id, fal_port_t port_id, 816 a_bool_t * enable); 817 818 typedef sw_error_t 819 (*hsl_fdb_age_ctrl_set) (a_uint32_t dev_id, a_bool_t enable); 820 821 typedef sw_error_t 822 (*hsl_fdb_age_ctrl_get) (a_uint32_t dev_id, a_bool_t * enable); 823 824 typedef sw_error_t 825 (*hsl_fdb_vlan_ivl_svl_set) (a_uint32_t dev_id, fal_fdb_smode smode); 826 827 typedef sw_error_t 828 (*hsl_fdb_vlan_ivl_svl_get) (a_uint32_t dev_id, fal_fdb_smode * smode); 829 830 typedef sw_error_t 831 (*hsl_fdb_age_time_set) (a_uint32_t dev_id, a_uint32_t * time); 832 833 typedef sw_error_t 834 (*hsl_fdb_age_time_get) (a_uint32_t dev_id, a_uint32_t * time); 835 836 typedef sw_error_t 837 (*hsl_fdb_iterate) (a_uint32_t dev_id, a_uint32_t * iterator, 838 fal_fdb_entry_t * entry); 839 840 typedef sw_error_t 841 (*hsl_fdb_extend_next) (a_uint32_t dev_id, fal_fdb_op_t * op, 842 fal_fdb_entry_t * entry); 843 844 typedef sw_error_t 845 (*hsl_fdb_extend_first) (a_uint32_t dev_id, fal_fdb_op_t * option, 846 fal_fdb_entry_t * entry); 847 848 typedef sw_error_t 849 (*hsl_fdb_transfer) (a_uint32_t dev_id, fal_port_t old_port, 850 fal_port_t new_port, a_uint32_t fid, 851 fal_fdb_op_t * option); 852 853 typedef sw_error_t 854 (*hsl_port_fdb_learn_limit_set) (a_uint32_t dev_id, fal_port_t port_id, 855 a_bool_t enable, a_uint32_t cnt); 856 857 typedef sw_error_t 858 (*hsl_port_fdb_learn_limit_get) (a_uint32_t dev_id, fal_port_t port_id, 859 a_bool_t * enable, a_uint32_t * cnt); 860 861 typedef sw_error_t 862 (*hsl_port_fdb_learn_exceed_cmd_set) (a_uint32_t dev_id, 863 fal_port_t port_id, 864 fal_fwd_cmd_t cmd); 865 866 typedef sw_error_t 867 (*hsl_port_fdb_learn_exceed_cmd_get) (a_uint32_t dev_id, 868 fal_port_t port_id, 869 fal_fwd_cmd_t * cmd); 870 871 typedef sw_error_t 872 (*hsl_fdb_learn_limit_set) (a_uint32_t dev_id, a_bool_t enable, 873 a_uint32_t cnt); 874 875 typedef sw_error_t 876 (*hsl_fdb_learn_limit_get) (a_uint32_t dev_id, a_bool_t * enable, 877 a_uint32_t * cnt); 878 879 typedef sw_error_t 880 (*hsl_fdb_learn_exceed_cmd_set) (a_uint32_t dev_id, fal_fwd_cmd_t cmd); 881 882 typedef sw_error_t 883 (*hsl_fdb_learn_exceed_cmd_get) (a_uint32_t dev_id, fal_fwd_cmd_t * cmd); 884 885 typedef sw_error_t 886 (*hsl_fdb_resv_add) (a_uint32_t dev_id, fal_fdb_entry_t * entry); 887 888 typedef sw_error_t 889 (*hsl_fdb_resv_del) (a_uint32_t dev_id, fal_fdb_entry_t * entry); 890 891 typedef sw_error_t 892 (*hsl_fdb_resv_find) (a_uint32_t dev_id, fal_fdb_entry_t * entry); 893 894 typedef sw_error_t 895 (*hsl_fdb_resv_iterate) (a_uint32_t dev_id, a_uint32_t * iterator, 896 fal_fdb_entry_t * entry); 897 898 typedef sw_error_t 899 (*hsl_fdb_port_learn_static_set) (a_uint32_t dev_id, fal_port_t port_id, 900 a_bool_t enable); 901 902 typedef sw_error_t 903 (*hsl_fdb_port_learn_static_get) (a_uint32_t dev_id, fal_port_t port_id, 904 a_bool_t * enable); 905 906 typedef sw_error_t 907 (*hsl_fdb_port_add) (a_uint32_t dev_id, a_uint32_t fid, 908 fal_mac_addr_t * addr, fal_port_t port_id); 909 910 typedef sw_error_t 911 (*hsl_fdb_port_del) (a_uint32_t dev_id, a_uint32_t fid, 912 fal_mac_addr_t * addr, fal_port_t port_id); 913 914 /* QOS */ 915#define QOS_FUNC_PROTOTYPE_DEF 916 typedef sw_error_t 917 (*hsl_cosmap_up_queue_set) (a_uint32_t dev_id, a_uint32_t up, 918 fal_queue_t queue); 919 920 typedef sw_error_t 921 (*hsl_cosmap_up_queue_get) (a_uint32_t dev_id, a_uint32_t up, 922 fal_queue_t * queue); 923 924 typedef sw_error_t 925 (*hsl_cosmap_dscp_queue_set) (a_uint32_t dev_id, a_uint32_t dscp, 926 fal_queue_t queue); 927 928 typedef sw_error_t 929 (*hsl_cosmap_dscp_queue_get) (a_uint32_t dev_id, a_uint32_t dscp, 930 fal_queue_t * queue); 931 932 typedef sw_error_t 933 (*hsl_qos_port_mode_set) (a_uint32_t dev_id, fal_port_t port_id, 934 fal_qos_mode_t mode, a_bool_t enable); 935 936 typedef sw_error_t 937 (*hsl_qos_port_mode_get) (a_uint32_t dev_id, fal_port_t port_id, 938 fal_qos_mode_t mode, a_bool_t * enable); 939 940 typedef sw_error_t 941 (*hsl_qos_port_mode_pri_set) (a_uint32_t dev_id, fal_port_t port_id, 942 fal_qos_mode_t mode, a_uint32_t pri); 943 944 typedef sw_error_t 945 (*hsl_qos_port_mode_pri_get) (a_uint32_t dev_id, fal_port_t port_id, 946 fal_qos_mode_t mode, a_uint32_t * pri); 947 948 typedef sw_error_t 949 (*hsl_qos_port_default_up_set) (a_uint32_t dev_id, fal_port_t port_id, 950 a_uint32_t up); 951 952 typedef sw_error_t 953 (*hsl_qos_port_default_up_get) (a_uint32_t dev_id, fal_port_t port_id, 954 a_uint32_t * up); 955 956 typedef sw_error_t 957 (*hsl_qos_sch_mode_set) (a_uint32_t dev_id, 958 fal_sch_mode_t mode, const a_uint32_t weight[]); 959 960 typedef sw_error_t 961 (*hsl_qos_sch_mode_get) (a_uint32_t dev_id, 962 fal_sch_mode_t * mode, a_uint32_t weight[]); 963 964 typedef sw_error_t 965 (*hsl_qos_queue_tx_buf_status_set) (a_uint32_t dev_id, fal_port_t port_id, 966 a_bool_t enable); 967 968 typedef sw_error_t 969 (*hsl_qos_queue_tx_buf_status_get) (a_uint32_t dev_id, fal_port_t port_id, 970 a_bool_t * enable); 971 972 typedef sw_error_t 973 (*hsl_qos_queue_tx_buf_nr_set) (a_uint32_t dev_id, fal_port_t port_id, 974 a_uint32_t queue_id, a_uint32_t * number); 975 976 typedef sw_error_t 977 (*hsl_qos_queue_tx_buf_nr_get) (a_uint32_t dev_id, fal_port_t port_id, 978 a_uint32_t queue_id, a_uint32_t * number); 979 980 typedef sw_error_t 981 (*hsl_qos_port_tx_buf_status_set) (a_uint32_t dev_id, fal_port_t port_id, 982 a_bool_t enable); 983 984 typedef sw_error_t 985 (*hsl_qos_port_tx_buf_status_get) (a_uint32_t dev_id, fal_port_t port_id, 986 a_bool_t * enable); 987 988 typedef sw_error_t 989 (*hsl_qos_port_red_en_set) (a_uint32_t dev_id, fal_port_t port_id, 990 a_bool_t enable); 991 992 typedef sw_error_t 993 (*hsl_qos_port_red_en_get) (a_uint32_t dev_id, fal_port_t port_id, 994 a_bool_t * enable); 995 996 typedef sw_error_t 997 (*hsl_qos_port_tx_buf_nr_set) (a_uint32_t dev_id, fal_port_t port_id, 998 a_uint32_t * number); 999 1000 typedef sw_error_t 1001 (*hsl_qos_port_tx_buf_nr_get) (a_uint32_t dev_id, fal_port_t port_id, 1002 a_uint32_t * number); 1003 1004 typedef sw_error_t 1005 (*hsl_qos_port_rx_buf_nr_set) (a_uint32_t dev_id, fal_port_t port_id, 1006 a_uint32_t * number); 1007 1008 typedef sw_error_t 1009 (*hsl_qos_port_rx_buf_nr_get) (a_uint32_t dev_id, fal_port_t port_id, 1010 a_uint32_t * number); 1011 1012 typedef sw_error_t 1013 (*hsl_qos_port_sch_mode_set) (a_uint32_t dev_id, a_uint32_t port_id, 1014 fal_sch_mode_t mode, 1015 const a_uint32_t weight[]); 1016 1017 typedef sw_error_t 1018 (*hsl_qos_port_sch_mode_get) (a_uint32_t dev_id, a_uint32_t port_id, 1019 fal_sch_mode_t * mode, a_uint32_t weight[]); 1020 1021 typedef sw_error_t 1022 (*hsl_qos_port_default_spri_set) (a_uint32_t dev_id, fal_port_t port_id, 1023 a_uint32_t spri); 1024 1025 typedef sw_error_t 1026 (*hsl_qos_port_default_spri_get) (a_uint32_t dev_id, fal_port_t port_id, 1027 a_uint32_t * spri); 1028 1029 typedef sw_error_t 1030 (*hsl_qos_port_default_cpri_set) (a_uint32_t dev_id, fal_port_t port_id, 1031 a_uint32_t cpri); 1032 1033 typedef sw_error_t 1034 (*hsl_qos_port_default_cpri_get) (a_uint32_t dev_id, fal_port_t port_id, 1035 a_uint32_t * cpri); 1036 1037 typedef sw_error_t 1038 (*hsl_qos_port_force_spri_status_set) (a_uint32_t dev_id, 1039 fal_port_t port_id, 1040 a_bool_t enable); 1041 1042 typedef sw_error_t 1043 (*hsl_qos_port_force_spri_status_get) (a_uint32_t dev_id, 1044 fal_port_t port_id, 1045 a_bool_t * enable); 1046 1047 typedef sw_error_t 1048 (*hsl_qos_port_force_cpri_status_set) (a_uint32_t dev_id, 1049 fal_port_t port_id, 1050 a_bool_t enable); 1051 1052 typedef sw_error_t 1053 (*hsl_qos_port_force_cpri_status_get) (a_uint32_t dev_id, 1054 fal_port_t port_id, 1055 a_bool_t * enable); 1056 1057 typedef sw_error_t 1058 (*hsl_qos_queue_remark_table_set) (a_uint32_t dev_id, fal_port_t port_id, 1059 fal_queue_t queue_id, 1060 a_uint32_t tbl_id, a_bool_t enable); 1061 1062 typedef sw_error_t 1063 (*hsl_qos_queue_remark_table_get) (a_uint32_t dev_id, fal_port_t port_id, 1064 fal_queue_t queue_id, 1065 a_uint32_t * tbl_id, 1066 a_bool_t * enable); 1067 1068 /* Rate */ 1069#define RATE_FUNC_PROTOTYPE_DEF 1070 typedef sw_error_t 1071 (*hsl_rate_queue_egrl_set) (a_uint32_t dev_id, fal_port_t port_id, 1072 a_uint32_t queue_id, a_uint32_t * speed, 1073 a_bool_t enable); 1074 1075 typedef sw_error_t 1076 (*hsl_rate_queue_egrl_get) (a_uint32_t dev_id, fal_port_t port_id, 1077 a_uint32_t queue_id, a_uint32_t * speed, 1078 a_bool_t * enable); 1079 1080 typedef sw_error_t 1081 (*hsl_rate_port_egrl_set) (a_uint32_t dev_id, fal_port_t port_id, 1082 a_uint32_t * speed, a_bool_t enable); 1083 1084 typedef sw_error_t 1085 (*hsl_rate_port_egrl_get) (a_uint32_t dev_id, fal_port_t port_id, 1086 a_uint32_t * speed, a_bool_t * enable); 1087 1088 typedef sw_error_t 1089 (*hsl_rate_port_inrl_set) (a_uint32_t dev_id, fal_port_t port_id, 1090 a_uint32_t * speed, a_bool_t enable); 1091 1092 typedef sw_error_t 1093 (*hsl_rate_port_inrl_get) (a_uint32_t dev_id, fal_port_t port_id, 1094 a_uint32_t * speed, a_bool_t * enable); 1095 1096 typedef sw_error_t 1097 (*hsl_storm_ctrl_frame_set) (a_uint32_t dev_id, fal_port_t port_id, 1098 fal_storm_type_t storm_type, 1099 a_bool_t enable); 1100 1101 typedef sw_error_t 1102 (*hsl_storm_ctrl_frame_get) (a_uint32_t dev_id, fal_port_t port_id, 1103 fal_storm_type_t storm_type, 1104 a_bool_t * enable); 1105 1106 typedef sw_error_t 1107 (*hsl_storm_ctrl_rate_set) (a_uint32_t dev_id, fal_port_t port_id, 1108 a_uint32_t * rate); 1109 1110 typedef sw_error_t 1111 (*hsl_storm_ctrl_rate_get) (a_uint32_t dev_id, fal_port_t port_id, 1112 a_uint32_t * rate); 1113 1114 typedef sw_error_t 1115 (*hsl_rate_port_policer_set) (a_uint32_t dev_id, fal_port_t port_id, 1116 fal_port_policer_t * policer); 1117 1118 typedef sw_error_t 1119 (*hsl_rate_port_policer_get) (a_uint32_t dev_id, fal_port_t port_id, 1120 fal_port_policer_t * policer); 1121 1122 typedef sw_error_t 1123 (*hsl_rate_port_shaper_set) (a_uint32_t dev_id, fal_port_t port_id, 1124 a_bool_t enable, 1125 fal_egress_shaper_t * shaper); 1126 1127 typedef sw_error_t 1128 (*hsl_rate_port_shaper_get) (a_uint32_t dev_id, fal_port_t port_id, 1129 a_bool_t * enable, 1130 fal_egress_shaper_t * shaper); 1131 1132 typedef sw_error_t 1133 (*hsl_rate_queue_shaper_set) (a_uint32_t dev_id, fal_port_t port_id, 1134 fal_queue_t queue_id, a_bool_t enable, 1135 fal_egress_shaper_t * shaper); 1136 1137 typedef sw_error_t 1138 (*hsl_rate_queue_shaper_get) (a_uint32_t dev_id, fal_port_t port_id, 1139 fal_queue_t queue_id, a_bool_t * enable, 1140 fal_egress_shaper_t * shaper); 1141 1142 typedef sw_error_t 1143 (*hsl_rate_acl_policer_set) (a_uint32_t dev_id, a_uint32_t policer_id, 1144 fal_acl_policer_t * policer); 1145 1146 typedef sw_error_t 1147 (*hsl_rate_acl_policer_get) (a_uint32_t dev_id, a_uint32_t policer_id, 1148 fal_acl_policer_t * policer); 1149 1150 typedef sw_error_t 1151 (*hsl_rate_port_add_rate_byte_set) (a_uint32_t dev_id, fal_port_t port_id, 1152 a_uint32_t number); 1153 1154 typedef sw_error_t 1155 (*hsl_rate_port_add_rate_byte_get) (a_uint32_t dev_id, fal_port_t port_id, 1156 a_uint32_t * number); 1157 typedef sw_error_t 1158 (*hsl_rate_port_gol_flow_en_set) (a_uint32_t dev_id, fal_port_t port_id, 1159 a_bool_t enable); 1160 1161 typedef sw_error_t 1162 (*hsl_rate_port_gol_flow_en_get) (a_uint32_t dev_id, fal_port_t port_id, 1163 a_bool_t * enable); 1164 1165 /* Mirror */ 1166#define MIRROR_FUNC_PROTOTYPE_DEF 1167 typedef sw_error_t 1168 (*hsl_mirr_analysis_port_set) (a_uint32_t dev_id, fal_port_t port_id); 1169 1170 typedef sw_error_t 1171 (*hsl_mirr_analysis_port_get) (a_uint32_t dev_id, fal_port_t * port_id); 1172 1173 typedef sw_error_t 1174 (*hsl_mirr_port_in_set) (a_uint32_t dev_id, fal_port_t port_id, 1175 a_bool_t enable); 1176 1177 typedef sw_error_t 1178 (*hsl_mirr_port_in_get) (a_uint32_t dev_id, fal_port_t port_id, 1179 a_bool_t * enable); 1180 1181 typedef sw_error_t 1182 (*hsl_mirr_port_eg_set) (a_uint32_t dev_id, fal_port_t port_id, 1183 a_bool_t enable); 1184 1185 typedef sw_error_t 1186 (*hsl_mirr_port_eg_get) (a_uint32_t dev_id, fal_port_t port_id, 1187 a_bool_t * enable); 1188 1189 /* STP */ 1190#define STP_FUNC_PROTOTYPE_DEF 1191 typedef sw_error_t 1192 (*hsl_stp_port_state_set) (a_uint32_t dev_id, a_uint32_t st_id, 1193 fal_port_t port_id, fal_stp_state_t state); 1194 1195 typedef sw_error_t 1196 (*hsl_stp_port_state_get) (a_uint32_t dev_id, a_uint32_t st_id, 1197 fal_port_t port_id, fal_stp_state_t * state); 1198 /* IGMP */ 1199#define IGMP_FUNC_PROTOTYPE_DEF 1200 typedef sw_error_t 1201 (*hsl_port_igmps_status_set) (a_uint32_t dev_id, fal_port_t port_id, 1202 a_bool_t enable); 1203 1204 typedef sw_error_t 1205 (*hsl_port_igmps_status_get) (a_uint32_t dev_id, fal_port_t port_id, 1206 a_bool_t * enable); 1207 1208 typedef sw_error_t 1209 (*hsl_igmp_mld_cmd_set) (a_uint32_t dev_id, fal_fwd_cmd_t cmd); 1210 1211 typedef sw_error_t 1212 (*hsl_igmp_mld_cmd_get) (a_uint32_t dev_id, fal_fwd_cmd_t * cmd); 1213 1214 typedef sw_error_t 1215 (*hsl_port_igmp_join_set) (a_uint32_t dev_id, fal_port_t port_id, 1216 a_bool_t enable); 1217 1218 typedef sw_error_t 1219 (*hsl_port_igmp_join_get) (a_uint32_t dev_id, fal_port_t port_id, 1220 a_bool_t * enable); 1221 1222 typedef sw_error_t 1223 (*hsl_port_igmp_leave_set) (a_uint32_t dev_id, fal_port_t port_id, 1224 a_bool_t enable); 1225 1226 typedef sw_error_t 1227 (*hsl_port_igmp_leave_get) (a_uint32_t dev_id, fal_port_t port_id, 1228 a_bool_t * enable); 1229 1230 typedef sw_error_t (*hsl_igmp_rp_set) (a_uint32_t dev_id, fal_pbmp_t pts); 1231 1232 typedef sw_error_t (*hsl_igmp_rp_get) (a_uint32_t dev_id, fal_pbmp_t * pts); 1233 1234 typedef sw_error_t 1235 (*hsl_igmp_entry_creat_set) (a_uint32_t dev_id, a_bool_t enable); 1236 1237 typedef sw_error_t 1238 (*hsl_igmp_entry_creat_get) (a_uint32_t dev_id, a_bool_t * enable); 1239 1240 typedef sw_error_t 1241 (*hsl_igmp_entry_static_set) (a_uint32_t dev_id, a_bool_t enable); 1242 1243 typedef sw_error_t 1244 (*hsl_igmp_entry_static_get) (a_uint32_t dev_id, a_bool_t * enable); 1245 1246 typedef sw_error_t 1247 (*hsl_igmp_entry_leaky_set) (a_uint32_t dev_id, a_bool_t enable); 1248 1249 typedef sw_error_t 1250 (*hsl_igmp_entry_leaky_get) (a_uint32_t dev_id, a_bool_t * enable); 1251 1252 typedef sw_error_t 1253 (*hsl_igmp_entry_v3_set) (a_uint32_t dev_id, a_bool_t enable); 1254 1255 typedef sw_error_t 1256 (*hsl_igmp_entry_v3_get) (a_uint32_t dev_id, a_bool_t * enable); 1257 1258 typedef sw_error_t 1259 (*hsl_igmp_entry_queue_set) (a_uint32_t dev_id, a_bool_t enable, 1260 a_uint32_t queue); 1261 1262 typedef sw_error_t 1263 (*hsl_igmp_entry_queue_get) (a_uint32_t dev_id, a_bool_t * enable, 1264 a_uint32_t * queue); 1265 1266 typedef sw_error_t 1267 (*hsl_port_igmp_mld_learn_limit_set) (a_uint32_t dev_id, 1268 fal_port_t port_id, a_bool_t enable, 1269 a_uint32_t cnt); 1270 1271 typedef sw_error_t 1272 (*hsl_port_igmp_mld_learn_limit_get) (a_uint32_t dev_id, 1273 fal_port_t port_id, 1274 a_bool_t * enable, 1275 a_uint32_t * cnt); 1276 1277 typedef sw_error_t 1278 (*hsl_port_igmp_mld_learn_exceed_cmd_set) (a_uint32_t dev_id, 1279 fal_port_t port_id, 1280 fal_fwd_cmd_t cmd); 1281 1282 typedef sw_error_t 1283 (*hsl_port_igmp_mld_learn_exceed_cmd_get) (a_uint32_t dev_id, 1284 fal_port_t port_id, 1285 fal_fwd_cmd_t * cmd); 1286 typedef sw_error_t (*hsl_igmp_sg_entry_set) (a_uint32_t dev_id, 1287 fal_igmp_sg_entry_t * entry); 1288 1289 typedef sw_error_t 1290 (*hsl_igmp_sg_entry_clear) (a_uint32_t dev_id, 1291 fal_igmp_sg_entry_t * entry); 1292 1293 typedef sw_error_t (*hsl_igmp_sg_entry_show) (a_uint32_t dev_id); 1294 1295 typedef sw_error_t 1296 (*hsl_igmp_sg_entry_query) (a_uint32_t dev_id, fal_igmp_sg_info_t * info); 1297 1298 /* Leaky */ 1299#define LEAKY_FUNC_PROTOTYPE_DEF 1300 typedef sw_error_t 1301 (*hsl_uc_leaky_mode_set) (a_uint32_t dev_id, 1302 fal_leaky_ctrl_mode_t ctrl_mode); 1303 1304 typedef sw_error_t 1305 (*hsl_uc_leaky_mode_get) (a_uint32_t dev_id, 1306 fal_leaky_ctrl_mode_t * ctrl_mode); 1307 1308 typedef sw_error_t 1309 (*hsl_mc_leaky_mode_set) (a_uint32_t dev_id, 1310 fal_leaky_ctrl_mode_t ctrl_mode); 1311 1312 typedef sw_error_t 1313 (*hsl_mc_leaky_mode_get) (a_uint32_t dev_id, 1314 fal_leaky_ctrl_mode_t * ctrl_mode); 1315 1316 typedef sw_error_t 1317 (*hsl_port_arp_leaky_set) (a_uint32_t dev_id, fal_port_t port_id, 1318 a_bool_t enable); 1319 1320 typedef sw_error_t 1321 (*hsl_port_arp_leaky_get) (a_uint32_t dev_id, fal_port_t port_id, 1322 a_bool_t * enable); 1323 1324 typedef sw_error_t 1325 (*hsl_port_uc_leaky_set) (a_uint32_t dev_id, fal_port_t port_id, 1326 a_bool_t enable); 1327 1328 typedef sw_error_t 1329 (*hsl_port_uc_leaky_get) (a_uint32_t dev_id, fal_port_t port_id, 1330 a_bool_t * enable); 1331 1332 typedef sw_error_t 1333 (*hsl_port_mc_leaky_set) (a_uint32_t dev_id, fal_port_t port_id, 1334 a_bool_t enable); 1335 1336 typedef sw_error_t 1337 (*hsl_port_mc_leaky_get) (a_uint32_t dev_id, fal_port_t port_id, 1338 a_bool_t * enable); 1339 1340 /* Mib */ 1341#define MIB_FUNC_PROTOTYPE_DEF 1342 typedef sw_error_t 1343 (*hsl_get_mib_info) (a_uint32_t dev_id, fal_port_t port_id, 1344 fal_mib_info_t * mib_info); 1345 1346 typedef sw_error_t 1347 (*hsl_get_rx_mib_info) (a_uint32_t dev_id, fal_port_t port_id, 1348 fal_mib_info_t * mib_info); 1349 1350 typedef sw_error_t 1351 (*hsl_get_tx_mib_info) (a_uint32_t dev_id, fal_port_t port_id, 1352 fal_mib_info_t * mib_info); 1353 1354 typedef sw_error_t 1355 (*hsl_mib_status_set) (a_uint32_t dev_id, a_bool_t enable); 1356 1357 typedef sw_error_t 1358 (*hsl_mib_status_get) (a_uint32_t dev_id, a_bool_t * enable); 1359 1360 typedef sw_error_t 1361 (*hsl_mib_port_flush_counters) (a_uint32_t dev_id, fal_port_t port_id); 1362 1363 typedef sw_error_t 1364 (*hsl_mib_cpukeep_set) (a_uint32_t dev_id, a_bool_t enable); 1365 1366 typedef sw_error_t 1367 (*hsl_mib_cpukeep_get) (a_uint32_t dev_id, a_bool_t * enable); 1368 1369 /* Acl */ 1370#define ACL_FUNC_PROTOTYPE_DEF 1371 typedef sw_error_t 1372 (*hsl_acl_list_creat) (a_uint32_t dev_id, a_uint32_t list_id, 1373 a_uint32_t list_pri); 1374 1375 typedef sw_error_t 1376 (*hsl_acl_list_destroy) (a_uint32_t dev_id, a_uint32_t list_id); 1377 1378 typedef sw_error_t 1379 (*hsl_acl_rule_add) (a_uint32_t dev_id, a_uint32_t list_id, 1380 a_uint32_t rule_id, a_uint32_t rule_nr, 1381 fal_acl_rule_t * rule); 1382 1383 typedef sw_error_t 1384 (*hsl_acl_rule_delete) (a_uint32_t dev_id, a_uint32_t list_id, 1385 a_uint32_t rule_id, a_uint32_t rule_nr); 1386 1387 typedef sw_error_t 1388 (*hsl_acl_rule_query) (a_uint32_t dev_id, a_uint32_t list_id, 1389 a_uint32_t rule_id, fal_acl_rule_t * rule); 1390 1391 typedef sw_error_t 1392 (*hsl_acl_list_bind) (a_uint32_t dev_id, a_uint32_t list_id, 1393 fal_acl_direc_t direc, fal_acl_bind_obj_t obj_t, 1394 a_uint32_t obj_idx); 1395 1396 typedef sw_error_t 1397 (*hsl_acl_list_unbind) (a_uint32_t dev_id, a_uint32_t list_id, 1398 fal_acl_direc_t direc, fal_acl_bind_obj_t obj_t, 1399 a_uint32_t obj_idx); 1400 1401 typedef sw_error_t 1402 (*hsl_acl_status_set) (a_uint32_t dev_id, a_bool_t enable); 1403 1404 typedef sw_error_t 1405 (*hsl_acl_status_get) (a_uint32_t dev_id, a_bool_t * enable); 1406 1407 typedef sw_error_t (*hsl_acl_list_dump) (a_uint32_t dev_id); 1408 1409 typedef sw_error_t (*hsl_acl_rule_dump) (a_uint32_t dev_id); 1410 1411 typedef sw_error_t 1412 (*hsl_acl_port_udf_profile_set) (a_uint32_t dev_id, fal_port_t port_id, 1413 fal_acl_udf_type_t udf_type, 1414 a_uint32_t offset, a_uint32_t length); 1415 1416 typedef sw_error_t 1417 (*hsl_acl_port_udf_profile_get) (a_uint32_t dev_id, fal_port_t port_id, 1418 fal_acl_udf_type_t udf_type, 1419 a_uint32_t * offset, 1420 a_uint32_t * length); 1421 1422 typedef sw_error_t 1423 (*hsl_acl_rule_active) (a_uint32_t dev_id, a_uint32_t list_id, 1424 a_uint32_t rule_id, a_uint32_t rule_nr); 1425 1426 typedef sw_error_t 1427 (*hsl_acl_rule_deactive) (a_uint32_t dev_id, a_uint32_t list_id, 1428 a_uint32_t rule_id, a_uint32_t rule_nr); 1429 1430 typedef sw_error_t 1431 (*hsl_acl_rule_src_filter_sts_set) (a_uint32_t dev_id, 1432 a_uint32_t rule_id, a_bool_t enable); 1433 1434 typedef sw_error_t 1435 (*hsl_acl_rule_src_filter_sts_get) (a_uint32_t dev_id, 1436 a_uint32_t rule_id, 1437 a_bool_t * enable); 1438 1439 typedef a_uint32_t 1440 (*hsl_acl_rule_get_offset) (a_uint32_t dev_id, a_uint32_t list_id, 1441 a_uint32_t rule_id); 1442 1443 typedef sw_error_t 1444 (*hsl_acl_rule_sync_multi_portmap) (a_uint32_t dev_id, a_uint32_t pos, 1445 a_uint32_t * act); 1446 1447 typedef sw_error_t (*hsl_dev_reset) (a_uint32_t dev_id); 1448 1449 typedef sw_error_t (*hsl_dev_clean) (a_uint32_t dev_id); 1450 1451 typedef sw_error_t 1452 (*hsl_dev_access_set) (a_uint32_t dev_id, hsl_access_mode mode); 1453 1454 /* LED */ 1455#define LED_FUNC_PROTOTYPE_DEF 1456 typedef sw_error_t 1457 (*hsl_led_ctrl_pattern_set) (a_uint32_t dev_id, led_pattern_group_t group, 1458 led_pattern_id_t id, 1459 led_ctrl_pattern_t * pattern); 1460 1461 typedef sw_error_t 1462 (*hsl_led_ctrl_pattern_get) (a_uint32_t dev_id, led_pattern_group_t group, 1463 led_pattern_id_t id, 1464 led_ctrl_pattern_t * pattern); 1465 1466 typedef sw_error_t 1467 (*hsl_led_ctrl_source_set) (a_uint32_t dev_id, a_uint32_t source_id, 1468 led_ctrl_pattern_t * pattern); 1469 1470 /* CoSMAP */ 1471#define COSMAP_FUNC_PROTOTYPE_DEF 1472 typedef sw_error_t 1473 (*hsl_cosmap_dscp_to_pri_set) (a_uint32_t dev_id, a_uint32_t dscp, 1474 a_uint32_t pri); 1475 1476 typedef sw_error_t 1477 (*hsl_cosmap_dscp_to_pri_get) (a_uint32_t dev_id, a_uint32_t dscp, 1478 a_uint32_t * pri); 1479 1480 typedef sw_error_t 1481 (*hsl_cosmap_dscp_to_dp_set) (a_uint32_t dev_id, a_uint32_t dscp, 1482 a_uint32_t dp); 1483 1484 typedef sw_error_t 1485 (*hsl_cosmap_dscp_to_dp_get) (a_uint32_t dev_id, a_uint32_t dscp, 1486 a_uint32_t * dp); 1487 1488 typedef sw_error_t 1489 (*hsl_cosmap_up_to_pri_set) (a_uint32_t dev_id, a_uint32_t up, 1490 a_uint32_t pri); 1491 1492 typedef sw_error_t 1493 (*hsl_cosmap_up_to_pri_get) (a_uint32_t dev_id, a_uint32_t up, 1494 a_uint32_t * pri); 1495 1496 typedef sw_error_t 1497 (*hsl_cosmap_up_to_dp_set) (a_uint32_t dev_id, a_uint32_t up, 1498 a_uint32_t dp); 1499 1500 typedef sw_error_t 1501 (*hsl_cosmap_up_to_dp_get) (a_uint32_t dev_id, a_uint32_t up, 1502 a_uint32_t * dp); 1503 1504 typedef sw_error_t 1505 (*hsl_cosmap_dscp_to_ehpri_set) (a_uint32_t dev_id, a_uint32_t dscp, 1506 a_uint32_t pri); 1507 1508 typedef sw_error_t 1509 (*hsl_cosmap_dscp_to_ehpri_get) (a_uint32_t dev_id, a_uint32_t dscp, 1510 a_uint32_t * pri); 1511 1512 typedef sw_error_t 1513 (*hsl_cosmap_dscp_to_ehdp_set) (a_uint32_t dev_id, a_uint32_t dscp, 1514 a_uint32_t dp); 1515 1516 typedef sw_error_t 1517 (*hsl_cosmap_dscp_to_ehdp_get) (a_uint32_t dev_id, a_uint32_t dscp, 1518 a_uint32_t * dp); 1519 1520 typedef sw_error_t 1521 (*hsl_cosmap_up_to_ehpri_set) (a_uint32_t dev_id, a_uint32_t up, 1522 a_uint32_t pri); 1523 1524 typedef sw_error_t 1525 (*hsl_cosmap_up_to_ehpri_get) (a_uint32_t dev_id, a_uint32_t up, 1526 a_uint32_t * pri); 1527 1528 typedef sw_error_t 1529 (*hsl_cosmap_up_to_ehdp_set) (a_uint32_t dev_id, a_uint32_t up, 1530 a_uint32_t dp); 1531 1532 typedef sw_error_t 1533 (*hsl_cosmap_up_to_ehdp_get) (a_uint32_t dev_id, a_uint32_t up, 1534 a_uint32_t * dp); 1535 1536 typedef sw_error_t 1537 (*hsl_cosmap_pri_to_queue_set) (a_uint32_t dev_id, a_uint32_t pri, 1538 a_uint32_t queue); 1539 1540 typedef sw_error_t 1541 (*hsl_cosmap_pri_to_queue_get) (a_uint32_t dev_id, a_uint32_t pri, 1542 a_uint32_t * queue); 1543 1544 typedef sw_error_t 1545 (*hsl_cosmap_pri_to_ehqueue_set) (a_uint32_t dev_id, a_uint32_t pri, 1546 a_uint32_t queue); 1547 1548 typedef sw_error_t 1549 (*hsl_cosmap_pri_to_ehqueue_get) (a_uint32_t dev_id, a_uint32_t pri, 1550 a_uint32_t * queue); 1551 1552 typedef sw_error_t 1553 (*hsl_cosmap_egress_remark_set) (a_uint32_t dev_id, a_uint32_t tbl_id, 1554 fal_egress_remark_table_t * tbl); 1555 1556 typedef sw_error_t 1557 (*hsl_cosmap_egress_remark_get) (a_uint32_t dev_id, a_uint32_t tbl_id, 1558 fal_egress_remark_table_t * tbl); 1559 1560 1561 /* IP */ 1562#define IP_FUNC_PROTOTYPE_DEF 1563 typedef sw_error_t 1564 (*hsl_ip_host_add) (a_uint32_t dev_id, fal_host_entry_t * host_entry); 1565 1566 typedef sw_error_t 1567 (*hsl_ip_host_del) (a_uint32_t dev_id, a_uint32_t del_mode, 1568 fal_host_entry_t * host_entry); 1569 1570 typedef sw_error_t 1571 (*hsl_ip_host_get) (a_uint32_t dev_id, a_uint32_t get_mode, 1572 fal_host_entry_t * host_entry); 1573 1574 typedef sw_error_t 1575 (*hsl_ip_host_next) (a_uint32_t dev_id, a_uint32_t next_mode, 1576 fal_host_entry_t * host_entry); 1577 1578 typedef sw_error_t 1579 (*hsl_ip_host_counter_bind) (a_uint32_t dev_id, a_uint32_t entry_id, 1580 a_uint32_t cnt_id, a_bool_t enable); 1581 1582 typedef sw_error_t 1583 (*hsl_ip_host_pppoe_bind) (a_uint32_t dev_id, a_uint32_t entry_id, 1584 a_uint32_t pppoe_id, a_bool_t enable); 1585 1586 typedef sw_error_t 1587 (*hsl_ip_pt_arp_learn_set) (a_uint32_t dev_id, fal_port_t port_id, 1588 a_uint32_t flags); 1589 1590 typedef sw_error_t 1591 (*hsl_ip_pt_arp_learn_get) (a_uint32_t dev_id, fal_port_t port_id, 1592 a_uint32_t * flags); 1593 1594 typedef sw_error_t 1595 (*hsl_ip_arp_learn_set) (a_uint32_t dev_id, fal_arp_learn_mode_t mode); 1596 1597 typedef sw_error_t 1598 (*hsl_ip_arp_learn_get) (a_uint32_t dev_id, fal_arp_learn_mode_t * mode); 1599 1600 typedef sw_error_t 1601 (*hsl_ip_source_guard_set) (a_uint32_t dev_id, fal_port_t port_id, 1602 fal_source_guard_mode_t mode); 1603 1604 typedef sw_error_t 1605 (*hsl_ip_source_guard_get) (a_uint32_t dev_id, fal_port_t port_id, 1606 fal_source_guard_mode_t * mode); 1607 1608 typedef sw_error_t 1609 (*hsl_ip_unk_source_cmd_set) (a_uint32_t dev_id, fal_fwd_cmd_t cmd); 1610 1611 typedef sw_error_t 1612 (*hsl_ip_unk_source_cmd_get) (a_uint32_t dev_id, fal_fwd_cmd_t * cmd); 1613 1614 typedef sw_error_t 1615 (*hsl_ip_arp_guard_set) (a_uint32_t dev_id, fal_port_t port_id, 1616 fal_source_guard_mode_t mode); 1617 1618 typedef sw_error_t 1619 (*hsl_ip_arp_guard_get) (a_uint32_t dev_id, fal_port_t port_id, 1620 fal_source_guard_mode_t * mode); 1621 1622 typedef sw_error_t 1623 (*hsl_arp_unk_source_cmd_set) (a_uint32_t dev_id, fal_fwd_cmd_t cmd); 1624 1625 typedef sw_error_t 1626 (*hsl_arp_unk_source_cmd_get) (a_uint32_t dev_id, fal_fwd_cmd_t * cmd); 1627 1628 typedef sw_error_t 1629 (*hsl_ip_route_status_set) (a_uint32_t dev_id, a_bool_t enable); 1630 1631 typedef sw_error_t 1632 (*hsl_ip_route_status_get) (a_uint32_t dev_id, a_bool_t * enable); 1633 1634 typedef sw_error_t 1635 (*hsl_ip_intf_entry_add) (a_uint32_t dev_id, 1636 fal_intf_mac_entry_t * entry); 1637 1638 typedef sw_error_t 1639 (*hsl_ip_intf_entry_del) (a_uint32_t dev_id, a_uint32_t del_mode, 1640 fal_intf_mac_entry_t * entry); 1641 1642 typedef sw_error_t 1643 (*hsl_ip_intf_entry_next) (a_uint32_t dev_id, a_uint32_t next_mode, 1644 fal_intf_mac_entry_t * entry); 1645 1646 typedef sw_error_t 1647 (*hsl_ip_age_time_set) (a_uint32_t dev_id, a_uint32_t * time); 1648 1649 typedef sw_error_t 1650 (*hsl_ip_age_time_get) (a_uint32_t dev_id, a_uint32_t * time); 1651 1652 typedef sw_error_t 1653 (*hsl_ip_wcmp_hash_mode_set) (a_uint32_t dev_id, a_uint32_t hash_mode); 1654 1655 typedef sw_error_t 1656 (*hsl_ip_wcmp_hash_mode_get) (a_uint32_t dev_id, a_uint32_t * hash_mode); 1657 1658 typedef sw_error_t 1659 (*hsl_ip_vrf_base_addr_set) (a_uint32_t dev_id, 1660 a_uint32_t vrf_id, fal_ip4_addr_t addr); 1661 1662 typedef sw_error_t 1663 (*hsl_ip_vrf_base_addr_get) (a_uint32_t dev_id, 1664 a_uint32_t vrf_id, fal_ip4_addr_t * addr); 1665 1666 typedef sw_error_t 1667 (*hsl_ip_vrf_base_mask_set) (a_uint32_t dev_id, 1668 a_uint32_t vrf_id, fal_ip4_addr_t addr); 1669 1670 typedef sw_error_t 1671 (*hsl_ip_vrf_base_mask_get) (a_uint32_t dev_id, 1672 a_uint32_t vrf_id, fal_ip4_addr_t * addr); 1673 1674 typedef sw_error_t 1675 (*hsl_ip_default_route_set) (a_uint32_t dev_id, 1676 a_uint32_t droute_id, 1677 fal_default_route_t * entry); 1678 1679 typedef sw_error_t 1680 (*hsl_ip_default_route_get) (a_uint32_t dev_id, 1681 a_uint32_t droute_id, 1682 fal_default_route_t * entry); 1683 1684 typedef sw_error_t 1685 (*hsl_ip_host_route_set) (a_uint32_t dev_id, 1686 a_uint32_t hroute_id, fal_host_route_t * entry); 1687 1688 typedef sw_error_t 1689 (*hsl_ip_host_route_get) (a_uint32_t dev_id, 1690 a_uint32_t hroute_id, fal_host_route_t * entry); 1691 1692 typedef sw_error_t 1693 (*hsl_ip_wcmp_entry_set) (a_uint32_t dev_id, 1694 a_uint32_t wcmp_id, fal_ip_wcmp_t * wcmp); 1695 1696 typedef sw_error_t 1697 (*hsl_ip_wcmp_entry_get) (a_uint32_t dev_id, 1698 a_uint32_t wcmp_id, fal_ip_wcmp_t * wcmp); 1699 typedef sw_error_t 1700 (*hsl_ip_rfs_ip4_set) (a_uint32_t dev_id, fal_ip4_rfs_t * rfs); 1701 1702 typedef sw_error_t 1703 (*hsl_ip_rfs_ip6_set) (a_uint32_t dev_id, fal_ip6_rfs_t * rfs); 1704 typedef sw_error_t 1705 (*hsl_ip_rfs_ip4_del) (a_uint32_t dev_id, fal_ip4_rfs_t * rfs); 1706 1707 typedef sw_error_t 1708 (*hsl_ip_rfs_ip6_del) (a_uint32_t dev_id, fal_ip6_rfs_t * rfs); 1709 1710 typedef sw_error_t 1711 (*hsl_default_flow_cmd_set) (a_uint32_t dev_id, 1712 a_uint32_t vrf_id, fal_flow_type_t type, 1713 fal_default_flow_cmd_t cmd); 1714 1715 typedef sw_error_t 1716 (*hsl_default_flow_cmd_get) (a_uint32_t dev_id, 1717 a_uint32_t vrf_id, fal_flow_type_t type, 1718 fal_default_flow_cmd_t * cmd); 1719 1720 typedef sw_error_t 1721 (*hsl_default_rt_flow_cmd_set) (a_uint32_t dev_id, 1722 a_uint32_t vrf_id, fal_flow_type_t type, 1723 fal_default_flow_cmd_t cmd); 1724 1725 typedef sw_error_t 1726 (*hsl_default_rt_flow_cmd_get) (a_uint32_t dev_id, 1727 a_uint32_t vrf_id, fal_flow_type_t type, 1728 fal_default_flow_cmd_t * cmd); 1729 1730typedef sw_error_t 1731 (*hsl_ip_glb_lock_time_set) (a_uint32_t dev_id, fal_glb_lock_time_t lock_time); 1732 1733 /* NAT */ 1734#define NAT_FUNC_PROTOTYPE_DEF 1735 typedef sw_error_t 1736 (*hsl_nat_add) (a_uint32_t dev_id, fal_nat_entry_t * nat_entry); 1737 1738 typedef sw_error_t 1739 (*hsl_nat_del) (a_uint32_t dev_id, a_uint32_t del_mode, 1740 fal_nat_entry_t * nat_entry); 1741 1742 typedef sw_error_t 1743 (*hsl_nat_get) (a_uint32_t dev_id, a_uint32_t get_mode, 1744 fal_nat_entry_t * nat_entry); 1745 1746 typedef sw_error_t 1747 (*hsl_nat_next) (a_uint32_t dev_id, a_uint32_t next_mode, 1748 fal_nat_entry_t * nat_entry); 1749 1750 typedef sw_error_t 1751 (*hsl_nat_counter_bind) (a_uint32_t dev_id, a_uint32_t entry_id, 1752 a_uint32_t cnt_id, a_bool_t enable); 1753 1754 typedef sw_error_t 1755 (*hsl_napt_add) (a_uint32_t dev_id, fal_napt_entry_t * napt_entry); 1756 1757 typedef sw_error_t 1758 (*hsl_napt_del) (a_uint32_t dev_id, a_uint32_t del_mode, 1759 fal_napt_entry_t * napt_entry); 1760 1761 typedef sw_error_t 1762 (*hsl_napt_get) (a_uint32_t dev_id, a_uint32_t get_mode, 1763 fal_napt_entry_t * napt_entry); 1764 1765 typedef sw_error_t 1766 (*hsl_napt_next) (a_uint32_t dev_id, a_uint32_t next_mode, 1767 fal_napt_entry_t * napt_entry); 1768 1769 typedef sw_error_t 1770 (*hsl_napt_counter_bind) (a_uint32_t dev_id, a_uint32_t entry_id, 1771 a_uint32_t cnt_id, a_bool_t enable); 1772 1773 typedef sw_error_t 1774 (*hsl_nat_status_set) (a_uint32_t dev_id, a_bool_t enable); 1775 1776 typedef sw_error_t 1777 (*hsl_nat_status_get) (a_uint32_t dev_id, a_bool_t * enable); 1778 1779 typedef sw_error_t 1780 (*hsl_nat_hash_mode_set) (a_uint32_t dev_id, a_uint32_t mode); 1781 1782 typedef sw_error_t 1783 (*hsl_nat_hash_mode_get) (a_uint32_t dev_id, a_uint32_t * mode); 1784 1785 typedef sw_error_t 1786 (*hsl_napt_status_set) (a_uint32_t dev_id, a_bool_t enable); 1787 1788 typedef sw_error_t 1789 (*hsl_napt_status_get) (a_uint32_t dev_id, a_bool_t * enable); 1790 1791 typedef sw_error_t 1792 (*hsl_napt_mode_set) (a_uint32_t dev_id, fal_napt_mode_t mode); 1793 1794 typedef sw_error_t 1795 (*hsl_napt_mode_get) (a_uint32_t dev_id, fal_napt_mode_t * mode); 1796 1797 typedef sw_error_t 1798 (*hsl_nat_prv_base_addr_set) (a_uint32_t dev_id, fal_ip4_addr_t addr); 1799 1800 typedef sw_error_t 1801 (*hsl_nat_prv_base_addr_get) (a_uint32_t dev_id, fal_ip4_addr_t * addr); 1802 1803 typedef sw_error_t 1804 (*hsl_nat_prv_base_mask_set) (a_uint32_t dev_id, fal_ip4_addr_t mask); 1805 1806 typedef sw_error_t 1807 (*hsl_nat_prv_base_mask_get) (a_uint32_t dev_id, fal_ip4_addr_t * mask); 1808 1809 typedef sw_error_t 1810 (*hsl_nat_prv_addr_mode_set) (a_uint32_t dev_id, a_bool_t map_en); 1811 1812 typedef sw_error_t 1813 (*hsl_nat_prv_addr_mode_get) (a_uint32_t dev_id, a_bool_t * map_en); 1814 1815 typedef sw_error_t 1816 (*hsl_nat_pub_addr_add) (a_uint32_t dev_id, fal_nat_pub_addr_t * entry); 1817 1818 typedef sw_error_t 1819 (*hsl_nat_pub_addr_del) (a_uint32_t dev_id, a_uint32_t del_mode, 1820 fal_nat_pub_addr_t * entry); 1821 1822 typedef sw_error_t 1823 (*hsl_nat_pub_addr_next) (a_uint32_t dev_id, a_uint32_t next_mode, 1824 fal_nat_pub_addr_t * entry); 1825 1826 typedef sw_error_t 1827 (*hsl_nat_unk_session_cmd_set) (a_uint32_t dev_id, fal_fwd_cmd_t cmd); 1828 1829 typedef sw_error_t 1830 (*hsl_nat_unk_session_cmd_get) (a_uint32_t dev_id, fal_fwd_cmd_t * cmd); 1831 1832 typedef sw_error_t 1833 (*hsl_nat_global_set) (a_uint32_t dev_id, a_bool_t enable); 1834 1835 typedef sw_error_t 1836 (*hsl_flow_cookie_set) (a_uint32_t dev_id, 1837 fal_flow_cookie_t * flow_cookie); 1838 1839 typedef sw_error_t 1840 (*hsl_flow_rfs_set) (a_uint32_t dev_id, a_uint8_t action, 1841 fal_flow_rfs_t * rfs); 1842 1843 /* SEC */ 1844#define SEC_FUNC_PROTOTYPE_DEF 1845 typedef sw_error_t 1846 (*hsl_sec_norm_item_set) (a_uint32_t dev_id, fal_norm_item_t item, 1847 void *value); 1848 1849 typedef sw_error_t 1850 (*hsl_sec_norm_item_get) (a_uint32_t dev_id, fal_norm_item_t item, 1851 void *value); 1852 1853 1854 /* Trunk */ 1855#define TRUNK_FUNC_PROTOTYPE_DEF 1856 typedef sw_error_t 1857 (*hsl_trunk_group_set) (a_uint32_t dev_id, a_uint32_t trunk_id, 1858 a_bool_t enable, fal_pbmp_t member); 1859 1860 typedef sw_error_t 1861 (*hsl_trunk_group_get) (a_uint32_t dev_id, a_uint32_t trunk_id, 1862 a_bool_t * enable, fal_pbmp_t * member); 1863 1864 typedef sw_error_t 1865 (*hsl_trunk_hash_mode_set) (a_uint32_t dev_id, a_uint32_t hash_mode); 1866 1867 typedef sw_error_t 1868 (*hsl_trunk_hash_mode_get) (a_uint32_t dev_id, a_uint32_t * hash_mode); 1869 1870 typedef sw_error_t 1871 (*hsl_trunk_manipulate_sa_set) (a_uint32_t dev_id, fal_mac_addr_t * addr); 1872 1873 typedef sw_error_t 1874 (*hsl_trunk_manipulate_sa_get) (a_uint32_t dev_id, fal_mac_addr_t * addr); 1875 1876 /* Interface Control */ 1877#define INTERFACE_CONTROL_FUNC_PROTOTYPE_DEF 1878 typedef sw_error_t 1879 (*hsl_interface_mac_mode_set) (a_uint32_t dev_id, fal_port_t port_id, 1880 fal_mac_config_t * config); 1881 1882 typedef sw_error_t 1883 (*hsl_interface_mac_mode_get) (a_uint32_t dev_id, fal_port_t port_id, 1884 fal_mac_config_t * config); 1885 1886 typedef sw_error_t 1887 (*hsl_port_3az_status_set) (a_uint32_t dev_id, fal_port_t port_id, 1888 a_bool_t enable); 1889 1890 typedef sw_error_t 1891 (*hsl_port_3az_status_get) (a_uint32_t dev_id, fal_port_t port_id, 1892 a_bool_t * enable); 1893 1894 typedef sw_error_t 1895 (*hsl_interface_phy_mode_set) (a_uint32_t dev_id, a_uint32_t phy_id, 1896 fal_phy_config_t * config); 1897 1898 typedef sw_error_t 1899 (*hsl_interface_phy_mode_get) (a_uint32_t dev_id, a_uint32_t phy_id, 1900 fal_phy_config_t * config); 1901 1902 typedef sw_error_t 1903 (*hsl_interface_fx100_ctrl_set) (a_uint32_t dev_id, 1904 fal_fx100_ctrl_config_t * config); 1905 1906 typedef sw_error_t 1907 (*hsl_interface_fx100_ctrl_get) (a_uint32_t dev_id, 1908 fal_fx100_ctrl_config_t * config); 1909 1910 typedef sw_error_t 1911 (*hsl_interface_fx100_status_get) (a_uint32_t dev_id, 1912 a_uint32_t * status); 1913 1914 typedef sw_error_t 1915 (*hsl_interface_mac06_exch_set) (a_uint32_t dev_id, a_bool_t enable); 1916 1917 typedef sw_error_t 1918 (*hsl_interface_mac06_exch_get) (a_uint32_t dev_id, a_bool_t * enable); 1919 1920 typedef sw_error_t 1921 (*hsl_interface_pad_get) (a_uint32_t dev_id,a_uint32_t port_num, a_uint32_t *value); 1922 1923 typedef sw_error_t 1924 (*hsl_interface_pad_set) (a_uint32_t dev_id,a_uint32_t port_num, a_uint32_t value); 1925 1926 typedef sw_error_t 1927 (*hsl_interface_sgmii_get) (a_uint32_t dev_id, a_uint32_t * value); 1928 1929 typedef sw_error_t 1930 (*hsl_interface_sgmii_set) (a_uint32_t dev_id, a_uint32_t value); 1931 1932 1933 /* REG */ 1934#define REG_FUNC_PROTOTYPE_DEF 1935 typedef sw_error_t 1936 (*hsl_phy_get) (a_uint32_t dev_id, a_uint32_t phy_addr, a_uint32_t reg, 1937 a_uint16_t * value); 1938 1939 typedef sw_error_t 1940 (*hsl_phy_set) (a_uint32_t dev_id, a_uint32_t phy_addr, a_uint32_t reg, 1941 a_uint16_t value); 1942 1943 typedef sw_error_t 1944 (*hsl_reg_get) (a_uint32_t dev_id, a_uint32_t reg_addr, 1945 a_uint8_t value[], a_uint32_t value_len); 1946 1947 typedef sw_error_t 1948 (*hsl_reg_set) (a_uint32_t dev_id, a_uint32_t reg_addr, 1949 a_uint8_t value[], a_uint32_t value_len); 1950 1951 typedef sw_error_t 1952 (*hsl_psgmii_reg_get) (a_uint32_t dev_id, a_uint32_t reg_addr, 1953 a_uint8_t value[], a_uint32_t value_len); 1954 1955 typedef sw_error_t 1956 (*hsl_psgmii_reg_set) (a_uint32_t dev_id, a_uint32_t reg_addr, 1957 a_uint8_t value[], a_uint32_t value_len); 1958 1959 typedef sw_error_t 1960 (*hsl_reg_field_get) (a_uint32_t dev_id, a_uint32_t reg_addr, 1961 a_uint32_t bit_offset, a_uint32_t field_len, 1962 a_uint8_t value[], a_uint32_t value_len); 1963 1964 typedef sw_error_t 1965 (*hsl_reg_field_set) (a_uint32_t dev_id, a_uint32_t reg_addr, 1966 a_uint32_t bit_offset, a_uint32_t field_len, 1967 const a_uint8_t value[], a_uint32_t value_len); 1968 1969 typedef sw_error_t 1970 (*hsl_reg_entries_get) (a_uint32_t dev_id, a_uint32_t reg_addr, 1971 a_uint32_t entry_len, a_uint8_t value[], 1972 a_uint32_t value_len); 1973 1974 typedef sw_error_t 1975 (*hsl_reg_entries_set) (a_uint32_t dev_id, a_uint32_t reg_addr, 1976 a_uint32_t entry_len, const a_uint8_t value[], 1977 a_uint32_t value_len); 1978 1979 typedef struct 1980 { 1981#if (!(defined(USER_MODE) && defined(KERNEL_MODULE))) 1982#ifndef HSL_STANDALONG 1983 /* Misc */ 1984 hsl_arp_status_set arp_status_set; 1985 hsl_arp_status_get arp_status_get; 1986 hsl_frame_max_size_set frame_max_size_set; 1987 hsl_frame_max_size_get frame_max_size_get; 1988 hsl_port_unk_sa_cmd_set port_unk_sa_cmd_set; 1989 hsl_port_unk_sa_cmd_get port_unk_sa_cmd_get; 1990 hsl_port_unk_uc_filter_set port_unk_uc_filter_set; 1991 hsl_port_unk_uc_filter_get port_unk_uc_filter_get; 1992 hsl_port_unk_mc_filter_set port_unk_mc_filter_set; 1993 hsl_port_unk_mc_filter_get port_unk_mc_filter_get; 1994 hsl_port_bc_filter_set port_bc_filter_set; 1995 hsl_port_bc_filter_get port_bc_filter_get; 1996 hsl_nestvlan_tpid_set nestvlan_tpid_set; 1997 hsl_nestvlan_tpid_get nestvlan_tpid_get; 1998 hsl_cpu_port_status_set cpu_port_status_set; 1999 hsl_cpu_port_status_get cpu_port_status_get; 2000 hsl_bc_to_cpu_port_set bc_to_cpu_port_set; 2001 hsl_bc_to_cpu_port_get bc_to_cpu_port_get; 2002 hsl_pppoe_cmd_set pppoe_cmd_set; 2003 hsl_pppoe_cmd_get pppoe_cmd_get; 2004 hsl_pppoe_status_set pppoe_status_set; 2005 hsl_pppoe_status_get pppoe_status_get; 2006 hsl_port_dhcp_set port_dhcp_set; 2007 hsl_port_dhcp_get port_dhcp_get; 2008 hsl_arp_cmd_set arp_cmd_set; 2009 hsl_arp_cmd_get arp_cmd_get; 2010 hsl_eapol_cmd_set eapol_cmd_set; 2011 hsl_eapol_cmd_get eapol_cmd_get; 2012 hsl_pppoe_session_add pppoe_session_add; 2013 hsl_pppoe_session_del pppoe_session_del; 2014 hsl_pppoe_session_get pppoe_session_get; 2015 hsl_eapol_status_set eapol_status_set; 2016 hsl_eapol_status_get eapol_status_get; 2017 hsl_ripv1_status_set ripv1_status_set; 2018 hsl_ripv1_status_get ripv1_status_get; 2019 hsl_port_arp_req_status_set port_arp_req_status_set; 2020 hsl_port_arp_req_status_get port_arp_req_status_get; 2021 hsl_port_arp_ack_status_set port_arp_ack_status_set; 2022 hsl_port_arp_ack_status_get port_arp_ack_status_get; 2023 hsl_pppoe_session_table_add pppoe_session_table_add; 2024 hsl_pppoe_session_table_del pppoe_session_table_del; 2025 hsl_pppoe_session_table_get pppoe_session_table_get; 2026 hsl_pppoe_session_id_set pppoe_session_id_set; 2027 hsl_pppoe_session_id_get pppoe_session_id_get; 2028 hsl_intr_mask_set intr_mask_set; 2029 hsl_intr_mask_get intr_mask_get; 2030 hsl_intr_status_get intr_status_get; 2031 hsl_intr_status_clear intr_status_clear; 2032 hsl_intr_port_link_mask_set intr_port_link_mask_set; 2033 hsl_intr_port_link_mask_get intr_port_link_mask_get; 2034 hsl_intr_port_link_status_get intr_port_link_status_get; 2035 hsl_intr_mask_mac_linkchg_set intr_mask_mac_linkchg_set; 2036 hsl_intr_mask_mac_linkchg_get intr_mask_mac_linkchg_get; 2037 hsl_intr_status_mac_linkchg_get intr_status_mac_linkchg_get; 2038 hsl_cpu_vid_en_set cpu_vid_en_set; 2039 hsl_cpu_vid_en_get cpu_vid_en_get; 2040 hsl_rtd_pppoe_en_set rtd_pppoe_en_set; 2041 hsl_rtd_pppoe_en_get rtd_pppoe_en_get; 2042 hsl_intr_status_mac_linkchg_clear intr_status_mac_linkchg_clear; 2043 hsl_global_macaddr_set global_macaddr_set; 2044 hsl_global_macaddr_get global_macaddr_get; 2045 hsl_lldp_status_set lldp_status_set; 2046 hsl_lldp_status_get lldp_status_get; 2047 hsl_frame_crc_reserve_set frame_crc_reserve_set; 2048 hsl_frame_crc_reserve_get frame_crc_reserve_get; 2049 2050 2051 /* Port control */ 2052 hsl_port_duplex_set port_duplex_set; 2053 hsl_port_duplex_get port_duplex_get; 2054 hsl_port_speed_set port_speed_set; 2055 hsl_port_speed_get port_speed_get; 2056 hsl_port_autoneg_status_get port_autoneg_status_get; 2057 hsl_port_autoneg_enable port_autoneg_enable; 2058 hsl_port_autoneg_restart port_autoneg_restart; 2059 hsl_port_autoneg_adv_get port_autoneg_adv_get; 2060 hsl_port_autoneg_adv_set port_autoneg_adv_set; 2061 hsl_port_hdr_status_set port_hdr_status_set; 2062 hsl_port_hdr_status_get port_hdr_status_get; 2063 hsl_port_flowctrl_set port_flowctrl_set; 2064 hsl_port_flowctrl_get port_flowctrl_get; 2065 hsl_port_flowctrl_thresh_set port_flowctrl_thresh_set; 2066 hsl_port_flowctrl_forcemode_set port_flowctrl_forcemode_set; 2067 hsl_port_flowctrl_forcemode_get port_flowctrl_forcemode_get; 2068 hsl_port_powersave_set port_powersave_set; 2069 hsl_port_powersave_get port_powersave_get; 2070 hsl_port_hibernate_set port_hibernate_set; 2071 hsl_port_hibernate_get port_hibernate_get; 2072 hsl_port_cdt port_cdt; 2073 hsl_port_rxhdr_mode_set port_rxhdr_mode_set; 2074 hsl_port_rxhdr_mode_get port_rxhdr_mode_get; 2075 hsl_port_txhdr_mode_set port_txhdr_mode_set; 2076 hsl_port_txhdr_mode_get port_txhdr_mode_get; 2077 hsl_header_type_set header_type_set; 2078 hsl_header_type_get header_type_get; 2079 hsl_port_txmac_status_set port_txmac_status_set; 2080 hsl_port_txmac_status_get port_txmac_status_get; 2081 hsl_port_rxmac_status_set port_rxmac_status_set; 2082 hsl_port_rxmac_status_get port_rxmac_status_get; 2083 hsl_port_txfc_status_set port_txfc_status_set; 2084 hsl_port_txfc_status_get port_txfc_status_get; 2085 hsl_port_rxfc_status_set port_rxfc_status_set; 2086 hsl_port_rxfc_status_get port_rxfc_status_get; 2087 hsl_port_bp_status_set port_bp_status_set; 2088 hsl_port_bp_status_get port_bp_status_get; 2089 hsl_port_link_forcemode_set port_link_forcemode_set; 2090 hsl_port_link_forcemode_get port_link_forcemode_get; 2091 hsl_port_link_status_get port_link_status_get; 2092 hsl_ports_link_status_get ports_link_status_get; 2093 hsl_port_mac_loopback_set port_mac_loopback_set; 2094 hsl_port_mac_loopback_get port_mac_loopback_get; 2095 hsl_port_congestion_drop_set port_congestion_drop_set; 2096 hsl_port_congestion_drop_get port_congestion_drop_get; 2097 hsl_ring_flow_ctrl_thres_set ring_flow_ctrl_thres_set; 2098 hsl_ring_flow_ctrl_thres_get ring_flow_ctrl_thres_get; 2099 hsl_port_8023az_set port_8023az_set; 2100 hsl_port_8023az_get port_8023az_get; 2101 hsl_port_mdix_set port_mdix_set; 2102 hsl_port_mdix_get port_mdix_get; 2103 hsl_port_mdix_status_get port_mdix_status_get; 2104 hsl_port_combo_prefer_medium_set port_combo_prefer_medium_set; 2105 hsl_port_combo_prefer_medium_get port_combo_prefer_medium_get; 2106 hsl_port_combo_medium_status_get port_combo_medium_status_get; 2107 hsl_port_combo_fiber_mode_set port_combo_fiber_mode_set; 2108 hsl_port_combo_fiber_mode_get port_combo_fiber_mode_get; 2109 hsl_port_local_loopback_set port_local_loopback_set; 2110 hsl_port_local_loopback_get port_local_loopback_get; 2111 hsl_port_remote_loopback_set port_remote_loopback_set; 2112 hsl_port_remote_loopback_get port_remote_loopback_get; 2113 hsl_port_reset port_reset; 2114 hsl_port_power_off port_power_off; 2115 hsl_port_power_on port_power_on; 2116 hsl_port_phy_id_get port_phy_id_get; 2117 hsl_port_wol_status_set port_wol_status_set; 2118 hsl_port_wol_status_get port_wol_status_get; 2119 hsl_port_magic_frame_mac_set port_magic_frame_mac_set; 2120 hsl_port_magic_frame_mac_get port_magic_frame_mac_get; 2121 hsl_port_interface_mode_set port_interface_mode_set; 2122 hsl_port_interface_mode_get port_interface_mode_get; 2123 hsl_port_interface_mode_status_get port_interface_mode_status_get; 2124 hsl_port_counter_set port_counter_set; 2125 hsl_port_counter_get port_counter_get; 2126 hsl_port_counter_show port_counter_show; 2127 2128 /* VLAN */ 2129 hsl_vlan_entry_append vlan_entry_append; 2130 hsl_vlan_create vlan_creat; 2131 hsl_vlan_member_update vlan_member_update; 2132 hsl_vlan_delete vlan_delete; 2133 hsl_vlan_find vlan_find; 2134 hsl_vlan_next vlan_next; 2135 hsl_vlan_flush vlan_flush; 2136 hsl_vlan_fid_set vlan_fid_set; 2137 hsl_vlan_fid_get vlan_fid_get; 2138 hsl_vlan_member_add vlan_member_add; 2139 hsl_vlan_member_del vlan_member_del; 2140 hsl_vlan_learning_state_set vlan_learning_state_set; 2141 hsl_vlan_learning_state_get vlan_learning_state_get; 2142 2143 /* Port VLAN */ 2144 hsl_port_1qmode_set port_1qmode_set; 2145 hsl_port_1qmode_get port_1qmode_get; 2146 hsl_port_egvlanmode_get port_egvlanmode_get; 2147 hsl_port_egvlanmode_set port_egvlanmode_set; 2148 hsl_portvlan_member_add portvlan_member_add; 2149 hsl_portvlan_member_del portvlan_member_del; 2150 hsl_portvlan_member_update portvlan_member_update; 2151 hsl_portvlan_member_get portvlan_member_get; 2152 hsl_port_default_vid_set port_default_vid_set; 2153 hsl_port_default_vid_get port_default_vid_get; 2154 hsl_port_force_default_vid_set port_force_default_vid_set; 2155 hsl_port_force_default_vid_get port_force_default_vid_get; 2156 hsl_port_force_portvlan_set port_force_portvlan_set; 2157 hsl_port_force_portvlan_get port_force_portvlan_get; 2158 hsl_port_nestvlan_set port_nestvlan_set; 2159 hsl_port_nestvlan_get port_nestvlan_get; 2160 hsl_port_invlan_mode_set port_invlan_mode_set; 2161 hsl_port_invlan_mode_get port_invlan_mode_get; 2162 hsl_port_tls_set port_tls_set; 2163 hsl_port_tls_get port_tls_get; 2164 hsl_port_pri_propagation_set port_pri_propagation_set; 2165 hsl_port_pri_propagation_get port_pri_propagation_get; 2166 hsl_port_default_svid_set port_default_svid_set; 2167 hsl_port_default_svid_get port_default_svid_get; 2168 hsl_port_default_cvid_set port_default_cvid_set; 2169 hsl_port_default_cvid_get port_default_cvid_get; 2170 hsl_port_vlan_propagation_set port_vlan_propagation_set; 2171 hsl_port_vlan_propagation_get port_vlan_propagation_get; 2172 hsl_port_vlan_trans_add port_vlan_trans_add; 2173 hsl_port_vlan_trans_del port_vlan_trans_del; 2174 hsl_port_vlan_trans_get port_vlan_trans_get; 2175 hsl_qinq_mode_set qinq_mode_set; 2176 hsl_qinq_mode_get qinq_mode_get; 2177 hsl_port_qinq_role_set port_qinq_role_set; 2178 hsl_port_qinq_role_get port_qinq_role_get; 2179 hsl_port_vlan_trans_iterate port_vlan_trans_iterate; 2180 hsl_port_mac_vlan_xlt_set port_mac_vlan_xlt_set; 2181 hsl_port_mac_vlan_xlt_get port_mac_vlan_xlt_get; 2182 hsl_netisolate_set netisolate_set; 2183 hsl_netisolate_get netisolate_get; 2184 hsl_eg_trans_filter_bypass_en_set eg_trans_filter_bypass_en_set; 2185 hsl_eg_trans_filter_bypass_en_get eg_trans_filter_bypass_en_get; 2186 hsl_port_vrf_id_set port_vrf_id_set; 2187 hsl_port_vrf_id_get port_vrf_id_get; 2188 2189 /* FDB */ 2190 hsl_fdb_add fdb_add; 2191 hsl_fdb_del_all fdb_del_all; 2192 hsl_fdb_del_by_port fdb_del_by_port; 2193 hsl_fdb_del_by_mac fdb_del_by_mac; 2194 hsl_fdb_first fdb_first; 2195 hsl_fdb_next fdb_next; 2196 hsl_fdb_find fdb_find; 2197 hsl_fdb_port_learn_set port_learn_set; 2198 hsl_fdb_port_learn_get port_learn_get; 2199 hsl_fdb_age_ctrl_set age_ctrl_set; 2200 hsl_fdb_age_ctrl_get age_ctrl_get; 2201 hsl_fdb_vlan_ivl_svl_set vlan_ivl_svl_set; 2202 hsl_fdb_vlan_ivl_svl_get vlan_ivl_svl_get; 2203 hsl_fdb_age_time_set age_time_set; 2204 hsl_fdb_age_time_get age_time_get; 2205 hsl_fdb_iterate fdb_iterate; 2206 hsl_fdb_extend_next fdb_extend_next; 2207 hsl_fdb_extend_first fdb_extend_first; 2208 hsl_fdb_transfer fdb_transfer; 2209 hsl_port_fdb_learn_limit_set port_fdb_learn_limit_set; 2210 hsl_port_fdb_learn_limit_get port_fdb_learn_limit_get; 2211 hsl_port_fdb_learn_exceed_cmd_set port_fdb_learn_exceed_cmd_set; 2212 hsl_port_fdb_learn_exceed_cmd_get port_fdb_learn_exceed_cmd_get; 2213 hsl_fdb_learn_limit_set fdb_learn_limit_set; 2214 hsl_fdb_learn_limit_get fdb_learn_limit_get; 2215 hsl_fdb_learn_exceed_cmd_set fdb_learn_exceed_cmd_set; 2216 hsl_fdb_learn_exceed_cmd_get fdb_learn_exceed_cmd_get; 2217 hsl_fdb_resv_add fdb_resv_add; 2218 hsl_fdb_resv_del fdb_resv_del; 2219 hsl_fdb_resv_find fdb_resv_find; 2220 hsl_fdb_resv_iterate fdb_resv_iterate; 2221 hsl_fdb_port_learn_static_set fdb_port_learn_static_set; 2222 hsl_fdb_port_learn_static_get fdb_port_learn_static_get; 2223 hsl_fdb_port_add fdb_port_add; 2224 hsl_fdb_port_del fdb_port_del; 2225 hsl_fdb_rfs_set fdb_rfs_set; 2226 hsl_fdb_rfs_del fdb_rfs_del; 2227 2228 /* QOS */ 2229 hsl_qos_sch_mode_set qos_sch_mode_set; 2230 hsl_qos_sch_mode_get qos_sch_mode_get; 2231 hsl_qos_queue_tx_buf_status_set qos_queue_tx_buf_status_set; 2232 hsl_qos_queue_tx_buf_status_get qos_queue_tx_buf_status_get; 2233 hsl_qos_port_tx_buf_status_set qos_port_tx_buf_status_set; 2234 hsl_qos_port_tx_buf_status_get qos_port_tx_buf_status_get; 2235 hsl_qos_port_red_en_set qos_port_red_en_set; 2236 hsl_qos_port_red_en_get qos_port_red_en_get; 2237 hsl_qos_queue_tx_buf_nr_set qos_queue_tx_buf_nr_set; 2238 hsl_qos_queue_tx_buf_nr_get qos_queue_tx_buf_nr_get; 2239 hsl_qos_port_tx_buf_nr_set qos_port_tx_buf_nr_set; 2240 hsl_qos_port_tx_buf_nr_get qos_port_tx_buf_nr_get; 2241 hsl_qos_port_rx_buf_nr_set qos_port_rx_buf_nr_set; 2242 hsl_qos_port_rx_buf_nr_get qos_port_rx_buf_nr_get; 2243 hsl_cosmap_up_queue_set cosmap_up_queue_set; 2244 hsl_cosmap_up_queue_get cosmap_up_queue_get; 2245 hsl_cosmap_dscp_queue_set cosmap_dscp_queue_set; 2246 hsl_cosmap_dscp_queue_get cosmap_dscp_queue_get; 2247 hsl_qos_port_mode_set qos_port_mode_set; 2248 hsl_qos_port_mode_get qos_port_mode_get; 2249 hsl_qos_port_mode_pri_set qos_port_mode_pri_set; 2250 hsl_qos_port_mode_pri_get qos_port_mode_pri_get; 2251 hsl_qos_port_default_up_set qos_port_default_up_set; 2252 hsl_qos_port_default_up_get qos_port_default_up_get; 2253 hsl_qos_port_sch_mode_set qos_port_sch_mode_set; 2254 hsl_qos_port_sch_mode_get qos_port_sch_mode_get; 2255 hsl_qos_port_default_spri_set qos_port_default_spri_set; 2256 hsl_qos_port_default_spri_get qos_port_default_spri_get; 2257 hsl_qos_port_default_cpri_set qos_port_default_cpri_set; 2258 hsl_qos_port_default_cpri_get qos_port_default_cpri_get; 2259 hsl_qos_port_force_spri_status_set qos_port_force_spri_status_set; 2260 hsl_qos_port_force_spri_status_get qos_port_force_spri_status_get; 2261 hsl_qos_port_force_cpri_status_set qos_port_force_cpri_status_set; 2262 hsl_qos_port_force_cpri_status_get qos_port_force_cpri_status_get; 2263 2264 hsl_qos_queue_remark_table_set qos_queue_remark_table_set; 2265 hsl_qos_queue_remark_table_get qos_queue_remark_table_get; 2266 2267 /* Rate */ 2268 hsl_storm_ctrl_frame_set storm_ctrl_frame_set; 2269 hsl_storm_ctrl_frame_get storm_ctrl_frame_get; 2270 hsl_storm_ctrl_rate_set storm_ctrl_rate_set; 2271 hsl_storm_ctrl_rate_get storm_ctrl_rate_get; 2272 hsl_rate_queue_egrl_set rate_queue_egrl_set; 2273 hsl_rate_queue_egrl_get rate_queue_egrl_get; 2274 hsl_rate_port_egrl_set rate_port_egrl_set; 2275 hsl_rate_port_egrl_get rate_port_egrl_get; 2276 hsl_rate_port_inrl_set rate_port_inrl_set; 2277 hsl_rate_port_inrl_get rate_port_inrl_get; 2278 hsl_rate_port_policer_set rate_port_policer_set; 2279 hsl_rate_port_policer_get rate_port_policer_get; 2280 hsl_rate_port_shaper_set rate_port_shaper_set; 2281 hsl_rate_port_shaper_get rate_port_shaper_get; 2282 hsl_rate_queue_shaper_set rate_queue_shaper_set; 2283 hsl_rate_queue_shaper_get rate_queue_shaper_get; 2284 hsl_rate_acl_policer_set rate_acl_policer_set; 2285 hsl_rate_acl_policer_get rate_acl_policer_get; 2286 hsl_rate_port_add_rate_byte_set rate_port_add_rate_byte_set; 2287 hsl_rate_port_add_rate_byte_get rate_port_add_rate_byte_get; 2288 hsl_rate_port_gol_flow_en_set rate_port_gol_flow_en_set; 2289 hsl_rate_port_gol_flow_en_get rate_port_gol_flow_en_get; 2290 2291 /* Mirror */ 2292 hsl_mirr_analysis_port_set mirr_analysis_port_set; 2293 hsl_mirr_analysis_port_get mirr_analysis_port_get; 2294 hsl_mirr_port_in_set mirr_port_in_set; 2295 hsl_mirr_port_in_get mirr_port_in_get; 2296 hsl_mirr_port_eg_set mirr_port_eg_set; 2297 hsl_mirr_port_eg_get mirr_port_eg_get; 2298 2299 /* Stp */ 2300 hsl_stp_port_state_set stp_port_state_set; 2301 hsl_stp_port_state_get stp_port_state_get; 2302 2303 /* IGMP */ 2304 hsl_port_igmps_status_set port_igmps_status_set; 2305 hsl_port_igmps_status_get port_igmps_status_get; 2306 hsl_igmp_mld_cmd_set igmp_mld_cmd_set; 2307 hsl_igmp_mld_cmd_get igmp_mld_cmd_get; 2308 hsl_port_igmp_join_set port_igmp_join_set; 2309 hsl_port_igmp_join_get port_igmp_join_get; 2310 hsl_port_igmp_leave_set port_igmp_leave_set; 2311 hsl_port_igmp_leave_get port_igmp_leave_get; 2312 hsl_igmp_rp_set igmp_rp_set; 2313 hsl_igmp_rp_get igmp_rp_get; 2314 hsl_igmp_entry_creat_set igmp_entry_creat_set; 2315 hsl_igmp_entry_creat_get igmp_entry_creat_get; 2316 hsl_igmp_entry_static_set igmp_entry_static_set; 2317 hsl_igmp_entry_static_get igmp_entry_static_get; 2318 hsl_igmp_entry_leaky_set igmp_entry_leaky_set; 2319 hsl_igmp_entry_leaky_get igmp_entry_leaky_get; 2320 hsl_igmp_entry_v3_set igmp_entry_v3_set; 2321 hsl_igmp_entry_v3_get igmp_entry_v3_get; 2322 hsl_igmp_entry_queue_set igmp_entry_queue_set; 2323 hsl_igmp_entry_queue_get igmp_entry_queue_get; 2324 hsl_port_igmp_mld_learn_limit_set port_igmp_mld_learn_limit_set; 2325 hsl_port_igmp_mld_learn_limit_get port_igmp_mld_learn_limit_get; 2326 hsl_port_igmp_mld_learn_exceed_cmd_set port_igmp_mld_learn_exceed_cmd_set; 2327 hsl_port_igmp_mld_learn_exceed_cmd_get port_igmp_mld_learn_exceed_cmd_get; 2328 hsl_igmp_sg_entry_set igmp_sg_entry_set; 2329 hsl_igmp_sg_entry_clear igmp_sg_entry_clear; 2330 hsl_igmp_sg_entry_show igmp_sg_entry_show; 2331 hsl_igmp_sg_entry_query igmp_sg_entry_query; 2332 2333 /* Leaky */ 2334 hsl_uc_leaky_mode_set uc_leaky_mode_set; 2335 hsl_uc_leaky_mode_get uc_leaky_mode_get; 2336 hsl_mc_leaky_mode_set mc_leaky_mode_set; 2337 hsl_mc_leaky_mode_get mc_leaky_mode_get; 2338 hsl_port_arp_leaky_set port_arp_leaky_set; 2339 hsl_port_arp_leaky_get port_arp_leaky_get; 2340 hsl_port_uc_leaky_set port_uc_leaky_set; 2341 hsl_port_uc_leaky_get port_uc_leaky_get; 2342 hsl_port_mc_leaky_set port_mc_leaky_set; 2343 hsl_port_mc_leaky_get port_mc_leaky_get; 2344 2345 /* MIB API */ 2346 hsl_get_mib_info get_mib_info; 2347 hsl_get_rx_mib_info get_rx_mib_info; 2348 hsl_get_tx_mib_info get_tx_mib_info; 2349 hsl_mib_status_set mib_status_set; 2350 hsl_mib_status_get mib_status_get; 2351 hsl_mib_port_flush_counters mib_port_flush_counters; 2352 hsl_mib_cpukeep_set mib_cpukeep_set; 2353 hsl_mib_cpukeep_get mib_cpukeep_get; 2354 2355 2356 /* Acl */ 2357 hsl_acl_list_creat acl_list_creat; 2358 hsl_acl_list_destroy acl_list_destroy; 2359 hsl_acl_rule_add acl_rule_add; 2360 hsl_acl_rule_delete acl_rule_delete; 2361 hsl_acl_rule_query acl_rule_query; 2362 hsl_acl_list_bind acl_list_bind; 2363 hsl_acl_list_unbind acl_list_unbind; 2364 hsl_acl_status_set acl_status_set; 2365 hsl_acl_status_get acl_status_get; 2366 hsl_acl_list_dump acl_list_dump; 2367 hsl_acl_rule_dump acl_rule_dump; 2368 hsl_acl_port_udf_profile_set acl_port_udf_profile_set; 2369 hsl_acl_port_udf_profile_get acl_port_udf_profile_get; 2370 hsl_acl_rule_active acl_rule_active; 2371 hsl_acl_rule_deactive acl_rule_deactive; 2372 hsl_acl_rule_src_filter_sts_set acl_rule_src_filter_sts_set; 2373 hsl_acl_rule_src_filter_sts_get acl_rule_src_filter_sts_get; 2374 hsl_acl_rule_get_offset acl_rule_get_offset; 2375 hsl_acl_rule_sync_multi_portmap acl_rule_sync_multi_portmap; 2376 2377 /* LED */ 2378 hsl_led_ctrl_pattern_set led_ctrl_pattern_set; 2379 hsl_led_ctrl_pattern_get led_ctrl_pattern_get; 2380 hsl_led_ctrl_source_set led_ctrl_source_set; 2381 2382 /* CoSMap */ 2383 hsl_cosmap_dscp_to_pri_set cosmap_dscp_to_pri_set; 2384 hsl_cosmap_dscp_to_pri_get cosmap_dscp_to_pri_get; 2385 hsl_cosmap_dscp_to_dp_set cosmap_dscp_to_dp_set; 2386 hsl_cosmap_dscp_to_dp_get cosmap_dscp_to_dp_get; 2387 hsl_cosmap_up_to_pri_set cosmap_up_to_pri_set; 2388 hsl_cosmap_up_to_pri_get cosmap_up_to_pri_get; 2389 hsl_cosmap_up_to_dp_set cosmap_up_to_dp_set; 2390 hsl_cosmap_up_to_dp_get cosmap_up_to_dp_get; 2391 hsl_cosmap_dscp_to_ehpri_set cosmap_dscp_to_ehpri_set; 2392 hsl_cosmap_dscp_to_ehpri_get cosmap_dscp_to_ehpri_get; 2393 hsl_cosmap_dscp_to_ehdp_set cosmap_dscp_to_ehdp_set; 2394 hsl_cosmap_dscp_to_ehdp_get cosmap_dscp_to_ehdp_get; 2395 hsl_cosmap_up_to_ehpri_set cosmap_up_to_ehpri_set; 2396 hsl_cosmap_up_to_ehpri_get cosmap_up_to_ehpri_get; 2397 hsl_cosmap_up_to_ehdp_set cosmap_up_to_ehdp_set; 2398 hsl_cosmap_up_to_ehdp_get cosmap_up_to_ehdp_get; 2399 hsl_cosmap_pri_to_queue_set cosmap_pri_to_queue_set; 2400 hsl_cosmap_pri_to_queue_get cosmap_pri_to_queue_get; 2401 hsl_cosmap_pri_to_ehqueue_set cosmap_pri_to_ehqueue_set; 2402 hsl_cosmap_pri_to_ehqueue_get cosmap_pri_to_ehqueue_get; 2403 hsl_cosmap_egress_remark_set cosmap_egress_remark_set; 2404 hsl_cosmap_egress_remark_get cosmap_egress_remark_get; 2405 2406 /* IP */ 2407 hsl_ip_host_add ip_host_add; 2408 hsl_ip_host_del ip_host_del; 2409 hsl_ip_host_get ip_host_get; 2410 hsl_ip_host_next ip_host_next; 2411 hsl_ip_host_counter_bind ip_host_counter_bind; 2412 hsl_ip_host_pppoe_bind ip_host_pppoe_bind; 2413 hsl_ip_pt_arp_learn_set ip_pt_arp_learn_set; 2414 hsl_ip_pt_arp_learn_get ip_pt_arp_learn_get; 2415 hsl_ip_arp_learn_set ip_arp_learn_set; 2416 hsl_ip_arp_learn_get ip_arp_learn_get; 2417 hsl_ip_source_guard_set ip_source_guard_set; 2418 hsl_ip_source_guard_get ip_source_guard_get; 2419 hsl_ip_unk_source_cmd_set ip_unk_source_cmd_set; 2420 hsl_ip_unk_source_cmd_get ip_unk_source_cmd_get; 2421 hsl_ip_arp_guard_set ip_arp_guard_set; 2422 hsl_ip_arp_guard_get ip_arp_guard_get; 2423 hsl_arp_unk_source_cmd_set arp_unk_source_cmd_set; 2424 hsl_arp_unk_source_cmd_get arp_unk_source_cmd_get; 2425 hsl_ip_route_status_set ip_route_status_set; 2426 hsl_ip_route_status_get ip_route_status_get; 2427 hsl_ip_intf_entry_add ip_intf_entry_add; 2428 hsl_ip_intf_entry_del ip_intf_entry_del; 2429 hsl_ip_intf_entry_next ip_intf_entry_next; 2430 hsl_ip_age_time_set ip_age_time_set; 2431 hsl_ip_age_time_get ip_age_time_get; 2432 hsl_ip_wcmp_hash_mode_set ip_wcmp_hash_mode_set; 2433 hsl_ip_wcmp_hash_mode_get ip_wcmp_hash_mode_get; 2434 hsl_ip_vrf_base_addr_set ip_vrf_base_addr_set; 2435 hsl_ip_vrf_base_addr_get ip_vrf_base_addr_get; 2436 hsl_ip_vrf_base_mask_set ip_vrf_base_mask_set; 2437 hsl_ip_vrf_base_mask_get ip_vrf_base_mask_get; 2438 hsl_ip_default_route_set ip_default_route_set; 2439 hsl_ip_default_route_get ip_default_route_get; 2440 hsl_ip_host_route_set ip_host_route_set; 2441 hsl_ip_host_route_get ip_host_route_get; 2442 hsl_ip_wcmp_entry_set ip_wcmp_entry_set; 2443 hsl_ip_wcmp_entry_get ip_wcmp_entry_get; 2444 hsl_ip_rfs_ip4_set ip_rfs_ip4_set; 2445 hsl_ip_rfs_ip6_set ip_rfs_ip6_set; 2446 hsl_ip_rfs_ip4_del ip_rfs_ip4_del; 2447 hsl_ip_rfs_ip6_del ip_rfs_ip6_del; 2448 hsl_default_flow_cmd_set ip_default_flow_cmd_set; 2449 hsl_default_flow_cmd_get ip_default_flow_cmd_get; 2450 hsl_default_rt_flow_cmd_set ip_default_rt_flow_cmd_set; 2451 hsl_default_rt_flow_cmd_get ip_default_rt_flow_cmd_get; 2452 hsl_ip_glb_lock_time_set ip_glb_lock_time_set; 2453 2454 /* NAT */ 2455 hsl_nat_add nat_add; 2456 hsl_nat_del nat_del; 2457 hsl_nat_get nat_get; 2458 hsl_nat_next nat_next; 2459 hsl_nat_counter_bind nat_counter_bind; 2460 hsl_napt_add napt_add; 2461 hsl_napt_del napt_del; 2462 hsl_napt_get napt_get; 2463 hsl_napt_next napt_next; 2464 hsl_napt_counter_bind napt_counter_bind; 2465 hsl_napt_add flow_add; 2466 hsl_napt_del flow_del; 2467 hsl_napt_get flow_get; 2468 hsl_napt_next flow_next; 2469 hsl_napt_counter_bind flow_counter_bind; 2470 hsl_nat_status_set nat_status_set; 2471 hsl_nat_status_get nat_status_get; 2472 hsl_nat_hash_mode_set nat_hash_mode_set; 2473 hsl_nat_hash_mode_get nat_hash_mode_get; 2474 hsl_napt_status_set napt_status_set; 2475 hsl_napt_status_get napt_status_get; 2476 hsl_napt_mode_set napt_mode_set; 2477 hsl_napt_mode_get napt_mode_get; 2478 hsl_nat_prv_base_addr_set nat_prv_base_addr_set; 2479 hsl_nat_prv_base_addr_get nat_prv_base_addr_get; 2480 hsl_nat_prv_base_mask_set nat_prv_base_mask_set; 2481 hsl_nat_prv_base_mask_get nat_prv_base_mask_get; 2482 hsl_nat_prv_addr_mode_set nat_prv_addr_mode_set; 2483 hsl_nat_prv_addr_mode_get nat_prv_addr_mode_get; 2484 hsl_nat_pub_addr_add nat_pub_addr_add; 2485 hsl_nat_pub_addr_del nat_pub_addr_del; 2486 hsl_nat_pub_addr_next nat_pub_addr_next; 2487 hsl_nat_unk_session_cmd_set nat_unk_session_cmd_set; 2488 hsl_nat_unk_session_cmd_get nat_unk_session_cmd_get; 2489 hsl_nat_global_set nat_global_set; 2490 hsl_flow_cookie_set flow_cookie_set; 2491 hsl_flow_rfs_set flow_rfs_set; 2492 2493 /* SEC */ 2494 hsl_sec_norm_item_set sec_norm_item_set; 2495 hsl_sec_norm_item_get sec_norm_item_get; 2496 2497 /* Trunk */ 2498 hsl_trunk_group_set trunk_group_set; 2499 hsl_trunk_group_get trunk_group_get; 2500 hsl_trunk_hash_mode_set trunk_hash_mode_set; 2501 hsl_trunk_hash_mode_get trunk_hash_mode_get; 2502 hsl_trunk_manipulate_sa_set trunk_manipulate_sa_set; 2503 hsl_trunk_manipulate_sa_get trunk_manipulate_sa_get; 2504 2505 /* Interface Control */ 2506 hsl_interface_mac_mode_set interface_mac_mode_set; 2507 hsl_interface_mac_mode_get interface_mac_mode_get; 2508 hsl_port_3az_status_set port_3az_status_set; 2509 hsl_port_3az_status_get port_3az_status_get; 2510 hsl_interface_phy_mode_set interface_phy_mode_set; 2511 hsl_interface_phy_mode_get interface_phy_mode_get; 2512 hsl_interface_fx100_ctrl_set interface_fx100_ctrl_set; 2513 hsl_interface_fx100_ctrl_get interface_fx100_ctrl_get; 2514 hsl_interface_fx100_status_get interface_fx100_status_get; 2515 hsl_interface_mac06_exch_set interface_mac06_exch_set; 2516 hsl_interface_mac06_exch_get interface_mac06_exch_get; 2517 hsl_interface_pad_get interface_mac_pad_get; 2518 hsl_interface_pad_set interface_mac_pad_set; 2519 hsl_interface_sgmii_get interface_mac_sgmii_get; 2520 hsl_interface_sgmii_set interface_mac_sgmii_set; 2521#endif 2522#endif 2523 2524 /* REG Access */ 2525 hsl_phy_get phy_get; 2526 hsl_phy_set phy_set; 2527 hsl_reg_get reg_get; 2528 hsl_reg_set reg_set; 2529 hsl_reg_field_get reg_field_get; 2530 hsl_reg_field_set reg_field_set; 2531 hsl_reg_entries_get reg_entries_get; 2532 hsl_reg_entries_set reg_entries_set; 2533 hsl_psgmii_reg_get psgmii_reg_get; 2534 hsl_psgmii_reg_set psgmii_reg_set; 2535 hsl_register_dump register_dump; 2536 hsl_debug_register_dump debug_register_dump; 2537 2538 /*INIT*/ hsl_dev_reset dev_reset; 2539 hsl_dev_clean dev_clean; 2540 hsl_dev_access_set dev_access_set; 2541 } hsl_api_t; 2542 2543 hsl_api_t *hsl_api_ptr_get (a_uint32_t dev_id); 2544 2545 sw_error_t hsl_api_init (a_uint32_t dev_id); 2546 2547#if defined(SW_API_LOCK) && (!defined(HSL_STANDALONG)) 2548 extern aos_lock_t sw_hsl_api_lock; 2549#define FAL_API_LOCK aos_lock(&sw_hsl_api_lock) 2550#define FAL_API_UNLOCK aos_unlock(&sw_hsl_api_lock) 2551#else 2552#define FAL_API_LOCK 2553#define FAL_API_UNLOCK 2554#endif 2555 2556#ifdef __cplusplus 2557} 2558#endif /* __cplusplus */ 2559#endif /* _SW_API_H */ 2560