On native ia64 NET_SKB_NET isn't necessary to define.
However on xen it needs to be slightly larger. (More specifically
it's xen-netfront.c requirement.)
It causes annoying kernel unalgned access message and
network layer troubles.
Resolve it by increasing NET_SKB_NET from the default value 16 to 18.
Cc: Kouya SHIMURA <[EMAIL PROTECTED]>
Cc: Akio Takebe <[EMAIL PROTECTED]>
Signed-off-by: Isaku Yamahata <[EMAIL PROTECTED]>
---
arch/ia64/kernel/asm-offsets.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/arch/ia64/kernel/asm-offsets.c b/arch/ia64/kernel/asm-offsets.c
index 6bd3fc5..6a8d95e 100644
--- a/arch/ia64/kernel/asm-offsets.c
+++ b/arch/ia64/kernel/asm-offsets.c
@@ -292,6 +292,17 @@ void foo(void)
#ifdef CONFIG_XEN
BLANK();
+ {
+ union __net_skb_pad
+ {
+ /* default NET_SKB_PAD (= 16) + NET_IP_ALIGN (= 2) */
+ char xen_pad[16 + 2];
+ };
+ COMMENT("On xen NET_SKB_PAD needs to be");
+ COMMENT(" default NET_SKB_PAD (= 16) + NET_IP_ALIGN (= 2)");
+ DEFINE(NET_SKB_PAD, sizeof(union __net_skb_pad));
+ }
+
#define DEFINE_MAPPED_REG_OFS(sym, field) \
DEFINE(sym, (XMAPPEDREGS_OFS + offsetof(struct mapped_regs, field)))
--
1.5.3
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization