diff -ubdr linux-2.6.11-xen-sparse.orig/drivers/xen/netback/interface.c linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c --- linux-2.6.11-xen-sparse.orig/drivers/xen/netback/interface.c 2005-08-04 00:57:57.000000000 +0100 +++ linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c 2005-11-25 15:18:21.000000000 +0000 @@ -65,6 +65,14 @@ return 0; } +static int net_change_mtu(struct net_device *dev, int new_mtu) +{ + if ((new_mtu < 68) || (new_mtu > 3000)) + return -EINVAL; + dev->mtu = new_mtu; + return 0; +} + static void __netif_disconnect_complete(void *arg) { netif_t *netif = (netif_t *)arg; @@ -157,6 +165,7 @@ dev->hard_start_xmit = netif_be_start_xmit; dev->get_stats = netif_be_get_stats; + dev->change_mtu = net_change_mtu; dev->open = net_open; dev->stop = net_close; diff -ubdr linux-2.6.11-xen-sparse.orig/drivers/xen/netback/netback.c linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c --- linux-2.6.11-xen-sparse.orig/drivers/xen/netback/netback.c 2005-08-04 00:57:57.000000000 +0100 +++ linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c 2005-11-25 19:36:39.000000000 +0000 @@ -510,7 +510,7 @@ netif_schedule_work(netif); if ( unlikely(txreq.size < ETH_HLEN) || - unlikely(txreq.size > ETH_FRAME_LEN) ) + unlikely(txreq.size > 3018) ) { DPRINTK("Bad packet size: %d\n", txreq.size); make_tx_response(netif, txreq.id, NETIF_RSP_ERROR); diff -ubdr linux-2.6.11-xen-sparse.orig/drivers/xen/netfront/netfront.c linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c --- linux-2.6.11-xen-sparse.orig/drivers/xen/netfront/netfront.c 2005-08-04 00:57:57.000000000 +0100 +++ linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c 2005-11-25 12:29:11.000000000 +0000 @@ -707,6 +707,13 @@ return &np->stats; } +static int network_change_mtu(struct net_device *dev, int new_mtu) +{ + if ((new_mtu < 68) || (new_mtu > 3000)) + return -EINVAL; + dev->mtu = new_mtu; + return 0; +} static void network_connect(struct net_device *dev, netif_fe_interface_status_t *status) @@ -969,6 +976,7 @@ dev->hard_start_xmit = network_start_xmit; dev->stop = network_close; dev->get_stats = network_get_stats; + dev->change_mtu = network_change_mtu; dev->poll = netif_poll; dev->weight = 64;