Searched refs:gso (Results 1 - 21 of 21) sorted by relevance

/linux-4.1.27/drivers/net/
H A Dtun.c1038 struct virtio_net_hdr gso = { 0 }; tun_get_user() local
1061 n = copy_from_iter(&gso, sizeof(gso), from); tun_get_user()
1062 if (n != sizeof(gso)) tun_get_user()
1065 if ((gso.flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) && tun_get_user()
1066 tun16_to_cpu(tun, gso.csum_start) + tun16_to_cpu(tun, gso.csum_offset) + 2 > tun16_to_cpu(tun, gso.hdr_len)) tun_get_user()
1067 gso.hdr_len = cpu_to_tun16(tun, tun16_to_cpu(tun, gso.csum_start) + tun16_to_cpu(tun, gso.csum_offset) + 2); tun_get_user()
1069 if (tun16_to_cpu(tun, gso.hdr_len) > len) tun_get_user()
1071 iov_iter_advance(from, tun->vnet_hdr_sz - sizeof(gso)); tun_get_user()
1077 (gso.hdr_len && tun16_to_cpu(tun, gso.hdr_len) < ETH_HLEN))) tun_get_user()
1090 copylen = gso.hdr_len ? tun16_to_cpu(tun, gso.hdr_len) : GOODCOPY_LEN; tun_get_user()
1101 if (tun16_to_cpu(tun, gso.hdr_len) > good_linear) tun_get_user()
1104 linear = tun16_to_cpu(tun, gso.hdr_len); tun_get_user()
1130 if (gso.flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) { tun_get_user()
1131 if (!skb_partial_csum_set(skb, tun16_to_cpu(tun, gso.csum_start), tun_get_user()
1132 tun16_to_cpu(tun, gso.csum_offset))) { tun_get_user()
1165 if (gso.gso_type != VIRTIO_NET_HDR_GSO_NONE) { tun_get_user()
1167 switch (gso.gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { tun_get_user()
1183 if (gso.gso_type & VIRTIO_NET_HDR_GSO_ECN) tun_get_user()
1186 skb_shinfo(skb)->gso_size = tun16_to_cpu(tun, gso.gso_size); tun_get_user()
1269 struct virtio_net_hdr gso = { 0 }; /* no info leak */ tun_put_user() local
1277 gso.hdr_len = cpu_to_tun16(tun, skb_headlen(skb)); tun_put_user()
1278 gso.gso_size = cpu_to_tun16(tun, sinfo->gso_size); tun_put_user()
1280 gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV4; tun_put_user()
1282 gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV6; tun_put_user()
1284 gso.gso_type = VIRTIO_NET_HDR_GSO_UDP; tun_put_user()
1288 sinfo->gso_type, tun16_to_cpu(tun, gso.gso_size), tun_put_user()
1289 tun16_to_cpu(tun, gso.hdr_len)); tun_put_user()
1293 min((int)tun16_to_cpu(tun, gso.hdr_len), 64), true); tun_put_user()
1298 gso.gso_type |= VIRTIO_NET_HDR_GSO_ECN; tun_put_user()
1300 gso.gso_type = VIRTIO_NET_HDR_GSO_NONE; tun_put_user()
1303 gso.flags = VIRTIO_NET_HDR_F_NEEDS_CSUM; tun_put_user()
1304 gso.csum_start = cpu_to_tun16(tun, skb_checksum_start_offset(skb) + tun_put_user()
1306 gso.csum_offset = cpu_to_tun16(tun, skb->csum_offset); tun_put_user()
1308 gso.flags = VIRTIO_NET_HDR_F_DATA_VALID; tun_put_user()
1311 if (copy_to_iter(&gso, sizeof(gso), iter) != sizeof(gso)) tun_put_user()
1314 iov_iter_advance(iter, vnet_hdr_sz - sizeof(gso)); tun_put_user()
H A Dxen-netfront.c584 struct xen_netif_extra_info *gso; xennet_start_xmit() local
586 gso = (struct xen_netif_extra_info *) xennet_start_xmit()
591 gso->u.gso.size = skb_shinfo(skb)->gso_size; xennet_start_xmit()
592 gso->u.gso.type = (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) ? xennet_start_xmit()
595 gso->u.gso.pad = 0; xennet_start_xmit()
596 gso->u.gso.features = 0; xennet_start_xmit()
598 gso->type = XEN_NETIF_EXTRA_TYPE_GSO; xennet_start_xmit()
599 gso->flags = 0; xennet_start_xmit()
793 struct xen_netif_extra_info *gso) xennet_set_skb_gso()
795 if (!gso->u.gso.size) { xennet_set_skb_gso()
801 if (gso->u.gso.type != XEN_NETIF_GSO_TYPE_TCPV4 && xennet_set_skb_gso()
802 gso->u.gso.type != XEN_NETIF_GSO_TYPE_TCPV6) { xennet_set_skb_gso()
804 pr_warn("Bad GSO type %d\n", gso->u.gso.type); xennet_set_skb_gso()
808 skb_shinfo(skb)->gso_size = gso->u.gso.size; xennet_set_skb_gso()
810 (gso->u.gso.type == XEN_NETIF_GSO_TYPE_TCPV4) ? xennet_set_skb_gso()
956 struct xen_netif_extra_info *gso; xennet_poll() local
957 gso = &extras[XEN_NETIF_EXTRA_TYPE_GSO - 1]; xennet_poll()
959 if (unlikely(xennet_set_skb_gso(skb, gso))) { xennet_poll()
1137 "feature-gso-tcpv4", "%d", &val) < 0) xennet_fix_features()
1146 "feature-gso-tcpv6", "%d", &val) < 0) xennet_fix_features()
1868 err = xenbus_printf(xbt, dev->nodename, "feature-gso-tcpv4", "%d", 1); talk_to_netback()
1870 message = "writing feature-gso-tcpv4"; talk_to_netback()
1874 err = xenbus_write(xbt, dev->nodename, "feature-gso-tcpv6", "1"); talk_to_netback()
1876 message = "writing feature-gso-tcpv6"; talk_to_netback()
792 xennet_set_skb_gso(struct sk_buff *skb, struct xen_netif_extra_info *gso) xennet_set_skb_gso() argument
H A Dvirtio_net.c35 static bool csum = true, gso = true; variable
37 module_param(gso, bool, 0444);
499 net_warn_ratelimited("%s: bad gso type %u.\n", receive_buf()
510 net_warn_ratelimited("%s: zero gso size.\n", dev->name); receive_buf()
1779 if (gso) virtnet_probe()
1781 /* (!csum && gso) case will be fixed by register_netdev() */ virtnet_probe()
/linux-4.1.27/drivers/net/xen-netback/
H A Dnetback.c582 struct xen_netif_extra_info *gso = xenvif_rx_action() local
589 gso->u.gso.type = queue->meta[npo.meta_cons].gso_type; xenvif_rx_action()
590 gso->u.gso.size = queue->meta[npo.meta_cons].gso_size; xenvif_rx_action()
591 gso->u.gso.pad = 0; xenvif_rx_action()
592 gso->u.gso.features = 0; xenvif_rx_action()
594 gso->type = XEN_NETIF_EXTRA_TYPE_GSO; xenvif_rx_action()
595 gso->flags = 0; xenvif_rx_action()
1099 struct xen_netif_extra_info *gso) xenvif_set_skb_gso()
1101 if (!gso->u.gso.size) { xenvif_set_skb_gso()
1107 switch (gso->u.gso.type) { xenvif_set_skb_gso()
1115 netdev_err(vif->dev, "Bad GSO type %d.\n", gso->u.gso.type); xenvif_set_skb_gso()
1120 skb_shinfo(skb)->gso_size = gso->u.gso.size; xenvif_set_skb_gso()
1274 struct xen_netif_extra_info *gso; xenvif_tx_build_gops() local
1275 gso = &extras[XEN_NETIF_EXTRA_TYPE_GSO - 1]; xenvif_tx_build_gops()
1277 if (xenvif_set_skb_gso(queue->vif, skb, gso)) { xenvif_tx_build_gops()
1097 xenvif_set_skb_gso(struct xenvif *vif, struct sk_buff *skb, struct xen_netif_extra_info *gso) xenvif_set_skb_gso() argument
H A Dxenbus.c288 err = xenbus_printf(xbt, dev->nodename, "feature-gso-tcpv4", netback_probe()
291 message = "writing feature-gso-tcpv4"; netback_probe()
295 err = xenbus_printf(xbt, dev->nodename, "feature-gso-tcpv6", netback_probe()
298 message = "writing feature-gso-tcpv6"; netback_probe()
977 if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-gso-tcpv4", read_xenbus_vif_flags()
983 if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-gso-tcpv4-prefix", read_xenbus_vif_flags()
989 if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-gso-tcpv6", read_xenbus_vif_flags()
995 if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-gso-tcpv6-prefix", read_xenbus_vif_flags()
1003 "%s: gso and gso prefix flags are not " read_xenbus_vif_flags()
/linux-4.1.27/include/xen/interface/io/
H A Dnetif.h114 * "feature-gso-tcpv4" and "feature-gso-tcpv6" advertise the capability to
158 #define XEN_NETIF_EXTRA_TYPE_GSO (1) /* u.gso */
202 } gso; member in union:xen_netif_extra_info::__anon13912
/linux-4.1.27/net/ipv4/
H A Dip_tunnel_core.c140 /* If packet is not gso and we are resolving any partial checksum, iptunnel_handle_offloads()
/linux-4.1.27/drivers/net/ethernet/emulex/benet/
H A Dbe_hw.h219 u8 gso[2]; member in struct:amap_eth_hdr_wrb
/linux-4.1.27/drivers/net/ethernet/intel/i40e/
H A Di40e_fcoe.c1213 /* must match gso type as FCoE */ i40e_fcoe_tso()
1217 /* is it the expected gso type for FCoE ?*/ i40e_fcoe_tso()
1220 "wrong gso type %d:expecting SKB_GSO_FCOE\n", i40e_fcoe_tso()
/linux-4.1.27/net/sched/
H A Dsch_tbf.c146 * Return length of individual segments of a gso packet,
/linux-4.1.27/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_fcoe.c523 dev_err(tx_ring->dev, "Wrong gso type %d:expecting SKB_GSO_FCOE\n", ixgbe_fso()
H A Dixgbe_main.c6825 /* update gso size and bytecount with header size */ ixgbe_tso()
/linux-4.1.27/drivers/net/ethernet/mellanox/mlx4/
H A Den_tx.c555 * Note that caller already checked skb was not a gso packet
/linux-4.1.27/net/core/
H A Dethtool.c80 [NETIF_F_GSO_ROBUST_BIT] = "tx-gso-robust",
H A Dskbuff.c4168 * skb_gso_transport_seglen - Return length of individual segments of a gso packet
H A Ddev.c2414 /* Tunnel gso handlers can set protocol to ethernet. */ skb_network_protocol()
/linux-4.1.27/drivers/net/ethernet/intel/fm10k/
H A Dfm10k_main.c821 /* update gso size and bytecount with header size */ fm10k_tso()
/linux-4.1.27/include/linux/
H A Dskbuff.h3348 /* Compute the checksum for a gso segment. First compute the checksum value
3442 * skb_gso_network_seglen - Return length of individual segments of a gso packet
/linux-4.1.27/drivers/net/ethernet/tehuti/
H A Dtehuti.c1649 DBG("skb %p skb len %d gso size = %d\n", skb, skb->len, bdx_tx_transmit()
/linux-4.1.27/drivers/net/ethernet/broadcom/bnx2x/
H A Dbnx2x_cmn.c3781 "queue[%d]: SKB: summed %x protocol %x protocol(%x,%x) gso type %x xmit_type %x len %d\n", bnx2x_start_xmit()
/linux-4.1.27/drivers/net/ethernet/intel/igb/
H A Digb_main.c4694 /* update gso size and bytecount with header size */ igb_tso()

Completed in 830 milliseconds