Page MenuHomePhabricator

cloudgw: add support and enable IPv6
Closed, ResolvedPublic

Description

Add support and enable IPv6 on cloudgw.

Event Timeline

Restricted Application removed a subscriber: taavi. · View Herald TranscriptSep 13 2024, 12:55 PM

Change #1077712 had a related patch set uploaded (by Arturo Borrero Gonzalez; author: Arturo Borrero Gonzalez):

[operations/puppet@production] cloudgw: add wan IPv6 support

https://gerrit.wikimedia.org/r/1077712

Change #1077712 merged by Arturo Borrero Gonzalez:

[operations/puppet@production] cloudgw: add IPv6 support

https://gerrit.wikimedia.org/r/1077712

Mentioned in SAL (#wikimedia-cloud) [2024-10-10T09:19:52Z] <arturo> [codfw1dev] enable IPv6 on cloudgw (T374716)

Change #1079449 had a related patch set uploaded (by Arturo Borrero Gonzalez; author: Arturo Borrero Gonzalez):

[operations/puppet@production] cloudgw: don't enable sysctl rp_filter for IPv6

https://gerrit.wikimedia.org/r/1079449

Change #1079449 merged by Arturo Borrero Gonzalez:

[operations/puppet@production] cloudgw: fix IPv6 settings

https://gerrit.wikimedia.org/r/1079449

Change #1079508 had a related patch set uploaded (by Arturo Borrero Gonzalez; author: Arturo Borrero Gonzalez):

[operations/puppet@production] cloudgw: set IPv6 forwarding in all interfaces

https://gerrit.wikimedia.org/r/1079508

Change #1079515 had a related patch set uploaded (by Arturo Borrero Gonzalez; author: Arturo Borrero Gonzalez):

[operations/puppet@production] cloudgw: refresh forwarding firewall to accomodate for IPv6

https://gerrit.wikimedia.org/r/1079515

Change #1079508 merged by Arturo Borrero Gonzalez:

[operations/puppet@production] cloudgw: set IPv6 forwarding in all interfaces

https://gerrit.wikimedia.org/r/1079508

Change #1079515 merged by Arturo Borrero Gonzalez:

[operations/puppet@production] cloudgw: refresh forwarding firewall to accomodate for IPv6

https://gerrit.wikimedia.org/r/1079515

Mentioned in SAL (#wikimedia-cloud) [2024-10-11T15:31:37Z] <arturo> cloudgw maintenance firewall change T374716

FWIW I was curious about the setting so I labbed this up, and got the exact same results (on vrf-enabled interfaces and without).

net.ipv6.conf.all.forwarding must be set to 1 for forwarding to work for IPv6. This is not the case for IPv4, where it can be set on a per-interface basis. Some docs I found that seem to confirm this here:

https://linux.die.net/HOWTO/Linux+IPv6-HOWTO/proc-sys-net-ipv6..html

Also when setting the 'all' setting on it switches on all the various interface-specific toggles. I found if even I disabled ipv6 forwarding for a given interface after this (i.e. net.ipv6.conf.eth0.forwarding = 0) the system still forwards on that interface. So it seems the 'all' sysctl controls v6 forwarding for everything, and the per-interface controls are basically useless (carry over from v4 which maybe shouldn't be there?)

We got it all working on 2024-10-11.