IFF_OACTIVE is gone

Sepherosa Ziehau sepherosa at gmail.com
Wed Jan 2 04:56:53 PST 2013


Hi all,

IFF_OACTIVE is gone from kernel land.  For user space the IFF_OACTIVE
is still defined for compability.

All of the network drivers in the tree are converted.  I have tried my
best to test as much hardware as I could, however, I still could break
things.  If you notice anything stupid happened on your NICs on the
latest master, e.g. 100% cpu usage, please let me know.

For folks that are doing kernel side driver work, you usually need to
do following convertion:
1)
if ((ifp->if_flags & (IFF_RUNING | IFF_OACTIVE)) == IFF_RUNNING)
--->
if ((ifp->if_flags & IFF_RUNNING) == 0 || ifq_is_oactive(&ifp->if_snd))

2)
ifp->if_flags |= IFF_OACTIVE;
--->
ifq_set_oactive(&ifp->if_snd);

3)
ifp->if_flags &= ~IFF_OACTIVE;
--->
ifq_clr_oactive(&ifp->if_snd);

4)
ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE);
--->
ifp->if_flags &= ~IFF_RUNNING;
ifq_clr_oactive(&ifp->if_snd);

Best Regards,
sephe

--
Tomorrow Will Never Die


More information about the Users mailing list