l2t_entry
struct l2t_entry *l2e)
struct l2t_entry *e;
struct l2t_entry *l2t;
static void set_l2t_ix(struct t3cdev *tdev, u32 tid, struct l2t_entry *e)
struct l2t_entry *e;
struct dst_entry *new, struct l2t_entry *l2t);
static inline void arpq_enqueue(struct l2t_entry *e, struct sk_buff *skb)
struct l2t_entry *e)
static struct l2t_entry *alloc_l2e(struct l2t_data *d)
struct l2t_entry *end, *e, **p;
void t3_l2e_free(struct l2t_data *d, struct l2t_entry *e)
static inline void reuse_entry(struct l2t_entry *e, struct neighbour *neigh)
struct l2t_entry *t3_l2t_get(struct t3cdev *cdev, struct dst_entry *dst,
struct l2t_entry *e = NULL;
struct l2t_entry *e;
static inline unsigned int vlan_prio(const struct l2t_entry *e)
static inline void neigh_replace(struct l2t_entry *e, struct neighbour *n)
struct l2t_entry *e)
void t3_l2e_free(struct l2t_data *d, struct l2t_entry *e);
struct l2t_entry *t3_l2t_get(struct t3cdev *cdev, struct dst_entry *dst,
struct l2t_entry *e);
struct l2t_entry *e)
static inline void l2t_release(struct t3cdev *t, struct l2t_entry *e)
static inline void l2t_hold(struct l2t_data *d, struct l2t_entry *e)
struct l2t_entry *first; /* start of hash chain */
struct l2t_entry *next; /* next l2t_entry on chain */
struct l2t_entry *rover; /* starting point for next allocation */
struct l2t_entry l2tab[] __counted_by(nentries);
struct l2t_entry *l2t; /* Layer Two Table entry for dmac */
static int addreq(const struct l2t_entry *e, const u32 *addr)
static void neigh_replace(struct l2t_entry *e, struct neighbour *n)
static int write_l2e(struct adapter *adap, struct l2t_entry *e, int sync)
static void send_pending(struct adapter *adap, struct l2t_entry *e)
struct l2t_entry *e = &d->l2tab[l2t_idx - d->l2t_start];
static inline void arpq_enqueue(struct l2t_entry *e, struct sk_buff *skb)
struct l2t_entry *e)
static struct l2t_entry *alloc_l2e(struct l2t_data *d)
struct l2t_entry *end, *e, **p;
static struct l2t_entry *find_or_alloc_l2e(struct l2t_data *d, u16 vlan,
struct l2t_entry *end, *e, **p;
struct l2t_entry *first_free = NULL;
static void _t4_l2e_free(struct l2t_entry *e)
static void t4_l2e_free(struct l2t_entry *e)
void cxgb4_l2t_release(struct l2t_entry *e)
static void reuse_entry(struct l2t_entry *e, struct neighbour *neigh)
struct l2t_entry *cxgb4_l2t_get(struct l2t_data *d, struct neighbour *neigh,
struct l2t_entry *e;
const struct l2t_entry *l2t)
struct l2t_entry *e;
struct l2t_entry *t4_l2t_alloc_switching(struct adapter *adap, u16 vlan,
struct l2t_entry *e;
struct l2t_entry *rover; /* starting point for next allocation */
struct l2t_entry l2tab[] __counted_by(l2t_size); /* MUST BE LAST */
static inline unsigned int vlan_prio(const struct l2t_entry *e)
static char l2e_state(const struct l2t_entry *e)
bool cxgb4_check_l2t_valid(struct l2t_entry *e)
static inline void l2t_hold(struct l2t_data *d, struct l2t_entry *e)
struct l2t_entry *e = v;
void cxgb4_l2t_release(struct l2t_entry *e);
struct l2t_entry *e);
struct l2t_entry *cxgb4_l2t_get(struct l2t_data *d, struct neighbour *neigh,
const struct l2t_entry *l2t);
struct l2t_entry *t4_l2t_alloc_switching(struct adapter *adap, u16 vlan,
bool cxgb4_check_l2t_valid(struct l2t_entry *e);
struct l2t_entry *first; /* start of hash chain */
struct l2t_entry *next; /* next l2t_entry on chain */
struct l2t_entry *l2te;
struct l2t_entry *l2t_entry; /* pointer to the L2T entry */
cxgb4_l2t_send(csk->egress_dev, skb, csk->l2t_entry);
L2T_IDX_V(csk->l2t_entry->idx) |
cxgb4_l2t_send(csk->egress_dev, skb, csk->l2t_entry);
csk->l2t_entry = cxgb4_l2t_get(cdev->lldi->l2t, n, ndev, 0);
if (!csk->l2t_entry)
struct l2t_entry *e = csk->l2t_entry;
if (csk->l2t_entry) {
cxgb4_l2t_release(csk->l2t_entry);
csk->l2t_entry = NULL;
cxgb4_l2t_send(csk->egress_dev, skb, csk->l2t_entry);
const struct l2t_entry *e)
struct l2t_entry *l2t = csk->l2t;
struct l2t_entry *e)
L2T_IDX_V(((struct l2t_entry *)csk->l2t)->idx) |
struct l2t_entry *e)
L2T_IDX_V(((struct l2t_entry *)csk->l2t)->idx) |
u16 vlan = ((struct l2t_entry *)csk->l2t)->vlan;
struct l2t_entry *);
struct l2t_entry *l2t;
struct l2t_entry *);
struct l2t_entry *l2e)
u16 vlan = ((struct l2t_entry *)csk->l2t)->vlan;