+void
+vnet_hw_interface_set_mtu (vnet_main_t * vnm, u32 hw_if_index, u32 mtu)
+{
+ vnet_hw_interface_t *hi = vnet_get_hw_interface (vnm, hw_if_index);
+
+ if (hi->max_packet_bytes != mtu)
+ {
+ u16 l3_pad = hi->max_packet_bytes - hi->max_l3_packet_bytes[VLIB_TX];
+ hi->max_packet_bytes = mtu;
+ hi->max_l3_packet_bytes[VLIB_TX] =
+ hi->max_l3_packet_bytes[VLIB_RX] = mtu - l3_pad;
+ ethernet_set_flags (vnm, hw_if_index, ETHERNET_INTERFACE_FLAG_MTU);
+ adj_mtu_update (hw_if_index);
+ }
+}
+