Age | Commit message (Collapse) | Author |
|
(at Technical University of Madrid as part of Euro6ix Project)
Enhanced Route Server functionality and Route-Maps:
* bgpd/bgpd.h: Modified 'struct peer' and 'struct bgp_filter' to
support rs-clients. A 'struct bgp_table *rib' has been added to the
first (to mantain a separated RIB for each rs-client) and two new
route-maps have been added to the last (for import/export policies).
Added the following #defines: RMAP_{IN|OUT|IMPORT|EXPORT|MAX},
PEER_RMAP_TYPE_{IMPORT|EXPORT} and BGP_CLEAR_SOFT_RSCLIENT.
* bgpd/bgpd.c: Modified the functions that create/delete/etc peers in
order to consider the new fields included in 'struct peer' for
supporting rs-clients, i.e. the import/export route-maps and the
'struct bgp_table'.
* bgpd/bgp_route.{ch}: Modified several functions related with
receiving/sending announces in order to support the new Route Server
capabilities.
Function 'bgp_process' has been reorganized, creating an auxiliar
function for best path selection ('bgp_best_selection').
Modified 'bgp_show' and 'bgp_show_route' for displaying information
about any RIB (and not only the main bgp RIB).
Added commands for displaying information about RS-clients RIBs:
'show bgp rsclient (A.B.C.D|X:X::X:X)', 'show bgp rsclient
(A.B.C.D|X:X::X:X) X:X::X:X/M', etc
* bgpd/bgp_table.{ch}: The structure 'struct bgp_table' now has two
new fields: type (which can take the values BGP_TABLE_{MAIN|RSCLIENT})
and 'void *owner' which points to 'struct bgp' or 'struct peer' which
owns the table.
When creating a new bgp_table by default 'type=BGP_TABLE_MAIN' is set.
* bgpd/bgp_vty.c: The commands 'neighbor ... route-server-client' and
'no neighbor ... route-server-client' now not only set/unset the flag
PEER_FLAG_RSERVER_CLIENT, but they create/destroy the 'struct
bgp_table' of the peer. Special actions are taken for peer_groups.
Command 'neighbor ... route-map WORD (in|out)' now also supports two
new kinds of route-map: 'import' and 'export'.
Added commands 'clear bgp * rsclient', etc. These commands allow a new
kind of soft_reconfig which affects only the RIB of the specified
RS-client.
Added commands 'show bgp rsclient summary', etc which display a
summary of the rs-clients configured for the corresponding address
family.
* bgpd/bgp_routemap.c: A new match statement is available,
'match peer (A.B.C.D|X:X::X:X)'. This statement can only be used in
import/export route-maps, and it matches when the peer who announces
(when used in an import route-map) or is going to receive (when used
in an export route-map) the route is the same than the one specified
in the statement.
For peer-groups the statement matches if the specified peer is member
of the peer-group.
A special version of the command, 'match peer local', matches with
routes originated by the Route Server (defined with 'network ...',
redistributed routes and default-originate).
* lib/routemap.{ch}: Added a new clause 'call NAME' for use in
route-maps. It jumps into the specified route-map and when it returns
the first route-map ends if the called RM returns DENY_MATCH, or
continues in other case.
|
|
* Makefile.am: extract.pl isnt in srcdir, it's always in the
builddir.
* extract.pl.in: match on end of filenames, filename could contain
various preamble due to out of tree builds.
|
|
to ensure it's pulled in. (snapshot host depends on that script).
|
|
* ospf_packet.c: Fix bugzilla #107
(ospf_packet_max) get rid of the magic 88 constant
(ospf_swab_iph_ton) new function. set ip header to network order,
taking BSDisms into account.
(ospf_swab_iph_toh) the inverse.
(ospf_write) Add support for IP fragmentation, will only work on
linux though, other kernels make it impossible. get rid of the
magic 4 constant.
(ospf_make_ls_upd) Bound check to end of stream, not to
interface mtu.
(ospf_ls_upd_packet_new) New function, allocate upd packet
taking oversized LSAs into account.
(ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
rather than statically allocating mtu sized packet buffer, which
actually was wrong - it didnt take ip header into account, which
should not be included in packet buffer.
(ospf_ls_upd_send_queue_event) minor tweaks and remove
TODO comment.
|
|
* ospfd.texi: OSPF MD5 auth requires stable time.
|
|
|
|
|
|
|
|
|
|
need to be prefixed with $(top_srcdir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Makefile.am (EXTRA_DIST): New - just has EXTRA_DIST. (Using a
directory in EXTRA_DIST in the parent was causing 'make dist' to fail.)
(Now m4/Makefile* is first-class and included from top level.)
|
|
* Rename scripts to *.sh.in, and use autoconf-style substitution
for prefix and localstatedir.
|
|
support of more significant changes not in this commit. The last item
in the ChangeLog below may be needed for p2mp to work correctly.
2004-08-31 David Wiggins <dwiggins@bbn.com>
* hash.c (hash_iterate): Save next pointer before calling
procedure, so that iteration works even if the called procedure
deletes the hash backet.
* linklist.h (listtail): new macro, not yet used.
2004-08-31 David Wiggins <dwiggins@bbn.com>
* ospf_spf.c (ospf_spf_calculate): Many more comments and debug
print statements. New function ospf_vertex_dump used in debugging.
2004-08-31 David Wiggins <dwiggins@bbn.com>
* ospf_spf.h (struct vertex): Comments for flags and structure members.
2004-08-31 David Wiggins <dwiggins@bbn.com>
* ospf_route.c: When finding an alternate route, log cost as well.
2004-08-31 David Wiggins <dwiggins@bbn.com>
* ospf_interface.c (ospf_lookup_if_params): Initialize af in
struct prefix allocated on stack.
2004-08-31 David Wiggins <dwiggins@bbn.com>
* ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
acks to AllSPFRouters, rather than All-DR.
|
|
|
|
daemon to change netlink receive buffer size.
|
|
|
|
|
|
|
|
|
|
conflict the ones in lib/sigevent.c. Fixes compiling with --disable-shared.
|
|
pkgsrc (NetBSD and others). Contributed by Miles Nordin.
|
|
|
|
|
|
* ospf_spf.c (ospf_nexthop_calculation): Initialize address family
in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
calculation.
|
|
|
|
|
|
|
|
|
|
Ohara.
|
|
Thanks to Hasso for code review.
|
|
* ipforward_sysctl.c (mib_ipv6): Use size_t for len, per
sysctl(3), rather than int. (Needed on NetBSD/alpha to display
forwarding status correctly.)
|
|
|
|
* ospf_packet.c (ospf_recv_packet): adjust size declaration of
buffer used to get interface index so that it compiles on other
than Linux and includes the required alignment space. Probably
this was only working on sparc/sparc64 because most of sockaddr_dl
was not being written.
|
|
* sockopt.h: Define method-independent macro for callers of
get_ifindex to use for cmsg length.
|
|
|
|
|
|
Maybe remove it at all?
|
|
* zebra.h: add MAX and MIN defines (eg for ospf6d)
|
|
reorganization of this spagetti will follow soon.
|
|
|
|
* zebra/zserv.c: (zebra_init) remove implicit ip forward enabling
* NEWS: warn about forwarding change
|
|
|
|
ospf6_lsdb prototype declaration from ospf6_lsa.h. Report sent to Yasuhiro
Ohara as well.
|
|
* irdp_main.c: update to match sockopt renames.
* irdp_packet.c: include sockopt.h and update to match sockopt
renames.
|