> Henning Brauer <lists-openbsdtech <at> bsws.de> writes: > > > > And lot of (possible) encapsulation subsystems in the middle: vlan, > > > vlan-in-vlan, ipsec, you name it. > > > > VLAN IS NOT AN ENCAPSULATION. > > Well, vlan(4) says: > > vlan, svlan - IEEE 802.1Q/1AD encapsulation/decapsulation pseudo-device > > > > Given a number of subsystems, delayed processing (promise pattern > > > variation, actually) is way to go, imo, because stack will have > > > homogeneous approach for entire packet assembly logic. > > > > you cannot delay this reasonably, it IS far down the road, basically > > right before sending the frame out. > > > > > In terms of above pattern, right: vlan_output will only set a flag > > > and call ether_output - this is what you already did with cksums. > > > > no, not even remotely. sigh. > > Functionally, no, - I understand your point. > > But I'm talking about *pattern* you used. > > Looking at what Martin is doing, imo, you guys trying to achieve > > a) concentrate all packet (re)assembly in one place to minimize > memory operations (so you need to delay some things); > > b) put one lock in and one lock out (you also need to delay to be > able to put one single block of code somewhere in the output). > > What I see, old (spaghetti) approach and new (delayed) approach > are trying to coexist. >
Alexey, Since you don't supply diffs, you are a waste of skin.