summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
1999-11-17Added some temporary examples of how to define CLI commands (search for CF_CLI).Martin Mares
To define a new command, just add a new rule to the gramar: CF_CLI(COMMAND NAME, arguments, help-args, help-text) { what-should-the-command-do } ; where <arguments> are appended to the RHS of the rule, <help-args> is the argument list as shown in the help and <help-text> is description of the command for the help. <what-should-the-command-do> is a C code snippet to be executed. It should not take too much time to execute. If you want to print out a lot of information, you can schedule a routine to be called after the current buffer is flushed by making cli->cont point to the routine (see the TEST LONG command definition for an example); if the connection is closed in the meantime, cli->cleanup gets called. You can access `struct cli' belonging to the connection you're currently servicing as this_cli, but only during parse time, not from routines scheduled for deferred execution. Functions to call inside command handlers: cli_printf(cli, code, printf-args) -- print text to CLI connection, <code> is message code as assigned in doc/reply_codes or a negative one if it's a continuation line. cli_msg(code, printf-args) -- the same for this_cli. Use 'sock -x bird.ctl' for connecting to the CLI until a client is written.
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-11-17ev_run() now returns whether the event has been requeued or not.Martin Mares
ev_run_list() now returns number of events which remain in the list.
1999-11-17Command line interface now works.Martin Mares
1999-11-17Commented out nexthop selection, see the comment.Martin Mares
1999-11-15An example of how to define enums.Martin Mares
1999-11-15ENUM's are now recognized as constants.Martin Mares
1999-11-15Defined CF_ENUM.Martin Mares
1999-11-15SYM_STAT is gone.Martin Mares
1999-11-11Fixed order of arguments for function call.Pavel Machek
Enumeration types should work once CF_ENUM() is ready. Created test.conf for testing of filters. (I'm currently thinking about ./tests in root directory which will just fire all available tests...)
1999-11-11Shift/reduce conflict goes away _and_ if/then/else works.Pavel Machek
1999-11-10Sending DBDES packet in EXSTART done.Ondrej Filip
1999-11-10Enums do not work, this is testcase.Pavel Machek
1999-11-10First try on enumerational types.Pavel Machek
Mj's noassoc removed: this brings back shift/reduce conflict but it makes parser actually work. Mj please check it. IF/THEN/ELSE still will not work.
1999-11-10No more shift/reduce conflicts.Pavel Machek
1999-11-10Shift/reduce conflicts in IF/THEN/ELSE rules solved.Martin Mares
1999-11-10Enumerational types, defined keyword added.Pavel Machek
1999-11-10Added LSA hashing table (parts of code stolen from rt-fib.c, butMartin Mares
heavily simplified since we don't need asynchronous walking).
1999-11-10Added timeout for routes (which means proper expiring of routes) addedPavel Machek
few fixmes.
1999-11-10Added project status report for KSVI.Martin Mares
1999-11-04FIXME's updated. One fixme is remaining for correct RIPv4. Wow.Pavel Machek
1999-11-04Reject packets which are not authenticated.Pavel Machek
Set correct nexthop on outgoing packets.
1999-11-04Fixed comments about shift/reduce conflicts.Pavel Machek
1999-11-04Add possibility of local variables.Pavel Machek
1999-11-04Use local variables to test that functionality.Pavel Machek
1999-11-04Silly bug.Martin Mares
1999-11-04Symbols are not scoped.Martin Mares
1999-11-04Possibility to access first extended attributes.Pavel Machek
1999-11-04Renamed attr->attrs to attr->eattrs.Martin Mares
1999-11-03Filters now do not allow function (int arg; int arg2; ).Pavel Machek
1999-11-03You should not follow next two times.Pavel Machek
1999-11-03Working on db des receiving.Ondrej Filip
Preparing for building LDA database.
1999-10-31Started a list of CLI reply codes.Martin Mares
1999-10-31Parse CLI commands. We use the same parser as for configuration files (becauseMartin Mares
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-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-29Events now return a value. If it's non-zero, the event is re-queuedMartin Mares
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-29Simplify handling of free chunks.Martin Mares
1999-10-29Configure PATH_CONTROL_SOCKET.Martin Mares
autoconf.h is now written to obj/sysdep, the source tree is hopefully completely read-only now.
1999-10-29Added skeleton of the client. Does nothing, but at least compiles.Martin Mares
1999-10-28switch() { } done right.Pavel Machek
1999-10-19Minor changes and bug fixes. Preparing for Exchange and higher states.Ondrej Filip
1999-10-18Huge changes. Neighbor and interface state machines rewritten.Ondrej Filip
It should be cleaner now, I'm preparing for file splitting. Maybe I added some minor bugs. :-(
1999-10-12FIXME's for rip added.Pavel Machek
Will we ever able to generate packets saying "route 1.2.3.4 using someone else"?
1999-10-12Changed syntax of ip_class_mask, the old one was stupid.Martin Mares
1999-10-12Filters: permit variables of prefix types, cleanup aroundPavel Machek
variables. TODO list added, hopefully complete. Use new features of filters in bird.conf
1999-10-11Untested IPv6 support added. I do not know if it compiles in IPV6 mode.Pavel Machek
1999-10-07Added constants of type prefix and pair, added their printingPavel Machek
1999-10-07Added examples of pairs and prefixesPavel Machek