Skip to contentSkip to conversation

skbuff: Fix skb checksum flag on skb pull

net Andrew Vagin 2 participants 4 messages Sep 28, 2015 – Sep 29, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi,

With this patch, I can't connect two local tcp ipv6 sockets.

[root@fc22-vm criu]# strace -e network python ipv6.py
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET6, sin6_port=htons(8976), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
listen(3, 1) = 0
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET6, sin6_port=htons(8976), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ETIMEDOUT (Connection timed out)

[root@fc22-vm criu]# cat ipv6.py
import socket

srv = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) srv.bind(("::0", 8976))
srv.listen(1)
c = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) c.connect(("::1", 8976))

#1 lore raw
Quoted 11 lines · Andrew Vagin

Hi,

With this patch, I can't connect two local tcp ipv6 sockets.

[root@fc22-vm criu]# strace -e network python ipv6.py
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET6, sin6_port=htons(8976), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
listen(3, 1) = 0
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET6, sin6_port=htons(8976), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ETIMEDOUT (Connection timed out)

Quoted 9 lines

[root@fc22-vm criu]# cat ipv6.py
import socket

srv = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) srv.bind(("::0", 8976))
srv.listen(1)
c = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) c.connect(("::1", 8976))

Thanks for the bug report. I am working on fix. I will send it out soon.

#2 lore raw
In reply to Andrew Vagin
Quoted 11 lines · Andrew Vagin

Hi,

With this patch, I can't connect two local tcp ipv6 sockets.

[root@fc22-vm criu]# strace -e network python ipv6.py
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET6, sin6_port=htons(8976), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
listen(3, 1) = 0
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET6, sin6_port=htons(8976), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ETIMEDOUT (Connection timed out)

Quoted 9 lines

[root@fc22-vm criu]# cat ipv6.py
import socket

srv = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) srv.bind(("::0", 8976))
srv.listen(1)
c = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) c.connect(("::1", 8976))

Can you try following patch.
https://patchwork.ozlabs.org/patch/523632/

#3 lore raw
Quoted 22 lines · Pravin Shelar
Quoted 11 lines · Andrew Vagin

Hi,

With this patch, I can't connect two local tcp ipv6 sockets.

[root@fc22-vm criu]# strace -e network python ipv6.py
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3
bind(3, {sa_family=AF_INET6, sin6_port=htons(8976), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
listen(3, 1) = 0
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET6, sin6_port=htons(8976), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ETIMEDOUT (Connection timed out)

Quoted 9 lines

[root@fc22-vm criu]# cat ipv6.py
import socket

srv = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) srv.bind(("::0", 8976))
srv.listen(1)
c = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) c.connect(("::1", 8976))

Quoted 2 lines

Can you try following patch.
https://patchwork.ozlabs.org/patch/523632/

It works for me. Thanks.