mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-30 10:38:37 +00:00
- Update to 0.2.8-RC1
PR: 116344 Submitted by: Pavel I Volkov <pol@opk.ru> (maintainer)
This commit is contained in:
parent
f6a504fdb3
commit
51e5794fa0
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=199798
@ -6,7 +6,7 @@
|
||||
#
|
||||
|
||||
PORTNAME= dynamips
|
||||
DISTVERSION= 0.2.7-RC3
|
||||
DISTVERSION= 0.2.8-RC1
|
||||
CATEGORIES= emulators
|
||||
MASTER_SITES= http://www.ipflow.utc.fr/dynamips/
|
||||
PKGNAMESUFFIX= -devel
|
||||
@ -16,6 +16,8 @@ COMMENT= Cisco 3600/7200 Simulator
|
||||
|
||||
LIB_DEPENDS= elf.0:${PORTSDIR}/devel/libelf
|
||||
|
||||
CONFLICTS= dynamips-[0-9]*
|
||||
|
||||
USE_GMAKE= yes
|
||||
USE_GCC= 3.2+
|
||||
USE_GETOPT_LONG=yes
|
||||
|
@ -1,3 +1,3 @@
|
||||
MD5 (dynamips-0.2.7-RC3.tar.gz) = 9d1d5ab929fda30ea3b4b8d9284edc70
|
||||
SHA256 (dynamips-0.2.7-RC3.tar.gz) = cd1d23fa0122bcec70a4028ce60ae100fbe3d7a599f1bbb1f30f34faa35546c1
|
||||
SIZE (dynamips-0.2.7-RC3.tar.gz) = 522645
|
||||
MD5 (dynamips-0.2.8-RC1.tar.gz) = 39d08f2d20cdd78ef05c50ae86c4b522
|
||||
SHA256 (dynamips-0.2.8-RC1.tar.gz) = 266cd3fe12f643f8c6aaf59ec8b99b20d6fb53ed8032c1984477065ca97ee994
|
||||
SIZE (dynamips-0.2.8-RC1.tar.gz) = 569599
|
||||
|
@ -1,34 +1,10 @@
|
||||
--- Makefile.orig Thu Feb 8 15:23:36 2007
|
||||
+++ Makefile Thu Feb 8 15:34:39 2007
|
||||
@@ -12,6 +12,9 @@
|
||||
# (WinPcap is used for Cygwin)
|
||||
HAS_PCAP?=1
|
||||
|
||||
+# Change this to 1 if your system has posix_memalign
|
||||
+HAS_POSIX_MEMALIGN?=0
|
||||
+
|
||||
# Current dynamips release
|
||||
VERSION_TRAIN=0.2.6
|
||||
VERSION_SUB=-RC5
|
||||
@@ -34,16 +37,17 @@
|
||||
-DJIT_ARCH=\"$(DYNAMIPS_ARCH)\" \
|
||||
-DARCH_INC_FILE=$(ARCH_INC_FILE) -DDYNAMIPS_VERSION=\"$(VERSION)\" \
|
||||
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
|
||||
- -DHAS_RFC2553=$(HAS_RFC2553)
|
||||
+ -DHAS_RFC2553=$(HAS_RFC2553) -DHAS_POSIX_MEMALIGN=$(HAS_POSIX_MEMALIGN)
|
||||
|
||||
-PCAP_LIB=/usr/local/lib/libpcap.a
|
||||
-#PCAP_LIB=-lpcap
|
||||
+#PCAP_LIB=/usr/local/lib/libpcap.a
|
||||
+PCAP_LIB=-lpcap
|
||||
|
||||
ifeq ($(shell uname), FreeBSD)
|
||||
PTHREAD_LIBS?=-pthread
|
||||
- CFLAGS+=-I/usr/local/include -I/usr/local/include/libelf $(PTHREAD_CFLAGS) \
|
||||
+ LOCALBASE?=/usr/local
|
||||
+ CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf $(PTHREAD_CFLAGS) \
|
||||
-D_FILE_OFFSET_BITS=64
|
||||
- LIBS=-L/usr/local/lib -L. -lelf $(PTHREAD_LIBS)
|
||||
--- Makefile.orig Thu Sep 13 19:55:14 2007
|
||||
+++ Makefile Thu Sep 13 19:55:30 2007
|
||||
@@ -52,7 +52,7 @@
|
||||
LOCALBASE?=/usr/local
|
||||
CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf \
|
||||
$(PTHREAD_CFLAGS) -D_FILE_OFFSET_BITS=64
|
||||
- LIBS=-L$(LOCALBASE)/lib -L. -ldl -lelf $(PTHREAD_LIBS) $(LDFLAGS)
|
||||
+ LIBS=-L$(LOCALBASE)/lib -L. -lelf $(PTHREAD_LIBS) $(LDFLAGS)
|
||||
else
|
||||
ifeq ($(shell uname), Linux)
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- README.orig Fri Apr 6 20:53:59 2007
|
||||
+++ README Fri Apr 6 20:57:02 2007
|
||||
@@ -50,7 +50,7 @@
|
||||
--- README.orig Wed Sep 12 14:35:13 2007
|
||||
+++ README Thu Sep 13 19:47:58 2007
|
||||
@@ -52,11 +52,12 @@
|
||||
-R <rom_file> : Load an alternate ROM (default: embedded)
|
||||
-k <clock_div> : Set the clock divisor (default: 4)
|
||||
|
||||
@ -9,3 +9,8 @@
|
||||
-U <si_desc> : Console in on serial interface <si_desc>
|
||||
(default is on the terminal)
|
||||
|
||||
-A <port> : AUX is on TCP <port>
|
||||
+ (AUX binding IP == Console binding IP)
|
||||
-B <si_desc> : AUX is on serial interface <si_desc>
|
||||
(default is no AUX port)
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- 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
|
||||
=======================
|
@ -1,5 +1,5 @@
|
||||
--- dev_vtty.c.orig Fri Apr 6 16:44:07 2007
|
||||
+++ dev_vtty.c Fri Apr 6 19:43:37 2007
|
||||
--- dev_vtty.c.orig Fri Sep 7 12:03:11 2007
|
||||
+++ dev_vtty.c Fri Sep 14 10:24:02 2007
|
||||
@@ -24,6 +24,8 @@
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
@ -13,21 +13,18 @@
|
||||
#include "dev_c2600.h"
|
||||
#include "dev_vtty.h"
|
||||
|
||||
+extern char hypervisor_ip_address[];
|
||||
+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 @@
|
||||
@@ -132,7 +136,8 @@
|
||||
|
||||
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);
|
||||
+ if (hypervisor_ip_address && strlen(hypervisor_ip_address))
|
||||
+ serv.sin_addr.s_addr = inet_addr(hypervisor_ip_address);
|
||||
serv.sin_port = htons(vtty->tcp_port);
|
||||
|
||||
if (bind(vtty->accept_fd,(struct sockaddr *)&serv,sizeof(serv)) < 0) {
|
||||
|
@ -1,11 +1,11 @@
|
||||
--- dynamips.1.orig Wed Feb 14 20:37:58 2007
|
||||
+++ dynamips.1 Fri Apr 6 20:59:41 2007
|
||||
--- dynamips.1.orig Thu Sep 13 18:45:02 2007
|
||||
+++ dynamips.1 Thu Sep 13 19:45:49 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>
|
||||
+.B -H [<ip_address>:]<tcp_port>
|
||||
Enable hypervisor mode.
|
||||
.br
|
||||
The hypervisor mode of dynamips allows you to run simultaneously
|
||||
@ -14,7 +14,15 @@
|
||||
|
||||
.TP
|
||||
-.B -T <port>
|
||||
+.B -T [ip_address:]<port>
|
||||
+.B -T [<ip_address>:]<port>
|
||||
Console is on TCP <port>
|
||||
.TP
|
||||
.B -U <si_desc>
|
||||
@@ -141,6 +141,7 @@
|
||||
.TP
|
||||
.B -A <port>
|
||||
AUX is on TCP <port>
|
||||
+AUX binding IP == Console binding IP
|
||||
.TP
|
||||
.B -B <si_desc>
|
||||
AUX is on serial interface <si_desc> (default is no AUX port)
|
||||
|
@ -1,87 +1,56 @@
|
||||
--- 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 @@
|
||||
--- dynamips.c.orig Fri Sep 7 12:03:11 2007
|
||||
+++ dynamips.c Fri Sep 14 10:18:10 2007
|
||||
@@ -193,7 +193,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"
|
||||
+ " -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 @@
|
||||
@@ -374,6 +374,8 @@
|
||||
int instance_id;
|
||||
int res,option;
|
||||
int option;
|
||||
char *str;
|
||||
+ char *index;
|
||||
+ size_t len;
|
||||
|
||||
/* Get the instance ID */
|
||||
instance_id = 0;
|
||||
@@ -944,7 +946,15 @@
|
||||
@@ -541,7 +543,25 @@
|
||||
/* 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';
|
||||
+ }
|
||||
+
|
||||
+ index = strrchr(optarg,':');
|
||||
+
|
||||
+ if (!index) {
|
||||
+ vm->vtty_con_tcp_port = atoi(optarg);
|
||||
+ } else {
|
||||
+ len = index - optarg;
|
||||
+ hypervisor_ip_address = malloc(len + 1);
|
||||
+
|
||||
+ if (!hypervisor_ip_address) {
|
||||
+ fprintf(stderr,"Unable to set console IP address!\n");
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ memcpy(hypervisor_ip_address,optarg,len);
|
||||
+ hypervisor_ip_address[len] = '\0';
|
||||
+
|
||||
+ vm->vtty_con_tcp_port = atoi(++index);
|
||||
+ }
|
||||
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;
|
||||
@@ -687,6 +707,8 @@
|
||||
|
||||
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';
|
||||
+ }
|
||||
memcpy(hypervisor_ip_address,optarg,len);
|
||||
hypervisor_ip_address[len] = '\0';
|
||||
+
|
||||
+ hypervisor_tcp_port = atoi(++index);
|
||||
}
|
||||
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();
|
||||
|
@ -1,20 +0,0 @@
|
||||
--- 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");
|
@ -1,10 +0,0 @@
|
||||
--- 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
|
@ -1,38 +0,0 @@
|
||||
--- 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));
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- 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 @@
|
||||
--- utils.c.orig Wed Mar 8 22:53:21 2006
|
||||
+++ utils.c Wed Mar 8 22:53:37 2006
|
||||
@@ -187,7 +187,7 @@
|
||||
{
|
||||
void *p;
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || HAS_POSIX_MEMALIGN
|
||||
if (posix_memalign((void *)&p,boundary,size))
|
||||
#else
|
||||
#ifdef __CYGWIN__
|
@ -1,20 +0,0 @@
|
||||
--- utils.h.orig Wed Feb 14 20:37:58 2007
|
||||
+++ utils.h Tue Feb 20 18:56:54 2007
|
||||
@@ -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
|
||||
#elif defined(__x86_64__)
|
||||
+#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN
|
||||
+#elif defined(__ia64__)
|
||||
#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user