/linux-6.6.21/drivers/infiniband/sw/rxe/ |
D | rxe_qp.c | 103 static int alloc_rd_atomic_resources(struct rxe_qp *qp, unsigned int n) in alloc_rd_atomic_resources() argument 105 qp->resp.res_head = 0; in alloc_rd_atomic_resources() 106 qp->resp.res_tail = 0; in alloc_rd_atomic_resources() 107 qp->resp.resources = kcalloc(n, sizeof(struct resp_res), GFP_KERNEL); in alloc_rd_atomic_resources() 109 if (!qp->resp.resources) in alloc_rd_atomic_resources() 115 static void free_rd_atomic_resources(struct rxe_qp *qp) in free_rd_atomic_resources() argument 117 if (qp->resp.resources) { in free_rd_atomic_resources() 120 for (i = 0; i < qp->attr.max_dest_rd_atomic; i++) { in free_rd_atomic_resources() 121 struct resp_res *res = &qp->resp.resources[i]; in free_rd_atomic_resources() 125 kfree(qp->resp.resources); in free_rd_atomic_resources() [all …]
|
D | rxe_comp.c | 117 struct rxe_qp *qp = from_timer(qp, t, retrans_timer); in retransmit_timer() local 120 rxe_dbg_qp(qp, "retransmit timer fired\n"); in retransmit_timer() 122 spin_lock_irqsave(&qp->state_lock, flags); in retransmit_timer() 123 if (qp->valid) { in retransmit_timer() 124 qp->comp.timeout = 1; in retransmit_timer() 125 rxe_sched_task(&qp->comp.task); in retransmit_timer() 127 spin_unlock_irqrestore(&qp->state_lock, flags); in retransmit_timer() 130 void rxe_comp_queue_pkt(struct rxe_qp *qp, struct sk_buff *skb) in rxe_comp_queue_pkt() argument 134 skb_queue_tail(&qp->resp_pkts, skb); in rxe_comp_queue_pkt() 136 must_sched = skb_queue_len(&qp->resp_pkts) > 1; in rxe_comp_queue_pkt() [all …]
|
D | rxe_resp.c | 50 void rxe_resp_queue_pkt(struct rxe_qp *qp, struct sk_buff *skb) in rxe_resp_queue_pkt() argument 55 skb_queue_tail(&qp->req_pkts, skb); in rxe_resp_queue_pkt() 58 (skb_queue_len(&qp->req_pkts) > 1); in rxe_resp_queue_pkt() 61 rxe_sched_task(&qp->resp.task); in rxe_resp_queue_pkt() 63 rxe_run_task(&qp->resp.task); in rxe_resp_queue_pkt() 66 static inline enum resp_states get_req(struct rxe_qp *qp, in get_req() argument 71 skb = skb_peek(&qp->req_pkts); in get_req() 77 return (qp->resp.res) ? RESPST_READ_REPLY : RESPST_CHK_PSN; in get_req() 80 static enum resp_states check_psn(struct rxe_qp *qp, in check_psn() argument 83 int diff = psn_compare(pkt->psn, qp->resp.psn); in check_psn() [all …]
|
D | rxe_req.c | 14 static int next_opcode(struct rxe_qp *qp, struct rxe_send_wqe *wqe, 17 static inline void retry_first_write_send(struct rxe_qp *qp, in retry_first_write_send() argument 23 int to_send = (wqe->dma.resid > qp->mtu) ? in retry_first_write_send() 24 qp->mtu : wqe->dma.resid; in retry_first_write_send() 26 qp->req.opcode = next_opcode(qp, wqe, in retry_first_write_send() 38 static void req_retry(struct rxe_qp *qp) in req_retry() argument 45 struct rxe_queue *q = qp->sq.queue; in req_retry() 52 qp->req.wqe_index = cons; in req_retry() 53 qp->req.psn = qp->comp.psn; in req_retry() 54 qp->req.opcode = -1; in req_retry() [all …]
|
/linux-6.6.21/drivers/infiniband/hw/qib/ |
D | qib_rc.c | 62 static int qib_make_rc_ack(struct qib_ibdev *dev, struct rvt_qp *qp, in qib_make_rc_ack() argument 72 if (!(ib_rvt_state_ops[qp->state] & RVT_PROCESS_RECV_OK)) in qib_make_rc_ack() 78 switch (qp->s_ack_state) { in qib_make_rc_ack() 81 e = &qp->s_ack_queue[qp->s_tail_ack_queue]; in qib_make_rc_ack() 93 if (++qp->s_tail_ack_queue > QIB_MAX_RDMA_ATOMIC) in qib_make_rc_ack() 94 qp->s_tail_ack_queue = 0; in qib_make_rc_ack() 99 if (qp->r_head_ack_queue == qp->s_tail_ack_queue) { in qib_make_rc_ack() 100 if (qp->s_flags & RVT_S_ACK_PENDING) in qib_make_rc_ack() 105 e = &qp->s_ack_queue[qp->s_tail_ack_queue]; in qib_make_rc_ack() 115 qp->s_tail_ack_queue = qp->r_head_ack_queue; in qib_make_rc_ack() [all …]
|
D | qib_uc.c | 49 int qib_make_uc_req(struct rvt_qp *qp, unsigned long *flags) in qib_make_uc_req() argument 51 struct qib_qp_priv *priv = qp->priv; in qib_make_uc_req() 57 u32 pmtu = qp->pmtu; in qib_make_uc_req() 60 if (!(ib_rvt_state_ops[qp->state] & RVT_PROCESS_SEND_OK)) { in qib_make_uc_req() 61 if (!(ib_rvt_state_ops[qp->state] & RVT_FLUSH_SEND)) in qib_make_uc_req() 64 if (qp->s_last == READ_ONCE(qp->s_head)) in qib_make_uc_req() 68 qp->s_flags |= RVT_S_WAIT_DMA; in qib_make_uc_req() 71 wqe = rvt_get_swqe_ptr(qp, qp->s_last); in qib_make_uc_req() 72 rvt_send_complete(qp, wqe, IB_WC_WR_FLUSH_ERR); in qib_make_uc_req() 77 if (rdma_ah_get_ah_flags(&qp->remote_ah_attr) & IB_AH_GRH) in qib_make_uc_req() [all …]
|
D | qib_ruc.c | 44 void qib_migrate_qp(struct rvt_qp *qp) in qib_migrate_qp() argument 48 qp->s_mig_state = IB_MIG_MIGRATED; in qib_migrate_qp() 49 qp->remote_ah_attr = qp->alt_ah_attr; in qib_migrate_qp() 50 qp->port_num = rdma_ah_get_port_num(&qp->alt_ah_attr); in qib_migrate_qp() 51 qp->s_pkey_index = qp->s_alt_pkey_index; in qib_migrate_qp() 53 ev.device = qp->ibqp.device; in qib_migrate_qp() 54 ev.element.qp = &qp->ibqp; in qib_migrate_qp() 56 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context); in qib_migrate_qp() 83 int has_grh, struct rvt_qp *qp, u32 bth0) in qib_ruc_check_hdr() argument 88 if (qp->s_mig_state == IB_MIG_ARMED && (bth0 & IB_BTH_MIG_REQ)) { in qib_ruc_check_hdr() [all …]
|
D | qib_ud.c | 57 struct rvt_qp *qp; in qib_ud_loopback() local 67 qp = rvt_lookup_qpn(rdi, &ibp->rvp, rvt_get_swqe_remote_qpn(swqe)); in qib_ud_loopback() 68 if (!qp) { in qib_ud_loopback() 75 dqptype = qp->ibqp.qp_type == IB_QPT_GSI ? in qib_ud_loopback() 76 IB_QPT_UD : qp->ibqp.qp_type; in qib_ud_loopback() 79 !(ib_rvt_state_ops[qp->state] & RVT_PROCESS_RECV_OK)) { in qib_ud_loopback() 87 if (qp->ibqp.qp_num > 1) { in qib_ud_loopback() 93 pkey2 = qib_get_pkey(ibp, qp->s_pkey_index); in qib_ud_loopback() 99 sqp->ibqp.qp_num, qp->ibqp.qp_num, in qib_ud_loopback() 111 if (qp->ibqp.qp_num) { in qib_ud_loopback() [all …]
|
/linux-6.6.21/drivers/infiniband/hw/hfi1/ |
D | rc.c | 16 struct rvt_ack_entry *find_prev_entry(struct rvt_qp *qp, u32 psn, u8 *prev, in find_prev_entry() argument 18 __must_hold(&qp->s_lock) in find_prev_entry() 24 for (i = qp->r_head_ack_queue; ; i = p) { in find_prev_entry() 25 if (i == qp->s_tail_ack_queue) in find_prev_entry() 30 p = rvt_size_atomic(ib_to_rvt(qp->ibqp.device)); in find_prev_entry() 31 if (p == qp->r_head_ack_queue) { in find_prev_entry() 35 e = &qp->s_ack_queue[p]; in find_prev_entry() 41 if (p == qp->s_tail_ack_queue && in find_prev_entry() 67 static int make_rc_ack(struct hfi1_ibdev *dev, struct rvt_qp *qp, in make_rc_ack() argument 75 u32 bth1 = qp->remote_qpn | (HFI1_CAP_IS_KSET(OPFN) << IB_BTHE_E_SHIFT); in make_rc_ack() [all …]
|
D | qp.c | 24 static void flush_tx_list(struct rvt_qp *qp); 33 static void qp_pio_drain(struct rvt_qp *qp); 122 static void flush_tx_list(struct rvt_qp *qp) in flush_tx_list() argument 124 struct hfi1_qp_priv *priv = qp->priv; in flush_tx_list() 130 static void flush_iowait(struct rvt_qp *qp) in flush_iowait() argument 132 struct hfi1_qp_priv *priv = qp->priv; in flush_iowait() 142 rvt_put_qp(qp); in flush_iowait() 160 int hfi1_check_modify_qp(struct rvt_qp *qp, struct ib_qp_attr *attr, in hfi1_check_modify_qp() argument 163 struct ib_qp *ibqp = &qp->ibqp; in hfi1_check_modify_qp() 173 if (!qp_to_sdma_engine(qp, sc) && in hfi1_check_modify_qp() [all …]
|
D | uc.c | 22 int hfi1_make_uc_req(struct rvt_qp *qp, struct hfi1_pkt_state *ps) in hfi1_make_uc_req() argument 24 struct hfi1_qp_priv *priv = qp->priv; in hfi1_make_uc_req() 30 u32 pmtu = qp->pmtu; in hfi1_make_uc_req() 33 ps->s_txreq = get_txreq(ps->dev, qp); in hfi1_make_uc_req() 37 if (!(ib_rvt_state_ops[qp->state] & RVT_PROCESS_SEND_OK)) { in hfi1_make_uc_req() 38 if (!(ib_rvt_state_ops[qp->state] & RVT_FLUSH_SEND)) in hfi1_make_uc_req() 41 if (qp->s_last == READ_ONCE(qp->s_head)) in hfi1_make_uc_req() 45 qp->s_flags |= RVT_S_WAIT_DMA; in hfi1_make_uc_req() 48 clear_ahg(qp); in hfi1_make_uc_req() 49 wqe = rvt_get_swqe_ptr(qp, qp->s_last); in hfi1_make_uc_req() [all …]
|
D | ruc.c | 31 struct rvt_qp *qp = packet->qp; in hfi1_ruc_check_hdr() local 32 u8 sc5 = ibp->sl_to_sc[rdma_ah_get_sl(&qp->remote_ah_attr)]; in hfi1_ruc_check_hdr() 39 if (qp->s_mig_state == IB_MIG_ARMED && migrated) { in hfi1_ruc_check_hdr() 41 if ((rdma_ah_get_ah_flags(&qp->alt_ah_attr) & in hfi1_ruc_check_hdr() 48 if (!(rdma_ah_get_ah_flags(&qp->alt_ah_attr) & in hfi1_ruc_check_hdr() 51 grh = rdma_ah_read_grh(&qp->alt_ah_attr); in hfi1_ruc_check_hdr() 64 hfi1_bad_pkey(ibp, pkey, sl, 0, qp->ibqp.qp_num, in hfi1_ruc_check_hdr() 69 if (slid != rdma_ah_get_dlid(&qp->alt_ah_attr) || in hfi1_ruc_check_hdr() 71 rdma_ah_get_port_num(&qp->alt_ah_attr)) in hfi1_ruc_check_hdr() 73 spin_lock_irqsave(&qp->s_lock, flags); in hfi1_ruc_check_hdr() [all …]
|
D | tid_rdma.c | 114 static void hfi1_init_trdma_req(struct rvt_qp *qp, 116 static void hfi1_tid_write_alloc_resources(struct rvt_qp *qp, bool intr_ctx); 118 static void hfi1_add_tid_reap_timer(struct rvt_qp *qp); 119 static void hfi1_mod_tid_reap_timer(struct rvt_qp *qp); 120 static void hfi1_mod_tid_retry_timer(struct rvt_qp *qp); 121 static int hfi1_stop_tid_retry_timer(struct rvt_qp *qp); 123 static int make_tid_rdma_ack(struct rvt_qp *qp, 126 static void hfi1_do_tid_send(struct rvt_qp *qp); 130 struct rvt_qp *qp, u32 psn, int diff, bool fecn); 143 static void tid_rdma_schedule_ack(struct rvt_qp *qp) in tid_rdma_schedule_ack() argument [all …]
|
D | trace_tid.h | 195 TP_PROTO(struct rvt_qp *qp), 196 TP_ARGS(qp), 198 DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device)) 205 struct hfi1_qp_priv *priv = qp->priv; 207 DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device)); 208 __entry->qpn = qp->ibqp.qp_num; 225 TP_PROTO(struct rvt_qp *qp), 226 TP_ARGS(qp) 231 TP_PROTO(struct rvt_qp *qp), 232 TP_ARGS(qp) [all …]
|
D | qp.h | 49 static inline int hfi1_send_ok(struct rvt_qp *qp) in hfi1_send_ok() argument 51 struct hfi1_qp_priv *priv = qp->priv; in hfi1_send_ok() 53 return !(qp->s_flags & (RVT_S_BUSY | HFI1_S_ANY_WAIT_IO)) && in hfi1_send_ok() 55 (qp->s_flags & RVT_S_RESP_PENDING) || in hfi1_send_ok() 56 !(qp->s_flags & RVT_S_ANY_WAIT_SEND)); in hfi1_send_ok() 62 static inline void clear_ahg(struct rvt_qp *qp) in clear_ahg() argument 64 struct hfi1_qp_priv *priv = qp->priv; in clear_ahg() 67 qp->s_flags &= ~(HFI1_S_AHG_VALID | HFI1_S_AHG_CLEAR); in clear_ahg() 68 if (priv->s_sde && qp->s_ahgidx >= 0) in clear_ahg() 69 sdma_ahg_free(priv->s_sde, qp->s_ahgidx); in clear_ahg() [all …]
|
/linux-6.6.21/drivers/infiniband/sw/rdmavt/ |
D | qp.c | 22 static void rvt_reset_qp(struct rvt_dev_info *rdi, struct rvt_qp *qp, 423 static void rvt_free_qp_cb(struct rvt_qp *qp, u64 v) in rvt_free_qp_cb() argument 426 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_free_qp_cb() 429 rvt_reset_qp(rdi, qp, qp->ibqp.qp_type); in rvt_free_qp_cb() 579 static void rvt_clear_mr_refs(struct rvt_qp *qp, int clr_sends) in rvt_clear_mr_refs() argument 582 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_clear_mr_refs() 584 if (test_and_clear_bit(RVT_R_REWIND_SGE, &qp->r_aflags)) in rvt_clear_mr_refs() 585 rvt_put_ss(&qp->s_rdma_read_sge); in rvt_clear_mr_refs() 587 rvt_put_ss(&qp->r_sge); in rvt_clear_mr_refs() 590 while (qp->s_last != qp->s_head) { in rvt_clear_mr_refs() [all …]
|
/linux-6.6.21/drivers/ntb/ |
D | ntb_transport.c | 120 struct ntb_transport_qp *qp; member 148 void (*tx_handler)(struct ntb_transport_qp *qp, void *qp_data, 160 void (*rx_handler)(struct ntb_transport_qp *qp, void *qp_data, 272 #define QP_TO_MW(nt, qp) ((qp) % nt->mw_count) argument 279 static int ntb_async_tx_submit(struct ntb_transport_qp *qp, 466 struct ntb_transport_qp *qp; in debugfs_read() local 470 qp = filp->private_data; in debugfs_read() 472 if (!qp || !qp->link_is_up) in debugfs_read() 485 "rx_bytes - \t%llu\n", qp->rx_bytes); in debugfs_read() 487 "rx_pkts - \t%llu\n", qp->rx_pkts); in debugfs_read() [all …]
|
/linux-6.6.21/drivers/infiniband/sw/siw/ |
D | siw_qp.c | 96 struct siw_qp *qp; in siw_qp_llp_data_ready() local 105 qp = sk_to_qp(sk); in siw_qp_llp_data_ready() 107 if (likely(!qp->rx_stream.rx_suspend && in siw_qp_llp_data_ready() 108 down_read_trylock(&qp->state_lock))) { in siw_qp_llp_data_ready() 109 read_descriptor_t rd_desc = { .arg.data = qp, .count = 1 }; in siw_qp_llp_data_ready() 111 if (likely(qp->attrs.state == SIW_QP_STATE_RTS)) in siw_qp_llp_data_ready() 120 up_read(&qp->state_lock); in siw_qp_llp_data_ready() 122 siw_dbg_qp(qp, "unable to process RX, suspend: %d\n", in siw_qp_llp_data_ready() 123 qp->rx_stream.rx_suspend); in siw_qp_llp_data_ready() 129 void siw_qp_llp_close(struct siw_qp *qp) in siw_qp_llp_close() argument [all …]
|
/linux-6.6.21/drivers/infiniband/hw/mthca/ |
D | mthca_qp.c | 196 static int is_sqp(struct mthca_dev *dev, struct mthca_qp *qp) in is_sqp() argument 198 return qp->qpn >= dev->qp_table.sqp_start && in is_sqp() 199 qp->qpn <= dev->qp_table.sqp_start + 3; in is_sqp() 202 static int is_qp0(struct mthca_dev *dev, struct mthca_qp *qp) in is_qp0() argument 204 return qp->qpn >= dev->qp_table.sqp_start && in is_qp0() 205 qp->qpn <= dev->qp_table.sqp_start + 1; in is_qp0() 208 static void *get_recv_wqe(struct mthca_qp *qp, int n) in get_recv_wqe() argument 210 if (qp->is_direct) in get_recv_wqe() 211 return qp->queue.direct.buf + (n << qp->rq.wqe_shift); in get_recv_wqe() 213 return qp->queue.page_list[(n << qp->rq.wqe_shift) >> PAGE_SHIFT].buf + in get_recv_wqe() [all …]
|
/linux-6.6.21/drivers/net/ethernet/qlogic/qed/ |
D | qed_roce.c | 96 static void qed_rdma_copy_gids(struct qed_rdma_qp *qp, __le32 *src_gid, in qed_rdma_copy_gids() argument 101 if (qp->roce_mode == ROCE_V2_IPV4) { in qed_rdma_copy_gids() 107 src_gid[3] = cpu_to_le32(qp->sgid.ipv4_addr); in qed_rdma_copy_gids() 108 dst_gid[3] = cpu_to_le32(qp->dgid.ipv4_addr); in qed_rdma_copy_gids() 111 for (i = 0; i < ARRAY_SIZE(qp->sgid.dwords); i++) { in qed_rdma_copy_gids() 112 src_gid[i] = cpu_to_le32(qp->sgid.dwords[i]); in qed_rdma_copy_gids() 113 dst_gid[i] = cpu_to_le32(qp->dgid.dwords[i]); in qed_rdma_copy_gids() 206 static u8 qed_roce_get_qp_tc(struct qed_hwfn *p_hwfn, struct qed_rdma_qp *qp) in qed_roce_get_qp_tc() argument 210 if (qp->vlan_id) { in qed_roce_get_qp_tc() 211 pri = (qp->vlan_id & VLAN_PRIO_MASK) >> VLAN_PRIO_SHIFT; in qed_roce_get_qp_tc() [all …]
|
/linux-6.6.21/drivers/infiniband/hw/mlx4/ |
D | qp.c | 107 struct mlx4_qp *qp; member 113 static int is_tunnel_qp(struct mlx4_ib_dev *dev, struct mlx4_ib_qp *qp) in is_tunnel_qp() argument 118 return qp->mqp.qpn >= dev->dev->phys_caps.base_tunnel_sqpn && in is_tunnel_qp() 119 qp->mqp.qpn < dev->dev->phys_caps.base_tunnel_sqpn + in is_tunnel_qp() 123 static int is_sqp(struct mlx4_ib_dev *dev, struct mlx4_ib_qp *qp) in is_sqp() argument 130 qp->mqp.qpn >= dev->dev->phys_caps.base_sqpn && in is_sqp() 131 qp->mqp.qpn <= dev->dev->phys_caps.base_sqpn + 3); in is_sqp() 137 if (qp->mqp.qpn == dev->dev->caps.spec_qps[i].qp0_proxy || in is_sqp() 138 qp->mqp.qpn == dev->dev->caps.spec_qps[i].qp1_proxy) { in is_sqp() 147 return !!(qp->flags & MLX4_IB_ROCE_V2_GSI_QP); in is_sqp() [all …]
|
/linux-6.6.21/drivers/infiniband/hw/erdma/ |
D | erdma_qp.c | 12 void erdma_qp_llp_close(struct erdma_qp *qp) in erdma_qp_llp_close() argument 16 down_write(&qp->state_lock); in erdma_qp_llp_close() 18 switch (qp->attrs.state) { in erdma_qp_llp_close() 24 erdma_modify_qp_internal(qp, &qp_attrs, ERDMA_QP_ATTR_STATE); in erdma_qp_llp_close() 27 qp->attrs.state = ERDMA_QP_STATE_IDLE; in erdma_qp_llp_close() 33 if (qp->cep) { in erdma_qp_llp_close() 34 erdma_cep_put(qp->cep); in erdma_qp_llp_close() 35 qp->cep = NULL; in erdma_qp_llp_close() 38 up_write(&qp->state_lock); in erdma_qp_llp_close() 43 struct erdma_qp *qp = find_qp_by_qpn(to_edev(ibdev), id); in erdma_get_ibqp() local [all …]
|
/linux-6.6.21/drivers/infiniband/hw/vmw_pvrdma/ |
D | pvrdma_qp.c | 56 struct pvrdma_qp *qp); 58 static inline void get_cqs(struct pvrdma_qp *qp, struct pvrdma_cq **send_cq, in get_cqs() argument 61 *send_cq = to_vcq(qp->ibqp.send_cq); in get_cqs() 62 *recv_cq = to_vcq(qp->ibqp.recv_cq); in get_cqs() 101 static void pvrdma_reset_qp(struct pvrdma_qp *qp) in pvrdma_reset_qp() argument 107 get_cqs(qp, &scq, &rcq); in pvrdma_reset_qp() 110 _pvrdma_flush_cqe(qp, scq); in pvrdma_reset_qp() 112 _pvrdma_flush_cqe(qp, rcq); in pvrdma_reset_qp() 120 if (qp->rq.ring) { in pvrdma_reset_qp() 121 atomic_set(&qp->rq.ring->cons_head, 0); in pvrdma_reset_qp() [all …]
|
/linux-6.6.21/drivers/infiniband/hw/irdma/ |
D | uk.c | 58 static int irdma_nop_1(struct irdma_qp_uk *qp) in irdma_nop_1() argument 65 if (!qp->sq_ring.head) in irdma_nop_1() 68 wqe_idx = IRDMA_RING_CURRENT_HEAD(qp->sq_ring); in irdma_nop_1() 69 wqe = qp->sq_base[wqe_idx].elem; in irdma_nop_1() 71 qp->sq_wrtrk_array[wqe_idx].quanta = IRDMA_QP_WQE_MIN_QUANTA; in irdma_nop_1() 79 FIELD_PREP(IRDMAQPSQ_VALID, qp->swqe_polarity); in irdma_nop_1() 94 void irdma_clr_wqes(struct irdma_qp_uk *qp, u32 qp_wqe_idx) in irdma_clr_wqes() argument 100 wqe_idx = (qp_wqe_idx + 128) % qp->sq_ring.size; in irdma_clr_wqes() 101 sq = qp->sq_base + wqe_idx; in irdma_clr_wqes() 103 memset(sq, qp->swqe_polarity ? 0 : 0xFF, in irdma_clr_wqes() [all …]
|
/linux-6.6.21/net/ipv4/ |
D | ip_fragment.c | 78 static int ip_frag_reasm(struct ipq *qp, struct sk_buff *skb, 84 struct ipq *qp = container_of(q, struct ipq, q); in ip4_frag_init() local 90 qp->ecn = 0; in ip4_frag_init() 91 qp->peer = q->fqdir->max_dist ? in ip4_frag_init() 98 struct ipq *qp; in ip4_frag_free() local 100 qp = container_of(q, struct ipq, q); in ip4_frag_free() 101 if (qp->peer) in ip4_frag_free() 102 inet_putpeer(qp->peer); in ip4_frag_free() 139 struct ipq *qp; in ip_expire() local 142 qp = container_of(frag, struct ipq, q); in ip_expire() [all …]
|