← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1923592] Re: [Routed networks] Router routes to other segment CIDRs should have a gateway IP

 

Hello:

After investigating this issue, I found that the router external
interface (gateway port) configures the external network "extra subnets"
as onlink routes. The "extra subnets" are the additional subnets apart
from the gateway port IP CIDR. In this case, the extra subnets are those
RPN subnets that are not connected to the router port.

By default, when a router gateway port is enabled, the extra subnets CIDRs are set as onlink routes in the router namespace. E.g.:
$ ip netns exec qrouter-8b56474d-027c-4d96-805d-869ceb92cd96 ip r
...
10.222.144.0/22 dev qg-f5b03925-e4 proto 112 scope link
10.222.144.0/22 dev qg-f5b03925-e4 proto static scope link
10.222.152.0/22 dev qg-f5b03925-e4 proto 112 scope link
10.222.152.0/22 dev qg-f5b03925-e4 proto static scope link
10.222.156.0/22 dev qg-f5b03925-e4 proto 112 scope link
10.222.156.0/22 dev qg-f5b03925-e4 proto static scope link

The justification for those onlink routes is described in the patch that
added them [1].


The case reported in this bug is a particular condition where the gateway router is connected to a RPN, specifically to a segment (one subnet) of this network. That means this gateway port has broadcast connectivity to only this subnet CIDR. As commented, to have connectivity to the other subnets, the admin should manually add those extra routes on the router. E.g.:
  $ openstack router set --route destination=192.168.50.0/24,gateway=192.168.20.10 router1

That will overwrite the link routes and create global ones with (1) the destination IP, (2) the GW IP and (3) the device. E.g.:
...
192.168.50.0/24 via 192.168.20.10 dev qg-1d690261-35 proto 112
192.168.50.0/24 via 192.168.20.10 dev qg-1d690261-35 proto static
192.168.60.0/24 via 192.168.20.10 dev qg-1d690261-35 proto 112
192.168.60.0/24 via 192.168.20.10 dev qg-1d690261-35 proto static


This bug should be closed.

Regards.

[1]https://review.opendev.org/c/openstack/neutron/+/90250


** Changed in: neutron
       Status: Triaged => Won't Fix

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

Title:
  [Routed networks] Router routes to other segment CIDRs should have a
  gateway IP

Status in neutron:
  Won't Fix

Bug description:
  The router namespace routes for other segment CIDRs, should have the
  "via" parameter to the gateway IP address.

  The environment I'm using has HA routers; I didn't test yet with DVR
  or legacy routers.

  For example, in my env [1]:
  - Network: public
  - Subnets:
    (s1) aebc3fc1-d984-40aa-8405-db51df03f60d: 10.46.54.0/26,  gwip: 10.46.54.62
    (s2) 55a66c34-3643-49ba-ab8c-326ee76e5f35: 10.46.54.64/26, gwip: 10.46.54.126
  - Router namespace:

  [root@controller-0 ~]# ip netns exec $r ip r
  default via 10.46.54.62 dev qg-7847fd00-72 proto 112
  default via 10.46.54.62 dev qg-7847fd00-72 proto static
  10.1.0.0/16 dev qr-d224ca69-77 proto kernel scope link src 10.1.0.1
  10.46.54.0/26 dev qg-7847fd00-72 proto kernel scope link src 10.46.54.34
  10.46.54.64/26 dev qg-7847fd00-72 proto 112 scope link
  10.46.54.64/26 dev qg-7847fd00-72 proto static scope link
  169.254.0.0/24 dev ha-91b6c056-57 proto kernel scope link src 169.254.0.233
  169.254.192.0/18 dev ha-91b6c056-57 proto kernel scope link src 169.254.193.151

  This router is attached to the segment of the subnet
  aebc3fc1-d984-40aa-8405-db51df03f60d (s1).

  The route to 10.46.54.64/26 (the other subnet/segment this router is
  NOT attached to), should have the gateway IP address of the subnet
  that belongs to the segment the router is attached to; in this case,
  as commented, (s1).

  [1]http://paste.openstack.org/show/804429/

  Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1945061

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


References