Project

General

Profile

Bug #10472

Limit number of multicast NCEs

Added by Dan McDonald 20 days ago. Updated 17 days ago.

Status:
Closed
Priority:
Urgent
Assignee:
Category:
networking
Start date:
2019-02-28
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

Upstream port of https://github.com/joyent/illumos-joyent/commit/727500e0fbb95141ea67e4e79412d2dfe2660553

We need to limit the number of multicast NCEs that get created.

History

#1

Updated by Joshua Clulow 17 days 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.

#2

Updated by Joshua Clulow 17 days ago

  • Private changed from No to Yes
#3

Updated by Joshua Clulow 17 days ago

  • Private changed from Yes to No
#4

Updated by Electric Monk 17 days 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>

Also available in: Atom PDF