mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-29 13:04:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/br2684ctl.c
 | |
| +++ b/br2684ctl.c
 | |
| @@ -3,6 +3,8 @@
 | |
|  #include <unistd.h>
 | |
|  #include <errno.h>
 | |
|  #include <sys/ioctl.h>
 | |
| +#include <sys/types.h>
 | |
| +#include <signal.h>
 | |
|  #include <string.h>
 | |
|  #include <syslog.h>
 | |
|  #include <atm.h>
 | |
| @@ -22,9 +24,9 @@
 | |
|  */
 | |
|  
 | |
|  
 | |
| -#define LOG_NAME "RFC1483/2684 bridge"
 | |
| -#define LOG_OPTION     LOG_PERROR
 | |
| -#define LOG_FACILITY   LOG_LOCAL0
 | |
| +#define LOG_NAME       "br2684ctl"
 | |
| +#define LOG_OPTION     LOG_PERROR|LOG_PID
 | |
| +#define LOG_FACILITY   LOG_LOCAL2
 | |
|  
 | |
|  
 | |
|  int lastsock, lastitf;
 | |
| @@ -39,10 +41,16 @@ void fatal(const char *str, int i)
 | |
|  
 | |
|  void exitFunc(void)
 | |
|  {
 | |
| -  syslog (LOG_PID,"Daemon terminated\n");	
 | |
| +  syslog (LOG_NOTICE,"Daemon terminated\n");
 | |
|  }
 | |
|  
 | |
|  
 | |
| +void int_signal(int dummy)
 | |
| +{
 | |
| +  syslog (LOG_INFO,"Killed by a signal\n");
 | |
| +  exit(0);
 | |
| +}
 | |
| +
 | |
|  int create_pidfile(int num)
 | |
|  {
 | |
|    FILE *pidfile = NULL;
 | |
| @@ -80,7 +88,7 @@ int create_br(char *nstr)
 | |
|        err=ioctl (lastsock, ATM_NEWBACKENDIF, &ni);
 | |
|    
 | |
|        if (err == 0)
 | |
| -	syslog(LOG_INFO, "Interface \"%s\" created sucessfully\n",ni.ifname);
 | |
| +	syslog(LOG_NOTICE, "Interface \"%s\" created sucessfully\n",ni.ifname);
 | |
|        else
 | |
|  	syslog(LOG_INFO, "Interface \"%s\" could not be created, reason: %s\n",
 | |
|  	       ni.ifname,
 | |
| @@ -112,7 +120,7 @@ int assign_vcc(char *astr, int encap, in
 | |
|      addr.sap_addr.vpi = 0;
 | |
|      addr.sap_addr.vci = vci;
 | |
|  #endif
 | |
| -    syslog(LOG_INFO,"Communicating over ATM %d.%d.%d, encapsulation: %s\n", addr.sap_addr.itf,
 | |
| +    syslog(LOG_NOTICE,"Communicating over ATM %d.%d.%d, encapsulation: %s\n", addr.sap_addr.itf,
 | |
|  	   addr.sap_addr.vpi,
 | |
|  	   addr.sap_addr.vci,
 | |
|  	   encap?"VC mux":"LLC");
 | |
| @@ -261,11 +269,13 @@ int main (int argc, char **argv)
 | |
|    }
 | |
|    
 | |
|    create_pidfile(itfnum);
 | |
| +  signal(SIGINT, int_signal);
 | |
| +  signal(SIGTERM, int_signal);
 | |
|  
 | |
|    syslog (LOG_INFO, "RFC 1483/2684 bridge daemon started\n");	
 | |
|    atexit (exitFunc);
 | |
|    
 | |
| -  while (1) sleep(30);	/* to keep the sockets... */
 | |
| +  while (1) pause();	/* to keep the sockets... */
 | |
|    return 0;
 | |
|  }
 | |
|  
 | |
| --- /dev/null
 | |
| +++ b/Makefile
 | |
| @@ -0,0 +1,13 @@
 | |
| +OPTS := -O2
 | |
| +CFLAGS := -Wall -g
 | |
| +LIBS := -latm
 | |
| +
 | |
| +all: br2684ctl
 | |
| +
 | |
| +br2684ctl: br2684ctl.c
 | |
| +	$(CC) $(OPTS) $(CFLAGS) $(LIBS) $< -o $@
 | |
| +
 | |
| +distclean: clean
 | |
| +clean:
 | |
| +	rm -f br2684ctl
 | |
| +
 |