Small typo changes.
Hotfix to problem with metric change reported by Luca.
P->magic used just in LOCAL_DEBUG mode
... and in rip (there are even unused functions!).
Killed a couple of unused variables.
We really should compile with warnings enabled.
One space more.
The initial sequence number for RIP md5 authentication was always zero.Bad as when bird e.g. was running for two weeks and then restarted itwould take another two weeks until the peers of this router would acceptdata again from this router, as the sequence number would be too low....
Make RIP nolisten mode actually work. The socket is required forsending, the received data has to be discarded instead.
(patch by Andreas Steinmetz modified by me)
Fix reporting of RIP socket errors. Thanks to Eric Leblond for the patch.
Bug fixes to authentication code by Eric Leblond <email@example.com>.
Password does not need to be null-terminated, do not print garbage insuch case. Thanks to firstname.lastname@example.org.
Applied Pavel's fix for broadcast/multicast mode.
RIPv6 now works.
rip ipv6 bugfix
Fixes to the progdoc.
Spelling fixes to progdoc.
Better documentation. There are functions whose description is good whenreading source but whose documentation does not belong to progdocs.
do not overflow in .dvi
include filter documentation in the system
Add safety check.
Updates to both programmers and users doc
Don't set precedence and TTL for the dummy socket.
Removed lots of trailing newlines in log messages.
Please note that the only calls which don't add newlines automatically(i.e., don't print a full line of output) are debug() and DBG.
debug -> DBG
Updated RIP to new neighbor cache semantics. When presented with next hopequal to a local address, just ignore the route (as it is usually just anexternal route exported by us echoed by some RIP peer), when given aninvalid next hop, moan to the log.
Updated all the Doc files to new format.
IPv6: Absolutize link-scope addresses of incoming packets.
IPv6 socket interface is hopefully right now.
Removed several unused local variables.
Tried to change garbagetime -> garbage time to be more consistent.
Latest changes by Pavel have removed the error messages printed afterunsuccessful socket open, but replaced them by segmentatio fault!
Less error messages in case sk_open fails.
Added name of protocol to messages being logged.
Commented out the `inserting entry which is already there' message sinceit's pretty normal: during feeding of the protocol, a new route can appearwhich will be announced normally and then repeated by the feeding process.
Turned off LOCAL_DEBUG.
Interface dummy is too strange for me... but psst, that's secret.
Rip should now reconfigure itself only if needed.
Several minor RIP changes (Pavel, please check as usually):
o Use FIB_ITERATE_INIT instead of calling the function fit_init() which is explictly marked as private in route.h. o When printing trace messages, don't spit out protocol name twice....
Fixed nasty segfault in rip.
Some more paranoia into rip_insert and rip_delete
Unused variable killed.
use password_same utility function
Inlined metric and mode into struct rip_interface to make reconfigwork.
reconfigure is conservative but should work.
rip_reconfigure done right
ipa_same does not exist.
Nicer messages from rip.
Use ea_get_int instead of ea_find.
Reconfigure hook copied from bgp.
Send first udpate sooner.
Only announce change to main routing table if it is better than current.
Don't touch used memory.
Killed unused variable.
You can now say "mode multicast".
Fix segfaults by using new ea_get_int.
Preference is a configurable parameter.
Added commands `show route protocol <p>' and `show route import <p>' whichshow the routing table as exported to the protocol given resp. as returnedfrom its import control hook.
To get handling of filtered extended attributes right (even in the old`show route where <filter>' command), the get_route_info hook gets an...
Added skeleton Doc files for the whole developer's documentation.
#ifdef out lots of debugging information.
The long resource/routing table dump printed upon startup is gone nowand if you wish to see it, just send bird SIGUSR1 or use the `debug'commands.
Defined format specifier `%M' which behaves as `%m', but takes theerror code as an argument.
Use it in socket hooks where we really shouldn't rely on errno containingthe right value or even existing.
Moved documentation to top of file, where it belongs.
IpV6 now actually compiles.
Mj, could you provide example of static config for ipv6 that is notrejected by checks? I tried this and got rejected.
route 62:168::/32 via 62:169::; route 1:2::/32 via 1:3::;
Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,C declarations etc.).
Killed fixme: I already fixed it.
Provide rip_get_attr, how do I test it?
Add sample documentation to rip.
Use right address for ripv6.
Cleanup in preparation for ipv6.
f_new_dynamic_attr gets third argument, type as filters know it.
Fix of comment.
RIP: Set attribute class.
Removal of useless includes continues...
Use bsprintf() instead of sprintf().
Include "lib/string.h" instead of <string.h>. It should give us bzero()and other non-portable functions on all systems.
Cross-protocol issues solved better
Use neigh_connected_to in rip, and behave more correctlyw.r.t. whotoldme and nexthop.
I broke compilation. Sorry.
Split horizont done right.
Locks done better.
FIXME was actually already resolved
Minor change to make code more readable.
Rip now tries to lock interface.
Fixed fatal errors which caused segfault at startup.
Fixed fatal errors in rip which caused it not to send more than firstupdate.
Cleanup, mostly debugging messages.
Categorized TRACE messages in rip
Rip tracing: still need config hunk to set p->debug.
log() classes done right
Renamed EAF_INLINE to EAF_TEMP to make the name reflect the real meaning.
Added type parameter to f_new_dynamic_attr.
Dynamic attributes are now declared in per-protocol grammar files insteadof filter/config.Y. Bird now compiles even if you disable RIP.
Removed RTA and IMPOSSIBLE tokens (unused).
Removed superfluous comment in filter.h.
I've tried to do my best, but Pavel, please check these changes.
Adapted RIP to new interface flags. Pavel, please verify it's right.
Do not send empty packets in rip.
Output made prettier.
Separated `official protocol names' used in status dumps from name templatesused for automatic generation of instance names.
protocol->name is the official name protocol->template is the name template (usually "name%d"), should be all lowercase.
Updated all protocols to define the templates, checked that their configuration...
Added missing semicolon.
rip.h compiles in IPv6 mode, rip.c still doesn't.
TODO entries and FIXME's.
Added hooks for show route.Fixed passing metrics around routing tables.
Fix timing and fix endianity in metrics.
Stupid bug (essentially while(1) loop) occuring sometimes during startof bird fixed.
Actually check sequence numbers.
md5 authentication seems to work.
Bugfixes: select right password for password authentication, do nottry to process authentication blocks as datablocks, make it possibleto add data at end of packet. Password authentication should actually work.