Index: net/if_ethersubr.c =================================================================== --- net/if_ethersubr.c +++ net/if_ethersubr.c @@ -1132,6 +1132,7 @@ error = EINVAL; else ifp->if_pcp = ifr->ifr_lan_pcp; + EVENTHANDLER_INVOKE(ifnet_pcp_event, ifp); break; case SIOCGLANPCP: Index: net/if_var.h =================================================================== --- net/if_var.h +++ net/if_var.h @@ -418,6 +418,10 @@ /* Interface link state change event */ typedef void (*ifnet_link_event_handler_t)(void *, struct ifnet *, int); EVENTHANDLER_DECLARE(ifnet_link_event, ifnet_link_event_handler_t); +/* */ +typedef void (*ifnet_pcp_event_t)(void *, struct ifnet *, int); +EVENTHANDLER_DECLARE(ifnet_pcp_event, ifnet_pcp_event_t); + /* Interface up/down event */ #define IFNET_EVENT_UP 0 #define IFNET_EVENT_DOWN 1