Patrick Rohr
2d6c1375ba
BACKPORT: net: change accept_ra_min_rtr_lft to affect all RA lifetimes
...
commit 5027d54a9c30bc7ec808360378e2b4753f053f25 upstream.
accept_ra_min_rtr_lft only considered the lifetime of the default route
and discarded entire RAs accordingly.
This change renames accept_ra_min_rtr_lft to accept_ra_min_lft, and
applies the value to individual RA sections; in particular, router
lifetime, PIO preferred lifetime, and RIO lifetime. If any of those
lifetimes are lower than the configured value, the specific RA section
is ignored.
In order for the sysctl to be useful to Android, it should really apply
to all lifetimes in the RA, since that is what determines the minimum
frequency at which RAs must be processed by the kernel. Android uses
hardware offloads to drop RAs for a fraction of the minimum of all
lifetimes present in the RA (some networks have very frequent RAs (5s)
with high lifetimes (2h)). Despite this, we have encountered networks
that set the router lifetime to 30s which results in very frequent CPU
wakeups. Instead of disabling IPv6 (and dropping IPv6 ethertype in the
WiFi firmware) entirely on such networks, it seems better to ignore the
misconfigured routers while still processing RAs from other IPv6 routers
on the same network (i.e. to support IoT applications).
The previous implementation dropped the entire RA based on router
lifetime. This turned out to be hard to expand to the other lifetimes
present in the RA in a consistent manner; dropping the entire RA based
on RIO/PIO lifetimes would essentially require parsing the whole thing
twice.
Change-Id: I2168608875629ae07bbd30a02a061284110693e7
Fixes: 1671bcfd76fd ("net: add sysctl accept_ra_min_rtr_lft")
Cc: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: Patrick Rohr <prohr@google.com>
Reviewed-by: Maciej Żenczykowski <maze@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20230726230701.919212-1-prohr@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-05-07 10:16:30 -04:00
..
ABI
Merge tag 'LA.UM.9.14.1.r1-21100-QCM6490.QISI15.0' of https://git.codelinaro.org/clo/la/kernel/msm-5.4 into android13-5.4-lahaina
2026-04-30 20:46:30 +03:00
accounting
psi: Fix uaf issue when psi trigger is destroyed while being polled
2022-02-05 12:35:36 +01:00
admin-guide
Merge android11-5.4.302(91d385eb) into msm-5.4
2026-01-30 11:41:11 +05:30
arm
Merge android11-5.4.134+ ( dca02b1) into msm-5.4
2021-10-06 09:48:07 +05:30
arm64
This is the 5.4.301 stable release
2025-10-30 07:52:10 +00:00
block
Revert "BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series"
2020-03-07 13:06:47 -08:00
bpf
UPSTREAM: bpf/flow_dissector: add mode to enforce global BPF flow dissector
2026-01-14 17:48:07 -08:00
cdrom
core-api
BACKPORT: bpf: Restrict bpf_trace_printk()'s %s usage and add %pks, %pus specifier
2026-01-14 18:12:53 -08:00
cpu-freq
Documentation: cpufreq: Update policy notifier documentation
2019-09-02 22:44:05 +02:00
crypto
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-09-18 12:11:14 -07:00
dev-tools
This is the 5.4.235 stable release
2023-03-12 15:42:52 +00:00
device-mapper
Linus 5.3-rc1
2019-07-23 16:21:59 -07:00
devicetree
This is the 5.4.291 stable release
2025-03-13 14:53:52 +00:00
doc-guide
driver-api
Merge android11-5.4.233+ ( 4716ccc) into msm-5.4
2023-05-30 11:16:10 +05:30
EDID
fault-injection
debugfs: fix error when writing negative value to atomic_t debugfs file
2023-01-18 11:40:56 +01:00
fb
fbdev: fix numbering of fbcon options
2020-02-24 08:36:42 +01:00
features
It's a somewhat calmer cycle for docs this time, as the churn of the mass
2019-09-17 16:22:26 -07:00
filesystems
Merge android11-5.4.274 ( 564901b) into msm-5.4
2024-07-24 20:38:43 -07:00
firmware-guide
Documentation: ACPI: Fix parent device references
2025-08-28 16:21:23 +02:00
firmware_class
fpga
Documentation: fpga: dfl: add descriptions for virtualization and new interfaces.
2019-09-03 19:35:42 -07:00
gpu
Merge drm/drm-next into drm-intel-next-queued
2019-08-22 00:10:36 -07:00
hid
hwmon
Revert "hwmon: Make chip parameter for with_info API mandatory"
2022-06-25 12:44:36 +02:00
i2c
docs: i2c: convert to ReST and add to driver-api bookset
2019-07-31 13:25:27 -06:00
ia64
ide
iio
infiniband
Documentation/infiniband: update name of some functions
2019-09-13 16:55:55 -03:00
input
Input: iforce - add support for Boeder Force Feedback Wheel
2022-09-20 12:27:59 +02:00
ioctl
Merge 5.4.248 into android11-5.4-lts
2023-06-22 16:16:24 +00:00
isdn
docs: isdn: convert to ReST and add to kAPI bookset
2019-07-31 13:30:25 -06:00
kbuild
FROMLIST: kbuild: Add environment variables for userprogs flags
2025-09-28 10:00:32 +02:00
kernel-hacking
Revert "ANDROID: Revert "Merge tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux""
2019-11-13 10:14:45 +00:00
leds
UPSTREAM: leds: multicolor: Introduce a multicolor class definition
2022-12-21 16:28:02 +00:00
livepatch
locking
doc 🔒 remove reference to clever use of read-write lock
2019-09-14 01:53:27 -06:00
m68k
docs: README.buddha: convert to ReST and add to m68k book
2019-07-31 13:30:10 -06:00
maintainer
docs: Fix typo on pull requests guide
2019-08-12 15:14:14 -06:00
media
Revert "media: rename VFL_TYPE_GRABBER to _VIDEO"
2024-04-17 16:49:02 +00:00
mic
mips
Main MIPS changes for v5.4:
2019-09-22 09:30:30 -07:00
misc-devices
Docs: misc: xilinx_sdfec: Add documentation
2019-08-15 17:54:38 +02:00
netlabel
networking
BACKPORT: net: change accept_ra_min_rtr_lft to affect all RA lifetimes
2026-05-07 10:16:30 -04:00
nios2
docs: nios2: add it to the main Documentation body
2019-07-31 13:31:51 -06:00
openrisc
docs: openrisc: convert to ReST and add to documentation body
2019-07-31 13:30:20 -06:00
parisc
docs: parisc: convert to ReST and add to documentation body
2019-07-31 13:30:15 -06:00
PCI
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
2019-08-27 14:23:31 -07:00
pcmcia
power
PM: runtime: Add pm_runtime_get_if_active()
2023-08-30 16:27:12 +02:00
powerpc
docs: powerpc: Add missing documentation reference
2019-09-17 23:59:34 +10:00
process
Merge tag 'ASB-2024-10-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2024-10-09 18:08:17 +00:00
RCU
Merge branches 'consolidate.2019.08.01b', 'fixes.2019.08.12a', 'lists.2019.08.13a' and 'torture.2019.08.01b' into HEAD
2019-08-13 14:30:30 -07:00
riscv
It's a somewhat calmer cycle for docs this time, as the churn of the mass
2019-09-17 16:22:26 -07:00
s390
Documentation/s390: remove outdated debugging390 documentation
2019-08-21 12:41:43 +02:00
scheduler
sched/fair: Fix low cpu usage with high throttling by removing expiration of cpu-local slices
2019-08-08 09:09:30 +02:00
scsi
scsi: smartpqi: Update attribute name to driver_version
2020-01-17 19:48:27 +01:00
security
BACKPORT: crypto: lib/sha1 - rename "sha" to "sha1"
2025-12-23 13:36:17 -08:00
sh
sound
Merge android11-5.4.274 ( 564901b) into msm-5.4
2024-07-24 20:38:43 -07:00
sparc
sphinx
docs: kernel_include.py: Cope with docutils 0.21
2024-05-25 16:17:18 +02:00
sphinx-static
spi
spi: docs: convert to ReST and add it to the kABI bookset
2019-07-31 14:13:13 -06:00
target
tweewide: Fix most Shebang lines
2021-05-22 11:38:30 +02:00
timers
sched/isolation: Prevent boot crash when the boot CPU is nohz_full
2025-04-10 14:29:35 +02:00
trace
UPSTREAM: ftrace: Introduce PERMANENT ftrace_ops flag
2025-12-23 13:35:45 -08:00
translations
Revert "media: rename VFL_TYPE_GRABBER to _VIDEO"
2024-04-17 16:49:02 +00:00
usb
FROMGIT: usb: gadget: u_ether: support configuring interface names.
2025-04-26 21:17:22 +03:00
userspace-api
Documentation: seccomp: Fix user notification documentation
2021-06-03 08:59:03 +02:00
virt
KVM: s390: disable migration mode when dirty tracking is disabled
2023-03-11 16:44:01 +01:00
virtual
cpuidle: add haltpoll governor
2019-07-30 17:27:37 +02:00
vm
arm: remove CONFIG_ARCH_HAS_HOLES_MEMORYMODEL
2022-05-15 19:54:46 +02:00
w1
docs: w1: convert to ReST and add to the kAPI group of docs
2019-07-31 14:16:17 -06:00
watchdog
linux-watchdog 5.4-rc1 tag
2019-09-27 11:17:38 -07:00
x86
x86/CPU/AMD: Save AMD NodeId as cpu_die_id
2020-12-30 11:51:47 +01:00
xtensa
xtensa: fix TLBTEMP area placement
2020-11-24 13:29:22 +01:00
.gitignore
asm-annotations.rst
linkage: Introduce new macros for assembler symbols
2020-11-10 12:37:24 +01:00
atomic_bitops.txt
locking/atomic: Make test_and_*_bit() ordered on failure
2022-08-25 11:18:31 +02:00
atomic_t.txt
bus-virt-phys-mapping.txt
Changes
CodingStyle
conf.py
docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0
2022-06-14 18:11:49 +02:00
COPYING-logo
crc32.txt
debugging-modules.txt
debugging-via-ohci1394.txt
digsig.txt
DMA-API-HOWTO.txt
DMA-API.txt
dma-mapping: remove dma_release_declared_memory
2019-09-04 11:13:19 +02:00
DMA-attributes.txt
Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE""
2022-05-25 09:14:38 +02:00
DMA-ISA-LPC.txt
docutils.conf
dontdiff
futex-requeue-pi.txt
hwspinlock.txt
index.rst
linkage: Introduce new macros for assembler symbols
2020-11-10 12:37:24 +01:00
io-mapping.txt
io_ordering.txt
IPMI.txt
ipmi: docs: don't advertise deprecated sysfs entries
2024-11-08 16:20:29 +01:00
IRQ-affinity.txt
IRQ-domain.txt
IRQ.txt
irqflags-tracing.txt
Kconfig
kobject.txt
kprobes.txt
kref.txt
logo.gif
lzo.txt
lib/lzo: fix ambiguous encoding bug in lzo-rle
2020-06-17 16:40:28 +02:00
mailbox.txt
Makefile
Merge remote-tracking branch 'remotes/origin/tmp-1a9d915' into msm-lahaina
2019-08-02 10:55:28 -07:00
memory-barriers.txt
mhi.txt
mhi: add snapshot for MHI driver stack
2019-12-25 21:32:42 -08:00
nommu-mmap.txt
padata.txt
padata: allocate workqueue internally
2019-09-13 21:15:39 +10:00
percpu-rw-semaphore.txt
pi-futex.txt
preempt-locking.txt
rbtree.txt
remoteproc.txt
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt
speculation.txt
static-keys.txt
SubmittingPatches
tee.txt
this_cpu_ops.txt
unaligned-memory-access.txt
xz.txt