Displaying 8 results from an estimated 8 matches for "packet_recvmsg".
2015 Sep 24
2
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...skb_shinfo(skb)->gso_size =
> - __virtio16_to_cpu(false, vnet_hdr.gso_size);
> + __virtio16_to_cpu(vio_le(), vnet_hdr.gso_size);
> skb_shinfo(skb)->gso_type = gso_type;
>
> /* Header must be checked, and gso_segs computed. */
> @@ -3161,9 +3163,9 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
>
> /* This is a hint as to how much should be linear. */
> vnet_hdr.hdr_len =
> - __cpu_to_virtio16(false, skb_headlen(skb));
> + __cpu_to_virtio16(vio_le(), skb_headlen(skb));
> vnet_hdr.gso_size =
> -...
2015 Sep 24
2
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...skb_shinfo(skb)->gso_size =
> - __virtio16_to_cpu(false, vnet_hdr.gso_size);
> + __virtio16_to_cpu(vio_le(), vnet_hdr.gso_size);
> skb_shinfo(skb)->gso_type = gso_type;
>
> /* Header must be checked, and gso_segs computed. */
> @@ -3161,9 +3163,9 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
>
> /* This is a hint as to how much should be linear. */
> vnet_hdr.hdr_len =
> - __cpu_to_virtio16(false, skb_headlen(skb));
> + __cpu_to_virtio16(vio_le(), skb_headlen(skb));
> vnet_hdr.gso_size =
> -...
2015 Sep 24
1
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...skb_shinfo(skb)->gso_size =
> - __virtio16_to_cpu(false, vnet_hdr.gso_size);
> + __virtio16_to_cpu(vio_le(), vnet_hdr.gso_size);
> skb_shinfo(skb)->gso_type = gso_type;
>
> /* Header must be checked, and gso_segs computed. */
> @@ -3161,9 +3163,9 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
>
> /* This is a hint as to how much should be linear. */
> vnet_hdr.hdr_len =
> - __cpu_to_virtio16(false, skb_headlen(skb));
> + __cpu_to_virtio16(vio_le(), skb_headlen(skb));
> vnet_hdr.gso_size =
> -...
2015 Sep 24
1
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...skb_shinfo(skb)->gso_size =
> - __virtio16_to_cpu(false, vnet_hdr.gso_size);
> + __virtio16_to_cpu(vio_le(), vnet_hdr.gso_size);
> skb_shinfo(skb)->gso_type = gso_type;
>
> /* Header must be checked, and gso_segs computed. */
> @@ -3161,9 +3163,9 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
>
> /* This is a hint as to how much should be linear. */
> vnet_hdr.hdr_len =
> - __cpu_to_virtio16(false, skb_headlen(skb));
> + __cpu_to_virtio16(vio_le(), skb_headlen(skb));
> vnet_hdr.gso_size =
> -...
2015 Sep 24
0
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...e =
> > - __virtio16_to_cpu(false, vnet_hdr.gso_size);
> > + __virtio16_to_cpu(vio_le(), vnet_hdr.gso_size);
> > skb_shinfo(skb)->gso_type = gso_type;
> >
> > /* Header must be checked, and gso_segs computed. */
> > @@ -3161,9 +3163,9 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
> >
> > /* This is a hint as to how much should be linear. */
> > vnet_hdr.hdr_len =
> > - __cpu_to_virtio16(false, skb_headlen(skb));
> > + __cpu_to_virtio16(vio_le(), skb_headlen(skb));
> >...
2011 Jun 10
1
[PATCH] virtio_net: introduce VIRTIO_NET_HDR_F_DATA_VALID
...define VIRTIO_NET_HDR_GSO_NONE 0 // Not a GSO frame
#define VIRTIO_NET_HDR_GSO_TCPV4 1 // GSO frame, IPv4 TCP (TSO)
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index c0c3cda..99ca471 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1681,6 +1681,8 @@ static int packet_recvmsg(struct kiocb *iocb, struct socket *sock,
vnet_hdr.flags = VIRTIO_NET_HDR_F_NEEDS_CSUM;
vnet_hdr.csum_start = skb_checksum_start_offset(skb);
vnet_hdr.csum_offset = skb->csum_offset;
+ } else if (skb->ip_summed == CHECKSUM_UNNECESSARY) {
+ vnet_hdr.flags = VIRTIO_NET_HDR_F_DATA_...
2011 Jun 10
1
[PATCH] virtio_net: introduce VIRTIO_NET_HDR_F_DATA_VALID
...define VIRTIO_NET_HDR_GSO_NONE 0 // Not a GSO frame
#define VIRTIO_NET_HDR_GSO_TCPV4 1 // GSO frame, IPv4 TCP (TSO)
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index c0c3cda..99ca471 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1681,6 +1681,8 @@ static int packet_recvmsg(struct kiocb *iocb, struct socket *sock,
vnet_hdr.flags = VIRTIO_NET_HDR_F_NEEDS_CSUM;
vnet_hdr.csum_start = skb_checksum_start_offset(skb);
vnet_hdr.csum_offset = skb->csum_offset;
+ } else if (skb->ip_summed == CHECKSUM_UNNECESSARY) {
+ vnet_hdr.flags = VIRTIO_NET_HDR_F_DATA_...
2020 Feb 13
1
[PATCH] virtio: Work around frames incorrectly marked as gso
On 2020/2/13 ??1:38, Anton Ivanov wrote:
>
>
> On 11/02/2020 10:37, Michael S. Tsirkin wrote:
>> On Tue, Feb 11, 2020 at 07:42:37AM +0000, Anton Ivanov wrote:
>>> On 11/02/2020 02:51, Jason Wang wrote:
>>>>
>>>> On 2020/2/11 ??12:55, Anton Ivanov wrote:
>>>>>
>>>>>
>>>>> On 09/12/2019 10:48, anton.ivanov