Edwin Zhai
2005-Sep-08 10:06 UTC
[Xen-devel] [PATCH][VT] fix bug that service os&vmx guest can''t communicate with each other.
fix bug that service os&vmx guest can''t communicate with each
other.
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
diff -r 04ca47c298b5 -r a80889c7da99 tools/ioemu/hw/pcnet.c
--- a/tools/ioemu/hw/pcnet.c Thu Sep 1 21:30:51 2005
+++ b/tools/ioemu/hw/pcnet.c Mon Sep 5 09:33:29 2005
@@ -380,10 +380,13 @@
return sizeof(s->buffer)-16;
}
+#define MIN_BUF_SIZE 60
+
static void pcnet_receive(void *opaque, const uint8_t *buf, int size)
{
PCNetState *s = opaque;
int is_padr = 0, is_bcast = 0, is_ladr = 0;
+ uint8_t buf1[60];
if (CSR_DRX(s) || CSR_STOP(s) || CSR_SPND(s) || !size)
return;
@@ -391,6 +394,14 @@
#ifdef PCNET_DEBUG
printf("pcnet_receive size=%d\n", size);
#endif
+
+ /* if too small buffer, then expand it */
+ if (size < MIN_BUF_SIZE) {
+ memcpy(buf1, buf, size);
+ memset(buf1 + size, 0, MIN_BUF_SIZE - size);
+ buf = buf1;
+ size = MIN_BUF_SIZE;
+ }
if (CSR_PROM(s)
|| (is_padr=padr_match(s, buf, size))
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Keir Fraser
2005-Sep-08 11:28 UTC
[Xen-devel] Re: [PATCH][VT] fix bug that service os&vmx guest can''t communicate with each other.
On 8 Sep 2005, at 11:06, Edwin Zhai wrote:> fix bug that service os&vmx guest can''t communicate with each other. > Signed-off-by: Edwin Zhai <edwin.zhai@intel.com> > Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>Why is special treatment needed for small packets? Is this simply masking a bug elsewhere -- the original qemu driver must have dealt with small packets (e.g., TCP acks) correctly. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Zhai, Edwin
2005-Sep-08 12:41 UTC
[Xen-devel] Re: [PATCH][VT] fix bug that service os&vmx guest can''t communicate with each other.
Keir Fraser wrote:> > On 8 Sep 2005, at 11:06, Edwin Zhai wrote: > >> fix bug that service os&vmx guest can''t communicate with each other. >> Signed-off-by: Edwin Zhai <edwin.zhai@intel.com> >> Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com> > > > Why is special treatment needed for small packets? Is this simply > masking a bug elsewhere -- the original qemu driver must have dealt > with small packets (e.g., TCP acks) correctly.extend the ether packet to 60 bytes else the guest ethernet driver will report error. in fact, the patch is borrowed from qemu ne2000.> > -- Keir >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2005-Sep-08 13:07 UTC
[Xen-devel] Re: [PATCH][VT] fix bug that service os&vmx guest can''t communicate with each other.
On 8 Sep 2005, at 13:41, Zhai, Edwin wrote:>> Why is special treatment needed for small packets? Is this simply >> masking a bug elsewhere -- the original qemu driver must have dealt >> with small packets (e.g., TCP acks) correctly. > > extend the ether packet to 60 bytes else the guest ethernet driver > will report error. > in fact, the patch is borrowed from qemu ne2000.Fair enough. I guess you will push this patch to the vx-testing tree? -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Zhai, Edwin
2005-Sep-08 13:14 UTC
[Xen-devel] Re: [PATCH][VT] fix bug that service os&vmx guest can''t communicate with each other.
Keir Fraser wrote:> > On 8 Sep 2005, at 13:41, Zhai, Edwin wrote: > >>> Why is special treatment needed for small packets? Is this simply >>> masking a bug elsewhere -- the original qemu driver must have dealt >>> with small packets (e.g., TCP acks) correctly. >> >> >> extend the ether packet to 60 bytes else the guest ethernet driver >> will report error. >> in fact, the patch is borrowed from qemu ne2000. > > > Fair enough. I guess you will push this patch to the vx-testing tree?it has already gone into xen-vtx-unstable tree :)> > -- Keir >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel