netdev
[Top] [All Lists]

Re: [PATCH] af_pppox: create module infrastructure for protocol modules

To: acme@xxxxxxxxxxxxxxxx
Subject: Re: [PATCH] af_pppox: create module infrastructure for protocol modules
From: "David S. Miller" <davem@xxxxxxxxxx>
Date: Mon, 28 Apr 2003 22:27:28 -0700 (PDT)
Cc: mostrows@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx, maxk@xxxxxxxxxxxx
In-reply-to: <20030429061227.GJ25361@conectiva.com.br>
References: <20030429061227.GJ25361@conectiva.com.br>
Sender: netdev-bounce@xxxxxxxxxxx
   From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx>
   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.

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.

So in the TCP/UDP/SCTP example case, a struct sock references the
TCP/UDP/SCTP module _AND_ the ipv4/ipv6 module.

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;
        struct module   *sub_owner;

<Prev in Thread] Current Thread [Next in Thread>