toedev
struct toedev tdev;
int t3_offload_tx(struct toedev *, struct mbuf *);
tdev2adap(struct toedev *d)
setup_l2e_send_pending(struct toedev *dev, struct mbuf *m,
t3_l2t_send_slow(struct toedev *dev, struct mbuf *m,
t3_l2t_send_event(struct toedev *dev, struct l2t_entry *e)
t3_l2t_get(struct toedev *dev, struct rtentry *neigh,
handle_failed_resolution(struct toedev *dev, struct mbuf *arpq)
t3_l2t_update(struct toedev *dev, struct rtentry *neigh)
t3_l2t_update(struct toedev *dev, struct rtentry *neigh)
struct toedev *dev = e->tdev;
void t3_l2t_update(struct toedev *dev, struct rtentry *ifp);
struct l2t_entry *t3_l2t_get(struct toedev *dev, struct rtentry *neigh,
int t3_l2t_send_slow(struct toedev *dev, struct mbuf *m,
void t3_l2t_send_event(struct toedev *dev, struct l2t_entry *e);
int cxgb_ofld_send(struct toedev *dev, struct mbuf *m);
static __inline int l2t_send(struct toedev *dev, struct mbuf *m,
typedef void (*arp_failure_handler_func)(struct toedev *dev,
offload_tx(struct toedev *tdev, struct mbuf *m)
static int offload_close(struct toedev *tdev);
do_bad_cpl(struct toedev *dev, struct mbuf *m)
process_rx(struct toedev *dev, struct mbuf **m, int n)
cxgb_ofld_send(struct toedev *dev, struct mbuf *m)
cxgb_ofld_recv(struct toedev *dev, struct mbuf **m, int n)
struct toedev *tdev;
struct toedev *tdev = TOEDEV(rt->rt_ifp);
set_l2t_ix(struct toedev *tdev, u32 tid, struct l2t_entry *e)
struct toedev *tdev;
struct toedev *dev = &adapter->tdev;
cxgb_add_clients(struct toedev *tdev)
struct toedev *tdev = &adapter->tdev;
register_tdev(struct toedev *tdev)
unregister_tdev(struct toedev *tdev)
struct toedev *tdev = &adapter->tdev;
struct toedev *tdev = &adapter->tdev;
cxgb_remove_clients(struct toedev *tdev)
struct toedev *dev;
cxgb_offload_ctl(struct toedev *tdev, unsigned int req, void *data)
rx_offload_blackhole(struct toedev *dev, struct mbuf **m, int n)
dummy_neigh_update(struct toedev *dev, struct rtentry *neigh)
cxgb_set_dummy_ops(struct toedev *dev)
cxgb_free_atid(struct toedev *tdev, int atid)
cxgb_free_stid(struct toedev *tdev, int stid)
cxgb_insert_tid(struct toedev *tdev, struct cxgb_client *client,
struct toedev *tdev = data;
cxgb_queue_tid_release(struct toedev *tdev, unsigned int tid)
cxgb_remove_tid(struct toedev *tdev, void *ctx, unsigned int tid)
cxgb_alloc_atid(struct toedev *tdev, struct cxgb_client *client,
cxgb_alloc_stid(struct toedev *tdev, struct cxgb_client *client,
do_smt_write_rpl(struct toedev *dev, struct mbuf *m)
TAILQ_HEAD(, toedev) ofld_dev_list;
do_l2t_write_rpl(struct toedev *dev, struct mbuf *m)
do_act_open_rpl(struct toedev *dev, struct mbuf *m)
do_stid_rpl(struct toedev *dev, struct mbuf *m)
do_hwtid_rpl(struct toedev *dev, struct mbuf *m)
do_cr(struct toedev *dev, struct mbuf *m)
do_abort_req_rss(struct toedev *dev, struct mbuf *m)
offload_activated(struct toedev *tdev)
do_act_establish(struct toedev *dev, struct mbuf *m)
do_set_tcb_rpl(struct toedev *dev, struct mbuf *m)
do_trace(struct toedev *dev, struct mbuf *m)
do_term(struct toedev *dev, struct mbuf *m)
struct toedev *tdev;
void cxgb_remove_tid(struct toedev *dev, void *ctx, unsigned int tid);
typedef int (*cpl_handler_func)(struct toedev *dev, struct mbuf *m);
struct toedev *dev;
int process_rx(struct toedev *dev, struct mbuf **m, int n);
int attach_toedev(struct toedev *dev);
void detach_toedev(struct toedev *dev);
int cxgb_ofld_recv(struct toedev *dev, struct mbuf **m, int n);
void cxgb_set_dummy_ops(struct toedev *dev);
void cxgb_add_clients(struct toedev *tdev);
void cxgb_remove_clients(struct toedev *tdev);
typedef int (*cxgb_cpl_handler_func)(struct toedev *dev,
void (*add) (struct toedev *);
void (*remove) (struct toedev *);
int cxgb_alloc_atid(struct toedev *dev, struct cxgb_client *client,
int cxgb_alloc_stid(struct toedev *dev, struct cxgb_client *client,
void *cxgb_free_atid(struct toedev *dev, int atid);
void cxgb_free_stid(struct toedev *dev, int stid);
void cxgb_insert_tid(struct toedev *dev, struct cxgb_client *client,
void cxgb_queue_tid_release(struct toedev *dev, unsigned int tid);
t3_offload_tx(struct toedev *tdev, struct mbuf *m)
int (*can_offload)(struct toedev *dev, struct socket *so);
int (*connect)(struct toedev *dev, struct socket *so,
int (*send)(struct toedev *dev, struct mbuf *m);
int (*recv)(struct toedev *dev, struct mbuf **m, int n);
int (*ctl)(struct toedev *dev, unsigned int req, void *data);
void (*neigh_update)(struct toedev *dev, struct rtentry *neigh);
void (*failover)(struct toedev *dev, struct ifnet *bond_ifp,
int (*attach)(struct toedev *dev, const struct offload_id *entry);
int (*detach)(struct toedev *dev);
static __inline void init_offload_dev(struct toedev *dev)
extern int register_toedev(struct toedev *dev, const char *name);
extern int unregister_toedev(struct toedev *dev);
extern int activate_offload(struct toedev *dev);
extern int toe_send(struct toedev *dev, struct mbuf *m);
static __inline int toe_receive_mbuf(struct toedev *dev, struct mbuf **m,
extern int toe_receive_mbuf(struct toedev *dev, struct mbuf **m, int n);
#define TOEDEV(netdev) (*(struct toedev **)&(netdev)->if_softc)
TAILQ_ENTRY(toedev) ofld_entry; /* for list linking */
int (*open)(struct toedev *dev);
int (*close)(struct toedev *dev);