]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Minor cleanups.
authorMartin Mares <mj@ucw.cz>
Thu, 16 Dec 1999 13:51:43 +0000 (13:51 +0000)
committerMartin Mares <mj@ucw.cz>
Thu, 16 Dec 1999 13:51:43 +0000 (13:51 +0000)
TODO
nest/iface.c
nest/iface.h
nest/route.h
sysdep/linux/krt-scan.c
sysdep/linux/netlink/netlink.c
sysdep/unix/krt-iface.c

diff --git a/TODO b/TODO
index 475c545f4f85b158389387412899e366bf30aeff..79efcb0d852af4f8b4a9414b242abb1545a6d03f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,13 +1,17 @@
 Core
 ~~~~
-- IPv6 support
+- IPv6: router advertisements
+- IPv6: test it!
+- IPv6: hashing functions etc.
+
+- krt-iface: check whether the interface alias hack works
+- krt-iface and netlink: unnumberedness of tunnels
 
-- counters (according to SNMP MIB?)
 - better memory allocators
 - real attribute cache
 - real neighbor cache
 
-- default preferences of protocols: prefer BGP over OSPF/RIP external routes?
+- preferences of protocols
 
 - static: check validity of route destination?
 - static: allow specifying a per-route filter program for setting route attributes?
@@ -23,12 +27,16 @@ Core
 - config: when parsing prefix, check zero bits
 - config: reconfiguration
 - config: useless rules when protocols disabled
+- config: remove protocol startup priority hacks?
+- config: better datetime format
 
 - krt: rescan interfaces when route addition fails?
 - krt: does PERSIST mode have any sense if kernel syncer is shut down as last?
 
 - tagging of external routes?
 
+- io: use poll if available
+
 - port to FreeBSD
 
 Commands
@@ -41,6 +49,16 @@ show <name>                  # show everything you know about symbol <name>
        static ??? [<name>]
        symbols
 (disable|enable|restart) <protocol>    # or ALL?
+- showing of routing table as seen by given protocol
+
+Client
+~~~~~~
+- write it!
+
+Documentation
+~~~~~~~~~~~~~
+- write doctool
+- write documentation :|
 
 Cleanup
 ~~~~~~~
index be087ff428c574dd5644ef9aa0370d2c649d0cab..4f12365c59fcce71509b532bd633093ca43129d6 100644 (file)
@@ -224,8 +224,6 @@ if_dump(struct iface *i)
     debug(" BC");
   if (i->flags & IF_MULTICAST)
     debug(" MC");
-  if (i->flags & IF_TUNNEL)
-    debug(" TUNL");
   if (i->flags & IF_LOOPBACK)
     debug(" LOOP");
   if (i->flags & IF_IGNORE)
index 87c4e93f35bebf0320a2c34bcd43d02a847e340a..64bc6b4cc973a4128bfe8cb365d1ee179690cbb8 100644 (file)
@@ -43,7 +43,6 @@ struct iface {
 #define IF_UNNUMBERED 4
 #define IF_BROADCAST 8
 #define IF_MULTICAST 0x10
-#define IF_TUNNEL 0x20                 /* FIXME: Remove? */
 #define IF_ADMIN_DOWN 0x40
 #define IF_LOOPBACK 0x80
 #define IF_IGNORE 0x100                        /* Not to be used by routing protocols (loopbacks etc.) */
index 41d188da760a4ebf5b6c8d01cc6878a6151b6ddb..903e9b930fdce7164db038f42734e601bda0bef5 100644 (file)
@@ -270,7 +270,6 @@ typedef struct eattr {
   } u;
 } eattr;
 
-/* FIXME: Introduce real protocol numbers? */
 #define EAP_GENERIC 0                  /* Generic attributes */
 #define EAP_BGP 1                      /* BGP attributes */
 #define EAP_RIP 2                      /* RIP */
index 3f3def1a1ef3202b80beb9cb7e2b7cb9f1e4acb6..10a40b7aff9405bf351844cc0e4c6b8c8de8e544 100644 (file)
@@ -103,7 +103,7 @@ krt_parse_entry(byte *ent, struct krt_proto *p)
       if (ng)
        a.iface = ng->iface;
       else
-       /* FIXME: Remove this warning? */
+       /* FIXME: Remove this warning? Handle it somehow... */
        log(L_WARN "Kernel told us to use non-neighbor %I for %I/%d", gw, net->n.prefix, net->n.pxlen);
       a.dest = RTD_ROUTER;
       a.gw = gw;
index 25d8fc03fd08b0031c577d9dc54589f94ca0ab88..11973e935b555c24c06064252df2d992c677b7c4 100644 (file)
@@ -30,7 +30,7 @@
 #include <linux/netlink.h>
 #include <linux/rtnetlink.h>
 
-#ifndef MSG_TRUNC                      /* FIXME: Hack to circumvent omissions in glibc includes */
+#ifndef MSG_TRUNC                      /* Hack: Several versions of glibc miss this one :( */
 #define MSG_TRUNC 0x20
 #endif
 
@@ -143,7 +143,7 @@ nl_error(struct nlmsghdr *h)
   e = (struct nlmsgerr *) NLMSG_DATA(h);
   ec = -e->error;
   if (ec)
-    log(L_WARN "Netlink: %s", strerror(ec)); /* FIXME: Shut up? */
+    log(L_WARN "Netlink: %s", strerror(ec));
   return ec;
 }
 
@@ -472,7 +472,6 @@ nl_send_route(struct krt_proto *p, rte *e, int new)
   r.h.nlmsg_type = new ? RTM_NEWROUTE : RTM_DELROUTE;
   r.h.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg));
   r.h.nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK | (new ? NLM_F_CREATE|NLM_F_REPLACE : 0);
-  /* FIXME: Do we really need to process ACKs? */
 
   r.r.rtm_family = BIRD_AF;
   r.r.rtm_dst_len = net->n.pxlen;
@@ -666,7 +665,7 @@ nl_parse_route(struct nlmsghdr *h, int scan)
          if (ng)
            ra.iface = ng->iface;
          else
-           /* FIXME: Remove this warning? */
+           /* FIXME: Remove this warning? Handle it somehow... */
            log(L_WARN "Kernel told us to use non-neighbor %I for %I/%d", ra.gw, net->n.prefix, net->n.pxlen);
        }
       else
index e9df6e433d729a0a5c852221094032aab4b8bcd1..8c82ffdf6ec81a0ec17355138f395823861e08fe 100644 (file)
@@ -191,7 +191,11 @@ krt_if_scan(struct kif_proto *p)
              break;
            }
        }
-#ifdef CLEAN_WAY_WORKING_ONLY_ON_LINUX_2_1     /* FIXME */
+#if 0
+      /*
+       *  Linux 2.1 and higher supports this, but it's not needed since
+       *  we prefer to use Netlink there anyway.
+       */
       ic.ifc_req = NULL;
       ic.ifc_len = 999999999;
       if (ioctl(if_scan_sock, SIOCGIFCONF, &ic) < 0)