summaryrefslogtreecommitdiffstats
path: root/sysdep/unix
AgeCommit message (Collapse)Author
2000-04-28Fixed a couple of nasty CLI bugs which were triggered on long or multi-partMartin Mares
outputs. It took a whole evening to hunt them down, but now the CLI seems to work fine. Now I run three BGP connections with several thousand routes!
2000-04-26Changed handling of incoming connections, so that we can send dataMartin Mares
from the send hook without worrying about existence of socket buffers. Also, don't forget to copy peer addresses.
2000-04-26Removed several FIXME's.Martin Mares
2000-04-26Allow sk_close(NULL).Martin Mares
2000-04-21IPv6 compiles with glibc 2.1.Martin Mares
2000-04-01Changed initialization of protocol list -- now we call proto_build() insteadMartin Mares
of calling the protocols manually. Implemented printing of dynamic attributes in `show route all'. Each protocol can now register its own attribute class (protocol->attr_class, set to EAP_xxx) and also a callback for naming and formatting of attributes. The callback can return one of the following results: GA_UNKNOWN Attribute not recognized. GA_NAME Attribute name recognized and put to the buffer, generic code should format the value. GA_FULL Both attribute name and value put to the buffer. Please update protocols generating dynamic attributes to provide the attr_class and formatting hook.
2000-04-01Use bsprintf() instead of sprintf().Martin Mares
2000-04-01Include "lib/string.h" instead of <string.h>. It should give us bzero()Martin Mares
and other non-portable functions on all systems.
2000-03-30Defined sk_close() which closes the socket safely even if called fromMartin Mares
socket hook. Replaces the SK_DELETED hack. Squashed a couple of bugs in handling of TCP sockets.
2000-03-20Handle EINPROGRESS properly.Martin Mares
Set IP_DONTROUTE sockopt only if sk->ttl == 1.
2000-03-12Fixed a bunch of FIXME's by removing them :)Martin Mares
2000-03-12Added tm_format_datetime().Martin Mares
2000-03-12Yet another LOCAL_DEBUG turned off.Martin Mares
2000-03-12Cleaned up debugging in kernel syncer. Netlink has still LOCAL_DEBUGMartin Mares
turned on, but after some testing I'll gag it.
2000-03-12Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,Martin Mares
several debug() calls converted to DBG().
2000-03-07Renamed command `shutdown' to `down', so that `s' can be used as anMartin Mares
abbreviation for `show'.
2000-03-04Garbage collector events and counters are now per table and one dayMartin Mares
they can be made configurable if it turns out to be useful.
2000-03-01Rewrote interface type detection logic. The `unnumbered' flag is now perMartin Mares
address, not per interface (hence it's ifa->flags & IA_UNNUMBERED) and should be set reliably. IF_MULTIACCESS should be fixed now, but it isn't wise to rely on it on interfaces configured with /30 prefix.
2000-01-19Put client on a stony ground. The whole client is going to be system-specificMartin Mares
(the current version UNIX-specific) anyway, so it's useless to try splitting it to sysdep and generic part. Instead of this, configure script decides (based on system type and user's wish) what (if any) client should be built and what autoconfiguration it requires. Also, the client provides its own die/bug/... functions.
2000-01-18Killed protocol->priority. Protocol startup should be clean and hack-free now.Martin Mares
It seems everything still works (except for disable/enable/restart which hangs sometimes, but it's another story).
2000-01-18Kernel route syncer now supports dynamic reconfiguration. Also it doesn'tMartin Mares
depend on the startup counter hack now and uses a zero-time timer instead to make itself scheduled after normal protocol startup.
2000-01-17Separated `official protocol names' used in status dumps from name templatesMartin Mares
used 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 grammar includes proto_name which generates the name and interns it in the symbol table.
2000-01-17Reconfiguration for device protocol.Martin Mares
2000-01-17Wording changes.Martin Mares
2000-01-16Converted shutdown to a kind of reconfiguration, it's no more handledMartin Mares
as a exception in protocol state machines. Introduced a `shutdown' CLI command. Killed few reconfiguration bugs.
2000-01-16First attempt on dynamic reconfiguration. There are still lots of bugsMartin Mares
and problems to solve, but the hardest part works.
1999-12-16Minor cleanups.Martin Mares
1999-12-16Handle cases when SIOCGIFINDEX is defined, but doesn't work (new glibcMartin Mares
with 2.0 kernels).
1999-12-16Better order of includes.Martin Mares
set_inaddr() moved to sysio.h.
1999-12-16Tried to clean up multicast handling. Now we don't try to guessMartin Mares
multicast abilities depending on definedness of symbols and use hard-wired system-dependent configuration defines instead. Please test whereever you can.
1999-12-09Added universal locking mechanism which will solve problemsMartin Mares
with protocols wanting to use the same port on the same interface during reconfiguration time. How to use locks: In the if_notify hook, just order locks for the interfaces you want to work with and do the real socket opening after the lock hook function gets called. When you stop using the socket, close it and rfree() the lock. Please update your protocols to use the new locking mechanism.
1999-12-08Temporary work-arounds for multicast problems. Needs further investigation.Martin Mares
1999-12-08Except for special protocols (nowadays only the kernel syncer), don'tMartin Mares
export host and link scope routes.
1999-12-08- Path to control socket is selectable via command-line option.Martin Mares
- die() when control socket open failed.
1999-12-06Allow logging to stderr as well.Martin Mares
1999-12-06Logging is now configurable. You can define multiple log outputs (to bothMartin Mares
files and syslog) and assign lists of message categories to each of them.
1999-12-06Added tracked_fopen() which is a fopen registered in resource database.Martin Mares
Will be used for log files.
1999-12-06Implemented echoing of log messages to CLI connections. Just try `echo all'.Martin Mares
1999-12-01Added tm_format_reltime() for formatting of relative time quantities.Martin Mares
1999-11-30Moved TIME_INFINITY to timer.h, so that it's publicly available.Martin Mares
1999-11-17If the main event queue is not empty, call select() with zero timeout, soMartin Mares
that the events are ran again after the FD's are checked. This allows us to schedule I/O checks between processing of user commands.
1999-10-31The CLI I/O functions work as desired.Martin Mares
1999-10-29First steps of the Command Line Interface: I/O routines.Martin Mares
1999-10-29Implemented unix-domain sockets.Martin Mares
1999-10-29Added skeleton of the client. Does nothing, but at least compiles.Martin Mares
1999-10-02Failure to set socket TOS is not a fatal error.Martin Mares
1999-08-17Added a function for generating 32-bit random numbers.Martin Mares
1999-08-03Taught Netlink how to behave in IPv6 world.Martin Mares
1999-08-03Support for IPv6 sockets. How nice one doesn't have to ifdef aroundMartin Mares
ten years of API evolution :-)
1999-08-03Basic support for IPv6. The system-dependent part doesn't work yet,Martin Mares
but the core routines are there and seem to be working. o lib/ipv6.[ch] written o Lexical analyser recognizes IPv6 addresses and when in IPv6 mode, treats pure IPv4 addresses as router IDs. o Router ID must be configured manually on IPv6 systems. o Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts. o Fixed few places where ipa_(hton|ntoh) was called as a function returning converted address.