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