ia64/xen-unstable

view Config.mk @ 11918:6677b97612a2

[NET] gso: Fix rcv mss estimate

I noticed that with default TCP window sizes TSO + Xen would slow to a
crawl on certain machines. It turned out that there is a bug in the
TCP stack when it comes to receiving LRO (counter part of TSO for rx)
packets.

The following fix has been applied upstream.

[TCP]: Fix rcv mss estimate for LRO

By passing a Linux-generated TSO packet straight back into
Linux, Xen
becomes our first LRO user :) Unfortunately, there is at least
one spot
in our stack that needs to be changed to cope with this.

The receive MSS estimate is computed from the raw packet
size. This is
broken if the packet is GSO/LRO. Fortunately the real MSS can
be found
in gso_size so we simply need to use that if it is non-zero.

Real LRO NICs should of course set the gso_size field in
future.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
author kfraser@localhost.localdomain
date Fri Oct 20 10:46:37 2006 +0100 (2006-10-20)
parents b2e71d574045
children 9493864f7a3c
line source
1 # -*- mode: Makefile; -*-
3 # A debug build of Xen and tools?
4 debug ?= n
6 XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/ \
7 -e s/ppc/powerpc/ -e s/i86pc/x86_32/)
8 XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH)
9 XEN_TARGET_X86_PAE ?= n
10 XEN_OS ?= $(shell uname -s)
12 CONFIG_$(XEN_OS) := y
14 # Tools to run on system hosting the build
15 HOSTCC = gcc
16 HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
18 DISTDIR ?= $(XEN_ROOT)/dist
19 DESTDIR ?= /
21 include $(XEN_ROOT)/config/$(XEN_OS).mk
22 include $(XEN_ROOT)/config/$(XEN_TARGET_ARCH).mk
24 ifneq ($(EXTRA_PREFIX),)
25 EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
26 EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBDIR)
27 endif
29 # cc-option
30 # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
31 cc-option = $(shell if test -z "`$(1) $(2) -S -o /dev/null -xc \
32 /dev/null 2>&1`"; then echo "$(2)"; else echo "$(3)"; fi ;)
34 ifneq ($(debug),y)
35 CFLAGS += -DNDEBUG
36 else
37 CFLAGS += -g
38 endif
40 CFLAGS += -std=gnu99
42 CFLAGS += -Wall -Wstrict-prototypes
44 # -Wunused-value makes GCC 4.x too aggressive for my taste: ignoring the
45 # result of any casted expression causes a warning.
46 CFLAGS += -Wno-unused-value
48 HOSTCFLAGS += $(call cc-option,$(HOSTCC),-Wdeclaration-after-statement,)
49 CFLAGS += $(call cc-option,$(CC),-Wdeclaration-after-statement,)
51 LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i))
52 CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
54 # If ACM_SECURITY = y, then the access control module is compiled
55 # into Xen and the policy type can be set by the boot policy file
56 # y - Build the Xen ACM framework
57 # n - Do not build the Xen ACM framework
58 ACM_SECURITY ?= n
60 # If ACM_SECURITY = y and no boot policy file is installed,
61 # then the ACM defaults to the security policy set by
62 # ACM_DEFAULT_SECURITY_POLICY
63 # Supported models are:
64 # ACM_NULL_POLICY
65 # ACM_CHINESE_WALL_POLICY
66 # ACM_SIMPLE_TYPE_ENFORCEMENT_POLICY
67 # ACM_CHINESE_WALL_AND_SIMPLE_TYPE_ENFORCEMENT_POLICY
68 ACM_DEFAULT_SECURITY_POLICY ?= ACM_NULL_POLICY
70 # Optional components
71 XENSTAT_XENTOP ?= y
73 VTPM_TOOLS ?= n
75 -include $(XEN_ROOT)/.config