aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormjw@wray-m-3.hpl.hp.com <mjw@wray-m-3.hpl.hp.com>2005-02-10 17:13:35 +0000
committermjw@wray-m-3.hpl.hp.com <mjw@wray-m-3.hpl.hp.com>2005-02-10 17:13:35 +0000
commit4db4e4f09f85c3905b01c37ad0dc4f1d59ffe2bb (patch)
treeaa40e548aa4d577c4a358dce969e3516e2e67199
parent6be18e86c3d59af8af7dd6edf995797b09ffe3ef (diff)
downloadxen-4db4e4f09f85c3905b01c37ad0dc4f1d59ffe2bb.tar.gz
xen-4db4e4f09f85c3905b01c37ad0dc4f1d59ffe2bb.tar.bz2
xen-4db4e4f09f85c3905b01c37ad0dc4f1d59ffe2bb.zip
bitkeeper revision 1.1159.258.1 (420b963fGDqQqmlp_DO3u-T_klF82g)
Fixes to make the vnet module compile under 2.6.10. Thanks to Brian Bruce for spotting the problem and suggesting fixes. Signed-off-by: Mike Wray <mike.wray@hp.com>
-rw-r--r--.rootkeys1
-rw-r--r--tools/vnet/00INSTALL31
-rw-r--r--tools/vnet/Makefile6
-rw-r--r--tools/vnet/vnet-module/if_varp.h2
-rw-r--r--tools/vnet/vnet-module/varp.c14
5 files changed, 43 insertions, 11 deletions
diff --git a/.rootkeys b/.rootkeys
index a6f49dc24c..f876ba5eec 100644
--- a/.rootkeys
+++ b/.rootkeys
@@ -555,6 +555,7 @@
40fcefb3yMSrZvApO9ToIi-iQwnchA tools/sv/images/xen.png
41013a83z27rKvWIxAfUBMVZ1eDCDg tools/sv/inc/script.js
40fcefb3zGC9XNBkSwTEobCoq8YClA tools/sv/inc/style.css
+420b963dK3yGNtqxRM8npGZtrCQd1g tools/vnet/00INSTALL
41a21888_WlknVWjSxb32Fo13_ujsw tools/vnet/00README
41a21888bOiOJc7blzRbe4MNJoaYTw tools/vnet/Makefile
41a21888mg2k5HeiVjlQYEtJBZT4Qg tools/vnet/doc/vnet-module.txt
diff --git a/tools/vnet/00INSTALL b/tools/vnet/00INSTALL
new file mode 100644
index 0000000000..1c76986d83
--- /dev/null
+++ b/tools/vnet/00INSTALL
@@ -0,0 +1,31 @@
+
+To compile and install run "make install"; if it fails or you need to reinstall
+run "make clean" first or the build will fail, at least that is what I have
+found under 2.6.10.
+
+Other important items:
+1) You will need to have your xen0 kernel compiled with HMAC_SUPPORT
+ 2.6.x = (MAIN MENU: Cryptographic Options -> HMAC Support)
+ BEFORE running "make install".
+
+2) You will want at least some of the other alogorithms listed under
+ "Cryptographic Options" for the kernel compiled as modules.
+
+3) You will want the networking IPsec/VLAN options compiled in as modules
+ 2.6.x = (MAIN MENU: Device Drivers -> Networking Support ->
+ Networking Options ->
+ IP: AH transformation
+ IP: ESP transformation
+ IP: IPComp transformation
+ IP: tunnel transformation
+
+ IPsec user configuration interface
+
+ 802.1Q VLAN Support
+
+4) The module (vnet_module) will not properly load from the command line
+ with a "modprobe vnet_module". Use network-vnet to properly configure
+ your system and load the module for you.
+
+Please refer to the additional documentation found in tools/vnet/doc for
+proper syntax and config file parameters.
diff --git a/tools/vnet/Makefile b/tools/vnet/Makefile
index 63939dff9d..76d2abae05 100644
--- a/tools/vnet/Makefile
+++ b/tools/vnet/Makefile
@@ -20,10 +20,10 @@ gc: gc.tar.gz
tar xfz gc.tar.gz
ln -sf gc?.? gc
-gc/Makefile:
- (cd gc && ./configure --prefix=`pwd`/install)
+gc/.configure-makefile:
+ (cd gc && ./configure --prefix=`pwd`/install && touch .configure-makefile)
-gc-install: gc gc/Makefile
+gc-install: gc gc/.configure-makefile
make -C gc
make -C gc install
diff --git a/tools/vnet/vnet-module/if_varp.h b/tools/vnet/vnet-module/if_varp.h
index 49058471db..a9a7438a7e 100644
--- a/tools/vnet/vnet-module/if_varp.h
+++ b/tools/vnet/vnet-module/if_varp.h
@@ -36,7 +36,7 @@ typedef struct VnetMsgHdr {
} __attribute__((packed)) VnetMsgHdr;
typedef struct VarpHdr {
- VnetMsgHdr;
+ VnetMsgHdr hdr;
uint32_t vnet;
Vmac vmac;
uint32_t addr;
diff --git a/tools/vnet/vnet-module/varp.c b/tools/vnet/vnet-module/varp.c
index 3b1507e045..1e44a915b7 100644
--- a/tools/vnet/vnet-module/varp.c
+++ b/tools/vnet/vnet-module/varp.c
@@ -368,8 +368,8 @@ int varp_send(u16 opcode, struct net_device *dev, struct sk_buff *skbin,
// Varp header.
varph = (void*)skb_put(skbout, varp_n);
*varph = (VarpHdr){};
- varph->id = htons(VARP_ID);
- varph->opcode = htons(opcode);
+ varph->hdr.id = htons(VARP_ID);
+ varph->hdr.opcode = htons(opcode);
varph->vnet = htonl(vnet);
varph->vmac = *vmac;
varph->addr = saddr;
@@ -1076,9 +1076,9 @@ int varp_handle_message(struct sk_buff *skb){
goto exit;
}
mine = 1;
- if(varph->id != htons(VARP_ID)){
+ if(varph->hdr.id != htons(VARP_ID)){
// It's not varp at all - ignore it.
- wprintf("> Unknown id: %d \n", ntohs(varph->id));
+ wprintf("> Unknown id: %d \n", ntohs(varph->hdr.id));
goto exit;
}
if(1){
@@ -1086,13 +1086,13 @@ int varp_handle_message(struct sk_buff *skb){
NIPQUAD(skb->nh.iph->saddr), NIPQUAD(skb->nh.iph->daddr));
dprintf("> sport=%u dport=%u\n", ntohs(skb->h.uh->source), ntohs(skb->h.uh->dest));
dprintf("> opcode=%d vnet=%u vmac=" MACFMT " addr=" IPFMT "\n",
- ntohs(varph->opcode),
+ ntohs(varph->hdr.opcode),
ntohl(varph->vnet),
MAC6TUPLE(varph->vmac.mac),
NIPQUAD(varph->addr));
varp_dprint();
}
- switch(ntohs(varph->opcode)){
+ switch(ntohs(varph->hdr.opcode)){
case VARP_OP_REQUEST:
err = varp_handle_request(skb, varph);
break;
@@ -1100,7 +1100,7 @@ int varp_handle_message(struct sk_buff *skb){
err = varp_handle_announce(skb, varph);
break;
default:
- wprintf("> Unknown opcode: %d \n", ntohs(varph->opcode));
+ wprintf("> Unknown opcode: %d \n", ntohs(varph->hdr.opcode));
break;
}
exit: