Michael S. Tsirkin wrote:
Quoting Or Gerlitz <[EMAIL PROTECTED]>:
Michael S. Tsirkin wrote:

It's always wrong to copy symbols from another module without
referencing it.
Its the --first-- time you make this comment,

It's really a well known fact. That's where the crash
with modprobe -r comes from, right?

no, the crash --only-- comes from the neighbour cleanup function being called while ipoib is now probed out of the kernel. The other symbols are not problematic. I got positive feedback that this --is-- the problem in the previous posts and from Roland during my Sonoma presentation.

please suggest a different approach,

I don't know, really - if you want to access a module, you really must get
a reference to it, or to the device.
How about adding the module pointer to struct net_device?

I think there used to be there owner field of type struct module and it was removed... we will check that.

the relevant code is below.

+static void bond_setup_by_slave(struct net_device *bond_dev,
+                               struct net_device *slave_dev)
+{
+       bond_dev->hard_header                = slave_dev->hard_header;
+       bond_dev->rebuild_header        = slave_dev->rebuild_header;
+       bond_dev->hard_header_cache  = slave_dev->hard_header_cache;
+       bond_dev->header_cache_update   = slave_dev->header_cache_update;
+       bond_dev->hard_header_parse  = slave_dev->hard_header_parse;
+
+       bond_dev->neigh_setup           = slave_dev->neigh_setup;
+
+       bond_dev->type                   = slave_dev->type;
+       bond_dev->hard_header_len   = slave_dev->hard_header_len;
+       bond_dev->addr_len       = slave_dev->addr_len;
+
+       memcpy(bond_dev->broadcast, slave_dev->broadcast,
+               slave_dev->addr_len);
+}
+

Hmm, it seems that switching to hard_header_cache as I suggested won't help at 
all.

why? please clarify.

I wonder: is bonding currently broken with devices that implement
hard_header_cache/header_cache_update?

I don't think so. Note that bond_setup_by_slave is only called for slaves whose ether type is --not-- Ethernet.

Or.



-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to