| Branch: | Revision:

iof-bird-daemon / nest / iface.h @ 725270cb

History | View | Annotate | Download (3.8 KB)

# Date Author Comment
cf318e3c 06/01/2000 04:17 PM Martin Mares

Removed comments about workings of the old neighbor cache which are
(1) obsolete and (2) replaced by the progdoc.

0f32f2a6 06/01/2000 12:58 PM Martin Mares

Modified the neighbor cache to remember local addresses as well.

neighbor->scope now contains proper address scope which is zero (SCOPE_HOST)
for local addresses, higher (SCOPE_LINK, ..., SCOPE_UNIVERSE) for remote ones.

200accf3 03/27/2000 12:16 PM Martin Mares

if_connected() is again private.

Introduced neigh_connected_to() to serve the same purpose efficiently.

6480dd08 03/26/2000 09:31 PM Pavel Machek

I broke compilation. Sorry.

697711be 03/26/2000 06:00 PM Pavel Machek

if_connected is usefull outside of neighbour cache.

85053fce 03/01/2000 02:51 PM Martin Mares

Reimplemented neighbor cache. Now uses real hashing.

6a636392 02/29/2000 11:19 PM Martin Mares

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.

f5ad9f87 01/19/2000 11:52 AM Martin Mares

Killed a couple of bugs in the neighbor cache.

Manual disable/enable/restart/shutdown/reconfiguration of protocols
no longer hangs on loops in neighbor lists :)

476e1084 12/16/1999 01:51 PM Martin Mares

Minor cleanups.

5954dcfa 12/01/1999 11:59 AM Martin Mares

Introduced new protocol-dependent integer field `aux' to struct neighbor.

ae97b946 11/25/1999 03:35 PM Martin Mares

Added few basic commands: show status, show interfaces [summary],
show protocols (incomplete).

8edf2361 08/03/1999 07:30 PM Martin Mares

Cleaned up handling of interface patterns:

o  Parsing of interface patterns moved to generic code,
introduced this_ipatt which works similarly to this_iface.
o Interface patterns now support selection by both interface
names and primary IP addresses....
9a158361 05/06/1999 09:38 PM Martin Mares

I rewrote the interface handling code, so that it supports multiple
addresses per interface (needed for example for IPv6 support).

Visible changes:

o struct iface now contains a list of all interface addresses (represented
by struct ifa), iface->addr points to the primary address (if any)....

e35ef181 03/02/1999 06:36 PM Martin Mares

o The if_change_too_big_p change was too high-spirited. Fixed.
o Introduced if_find_by_index()
o Recognizing two types of interface updates: full update (starting with
if_start_update(), ending with if_end_update(), guaranteed to see
all existing interfaces) and a partial update (only if_update(),...

bcbd8cc3 03/02/1999 05:28 PM Martin Mares

Interface logic changes:

o Introduced IF_LINK_UP flag corresponding to real link state.
o Allowed addressless interfaces.
o IF_UP is now automatically calculated and set iff the interface
is administratively up, has link up and has an IP address assigned....

783f8b68 02/13/1999 08:55 PM Martin Mares

When protocols go down, prune the neighbor list.

4e9498cb 02/13/1999 06:42 PM Martin Mares

config->router_id works again.

31b3e1bb 02/05/1999 09:37 PM Martin Mares

Implemented new configuration/reconfiguration interface and defined protocol
state machines. Full explanation will follow soon.

77cedad1 01/12/1999 04:41 PM Pavel Machek

Keep protocol data out of iface_patt.

2d9290e9 12/04/1998 11:45 AM Pavel Machek

Rip now has configurable per-interface metric (please rewiev), and few
more configurable parameters. To do that, union was added into iface_patt.

ed45f2e1 11/29/1998 10:01 PM Martin Mares

Added functions for manipulating interface name pattern lists:

o  iface_patt_match(list, iface) -- match interface against list
o iface_patts_equal(a, b, c) -- compare whether two pattern lists are
equal or not. c(x,y) is called for comparison of protocol-dependent...
7d832907 10/19/1998 06:13 PM Martin Mares

Generate router_id automatically if possible (standard "smallest of local
regular interface addresses" rule).

Protocols should NOT rely on router_id existence -- when router ID is not
available, the router_id variable is set to zero and protocols requiring...

2a900b1b 10/17/1998 11:26 AM Martin Mares

Fixed misleading comment.

47b79306 10/17/1998 11:05 AM Martin Mares

Solve chicken-and-egg problems with protocol startup. We now queue all inactive
protocols and don't send route/interface updates to them and when they come up,
we resend the whole route/interface tables privately.

Removed the "scan interface list after protocol start" work-around.

620a355a 06/04/1998 08:30 PM Martin Mares

Now sending IF_CHANGE_CREATE when a new interface appears and IF_CHANGE_UP
only if it's really up.

4cc78c50 06/01/1998 09:41 PM Martin Mares

- Rewrote whole interface logic. Removed support for multiple addresses per
interface since it makes much trouble everywhere. Instead, we understand
secondary addresses as subinterfaces.

- In case interface addresses or basic flags change, we simply convert it...

8a48ecb8 05/26/1998 09:42 PM Martin Mares

Implemented scanning of network interfaces. Mostly very ugly code due to
terrible kernel interface (SIOGIFCONF and friends).

b53499cd 05/24/1998 02:48 PM Martin Mares

Added interface index (used only by OS-dependent code since ifindexes itself
are OS-dependent).

235562ca 05/24/1998 09:20 AM Martin Mares

Point-to-point links: added address of the opposite end.

a8b60382 05/03/1998 04:42 PM Martin Mares

Next attempt on data structures...

1feea03e 04/28/1998 02:39 PM Martin Mares

Changed #include <x/y> to #include "x/y" for our local includes, so that
gcc -MM can be used to separate them from the system ones.

Added automatic generation of dependencies.

c40e05a0 04/23/1998 02:01 PM Martin Mares

Added IP address manipulation macros, interface declarations and logging.

58ef912c 04/22/1998 12:58 PM Martin Mares

First look at data structures. More to come tomorrow...