← Back to team overview

kernel-packages team mailing list archive

[Bug 1584042] Re: Hyper-V NIC cannot pass IPv6 UDP packets by default until protocol offload is disabled

 

root@Client:/home/ssi# uname -a
Linux Client 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

root@Client:/home/ssi# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04 LTS
Release:	16.04
Codename:	denial

root@Client:/home/ssi# lsblk -o NAME,SIZE
NAME                   SIZE
fd0                      4K
sda                     15G
├─sda1                 487M
├─sda2                   1K
└─sda5                14.5G
  ├─Client--vg-root   13.5G
  └─Client--vg-swap_1    1G
sr0                   1024M

root@Client:/home/ssi# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA


root@Client:/home/ssi# lshw -sanitize
computer                  
    description: Computer
    width: 64 bits
    capabilities: smbios-2.3 vsyscall32
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 983MiB
     *-cpu
          product: Intel(R) Xeon(R) CPU           E5507  @ 2.27GHz
          vendor: Intel Corp.
          physical id: 1
          bus info: cpu@0
          width: 64 bits
          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx x86-64 constant_tsc rep_good nopl pni ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm
     *-pci
          description: Host bridge
          product: 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled)
          vendor: Intel Corporation
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 03
          width: 32 bits
          clock: 33MHz
        *-isa
             description: ISA bridge
             product: 82371AB/EB/MB PIIX4 ISA
             vendor: Intel Corporation
             physical id: 7
             bus info: pci@0000:00:07.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: isa bus_master
             configuration: latency=0
        *-ide
             description: IDE interface
             product: 82371AB/EB/MB PIIX4 IDE
             vendor: Intel Corporation
             physical id: 7.1
             bus info: pci@0000:00:07.1
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: ide bus_master
             configuration: driver=ata_piix latency=0
             resources: irq:0 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:ffa0(size=16)
        *-bridge UNCLAIMED
             description: Bridge
             product: 82371AB/EB/MB PIIX4 ACPI
             vendor: Intel Corporation
             physical id: 7.3
             bus info: pci@0000:00:07.3
             version: 02
             width: 32 bits
             clock: 33MHz
             capabilities: bridge
             configuration: latency=0
        *-display
             description: VGA compatible controller
             product: Hyper-V virtual VGA
             vendor: Microsoft Corporation
             physical id: 8
             bus info: pci@0000:00:08.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: vga_controller bus_master rom
             configuration: driver=hyperv_fb latency=0
             resources: irq:11 memory:f8000000-fbffffff
     *-scsi:0
          physical id: 2
          logical name: scsi1
          capabilities: emulated
        *-cdrom
             description: DVD reader
             physical id: 0.0.0
             bus info: scsi@1:0.0.0
             logical name: /dev/cdrom
             logical name: /dev/dvd
             logical name: /dev/sr0
             capabilities: audio dvd
             configuration: status=nodisc
     *-scsi:1
          physical id: 3
          logical name: scsi2
        *-disk
             description: SCSI Disk
             physical id: 0.0.0
             bus info: scsi@2:0.0.0
             logical name: /dev/sda
             size: 15GiB (16GB)
             capabilities: partitioned partitioned:dos
             configuration: logicalsectorsize=512 sectorsize=4096 signature=053b3857
           *-volume:0
                description: Linux filesystem partition
                vendor: Linux
                physical id: 1
                bus info: scsi@2:0.0.0,1
                logical name: /dev/sda1
                logical name: /boot
                version: 1.0
                serial: [REMOVED]
                size: 487MiB
                capacity: 487MiB
                capabilities: primary bootable extended_attributes large_files ext2 initialized
                configuration: filesystem=ext2 lastmountpoint=/boot modified=2016-05-27 06:13:26 mount.fstype=ext2 mount.options=rw,relatime,block_validity,barrier,user_xattr,acl,stripe=4 mounted=2016-05-27 03:14:05 state=mounted
           *-volume:1
                description: Extended partition
                physical id: 2
                bus info: scsi@2:0.0.0,2
                logical name: /dev/sda2
                size: 14GiB
                capacity: 14GiB
                capabilities: primary extended partitioned partitioned:extended
              *-logicalvolume
                   description: Linux LVM Physical Volume partition
                   physical id: 5
                   logical name: /dev/sda5
                   serial: [REMOVED]
                   size: 14GiB
                   capacity: 14GiB
                   capabilities: multi lvm2
  *-network
       description: Ethernet interface
       physical id: 1
       logical name: eth0
       serial: [REMOVED]
       capabilities: ethernet physical
       configuration: broadcast=yes driver=hv_netvsc firmware=N/A link=yes multicast=yes

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1584042

