Martin Mares
221135d6bf
Include "lib/string.h" instead of <string.h>. It should give us bzero()
...
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00
Martin Mares
320f417357
Defined sk_close() which closes the socket safely even if called from
...
socket hook. Replaces the SK_DELETED hack.
Squashed a couple of bugs in handling of TCP sockets.
2000-03-30 10:43:37 +00:00
Martin Mares
1cf716f075
Handle EINPROGRESS properly.
...
Set IP_DONTROUTE sockopt only if sk->ttl == 1.
2000-03-20 21:49:21 +00:00
Martin Mares
f098e072be
Fixed a bunch of FIXME's by removing them :)
2000-03-12 22:53:05 +00:00
Martin Mares
7a88832e78
Added tm_format_datetime().
2000-03-12 22:43:13 +00:00
Martin Mares
a92bebe0ec
Yet another LOCAL_DEBUG turned off.
2000-03-12 21:58:51 +00:00
Martin Mares
832fa033b7
Cleaned up debugging in kernel syncer. Netlink has still LOCAL_DEBUG
...
turned on, but after some testing I'll gag it.
2000-03-12 21:54:39 +00:00
Martin Mares
6b9fa32080
Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
...
several debug() calls converted to DBG().
2000-03-12 21:01:38 +00:00
Martin Mares
c801e1fbab
Renamed command shutdown' to
down', so that `s' can be used as an
...
abbreviation for `show'.
2000-03-07 20:09:35 +00:00
Martin Mares
b9626ec6ea
Garbage collector events and counters are now per table and one day
...
they can be made configurable if it turns out to be useful.
2000-03-04 22:21:06 +00:00
Martin Mares
d07bab3997
ipa_opposite hack is not applicable in IPv6.
2000-03-01 11:29:30 +00:00
Martin Mares
6a636392d3
Rewrote interface type detection logic. The `unnumbered' flag is now per
...
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-02-29 23:19:52 +00:00
Martin Mares
9fac310d1a
Put client on a stony ground. The whole client is going to be system-specific
...
(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-19 15:07:00 +00:00
Martin Mares
3ea1ba632b
Killed protocol->priority. Protocol startup should be clean and hack-free now.
...
It seems everything still works (except for disable/enable/restart which hangs
sometimes, but it's another story).
2000-01-18 11:01:03 +00:00
Martin Mares
aa8761de94
Kernel route syncer now supports dynamic reconfiguration. Also it doesn't
...
depend on the startup counter hack now and uses a zero-time timer instead
to make itself scheduled after normal protocol startup.
2000-01-18 10:39:30 +00:00
Martin Mares
fb89b1a4ce
Removed point-to-point tunnel hack as it breaks ordinary PtP interfaces.
...
I'll find a better solution soon.
2000-01-17 12:40:00 +00:00
Martin Mares
d272fe22dd
Separated `official protocol names' used in status dumps from name templates
...
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-17 11:52:50 +00:00
Martin Mares
f7fcb75252
Reconfiguration for device protocol.
2000-01-17 11:17:33 +00:00
Martin Mares
99278e1042
Wording changes.
2000-01-16 23:36:19 +00:00
Martin Mares
bf8558bc9c
Converted shutdown to a kind of reconfiguration, it's no more handled
...
as a exception in protocol state machines. Introduced a `shutdown'
CLI command. Killed few reconfiguration bugs.
2000-01-16 17:40:26 +00:00
Martin Mares
50fe90edf3
First attempt on dynamic reconfiguration. There are still lots of bugs
...
and problems to solve, but the hardest part works.
2000-01-16 16:44:50 +00:00
Martin Mares
476e108425
Minor cleanups.
1999-12-16 13:51:43 +00:00
Martin Mares
e693ddff87
Handle cases when SIOCGIFINDEX is defined, but doesn't work (new glibc
...
with 2.0 kernels).
1999-12-16 13:23:32 +00:00
Martin Mares
a2867cd957
Better order of includes.
...
set_inaddr() moved to sysio.h.
1999-12-16 13:14:02 +00:00
Martin Mares
67ece6df42
Tried to clean up multicast handling. Now we don't try to guess
...
multicast abilities depending on definedness of symbols and use hard-wired
system-dependent configuration defines instead.
Please test whereever you can.
1999-12-16 13:06:13 +00:00
Martin Mares
f545d38707
Added universal locking mechanism which will solve problems
...
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-09 18:54:20 +00:00
Martin Mares
30bc402ebb
Temporary work-arounds for multicast problems. Needs further investigation.
1999-12-08 15:12:54 +00:00
Martin Mares
0da472d7e8
Except for special protocols (nowadays only the kernel syncer), don't
...
export host and link scope routes.
1999-12-08 14:16:13 +00:00
Martin Mares
dc82daaa9b
- Path to control socket is selectable via command-line option.
...
- die() when control socket open failed.
1999-12-08 13:20:19 +00:00
Martin Mares
f78056fb2c
Allow logging to stderr as well.
1999-12-06 13:51:04 +00:00
Martin Mares
a0c37b45e5
Logging is now configurable. You can define multiple log outputs (to both
...
files and syslog) and assign lists of message categories to each of them.
1999-12-06 13:45:56 +00:00
Martin Mares
a9c986f981
Added tracked_fopen() which is a fopen registered in resource database.
...
Will be used for log files.
1999-12-06 13:43:47 +00:00
Martin Mares
34350a5270
Implemented echoing of log messages to CLI connections. Just try `echo all'.
1999-12-06 12:34:45 +00:00
Martin Mares
afa8937ac8
Added tm_format_reltime() for formatting of relative time quantities.
1999-12-01 11:59:00 +00:00
Martin Mares
487d1afa52
Moved TIME_INFINITY to timer.h, so that it's publicly available.
1999-11-30 14:01:39 +00:00
Martin Mares
30770df2ab
If the main event queue is not empty, call select() with zero timeout, so
...
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-11-17 12:04:24 +00:00
Martin Mares
2727bb7c5b
Renamed attr->attrs to attr->eattrs.
1999-11-04 13:29:43 +00:00
Martin Mares
b9672a845f
The CLI I/O functions work as desired.
1999-10-31 15:43:44 +00:00
Martin Mares
7d3aab1c16
First steps of the Command Line Interface: I/O routines.
1999-10-29 12:10:10 +00:00
Martin Mares
b93abffae4
Implemented unix-domain sockets.
1999-10-29 12:09:29 +00:00
Martin Mares
54165b1315
Configure PATH_CONTROL_SOCKET.
...
autoconf.h is now written to obj/sysdep, the source tree is hopefully
completely read-only now.
1999-10-29 10:08:09 +00:00
Martin Mares
ed6081502a
Added skeleton of the client. Does nothing, but at least compiles.
1999-10-29 09:44:44 +00:00
Martin Mares
f782b72c53
Failure to set socket TOS is not a fatal error.
1999-10-02 11:06:44 +00:00
Martin Mares
f651941402
Added a function for generating 32-bit random numbers.
1999-08-17 20:47:40 +00:00
Martin Mares
4532a89e31
Taught Netlink how to behave in IPv6 world.
1999-08-03 19:37:37 +00:00
Martin Mares
4f22c98185
Support for IPv6 sockets. How nice one doesn't have to ifdef around
...
ten years of API evolution :-)
1999-08-03 19:36:51 +00:00
Martin Mares
dce267832a
Basic support for IPv6. The system-dependent part doesn't work yet,
...
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.
1999-08-03 19:36:06 +00:00
Martin Mares
7de45ba4a0
Kernel route syncer supports multiple tables.
...
The changes are just too extensive for lazy me to list them
there, but see the comment at the top of sysdep/unix/krt.c.
The code got a bit more ifdeffy than I'd like, though.
Also fixed a bunch of FIXME's and added a couple of others. :)
1999-08-03 19:33:22 +00:00
Martin Mares
9273035403
Changes to interface handling on traditional Unices:
...
o Aliases are interpreted as secondary addresses.
o When the system doesn't supply interface indices, generate
our ones.
1999-08-03 19:30:20 +00:00
Martin Mares
913f7dc9f2
Added functions for parsing and formatting of dates.
1999-08-03 19:29:27 +00:00