In ure_ioctl, the handling of SIOCSIFMTU should be changed from if (if_getmtu(ifp) != ifr->ifr_mtu) if_setmtu(ifp, ifr->ifr_mtu); to if (if_getmtu(ifp) != ifr->ifr_mtu) { /* call stop/init as the mtu is written to the HW */ ure_stop(ue); if_setmtu(ifp, ifr->ifr_mtu); ure_init(ue); } There are HW registers that need to be updated when the MTU is changed.