| Branch: | Revision:

iof-bird-daemon / nest / iface.c @ aebe06b4

History | View | Annotate | Download (15.4 KB)

# Date Author Comment
7b7a7b43 02/22/2003 10:39 PM Martin Mares

There can be multiple primary addresses with different scopes
and only the highest scope one has IA_PRIMARY set, so report
the remaining ones as "Unselected".

a5096a1b 11/08/2000 10:46 PM Ondrej Filip

Yet another nasty bugfix of iface_patts_equal().

0639f726 11/08/2000 05:06 PM Ondrej Filip

Bugfix in iface_patts_equal.
When both patterns were NULL strcmp it sigfaulted.

5c18880e 06/05/2000 09:26 PM Martin Mares

Avoid sentence containing a colon to start new doc subsection.

3d675cdb 06/03/2000 02:40 PM Martin Mares

More documentation.

9a220cab 05/04/2000 08:52 PM Martin Mares

#ifdef out lots of debugging information.

The long resource/routing table dump printed upon startup is gone now
and if you wish to see it, just send bird SIGUSR1 or use the `debug'

93a786cb 05/04/2000 08:30 PM Martin Mares

Removed a lot of unused variables.

Please try compiling your code with --enable-warnings to see them. (The
unused parameter warnings are usually bogus, the unused variable ones
are very useful, but gcc is unable to control them separately.)

85a291ff 05/02/2000 03:21 PM Martin Mares

IPv6 address classification fixes.

287111fe 04/10/2000 10:40 AM Martin Mares

Fix stupid bug in neighbor cache.

6b9fa320 03/12/2000 09:01 PM Martin Mares

Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
several debug() calls converted to DBG.

6a9f28b0 03/12/2000 08:50 PM Martin Mares

Added tracing of interface events.

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 :)

f14a4bec 01/16/2000 11:30 PM Martin Mares

Reworked proto lists -- each proto is now in two lists: the global one
(proto_list) and per-type one (original lists). A lot of things simplified.

Implemented `disable', `enable' and `restart' CLI commands.

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.

0d3e6bce 11/30/1999 12:57 PM Martin Mares

`show interfaces' and `show protocols' works.

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

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

dce26783 08/03/1999 07:36 PM Martin Mares

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....
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....
a2697f02 05/07/1999 01:46 PM Martin Mares

Netlink support for secondary interface 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)....

b5239f22 03/26/1999 09:33 PM Martin Mares

Don't try to manipulate neighbor lists for copied interface structures.
This avoids few nasty references to free memory.

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

d1f7eab6 02/13/1999 09:58 PM Martin Mares

Parameter order for the proto->if_notify hook was different in the include
file and different in reality. Decided to use the same order as we do
for proto->rt_notify (i.e., first new value and second the old one).

3fb4ca2c 02/13/1999 08:57 PM Martin Mares

Don't send any neighbor notifications to protocols being flushed.

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.

64011f89 02/11/1999 10:45 PM Martin Mares

struct proto again contains instance name (a copy of proto->cf->name).

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

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

08c69a77 12/20/1998 02:27 PM Martin Mares

die() -> bug() where appropriate.

436965d2 12/06/1998 11:11 PM Martin Mares

Aesthetic fix for neighbor cache debug dump.

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

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.

962ba482 06/17/1998 02:36 PM Martin Mares

Use '%I' instead of dirty address printing hacks.

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.

d9f330c5 06/03/1998 08:40 AM Martin Mares

Protocol hooks. All of them may be NULL.

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