WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] About the specification of the transmission processing of ne

To: "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] About the specification of the transmission processing of netback driver
From: "Kasai Takanori" <kasai.takanori@xxxxxxxxxxxxxx>
Date: Wed, 20 Feb 2008 16:37:57 +0900
Delivery-date: Tue, 19 Feb 2008 23:38:33 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi All,

Please teach us the specification of the transmission processing of netback driver.

When the packet is transmitted by using VNIF on PV-domain and PV-ON-HVM,
the data of SKB is fragmented.
It is fragmented whenever the data of the packet is larger than that of 64 bytes.

It seems like the specification from at first.
Why is the packet fragmented by 64 bytes?


Details are as follows:

・linux-2.6.18-xen.hg/drivers/xen/netback/netback.c
-----------------------------------------------------------------------------
 1177  /* Called after netfront has transmitted */
 1178  static void net_tx_action(unsigned long unused)
 1179  {
...
 1285                  data_len = (txreq.size > PKT_PROT_LEN &&
 1286                              ret < MAX_SKB_FRAGS) ?
 1287                          PKT_PROT_LEN : txreq.size;
 1288
 1289                  skb = alloc_skb(data_len + 16 + NET_IP_ALIGN,
 1290                                  GFP_ATOMIC | __GFP_NOWARN);
...
 1324                  if (data_len < txreq.size) {
 1325                          skb_shinfo(skb)->nr_frags++;
 1326                          skb_shinfo(skb)->frags[0].page =
 1327                                  (void *)(unsigned long)pending_idx;
 1328                  } else {
-----------------------------------------------------------------------------

1285:
 When packet is 64 bytes or less, data_len is the sizes of the packet.
 But, it is 64 bytes that the packet is larger than 64 bytes

1324-1327:
In a packet that is larger than 64 bytes, the remainder of the packet is fragmented.


Best Regards

--
Takanori Kasai


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] About the specification of the transmission processing of netback driver, Kasai Takanori <=