outdated
authorJan Rękorajski <baggins@pld-linux.org>
Tue, 8 Jan 2008 18:30:24 +0000 (18:30 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    pppbr-001212-br2684ctl.c -> 1.4

pppbr-001212-br2684ctl.c [deleted file]

diff --git a/pppbr-001212-br2684ctl.c b/pppbr-001212-br2684ctl.c
deleted file mode 100644 (file)
index 37127b1..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-#include <string.h>
-#include <atm.h>
-#include <linux/atmdev.h>
-#include <linux/atmbr2684.h>
-
-/* Written by Marcell GAL <cell@sch.bme.hu> to make use of the */
-/* ioctls defined in the br2684... kernel patch */
-/* Compile with cc -o br2684ctl br2684ctl.c -latm */
-
-int lastsock, lastitf;
-
-void fatal(char *str, int i)
-{
-       perror(str);
-       exit(-2);
-};
-
-int create_br(char *nstr)
-{
-       int num, err;
-
-       if(lastsock<0) {
-               lastsock = socket(PF_ATMPVC, SOCK_DGRAM, ATM_AAL5);
-       }
-       if (lastsock<0) {
-               perror("socket creation");
-       } else {
-       /* create the device with ioctl: */
-       num=atoi(nstr);
-       if( num>=0 && num<1234567890){
-          struct atm_newif_br2684 ni;
-          ni.backend_num = ATM_BACKEND_BR2684;
-          ni.media = BR2684_MEDIA_ETHERNET;
-          ni.mtu = 1500;
-          sprintf(ni.ifname, "nas%d", num);
-           err=ioctl (lastsock, ATM_NEWBACKENDIF, &ni);
-           printf("create:%d\n",err);
-           if (err>=0) ;;;
-           lastitf=num;        /* even if we didn't create, because existed, assign_vcc wil want to know it! */
-          } else {
-               fprintf (stderr, "err: strange itf number %d", num );
-          }
-          }
-  return 0;
-}
-
-int assign_vcc(char *astr, int encap, int bufsize)
-{
-    int err, errno;
-    struct atm_qos qos;
-    struct sockaddr_atmpvc addr;
-    int fd;
-    struct atm_backend_br2684 be;
-
-       memset(&addr, 0, sizeof(addr));
-       err=text2atm(astr,(struct sockaddr *)(&addr), sizeof(addr), T2A_PVC);
-           printf("text2atm:%d\n",err);
-#if 0
-       addr.sap_family = AF_ATMPVC;
-    addr.sap_addr.itf = itf;
-    addr.sap_addr.vpi = 0;
-    addr.sap_addr.vci = vci;
-#endif
-    fprintf(stderr,"Communicating over ATM %d.%d.%d\n", addr.sap_addr.itf,
-                                           addr.sap_addr.vpi,
-                                           addr.sap_addr.vci);
-
-    if ((fd = socket(PF_ATMPVC, SOCK_DGRAM, ATM_AAL5)) < 0)
-       fprintf(stderr,"failed to create socket %d", errno);
-
-
-    memset(&qos, 0, sizeof(qos));
-    qos.aal                     = ATM_AAL5;
-    qos.txtp.traffic_class      = ATM_UBR;
-    qos.txtp.max_sdu            = 1524;
-    qos.txtp.pcr                = ATM_MAX_PCR;
-    qos.rxtp = qos.txtp;
-
-        err=setsockopt(fd,SOL_SOCKET,SO_SNDBUF, &bufsize ,sizeof(bufsize));
-        fprintf(stderr,"setsockopt SO_SNDBUF: (%d) %s\n",err, strerror(err));
-
-    if (setsockopt(fd, SOL_ATM, SO_ATMQOS, &qos, sizeof(qos)) < 0)
-        fprintf(stderr,"setsockopt SO_ATMQOS %d", errno);
-
-       err = connect(fd, (struct sockaddr*)&addr, sizeof(struct sockaddr_atmpvc));
-
-       if (err < 0)
-           fatal("failed to connect on socket: ", err);
-
-           /* attach the vcc to device: */
-
-    be.backend_num = ATM_BACKEND_BR2684;
-    be.ifspec.method = BR2684_FIND_BYIFNAME;
-    sprintf(be.ifspec.spec.ifname, "nas%d", lastitf);
-    be.fcs_in = BR2684_FCSIN_NO;
-    be.fcs_out = BR2684_FCSOUT_NO;
-    be.fcs_auto = 0;
-    be.encaps = encap ? BR2684_ENCAPS_VC : BR2684_ENCAPS_LLC;
-    be.has_vpiid = 0;
-    be.send_padding = 0;
-    be.min_size = 0;
-           err=ioctl (fd, ATM_SETBACKEND, &be);
-           fprintf(stderr, "assign:%d\n",err);
-
-    return fd ;
-}
-
-void usage(char *s)
-{
-       printf("usage: %s [-b] [[-c number] [-a [itf.]vpi.vci]*]*\n", s);
-       exit(1);
-}
-
-int main (int argc, char **argv)
-{
-int c, background=0, encap=0, sndbuf=8192;
-
-       lastsock=-1;
-       lastitf=0;
-
-while ((c = getopt(argc, argv,"a:bc:e:s:")) !=EOF)
-       switch (c) {
-               case 'a':
-                       assign_vcc(optarg, encap, sndbuf);
-                       break;
-               case 'b':
-                       background=1;
-                       break;
-               case 'c':
-                       create_br(optarg);
-                       break;
-               case 'e':
-                       encap=(atoi(optarg));
-                       if(encap<0){
-                               fprintf(stderr, "invalid encap: %s:\n",optarg);
-                               encap=0;
-                       }
-                       break;
-               case 's':
-                       sndbuf=(atoi(optarg));
-                       if(sndbuf<0){
-                               fprintf(stderr, "invalid sndbuf: %s:\n",optarg);
-                               sndbuf=8192;
-                       }
-                       break;
-               default:
-                       usage(argv[0]);
-       }
-       if (argc != optind) usage(argv[0]);
-
-       if(lastsock>=0) close(lastsock);
-
-       if (background) {
-               pid_t pid;
-       /* this seems to be broken, do not use -b for now */
-               pid=fork();
-               if (pid < 0) {
-                       fprintf(stderr,"fork returned negative: %d\n", pid);
-                       exit(2);
-               } else if (pid) {
-                       fprintf(stderr,"Background pid: %d\n",pid);
-                       exit(0);
-               }
-       }
-       
-       while (1) sleep(30);    /* to keep the sockets... */
-       return 0;
-}
This page took 0.20142 seconds and 4 git commands to generate.