On Thu, Jan 23, 2020 at 08:17:46PM -0500, Ryan Stone wrote:
R> On Thu, Jan 23, 2020 at 6:05 PM Gleb Smirnoff <gleb...@freebsd.org> wrote:
R> >
R> > On Thu, Jan 23, 2020 at 02:17:33PM -0500, Ryan Stone wrote:
R> > R> What is a driver's responsibility now for entering/leaving the net 
epoch now?
R> >
R> > For drivers that are 'special', entering the net epoch is necessary. 
Special
R> > usually means running if_input outside network interrupt context.
R> >
R> > However, there is plan to generalize entering/exiting epoch for taskqueues
R> > and callouts.
R> 
R> Why on earth is it done that way rather than putting the network epoch
R> enter/exit in ether_input?  I'm with Ian; this sounds like a huge
R> layering violation.

Another thing I should have mentioned. Doing this at interrupt level
makes much easier to maintain alternative network stacks, for example
TOE - which now has tons of hacks. Same stands for netgraph. If you
hook ng_ether on, than ether_input is skipped and packet goes to
netgraph, then it can be injected back into network stack from a
different type of node.

-- 
Gleb Smirnoff
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to