From: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
To: "David S. Miller" <davem@redhat.com>
Cc: mostrows@speakeasy.net, netdev@oss.sgi.com, maxk@qualcomm.com
Subject: Re: [PATCH] af_pppox: create module infrastructure for protocol modules
Date: Tue, 29 Apr 2003 03:54:19 -0300 [thread overview]
Message-ID: <20030429065419.GN25361@conectiva.com.br> (raw)
In-Reply-To: <20030428.222728.48508327.davem@redhat.com>
Em Mon, Apr 28, 2003 at 10:27:28PM -0700, David S. Miller escreveu:
> From: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
> Date: Tue, 29 Apr 2003 03:12:27 -0300
>
> Max, take a look and see if this same approach can be used in
> bluetooth, I bet it can, its just a matter of not using struct
> net_proto_family for bt_proto, just like pppox already was doing
> before my changes :-)
>
> Something similar can be done for ipv4/ipv6 by adding a struct module
> *owner member to struct inet_protosw etc. etc.
yes
> Although the idea is conceptually sound, you miss one crucial thing.
> Such struct sock's reference _TWO_ modules, the "PPPOE" module
> and the "PPPOX" module.
But what is the problem? at pppox_sk_alloc time I bump the PPPOE module refcnt,
making it safe, then it calls sk_alloc where it bumps the PPPOX module, making
it safe as well, so I'm taking care of both PPPOE and PPPOX.
> So in the TCP/UDP/SCTP example case, a struct sock references the
> TCP/UDP/SCTP module _AND_ the ipv4/ipv6 module.
ditto
> So what we'll need to do is use two owner pointers in struct sock,
> one for propagating the "struct socket" owner, and one for the
> "sub-protocol".
>
> struct module *owner;
This one is the net_families[net_family]->owner
> struct module *sub_owner;
this one is the pppox_protos[protocol]->owner
I thought about it, but I don't see why the current scheme doesn't handle
it, care to elaborate a bit more? I don't doubt that I may be missing some
subtlety :-)
- Arnaldo
next prev parent reply other threads:[~2003-04-29 6:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-29 6:12 [PATCH] af_pppox: create module infrastructure for protocol modules Arnaldo Carvalho de Melo
2003-04-29 5:27 ` David S. Miller
2003-04-29 6:46 ` YOSHIFUJI Hideaki / 吉藤英明
2003-04-29 6:00 ` David S. Miller
2003-04-29 7:12 ` Arnaldo Carvalho de Melo
2003-04-29 6:54 ` Arnaldo Carvalho de Melo [this message]
2003-04-29 6:00 ` David S. Miller
2003-04-29 20:05 ` Max Krasnyansky
2003-04-29 22:07 ` Arnaldo Carvalho de Melo
2003-04-30 0:43 ` Max Krasnyansky
2003-04-30 2:29 ` David S. Miller
2003-04-30 18:11 ` Max Krasnyansky
2003-05-01 9:20 ` David S. 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=20030429065419.GN25361@conectiva.com.br \
--to=acme@conectiva.com.br \
--cc=davem@redhat.com \
--cc=maxk@qualcomm.com \
--cc=mostrows@speakeasy.net \
--cc=netdev@oss.sgi.com \
/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.