Print this page
MFV: illumos-gate@7ec6bfcf4280022b95218f03e28fb50217e4b6ff
9902 mac: mac_soft_ring_poll should use size_t
Reviewed by: Yuri Pankov <yuripv@yuripv.net>
Reviewed by: Andy Fiddaman <andy@omniosce.org>
Reviewed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Ryan Zezeski <ryan.zeseski@joyent.com>
Approved by: Dan McDonald <danmcd@joyent.com>
Author: Toomas Soome <tsoome@me.com>


 380 
 381 /* must change mac_notify_cb_list[] in mac_provider.c if this is changed */
 382 typedef enum {
 383         MAC_NOTE_LINK,
 384         MAC_NOTE_UNICST,
 385         MAC_NOTE_TX,
 386         MAC_NOTE_DEVPROMISC,
 387         MAC_NOTE_FASTPATH_FLUSH,
 388         MAC_NOTE_SDU_SIZE,
 389         MAC_NOTE_DEST,
 390         MAC_NOTE_MARGIN,
 391         MAC_NOTE_CAPAB_CHG,
 392         MAC_NOTE_LOWLINK,
 393         MAC_NOTE_ALLOWED_IPS,
 394         MAC_NNOTE       /* must be the last entry */
 395 } mac_notify_type_t;
 396 
 397 typedef void            (*mac_notify_t)(void *, mac_notify_type_t);
 398 typedef void            (*mac_rx_t)(void *, mac_resource_handle_t, mblk_t *,
 399                             boolean_t);
 400 typedef mblk_t          *(*mac_receive_t)(void *, int);
 401 
 402 /*
 403  * MAC resource types
 404  */
 405 typedef enum {
 406         MAC_RX_FIFO = 1
 407 } mac_resource_type_t;
 408 
 409 typedef int     (*mac_intr_enable_t)(mac_intr_handle_t);
 410 typedef int     (*mac_intr_disable_t)(mac_intr_handle_t);
 411 
 412 typedef struct mac_intr_s {
 413         mac_intr_handle_t       mi_handle;
 414         mac_intr_enable_t       mi_enable;
 415         mac_intr_disable_t      mi_disable;
 416         ddi_intr_handle_t       mi_ddi_handle;
 417         boolean_t               mi_ddi_shared;
 418 } mac_intr_t;
 419 
 420 typedef struct mac_rx_fifo_s {




 380 
 381 /* must change mac_notify_cb_list[] in mac_provider.c if this is changed */
 382 typedef enum {
 383         MAC_NOTE_LINK,
 384         MAC_NOTE_UNICST,
 385         MAC_NOTE_TX,
 386         MAC_NOTE_DEVPROMISC,
 387         MAC_NOTE_FASTPATH_FLUSH,
 388         MAC_NOTE_SDU_SIZE,
 389         MAC_NOTE_DEST,
 390         MAC_NOTE_MARGIN,
 391         MAC_NOTE_CAPAB_CHG,
 392         MAC_NOTE_LOWLINK,
 393         MAC_NOTE_ALLOWED_IPS,
 394         MAC_NNOTE       /* must be the last entry */
 395 } mac_notify_type_t;
 396 
 397 typedef void            (*mac_notify_t)(void *, mac_notify_type_t);
 398 typedef void            (*mac_rx_t)(void *, mac_resource_handle_t, mblk_t *,
 399                             boolean_t);
 400 typedef mblk_t          *(*mac_receive_t)(void *, size_t);
 401 
 402 /*
 403  * MAC resource types
 404  */
 405 typedef enum {
 406         MAC_RX_FIFO = 1
 407 } mac_resource_type_t;
 408 
 409 typedef int     (*mac_intr_enable_t)(mac_intr_handle_t);
 410 typedef int     (*mac_intr_disable_t)(mac_intr_handle_t);
 411 
 412 typedef struct mac_intr_s {
 413         mac_intr_handle_t       mi_handle;
 414         mac_intr_enable_t       mi_enable;
 415         mac_intr_disable_t      mi_disable;
 416         ddi_intr_handle_t       mi_ddi_handle;
 417         boolean_t               mi_ddi_shared;
 418 } mac_intr_t;
 419 
 420 typedef struct mac_rx_fifo_s {