CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2018/12/10 18:27:08
Modified files: sys/net : if_ethersubr.c sys/netinet : if_ether.h Log message: split ether_output into resolution, encapsulation, and output functions if if_output can be overridden on ethernet interfaces, it will allow things like vlan to do it's packet encapsulation during output before putting the packet directly on the underlying interface for output. this has two benefits. first, it can avoid having ether_output on pseudo interfaces recurse, which makes profiling of the network stack a lot clearer. secondly, and more importantly, it allows pseudo ethernet interface packet encapsulation to by run concurrently by the stack, rather than having packets unnecessarily serialied by an ifq. this diff just splits ether_output up, it doesnt have any interface take advantage of it yet. tweaks and ok claudio@