Lines Matching refs:pkt

70 	struct vio_msg_tag *pkt = arg;  in vnet_handle_unknown()  local
73 pkt->type, pkt->stype, pkt->stype_env, pkt->sid); in vnet_handle_unknown()
87 struct vio_net_attr_info pkt; in vnet_send_attr() local
95 memset(&pkt, 0, sizeof(pkt)); in vnet_send_attr()
96 pkt.tag.type = VIO_TYPE_CTRL; in vnet_send_attr()
97 pkt.tag.stype = VIO_SUBTYPE_INFO; in vnet_send_attr()
98 pkt.tag.stype_env = VIO_ATTR_INFO; in vnet_send_attr()
99 pkt.tag.sid = vio_send_sid(vio); in vnet_send_attr()
101 pkt.xfer_mode = VIO_DRING_MODE; in vnet_send_attr()
103 pkt.xfer_mode = VIO_NEW_DRING_MODE; in vnet_send_attr()
104 pkt.addr_type = VNET_ADDR_ETHERMAC; in vnet_send_attr()
105 pkt.ack_freq = 0; in vnet_send_attr()
107 pkt.addr |= (u64)dev->dev_addr[i] << ((5 - i) * 8); in vnet_send_attr()
111 pkt.mtu = port->rmtu; in vnet_send_attr()
114 pkt.mtu = port->rmtu; in vnet_send_attr()
117 pkt.options = VIO_TX_DRING; in vnet_send_attr()
119 pkt.mtu = framelen; in vnet_send_attr()
121 pkt.mtu = framelen + VLAN_HLEN; in vnet_send_attr()
124 pkt.cflags = 0; in vnet_send_attr()
126 pkt.cflags |= VNET_LSO_IPV4_CAPAB; in vnet_send_attr()
129 pkt.ipv4_lso_maxlen = port->tsolen; in vnet_send_attr()
132 pkt.plnk_updt = PHYSLINK_UPDATE_NONE; in vnet_send_attr()
137 pkt.xfer_mode, pkt.addr_type, in vnet_send_attr()
138 (unsigned long long)pkt.addr, in vnet_send_attr()
139 pkt.ack_freq, pkt.plnk_updt, pkt.options, in vnet_send_attr()
140 (unsigned long long)pkt.mtu, pkt.cflags, pkt.ipv4_lso_maxlen); in vnet_send_attr()
143 return vio_ldc_send(vio, &pkt, sizeof(pkt)); in vnet_send_attr()
147 struct vio_net_attr_info *pkt) in handle_attr_info() argument
156 pkt->xfer_mode, pkt->addr_type, in handle_attr_info()
157 (unsigned long long)pkt->addr, in handle_attr_info()
158 pkt->ack_freq, pkt->plnk_updt, pkt->options, in handle_attr_info()
159 (unsigned long long)pkt->mtu, port->rmtu, pkt->cflags, in handle_attr_info()
160 pkt->ipv4_lso_maxlen); in handle_attr_info()
162 pkt->tag.sid = vio_send_sid(vio); in handle_attr_info()
164 xfer_mode = pkt->xfer_mode; in handle_attr_info()
179 localmtu = min(pkt->mtu, localmtu); in handle_attr_info()
180 pkt->mtu = localmtu; in handle_attr_info()
188 port->tso &= !!(pkt->cflags & VNET_LSO_IPV4_CAPAB); in handle_attr_info()
194 port->tsolen = min(port->tsolen, pkt->ipv4_lso_maxlen); in handle_attr_info()
198 pkt->cflags &= ~VNET_LSO_IPV4_CAPAB; in handle_attr_info()
200 pkt->ipv4_lso_maxlen = port->tsolen; in handle_attr_info()
202 pkt->cflags &= ~VNET_LSO_IPV4_CAPAB; in handle_attr_info()
203 pkt->ipv4_lso_maxlen = 0; in handle_attr_info()
208 pkt->xfer_mode = VIO_NEW_DRING_MODE; in handle_attr_info()
209 pkt->options = VIO_TX_DRING; in handle_attr_info()
213 pkt->addr_type != VNET_ADDR_ETHERMAC || in handle_attr_info()
214 pkt->mtu != localmtu) { in handle_attr_info()
217 pkt->tag.stype = VIO_SUBTYPE_NACK; in handle_attr_info()
219 (void) vio_ldc_send(vio, pkt, sizeof(*pkt)); in handle_attr_info()
226 pkt->xfer_mode, pkt->addr_type, in handle_attr_info()
227 (unsigned long long)pkt->addr, in handle_attr_info()
228 pkt->ack_freq, pkt->plnk_updt, pkt->options, in handle_attr_info()
229 (unsigned long long)pkt->mtu, port->rmtu, pkt->cflags, in handle_attr_info()
230 pkt->ipv4_lso_maxlen); in handle_attr_info()
232 pkt->tag.stype = VIO_SUBTYPE_ACK; in handle_attr_info()
234 return vio_ldc_send(vio, pkt, sizeof(*pkt)); in handle_attr_info()
240 struct vio_net_attr_info *pkt) in handle_attr_ack() argument
248 struct vio_net_attr_info *pkt) in handle_attr_nack() argument
257 struct vio_net_attr_info *pkt = arg; in vnet_handle_attr() local
259 switch (pkt->tag.stype) { in vnet_handle_attr()
261 return handle_attr_info(vio, pkt); in vnet_handle_attr()
264 return handle_attr_ack(vio, pkt); in vnet_handle_attr()
267 return handle_attr_nack(vio, pkt); in vnet_handle_attr()
592 struct vio_dring_data *pkt = msgbuf; in vnet_rx() local
597 pkt->tag.stype_env, pkt->seq, dr->rcv_nxt); in vnet_rx()
599 if (unlikely(pkt->tag.stype_env != VIO_DRING_DATA)) in vnet_rx()
601 if (unlikely(pkt->seq != dr->rcv_nxt)) { in vnet_rx()
603 pkt->seq, dr->rcv_nxt); in vnet_rx()
612 return vnet_walk_rx(port, dr, pkt->start_idx, pkt->end_idx, in vnet_rx()
634 struct vio_dring_data *pkt = msgbuf; in vnet_ack() local
641 if (unlikely(pkt->tag.stype_env != VIO_DRING_DATA)) in vnet_ack()
644 end = pkt->end_idx; in vnet_ack()
688 struct vio_net_mcast_info *pkt = msgbuf; in handle_mcast() local
690 if (pkt->tag.stype != VIO_SUBTYPE_ACK) in handle_mcast()
693 pkt->tag.type, in handle_mcast()
694 pkt->tag.stype, in handle_mcast()
695 pkt->tag.stype_env, in handle_mcast()
696 pkt->tag.sid); in handle_mcast()
766 struct vio_dring_data *pkt = in vnet_event_napi() local
771 pkt->tag.type = VIO_TYPE_DATA; in vnet_event_napi()
772 pkt->tag.stype = VIO_SUBTYPE_INFO; in vnet_event_napi()
773 pkt->tag.stype_env = VIO_DRING_DATA; in vnet_event_napi()
774 pkt->seq = dr->rcv_nxt; in vnet_event_napi()
775 pkt->start_idx = vio_dring_next(dr, port->napi_stop_idx); in vnet_event_napi()
776 pkt->end_idx = -1; in vnet_event_napi()