mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
Update to 0.2.7.
PR: 113808 Submitted by: Pavel I Volkov
This commit is contained in:
parent
81b2d25f1c
commit
3e9eaed62a
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=194796
17 changed files with 317 additions and 46 deletions
|
@ -6,8 +6,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
PORTNAME= dynamips
|
PORTNAME= dynamips
|
||||||
PORTVERSION= 0.2.5
|
DISTVERSION= 0.2.7
|
||||||
PORTREVISION= 2
|
|
||||||
CATEGORIES= emulators
|
CATEGORIES= emulators
|
||||||
MASTER_SITES= http://www.ipflow.utc.fr/dynamips/
|
MASTER_SITES= http://www.ipflow.utc.fr/dynamips/
|
||||||
|
|
||||||
|
@ -19,22 +18,19 @@ LIB_DEPENDS= elf.0:${PORTSDIR}/devel/libelf
|
||||||
USE_GMAKE= yes
|
USE_GMAKE= yes
|
||||||
USE_GCC= 3.2+
|
USE_GCC= 3.2+
|
||||||
USE_GETOPT_LONG=yes
|
USE_GETOPT_LONG=yes
|
||||||
ALL_TARGET= ${PORTNAME}
|
ALL_TARGET= ${PORTNAME} nvram_export
|
||||||
MAKE_ENV= DYNAMIPS_ARCH=${DYNAMIPS_ARCH}\
|
MAKE_ENV= DYNAMIPS_ARCH=${DYNAMIPS_ARCH}\
|
||||||
PTHREAD_CFLAGS=${PTHREAD_CFLAGS}\
|
PTHREAD_CFLAGS=${PTHREAD_CFLAGS}\
|
||||||
PTHREAD_LIBS=${PTHREAD_LIBS}\
|
PTHREAD_LIBS=${PTHREAD_LIBS}\
|
||||||
LDFLAGS="${LDFLAGS}"
|
LDFLAGS="${LDFLAGS}"
|
||||||
|
|
||||||
PLIST_FILES= bin/${PORTNAME}
|
PLIST_FILES= bin/${PORTNAME} bin/nvram_export
|
||||||
.if !defined(NOPORTDOCS)
|
.if !defined(NOPORTDOCS)
|
||||||
PORTDOCS= README
|
PORTDOCS= README README.hypervisor
|
||||||
.endif
|
.endif
|
||||||
|
.if !defined(NO_INSTALL_MANPAGES)
|
||||||
do-install:
|
MAN1= ${PORTNAME}.1 nvram_export.1
|
||||||
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin
|
MAN7= hypervisor_mode.7
|
||||||
.if !defined(NOPORTDOCS)
|
|
||||||
${MKDIR} ${DOCSDIR}
|
|
||||||
${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
|
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.include <bsd.port.pre.mk>
|
.include <bsd.port.pre.mk>
|
||||||
|
@ -42,14 +38,12 @@ do-install:
|
||||||
.if ${ARCH} == "i386"
|
.if ${ARCH} == "i386"
|
||||||
DYNAMIPS_ARCH= "x86"
|
DYNAMIPS_ARCH= "x86"
|
||||||
.elif ${ARCH} == "amd64"
|
.elif ${ARCH} == "amd64"
|
||||||
DYNAMIPS_ARCH= "nojit" # JIT does not work on amd64 for some reason
|
DYNAMIPS_ARCH= "amd64"
|
||||||
.else
|
.else
|
||||||
DYNAMIPS_ARCH= "nojit"
|
DYNAMIPS_ARCH= "nojit"
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.if ${OSVERSION} < 602100 || ${OSVERSION} < 700021
|
.if ${OSVERSION} < 602100 || ${OSVERSION} < 700021
|
||||||
#
|
|
||||||
# Requires libpcap 0.9.4
|
|
||||||
BUILD_DEPENDS+= libpcap>=0.9.4:${PORTSDIR}/net/libpcap
|
BUILD_DEPENDS+= libpcap>=0.9.4:${PORTSDIR}/net/libpcap
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
@ -57,4 +51,18 @@ BUILD_DEPENDS+= libpcap>=0.9.4:${PORTSDIR}/net/libpcap
|
||||||
MAKE_ENV+= HAS_POSIX_MEMALIGN=1
|
MAKE_ENV+= HAS_POSIX_MEMALIGN=1
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
do-install:
|
||||||
|
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin
|
||||||
|
${INSTALL_PROGRAM} ${WRKSRC}/nvram_export ${PREFIX}/bin
|
||||||
|
.if !defined(NOPORTDOCS)
|
||||||
|
${MKDIR} ${DOCSDIR}
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/README.hypervisor ${DOCSDIR}
|
||||||
|
.endif
|
||||||
|
.if !defined(NO_INSTALL_MANPAGES)
|
||||||
|
${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${PREFIX}/man/man1
|
||||||
|
${INSTALL_MAN} ${WRKSRC}/nvram_export.1 ${PREFIX}/man/man1
|
||||||
|
${INSTALL_MAN} ${WRKSRC}/hypervisor_mode.7 ${PREFIX}/man/man7
|
||||||
|
.endif
|
||||||
|
|
||||||
.include <bsd.port.post.mk>
|
.include <bsd.port.post.mk>
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
MD5 (dynamips-0.2.5.tar.gz) = b87ef442f7537373ccbe69c3f6dca301
|
MD5 (dynamips-0.2.7.tar.gz) = 0fe1875bb4e7e3624ca420dd75c85279
|
||||||
SHA256 (dynamips-0.2.5.tar.gz) = eab3f45b0e040be5748523a4ae0f2fae28ee9dd3068b56663459c7e84451de75
|
SHA256 (dynamips-0.2.7.tar.gz) = f8fc6fc8f66e10f6afcffa832a6071dffeeb9356ed97fe2690bc678d977717ef
|
||||||
SIZE (dynamips-0.2.5.tar.gz) = 312130
|
SIZE (dynamips-0.2.7.tar.gz) = 522620
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
--- Makefile.orig Thu Sep 14 17:59:13 2006
|
--- Makefile.orig Thu Feb 8 15:23:36 2007
|
||||||
+++ Makefile Tue Nov 14 10:27:26 2006
|
+++ Makefile Thu Feb 8 15:34:39 2007
|
||||||
@@ -12,6 +12,9 @@
|
@@ -12,6 +12,9 @@
|
||||||
# (WinPcap is used for Cygwin)
|
# (WinPcap is used for Cygwin)
|
||||||
HAS_PCAP?=1
|
HAS_PCAP?=1
|
||||||
|
@ -8,14 +8,14 @@
|
||||||
+HAS_POSIX_MEMALIGN?=0
|
+HAS_POSIX_MEMALIGN?=0
|
||||||
+
|
+
|
||||||
# Current dynamips release
|
# Current dynamips release
|
||||||
VERSION=0.2.5
|
VERSION_TRAIN=0.2.7
|
||||||
VERSION_DEV=$(VERSION)-$(shell date +%Y%m%d-%H)
|
VERSION_SUB=
|
||||||
@@ -30,15 +33,16 @@
|
@@ -34,16 +37,17 @@
|
||||||
-DJIT_ARCH=\"$(DYNAMIPS_ARCH)\" \
|
-DJIT_ARCH=\"$(DYNAMIPS_ARCH)\" \
|
||||||
-DARCH_INC_FILE=$(ARCH_INC_FILE) -DDYNAMIPS_VERSION=\"$(VERSION)\" \
|
-DARCH_INC_FILE=$(ARCH_INC_FILE) -DDYNAMIPS_VERSION=\"$(VERSION)\" \
|
||||||
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
|
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
|
||||||
- -DHAS_RFC2553=$(HAS_RFC2553)
|
- -DHAS_RFC2553=$(HAS_RFC2553)
|
||||||
+ -DHAS_RFC2553=$(HAS_RFC2553) -DHAS_POSIX_MEMALIGN=$(HAS_POSIX_MEMALIGN)
|
+ -DHAS_RFC2553=$(HAS_RFC2553) -DHAS_POSIX_MEMALIGN=$(HAS_POSIX_MEMALIGN)
|
||||||
|
|
||||||
-PCAP_LIB=/usr/local/lib/libpcap.a
|
-PCAP_LIB=/usr/local/lib/libpcap.a
|
||||||
-#PCAP_LIB=-lpcap
|
-#PCAP_LIB=-lpcap
|
||||||
|
@ -24,11 +24,12 @@
|
||||||
|
|
||||||
ifeq ($(shell uname), FreeBSD)
|
ifeq ($(shell uname), FreeBSD)
|
||||||
PTHREAD_LIBS?=-pthread
|
PTHREAD_LIBS?=-pthread
|
||||||
- CFLAGS+=-I/usr/local/include -I/usr/local/include/libelf $(PTHREAD_CFLAGS)
|
- CFLAGS+=-I/usr/local/include -I/usr/local/include/libelf $(PTHREAD_CFLAGS) \
|
||||||
- LIBS=-L/usr/local/lib -L. -lelf $(PTHREAD_LIBS)
|
|
||||||
+ LOCALBASE?=/usr/local
|
+ LOCALBASE?=/usr/local
|
||||||
+ CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf $(PTHREAD_CFLAGS)
|
+ CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf $(PTHREAD_CFLAGS) \
|
||||||
|
-D_FILE_OFFSET_BITS=64
|
||||||
|
- LIBS=-L/usr/local/lib -L. -lelf $(PTHREAD_LIBS)
|
||||||
+ LIBS=-L$(LOCALBASE)/lib -L. -lelf $(PTHREAD_LIBS) $(LDFLAGS)
|
+ LIBS=-L$(LOCALBASE)/lib -L. -lelf $(PTHREAD_LIBS) $(LDFLAGS)
|
||||||
else
|
else
|
||||||
ifeq ($(shell uname -s), Darwin)
|
ifeq ($(shell uname), Linux)
|
||||||
CFLAGS+=-I/usr/local/include -mdynamic-no-pic
|
PTHREAD_LIBS?=-lpthread
|
||||||
|
|
11
emulators/dynamips/files/patch-README
Normal file
11
emulators/dynamips/files/patch-README
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- README.orig Fri Apr 6 20:53:59 2007
|
||||||
|
+++ README Fri Apr 6 20:57:02 2007
|
||||||
|
@@ -50,7 +50,7 @@
|
||||||
|
-R <rom_file> : Load an alternate ROM (default: embedded)
|
||||||
|
-k <clock_div> : Set the clock divisor (default: 4)
|
||||||
|
|
||||||
|
- -T <port> : Console is on TCP <port>
|
||||||
|
+ -T [ip_address:]<port> : Console is on TCP <port>
|
||||||
|
-U <si_desc> : Console in on serial interface <si_desc>
|
||||||
|
(default is on the terminal)
|
||||||
|
|
11
emulators/dynamips/files/patch-README.hypervisor
Normal file
11
emulators/dynamips/files/patch-README.hypervisor
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- README.hypervisor.orig Wed Mar 21 10:00:28 2007
|
||||||
|
+++ README.hypervisor Wed Mar 21 10:01:22 2007
|
||||||
|
@@ -8,7 +8,7 @@
|
||||||
|
Running dynamips in hypervisor mode
|
||||||
|
===================================
|
||||||
|
|
||||||
|
-dynamips -H <tcp_port>
|
||||||
|
+dynamips -H [ip_address:]<tcp_port>
|
||||||
|
|
||||||
|
Managing the hypervisor
|
||||||
|
=======================
|
33
emulators/dynamips/files/patch-dev_vtty.c
Normal file
33
emulators/dynamips/files/patch-dev_vtty.c
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
--- dev_vtty.c.orig Fri Apr 6 16:44:07 2007
|
||||||
|
+++ dev_vtty.c Fri Apr 6 19:43:37 2007
|
||||||
|
@@ -24,6 +24,8 @@
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <assert.h>
|
||||||
|
+#include <netinet/in.h>
|
||||||
|
+#include <arpa/inet.h>
|
||||||
|
|
||||||
|
#include <arpa/telnet.h>
|
||||||
|
|
||||||
|
@@ -43,6 +45,8 @@
|
||||||
|
#include "dev_c2600.h"
|
||||||
|
#include "dev_vtty.h"
|
||||||
|
|
||||||
|
+extern char hypervisor_ip_address[];
|
||||||
|
+
|
||||||
|
/* VTTY list */
|
||||||
|
static pthread_mutex_t vtty_list_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
static vtty_t *vtty_list = NULL;
|
||||||
|
@@ -132,7 +136,11 @@
|
||||||
|
|
||||||
|
memset(&serv,0,sizeof(serv));
|
||||||
|
serv.sin_family = AF_INET;
|
||||||
|
- serv.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||||
|
+ if (strlen(hypervisor_ip_address) != 0 &&
|
||||||
|
+ inet_addr(hypervisor_ip_address) != INADDR_NONE)
|
||||||
|
+ serv.sin_addr.s_addr = inet_addr(hypervisor_ip_address);
|
||||||
|
+ else
|
||||||
|
+ serv.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||||
|
serv.sin_port = htons(vtty->tcp_port);
|
||||||
|
|
||||||
|
if (bind(vtty->accept_fd,(struct sockaddr *)&serv,sizeof(serv)) < 0) {
|
20
emulators/dynamips/files/patch-dynamips.1
Normal file
20
emulators/dynamips/files/patch-dynamips.1
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
--- dynamips.1.orig Wed Feb 14 20:37:58 2007
|
||||||
|
+++ dynamips.1 Fri Apr 6 20:59:41 2007
|
||||||
|
@@ -44,7 +44,7 @@
|
||||||
|
.SH OPTIONS
|
||||||
|
A summary of options is included below.
|
||||||
|
.TP
|
||||||
|
-.B -H <tcp_port>
|
||||||
|
+.B -H [ip_address:]<tcp_port>
|
||||||
|
Enable hypervisor mode.
|
||||||
|
.br
|
||||||
|
The hypervisor mode of dynamips allows you to run simultaneously
|
||||||
|
@@ -133,7 +133,7 @@
|
||||||
|
The command "show clock" at the IOS' CLI will help you set this value.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
-.B -T <port>
|
||||||
|
+.B -T [ip_address:]<port>
|
||||||
|
Console is on TCP <port>
|
||||||
|
.TP
|
||||||
|
.B -U <si_desc>
|
87
emulators/dynamips/files/patch-dynamips.c
Normal file
87
emulators/dynamips/files/patch-dynamips.c
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
--- dynamips.c.orig Wed Feb 14 20:37:58 2007
|
||||||
|
+++ dynamips.c Fri Apr 6 21:11:38 2007
|
||||||
|
@@ -61,6 +61,7 @@
|
||||||
|
/* Hypervisor */
|
||||||
|
int hypervisor_mode = 0;
|
||||||
|
int hypervisor_tcp_port = 0;
|
||||||
|
+char hypervisor_ip_address[263]="\000"; /* 256(MAXHOSTNAMELEN)+1(:)+5(port)+NULL */
|
||||||
|
|
||||||
|
/* Log file */
|
||||||
|
char *log_file_name = NULL;
|
||||||
|
@@ -227,7 +228,7 @@
|
||||||
|
printf("Usage: %s [options] <ios_image>\n\n",argv[0]);
|
||||||
|
|
||||||
|
printf("Available options:\n"
|
||||||
|
- " -H <tcp_port> : Run in hypervisor mode\n\n"
|
||||||
|
+ " -H [ip_address:]<tcp_port> : Run in hypervisor mode\n\n"
|
||||||
|
" -P <platform> : Platform to emulate (7200, 3600, "
|
||||||
|
"2691, 3725 or 3745) "
|
||||||
|
"(default: 7200)\n\n"
|
||||||
|
@@ -254,7 +255,7 @@
|
||||||
|
" -R <rom_file> : Load an alternate ROM (default: embedded)\n"
|
||||||
|
" -k <clock_div> : Set the clock divisor (default: %d)\n"
|
||||||
|
"\n"
|
||||||
|
- " -T <port> : Console is on TCP <port>\n"
|
||||||
|
+ " -T [ip_address:]<port> : Console is on TCP <port>\n"
|
||||||
|
" -U <si_desc> : Console in on serial interface <si_desc>\n"
|
||||||
|
" (default is on the terminal)\n"
|
||||||
|
"\n"
|
||||||
|
@@ -780,6 +781,7 @@
|
||||||
|
int instance_id;
|
||||||
|
int res,option;
|
||||||
|
char *str;
|
||||||
|
+ char *index;
|
||||||
|
|
||||||
|
/* Get the instance ID */
|
||||||
|
instance_id = 0;
|
||||||
|
@@ -944,7 +946,15 @@
|
||||||
|
/* TCP server for Console Port */
|
||||||
|
case 'T':
|
||||||
|
vm->vtty_con_type = VTTY_TYPE_TCP;
|
||||||
|
- vm->vtty_con_tcp_port = atoi(optarg);
|
||||||
|
+ strncpy(hypervisor_ip_address,optarg,sizeof(hypervisor_ip_address));
|
||||||
|
+ index=strrchr(hypervisor_ip_address,':');
|
||||||
|
+ if (index != NULL) {
|
||||||
|
+ *index++='\000';
|
||||||
|
+ vm->vtty_con_tcp_port = atoi(index);
|
||||||
|
+ } else {
|
||||||
|
+ vm->vtty_con_tcp_port = atoi(hypervisor_ip_address);
|
||||||
|
+ hypervisor_ip_address[0]='\000';
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* Serial interface for Console port */
|
||||||
|
@@ -1061,6 +1071,7 @@
|
||||||
|
static int run_hypervisor(int argc,char *argv[])
|
||||||
|
{
|
||||||
|
char *options_list = "H:l:hN:";
|
||||||
|
+ char *index;
|
||||||
|
int i,option;
|
||||||
|
|
||||||
|
for(i=1;i<argc;i++)
|
||||||
|
@@ -1079,7 +1090,15 @@
|
||||||
|
{
|
||||||
|
/* Hypervisor TCP port */
|
||||||
|
case 'H':
|
||||||
|
- hypervisor_tcp_port = atoi(optarg);
|
||||||
|
+ strncpy(hypervisor_ip_address,optarg,sizeof(hypervisor_ip_address));
|
||||||
|
+ index=strrchr(hypervisor_ip_address,':');
|
||||||
|
+ if (index != NULL) {
|
||||||
|
+ *index++='\000';
|
||||||
|
+ hypervisor_tcp_port = atoi(index);
|
||||||
|
+ } else {
|
||||||
|
+ hypervisor_tcp_port = atoi(hypervisor_ip_address);
|
||||||
|
+ hypervisor_ip_address[0]='\000';
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* Log file */
|
||||||
|
@@ -1244,7 +1263,7 @@
|
||||||
|
/* Free resources used by instance */
|
||||||
|
vm_release(vm);
|
||||||
|
} else {
|
||||||
|
- hypervisor_tcp_server(hypervisor_tcp_port);
|
||||||
|
+ hypervisor_tcp_server(hypervisor_ip_address,hypervisor_tcp_port);
|
||||||
|
}
|
||||||
|
|
||||||
|
dynamips_reset();
|
20
emulators/dynamips/files/patch-hypervisor.c
Normal file
20
emulators/dynamips/files/patch-hypervisor.c
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
--- hypervisor.c.orig Wed Mar 21 11:11:12 2007
|
||||||
|
+++ hypervisor.c Wed Mar 21 11:29:55 2007
|
||||||
|
@@ -535,7 +535,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hypervisor TCP server */
|
||||||
|
-int hypervisor_tcp_server(int tcp_port)
|
||||||
|
+int hypervisor_tcp_server(char* ip_address,int tcp_port)
|
||||||
|
{
|
||||||
|
int fd_array[HYPERVISOR_MAX_FD];
|
||||||
|
struct sockaddr_storage remote_addr;
|
||||||
|
@@ -565,7 +565,7 @@
|
||||||
|
if (!tcp_port)
|
||||||
|
tcp_port = HYPERVISOR_TCP_PORT;
|
||||||
|
|
||||||
|
- fd_count = ip_listen(tcp_port,SOCK_STREAM,HYPERVISOR_MAX_FD,fd_array);
|
||||||
|
+ fd_count = ip_listen(ip_address,tcp_port,SOCK_STREAM,HYPERVISOR_MAX_FD,fd_array);
|
||||||
|
|
||||||
|
if (fd_count <= 0) {
|
||||||
|
fprintf(stderr,"Hypervisor: unable to create TCP sockets.\n");
|
10
emulators/dynamips/files/patch-hypervisor.h
Normal file
10
emulators/dynamips/files/patch-hypervisor.h
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--- hypervisor.h.orig Wed Mar 21 10:58:06 2007
|
||||||
|
+++ hypervisor.h Wed Mar 21 11:09:40 2007
|
||||||
|
@@ -136,6 +136,6 @@
|
||||||
|
int hypervisor_stopsig(void);
|
||||||
|
|
||||||
|
/* Hypervisor TCP server */
|
||||||
|
-int hypervisor_tcp_server(int tcp_port);
|
||||||
|
+int hypervisor_tcp_server(char *ip_address,int tcp_port);
|
||||||
|
|
||||||
|
#endif
|
11
emulators/dynamips/files/patch-hypervisor_mode.7
Normal file
11
emulators/dynamips/files/patch-hypervisor_mode.7
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- hypervisor_mode.7.orig Wed Mar 21 11:02:14 2007
|
||||||
|
+++ hypervisor_mode.7 Wed Mar 21 11:02:40 2007
|
||||||
|
@@ -5,7 +5,7 @@
|
||||||
|
or Frame-Relay networks.
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B dynamips -H
|
||||||
|
-\fItcp_port\fP
|
||||||
|
+\fI[ip_address:]tcp_port\fP
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
You can connect directly to the TCP control port with telnet, or use
|
38
emulators/dynamips/files/patch-net.c
Normal file
38
emulators/dynamips/files/patch-net.c
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
--- net.c.orig Wed Mar 21 11:34:17 2007
|
||||||
|
+++ net.c Wed Mar 21 11:55:29 2007
|
||||||
|
@@ -353,7 +353,7 @@
|
||||||
|
|
||||||
|
#if HAS_RFC2553
|
||||||
|
/* Listen on the specified port */
|
||||||
|
-int ip_listen(int port,int sock_type,int max_fd,int fd_array[])
|
||||||
|
+int ip_listen(char *ip_address,int port,int sock_type,int max_fd,int fd_array[])
|
||||||
|
{
|
||||||
|
struct addrinfo hints,*res,*res0;
|
||||||
|
char port_str[20];
|
||||||
|
@@ -370,7 +370,7 @@
|
||||||
|
|
||||||
|
snprintf(port_str,sizeof(port_str),"%d",port);
|
||||||
|
|
||||||
|
- if ((error = getaddrinfo(NULL,port_str,&hints,&res0)) != 0) {
|
||||||
|
+ if ((error = getaddrinfo((strlen(ip_address)==0)?NULL:ip_address,port_str,&hints,&res0)) != 0) {
|
||||||
|
fprintf(stderr,"ip_listen: %s", gai_strerror(error));
|
||||||
|
return(-1);
|
||||||
|
}
|
||||||
|
@@ -405,7 +405,7 @@
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
/* Listen on the specified port */
|
||||||
|
-int ip_listen(int port,int sock_type,int max_fd,int fd_array[])
|
||||||
|
+int ip_listen(char *ip_address,int port,int sock_type,int max_fd,int fd_array[])
|
||||||
|
{
|
||||||
|
struct sockaddr_in sin;
|
||||||
|
int i,sck,reuse=1;
|
||||||
|
@@ -422,6 +422,8 @@
|
||||||
|
memset(&sin,0,sizeof(sin));
|
||||||
|
sin.sin_family = PF_INET;
|
||||||
|
sin.sin_port = htons(port);
|
||||||
|
+ if (strlen(ip_address) != 0 && inet_addr(ip_address) != INADDR_NONE)
|
||||||
|
+ sin.sin_addr = inet_addr(ip_address);
|
||||||
|
|
||||||
|
setsockopt(fd_array[0],SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse));
|
||||||
|
|
10
emulators/dynamips/files/patch-net.h
Normal file
10
emulators/dynamips/files/patch-net.h
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--- net.h.orig Wed Mar 21 11:32:05 2007
|
||||||
|
+++ net.h Wed Mar 21 11:33:28 2007
|
||||||
|
@@ -218,6 +218,6 @@
|
||||||
|
int udp_connect(int local_port,char *remote_host,int remote_port);
|
||||||
|
|
||||||
|
/* Listen on the specified port */
|
||||||
|
-int ip_listen(int port,int sock_type,int max_fd,int fd_array[]);
|
||||||
|
+int ip_listen(char *ip_address,int port,int sock_type,int max_fd,int fd_array[]);
|
||||||
|
|
||||||
|
#endif
|
|
@ -1,11 +0,0 @@
|
||||||
--- nojit_trans.c.orig Tue Nov 14 04:12:11 2006
|
|
||||||
+++ nojit_trans.c Tue Nov 14 04:12:21 2006
|
|
||||||
@@ -51,7 +51,7 @@
|
|
||||||
EMPTY(void mips64_set_pc(insn_block_t *b,m_uint64_t new_pc));
|
|
||||||
EMPTY(void mips64_set_ra(insn_block_t *b,m_uint64_t ret_pc));
|
|
||||||
EMPTY(void mips64_emit_breakpoint(insn_block_t *b));
|
|
||||||
-EMPTY(void mips64_emit_invalid_delay_slot(insn_block_t *b));
|
|
||||||
+EMPTY(int mips64_emit_invalid_delay_slot(insn_block_t *b));
|
|
||||||
EMPTY(void mips64_inc_cp0_count_reg(insn_block_t *b));
|
|
||||||
EMPTY(void mips64_check_pending_irq(insn_block_t *b));
|
|
||||||
EMPTY(void mips64_inc_perf_counter(insn_block_t *b));
|
|
11
emulators/dynamips/files/patch-nvram_export.1
Normal file
11
emulators/dynamips/files/patch-nvram_export.1
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- nvram_export.1.orig Thu May 3 12:46:51 2007
|
||||||
|
+++ nvram_export.1 Thu May 3 12:47:10 2007
|
||||||
|
@@ -13,7 +13,7 @@
|
||||||
|
Please send bug reports to http://www.ipflow.utc.fr/bts/
|
||||||
|
.SH SEE ALSO
|
||||||
|
.br
|
||||||
|
-\fBdynmips\fP(1), \fBhypervisor_mode\fP(7)
|
||||||
|
+\fBdynamips\fP(1), \fBhypervisor_mode\fP(7)
|
||||||
|
.br
|
||||||
|
.UR
|
||||||
|
http://www.ipflow.utc.fr/index.php/
|
|
@ -1,11 +1,20 @@
|
||||||
--- utils.h.orig Fri Feb 24 06:59:58 2006
|
--- utils.h.orig Wed Feb 14 20:37:58 2007
|
||||||
+++ utils.h Fri Feb 24 07:00:14 2006
|
+++ utils.h Tue Feb 20 18:56:54 2007
|
||||||
@@ -34,6 +34,8 @@
|
@@ -12,6 +12,8 @@
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
+#include <pthread.h>
|
||||||
|
+#include <signal.h>
|
||||||
|
|
||||||
|
/* True/False definitions */
|
||||||
|
#ifndef FALSE
|
||||||
|
@@ -35,6 +37,8 @@
|
||||||
|
#elif defined(__i386) || defined(__i386__) || defined(i386)
|
||||||
#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN
|
#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN
|
||||||
#elif defined(__x86_64__)
|
#elif defined(__x86_64__)
|
||||||
#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN
|
|
||||||
+#elif defined(__ia64__)
|
|
||||||
+#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN
|
+#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN
|
||||||
|
+#elif defined(__ia64__)
|
||||||
|
#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef ARCH_BYTE_ORDER
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
Cisco 3600/7200 simulator.
|
Cisco 3600/7200 simulator.
|
||||||
|
|
||||||
WWW: http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator
|
WWW: http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator
|
||||||
|
http://www.ipflow.utc.fr/blog/
|
||||||
|
http://hacki.at/7200emu/index.php
|
||||||
|
|
Loading…
Add table
Reference in a new issue