diff options
author | Tilman Keskinoz <arved@FreeBSD.org> | 2010-12-28 14:22:34 +0000 |
---|---|---|
committer | Tilman Keskinoz <arved@FreeBSD.org> | 2010-12-28 14:22:34 +0000 |
commit | b446527ad727410ed817f99cb6b495df889eb5d8 (patch) | |
tree | 6ba56564201fc84b1664d34fc52bb6dd0c59deee /net-mgmt | |
parent | ffda772d10a36115b1241a25055735d85e0e55e2 (diff) | |
download | ports-b446527ad727410ed817f99cb6b495df889eb5d8.tar.gz ports-b446527ad727410ed817f99cb6b495df889eb5d8.zip |
Notes
Diffstat (limited to 'net-mgmt')
-rw-r--r-- | net-mgmt/openlldp/Makefile | 7 | ||||
-rw-r--r-- | net-mgmt/openlldp/distinfo | 6 | ||||
-rw-r--r-- | net-mgmt/openlldp/files/patch-bpf | 33 | ||||
-rw-r--r-- | net-mgmt/openlldp/files/patch-lldp_main.c | 650 | ||||
-rw-r--r-- | net-mgmt/openlldp/files/patch-lldp_port.h | 10 |
5 files changed, 7 insertions, 699 deletions
diff --git a/net-mgmt/openlldp/Makefile b/net-mgmt/openlldp/Makefile index 48e0ce8e2db1..7ddcfd8b9c89 100644 --- a/net-mgmt/openlldp/Makefile +++ b/net-mgmt/openlldp/Makefile @@ -6,10 +6,10 @@ # PORTNAME= openlldp -DISTVERSION= 0.3alpha +DISTVERSION= 0.4alpha PORTREVISION= 1 CATEGORIES= net-mgmt -MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-0.3alpha +MASTER_SITES= SF/${PORTNAME} MAINTAINER= roar.pettersen@it.uib.no COMMENT= Link Layer Discovery Protocol daemon @@ -17,7 +17,7 @@ COMMENT= Link Layer Discovery Protocol daemon GNU_CONFIGURE= yes USE_RC_SUBR= lldpd -PLIST_FILES= sbin/lldpd +PLIST_FILES= sbin/lldpd bin/lldpneighbors MAN8= lldpd.8 @@ -27,6 +27,7 @@ post-patch: do-install: ${INSTALL_PROGRAM} ${WRKSRC}/src/lldpd ${PREFIX}/sbin + ${INSTALL_PROGRAM} ${WRKSRC}/src/lldpneighbors ${PREFIX}/bin ${INSTALL_MAN} ${FILESDIR}/lldpd.8 ${MAN8PREFIX}/man/man8 .include <bsd.port.mk> diff --git a/net-mgmt/openlldp/distinfo b/net-mgmt/openlldp/distinfo index e085afc1083c..f5152a40c3fd 100644 --- a/net-mgmt/openlldp/distinfo +++ b/net-mgmt/openlldp/distinfo @@ -1,3 +1,3 @@ -MD5 (openlldp-0.3alpha.tar.gz) = 131abc8c2563d33c4537d1c6dcb5c121 -SHA256 (openlldp-0.3alpha.tar.gz) = 2ecc1967be52078c5357540763e2b3c5ff8554161fe8dcac8952b60a0cd016f1 -SIZE (openlldp-0.3alpha.tar.gz) = 103523 +MD5 (openlldp-0.4alpha.tar.gz) = f48ffd632b96246cbf0f5c485dea3b01 +SHA256 (openlldp-0.4alpha.tar.gz) = 266fd0e1a15f237cfb84ae2d225996836774ea3d4c1c2e2be3a2a6927a00f2b1 +SIZE (openlldp-0.4alpha.tar.gz) = 161815 diff --git a/net-mgmt/openlldp/files/patch-bpf b/net-mgmt/openlldp/files/patch-bpf deleted file mode 100644 index e0469809d4ad..000000000000 --- a/net-mgmt/openlldp/files/patch-bpf +++ /dev/null @@ -1,33 +0,0 @@ -diff -Nbur openlldp-0.3alpha-orig/src/framehandlers/bpf/bpflib.c src/framehandlers/bpf/bpflib.c ---- openlldp-0.3alpha-orig/src/framehandlers/bpf/bpflib.c Sun Apr 1 03:10:55 2007 -+++ src/framehandlers/bpf/bpflib.c Thu Jun 28 09:09:15 2007 -@@ -217,7 +217,7 @@ - - prog.bf_len = sizeof(insns) / sizeof(struct bpf_insn); - prog.bf_insns = insns; -- return ioctl(fd, BIOCSETF, (u_int)&prog); -+ return ioctl(fd, BIOCSETF, &prog); - } - - /*int -@@ -236,7 +236,7 @@ - - prog.bf_len = sizeof(insns) / sizeof(struct bpf_insn); - prog.bf_insns = insns; -- return ioctl(fd, BIOCSETF, (u_int)&prog); -+ return ioctl(fd, BIOCSETF, &prog); - }*/ - - int bpf_see_sent(int fd, int value) { -diff -Nbur openlldp-0.3alpha-orig/src/framehandlers/bpf/lldp_bpf_framer.c src/framehandlers/bpf/lldp_bpf_framer.c ---- openlldp-0.3alpha-orig/src/framehandlers/bpf/lldp_bpf_framer.c Sun Apr 1 06:03:26 2007 -+++ src/framehandlers/bpf/lldp_bpf_framer.c Thu Jun 28 09:09:45 2007 -@@ -101,7 +101,7 @@ - (struct bpf_insn*) &progcodes - }; - -- if(ioctl(lldp_port->socket, BIOCSETF, (u_int)&prog) < 0) { -+ if(ioctl(lldp_port->socket, BIOCSETF, &prog) < 0) { - debug_printf(DEBUG_NORMAL, "[Error] (%d) : %s (%s:%d)\n", errno, strerror(errno), __FUNCTION__, __LINE__); - bpf_dispose(lldp_port->socket); - return XENOSOCK; diff --git a/net-mgmt/openlldp/files/patch-lldp_main.c b/net-mgmt/openlldp/files/patch-lldp_main.c deleted file mode 100644 index 743b4bc87aa4..000000000000 --- a/net-mgmt/openlldp/files/patch-lldp_main.c +++ /dev/null @@ -1,650 +0,0 @@ ---- src/lldp_main.c 2007/04/01 04:03:26 1.78 -+++ src/lldp_main.c 2007/04/18 04:13:33 1.84 -@@ -28,8 +28,6 @@ - #ifdef __FREEBSD__ - #include <netinet/in.h> - #include <net/if_dl.h> --#include <sys/socket.h> --#include <net/if.h> - #include <net/if_arp.h> - #include <net/if_media.h> - #include <net/ethernet.h> -@@ -59,169 +57,184 @@ - void cleanupLLDP(); - void handle_segfault(); - --#define MIN_INTERFACE 1 -+#define IF_NAMESIZE 16 -+char *iface_list[IF_NAMESIZE]; -+int iface_filter = 0; /* boolean */ - - struct lldp_port *lldp_ports = NULL; - - void walk_port_list() { -- struct lldp_port *lldp_port = lldp_ports; -+ struct lldp_port *lldp_port = lldp_ports; - -- while(lldp_port != NULL) { -- debug_printf(DEBUG_INT, "Interface structure @ %X\n", lldp_port); -- debug_printf(DEBUG_INT, "\tName: %s\n", lldp_port->if_name); -- debug_printf(DEBUG_INT, "\tIndex: %d\n", lldp_port->if_index); -- debug_printf(DEBUG_INT, "\tMTU: %d\n", lldp_port->mtu); -- debug_printf(DEBUG_INT, "\tMAC: %X:%X:%X:%X:%X:%X\n", lldp_port->source_mac[0], lldp_port->source_mac[1], lldp_port->source_mac[2] , lldp_port->source_mac[3] , lldp_port->source_mac[4] , lldp_port->source_mac[5]); -- debug_printf(DEBUG_INT, "\tIP: %d.%d.%d.%d\n", lldp_port->source_ipaddr[0], lldp_port->source_ipaddr[1], lldp_port->source_ipaddr[2], lldp_port->source_ipaddr[3]); -- lldp_port = lldp_port->next; -- } -+ while(lldp_port != NULL) { -+ debug_printf(DEBUG_INT, "Interface structure @ %X\n", lldp_port); -+ debug_printf(DEBUG_INT, "\tName: %s\n", lldp_port->if_name); -+ debug_printf(DEBUG_INT, "\tIndex: %d\n", lldp_port->if_index); -+ debug_printf(DEBUG_INT, "\tMTU: %d\n", lldp_port->mtu); -+ debug_printf(DEBUG_INT, "\tMAC: %X:%X:%X:%X:%X:%X\n", lldp_port->source_mac[0] -+ , lldp_port->source_mac[1] -+ , lldp_port->source_mac[2] -+ , lldp_port->source_mac[3] -+ , lldp_port->source_mac[4] -+ , lldp_port->source_mac[5]); -+ debug_printf(DEBUG_INT, "\tIP: %d.%d.%d.%d\n", lldp_port->source_ipaddr[0] -+ , lldp_port->source_ipaddr[1] -+ , lldp_port->source_ipaddr[2] -+ , lldp_port->source_ipaddr[3]); -+ lldp_port = lldp_port->next; -+ } - } - - int main(int argc, char *argv[]) - { -- uid_t uid; -- int op = 0; -- char *theOpts = "c:i:d:f:s"; -- int socket_width = 0; -- time_t current_time = 0; -- time_t last_check = 0; -- struct timeval timeout; -- int result; -- struct lldp_port *lldp_port = NULL; -- -- /* Needed for select() */ -- fd_set readfds; -- -- program = argv[0]; -- -- // get uid of user executing program. -- uid = getuid(); -- -- if (uid != 0) { -- debug_printf(DEBUG_NORMAL, "You must be running as root to run %s!\n", program); -- exit(0); -- } -- -- // Process any arguments we were passed in. -- while ((op = getopt(argc, argv, theOpts)) != EOF) { -- switch (op) { -- case 'd': -- // Set the debug level. -- if ((atoi(optarg) == 0) && (optarg[0] != '0')) { -- debug_alpha_set_flags(optarg); -- } else { -- debug_set_flags(atoi(optarg)); -- } -- break; -- -- default: -- usage(); -- exit(0); -- break; -- }; -- } -- -- /* Initialize the LLDP subsystem */ -- /* This should happen on a per-interface basis */ -- if(initializeLLDP() != 0) { -- debug_printf(DEBUG_NORMAL, "[Error] LLDP Subsystem Initialization Falure\n"); -- debug_printf(DEBUG_NORMAL, "[Error] (%d) : %s (%s:%d)\n", errno, strerror(errno), __FUNCTION__, __LINE__); -- } -- -- get_sys_desc(); -- get_sys_fqdn(); -- -- while(1) { -- /* Set up select() */ -- FD_ZERO(&readfds); -+ uid_t uid; -+ int op = 0; -+ char *theOpts = "c:i:d:f:s:h"; -+ int socket_width = 0; -+ time_t current_time = 0; -+ time_t last_check = 0; -+ struct timeval timeout; -+ int result; -+ struct lldp_port *lldp_port = NULL; -+ -+ /* Needed for select() */ -+ fd_set readfds; -+ -+ program = argv[0]; -+ -+ // get uid of user executing program. -+ uid = getuid(); -+ -+ if (uid != 0) { -+ debug_printf(DEBUG_NORMAL, "You must be running as root to run %s!\n", program); -+ exit(0); -+ } - -- lldp_port = lldp_ports; -+ // Process any arguments we were passed in. -+ while ((op = getopt(argc, argv, theOpts)) != EOF) { -+ switch (op) { -+ case 'd': -+ // Set the debug level. -+ if ((atoi(optarg) == 0) && (optarg[0] != '0')) { -+ debug_alpha_set_flags(optarg); -+ } else { -+ debug_set_flags(atoi(optarg)); -+ } -+ break; -+ case 'i': -+ iface_filter = 1; -+ memcpy(iface_list, optarg, strlen(optarg)); -+ iface_list[IF_NAMESIZE] = '\0'; -+ debug_printf(DEBUG_NORMAL, "Using interface %s\n", iface_list); -+ break; -+ case 'h': -+ default: -+ usage(); -+ exit(0); -+ break; -+ }; -+ } - -- while(lldp_port != NULL) { -- // This is not the interface you are looking for... -- if(lldp_port->if_name == NULL) -- { -- debug_printf(DEBUG_NORMAL, "[ERROR] Interface index %d with name is NULL at: %s():%d\n", lldp_port->if_index, __FUNCTION__, __LINE__); -- continue; -- } -- -- FD_SET(lldp_port->socket, &readfds); -- -- if(lldp_port->socket > socket_width) -- { -- socket_width = lldp_port->socket; -- } -- -- lldp_port = lldp_port->next; -- -+ /* Initialize the LLDP subsystem */ -+ /* This should happen on a per-interface basis */ -+ if(initializeLLDP() == 0) { -+ debug_printf(DEBUG_NORMAL, "No interface found to listen on\n"); - } - -- time(¤t_time); -- -- // Will be used to tell select how long to wait for... -- timeout.tv_sec = 1; -- timeout.tv_usec = 0; -- -- // Timeout after 1 second if nothing is ready -- result = select(socket_width+1, &readfds, NULL, NULL, &timeout); -- -- // Everything is cool... process the sockets -- lldp_port = lldp_ports; -- -- while(lldp_port != NULL) { -- // This is not the interface you are looking for... -- if(lldp_port->if_name == NULL) { -- debug_printf(DEBUG_NORMAL, "[ERROR] Interface index %d with name is NULL at: %s():%d\n", lldp_port->if_index, __FUNCTION__, __LINE__); -- continue; -- } -- -- if(result > 0) { -- if(FD_ISSET(lldp_port->socket, &readfds)) { -- debug_printf(DEBUG_INT, "%s is readable!\n", lldp_port->if_name); -- -- // Get the frame back from the OS-specific frame handler. -- lldp_read(lldp_port); -- -- if(lldp_port->rx.recvsize <= 0) { -- if(errno != EAGAIN && errno != ENETDOWN) { -- printf("Error: (%d) : %s (%s:%d)\n", errno, strerror(errno), __FUNCTION__, __LINE__); -- } -- } else { -- debug_printf(DEBUG_INT, "Got an LLDP frame %d bytes long on %s!\n", lldp_port->rx.recvsize, lldp_port->if_name); -- -- // debug_hex_dump(DEBUG_INT, lldp_port->rx.frame, lldp_port->rx.recvsize); -- -- // Mark that we received a frame so the state machine can process it. -- lldp_port->rx.rcvFrame = 1; -- -- rxStatemachineRun(lldp_port); -- } -- } -- } -- -- if((result == 0) || (current_time > last_check)) { -- lldp_port->tick = 1; -- -- txStatemachineRun(lldp_port); -- rxStatemachineRun(lldp_port); -- -- lldp_port->tick = 0; -- } -- -- if(result < 0) { -- if(errno != EINTR) { -- debug_printf(DEBUG_NORMAL, "[ERROR] %s\n", strerror(errno)); -- } -- } -- -- lldp_port = lldp_port->next; -+ get_sys_desc(); -+ get_sys_fqdn(); -+ -+ while(1) { -+ /* Set up select() */ -+ FD_ZERO(&readfds); -+ -+ lldp_port = lldp_ports; -+ -+ while(lldp_port != NULL) { -+ // This is not the interface you are looking for... -+ if(lldp_port->if_name == NULL) -+ { -+ debug_printf(DEBUG_NORMAL, "[ERROR] Interface index %d with name is NULL at: %s():%d\n", lldp_port->if_index, __FUNCTION__, __LINE__); -+ continue; -+ } -+ -+ FD_SET(lldp_port->socket, &readfds); -+ -+ if(lldp_port->socket > socket_width) -+ { -+ socket_width = lldp_port->socket; -+ } -+ -+ lldp_port = lldp_port->next; -+ -+ } -+ -+ time(¤t_time); -+ -+ // Will be used to tell select how long to wait for... -+ timeout.tv_sec = 1; -+ timeout.tv_usec = 0; -+ -+ // Timeout after 1 second if nothing is ready -+ result = select(socket_width+1, &readfds, NULL, NULL, &timeout); -+ -+ // Everything is cool... process the sockets -+ lldp_port = lldp_ports; - -+ while(lldp_port != NULL) { -+ // This is not the interface you are looking for... -+ if(lldp_port->if_name == NULL) { -+ debug_printf(DEBUG_NORMAL, "[ERROR] Interface index %d with name is NULL at: %s():%d\n", lldp_port->if_index, __FUNCTION__, __LINE__); -+ continue; -+ } -+ -+ if(result > 0) { -+ if(FD_ISSET(lldp_port->socket, &readfds)) { -+ debug_printf(DEBUG_INT, "%s is readable!\n", lldp_port->if_name); -+ -+ // Get the frame back from the OS-specific frame handler. -+ lldp_read(lldp_port); -+ -+ if(lldp_port->rx.recvsize <= 0) { -+ if(errno != EAGAIN && errno != ENETDOWN) { -+ printf("Error: (%d) : %s (%s:%d)\n", errno, strerror(errno), __FUNCTION__, __LINE__); -+ } -+ } else { -+ debug_printf(DEBUG_INT, "Got an LLDP frame %d bytes long on %s!\n", lldp_port->rx.recvsize, lldp_port->if_name); -+ -+ // debug_hex_dump(DEBUG_INT, lldp_port->rx.frame, lldp_port->rx.recvsize); -+ -+ // Mark that we received a frame so the state machine can process it. -+ lldp_port->rx.rcvFrame = 1; -+ -+ rxStatemachineRun(lldp_port); -+ } -+ } -+ } -+ -+ if((result == 0) || (current_time > last_check)) { -+ lldp_port->tick = 1; -+ -+ txStatemachineRun(lldp_port); -+ rxStatemachineRun(lldp_port); -+ -+ lldp_port->tick = 0; -+ } -+ -+ if(result < 0) { -+ if(errno != EINTR) { -+ debug_printf(DEBUG_NORMAL, "[ERROR] %s\n", strerror(errno)); -+ } -+ } -+ -+ lldp_port = lldp_port->next; -+ -+ } -+ -+ time(&last_check); - } -- -- time(&last_check); --} -- -- return 0; -+ -+ return 0; - } - - -@@ -232,124 +245,130 @@ - ***************************************/ - void handle_segfault() - { -- fprintf(stderr, "[FATAL] SIGSEGV (Segmentation Fault)!\n"); -+ fprintf(stderr, "[FATAL] SIGSEGV (Segmentation Fault)!\n"); - -- fflush(stderr); fflush(stdout); -- exit(-1); -+ fflush(stderr); fflush(stdout); -+ exit(-1); - } - - int initializeLLDP() - { -- int if_index = 0; -- char if_name[IF_NAMESIZE]; -- struct lldp_port *lldp_port = NULL; -- -- /* We need to initialize an LLDP port-per interface */ -- /* "lldp_port" will be changed to point at the interface currently being serviced */ -- for (if_index = MIN_INTERFACE; if_index < MAX_INTERFACES; if_index++) -+ int if_index = 0; -+ char if_name[IF_NAMESIZE]; -+ struct lldp_port *lldp_port = NULL; -+ int nb_ifaces = 0; -+ -+ /* We need to initialize an LLDP port-per interface */ -+ /* "lldp_port" will be changed to point at the interface currently being serviced */ -+ for (if_index = MIN_INTERFACES; if_index < MAX_INTERFACES; if_index++) - { -- if(if_indextoname(if_index, &if_name[0]) != NULL) -- { -- if(strncmp(if_name, "wlt", 3) == 0) { -- debug_printf(DEBUG_NORMAL, "Skipping WLT interface because it's voodoo\n"); -- continue; -- } -- -- /* Create our new interface struct */ -- lldp_port = malloc(sizeof(struct lldp_port)); -- -- /* Add it to the global list */ -- lldp_port->next = lldp_ports; -- -- lldp_port->if_index = if_index; -- lldp_port->if_name = malloc(IF_NAMESIZE); -- memcpy(lldp_port->if_name, if_name, IF_NAMESIZE); -- -- if(lldp_port->if_name != NULL) { -- debug_printf(DEBUG_INT, "%s (index %d) found.\n", lldp_port->if_name, lldp_port->if_index); -- -- memcpy(&lldp_port->if_name[0], if_name, IF_NAMESIZE); -- -- debug_printf(DEBUG_INT, "Initializing interface: '%s'\n", lldp_port->if_name); -- -- // We want the first state to be LLDP_WAIT_PORT_OPERATIONAL, so we'll blank out everything here. -- lldp_port->portEnabled = 1; -- -- /* Initialize the socket for this interface */ -- if(socketInitializeLLDP(lldp_port) != 0) { -- debug_printf(DEBUG_NORMAL, "[ERROR] Problem initializing socket for %s\n", lldp_port->if_name); -- free(lldp_port->if_name); -- lldp_port->if_name = NULL; -- free(lldp_port); -- lldp_port = NULL; -- continue; -- } else { -- debug_printf(DEBUG_EXCESSIVE, "Finished initializing socket for index %d with name %s\n", lldp_port->if_index, lldp_port->if_name); -- } -- -- debug_printf(DEBUG_EXCESSIVE, "Initializing TX SM for index %d with name %s\n", lldp_port->if_index, lldp_port->if_name); -- lldp_port->tx.state = TX_LLDP_INITIALIZE; -- txInitializeLLDP(lldp_port); -- debug_printf(DEBUG_EXCESSIVE, "Initializing RX SM for index %d with name %s\n", lldp_port->if_index, lldp_port->if_name); -- lldp_port->rx.state = LLDP_WAIT_PORT_OPERATIONAL; -- rxInitializeLLDP(lldp_port); -- lldp_port->portEnabled = 0; -- lldp_port->adminStatus = 3; -- -- debug_printf(DEBUG_EXCESSIVE, "Initializing TLV subsystem for index %d with name %s\n", lldp_port->if_index, lldp_port->if_name); -- /* Initialize the TLV subsystem for this interface */ -- tlvInitializeLLDP(lldp_port); -- -- debug_printf(DEBUG_EXCESSIVE, "Adding index %d with name %s to global port list\n", lldp_port->if_index, lldp_port->if_name); -- /* Reset the global list to point at the top of the list */ -- /* We only want to get here if initialization succeeded */ -- lldp_ports = lldp_port; -- } else { -- free(lldp_port); -- lldp_port = NULL; -- } -- -- } -+ if(if_indextoname(if_index, if_name) == NULL) -+ continue; -+ -+ /* keep only the iface specified by -i */ -+ if (iface_filter) { -+ if(strncmp(if_name, (const char*)iface_list, IF_NAMESIZE) != 0) { -+ debug_printf(DEBUG_NORMAL, "Skipping interface %s (not %s)\n", if_name, iface_list); -+ continue; -+ } -+ } -+ -+ if(strncmp(if_name, "wlt", 3) == 0) { -+ debug_printf(DEBUG_NORMAL, "Skipping WLT interface because it's voodoo\n"); -+ continue; -+ } -+ -+ /* Create our new interface struct */ -+ lldp_port = malloc(sizeof(struct lldp_port)); -+ -+ /* Add it to the global list */ -+ lldp_port->next = lldp_ports; -+ -+ lldp_port->if_index = if_index; -+ lldp_port->if_name = malloc(IF_NAMESIZE); -+ if(lldp_port->if_name == NULL) { -+ free(lldp_port); -+ lldp_port = NULL; -+ continue; -+ } -+ -+ nb_ifaces++; -+ memcpy(lldp_port->if_name, if_name, IF_NAMESIZE); -+ -+ debug_printf(DEBUG_INT, "%s (index %d) found. Initializing...\n", lldp_port->if_name, lldp_port->if_index); -+ -+ // We want the first state to be LLDP_WAIT_PORT_OPERATIONAL, so we'll blank out everything here. -+ lldp_port->portEnabled = 1; -+ -+ /* Initialize the socket for this interface */ -+ if(socketInitializeLLDP(lldp_port) != 0) { -+ debug_printf(DEBUG_NORMAL, "[ERROR] Problem initializing socket for %s\n", lldp_port->if_name); -+ free(lldp_port->if_name); -+ lldp_port->if_name = NULL; -+ free(lldp_port); -+ lldp_port = NULL; -+ continue; -+ } else { -+ debug_printf(DEBUG_EXCESSIVE, "Finished initializing socket for index %d with name %s\n", lldp_port->if_index, lldp_port->if_name); -+ } -+ -+ debug_printf(DEBUG_EXCESSIVE, "Initializing TX SM for index %d with name %s\n", lldp_port->if_index, lldp_port->if_name); -+ lldp_port->tx.state = TX_LLDP_INITIALIZE; -+ txInitializeLLDP(lldp_port); -+ debug_printf(DEBUG_EXCESSIVE, "Initializing RX SM for index %d with name %s\n", lldp_port->if_index, lldp_port->if_name); -+ lldp_port->rx.state = LLDP_WAIT_PORT_OPERATIONAL; -+ rxInitializeLLDP(lldp_port); -+ lldp_port->portEnabled = 0; -+ lldp_port->adminStatus = enabledRxTx; -+ -+ debug_printf(DEBUG_EXCESSIVE, "Initializing TLV subsystem for index %d with name %s\n", lldp_port->if_index, lldp_port->if_name); -+ /* Initialize the TLV subsystem for this interface */ -+ tlvInitializeLLDP(lldp_port); -+ -+ debug_printf(DEBUG_EXCESSIVE, "Adding index %d with name %s to global port list\n", lldp_port->if_index, lldp_port->if_name); -+ /* Reset the global list to point at the top of the list */ -+ /* We only want to get here if initialization succeeded */ -+ lldp_ports = lldp_port; - } -- -- /* Don't forget to initialize the TLV validators... */ -- initializeTLVFunctionValidators(); -- -- // When we quit, cleanup. -- signal(SIGTERM, cleanupLLDP); -- signal(SIGINT, cleanupLLDP); -- signal(SIGQUIT, cleanupLLDP); -- signal(SIGSEGV, handle_segfault); -- // signal(SIGHUP, ); - -- return 0; -+ /* Don't forget to initialize the TLV validators... */ -+ initializeTLVFunctionValidators(); -+ -+ // When we quit, cleanup. -+ signal(SIGTERM, cleanupLLDP); -+ signal(SIGINT, cleanupLLDP); -+ signal(SIGQUIT, cleanupLLDP); -+ signal(SIGSEGV, handle_segfault); -+ // signal(SIGHUP, ); -+ -+ return nb_ifaces; - } - - void cleanupLLDP(struct lldp_port *lldp_port) { -- debug_printf(DEBUG_NORMAL, "[AYBABTU] We Get Signal!\n"); -+ debug_printf(DEBUG_NORMAL, "[AYBABTU] We Get Signal!\n"); - -- lldp_port = lldp_ports; -+ lldp_port = lldp_ports; - -- while(lldp_port != NULL) { -+ while(lldp_port != NULL) { - -- if(lldp_port->if_name != NULL) { -- debug_printf(DEBUG_NORMAL, "[CLEAN] %s (%d)\n", lldp_port->if_name, lldp_port->if_index); -+ if(lldp_port->if_name != NULL) { -+ debug_printf(DEBUG_NORMAL, "[CLEAN] %s (%d)\n", lldp_port->if_name, lldp_port->if_index); - -- tlvCleanupLLDP(lldp_port); -- -- socketCleanupLLDP(lldp_port); -- } else { -- debug_printf(DEBUG_NORMAL, "[ERROR] Interface index %d with name is NULL at: %s():%d\n", lldp_port->if_index, __FUNCTION__, __LINE__); -- } -+ tlvCleanupLLDP(lldp_port); - -- lldp_port = lldp_port->next; -+ socketCleanupLLDP(lldp_port); -+ } else { -+ debug_printf(DEBUG_NORMAL, "[ERROR] Interface index %d with name is NULL at: %s():%d\n", lldp_port->if_index, __FUNCTION__, __LINE__); -+ } - -- // Clean the previous node and move up. -- free(lldp_ports); -- lldp_ports = lldp_port; -- } -+ lldp_port = lldp_port->next; - -- exit(0); -+ // Clean the previous node and move up. -+ free(lldp_ports); -+ lldp_ports = lldp_port; -+ } -+ -+ exit(0); - } - - /**************************************** -@@ -359,40 +378,39 @@ - ****************************************/ - void usage() - { -- debug_printf(DEBUG_EXCESSIVE, "Entering %s():%d\n", __FUNCTION__, __LINE__); -+ debug_printf(DEBUG_EXCESSIVE, "Entering %s():%d\n", __FUNCTION__, __LINE__); - -- debug_printf(DEBUG_NORMAL, "\n\nlldpd %s\n", VERSION); -- debug_printf(DEBUG_NORMAL, "(c) Copyright 2002 - 2006 The OpenLLDP Group\n"); -- debug_printf(DEBUG_NORMAL, "Dual licensed under the GPL and Other/Proprietary licenses." -- "\n\n"); -- debug_printf(DEBUG_NORMAL, "This product borrows some code from the Open1X project" -- ". (http://www.open1x.org)\n\n"); -- debug_printf(DEBUG_NORMAL, "Usage: %s " -- "[-c config file] " -- "[-i device] " -- "[-d debug_level] " -- "[-f] " -- "[-s] " -- "\n", program); -- -- debug_printf(DEBUG_NORMAL, "\n\n"); -- debug_printf(DEBUG_NORMAL, "-c <path> : Use the config file <path> instead " -- "of the default.\n"); -- debug_printf(DEBUG_NORMAL, "-i <interface> : Use <interface> for LLDP transactions" -- "\n"); -- debug_printf(DEBUG_NORMAL, "-d <debug_level/flags> : Set debug verbosity." -- "\n"); -- debug_printf(DEBUG_NORMAL, "-f : Run in forground mode.\n"); -- debug_printf(DEBUG_NORMAL, "-s : Remove the existing control socket if found. (Should only be used in system init scripts!)\\ --n"); -- debug_printf(DEBUG_NORMAL, "\n\n"); -- -- debug_printf(DEBUG_NORMAL, " <debug_level> can be any of : \n"); -- debug_printf(DEBUG_NORMAL, "\tA : Enable ALL debug flags.\n"); -- debug_printf(DEBUG_NORMAL, "\tc : Enable CONFIG debug flag.\n"); -- debug_printf(DEBUG_NORMAL, "\ts : Enable STATE debug flag.\n"); -- debug_printf(DEBUG_NORMAL, "\tt : Enable TLV debug flag.\n"); -- debug_printf(DEBUG_NORMAL, "\ti : Enable INT debug flag.\n"); -- debug_printf(DEBUG_NORMAL, "\tn : Enable SNMP debug flag.\n"); -- debug_printf(DEBUG_NORMAL, "\tx : Enable EXCESSIVE debug flag.\n"); -+ debug_printf(DEBUG_NORMAL, "\nlldpd %s\n", VERSION); -+ debug_printf(DEBUG_NORMAL, "(c) Copyright 2002 - 2006 The OpenLLDP Group\n"); -+ debug_printf(DEBUG_NORMAL, "Dual licensed under the GPL and Other/Proprietary licenses." -+ "\n\n"); -+ debug_printf(DEBUG_NORMAL, "This product borrows some code from the Open1X project" -+ ". (http://www.open1x.org)\n\n"); -+ debug_printf(DEBUG_NORMAL, "Usage: %s " -+ "[-c config file] " -+ "[-i device] " -+ "[-d debug_level] " -+ "[-f] " -+ "[-s] " -+ "\n", program); -+ -+ debug_printf(DEBUG_NORMAL, "\n\n"); -+ debug_printf(DEBUG_NORMAL, "-c <path> : Use the config file <path> instead " -+ "of the default.\n"); -+ debug_printf(DEBUG_NORMAL, "-i <interface> : Use <interface> for LLDP transactions" -+ "\n"); -+ debug_printf(DEBUG_NORMAL, "-d <debug_level/flags> : Set debug verbosity." -+ "\n"); -+ debug_printf(DEBUG_NORMAL, "-f : Run in forground mode.\n"); -+ debug_printf(DEBUG_NORMAL, "-s : Remove the existing control socket if found. (Should only be used in system init scripts!)\n"); -+ debug_printf(DEBUG_NORMAL, "\n\n"); -+ -+ debug_printf(DEBUG_NORMAL, " <debug_level> can be any of : \n"); -+ debug_printf(DEBUG_NORMAL, "\tA : Enable ALL debug flags.\n"); -+ debug_printf(DEBUG_NORMAL, "\tc : Enable CONFIG debug flag.\n"); -+ debug_printf(DEBUG_NORMAL, "\ts : Enable STATE debug flag.\n"); -+ debug_printf(DEBUG_NORMAL, "\tt : Enable TLV debug flag.\n"); -+ debug_printf(DEBUG_NORMAL, "\ti : Enable INT debug flag.\n"); -+ debug_printf(DEBUG_NORMAL, "\tn : Enable SNMP debug flag.\n"); -+ debug_printf(DEBUG_NORMAL, "\tx : Enable EXCESSIVE debug flag.\n"); - } diff --git a/net-mgmt/openlldp/files/patch-lldp_port.h b/net-mgmt/openlldp/files/patch-lldp_port.h deleted file mode 100644 index 0138cd4ad2d0..000000000000 --- a/net-mgmt/openlldp/files/patch-lldp_port.h +++ /dev/null @@ -1,10 +0,0 @@ ---- src/lldp_port.h.orig Sun Apr 1 02:27:04 2007 -+++ src/lldp_port.h Wed Jun 27 16:49:17 2007 -@@ -21,6 +21,7 @@ - - Used to iterate through the interface list. - */ -+#define MIN_INTERFACES 1 - #define MAX_INTERFACES 254 - - /** |