| Branch: | Revision:

iof-bird-daemon / nest / iface.h @ 7e95c05d

History | View | Annotate | Download (4.55 KB)

# Date Author Comment
01427d3f 11/19/2010 05:03 PM Ondrej Zajicek

Remove some runaway debug messages and typos.

fe181e7c 11/11/2010 11:24 AM Ondrej Zajicek

Adds support for iface link check to static protocol.

f25cb0ef 11/11/2010 09:03 AM Ondrej Zajicek

Implements link state detection.

Also changes some symbol names (IFF_ADMIN_DOWN -> IFF_SHUTDOWN,

0aad2b92 03/14/2010 03:36 PM Ondrej Zajicek

Temporary OSPF commit - sockets.

54305181 03/11/2010 05:55 PM Ondrej Zajicek

Merge branch 'new' into socket2

e7b76b97 03/11/2010 05:07 PM Ondrej Zajicek

Temoporary OSPF commit - socket changes.

53434e44 02/27/2010 03:00 PM Ondrej Zajicek

Better flushing of interfaces.

When device protocol goes down, interfaces should be flushed
asynchronously (in the same way like routes from protocols are flushed),
when protocol goes to DOWN/HUNGRY.

This fixes the problem with static routes staying in kernel routing...

ff2857b0 02/26/2010 09:55 AM Ondrej Zajicek

Many changes in (mainly) kernel syncers.

- BSD kernel syncer is now self-conscious and can learn alien routes
- important bugfix in BSD kernel syncer (crash after protocol restart)
- many minor changes and bugfixes in kernel syncers and neighbor cache
- direct protocol does not generate host and link local routes...

be862406 09/08/2009 11:45 AM Ondrej Zajicek

Temporary OSPFv3 development commit.

Finally, it is working.

874b8685 05/29/2009 08:49 PM Ondrej Zajicek

Implements primary address selection base on 'primary' option.

20e94fb8 05/06/2009 08:02 PM Ondrej Zajicek

A change in OSPF and RIP interface patterns.

Allows to add more interface patterns to one common 'options'
section like:

interface "eth3", "eth4" { options common to eth3 and eth4 };

Also removes undocumented and unnecessary ability to specify
more interface patterns with different 'options' sections:...

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...