Title:
  Hyper-V NIC cannot pass IPv6 UDP packets by default until protocol
  offload is disabled

Status in linux package in Ubuntu:
  Confirmed

Bug description:

  Hi,

  On a client server, I can't get a response from a name server in ipv6+udp. On the same server, it works fine in tcp.
  If I log on my name server, I can get a response from himself but, as a client, it can't get a response from another name server.

  here are the steps to reproduce : 
  - Create a new server using Ubuntu server 16.04. Set it to use ipv4 and use your preferred name server. Select absolutely nothing as functionality. 
  - check some nslookup and apt-get stuff to verify network is OK
  - add ipv6 to the interface and refer to an IPV6 nameserver. I have 3 and thats why I noticed the problem >> All 3 ipv6 nameservers are filling the 3 places in resolv.conf.
  - if you don't have 3 ipv6 nameservers, just add one and comment the line with the ipv4 name server.
  - verify your resolv.conf. Should only content ipv6 reference.
  - Now, you can't nslookup anymore... 
  - add some tests : "dig @ipv4server google.com" works but "dig @ipv6server google.com" don't

  
  Here a more tests : 

  
  Nameserver1 : Nameserver1.MyDomain :  XXX.YYY.ZZZ.250 / xxxx:yyyy:zzzz::250
  Client 		StandAloneServer.MyDomain		:   XXX.YYY.ZZZ.209 / xxxx:yyyy:zzzz::209

  With IPV4

  
  # dig @XXX.YYY.ZZZ.226 www.google.fr

  /var/log/named/queries.log on Nameserver1:
  20-May-2016 12:25:02.834 queries: info: client XXX.YYY.ZZZ.209#35116 (www.google.fr): query: www.google.fr IN A +E (XXX.YYY.ZZZ.226)

  Tcp Dump on Nameserver1:
  12:25:02.834092 IP StandAloneServer.MyDomain.35116 > Nameserver1.MyDomain.domain: 62949+ [1au] A? www.google.fr. (42)
  12:25:02.834395 IP Nameserver1.MyDomain.domain > StandAloneServer.MyDomain.35116: 62949 1/4/5 A 216.58.210.195 (204)

  Tcp Dump on Client
  12:25:02.668200 IP StandAloneServer.MyDomain.35116 > Nameserver1.MyDomain.domain: 62949+ [1au] A? www.google.fr. (42)
  12:25:02.669573 IP Nameserver1.MyDomain.domain > StandAloneServer.MyDomain.35116: 62949 1/4/5 A 216.58.210.195 (204)

  
  RESULT:

  ; <<>> DiG 9.10.3-P4-Ubuntu <<>> @XXX.YYY.ZZZ.226 www.google.fr
  ; (1 server found)
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49591
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 5
  ;; OPT PSEUDOSECTION:
  ; EDNS: version: 0, flags:; udp: 4096
  ;; QUESTION SECTION:
  ;www.google.fr.			IN	A
  ;; ANSWER SECTION:
  www.google.fr.		300	IN	A	216.58.210.195
  ;; AUTHORITY SECTION:
  google.fr.		171625	IN	NS	ns1.google.com.
  [TRUNCATED]



  WITH IPV6
  # dig @xxxx:yyyy:zzzz::226 www.google.fr 

  NOTE  : I only asked once, it created 3 queries with 5 secs
  d’intervalle environ

  /var/log/named/queries.log on Nameserver1:
  20-May-2016 12:32:34.902 queries: info: client xxxx:yyyy:zzzz::209#35362 (www.google.fr): query: www.google.fr IN A +E (xxxx:yyyy:zzzz::226)
  20-May-2016 12:32:39.902 queries: info: client xxxx:yyyy:zzzz::209#35362 (www.google.fr): query: www.google.fr IN A +E (xxxx:yyyy:zzzz::226)
  20-May-2016 12:32:44.902 queries: info: client xxxx:yyyy:zzzz::209#35362 (www.google.fr): query: www.google.fr IN A +E (xxxx:yyyy:zzzz::226)

  Tcp Dump on Nameserver1:
  12:32:34.902598 IP6 StandAloneServer.MyDomain.35362 > Nameserver1.MyDomain.domain: 23393+ [1au] A? www.google.fr. (42)
  12:32:34.902994 IP6 Nameserver1.MyDomain.domain > StandAloneServer.MyDomain.35362: 23393 1/4/5 A 216.58.210.195 (204)
  …
  12:32:39.902644 IP6 StandAloneServer.MyDomain.35362 > Nameserver1.MyDomain.domain: 23393+ [1au] A? www.google.fr. (42)
  12:32:39.902975 IP6 Nameserver1.MyDomain.domain > StandAloneServer.MyDomain.35362: 23393 1/4/5 A 216.58.210.195 (204)
  …
  12:32:39.902644 IP6 StandAloneServer.MyDomain.35362 > Nameserver1.MyDomain.domain: 23393+ [1au] A? www.google.fr. (42)
  12:32:39.902975 IP6 Nameserver1.MyDomain.domain > StandAloneServer.MyDomain.35362: 23393 1/4/5 A 216.58.210.195 (204)

  
  Tcp Dump on Client12:32:34.725312 IP6 StandAloneServer.MyDomain.35362 > Nameserver1.MyDomain.domain: 23393+ [1au] A? www.google.fr. (42)
  12:32:34.726036 IP6 Nameserver1.MyDomain.domain > StandAloneServer.MyDomain.35362: 23393 1/4/5 A 216.58.210.195 (204)
  …
  12:32:39.725199 IP6 StandAloneServer.MyDomain.35362 > Nameserver1.MyDomain.domain: 23393+ [1au] A? www.google.fr. (42)
  12:32:39.726045 IP6 Nameserver1.MyDomain.domain > StandAloneServer.MyDomain.35362: 23393 1/4/5 A 216.58.210.195 (204)
  …
  12:32:44.725288 IP6 StandAloneServer.MyDomain.35362 > Nameserver1.MyDomain.domain: 23393+ [1au] A? www.google.fr. (42)
  12:32:44.725944 IP6 Nameserver1.MyDomain.domain > StandAloneServer.MyDomain.35362: 23393 1/4/5 A 216.58.210.195 (204)

  
  RESULT

  
  ; <<>> DiG 9.10.3-P4-Ubuntu <<>> @xxxx:yyyy:zzzz::226 www.google.fr
  ; (1 server found)
  ;; global options: +cmd
  ;; connection timed out; no servers could be reached

  
  but, if I do the same query with the tcp flag, all is OK : 

  
  # dig +tcp @xxxx:yyyy:zzzz::226 www.google.fr 

  ; <<>> DiG 9.10.3-P4-Ubuntu <<>> +tcp xxxx:yyyy:zzzz::226 www.google.fr
  ; (1 server found)
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41105
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 5

  ;; OPT PSEUDOSECTION:
  ; EDNS: version: 0, flags:; udp: 4096
  ;; QUESTION SECTION:
  ;www.google.fr.			IN	A

  ;; ANSWER SECTION:
  www.google.fr.		300	IN	A	216.58.210.195

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1584042/+subscriptions