Hi,
So I guess after all the discussion, you should amend the commit log a
bit, certainly at least to mention the hidden-node issue.
Regarding the patch itself, I'm not super happy with how big it is,
some additional comments below:
+struct mesh_tx_queue {
+ struct list_head list;
+ struct sk_buff *skb;
+};
This seems awkward, what's wrong with using an SKB list (struct
sk_buff_head, skb_queue_* etc)?
+ /* Spinlock for trasmitted MPATH frames */
+ spinlock_t mesh_tx_queue_lock;
That would also contain the extra spinlock.
+ struct mesh_tx_queue tx_queue;
This was always a bad idea, since you never need the skb pointer here -
should've just used struct list_head.
+ int tx_queue_len;
Also contained in the skb queue.
+ struct delayed_work tx_work;
I don't really see any value here for a delayed work - a pure timer
would work just as well?
Also, these fields should be in ifmsh, I think?
johannes