Yes I apologize for my own misunderstanding, I saw this patch in BZ and was confused previously and didn't see it helping the related e1000 issues. Upon seeing it here again, it seemed like the if statement WRT ctx and arg would be incorrect if receiving an event from the vlan handler, but I see that we control the argument with our EVENTHANDLER_REGISTER here so it is consistent. @kaho_elam.kais.kyoto-u.ac.jp I believe the problems you are pursuing are a combination of filter management in e1000 and a couple issues in the em_txrx.c. I have today off so I'll see if I can make some progress, I've found some bugs in testing so nothing is ready for commit yet but here's my works in progress: D30002 and D30072
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Jun 11 2021
May 31 2021
May 29 2021
In D30463#685511, @markj wrote:I don't understand this change. If you look at EVENTHANDLER_INVOKE, it traverses the list of registered handlers and calls each one with
_t->eh_func(_ep->ee_arg , ## __VA_ARGS__);so the argument passed with EVENTHANDLER_REGISTER is the first parameter, followed by the parent ifnet and VID. iflib specifies the ctx (stored in ifp->if_softc) as the argument, and in iflib_vlan_register() we compare the argument with ifp->if_softc.
I tried adding some prints around this code and configured a vlan on an igb interface, and iflib indeed handled the event. So I can't see what problem this diff is fixing.
In D30463#685828, @erj wrote:I also don't really understand what this is supposed to fix; we haven't had problems registering VLANs at all.
May 28 2021
I also don't really understand what this is supposed to fix; we haven't had problems registering VLANs at all.
I don't understand this change. If you look at EVENTHANDLER_INVOKE, it traverses the list of registered handlers and calls each one with
I see it clearly now, and agree. Thanks for the fix!