Bug 1301081

Summary: IPv6 boot does not work in SLOF when TFTP server is behind a router
Product: Red Hat Enterprise Linux 7 Reporter: Thomas Huth <thuth>
Component: SLOFAssignee: Thomas Huth <thuth>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 7.3CC: dgibson, juzhang, michen, mrezanin, qzhang, xuhan, xuma, zhengtli
Target Milestone: rc   
Target Release: ---   
Hardware: ppc64le   
OS: Unspecified   
Whiteboard:
Fixed In Version: SLOF-20160223-2.gitdbbfda4.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 04:33:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1287716    

Description Thomas Huth 2016-01-22 14:36:40 UTC
Description of problem:
When booting a KVM guest on ppc64 via IPv6, the SLOF firmware fails to connect to the TFTP server if there is a router between the TFTP server and the guest.

Version-Release number of selected component (if applicable):
SLOF-20150313-5.gitc89b0df.el7.noarch

How reproducible:
100%

Steps to Reproduce:
1. Set up a guest network with a client, a TFTP server, and a router (which includes a DHCPv6 server) inbetween.
2. Boot the TFTP server and the router/DHCPv6 server
3. Boot the client, press "s" while the firmware is booting, then type the following command at the firmware prompt:
   boot net:ipv6

Actual results:
SLOF fails to load the boot image from the TFTP server.

Expected results:
SLOF should succeed in downloading the boot image.

Additional info:
It's a known bug in upstream code: SLOF does not handle routing information in the IPv6 code yet.

Comment 1 Thomas Huth 2016-04-07 19:08:13 UTC
Suggested patch upstream: https://lists.ozlabs.org/pipermail/slof/2016-April/000966.html

Comment 2 Miroslav Rezanina 2016-05-06 12:47:26 UTC
Fix included in SLOF-20160223-2.gitdbbfda4.el7

Comment 4 Zhengtong 2016-06-28 09:42:43 UTC
Reproduced the bug with the slof: SLOF-20160223-1.gitdbbfda4.el7.noarch

step:
1. set up router/dhcpv6 , and configure the ipv6 address for corresponding interface. Turn on forwarding function, and dhcp function
2. set up TFTP server. which will prepare the kernel : zImage
3. get the file zImage from guest

result:
------------------------------------------------------------------
Using default console: /vdevice/vty@71000000
     
  Welcome to Open Firmware

  Copyright (c) 2004, 2011 IBM Corporation All rights reserved.
  This program and the accompanying materials are made available
  under the terms of the BSD License available at
  http://www.opensource.org/licenses/bsd-license.php


        ..`. ..     .......  ..           ......      .......
    ..`...`''.`'. .''``````..''.       .`''```''`.  `''``````
       .`` .:' ': `''.....  .''.       ''`     .''..''.......
         ``.':.';. ``````''`.''.      .''.      ''``''`````'`
         ``.':':`   .....`''.`'`...... `'`.....`''.`'`       
        .`.`'``   .'`'`````.  ``''''''  ``''`'''`. `'`       
  Type 'boot'  and press return  to  continue  booting  the system.
  Type 'reset-all'  and  press  return  to   reboot   the   system.


Ready! 
0 > boot net:ipv6  
Trying to load:  from: /pci@800000020000000/ethernet@0:ipv6 ... 
 Initializing NIC
  Reading MAC address from device: 02:ca:fe:00:01:02
  Requesting information via DHCPv6: done
  Using IPv6 address: fc00:1::2ca:feff:fe00:102
  Requesting file "zImage" via TFTP from fc00:2::ca:feff:fe00:302
  Receiving data:  0 KBytes
Repeating TFTP read request...

Repeating TFTP read request...

Repeating TFTP read request...

Repeating TFTP read request...

Repeating TFTP read request...

E3015 (net) TFTP error occurred after missing 21 responses

E3407: Load failed
--------------------------------------------------------------------

******Update the slof version to  SLOF-20160223-2.gitdbbfda4.el7

The result is good:
Using default console: /vdevice/vty@71000000
     
  Welcome to Open Firmware

  Copyright (c) 2004, 2011 IBM Corporation All rights reserved.
  This program and the accompanying materials are made available
  under the terms of the BSD License available at
  http://www.opensource.org/licenses/bsd-license.php


        ..`. ..     .......  ..           ......      .......
    ..`...`''.`'. .''``````..''.       .`''```''`.  `''``````
       .`` .:' ': `''.....  .''.       ''`     .''..''.......
         ``.':.';. ``````''`.''.      .''.      ''``''`````'`
         ``.':':`   .....`''.`'`...... `'`.....`''.`'`       
        .`.`'``   .'`'`````.  ``''''''  ``''`'''`. `'`       
  Type 'boot'  and press return  to  continue  booting  the system.
  Type 'reset-all'  and  press  return  to   reboot   the   system.


Ready! 
0 > boot net:ipv6  
Trying to load:  from: /pci@800000020000000/ethernet@0:ipv6 ... 
 Initializing NIC
  Reading MAC address from device: 02:ca:fe:00:01:02
  Requesting information via DHCPv6: done
  Using IPv6 address: fc00:1::2ca:feff:fe00:102
  Requesting file "zImage" via TFTP from fc00:2::ca:feff:fe00:302
  Receiving data:  18307 KBytes
  TFTP: Received zImage (18307 KBytes)
ELF64: VirtAddr(c000000000000000) != PhysAddr(0) not supported, aborting


So , this bus could be marked verified.

Comment 6 errata-xmlrpc 2016-11-04 04:33:28 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-2355.html