Bug 1475983 - [RFE] Please backport support for AdvRASrcAddress (selection of RA source address)
[RFE] Please backport support for AdvRASrcAddress (selection of RA source add...
Status: ASSIGNED
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: radvd (Show other bugs)
7.3
All Linux
unspecified Severity medium
: rc
: ---
Assigned To: Pavel Zhukov
qe-baseos-daemons
: FutureFeature
Depends On:
Blocks: 1534569 1549614
  Show dependency treegraph
 
Reported: 2017-07-27 13:10 EDT by Robert Scheck
Modified: 2018-05-01 18:15 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Robert Scheck 2017-07-27 13:10:09 EDT
Description of problem:
Currently the shipped radvd version does not support AdvRASrcAddress (that's
selection of RA source address). This is required for fully redundant setups,
e.g. with two routers, keepalived and VRRP while having only one client that
has 2 uplinks. A more complete description of the specific scenario is shown
at https://github.com/reubenhwk/radvd/issues/45#issuecomment-103113580 as a
visualized example.

https://github.com/robbat2/radvd/commit/9aad6f02decbb65946121aef9347c17f659124b0
is the fully working upstream implementation that was done for radvd 2.16, so
please backport it to RHEL (either the feature itself or rebase to >= 2.16).

Configuration example for /etc/radvd.conf (same file on both routers)
--- snipp ---
interface eth1
{
  AdvSendAdvert on;
  AdvRASrcAddress { fe80::1; };
  prefix 2001:db8:1::1/64 { };
  RDNSS 2001:db8:1::1 { };
};
--- snapp ---

Configuration example for /etc/keepalived/keepalived.conf (same relevant part
on both routers):
--- snipp ---
vrrp_instance VRRP_INSTANCE {
  # [...]
  virtual_ipaddress {
    2001:db8:0::1/64 dev eth1
    fe80::1/64 dev eth1
  }
  # [...]
}
--- snapp ---

What happens without this AdvRASrcAddress? The client gets two default
routes, one like fe80::router1 and one like fe80::router2. However with 
keepalived and VRRP, only one (either router1 or router2) has a globally 
routeable IPv6 address, thus the client might be "offline" depending on
the chosen default route. Playing with settings like AdvDefaultLifetime
or AdvDefaultPreference does not make sense, because they are too slow
to be useful for quick keepalived takeovers (and fallbacks).

Version-Release number of selected component (if applicable):
radvd-1.9.2-9.el7

How reproducible:
See above and below.

Actual results:
No support for AdvRASrcAddress (selection of RA source address)

Expected results:
Support for AdvRASrcAddress (selection of RA source address)
Comment 2 Robert Scheck 2017-07-27 13:12:48 EDT
Cross-filed ticket 01899369 on the Red Hat customer portal.
Comment 3 Robert Scheck 2017-07-27 13:14:43 EDT
Bah, the global unique IPv6 addresses should be indeed all exactly the same
one, my fault when obfuscating from real-world configuration...

Note You need to log in before you can comment on or make changes to this bug.