Bug #10472
closedLimit number of multicast NCEs
100%
Description
Upstream port of https://github.com/joyent/illumos-joyent/commit/727500e0fbb95141ea67e4e79412d2dfe2660553
We need to limit the number of multicast NCEs that get created.
Updated by Joshua M. Clulow over 3 years ago
Testing Notes (from Dan)¶
The fix, which limits the number of multicast NCEs (currently 16384), has been tested in DEBUG and non-DEBUG kernels while running a multicast spraying program that iterates rapidly over a /12 (1M, aka. 1024^2) multicast space sending datagrams. Additional tests have included rebooting a zone mid-spray, or unplumbing a NIC (i.e. ill deletion) during the spray. A DEBUG kernel shows no TCP/IP memory leaks, but ill reference-tracing does not have a _notr version (different threads holding and releasing violates DEBUG reference tracing assumptions) so this fix inlines ill_ref* without DEBUG reference tracing.
An additional test suggests that a global zone with many NCEs may be able to reboot(1M) without a delay, so this bug affects interface down time or exclusive-stack zone halt time.
Additional testing reconfirms all-nodes mcast for both IPv6 (ff02::1, solicited-node for unicast ND) and IPv4 (224.0.0.1) do not break.
Updated by Electric Monk over 3 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 42c5ef032d8316897a2ba9f9ebf4b9c2654ec345
commit 42c5ef032d8316897a2ba9f9ebf4b9c2654ec345 Author: Dan McDonald <danmcd@joyent.com> Date: 2019-03-02T21:02:09.000Z 10472 Limit number of multicast NCEs Reviewed by: Cody Peter Mello <melloc@writev.io> Reviewed by: Jason King <jason.king@joyent.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Richard Lowe <richlowe@richlowe.net> Approved by: Joshua M. Clulow <josh@sysmgr.org>