* Re: [PATCH] [BRIDGE] Set features based on slave's ones (was Ethernet Bridging: Enable Hardware Checksumming)
From: Stephen Hemminger @ 2005-05-19 20:39 UTC (permalink / raw)
To: Catalin(ux aka Dino) BOIE; +Cc: netdev, davem
In-Reply-To: <Pine.LNX.4.62.0505191654400.24043@webhosting.rdsbv.ro>
On Thu, 19 May 2005 18:28:26 +0300 (EEST)
"Catalin(ux aka Dino) BOIE" <util@deuroconsult.ro> wrote:
> Hello!
>
> The attached patch, makes the bridge to select features (almost all) only
> if _all_ devices supports them.
> The patch was tested (create a bridge, add an interface, remove the
> interface and always check features flags).
>
> What do you think?
>
> Signed-off-by: Catalin(ux aka Dino) BOIE <catab at umbrella.ro>
Okay, but just open code this, don't need BR_FEAT_MASK
and br_features_change.
^ permalink raw reply
* Re: [PATCH] Ethernet Bridging: Enable Hardware Checksumming
From: Stephen Hemminger @ 2005-05-19 20:34 UTC (permalink / raw)
To: Nivedita Singhvi; +Cc: David S. Miller, jdmason, netdev
In-Reply-To: <428CAD24.904@us.ibm.com>
On Thu, 19 May 2005 08:13:40 -0700
Nivedita Singhvi <niv@us.ibm.com> wrote:
> David S. Miller wrote:
>
> >>I think this is a good thing to have, gives us performance
> >>gain (equivalent to using/not using checksum offload) and
> >>has very little impact on the bridging layer, and is
> >>independent of the virtualization stuff..
> >
> >
> > I agree but keep in mind that when bridging over non-checksumming
> > devices it will be more expensive. Especially for TCP.
>
> Yep - as I just said to Herbert - perhaps worthwhile then
> conditional upon support of checksum offload & SG?
What about mixed device bridges?
^ permalink raw reply
* Re: [PATCH] Ethernet Bridging: Enable Hardware Checksumming
From: Stephen Hemminger @ 2005-05-19 20:33 UTC (permalink / raw)
To: Jon Mason; +Cc: netdev
In-Reply-To: <20050518235329.GA17946@us.ibm.com>
Here is a somewhat different patch from 2.6.12-rc4-bridge
http://developer.osdl.org/shemminger/patches/2.6.12-rc4-bridge/
The bridge doesn't need locking, or checksumming and can allow highdma
buffers; all of which are handled by net/core/dev.c if needed.
===================================================================
--- netem-2.6.12-rc4.orig/net/bridge/br_device.c
+++ netem-2.6.12-rc4/net/bridge/br_device.c
@@ -101,4 +99,6 @@ void br_dev_setup(struct net_device *dev
dev->tx_queue_len = 0;
dev->set_mac_address = NULL;
dev->priv_flags = IFF_EBRIDGE;
+ dev->features |= NETIF_F_SG | NETIF_F_NO_CSUM
+ | NETIF_F_HIGHDMA | NETIF_F_LLTX;
}
^ permalink raw reply
* Re: [PATCH] [BRIDGE] Set features based on slave's ones
From: Jon Mason @ 2005-05-19 20:20 UTC (permalink / raw)
To: David S. Miller; +Cc: util, netdev
In-Reply-To: <20050519.122127.74747706.davem@davemloft.net>
On Thursday 19 May 2005 02:21 pm, David S. Miller wrote:
> From: Jon Mason <jdmason@us.ibm.com>
> Date: Thu, 19 May 2005 14:00:32 -0500
>
> > I combined my previous patch with your patch, and came up with the
> > following. I have tested it on my system, and it works exactly the way
> > I wanted. What do you think?
>
> Look, let's do this. Do an initial patch that only does
> enables features possible on all devices. Because we
> all agree that is a definite improvement from the current
> situation.
>
> Then we can discuss the relative merits of enabling features
> available on only some devices.
>
> Ok?
That is acceptable to me.
^ permalink raw reply
* Re: [PATCH] netlink: defer socket destruction a bit
From: David S. Miller @ 2005-05-19 20:08 UTC (permalink / raw)
To: herbert; +Cc: tommy.christensen, netdev, chamas
In-Reply-To: <20050512103639.GA25631@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Thu, 12 May 2005 20:36:39 +1000
> On Thu, May 12, 2005 at 11:57:01AM +0200, Tommy Christensen wrote:
> >
> > I moved the call to skb_orphan in the other patch, as you
> > suggested. I think that also makes this patch safe as it is.
> >
> > Right?
>
> Indeed it is. This also means that we don't hold onto the skb's
> share of rmalloc quota for an excessive amount of time if the
> number of broadcast sockets is large.
Ok, I think I got all the patches straight. All of Tommy's
patches combined together look like this diff in my tree.
Please double check it.
Thanks.
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -735,11 +735,15 @@ static inline int do_one_broadcast(struc
sock_hold(sk);
if (p->skb2 == NULL) {
- if (atomic_read(&p->skb->users) != 1) {
+ if (skb_shared(p->skb)) {
p->skb2 = skb_clone(p->skb, p->allocation);
} else {
- p->skb2 = p->skb;
- atomic_inc(&p->skb->users);
+ p->skb2 = skb_get(p->skb);
+ /*
+ * skb ownership may have been set when
+ * delivered to a previous socket.
+ */
+ skb_orphan(p->skb2);
}
}
if (p->skb2 == NULL) {
@@ -785,11 +789,12 @@ int netlink_broadcast(struct sock *ssk,
sk_for_each_bound(sk, node, &nl_table[ssk->sk_protocol].mc_list)
do_one_broadcast(sk, &info);
+ kfree_skb(skb);
+
netlink_unlock_table();
if (info.skb2)
kfree_skb(info.skb2);
- kfree_skb(skb);
if (info.delivered) {
if (info.congested && (allocation & __GFP_WAIT))
^ permalink raw reply
* Re: assertion (!atomic_read(&sk->sk_rmem_alloc)) failed at net/netlink/af_netlink.c (122)
From: David S. Miller @ 2005-05-19 19:49 UTC (permalink / raw)
To: herbert; +Cc: tommy.christensen, chamas, netdev
In-Reply-To: <20050512110738.GA5937@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Thu, 12 May 2005 21:07:38 +1000
> On Thu, May 12, 2005 at 12:58:03PM +0200, Tommy Christensen wrote:
> >
> > Signed-off-by: Tommy S. Christensen <tommy.christensen@tpack.net>
>
> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Hmmm, should I undo Tommy's one-liner skb_orphan() change
then add this one instead?
^ permalink raw reply
* Re: assertion (!atomic_read(&sk->sk_rmem_alloc)) failed at net/netlink/af_netlink.c (122)
From: David S. Miller @ 2005-05-19 19:47 UTC (permalink / raw)
To: herbert; +Cc: tommy.christensen, chamas, netdev
In-Reply-To: <20050511222210.GA21280@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Thu, 12 May 2005 08:22:10 +1000
> > What about an alternative fix, that avoids even more cloning (where
> > possible)? This resurrects the skb_orphan call that was moved out, last
> > time we had 'shared-skb troubles'. It is practically a no-op in the
> > common case, but still prevents the possible race with recvmsg.
> > (And I have a weakness for one-line-fixes). :-)
>
> Yep this is much better. Thanks Tommy.
>
> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Applied, thanks a lot guys.
^ permalink raw reply
* Re: patch: small fixup
From: David S. Miller @ 2005-05-19 19:43 UTC (permalink / raw)
To: hadi; +Cc: netdev
In-Reply-To: <1116462970.6240.9.camel@localhost.localdomain>
From: jamal <hadi@cyberus.ca>
Date: Wed, 18 May 2005 20:36:10 -0400
> My first git patch (dangerously knowledgeable after 30 minutes of
> snorting blobs;->) against net-2.6.git. Consider this an excuse to send
> a git patch ;->
:-)
> Fixup simple action define to be consistent with other net/sched files
>
> Signed-off-by: Jamal Hadi Salim
Applied, please supply an email in your signed-off line next
time, thanks.
^ permalink raw reply
* Re: [IPSEC] Verify key payload in verify_one_algo
From: David S. Miller @ 2005-05-19 19:40 UTC (permalink / raw)
To: herbert; +Cc: netdev
In-Reply-To: <20050519021505.GA20703@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Thu, 19 May 2005 12:15:05 +1000
> We need to verify that the payload contains enough data so that
> attach_one_algo can copy alg_key_len bits from the payload.
>
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Also applied, thanks again.
I gather from these two patches that once you found the
first problem you went around auditing alg_key_len usage
and these were the only two bugs you spotted. Right?
^ permalink raw reply
* Re: [IPSEC] Fixed alg_key_len usage in attach_one_algo
From: David S. Miller @ 2005-05-19 19:40 UTC (permalink / raw)
To: herbert; +Cc: netdev
In-Reply-To: <20050519020302.GA20285@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Thu, 19 May 2005 12:03:02 +1000
> This bug was discovered by a Linux box running in a remote corner
> of Australia :)
Hehe :-)
> The variable alg_key_len is in bits and not bytes. The function
> attach_one_algo is currently using it as if it were in bytes.
> This causes it to read memory which may not be there.
>
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Applied, thanks Herbert.
^ permalink raw reply
* Re: [IPV4/IPV6] Keep wmem accounting separate in ip*_push_pending_frames
From: David S. Miller @ 2005-05-19 19:35 UTC (permalink / raw)
To: herbert; +Cc: johnpol, netdev
In-Reply-To: <20050516010058.GA20704@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Mon, 16 May 2005 11:00:58 +1000
[ For other readers, Herbert and I are discussing ip_ct_gather_frags(). ]
> On Sun, May 15, 2005 at 05:39:44PM -0700, David S. Miller wrote:
> >
> > This code should therefore just skb_orphan(), and nothing
> > more. Right?
>
> Ideally we should move the ownership to the head skb here as well.
> However, doing this would cause havoc when you have nasty users
> sending fragments from two different sockets :)
>
> So let's stick with just the skb_orphan.
Ok, based upon this I am adding the following patch to my
tree. Thanks.
--- 1/net/ipv4/netfilter/ip_conntrack_core.c.~1~ 2005-05-18 22:45:26.000000000 -0700
+++ 2/net/ipv4/netfilter/ip_conntrack_core.c 2005-05-19 12:32:26.000000000 -0700
@@ -940,37 +940,25 @@
struct sk_buff *
ip_ct_gather_frags(struct sk_buff *skb, u_int32_t user)
{
- struct sock *sk = skb->sk;
#ifdef CONFIG_NETFILTER_DEBUG
unsigned int olddebug = skb->nf_debug;
#endif
- if (sk) {
- sock_hold(sk);
- skb_orphan(skb);
- }
+ skb_orphan(skb);
local_bh_disable();
skb = ip_defrag(skb, user);
local_bh_enable();
- if (!skb) {
- if (sk)
- sock_put(sk);
- return skb;
- }
-
- if (sk) {
- skb_set_owner_w(skb, sk);
- sock_put(sk);
- }
-
- ip_send_check(skb->nh.iph);
- skb->nfcache |= NFC_ALTERED;
+ if (skb) {
+ ip_send_check(skb->nh.iph);
+ skb->nfcache |= NFC_ALTERED;
#ifdef CONFIG_NETFILTER_DEBUG
- /* Packet path as if nothing had happened. */
- skb->nf_debug = olddebug;
+ /* Packet path as if nothing had happened. */
+ skb->nf_debug = olddebug;
#endif
+ }
+
return skb;
}
^ permalink raw reply
* Re: [PATCH] use lookup_create in af_unix
From: David S. Miller @ 2005-05-19 19:34 UTC (permalink / raw)
To: hch; +Cc: netdev
In-Reply-To: <20050519193006.GA28725@lst.de>
From: Christoph Hellwig <hch@lst.de>
Date: Thu, 19 May 2005 21:30:06 +0200
> I sent a patch to Andrew that adds this comment and various others that
> were in af_unix.c to lookup_create.
That's great, thanks a lot.
^ permalink raw reply
* Re: [PATCH] ipvs: remove extra __ip_vs_conn_put for incoming ICMP
From: David S. Miller @ 2005-05-19 19:30 UTC (permalink / raw)
To: ja; +Cc: netdev, wensong
In-Reply-To: <Pine.LNX.4.58.0505141037430.1568@u.domain.uli>
From: Julian Anastasov <ja@ssi.bg>
Date: Sat, 14 May 2005 10:57:26 +0300 (EEST)
> Remove extra __ip_vs_conn_put for incoming ICMP in direct routing
> mode. Mark de Vries reports that IPVS connections are not leaked anymore.
>
> Signed-off-by: Julian Anastasov <ja@ssi.bg>
Applied to 2.6.x, thanks for the patch Julian.
^ permalink raw reply
* Re: [PATCH] use lookup_create in af_unix
From: Christoph Hellwig @ 2005-05-19 19:30 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev
In-Reply-To: <20050519.122756.41635751.davem@davemloft.net>
On Thu, May 19, 2005 at 12:27:56PM -0700, David S. Miller wrote:
> Maybe someone should add to the comments above these fs/namei.c
> functions that they will return with the semaphore held even
> in error cases.
I sent a patch to Andrew that adds this comment and various others that
were in af_unix.c to lookup_create.
^ permalink raw reply
* Re: [PATCH] use lookup_create in af_unix
From: David S. Miller @ 2005-05-19 19:27 UTC (permalink / raw)
To: hch; +Cc: netdev
In-Reply-To: <20050512102336.GA26628@lst.de>
From: Christoph Hellwig <hch@lst.de>
Date: Thu, 12 May 2005 12:23:36 +0200
> currently it opencodes it, but that's in the way of chaning the
> lookup_hash interface.
>
> I'd prefer to disallow modular af_unix over exporting lookup_create,
> but I'll leave that to you.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
This patch looks fine. Applied, thanks Chirstophe.
Maybe someone should add to the comments above these fs/namei.c
functions that they will return with the semaphore held even
in error cases.
^ permalink raw reply
* Re: [PATCH] [BRIDGE] Set features based on slave's ones
From: David S. Miller @ 2005-05-19 19:21 UTC (permalink / raw)
To: jdmason; +Cc: util, netdev
In-Reply-To: <20050519190032.GA19620@us.ibm.com>
From: Jon Mason <jdmason@us.ibm.com>
Date: Thu, 19 May 2005 14:00:32 -0500
> I combined my previous patch with your patch, and came up with the
> following. I have tested it on my system, and it works exactly the way
> I wanted. What do you think?
Look, let's do this. Do an initial patch that only does
enables features possible on all devices. Because we
all agree that is a definite improvement from the current
situation.
Then we can discuss the relative merits of enabling features
available on only some devices.
Ok?
^ permalink raw reply
* Re: [PATCH] [BRIDGE] Set features based on slave's ones
From: Jon Mason @ 2005-05-19 19:07 UTC (permalink / raw)
To: David S. Miller; +Cc: util, netdev
In-Reply-To: <20050519.115832.111205328.davem@davemloft.net>
On Thursday 19 May 2005 01:58 pm, David S. Miller wrote:
> From: Jon Mason <jdmason@us.ibm.com>
> Date: Thu, 19 May 2005 12:47:55 -0500
>
> > My point is that some features the user might want enabled regardless of
> > whether all devices support them. An example of this is where a system
> > has hardware checksum support for all devices except one. In this case,
> > it would be benefitial to have this device do the checksum in software
> > (via skb_checksum_help() call in dev_queue_xmit()).
>
> If "SG and checksumming is so common these days" as others have
> stated, what you are describing is a totally uncommon scenerio.
Uncommon, yes, but very possible and I am trying to mitigate the performance
effects of this case.
> What
> Catalin is proposing is infinitely better than what we have today.
I completely agree Catalin's patch is better than what we have now. My only
arguement is that there are some cases where it should be augmented to
include additional features.
^ permalink raw reply
* Re: [PATCH] [BRIDGE] Set features based on slave's ones (was Ethernet Bridging: Enable Hardware Checksumming)
From: Jon Mason @ 2005-05-19 19:00 UTC (permalink / raw)
To: Catalin(ux aka Dino) BOIE; +Cc: netdev, davem
In-Reply-To: <Pine.LNX.4.62.0505192019090.8076@webhosting.rdsbv.ro>
I combined my previous patch with your patch, and came up with the
following. I have tested it on my system, and it works exactly the way
I wanted. What do you think?
Thanks,
Jon
Signed-off-by: Catalin(ux aka Dino) BOIE <catab at umbrella.ro>
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
--- linux-2.6.11-xenU/net/bridge/br_private.h 2005-03-02 01:37:50.000000000 -0600
+++ linux-2.6.11-xen0/net/bridge/br_private.h 2005-05-19 08:12:23.000000000 -0500
@@ -27,6 +27,10 @@
#define BR_PORT_BITS 10
#define BR_MAX_PORTS (1<<BR_PORT_BITS)
+#define BR_FEAT_MASK (NETIF_F_HW_CSUM | NETIF_F_SG \
+ | NETIF_F_FRAGLIST | NETIF_F_IP_CSUM \
+ | NETIF_F_HIGHDMA | NETIF_F_TSO)
+
typedef struct bridge_id bridge_id;
typedef struct mac_addr mac_addr;
typedef __u16 port_id;
--- linux-2.6.11-xenU/net/bridge/br_device.c 2005-05-19 06:19:42.000000000 -0500
+++ linux-2.6.11-xen0/net/bridge/br_device.c 2005-05-19 08:11:19.000000000 -0500
@@ -107,4 +107,5 @@ void br_dev_setup(struct net_device *dev
dev->tx_queue_len = 0;
dev->set_mac_address = NULL;
dev->priv_flags = IFF_EBRIDGE;
+ dev->features = BR_FEAT_MASK;
}
--- linux-2.6.11-xenU/net/bridge/br_if.c 2005-05-19 08:43:03.000000000 -0500
+++ linux-2.6.11-xen0/net/bridge/br_if.c 2005-05-19 08:43:58.000000000 -0500
@@ -314,6 +314,27 @@ int br_min_mtu(const struct net_bridge *
return mtu;
}
+/*
+ * If slave device (@dev) doesn't support special features,
+ * turn them off globally.
+ */
+static inline void br_features_change(struct net_bridge *br, struct net_device *dev)
+{
+ br->dev->features &= dev->features | NETIF_F_HW_CSUM | NETIF_F_SG;
+}
+
+/*
+ * Recomputes features using slave's features
+ */
+static void br_features_recompute(struct net_bridge *br)
+{
+ struct net_bridge_port *p;
+
+ br->dev->features = BR_FEAT_MASK;
+ list_for_each_entry(p, &br->port_list, list)
+ br_features_change(br, p->dev);
+}
+
/* called with RTNL */
int br_add_if(struct net_bridge *br, struct net_device *dev)
{
@@ -332,6 +353,8 @@ int br_add_if(struct net_bridge *br, str
if (IS_ERR(p = new_nbp(br, dev, br_initial_port_cost(dev))))
return PTR_ERR(p);
+ br_features_change(br, dev);
+
if ((err = br_fdb_insert(br, p, dev->dev_addr, 1)))
destroy_nbp(p);
@@ -368,6 +391,7 @@ int br_del_if(struct net_bridge *br, str
spin_lock_bh(&br->lock);
br_stp_recalculate_bridge_id(br);
+ br_features_recompute(br);
spin_unlock_bh(&br->lock);
return 0;
^ permalink raw reply
* Re: [PATCH] [BRIDGE] Set features based on slave's ones
From: David S. Miller @ 2005-05-19 18:58 UTC (permalink / raw)
To: jdmason; +Cc: util, netdev
In-Reply-To: <200505191247.55138.jdmason@us.ibm.com>
From: Jon Mason <jdmason@us.ibm.com>
Date: Thu, 19 May 2005 12:47:55 -0500
> My point is that some features the user might want enabled regardless of
> whether all devices support them. An example of this is where a system has
> hardware checksum support for all devices except one. In this case, it would
> be benefitial to have this device do the checksum in software (via
> skb_checksum_help() call in dev_queue_xmit()).
If "SG and checksumming is so common these days" as others have
stated, what you are describing is a totally uncommon scenerio. What
Catalin is proposing is infinitely better than what we have today.
^ permalink raw reply
* Re: 2.6.12-rc4-mm[12] - ULOG problem
From: David S. Miller @ 2005-05-19 18:54 UTC (permalink / raw)
To: jmorris; +Cc: akpm, johnpol, herbert, netdev
In-Reply-To: <Xine.LNX.4.44.0505191259590.16439-100000@thoron.boston.redhat.com>
From: James Morris <jmorris@redhat.com>
Date: Thu, 19 May 2005 13:09:44 -0400 (EDT)
> I don't think it's the right implementation, and providing feedback on it
> has proven frustrating and unfruitful.
Yes, Evgeni is a complete control freak.
^ permalink raw reply
* Re: [PATCH] [BRIDGE] Set features based on slave's ones
From: David S. Miller @ 2005-05-19 18:53 UTC (permalink / raw)
To: jdmason; +Cc: util, netdev
In-Reply-To: <200505191106.53136.jdmason@us.ibm.com>
From: Jon Mason <jdmason@us.ibm.com>
Date: Thu, 19 May 2005 11:06:53 -0500
> This patch only enables the features which are common between all of the
> bridged devices (at the time of their addition to the bridge). It overlooks
> the cases where not all of the adapters have the same features, or where the
> user has changed the enablement of a certain feature (via ethtool).
There is not valid setting other than the subset of
what the devices all support.
Yes, the bridging code should listen for network device
events when netdev->flag settings change, but otherwise
this is the way to implement this. Just like bonding
does.
^ permalink raw reply
* Re: [PATCH] [BRIDGE] Set features based on slave's ones
From: David S. Miller @ 2005-05-19 18:52 UTC (permalink / raw)
To: niv; +Cc: util, netdev
In-Reply-To: <428CB7DC.1050206@us.ibm.com>
From: Nivedita Singhvi <niv@us.ibm.com>
Date: Thu, 19 May 2005 08:59:24 -0700
> While this is generally a cleaner thing to do - it breaks
> what we need - Jon's patch adds the checksum offload/SG
> unconditionally precisely because we don't want it to be
> an all or nothing - we'd like to utilize offload on those
> devices that do support it..
No, I think Catalin's patch is exactly how this should
be implemented.
^ permalink raw reply
* Re: [PATCH] Ethernet Bridging: Enable Hardware Checksumming
From: David S. Miller @ 2005-05-19 18:51 UTC (permalink / raw)
To: niv; +Cc: herbert, jdmason, shemminger, netdev
In-Reply-To: <428CAC55.4000202@us.ibm.com>
From: Nivedita Singhvi <niv@us.ibm.com>
Date: Thu, 19 May 2005 08:10:13 -0700
> Fair point - though I would argue that devices that
> support SG are much more common now - so optimizing
> for the more common case might be preferable - since
> people using bridging with devices that support
> checksum offload are taking quite a hit when they
> do bridging - perhaps this could be a conditional?
I disagree. Many low costs devices are non-SG still,
there is no reason to penalize them explicitly.
I think instead we should look at ways to propagate
the hardware device features to the bridge. Even if
a bridge is composed of multiple devices, we just
advertise the subset of features actually supported.
^ permalink raw reply
* Re: 2.6.12-rc4-mm[12] - ULOG problem
From: David S. Miller @ 2005-05-19 18:49 UTC (permalink / raw)
To: hadi; +Cc: jmorris, akpm, herbert, netdev, johnpol
In-Reply-To: <1116510411.6240.54.camel@localhost.localdomain>
From: jamal <hadi@cyberus.ca>
Date: Thu, 19 May 2005 09:46:50 -0400
> However, something like connector should only get one ID and it can do
> its own multiplexing based on "units".
Yes. There is no reason connector needs more than one
netlink ID.
^ permalink raw reply
* Re: 2.6.12-rc4-mm[12] - ULOG problem
From: David S. Miller @ 2005-05-19 18:48 UTC (permalink / raw)
To: jmorris; +Cc: akpm, johnpol, herbert, netdev
In-Reply-To: <Xine.LNX.4.44.0505190918430.15522-100000@thoron.boston.redhat.com>
From: James Morris <jmorris@redhat.com>
Date: Thu, 19 May 2005 09:19:33 -0400 (EDT)
> On Thu, 19 May 2005, Andrew Morton wrote:
>
> > We should remove the feature. If there is demonstrated need for multiple
> > instances then it should be done by more conventional means - syscall,
> > allocation of a device major then use the minor as a selector or whatever.
>
> I'd suggest removing the connector code completely.
I totally agree, it's crap at the current time and the author doesn't
fix the problems being shown in it, in fact he defends some of them
even this one. It needs lots of work still.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox