[quagga-dev 7353] [PATCH] isisd/bpf: Rename 'true' and 'false' variables; fix ioctl calls

David Ward david.ward at ll.mit.edu
Sun Nov 15 22:30:06 GMT 2009


Avoid a potential conflict with the C99 defines 'true' and 'false'
found in <stdbool.h> by choosing better variable names.

Also fix the calls to these ioctls, as described in <net/bpf.h>
in FreeBSD, NetBSD, and OpenBSD:

* BIOCGBLEN, BIOCIMMEDIATE, BIOCSSEESENT (the parameter should be
    of type 'u_int')

* BIOCPROMISC (there should be no parameters)
---
 isisd/isis_bpf.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/isisd/isis_bpf.c b/isisd/isis_bpf.c
index e66ac98..8c3602d 100644
--- a/isisd/isis_bpf.c
+++ b/isisd/isis_bpf.c
@@ -56,7 +56,7 @@ struct bpf_insn llcfilter[] = {
   BPF_STMT (BPF_RET + BPF_K, (u_int) - 1),
   BPF_STMT (BPF_RET + BPF_K, 0)
 };
-int readblen = 0;
+u_int readblen = 0;
 u_char *readbuff = NULL;
 
 /*
@@ -77,8 +77,7 @@ open_bpf_dev (struct isis_circuit *circuit)
   int i = 0, fd;
   char bpfdev[128];
   struct ifreq ifr;
-  u_int16_t blen;
-  int true = 1, false = 0;
+  u_int blen, immediate, seesent;
   struct timeval timeout;
   struct bpf_program bpf_prog;
 
@@ -123,7 +122,8 @@ open_bpf_dev (struct isis_circuit *circuit)
    *  Otherwise, a read will block until either the kernel
    *  buffer becomes full or a timeout occurs. 
    */
-  if (ioctl (fd, BIOCIMMEDIATE, (caddr_t) & true) < 0)
+  immediate = 1;
+  if (ioctl (fd, BIOCIMMEDIATE, (caddr_t) & immediate) < 0)
     {
       zlog_warn ("failed to set BPF dev to immediate mode");
     }
@@ -132,7 +132,8 @@ open_bpf_dev (struct isis_circuit *circuit)
   /*
    * We want to see only incoming packets
    */
-  if (ioctl (fd, BIOCSSEESENT, (caddr_t) & false) < 0)
+  seesent = 0;
+  if (ioctl (fd, BIOCSSEESENT, (caddr_t) & seesent) < 0)
     {
       zlog_warn ("failed to set BPF dev to incoming only mode");
     }
@@ -141,7 +142,7 @@ open_bpf_dev (struct isis_circuit *circuit)
   /*
    * ...but all of them
    */
-  if (ioctl (fd, BIOCPROMISC, (caddr_t) & true) < 0)
+  if (ioctl (fd, BIOCPROMISC) < 0)
     {
       zlog_warn ("failed to set BPF dev to promiscuous mode");
     }
-- 
1.6.3.3




More information about the Quagga-dev mailing list