Commit graph

1535 commits

Author SHA1 Message Date
Martin Mares
03b7bd14de Started a list of CLI reply codes. 1999-10-31 17:48:21 +00:00
Martin Mares
bc2fb68098 Parse CLI commands. We use the same parser as for configuration files (because
we want to allow filter and similar complex constructs to be used in commands
and we should avoid code duplication), only with CLI_MARKER token prepended
before the whole input.

Defined macro CF_CLI(cmd, args, help) for defining CLI commands in .Y files.
The first argument specifies the command itself, the remaining two arguments
are copied to the help file (er, will be copied after the help file starts
to exist). This macro automatically creates a skeleton rule for the command,
you only need to append arguments as in:

	CF_CLI(STEAL MONEY, <$>, [[Steal <$> US dollars or equivalent in any other currency]]): NUM {
		cli_msg(0, "%d$ stolen", $3);
	} ;

Also don't forget to reset lexer state between inputs.
1999-10-31 17:47:47 +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
0d70292d88 Events now return a value. If it's non-zero, the event is re-queued
for processing in next event cycle. This can be used to prevent background
actions (hint: user commands) from hogging the CPU for too long time.
1999-10-29 12:08:49 +00:00
Martin Mares
92af6f309b Simplify handling of free chunks. 1999-10-29 10:08:27 +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
Pavel Machek
41be4444f2 switch() { } done right. 1999-10-28 21:03:36 +00:00
Ondrej Filip
c2250f91c7 Minor changes and bug fixes. Preparing for Exchange and higher states. 1999-10-19 16:13:06 +00:00
Ondrej Filip
96f1b8ba10 Huge changes. Neighbor and interface state machines rewritten.
It should be cleaner now, I'm preparing for file splitting.
Maybe I added some minor bugs. :-(
1999-10-18 21:48:51 +00:00
Pavel Machek
f942a589ef FIXME's for rip added.
Will we ever able to generate packets saying "route 1.2.3.4 using someone else"?
1999-10-12 13:04:50 +00:00
Martin Mares
89dc383a8c Changed syntax of ip_class_mask, the old one was stupid. 1999-10-12 07:46:08 +00:00
Pavel Machek
d3dd620b96 Filters: permit variables of prefix types, cleanup around
variables. TODO list added, hopefully complete. Use new features of
filters in bird.conf
1999-10-12 06:27:42 +00:00
Pavel Machek
c79ec2ec19 Untested IPv6 support added. I do not know if it compiles in IPV6 mode. 1999-10-11 14:19:29 +00:00
Pavel Machek
720d911d77 Added constants of type prefix and pair, added their printing 1999-10-07 14:10:08 +00:00
Pavel Machek
4872cef4df Added examples of pairs and prefixes 1999-10-07 14:09:50 +00:00
Pavel Machek
c9f8c1a855 FIXME's added. Hopefully fixme list is now complete for filters. 1999-10-07 13:38:26 +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
507cb9e58b Don't forget to free large blocks. 1999-10-02 10:55:19 +00:00
Pavel Machek
ac40c888c2 Obvious bugs in authentication fixed. 1999-10-02 10:44:48 +00:00
Pavel Machek
7db7b7db60 Case arg { 1: printf "one"; } works. You can not use two commands
after one label, yet.
1999-09-29 14:24:58 +00:00
Pavel Machek
4caa2231fc Make configuration use new case statement. 1999-09-29 14:23:11 +00:00
Ondrej Filip
2c1d1cc765 DD packet receiving in ExStart. 1999-08-25 18:44:50 +00:00
Ondrej Filip
1af664158d A structure for receiving DD seq packets added. 1999-08-24 18:32:26 +00:00
Ondrej Filip
e3121112ab Preparing to send DD packets. 1999-08-24 14:42:51 +00:00
Pavel Machek
2981814066 Few FIXME's removed from auth, few FIXME's added to filter. 1999-08-20 09:59:39 +00:00
Pavel Machek
bce8a34b12 Few fixme's fixed in rip (will not crash any more on request for
sending routing table - hopefully).

Next few steps in md5 authentication (not yet complete).
1999-08-18 13:19:33 +00:00
Martin Mares
f651941402 Added a function for generating 32-bit random numbers. 1999-08-17 20:47:40 +00:00
Ondrej Filip
b332fcdfc8 Better dumping. 1999-08-16 10:32:05 +00:00
Ondrej Filip
032df28048 Small bux fixes. A neigh_chstate added. 1999-08-10 12:06:45 +00:00
Ondrej Filip
a7d388d23e Multiple "hton problems" fixed. Now we're in EXSTART state. 1999-08-09 18:59:37 +00:00
Ondrej Filip
2be22ddb4c "My own IP problem" fixed. 1999-08-09 18:49:50 +00:00
Ondrej Filip
a4c2ee717c Bug fix in checksum calculation. 1999-08-09 18:34:08 +00:00
Ondrej Filip
b1693b8f74 Bug in election fixed. 1999-08-09 18:11:51 +00:00
Ondrej Filip
e83dc0d7e7 (Backup) Designated Router election added. 1999-08-09 17:58:01 +00:00
Ondrej Filip
8c51f96acf Some interface state machine changes. I found some problem in RFC,
trying to conntact authors.
1999-08-09 13:03:28 +00:00
Martin Mares
55e06729b1 Forgot to do a `cvs add', grr. 1999-08-03 19:57:43 +00:00
Martin Mares
d7975d261f Ouch, how could I write this? 1999-08-03 19:38:48 +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
707ef83378 Pruned the TODO list. 1999-08-03 19:35:01 +00:00
Martin Mares
9c11ec9efc Implemented a Table-to-Table protocol a.k.a The Pipe. 1999-08-03 19:34:26 +00:00
Martin Mares
8c943173ce Allow announces of rte's to protocols in FS_FEEDING state.
Else, we would get chicken-egg problems in the table-to-table protocol.
1999-08-03 19:33:45 +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
9d8856897f Protocol engine bug fixes:
o  Make proto_config->table always point to the right
      table even if it should be the default one.
   o  When shutting down, kill protocol in reverse order
      of their priority.
   o  When stopping a protocol down, disconnect it from
      routing tables immediately instead of waiting
      for the delayed protocol flush event.

Also added a protocol instance counter (used by KRT code
in very magic ways).
1999-08-03 19:31:54 +00:00
Martin Mares
b6628a8c98 Added macros for walking lists backwards. 1999-08-03 19:31:30 +00:00
Martin Mares
9a706f32af Added missing structure declarations. 1999-08-03 19:31:11 +00:00