← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1640271] Re: Prefix delegation: bind LLA is removed from the gateway port with a regular neutron router

 

Reviewed:  https://review.openstack.org/408306
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=e48caf6736426e6cabc94fe3f7fbcdaf26c21dc1
Submitter: Jenkins
Branch:    master

commit e48caf6736426e6cabc94fe3f7fbcdaf26c21dc1
Author: Robert Li <baoli@xxxxxxxxx>
Date:   Wed Dec 7 15:54:26 2016 -0500

    Add agent object in router info
    
    agent object is a member of some sub classes of RouterInfo such as
    HaRouter. This changeset makes it a member of the RouterInfo class
    itself.
    
    Prior to the change, the agent object has been passed in to some
    methods of RouterInfo that requires it to access the agent object's
    member information. The bugs in concern requires calling the PD object
    that is a member of the agent object to get IPs that need to be
    preserved in the gateway port. Without this change, signatures of the
    methods external_gateway_added() and external_gateway_updated() have
    to be modified to pass in the agent object. And any subclass of
    RouterInfo that overwrites or uses the methods must be changed as
    well. It doesn't seem to make sense considering the subclass such as
    HaRouter has the agent object as one of its members already.
    
    The changeset fixes the bugs by preserving the LLAs for prefix
    delegation when the gateway port is being updated.
    
    Closes-Bug: #1639042
    Closes-Bug: #1640271
    
    Change-Id: I61c6128ed1973deb8440c54234e77a66987d7e28


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1640271

Title:
  Prefix delegation: bind LLA is removed from the gateway port with a
  regular neutron router

Status in neutron:
  Fix Released

Bug description:
  Following the wiki http://docs.openstack.org/mitaka/networking-guide
  /config-ipv6.html, setup PD in a openstack deployment. Create a router
  and add a PD-enabled subnet as in below:

      neutron net-create ipv6-pd-net
      neutron subnet-create --ip-version 6 --name ipv6-pd-subnet --ipv6-address-mode slaac --ipv6-ra-mode slaac --use-default-subnetpool ipv6-pd-net

      neutron router-create pd-router
      neutron router-interface-add pd-router ipv6-pd-subnet
      neutron router-gateway-set pd-router public

  Prefix will be obtained successfully. However, check the router
  namespace, and the bind LLA for the dibbler client that is created to
  request for prefix no longer exists any more. The only LLA shown is
  the default LLA on the qg-xxx interface.

  231: qg-302d8d0d-65: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default 
      link/ether fa:16:3e:3a:92:b5 brd ff:ff:ff:ff:ff:ff
      inet 172.24.4.10/24 brd 172.24.4.255 scope global qg-302d8d0d-65
         valid_lft forever preferred_lft forever
      inet6 2001:db8::a/64 scope global 
         valid_lft forever preferred_lft forever
      inet6 fe80::f816:3eff:fe3a:92b5/64 scope link 
         valid_lft forever preferred_lft forever

  See logs in the attachment that shows the bind LLA is removed the
  second time the gateway port is updated by init_router_port().

  This means, the renewing of the prefix by the dibbler client will be
  failing later.

  https://bugs.launchpad.net/neutron/+bug/1639042 reported a symptom
  that is also caused by the removal of the bind LLA. Both bugs may
  share the same root cause: bind LLA should be preserved until the pd
  subnet is removed from the router.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1640271/+subscriptions


References