Hello,

In mac_provider.h for solaris10, I find some Crossbow-like definitions though 
they are different from those defined in Solaris Express. I am wondering if 
Crossbow is available for Solaris10 Gldv3 driver? Is there any limitation?

Tom

/*
 * Common ring functions and driver interfaces
 */
typedef int     (*mac_ring_start_t)(mac_ring_driver_t);
typedef void    (*mac_ring_stop_t)(mac_ring_driver_t);

typedef mblk_t  *(*mac_ring_send_t)(void *, mblk_t *);
typedef mblk_t  *(*mac_ring_poll_t)(void *, int);

typedef struct mac_ring_info_s {
        mac_ring_driver_t       mr_driver;
        mac_ring_start_t        mr_start;
        mac_ring_stop_t         mr_stop;
        mac_intr_t              mr_intr;
        union {
                mac_ring_send_t send;
                mac_ring_poll_t poll;
        } mrfunion;
} mac_ring_info_s;

#define mr_send         mrfunion.send
#define mr_poll         mrfunion.poll

typedef int     (*mac_group_start_t)(mac_group_driver_t);
typedef void    (*mac_group_stop_t)(mac_group_driver_t);
typedef int     (*mac_add_mac_addr_t)(void *, const uint8_t *);
typedef int     (*mac_rem_mac_addr_t)(void *, const uint8_t *);

struct mac_group_info_s {
        mac_group_driver_t      mrg_driver;     /* Driver reference */
        mac_group_start_t       mrg_start;      /* Start the group */
        mac_group_stop_t        mrg_stop;       /* Stop the group */
        uint_t                  mrg_count;      /* Count of rings */
        mac_intr_t              mrg_intr;       /* Optional per-group intr */

        /* Only used for rx groups */
        mac_add_mac_addr_t      mrg_addmac;     /* Add a MAC address */
        mac_rem_mac_addr_t      mrg_remmac;     /* Remove a MAC address */
};
-- 
This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
networking-discuss@opensolaris.org

Reply via email to