From: Iratxo Pichel Ortiz <ipichel@albentia.com>
To: linux-kernel@vger.kernel.org
Subject: Multicast "ipmr.c" misunderstood / bug / new feature.
Date: Sun, 11 Feb 2007 22:59:46 +0100 [thread overview]
Message-ID: <45CF91D2.4060508@albentia.com> (raw)
Hi !
I have been working with multicast routing to build a multicast router.
The target system uses static multicast routers and we have used
smcroute user-space daemon. After some issues with that sofware I have
built a some kind of custom daemon.
This router has support for hotpluggable interfaces like wifi and usb ones.
I think that there is something I don't understand or is not supported
in the net/ipv4/ipmr.c Kernel router. This routing system registers the
function "ipmr_device_event" as a notifier so that when a device is
unregistered from the system the correspondings multicast virtual
interfaces are also unregistered.
This is fine, but the problem is that the function "vif_delete()", used
in the notifier and in the corresponding IOCTL does not release the
active routes (mfc_cache entries). When doing "cat /proc/net/ip_mr_vif"
the unregistered interfaces are no longer available, but when doing "cat
/proc/net/ip_mr_cache" weird entries are displayed. If the unregistered
device was an output vif the route entry is shown with no output vif. If
it was an input vif the entry is shown but not really valid.
I don't know if this is really the expected behaviour of the multicast
routing system or even this is the correct place to ask.
I have coded a small patch for the ipmr.c file that purges all the
routes related to a device when it is unregistered, leaving the tables
in a coherent state always. I am know debugging this feature.
So: Is this the correct behaviour or is a bug? And is this patch
interesting for the Kernel?
Thank you very much,
Iratxo Pichel Ortiz.
reply other threads:[~2007-02-11 22:20 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45CF91D2.4060508@albentia.com \
--to=ipichel@albentia.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox