* [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other.
@ 2005-09-08 10:06 Edwin Zhai
2005-09-08 11:28 ` Keir Fraser
0 siblings, 1 reply; 5+ messages in thread
From: Edwin Zhai @ 2005-09-08 10:06 UTC (permalink / raw)
To: Ian Pratt, Keir Fraser; +Cc: xen-devel
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))
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other.
2005-09-08 10:06 [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other Edwin Zhai
@ 2005-09-08 11:28 ` Keir Fraser
2005-09-08 12:41 ` Zhai, Edwin
0 siblings, 1 reply; 5+ messages in thread
From: Keir Fraser @ 2005-09-08 11:28 UTC (permalink / raw)
To: Edwin Zhai; +Cc: xen-devel, Ian Pratt
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other.
2005-09-08 11:28 ` Keir Fraser
@ 2005-09-08 12:41 ` Zhai, Edwin
2005-09-08 13:07 ` Keir Fraser
0 siblings, 1 reply; 5+ messages in thread
From: Zhai, Edwin @ 2005-09-08 12:41 UTC (permalink / raw)
To: Keir Fraser; +Cc: xen-devel, Ian Pratt
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
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other.
2005-09-08 12:41 ` Zhai, Edwin
@ 2005-09-08 13:07 ` Keir Fraser
2005-09-08 13:14 ` Zhai, Edwin
0 siblings, 1 reply; 5+ messages in thread
From: Keir Fraser @ 2005-09-08 13:07 UTC (permalink / raw)
To: Zhai, Edwin; +Cc: xen-devel, Ian Pratt
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other.
2005-09-08 13:07 ` Keir Fraser
@ 2005-09-08 13:14 ` Zhai, Edwin
0 siblings, 0 replies; 5+ messages in thread
From: Zhai, Edwin @ 2005-09-08 13:14 UTC (permalink / raw)
To: Keir Fraser; +Cc: xen-devel, Ian Pratt
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
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-09-08 13:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-08 10:06 [PATCH][VT] fix bug that service os&vmx guest can't communicate with each other Edwin Zhai
2005-09-08 11:28 ` Keir Fraser
2005-09-08 12:41 ` Zhai, Edwin
2005-09-08 13:07 ` Keir Fraser
2005-09-08 13:14 ` Zhai, Edwin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.