Ejemplo n.º 1
0
void
t4_init_connect_cpl_handlers(struct adapter *sc)
{

	t4_register_cpl_handler(sc, CPL_ACT_ESTABLISH, do_act_establish);
	t4_register_cpl_handler(sc, CPL_ACT_OPEN_RPL, do_act_open_rpl);
}
Ejemplo n.º 2
0
void
t4_init_connect_cpl_handlers(void)
{

	t4_register_cpl_handler(CPL_ACT_ESTABLISH, do_act_establish);
	t4_register_cpl_handler(CPL_ACT_OPEN_RPL, do_act_open_rpl);
}
Ejemplo n.º 3
0
void
t4_uninit_connect_cpl_handlers(void)
{

	t4_register_cpl_handler(CPL_ACT_ESTABLISH, NULL);
	t4_register_cpl_handler(CPL_ACT_OPEN_RPL, NULL);
}
Ejemplo n.º 4
0
static void
t4_unregister_cpl_handler_with_tom(struct adapter *sc)
{

	t4_register_cpl_handler(sc, CPL_ISCSI_HDR, NULL);
	t4_register_cpl_handler(sc, CPL_ISCSI_DATA, NULL);
	t4_register_cpl_handler(sc, CPL_RX_ISCSI_DDP, NULL);
}
Ejemplo n.º 5
0
static void
t4_register_cpl_handler_with_tom(struct adapter *sc)
{

	t4_register_cpl_handler(sc, CPL_ISCSI_HDR, do_rx_iscsi_hdr);
	t4_register_cpl_handler(sc, CPL_ISCSI_DATA, do_rx_iscsi_data);
	t4_register_cpl_handler(sc, CPL_RX_ISCSI_DDP, do_rx_iscsi_ddp);
}
Ejemplo n.º 6
0
void
t4_init_ddp(struct adapter *sc, struct tom_data *td)
{

	td->ppod_start = sc->vres.ddp.start;
	td->ppod_arena = vmem_create("DDP page pods", sc->vres.ddp.start,
	    sc->vres.ddp.size, 1, 32, M_FIRSTFIT | M_NOWAIT);

	t4_register_cpl_handler(sc, CPL_RX_DATA_DDP, do_rx_data_ddp);
	t4_register_cpl_handler(sc, CPL_RX_DDP_COMPLETE, do_rx_ddp_complete);
}
Ejemplo n.º 7
0
int
t4_init_l2t(struct adapter *sc, int flags)
{
	int i, l2t_size;
	struct l2t_data *d;

	l2t_size = sc->vres.l2t.size;
	if (l2t_size < 2)	/* At least 1 bucket for IP and 1 for IPv6 */
		return (EINVAL);

	d = malloc(sizeof(*d) + l2t_size * sizeof (struct l2t_entry), M_CXGBE,
	    M_ZERO | flags);
	if (!d)
		return (ENOMEM);

	d->l2t_size = l2t_size;
	d->rover = d->l2tab;
	atomic_store_rel_int(&d->nfree, l2t_size);
	rw_init(&d->lock, "L2T");

	for (i = 0; i < l2t_size; i++) {
		struct l2t_entry *e = &d->l2tab[i];

		e->idx = i;
		e->state = L2T_STATE_UNUSED;
		mtx_init(&e->lock, "L2T_E", NULL, MTX_DEF);
		STAILQ_INIT(&e->wr_list);
		atomic_store_rel_int(&e->refcnt, 0);
	}

	sc->l2t = d;
	t4_register_cpl_handler(sc, CPL_L2T_WRITE_RPL, do_l2t_write_rpl);

	return (0);
}
Ejemplo n.º 8
0
void
t4_uninit_connect_cpl_handlers(void)
{

	t4_register_cpl_handler(CPL_ACT_ESTABLISH, NULL);
	t4_register_shared_cpl_handler(CPL_ACT_OPEN_RPL, NULL, CPL_COOKIE_TOM);
}
Ejemplo n.º 9
0
void
t4_init_cpl_io_handlers(struct adapter *sc)
{

	t4_register_cpl_handler(sc, CPL_PEER_CLOSE, do_peer_close);
	t4_register_cpl_handler(sc, CPL_CLOSE_CON_RPL, do_close_con_rpl);
	t4_register_cpl_handler(sc, CPL_ABORT_REQ_RSS, do_abort_req);
	t4_register_cpl_handler(sc, CPL_ABORT_RPL_RSS, do_abort_rpl);
	t4_register_cpl_handler(sc, CPL_RX_DATA, do_rx_data);
	t4_register_cpl_handler(sc, CPL_FW4_ACK, do_fw4_ack);
	t4_register_cpl_handler(sc, CPL_SET_TCB_RPL, do_set_tcb_rpl);
}
Ejemplo n.º 10
0
void
t4_uninit_cpl_io_handlers(void)
{

	t4_register_cpl_handler(CPL_PEER_CLOSE, do_peer_close);
	t4_register_cpl_handler(CPL_CLOSE_CON_RPL, do_close_con_rpl);
	t4_register_cpl_handler(CPL_ABORT_REQ_RSS, do_abort_req);
	t4_register_cpl_handler(CPL_ABORT_RPL_RSS, do_abort_rpl);
	t4_register_cpl_handler(CPL_RX_DATA, do_rx_data);
	t4_register_cpl_handler(CPL_FW4_ACK, do_fw4_ack);
}
Ejemplo n.º 11
0
void
t4_uninit_l2t_cpl_handlers(struct adapter *sc)
{

	t4_register_cpl_handler(sc, CPL_L2T_WRITE_RPL, do_l2t_write_rpl);
}
Ejemplo n.º 12
0
void
t4_uninit_cpl_io_handlers(struct adapter *sc)
{

	t4_register_cpl_handler(sc, CPL_SET_TCB_RPL, t4_filter_rpl);
}