Index: if_ix.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_ix.c,v retrieving revision 1.99 diff -u -p -r1.99 if_ix.c --- if_ix.c 26 Aug 2014 11:01:22 -0000 1.99 +++ if_ix.c 27 Aug 2014 11:16:53 -0000 @@ -441,18 +441,6 @@ ixgbe_ioctl(struct ifnet * ifp, u_long c #endif break; - case SIOCSIFMTU: - IOCTL_DEBUGOUT("ioctl: SIOCSIFMTU (Set Interface MTU)"); - if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > ifp->if_hardmtu) - error = EINVAL; - else if (ifp->if_mtu != ifr->ifr_mtu) { - ifp->if_mtu = ifr->ifr_mtu; - sc->max_frame_size = - ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; - ixgbe_init(sc); - } - break; - case SIOCSIFFLAGS: IOCTL_DEBUGOUT("ioctl: SIOCSIFFLAGS (Set Interface Flags)"); if (ifp->if_flags & IFF_UP) { @@ -690,7 +678,7 @@ ixgbe_init(void *arg) IXGBE_WRITE_REG(&sc->hw, IXGBE_GPIE, gpie); /* Set MTU size */ - if (ifp->if_mtu > ETHERMTU) { + if (ifp->if_hardmtu > ETHERMTU) { mhadd = IXGBE_READ_REG(&sc->hw, IXGBE_MHADD); mhadd &= ~IXGBE_MHADD_MFS_MASK; mhadd |= sc->max_frame_size << IXGBE_MHADD_MFS_SHIFT; @@ -1596,7 +1584,7 @@ ixgbe_setup_interface(struct ix_softc *s ether_ifattach(ifp); sc->max_frame_size = - ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; + ifp->if_hardmtu + ETHER_HDR_LEN + ETHER_CRC_LEN; } void @@ -2680,7 +2668,7 @@ ixgbe_initialize_receive_units(struct ix /* Set for Jumbo Frames? */ hlreg = IXGBE_READ_REG(&sc->hw, IXGBE_HLREG0); - if (ifp->if_mtu > ETHERMTU) + if (ifp->if_hardmtu > ETHERMTU) hlreg |= IXGBE_HLREG0_JUMBOEN; else hlreg &= ~IXGBE_HLREG0_JUMBOEN;