Lines Matching refs:lp
47 ldc_rx_ctrl(struct ldc_conn *lc, struct ldc_pkt *lp) in ldc_rx_ctrl() argument
49 switch (lp->ctrl) { in ldc_rx_ctrl()
51 ldc_rx_ctrl_vers(lc, lp); in ldc_rx_ctrl()
55 ldc_rx_ctrl_rts(lc, lp); in ldc_rx_ctrl()
59 ldc_rx_ctrl_rtr(lc, lp); in ldc_rx_ctrl()
63 ldc_rx_ctrl_rdx(lc, lp); in ldc_rx_ctrl()
67 DPRINTF(("CTRL/0x%02x/0x%02x\n", lp->stype, lp->ctrl)); in ldc_rx_ctrl()
74 ldc_rx_ctrl_vers(struct ldc_conn *lc, struct ldc_pkt *lp) in ldc_rx_ctrl_vers() argument
76 switch (lp->stype) { in ldc_rx_ctrl_vers()
78 DPRINTF(("CTRL/INFO/VERS major %d minor %d\n", lp->major, lp->minor)); in ldc_rx_ctrl_vers()
79 if (lp->major == LDC_VERSION_MAJOR && in ldc_rx_ctrl_vers()
80 lp->minor == LDC_VERSION_MINOR) in ldc_rx_ctrl_vers()
92 lc->lc_state, lp->major, lp->minor)); in ldc_rx_ctrl_vers()
105 DPRINTF(("CTRL/0x%02x/VERS\n", lp->stype)); in ldc_rx_ctrl_vers()
112 ldc_rx_ctrl_rts(struct ldc_conn *lc, struct ldc_pkt *lp) in ldc_rx_ctrl_rts() argument
114 switch (lp->stype) { in ldc_rx_ctrl_rts()
137 DPRINTF(("CTRL/0x%02x/RTS\n", lp->stype)); in ldc_rx_ctrl_rts()
144 ldc_rx_ctrl_rtr(struct ldc_conn *lc, struct ldc_pkt *lp) in ldc_rx_ctrl_rtr() argument
146 switch (lp->stype) { in ldc_rx_ctrl_rtr()
170 DPRINTF(("CTRL/0x%02x/RTR\n", lp->stype)); in ldc_rx_ctrl_rtr()
177 ldc_rx_ctrl_rdx(struct ldc_conn *lc, struct ldc_pkt *lp) in ldc_rx_ctrl_rdx() argument
179 switch (lp->stype) { in ldc_rx_ctrl_rdx()
202 DPRINTF(("CTRL/0x%02x/RDX\n", lp->stype)); in ldc_rx_ctrl_rdx()
209 ldc_rx_data(struct ldc_conn *lc, struct ldc_pkt *lp) in ldc_rx_data() argument
213 if (lp->stype != LDC_INFO) { in ldc_rx_data()
214 DPRINTF(("DATA/0x%02x\n", lp->stype)); in ldc_rx_data()
226 if (lp->env & LDC_FRAG_START) { in ldc_rx_data()
227 lc->lc_len = (lp->env & LDC_LEN_MASK) + 8; in ldc_rx_data()
229 memcpy((uint8_t *)lc->lc_msg, lp, lc->lc_len); in ldc_rx_data()
231 len = (lp->env & LDC_LEN_MASK); in ldc_rx_data()
237 memcpy(((uint8_t *)lc->lc_msg) + lc->lc_len, &lp->major, len); in ldc_rx_data()
241 if (lp->env & LDC_FRAG_STOP) in ldc_rx_data()
248 struct ldc_pkt *lp; in ldc_send_vers() local
259 lp = (struct ldc_pkt *)(uintptr_t)(lc->lc_txq->lq_va + tx_tail); in ldc_send_vers()
260 bzero(lp, sizeof(struct ldc_pkt)); in ldc_send_vers()
261 lp->type = LDC_CTRL; in ldc_send_vers()
262 lp->stype = LDC_INFO; in ldc_send_vers()
263 lp->ctrl = LDC_VERS; in ldc_send_vers()
264 lp->major = 1; in ldc_send_vers()
265 lp->minor = 0; in ldc_send_vers()
266 DPRINTF(("ldc_send_vers() major %d minor %d\n", lp->major, lp->minor)); in ldc_send_vers()
268 tx_tail += sizeof(*lp); in ldc_send_vers()
269 tx_tail &= ((lc->lc_txq->lq_nentries * sizeof(*lp)) - 1); in ldc_send_vers()
285 struct ldc_pkt *lp; in ldc_send_ack() local
296 lp = (struct ldc_pkt *)(uintptr_t)(lc->lc_txq->lq_va + tx_tail); in ldc_send_ack()
297 bzero(lp, sizeof(struct ldc_pkt)); in ldc_send_ack()
298 lp->type = LDC_CTRL; in ldc_send_ack()
299 lp->stype = LDC_ACK; in ldc_send_ack()
300 lp->ctrl = LDC_VERS; in ldc_send_ack()
301 lp->major = 1; in ldc_send_ack()
302 lp->minor = 0; in ldc_send_ack()
304 tx_tail += sizeof(*lp); in ldc_send_ack()
305 tx_tail &= ((lc->lc_txq->lq_nentries * sizeof(*lp)) - 1); in ldc_send_ack()
321 struct ldc_pkt *lp; in ldc_send_rts() local
332 lp = (struct ldc_pkt *)(uintptr_t)(lc->lc_txq->lq_va + tx_tail); in ldc_send_rts()
333 bzero(lp, sizeof(struct ldc_pkt)); in ldc_send_rts()
334 lp->type = LDC_CTRL; in ldc_send_rts()
335 lp->stype = LDC_INFO; in ldc_send_rts()
336 lp->ctrl = LDC_RTS; in ldc_send_rts()
337 lp->env = LDC_MODE_UNRELIABLE; in ldc_send_rts()
338 lp->seqid = lc->lc_tx_seqid++; in ldc_send_rts()
340 tx_tail += sizeof(*lp); in ldc_send_rts()
341 tx_tail &= ((lc->lc_txq->lq_nentries * sizeof(*lp)) - 1); in ldc_send_rts()
357 struct ldc_pkt *lp; in ldc_send_rtr() local
368 lp = (struct ldc_pkt *)(uintptr_t)(lc->lc_txq->lq_va + tx_tail); in ldc_send_rtr()
369 bzero(lp, sizeof(struct ldc_pkt)); in ldc_send_rtr()
370 lp->type = LDC_CTRL; in ldc_send_rtr()
371 lp->stype = LDC_INFO; in ldc_send_rtr()
372 lp->ctrl = LDC_RTR; in ldc_send_rtr()
373 lp->env = LDC_MODE_UNRELIABLE; in ldc_send_rtr()
374 lp->seqid = lc->lc_tx_seqid++; in ldc_send_rtr()
376 tx_tail += sizeof(*lp); in ldc_send_rtr()
377 tx_tail &= ((lc->lc_txq->lq_nentries * sizeof(*lp)) - 1); in ldc_send_rtr()
393 struct ldc_pkt *lp; in ldc_send_rdx() local
404 lp = (struct ldc_pkt *)(uintptr_t)(lc->lc_txq->lq_va + tx_tail); in ldc_send_rdx()
405 bzero(lp, sizeof(struct ldc_pkt)); in ldc_send_rdx()
406 lp->type = LDC_CTRL; in ldc_send_rdx()
407 lp->stype = LDC_INFO; in ldc_send_rdx()
408 lp->ctrl = LDC_RDX; in ldc_send_rdx()
409 lp->env = LDC_MODE_UNRELIABLE; in ldc_send_rdx()
410 lp->seqid = lc->lc_tx_seqid++; in ldc_send_rdx()
412 tx_tail += sizeof(*lp); in ldc_send_rdx()
413 tx_tail &= ((lc->lc_txq->lq_nentries * sizeof(*lp)) - 1); in ldc_send_rdx()
429 struct ldc_pkt *lp; in ldc_send_unreliable() local
442 tx_avail = (tx_head - tx_tail) / sizeof(*lp) + in ldc_send_unreliable()
451 lp = (struct ldc_pkt *)(uintptr_t)(lc->lc_txq->lq_va + tx_tail); in ldc_send_unreliable()
452 bzero(lp, sizeof(struct ldc_pkt)); in ldc_send_unreliable()
453 lp->type = LDC_DATA; in ldc_send_unreliable()
454 lp->stype = LDC_INFO; in ldc_send_unreliable()
455 lp->env = uimin(len, LDC_PKT_PAYLOAD); in ldc_send_unreliable()
457 lp->env |= LDC_FRAG_START; in ldc_send_unreliable()
459 lp->env |= LDC_FRAG_STOP; in ldc_send_unreliable()
460 lp->seqid = lc->lc_tx_seqid++; in ldc_send_unreliable()
461 bcopy(p, &lp->major, uimin(len, LDC_PKT_PAYLOAD)); in ldc_send_unreliable()
463 tx_tail += sizeof(*lp); in ldc_send_unreliable()
464 tx_tail &= ((lc->lc_txq->lq_nentries * sizeof(*lp)) - 1); in ldc_send_unreliable()