#!/usr/sbin/dtrace -s /* #pragma D option flowindent */ inline int af_inet = 2; inline int af_inet6 = 28; fbt:kernel:if_setlladdr:entry { this->mac = (uint8_t *)arg1; this->ifp = (struct ifnet *)arg0; this->ifp__if_xname = stringof((char *)(&this->ifp->if_index + 2)); printf("Setting '%s' mac to %02X:%02X:%02X:%02X:%02X:%02X", this->ifp__if_xname, this->mac[0], this->mac[1], this->mac[2], this->mac[3], this->mac[4], this->mac[5]); } fbt:kernel:arp_iflladdr:entry { this->ifp = (struct ifnet *)arg1; this->ifp__if_xname = stringof((char *)(&this->ifp->if_index + 2)); this->sdl = (struct sockaddr_dl *)(this->ifp->if_addr->ifa_addr); this->mac = (uint8_t *)this->sdl->sdl_data + this->sdl->sdl_nlen; printf("ARP handler called for '%s' [mac %02X:%02X:%02X:%02X:%02X:%02X]", this->ifp__if_xname, this->mac[0], this->mac[1], this->mac[2], this->mac[3], this->mac[4], this->mac[5]); } fbt:if_lagg:lagg_lladdr:entry { this->mac = (uint8_t *)arg1; this->sc = (struct lagg_softc *)arg0; this->ifp = this->sc->sc_ifp; this->ifp__if_xname = stringof((char *)(&this->ifp->if_index + 2)); printf("Setting '%s' mac to %02X:%02X:%02X:%02X:%02X:%02X", this->ifp__if_xname, this->mac[0], this->mac[1], this->mac[2], this->mac[3], this->mac[4], this->mac[5]); } fbt:if_lagg:lagg_port_lladdr:entry { this->mac = (uint8_t *)arg1; this->lp = (struct lagg_port *)arg0; this->ifp = this->lp->lp_ifp; this->ifp__if_xname = stringof((char *)(&this->ifp->if_index + 2)); printf("Setting '%s' mac to %02X:%02X:%02X:%02X:%02X:%02X", this->ifp__if_xname, this->mac[0], this->mac[1], this->mac[2], this->mac[3], this->mac[4], this->mac[5]); } fbt:if_lagg:lagg_port_setlladdr:entry { this->sc = (struct lagg_softc *)arg0; this->ifp = this->sc->sc_ifp; this->ifp__if_xname = stringof((char *)(&this->ifp->if_index + 2)); printf("Taskqueue handler called for '%s'\n", this->ifp__if_xname); } fbt:if_lagg:lagg_clone_destroy:entry { this->ifp = (struct ifnet *)arg0; this->ifp__if_xname = stringof((char *)(&this->ifp->if_index + 2)); printf("time to shutdown for '%s'\n", this->ifp__if_xname); }