All of lore.kernel.org
 help / color / mirror / Atom feed
From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: Ian Campbell <ijc@hellion.org.uk>,
	Guillaume Thouvenin <guillaume.thouvenin@bull.net>,
	greg@kroah.com, linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@osdl.org>
Subject: Re: [Fwd: Re: connector is missing in 2.6.12-rc2-mm1]
Date: Thu, 07 Apr 2005 15:24:34 +0400	[thread overview]
Message-ID: <1112873074.28858.167.camel@uganda> (raw)
In-Reply-To: <1112870517.3279.42.camel@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 2358 bytes --]

On Thu, 2005-04-07 at 12:41 +0200, Kay Sievers wrote:
> On Thu, 2005-04-07 at 13:52 +0400, Evgeniy Polyakov wrote:
> > On Thu, 2005-04-07 at 10:12 +0100, Ian Campbell wrote:
> > > On Thu, 2005-04-07 at 12:13 +0400, Evgeniy Polyakov wrote:
> > > > The main idea was to simplify userspace control and notification
> > > > system - so people did not waste it's time learning how skb's are
> > > > allocated
> > > > and processed, how socket layer is designed and what all those
> > > > netlink_* and NLMSG* mean if they do not need it.
> > > 
> > > Isn't connector built on top of netlink? If so, is there any reason for
> > > it to be a new subsystem rather than an extension the the netlink API?
> > 
> > Connector is not netlink API extension in any way.
> > It uses netlink as transport layer, one can change
> > cn_netlink_send()/cn_input() 
> > into something like bidirectional ioctl and use it.
> > 
> > Only one cn_netlink_send() function can be "described" as API
> > extension, 
> > although even it is not entirely true.
> 
> I see much overlap here too. Wouldn't it be nice to see the transport
> part of the connector code to be implemented as a generic netlink
> multicast? We already have uni- and broadcast for netlink.

Netlink broadcast is multicast actually,
if listener exists, then message will be sent to him, 
if no - skb will be just freed.

> Isn't the whole purpose of the connector to hook in notifications that
> act only if someone is listening? That is a perfect multicast case. :)

Connector can be used to send data from userspace to kernelspace,
so it allows sending controlling messages without ioctl() compatibility 
mess and so on.

One may use cn_netlink_send() to send notification without being
registered 
in connector, if it's second parameter is 0, then appropriate 
connector listener will be searched for.

It is different from netlink messages, 
netlink is a transport layer for connector.

> At the time we added kobject_uevent I was missing something like this.
> The broadcast groups did not really fit, and we decided not to use them,
> and unicast wasn't a option here.

There is a check for listener in netlink_broadcast() - sk_for_each_bound
().

> Thanks,
> Kay
-- 
        Evgeniy Polyakov

Crash is better than data corruption -- Arthur Grabowski

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2005-04-07 11:20 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1112859412.18360.31.camel@frecb000711.frec.bull.fr>
2005-04-07  7:53 ` [Fwd: Re: connector is missing in 2.6.12-rc2-mm1] Evgeniy Polyakov
2005-04-07  7:58   ` Andrew Morton
2005-04-07  8:23     ` Evgeniy Polyakov
2005-04-07  8:32       ` Andrew Morton
2005-04-07 10:12         ` Evgeniy Polyakov
2005-04-08  2:59           ` Herbert Xu
2005-04-08  3:33             ` Evgeniy Polyakov
2005-04-08  3:32               ` Herbert Xu
2005-04-08  3:52                 ` Evgeniy Polyakov
2005-04-08  3:50                   ` Herbert Xu
2005-04-08  4:02                     ` Evgeniy Polyakov
2005-04-08  4:02                       ` Herbert Xu
2005-04-08  4:21                         ` Evgeniy Polyakov
2005-04-08  4:17                           ` Herbert Xu
2005-04-08  4:23                             ` David S. Miller
2005-04-08  4:55                             ` Evgeniy Polyakov
2005-04-08  4:53                               ` Herbert Xu
2005-04-08  4:55                                 ` David S. Miller
2005-04-08  5:11                                 ` Evgeniy Polyakov
2005-04-08  5:08                                   ` Herbert Xu
2005-04-08  5:19                                     ` Evgeniy Polyakov
2005-04-08  6:02                                       ` David S. Miller
2005-04-08 13:11                                         ` Daniel Jacobowitz
2005-04-08  6:12                                       ` Evgeniy Polyakov
2005-04-08  4:22                   ` David S. Miller
2005-04-07  8:13   ` Evgeniy Polyakov
2005-04-07  9:12     ` Ian Campbell
2005-04-07  9:52       ` Evgeniy Polyakov
2005-04-07 10:41         ` Kay Sievers
2005-04-07 11:24           ` Evgeniy Polyakov [this message]
2005-04-07 14:23             ` Kay Sievers
2005-04-07 14:49               ` Evgeniy Polyakov
2005-04-07 15:47               ` James Morris
2005-04-08  3:41                 ` Evgeniy Polyakov
2005-04-08  5:55                   ` James Morris
2005-04-08  6:48                     ` Evgeniy Polyakov
2005-04-10  9:52                       ` Herbert Xu
2005-04-10 10:32                         ` Evgeniy Polyakov
2005-04-10 11:08                           ` Kay Sievers
2005-04-10 11:37                             ` Evgeniy Polyakov
2005-04-10 11:54                               ` Evgeniy Polyakov
2005-04-10 12:10                               ` Thomas Graf
2005-04-10 12:15                                 ` Evgeniy Polyakov
2005-04-10 14:39                                   ` jamal
2005-04-10 14:56                                     ` James Morris
2005-04-10 15:08                                       ` jamal
2005-04-10 19:27                                     ` Thomas Graf
2005-04-11  5:22                                       ` Evgeniy Polyakov
2005-04-11 10:45                                         ` Thomas Graf
2005-04-11 11:19                                           ` Evgeniy Polyakov

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=1112873074.28858.167.camel@uganda \
    --to=johnpol@2ka.mipt.ru \
    --cc=akpm@osdl.org \
    --cc=greg@kroah.com \
    --cc=guillaume.thouvenin@bull.net \
    --cc=ijc@hellion.org.uk \
    --cc=kay.sievers@vrfy.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.