Re: [ovs-dev] [PATCH] mac-learning: Implement per-port MAC learning fairness.

2015-02-13 Thread Ben Pfaff
Thanks Ethan and Alex (and Ronny). I applied this to master and backported it to branch-2.3, branch-2.1, and branch-2.0. On Thu, Feb 12, 2015 at 12:33:10PM -0800, Ethan Jackson wrote: > Solution seems clean, I'm happy with this as well. > > Acked-by: Ethan Jackson > > > On Thu, Feb 12, 2015 a

Re: [ovs-dev] [PATCH] mac-learning: Implement per-port MAC learning fairness.

2015-02-13 Thread Alex Wang
Thx a lot for the explanation, it is clear now! On Fri, Feb 13, 2015 at 8:44 AM, Ben Pfaff wrote: > On Thu, Feb 12, 2015 at 11:02:06AM -0800, Alex Wang wrote: > > > +struct mac_learning_port *mlport; > > > > > > Simple C question, why don't we need to forward declare the struct > > 'mac_lear

Re: [ovs-dev] [PATCH] mac-learning: Implement per-port MAC learning fairness.

2015-02-13 Thread Ben Pfaff
On Thu, Feb 12, 2015 at 11:02:06AM -0800, Alex Wang wrote: > > +struct mac_learning_port *mlport; > > > Simple C question, why don't we need to forward declare the struct > 'mac_learning_port'? Forward declarations are only necessary in one weird C corner case: when the first use of the stru

Re: [ovs-dev] [PATCH] mac-learning: Implement per-port MAC learning fairness.

2015-02-12 Thread Ethan Jackson
Solution seems clean, I'm happy with this as well. Acked-by: Ethan Jackson On Thu, Feb 12, 2015 at 11:02 AM, Alex Wang wrote: > Looks good to me, > > /* A MAC learning table entry. >> - * Guarded by owning 'mac_learning''s rwlock */ >> + * Guarded by owning 'mac_learning''s rwlock. */ >> str

Re: [ovs-dev] [PATCH] mac-learning: Implement per-port MAC learning fairness.

2015-02-12 Thread Alex Wang
Looks good to me, /* A MAC learning table entry. > - * Guarded by owning 'mac_learning''s rwlock */ > + * Guarded by owning 'mac_learning''s rwlock. */ > struct mac_entry { > struct hmap_node hmap_node; /* Node in a mac_learning hmap. */ > time_t expires; /* Expiration time

[ovs-dev] [PATCH] mac-learning: Implement per-port MAC learning fairness.

2015-02-11 Thread Ben Pfaff
In "MAC flooding", an attacker transmits an overwhelming number of frames with unique Ethernet source address on a switch port. The goal is to force the switch to evict all useful MAC learning table entries, so that its behavior degenerates to that of a hub, flooding all traffic. In turn, that al