Revision: 450
          http://vde.svn.sourceforge.net/vde/?rev=450&view=rev
Author:   rd235
Date:     2010-11-23 23:05:44 +0000 (Tue, 23 Nov 2010)

Log Message:
-----------
definition change: "Channel buffer size" instead of "Capacity"
bugfix: discarded packets for channel buffer overflow do not delay the channel 
any more.

Modified Paths:
--------------
    trunk/vde-2/man/wirefilter.1
    trunk/vde-2/src/wirefilter.c

Modified: trunk/vde-2/man/wirefilter.1
===================================================================
--- trunk/vde-2/man/wirefilter.1        2010-11-23 19:47:49 UTC (rev 449)
+++ trunk/vde-2/man/wirefilter.1        2010-11-23 23:05:44 UTC (rev 450)
@@ -11,7 +11,7 @@
 [\fB\-D\fI dup\fR]
 [\fB\-b\fI bandwidth\fR]
 [\fB\-s\fI interface_speed\fR]
-[\fB\-c\fI channel_capacity\fR]
+[\fB\-c\fI channel_bufsize\fR]
 [\fB\-n\fI noise_factor\fR]
 [\fB\-m\fI mtu_size\fR]
 [\fB\-M\fI mgmt socket\fR]
@@ -89,8 +89,8 @@
 Interface speed in Bytes/sec. It has the same syntax of -b. Input is blocked 
for
 the tramission time of the packet, thus the sender is prevented from sending 
too fast.
 .TP
-.B \-c "\fIcapacity\fP"
-Channel capacity (in Bytes): maximum size of the packet queue. Exceeding 
packets 
+.B \-c "\fIchannel_bufsize\fP"
+Channel buffer size (in Bytes): maximum size of the packet queue. Exceeding 
packets 
 are discarded. 
 .TP
 .B \-n "\fInoise factor\fP"

Modified: trunk/vde-2/src/wirefilter.c
===================================================================
--- trunk/vde-2/src/wirefilter.c        2010-11-23 19:47:49 UTC (rev 449)
+++ trunk/vde-2/src/wirefilter.c        2010-11-23 23:05:44 UTC (rev 450)
@@ -77,7 +77,7 @@
 #define DDUP 3
 #define BAND 4
 #define SPEED 5
-#define CAPACITY 6
+#define CHANBUFSIZE 6
 #define NOISE 7
 #define MTU 8
 #define NUMVALUES 9
@@ -483,15 +483,6 @@
 {
        struct timeval v;
 
-       /* CAPACITY */
-       /* when bandwidth is limited, packets exceeding capacity are discarded 
*/
-       if (max_wirevalue(markov_current,CAPACITY,dir) > 0) {
-               double capval=compute_wirevalue(CAPACITY,dir);
-               if ((delay_bufsize[dir]+size) > capval)
-                       return;
-       }
-       /* */
-
        struct packpq *new=malloc(sizeof(struct packpq));
        if (new==NULL) {
                printlog(LOG_WARNING,"malloc elem %s",strerror(errno));
@@ -591,6 +582,14 @@
        while (times>0) {
                int banddelay=0;
 
+               /* CHANBUFSIZE */
+               /* when bandwidth is limited, packets exceeding channel bufsize 
are discarded */
+               if (max_wirevalue(markov_current,CHANBUFSIZE,dir) > 0) {
+                       double capval=compute_wirevalue(CHANBUFSIZE,dir);
+                       if ((delay_bufsize[dir]+size) > capval)
+                               return;
+               }
+
                /* SPEED */
                /* speed limit, if packets arrive too fast, delay the sender */
                if (max_wirevalue(markov_current,SPEED,dir) > 0) {
@@ -1004,9 +1003,9 @@
        return read_wirevalue(s,SPEED);
 }
 
-static int setcapacity(int fd,char *s)
+static int setchanbufsize(int fd,char *s)
 {
-       return read_wirevalue(s,CAPACITY);
+       return read_wirevalue(s,CHANBUFSIZE);
 }
 
 static int setfifo(int fd,char *s)
@@ -1139,7 +1138,7 @@
        printoutc(fd, "speed        set interface speed bytes/sec");
        printoutc(fd, "noise        set noise factor bits/Mbyte");
        printoutc(fd, "mtu          set channel MTU (bytes)");
-       printoutc(fd, "capacity     set channel capacity (bytes)");
+       printoutc(fd, "chanbufsize  set channel buffer size (bytes)");
        printoutc(fd, "fifo         set channel fifoness");
        printoutc(fd, "shutdown     shut the channel down");
        printoutc(fd, "logout       log out from this mgmt session");
@@ -1198,8 +1197,8 @@
                                min_wirevalue(node,MTU,LR),
                                min_wirevalue(node,MTU,RL));
                printoutc(fd, "Cap.   L->R %g+%g%c   R->L %g+%g%c",
-                               WIREVALUE_FIELDS(node,CAPACITY,LR),
-                               WIREVALUE_FIELDS(node,CAPACITY,RL));
+                               WIREVALUE_FIELDS(node,CHANBUFSIZE,LR),
+                               WIREVALUE_FIELDS(node,CHANBUFSIZE,RL));
                printoutc(fd, "Current Delay Queue size:   L->R %d      R->L %d 
  ",delay_bufsize[LR],delay_bufsize[RL]);
        } else {
                printoutc(fd, "Loss   %g+%g%c",
@@ -1218,7 +1217,7 @@
                        WIREVALUE_FIELDS(node,NOISE,0));
                printoutc(fd, "MTU    %g", min_wirevalue(node,MTU,0));
                printoutc(fd, "Cap.   %g+%g%c",
-                       WIREVALUE_FIELDS(node,CAPACITY,0));
+                       WIREVALUE_FIELDS(node,CHANBUFSIZE,0));
                printoutc(fd, "Current Delay Queue size:   
%d",delay_bufsize[0]);
        }
        printoutc(fd,"Fifoness %s",(nofifo == 0)?"TRUE":"FALSE");
@@ -1268,7 +1267,8 @@
        {"bandwidth",setband, 0},
        {"band",setband, 0},
        {"speed",setspeed, 0},
-       {"capacity",setcapacity, 0},
+       {"chanbufsize",setchanbufsize, 0},
+       {"capacity",setchanbufsize, 0},
        {"noise",setnoise, 0},
        {"mtu",setmtu, 0},
        {"fifo",setfifo, 0},
@@ -1400,7 +1400,7 @@
                        "\t--dup|-D dup_percentage\n"
                        "\t--band|-b bandwidth(bytes/s)\n"
                        "\t--speed|-s interface_speed(bytes/s)\n"
-                       "\t--capacity|-c delay_channel_capacity\n"
+                       "\t--chanbufsize|-c channel_bufsize\n"
                        "\t--noise|-n noise_bits/megabye\n"
                        "\t--mtu|-m mtu_size\n"
                        "\t--nofifo|-N\n"
@@ -1431,6 +1431,7 @@
                {"dup",1 , 0, 'D'},
                {"band",1 , 0, 'b'},
                {"speed",1 , 0, 's'},
+               {"chanbufsize",1 , 0, 'c'},
                {"capacity",1 , 0, 'c'},
                {"noise",1 , 0, 'n'},
                {"mtu",1 , 0, 'm'},
@@ -1487,7 +1488,7 @@
                                read_wirevalue(optarg,SPEED);
                                break;
                        case 'c':
-                               read_wirevalue(optarg,CAPACITY);
+                               read_wirevalue(optarg,CHANBUFSIZE);
                                break;
                        case 'M':
                                mgmt=strdup(optarg);


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
vde-users mailing list
vde-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vde-users

Reply via email to