aboutsummaryrefslogtreecommitdiffstats
path: root/tools/vnet
diff options
context:
space:
mode:
authoriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>2005-02-09 23:23:30 +0000
committeriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>2005-02-09 23:23:30 +0000
commit8e5a6833ffa2a6b1dbbdcc6957ed1df6adb8543f (patch)
treea06019d71f5cd62c4662bea00c391c0d3724fbd3 /tools/vnet
parent6be18e86c3d59af8af7dd6edf995797b09ffe3ef (diff)
downloadxen-8e5a6833ffa2a6b1dbbdcc6957ed1df6adb8543f.tar.gz
xen-8e5a6833ffa2a6b1dbbdcc6957ed1df6adb8543f.tar.bz2
xen-8e5a6833ffa2a6b1dbbdcc6957ed1df6adb8543f.zip
bitkeeper revision 1.1159.223.85 (420a9b72OGag4m4sDtlxM-918tbudQ)
Subject: [Xen-devel] VNET - full update Allows vnets to compile and run under 2.6.10/xen-testing. PATCH: vnet-cleanup.patch Signed off by: bgb@nt-nv.com Signed-off-by: ian@xensource.com
Diffstat (limited to 'tools/vnet')
-rw-r--r--tools/vnet/INSTALL31
-rw-r--r--tools/vnet/Makefile10
-rw-r--r--tools/vnet/vnet-module/Makefile-2.64
-rw-r--r--tools/vnet/vnet-module/if_varp.h4
-rw-r--r--tools/vnet/vnet-module/varp.c14
-rw-r--r--tools/vnet/vnetd/vcache.c14
6 files changed, 54 insertions, 23 deletions
diff --git a/tools/vnet/INSTALL b/tools/vnet/INSTALL
new file mode 100644
index 0000000000..8ece553116
--- /dev/null
+++ b/tools/vnet/INSTALL
@@ -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..d4d8183130 100644
--- a/tools/vnet/Makefile
+++ b/tools/vnet/Makefile
@@ -12,6 +12,7 @@ export prefix?=$(shell cd ../../dist/install && pwd)
all: compile
compile: vnetd vnet-module
+#compile: vnet-module
gc.tar.gz:
wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$@
@@ -20,10 +21,8 @@ gc: gc.tar.gz
tar xfz gc.tar.gz
ln -sf gc?.? gc
-gc/Makefile:
- (cd gc && ./configure --prefix=`pwd`/install)
-
-gc-install: gc gc/Makefile
+gc-install: gc
+ (cd gc && make test && ./configure --prefix=`pwd`/install)
make -C gc
make -C gc install
@@ -47,5 +46,6 @@ install: compile
clean:
-$(MAKE) -C vnetd clean
-$(MAKE) -C vnet-module clean
-
+ -rm -rf gc?.? gc
+
pristine: clean gc-pristine
diff --git a/tools/vnet/vnet-module/Makefile-2.6 b/tools/vnet/vnet-module/Makefile-2.6
index 64e57ea5ff..053391e572 100644
--- a/tools/vnet/vnet-module/Makefile-2.6
+++ b/tools/vnet/vnet-module/Makefile-2.6
@@ -38,8 +38,8 @@ module modules:
.PHONY: install install-module modules_install
install install-module modules_install: module
- install -m 0755 -d $(DESTDIR)$(KERNEL_MODULE_DIR)
- install -m 0554 $(KERNEL_MODULE) $(DESTDIR)$(KERNEL_MODULE_DIR)
+ install -m 0755 -d $(DESTDIR)$(KERNEL_MODULE_DIR)/xen
+ install -m 0554 $(KERNEL_MODULE) $(DESTDIR)$(KERNEL_MODULE_DIR)/xen
.PHONY: clean
clean:
diff --git a/tools/vnet/vnet-module/if_varp.h b/tools/vnet/vnet-module/if_varp.h
index 49058471db..c4b752ac49 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 vnetmsghdr;
uint32_t vnet;
Vmac vmac;
uint32_t addr;
@@ -50,4 +50,4 @@ typedef struct VarpHdr {
-#endif /* ! _VNET_IF_VARP_H */
+#endif /* ! _VNET_IF_VARP_H */
diff --git a/tools/vnet/vnet-module/varp.c b/tools/vnet/vnet-module/varp.c
index 3b1507e045..f7bdf81d97 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->vnetmsghdr.id = htons(VARP_ID);
+ varph->vnetmsghdr.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->vnetmsghdr.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->vnetmsghdr.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->vnetmsghdr.opcode),
ntohl(varph->vnet),
MAC6TUPLE(varph->vmac.mac),
NIPQUAD(varph->addr));
varp_dprint();
}
- switch(ntohs(varph->opcode)){
+ switch(ntohs(varph->vnetmsghdr.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->vnetmsghdr.opcode));
break;
}
exit:
diff --git a/tools/vnet/vnetd/vcache.c b/tools/vnet/vnetd/vcache.c
index cd06988236..1ea81ba292 100644
--- a/tools/vnet/vnetd/vcache.c
+++ b/tools/vnet/vnetd/vcache.c
@@ -102,11 +102,11 @@ int varp_send(Conn *conn, uint16_t opcode, uint32_t vnet, Vmac *vmac, uint32_t a
int varp_n = sizeof(VarpHdr);
VarpHdr varph = {};
- varph.id = htons(VARP_ID);
- varph.opcode = htons(opcode);
- varph.vnet = vnet;
- varph.vmac = *vmac;
- varph.addr = addr;
+ varph.vnetmsghdr.id = htons(VARP_ID);
+ varph.vnetmsghdr.opcode = htons(opcode);
+ varph.vnet = vnet;
+ varph.vmac = *vmac;
+ varph.addr = addr;
if(0){
struct sockaddr_in self;
@@ -503,7 +503,7 @@ void VarpCache_sweep(VarpCache *z, int all){
* @param local whether it's local or not
*/
void vcache_forward_varp(VarpHdr *varph, int local){
- uint16_t opcode = ntohs(varph->opcode);
+ uint16_t opcode = ntohs(varph->vnetmsghdr.opcode);
if(local){
ConnList *l;
for(l = vnetd->connections; l; l = l->next){
@@ -611,7 +611,7 @@ int vcache_handle_message(IPMessage *msg, int local){
dprintf("> opcode=%d vnet=%u vmac=" MACFMT "\n",
ntohs(varph->opcode), ntohl(varph->vnet), MAC6TUPLE(varph->vmac.mac));
}
- switch(ntohs(varph->opcode)){
+ switch(ntohs(varph->vnetmsghdr.opcode)){
case VARP_OP_REQUEST:
err = vcache_handle_request(msg, varph, local);
break;