Minor cleanups.

This commit is contained in:
Martin Mares 1999-12-16 13:51:43 +00:00
parent e693ddff87
commit 476e108425
7 changed files with 30 additions and 13 deletions

24
TODO
View file

@ -1,13 +1,17 @@
Core 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 - better memory allocators
- real attribute cache - real attribute cache
- real neighbor 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: check validity of route destination?
- static: allow specifying a per-route filter program for setting route attributes? - 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: when parsing prefix, check zero bits
- config: reconfiguration - config: reconfiguration
- config: useless rules when protocols disabled - config: useless rules when protocols disabled
- config: remove protocol startup priority hacks?
- config: better datetime format
- krt: rescan interfaces when route addition fails? - krt: rescan interfaces when route addition fails?
- krt: does PERSIST mode have any sense if kernel syncer is shut down as last? - krt: does PERSIST mode have any sense if kernel syncer is shut down as last?
- tagging of external routes? - tagging of external routes?
- io: use poll if available
- port to FreeBSD - port to FreeBSD
Commands Commands
@ -41,6 +49,16 @@ show <name> # show everything you know about symbol <name>
static ??? [<name>] static ??? [<name>]
symbols symbols
(disable|enable|restart) <protocol> # or ALL? (disable|enable|restart) <protocol> # or ALL?
- showing of routing table as seen by given protocol
Client
~~~~~~
- write it!
Documentation
~~~~~~~~~~~~~
- write doctool
- write documentation :|
Cleanup Cleanup
~~~~~~~ ~~~~~~~

View file

@ -224,8 +224,6 @@ if_dump(struct iface *i)
debug(" BC"); debug(" BC");
if (i->flags & IF_MULTICAST) if (i->flags & IF_MULTICAST)
debug(" MC"); debug(" MC");
if (i->flags & IF_TUNNEL)
debug(" TUNL");
if (i->flags & IF_LOOPBACK) if (i->flags & IF_LOOPBACK)
debug(" LOOP"); debug(" LOOP");
if (i->flags & IF_IGNORE) if (i->flags & IF_IGNORE)

View file

@ -43,7 +43,6 @@ struct iface {
#define IF_UNNUMBERED 4 #define IF_UNNUMBERED 4
#define IF_BROADCAST 8 #define IF_BROADCAST 8
#define IF_MULTICAST 0x10 #define IF_MULTICAST 0x10
#define IF_TUNNEL 0x20 /* FIXME: Remove? */
#define IF_ADMIN_DOWN 0x40 #define IF_ADMIN_DOWN 0x40
#define IF_LOOPBACK 0x80 #define IF_LOOPBACK 0x80
#define IF_IGNORE 0x100 /* Not to be used by routing protocols (loopbacks etc.) */ #define IF_IGNORE 0x100 /* Not to be used by routing protocols (loopbacks etc.) */

View file

@ -270,7 +270,6 @@ typedef struct eattr {
} u; } u;
} eattr; } eattr;
/* FIXME: Introduce real protocol numbers? */
#define EAP_GENERIC 0 /* Generic attributes */ #define EAP_GENERIC 0 /* Generic attributes */
#define EAP_BGP 1 /* BGP attributes */ #define EAP_BGP 1 /* BGP attributes */
#define EAP_RIP 2 /* RIP */ #define EAP_RIP 2 /* RIP */

View file

@ -103,7 +103,7 @@ krt_parse_entry(byte *ent, struct krt_proto *p)
if (ng) if (ng)
a.iface = ng->iface; a.iface = ng->iface;
else 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); 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.dest = RTD_ROUTER;
a.gw = gw; a.gw = gw;

View file

@ -30,7 +30,7 @@
#include <linux/netlink.h> #include <linux/netlink.h>
#include <linux/rtnetlink.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 #define MSG_TRUNC 0x20
#endif #endif
@ -143,7 +143,7 @@ nl_error(struct nlmsghdr *h)
e = (struct nlmsgerr *) NLMSG_DATA(h); e = (struct nlmsgerr *) NLMSG_DATA(h);
ec = -e->error; ec = -e->error;
if (ec) if (ec)
log(L_WARN "Netlink: %s", strerror(ec)); /* FIXME: Shut up? */ log(L_WARN "Netlink: %s", strerror(ec));
return 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_type = new ? RTM_NEWROUTE : RTM_DELROUTE;
r.h.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg)); 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); 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_family = BIRD_AF;
r.r.rtm_dst_len = net->n.pxlen; r.r.rtm_dst_len = net->n.pxlen;
@ -666,7 +665,7 @@ nl_parse_route(struct nlmsghdr *h, int scan)
if (ng) if (ng)
ra.iface = ng->iface; ra.iface = ng->iface;
else 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); log(L_WARN "Kernel told us to use non-neighbor %I for %I/%d", ra.gw, net->n.prefix, net->n.pxlen);
} }
else else

View file

@ -191,7 +191,11 @@ krt_if_scan(struct kif_proto *p)
break; 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_req = NULL;
ic.ifc_len = 999999999; ic.ifc_len = 999999999;
if (ioctl(if_scan_sock, SIOCGIFCONF, &ic) < 0) if (ioctl(if_scan_sock, SIOCGIFCONF, &ic) < 0)