• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/dev/hyperv/netvsc/

Lines Matching refs:pkt

2907 hn_rndis_pktinfo_append(struct rndis_packet_msg *pkt, size_t pktsize,
2923 KASSERT(pkt->rm_pktinfooffset + pkt->rm_pktinfolen + pi_size <= pktsize,
2925 pi = (struct rndis_pktinfo *)((uint8_t *)pkt + pkt->rm_pktinfooffset +
2926 pkt->rm_pktinfolen);
2927 pkt->rm_pktinfolen += pi_size;
2987 struct rndis_packet_msg *pkt = txr->hn_agg_prevpkt;
3000 olen = pkt->rm_len;
3001 pkt->rm_len = roundup2(olen, txr->hn_agg_align);
3002 agg_txd->chim_size += pkt->rm_len - olen;
3007 chim = (uint8_t *)pkt + pkt->rm_len;
3058 struct rndis_packet_msg *pkt;
3063 pkt = txd->rndis_pkt;
3068 pkt = chim;
3074 pkt->rm_type = REMOTE_NDIS_PACKET_MSG;
3075 pkt->rm_len = m_head->m_pkthdr.len;
3076 pkt->rm_dataoffset = 0;
3077 pkt->rm_datalen = m_head->m_pkthdr.len;
3078 pkt->rm_oobdataoffset = 0;
3079 pkt->rm_oobdatalen = 0;
3080 pkt->rm_oobdataelements = 0;
3081 pkt->rm_pktinfooffset = sizeof(*pkt);
3082 pkt->rm_pktinfolen = 0;
3083 pkt->rm_vchandle = 0;
3084 pkt->rm_reserved = 0;
3090 pi_data = hn_rndis_pktinfo_append(pkt, HN_RNDIS_PKT_LEN,
3096 * set in the rx queue if it is a ip forwarding pkt.
3109 pi_data = hn_rndis_pktinfo_append(pkt, HN_RNDIS_PKT_LEN,
3119 pi_data = hn_rndis_pktinfo_append(pkt, HN_RNDIS_PKT_LEN,
3140 pi_data = hn_rndis_pktinfo_append(pkt, HN_RNDIS_PKT_LEN,
3162 pkt_hlen = pkt->rm_pktinfooffset + pkt->rm_pktinfolen;
3164 pkt->rm_len += pkt_hlen;
3166 pkt->rm_dataoffset = hn_rndis_pktmsg_offset(pkt_hlen);
3167 pkt->rm_pktinfooffset = hn_rndis_pktmsg_offset(pkt->rm_pktinfooffset);
3182 KASSERT(pkt == chim,
3183 ("RNDIS pkt not in chimney sending buffer"));
3186 tgt_txd->chim_size += pkt->rm_len;
3199 KASSERT(pkt == txd->rndis_pkt, ("RNDIS pkt not in txdesc"));
7198 const struct rndis_packet_msg *pkt;
7206 if (__predict_false(dlen < sizeof(*pkt))) {
7210 pkt = data;
7212 if (__predict_false(dlen < pkt->rm_len)) {
7214 "dlen %d, msglen %u\n", dlen, pkt->rm_len);
7217 if (__predict_false(pkt->rm_len <
7218 pkt->rm_datalen + pkt->rm_oobdatalen + pkt->rm_pktinfolen)) {
7221 pkt->rm_len, pkt->rm_datalen, pkt->rm_oobdatalen,
7222 pkt->rm_pktinfolen);
7225 if (__predict_false(pkt->rm_datalen == 0)) {
7238 if (__predict_false(pkt->rm_dataoffset < RNDIS_PACKET_MSG_OFFSET_MIN)) {
7240 "data offset %u\n", pkt->rm_dataoffset);
7243 if (__predict_false(pkt->rm_oobdataoffset > 0 &&
7244 IS_OFFSET_INVALID(pkt->rm_oobdataoffset))) {
7246 "oob offset %u\n", pkt->rm_oobdataoffset);
7249 if (__predict_true(pkt->rm_pktinfooffset > 0) &&
7250 __predict_false(IS_OFFSET_INVALID(pkt->rm_pktinfooffset))) {
7252 "pktinfo offset %u\n", pkt->rm_pktinfooffset);
7258 data_off = RNDIS_PACKET_MSG_OFFSET_ABS(pkt->rm_dataoffset);
7259 data_len = pkt->rm_datalen;
7260 pktinfo_off = RNDIS_PACKET_MSG_OFFSET_ABS(pkt->rm_pktinfooffset);
7261 pktinfo_len = pkt->rm_pktinfolen;
7266 if (__predict_false(pkt->rm_oobdatalen != 0)) {
7270 oob_off = RNDIS_PACKET_MSG_OFFSET_ABS(pkt->rm_oobdataoffset);
7271 oob_len = pkt->rm_oobdatalen;
7273 if (__predict_false(oob_off + oob_len > pkt->rm_len)) {
7276 pkt->rm_len, oob_off, oob_len);
7318 if (__predict_false(pktinfo_off + pktinfo_len > pkt->rm_len)) {
7322 pkt->rm_len, pktinfo_off, pktinfo_len);
7342 error = hn_rndis_rxinfo(((const uint8_t *)pkt) + pktinfo_off,
7351 if (__predict_false(data_off + data_len > pkt->rm_len)) {
7354 pkt->rm_len, data_off, data_len);
7382 hn_rsc_add_data(rxr,((const uint8_t *)pkt) + data_off,
7421 hn_nvs_handle_notify(struct hn_softc *sc, const struct vmbus_chanpkt_hdr *pkt)
7425 if (VMBUS_CHANPKT_DATALEN(pkt) < sizeof(*hdr)) {
7429 hdr = VMBUS_CHANPKT_CONST_DATA(pkt);
7440 const struct vmbus_chanpkt_hdr *pkt)
7444 sndc = (struct hn_nvs_sendctx *)(uintptr_t)pkt->cph_xactid;
7445 sndc->hn_cb(sndc, sc, chan, VMBUS_CHANPKT_CONST_DATA(pkt),
7446 VMBUS_CHANPKT_DATALEN(pkt));
7458 const struct vmbus_chanpkt_rxbuf *pkt;
7476 if (__predict_false(hlen < sizeof(*pkt))) {
7480 pkt = (const struct vmbus_chanpkt_rxbuf *)pkthdr;
7482 if (__predict_false(pkt->cp_rxbuf_id != HN_NVS_RXBUF_SIG)) {
7484 pkt->cp_rxbuf_id);
7488 count = pkt->cp_rxbuf_cnt;
7495 /* Each range represents 1 RNDIS pkt that contains 1 Ethernet frame */
7499 ofs = pkt->cp_rxbuf[i].rb_ofs;
7500 len = pkt->cp_rxbuf[i].rb_len;
7515 hn_nvs_ack_rxbuf(rxr, chan, pkt->cp_hdr.cph_xactid);
7559 struct vmbus_chanpkt_hdr *pkt = rxr->hn_pktbuf;
7563 error = vmbus_chan_recv_pkt(chan, pkt, &pktlen);
7594 switch (pkt->cph_type) {
7596 hn_nvs_handle_comp(sc, chan, pkt);
7600 hn_nvs_handle_rxbuf(rxr, chan, pkt);
7604 hn_nvs_handle_notify(sc, pkt);
7608 if_printf(rxr->hn_ifp, "unknown chan pkt %u\n",
7609 pkt->cph_type);