netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
To: Thomas Graf <tgraf@suug.ch>
Cc: davem@davemloft.net, netdev@vger.kernel.org
Subject: Re: [PATCH 1/4] [NETLINK]: Handle NLM_F_ECHO in netlink_rcv_skb()
Date: Fri, 11 Aug 2006 19:35:49 +0400	[thread overview]
Message-ID: <20060811153549.GA16351@ms2.inr.ac.ru> (raw)
In-Reply-To: <20060810211833.GK14627@postel.suug.ch>

Hello!

> I get your point and I see the value. Unfortunately, probably due to
> lack of documentation, this feature isn't used by any applications I
> know of.

Well, tc was supposed to use it, but this did not happen and
it remained deficient.


> We even put in the hacks to make identification of own caused
> notifications easier by storing the netlink pid of the originator in
> the notification message.

Actually, it was supposed to be done everywhere, but originator info
did not propagate deep enough in many cases, especially in IPv6.
So, this is not a hack, it is a good work. :-)


BTW I have just remembered why it was especially important,
this should be documented as well.

Each socket, which subscribes to multicasts becomes sensitive
to rcvbuf overflows. F.e. when you do control operations on a socket,
which is subscribed to multicasts, the response can be lost in stream
of events and -ENOBUFS generated instead. If it is a daemon, it can resync
the state, but if it is a simple utility, it cannot recover.

Probably, unicasts sent due to NLM_F_ECHO should somehow override
rcvbuf limits.

This reminded me about a capital problem, found by openvz people.
Frankly speaking, I still have no idea how to repair this, probably you
will find a solution.

Look: while a dump, skb allocation can fail (because of many reasons,
the most obvious is that rcvbuf space was eaten by multicasts).
But error is not reported! Oops. The worst thing is that even if an error
is reported, iproute would ignore it.

Alexey



  reply	other threads:[~2006-08-11 15:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-09 20:48 [PATCHSET]: Clean up netlink NLM_F_ECHO and rtnl event notifications Thomas Graf
2006-08-08 22:00 ` [PATCH 1/4] [NETLINK]: Handle NLM_F_ECHO in netlink_rcv_skb() Thomas Graf
2006-08-10 15:51   ` Alexey Kuznetsov
2006-08-10 19:02     ` Thomas Graf
2006-08-10 20:32       ` Alexey Kuznetsov
2006-08-10 21:18         ` Thomas Graf
2006-08-11 15:35           ` Alexey Kuznetsov [this message]
2006-08-11 21:47             ` Thomas Graf
2006-08-12 11:03               ` Alexey Kuznetsov
2006-08-12 11:19                 ` Thomas Graf
2006-08-13 13:45                   ` Alexey Kuznetsov
2006-08-12  3:05             ` Herbert Xu
2006-08-12 11:05               ` Alexey Kuznetsov
2006-08-08 22:00 ` [PATCH 2/4] [RTNETLINK]: Use rtnl_multicast()/rtnl_unicast() Thomas Graf
2006-08-09 21:00   ` [RESEND " Thomas Graf
2006-08-08 22:00 ` [PATCH 3/4] [NETLINK]: Dont set socket error for failed event notifications Thomas Graf
2006-08-10 18:09   ` Patrick McHardy
2006-08-10 19:04     ` Thomas Graf
2006-08-10 19:08       ` Patrick McHardy
2006-08-10 19:23         ` Thomas Graf
2006-08-11  6:02           ` David Miller
2006-08-11 10:38             ` Thomas Graf
2006-08-11 10:42               ` David Miller
2006-08-08 22:00 ` [PATCH 4/4] [RTNETLINK]: Unexport global rtnl sock Thomas Graf
2006-08-10  4:16 ` [PATCHSET]: Clean up netlink NLM_F_ECHO and rtnl event notifications David Miller

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=20060811153549.GA16351@ms2.inr.ac.ru \
    --to=kuznet@ms2.inr.ac.ru \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=tgraf@suug.ch \
    /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;
as well as URLs for NNTP newsgroup(s).