Public bug reported:
I have some VMs running in a host (KVM), and every time any VM sends an ICMP6
Router Advertisement, we get the following log in syslog:
Aug 10 11:18:36 Hostname kernel: [1722430.045240] IPv6 header not found
For the traffic, I use QinQ (802.1Q in both tags), the inner tag is set
with OVS in the tap, and the outer is set with a veth of vlan type, in
the following way:
+-------------------------------------------------------+
| +-----------+ HOST |
| | | Unbuntu 16.04 |
| | VM-1 | 4.4.0-62-generic
| | | |
| +----+------+ |
| | |
| |TAG=1 |
| +-----------------------+ |
| | OVS | |
| +---------+-------------+ |
| | veth1.203 |
| | |
| | |
| +veth0 |
| +---------------------+ |
| | Bridge | |
| +-------+-------------+ |
| | |
| | |
| +--+----+ |
| |ens11f1| |
+-------------------------------------------------------+
'Regular traffic' (non ICMP6) seems to work fine, the problem happens
apparently only with ICMPv6 (but the packets seem to progress right).
I checked the code writing that log, and I think it seems to be in
'kernel/net/ipv6/exthdrs_core.c'
if (*offset) {
struct ipv6hdr _ip6, *ip6;
ip6 = skb_header_pointer(skb, *offset, sizeof(_ip6), &_ip6);
if (!ip6 || (ip6->version != 6)) {
printk(KERN_ERR "IPv6 header not found\n");
return -EBADMSG;
}
start = *offset + sizeof(struct ipv6hdr);
nexthdr = ip6->nexthdr;
}
but both the protocol and protocol version seem right in tcpdump:
11:28:38.675686 02:00:40:00:21:31 > 33:33:00:00:00:01, ethertype 802.1Q
(0x8100), length 158: vlan 203, p 0, ethertype 802.1Q, vlan 49, p 0, ethertype
IPv6, fe80::40ff:fe00:2131 > ff02::1: ICMP6, router advertisement, length 96
`....`:...........@...!1................... @...............@.!1..........@....
........*.. ..!1................*.. ..!1............. '.
11:28:39.300076 02:00:40:00:23:2a > 33:33:00:00:00:01, ethertype 802.1Q
(0x8100), length 158: vlan 204, p 0, ethertype 802.1Q, vlan 193, p 0, ethertype
IPv6, fe80::40ff:fe00:232a > ff02::1: ICMP6, router advertisement, length 96
`....`:...........@...#*...................%@...............@.#*..........@....
........*.. ..#*................*.. ..#*.............
I also debugged a bit with systempad:
probe kernel.statement("*@net/ipv6/exthdrs_core.c:200") {
printf("Function call %s -> %s\n", thread_indent(1), ppfunc());
printf("%s\n", $$parms$);
printf("%s\n",$$locals$$);
printf("\nIP6->%s\n",$_ip6$$)
}
And the problem seems to be in the version field?
IP6->{.priority=8, .version=4, .flow_lbl="9�?���F�r����� ",
.payload_len=34832, .nexthdr='\377', .hop_limit='\377',
.saddr={.in6_u={.u6_addr8="F�r����� ", .u6_addr16=[60998, ...],
.u6_addr32=[2171792966, ...]}}, .daddr={.in6_u={.u6_addr8="#�q�����",
.u6_addr16=[35619, ...], .u6_addr32=[2171702051, ...]}}}
Regards,
Andrés
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-4.4.0-62-generic 4.4.0-62.83
ProcVersionSignature: Ubuntu 4.4.0-62.83-generic 4.4.40
Uname: Linux 4.4.0-62-generic x86_64
AlsaDevices:
total 0
crw-rw---- 1 root audio 116, 1 Jul 21 12:50 seq
crw-rw---- 1 root audio 116, 33 Jul 21 12:50 timer
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay'
ApportVersion: 2.20.1-0ubuntu2.9
Architecture: amd64
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord'
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq',
'/dev/snd/timer'] failed with exit code 1:
Date: Wed Aug 16 14:45:55 2017
HibernationDevice: RESUME=UUID=bc05b7d7-5163-44ea-8c18-89f5d02f272c
InstallationDate: Installed on 2017-07-13 (34 days ago)
InstallationMedia: Ubuntu-Server 16.04.2 LTS "Xenial Xerus" - Release amd64
(20170215.8)
IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig'
JournalErrors:
Error: command ['journalctl', '-b', '--priority=warning', '--lines=1000']
failed with exit code 1: Hint: You are currently not seeing messages from other
users and the system.
Users in the 'systemd-journal' group can see all messages. Pass -q to
turn off this notice.
No journal files were opened due to insufficient permissions.
MachineType: FOXCONN CL7100
PciMultimedia:
ProcEnviron:
TERM=xterm-256color
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=es_ES.UTF-8
SHELL=/bin/bash
ProcFB: 0 astdrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-62-generic
root=UUID=545e3d8c-c105-4403-b599-c069ff58c690 ro
RelatedPackageVersions:
linux-restricted-modules-4.4.0-62-generic N/A
linux-backports-modules-4.4.0-62-generic N/A
linux-firmware 1.157.11
RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
WifiSyslog:
dmi.bios.date: 07/18/2016
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: HGP0104F
dmi.board.asset.tag: NULL
dmi.board.name: CL670R G3 6S
dmi.board.vendor: FOXCONN
dmi.board.version: 1A4258V00-600-G
dmi.chassis.asset.tag: NULL
dmi.chassis.type: 23
dmi.chassis.vendor: FOXCONN
dmi.chassis.version: 1A42AV600-600-G
dmi.modalias:
dmi:bvnAmericanMegatrendsInc.:bvrHGP0104F:bd07/18/2016:svnFOXCONN:pnCL7100:pvrPVT1-X05:rvnFOXCONN:rnCL670RG36S:rvr1A4258V00-600-G:cvnFOXCONN:ct23:cvr1A42AV600-600-G:
dmi.product.name: CL7100
dmi.product.version: PVT1-X05
dmi.sys.vendor: FOXCONN
** Affects: linux (Ubuntu)
Importance: Undecided
Status: Confirmed
** Tags: amd64 apport-bug xenial
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1711124
Title:
“IPV6 header not found” log with ICMPv6 with QinQ
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1711124/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs