Page MenuHomeFreeBSD

ng pppoe(4): Add the required NET_EPOCH section to the hook disconnection function.
ClosedPublic

Authored by afedorov on Feb 6 2022, 12:49 PM.
Tags
None
Referenced Files
F152413872: D34185.id102430.diff
Tue, Apr 14, 7:51 PM
Unknown Object (File)
Sun, Apr 12, 1:34 AM
Unknown Object (File)
Sat, Apr 11, 7:20 PM
Unknown Object (File)
Sat, Apr 11, 4:07 AM
Unknown Object (File)
Thu, Apr 9, 6:12 PM
Unknown Object (File)
Thu, Apr 9, 5:22 AM
Unknown Object (File)
Wed, Apr 8, 11:43 PM
Unknown Object (File)
Mon, Apr 6, 9:39 AM
Subscribers

Details

Summary

Disconnecting hooks are called outside of NET_EPOCH, but ng_pppoe_disconnect() calls NG_SEND_DATA_ONLY() which should be called in NET_EPOCH.

PR: 257067

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Feb 6 2022, 1:33 PM

Question: there are three more locations in that source file where NG_SEND_DATA_ONLY() is called and it is not apparent that we are inside NET_EPOCH.
Should we enter NET_EPOCH also there, or we are already in?

Question: there are three more locations in that source file where NG_SEND_DATA_ONLY() is called and it is not apparent that we are inside NET_EPOCH.
Should we enter NET_EPOCH also there, or we are already in?

Other places where NG_SEND_DATA_ONLY() is called:

  • pppoe_broadcast_padi() which called from ng_pppoe_rcvdata_ether() - datapath already in NET_EPOCH.
  • ng_pppoe_rcvmsg() - already set NET_EPOCH manually.
  • pppoe_start() called from ng_pppoe_rcvmsg() - already set NET_EPOCH manually.
  • pppoe_start() called from ng_pppoe_ticker(). ng_pppoe_ticker() called from ng_callout() which enter NET_EPOCH.

So, I think other places where NG_SEND_DATA_ONLY() is called, are already in NET_EPOCH.

I see, thanks.

This revision now requires changes to proceed.Feb 8 2022, 9:08 PM
This revision is now accepted and ready to land.Feb 8 2022, 9:08 PM