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.

Reply via email to