[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [Xen-users] Ethernet MTU
I have some news... On Wednesday 16 August 2006 22:53, Dominique Rousseau wrote: > After some tries, it looks like the vif code don't handle frames > with size larger than 1500. true: http://lists.xensource.com/archives/html/xen-devel/2006-08/msg00944.html > Looking at the code, there is the following snippet that seems to be > the probleme (in drivers/xen/netback/netback.c) : > > if (unlikely(txreq.size < ETH_HLEN) || > unlikely(txreq.size > ETH_FRAME_LEN)) { > DPRINTK("Bad packet size: %d\n", txreq.size); > make_tx_response(netif, txreq.id, NETIF_RSP_ERROR); > netif_put(netif); > continue; > } ./include/linux/if_vlan.h:#define VLAN_ETH_FRAME_LEN 1518 /* Max. octets in frame sans FCS */ ./include/linux/if_ether.h:#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */ ./include/linux/if_vlan.h:#define VLAN_ETH_HLEN 18 /* Total octets in header. */ ./include/linux/if_ether.h:#define ETH_HLEN 14 /* Total octets in header. */ netfront_vlan.patch: --- # Node ID a5ee1cb525bbe8954dc3332ceec951e09a378b68 # parent: c097485037f7417b77db34da198b62a9c9481dc5 Make MTU rx check in netfront more permissive to allow for 8021q vlan tagging. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Wed Mar 15 12:41:58 2006 +0100 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Wed Mar 15 12:52:33 2006 +0100 @@ -845,11 +845,11 @@ static int netif_poll(struct net_device } while ((skb = __skb_dequeue(&rxq)) != NULL) { - if (skb->len > (dev->mtu + ETH_HLEN)) { + if (skb->len > (dev->mtu + ETH_HLEN + 4)) { if (net_ratelimit()) printk(KERN_INFO "Received packet too big for " "MTU (%d > %d)\n", - skb->len - ETH_HLEN, dev->mtu); + skb->len - ETH_HLEN - 4, dev->mtu); skb->len = 0; skb->tail = skb->data; init_skb_shinfo(skb); --- looking at all that things, maybe the solutions is to change ETH_FRAME_LEN in VLAN_ETH_FRAME_LEN... or to remove that check (already done in unstable). i'll try tomorrow. bye d. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |