Statistics
| Branch: | Revision:

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

History | View | Annotate | Download (17.5 KB)

# Date Author Comment
f4a60a9b 02/01/2016 09:28 AM Ondrej Zajicek (work)

Channels - explicit links between protocols and tables

The patch adds support for channels, structures connecting protocols and
tables and handling most interactions between them. The documentation is
missing yet.

23c212e7 12/21/2015 02:33 AM Ondrej Zajicek (work)

Follow-up work on integration

7fd4143e 12/20/2015 12:47 PM Jan Moskyto Matejka

Integrated address print lengths

Minor changes by Ondrej Santiago Zajicek

d44e686e 11/12/2015 01:03 AM Ondrej Zajicek (work)

Follow-up commit on integrated BIRD

Use net_addr for interface address prefixes, support net_addr in
configuration parser.

f92e6ab3 11/03/2014 07:35 PM Ondrej Zajicek

Changes order of iface/addr/neigh event hooks.

Now the order is:

Up -> iface, addr, neigh
Down -> neigh, addr, iface

It fixes the case when an iface appears, related static routes are
activated and exported to OSPF before the iface notification and
therefore forwarding addresses are not encoded in generated external...

e4d179f2 11/24/2013 11:50 AM Ondrej Zajicek

Minor changes to default router ID calculation.

cd3b02d1 04/16/2013 03:53 PM Ondrej Zajicek

Allows IP of loopback to be used in automatic router ID selection.

Thanks to Alexander V. Chernikov for the patch.

79b4e12e 12/27/2012 11:56 AM Ondrej Zajicek

Implements interface masks for choosing router id.

Router ID could be automatically determined based of subset of
ifaces/addresses specified by 'router id from' option. The patch also
does some minor changes related to router ID reconfiguration.

Thanks to Alexander V. Chernikov for most of the work.

09686693 01/23/2012 02:15 AM Ondrej Zajicek

Implements handling of BSD iface arrival/departure notifications.

Thanks to Alexander V. Chernikov for original patch.

732a0a25 01/23/2012 12:26 AM Ondrej Zajicek

Fixes problems with creating/removing/renaming ifaces on BSD.

bc092571 01/21/2012 09:56 PM Ondrej Zajicek

Fixes another minor bug in iface scan.

Iface flags are not updated in some cases.

69a8259c 01/01/2012 11:14 AM Ondrej Zajicek

Allows sticky link-local neighbors.

Allows using NEF_STICKY neighbors with link-local addresses. This is
used for static route nexthops, they can be specified like fe80::1%eth0
.

cf7f0645 12/11/2011 11:24 PM Ondrej Zajicek

Fixes problem with sticky neighbors and iface address changes.

Thanks Matthias Schiffer for the bugreport and the original patch.

a506476a 05/01/2011 04:42 PM Ondrej Zajicek

There may be more IP address records with the same IP.

52a43ae3 03/28/2011 08:46 PM Ondrej Zajicek

Minor changes in addresses.

Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not
show broadcast addr in show interfaces. Nobody cares for that.

8cab377d 12/22/2010 10:33 PM Ondrej Zajicek

Remove unnecessary check.

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,
IFF_LINK_UP -> IFF_ADMIN_UP).

5d53b807 03/19/2010 05:46 PM Ondrej Zajicek

Allow iface pattern matching code to match peer address on ptp links.

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

Temporary OSPF commit - sockets.

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

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

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

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