search for: ip_sum

Displaying 20 results from an estimated 159 matches for "ip_sum".

Did you mean: i_sum
2017 Jan 17
1
virtio: Subtle changes to virtio_net flags breaks VXLAN on Google Cloud
Commits: fd2a0437dc33 virtio_net: introduce virtio_net_hdr_{from,to}_skb e858fae2b0b8 virtio_net: use common code for virtio_net_hdr and skb GSO conversion introduced a subtle (but unexplained) difference in how virtio_net flags are derived from skb->ip_summed fields on transmit from the guest to the host/backend. Prior to the patches the flags would be set to VIRTIO_NET_HDR_F_NEEDS_CSUM if ip_summed was CHECKSUM_PARTIAL, otherwise the flags would be set to 0. After the commits, virtio_net flags would still be set to VIRTIO_NET_HDR_F_NEEDS_CSUM if ip...
2017 Jan 17
1
virtio: Subtle changes to virtio_net flags breaks VXLAN on Google Cloud
Commits: fd2a0437dc33 virtio_net: introduce virtio_net_hdr_{from,to}_skb e858fae2b0b8 virtio_net: use common code for virtio_net_hdr and skb GSO conversion introduced a subtle (but unexplained) difference in how virtio_net flags are derived from skb->ip_summed fields on transmit from the guest to the host/backend. Prior to the patches the flags would be set to VIRTIO_NET_HDR_F_NEEDS_CSUM if ip_summed was CHECKSUM_PARTIAL, otherwise the flags would be set to 0. After the commits, virtio_net flags would still be set to VIRTIO_NET_HDR_F_NEEDS_CSUM if ip...
2006 May 09
4
[PATCH] Fix checksum errors when firewalling in domU
Another checksum offload problem was reported on xen-users, when using a domU as a firewall: http://lists.xensource.com/archives/html/xen-users/2006-04/msg01150.html It also fails without VLANs. The path from dom0->domU with ip_summed==CHECKSUM_HW/proto_csum_blank==1 is broken. - skb_checksum_setup() assumes that a checksum will definitely be calculated in dev_queue_xmit(), but the destination device is netback, which is advertising NETIF_F_IP_CSUM ---> no checksum. So, added reset_proto_csum_blank() to skbuff.h,...
2017 Jan 17
0
virtio: Subtle changes to virtio_net flags breaks VXLAN on Google Cloud
...te: > Commits: > > fd2a0437dc33 virtio_net: introduce virtio_net_hdr_{from,to}_skb > e858fae2b0b8 virtio_net: use common code for virtio_net_hdr and skb > GSO conversion > > introduced a subtle (but unexplained) difference in how virtio_net > flags are derived from skb->ip_summed fields on transmit from the > guest to the host/backend. Prior to the patches the flags would be set > to VIRTIO_NET_HDR_F_NEEDS_CSUM if ip_summed was CHECKSUM_PARTIAL, > otherwise the flags would be set to 0. > > After the commits, virtio_net flags would still be set to > VIR...
2007 Apr 18
2
[Bridge] Re: [2.4.22] bad interaction between e100 and bridge: BUG at dev.c:991!
Could the problem be that the e100 can do IP receive checksumming on the board, but the eepro driver doesn't enable it. When the board is doing checksum offload, then the csum field isn't set. Please try disabling receive checksumming on the e100 driver modprobe e100 XsumRX=0 If this is the problem, it exists both 2.4 and 2.6. On Wed, 27 Aug 2003 18:24:57 +0200 Hannes Schulz
2011 Jun 10
1
[PATCH] virtio_net: introduce VIRTIO_NET_HDR_F_DATA_VALID
...p.c +++ b/drivers/net/macvtap.c @@ -508,6 +508,8 @@ static int macvtap_skb_to_vnet_hdr(const struct sk_buff *skb, 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_VALID; } /* else everything is zero */ return 0; diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 74e9405..f43fa45 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -788,6 +788,8 @@ static __inline__ s...
2011 Jun 10
1
[PATCH] virtio_net: introduce VIRTIO_NET_HDR_F_DATA_VALID
...p.c +++ b/drivers/net/macvtap.c @@ -508,6 +508,8 @@ static int macvtap_skb_to_vnet_hdr(const struct sk_buff *skb, 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_VALID; } /* else everything is zero */ return 0; diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 74e9405..f43fa45 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -788,6 +788,8 @@ static __inline__ s...
2016 Jun 08
7
[PATCH 0/6] virtio_net: use common code for virtio_net_hdr and skb GSO conversion
Hi, This patches introduce virtio_net_hdr_{from,to}_skb functions for conversion of GSO information between skb and virtio_net_hdr. Mike Rapoport (6): virtio_net: add _UAPI prefix to virtio_net header guards virtio_net: introduce virtio_net_hdr_{from,to}_skb macvtap: use common code for virtio_net_hdr and skb GSO conversion tuntap: use common code for virtio_net_hdr and skb GSO
2016 Jun 08
7
[PATCH 0/6] virtio_net: use common code for virtio_net_hdr and skb GSO conversion
Hi, This patches introduce virtio_net_hdr_{from,to}_skb functions for conversion of GSO information between skb and virtio_net_hdr. Mike Rapoport (6): virtio_net: add _UAPI prefix to virtio_net header guards virtio_net: introduce virtio_net_hdr_{from,to}_skb macvtap: use common code for virtio_net_hdr and skb GSO conversion tuntap: use common code for virtio_net_hdr and skb GSO
2011 Dec 19
12
UDP checksums broken in Dom0 -> DomU vif transfer
Hello, when I boot DomU which uses DHCP to configure IPv4 address it does never get a lease. The packets travel to Dom0 where the dhcp server receives them, sends a reply, that travels to DomU where dhclient receives it, says the checksum is invalid, and discards it. The problem is documented here: http://old-list-archives.xen.org/archives/html/xen-users/2006-02/msg00152.html
1999 Mar 25
0
(Fwd) DoS for Linux 2.1.89 - 2.2.3: 0 length fragment bug
.../* dont fragment flag */ #define IP_MF 0x2000 /* more fragments flag */ #define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ unsigned char ip_ttl; /* time to live */ unsigned char ip_p; /* protocol */ unsigned short ip_sum; /* checksum */ unsigned long ip_src, ip_dst; /* source and dest address */ }; struct my_udp_header { unsigned short uh_sport; unsigned short uh_dport; unsigned short uh_ulen; unsigned short uh_sum; }; #define IHLEN (sizeof (struct my_ip_header)) #define UHLEN (sizeof (struct my_udp...
2006 Jul 06
12
kernel BUG at net/core/dev.c:1133!
Looks like the GSO is involved? I got this while running Dom0 only (no guests), with a BOINC/Rosetta@home application running on all 4 cores. changeset: 10649:8e55c5c11475 Build: x86_32p (pae). ------------[ cut here ]------------ kernel BUG at net/core/dev.c:1133! invalid opcode: 0000 [#1] SMP CPU: 0 EIP: 0061:[<c04dceb0>] Not tainted VLI EFLAGS: 00210297 (2.6.16.13-xen
2010 Jun 28
3
[PATCHv2] vhost-net: add dhclient work-around from userspace
...e CHECKSUM_PARTIAL; + * The interface to return the relevant information was added in + * 8dc4194474159660d7f37c495e3fc3f10d0db8cc, + * and older userspace does not use it. + * One important user of recvmsg with AF_PACKET is dhclient, + * so we add a work-around just for DHCP. */ + if (skb->ip_summed == CHECKSUM_PARTIAL && + skb_headlen(skb) >= skb_transport_offset(skb) + + sizeof(struct udphdr) && + udp_hdr(skb)->dest == htons(68) && + skb_network_header_len(skb) >= sizeof(struct iphdr) && + ip_hdr(skb)->protocol == IPPROTO_UDP...
2010 Jun 28
3
[PATCHv2] vhost-net: add dhclient work-around from userspace
...e CHECKSUM_PARTIAL; + * The interface to return the relevant information was added in + * 8dc4194474159660d7f37c495e3fc3f10d0db8cc, + * and older userspace does not use it. + * One important user of recvmsg with AF_PACKET is dhclient, + * so we add a work-around just for DHCP. */ + if (skb->ip_summed == CHECKSUM_PARTIAL && + skb_headlen(skb) >= skb_transport_offset(skb) + + sizeof(struct udphdr) && + udp_hdr(skb)->dest == htons(68) && + skb_network_header_len(skb) >= sizeof(struct iphdr) && + ip_hdr(skb)->protocol == IPPROTO_UDP...
2008 Jan 15
2
[PATCH 1/3] skb_partial_csum_set
...++++++++ 3 files changed, 31 insertions(+), 10 deletions(-) diff -r 72be3d596d31 include/linux/skbuff.h --- a/include/linux/skbuff.h Wed Jan 09 15:57:40 2008 +1100 +++ b/include/linux/skbuff.h Wed Jan 09 16:56:41 2008 +1100 @@ -1804,5 +1804,6 @@ static inline void skb_forward_csum(stru skb->ip_summed = CHECKSUM_NONE; } +bool skb_partial_csum_set(struct sk_buff *skb, u16 start, u16 off); #endif /* __KERNEL__ */ #endif /* _LINUX_SKBUFF_H */ diff -r 72be3d596d31 net/core/skbuff.c --- a/net/core/skbuff.c Wed Jan 09 15:57:40 2008 +1100 +++ b/net/core/skbuff.c Wed Jan 09 16:56:41 2008 +1100 @...
2008 Jan 15
2
[PATCH 1/3] skb_partial_csum_set
...++++++++ 3 files changed, 31 insertions(+), 10 deletions(-) diff -r 72be3d596d31 include/linux/skbuff.h --- a/include/linux/skbuff.h Wed Jan 09 15:57:40 2008 +1100 +++ b/include/linux/skbuff.h Wed Jan 09 16:56:41 2008 +1100 @@ -1804,5 +1804,6 @@ static inline void skb_forward_csum(stru skb->ip_summed = CHECKSUM_NONE; } +bool skb_partial_csum_set(struct sk_buff *skb, u16 start, u16 off); #endif /* __KERNEL__ */ #endif /* _LINUX_SKBUFF_H */ diff -r 72be3d596d31 net/core/skbuff.c --- a/net/core/skbuff.c Wed Jan 09 15:57:40 2008 +1100 +++ b/net/core/skbuff.c Wed Jan 09 16:56:41 2008 +1100 @...
2010 Jun 27
0
[PATCH RFC] vhost-net: add dhclient work-around from userspace
...vant information was added in + * 8dc4194474159660d7f37c495e3fc3f10d0db8cc, + * and older userspace does not use it. + * One important user of recvmsg with AF_PACKET is dhclient, + * so we add a work-around just for DHCP. */ + /* We use source port to detect DHCP packets. */ + if (skb->ip_summed == CHECKSUM_PARTIAL && + skb->protocol == htons(ETH_P_IP) && + skb_network_header_len(skb) >= sizeof(struct iphdr) && + ip_hdr(skb)->protocol == IPPRODO_UDP && + skb_headlen(skb) >= skb_transport_offset(skb) + sizeof(struct udphdr)...
2010 Jun 27
0
[PATCH RFC] vhost-net: add dhclient work-around from userspace
...vant information was added in + * 8dc4194474159660d7f37c495e3fc3f10d0db8cc, + * and older userspace does not use it. + * One important user of recvmsg with AF_PACKET is dhclient, + * so we add a work-around just for DHCP. */ + /* We use source port to detect DHCP packets. */ + if (skb->ip_summed == CHECKSUM_PARTIAL && + skb->protocol == htons(ETH_P_IP) && + skb_network_header_len(skb) >= sizeof(struct iphdr) && + ip_hdr(skb)->protocol == IPPRODO_UDP && + skb_headlen(skb) >= skb_transport_offset(skb) + sizeof(struct udphdr)...
2013 Apr 17
3
Attempting to checksum a non-TCP/UDP packet, dropping a protocol 1 packet
Pasi, in http://readlist.com/lists/lists.xensource.com/xen-users/10/50495.html you mention a netback fix without identifying which one. In going over the changes as well as looking at the code, I can''t spot anything related, or see how non-TCP, non-UDP packets could pass checksum_setup(), and hence I don''t really understand how this problem can be considered fixed (for, in the
2015 Sep 24
2
[PATCH v2] Fix AF_PACKET ABI breakage in 4.2
...> if (sinfo->gso_type & SKB_GSO_TCPV4) > vnet_hdr.gso_type = VIRTIO_NET_HDR_GSO_TCPV4; > else if (sinfo->gso_type & SKB_GSO_TCPV6) > @@ -3181,9 +3183,9 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, > > if (skb->ip_summed == CHECKSUM_PARTIAL) { > vnet_hdr.flags = VIRTIO_NET_HDR_F_NEEDS_CSUM; > - vnet_hdr.csum_start = __cpu_to_virtio16(false, > + vnet_hdr.csum_start = __cpu_to_virtio16(vio_le(), > skb_checksum_start_offset(skb)); > - vnet_hdr.csum_offset = __cpu_to_virtio16(false,...