Age | Commit message (Collapse) | Author |
|
* sockopt.c: (setsockopt_pktinfo) remove, its unused.
|
|
* thread.c: Use XCALLOC and sizeof the type, not the pointer.
|
|
* smux.c: fix int to size_t compile warnings
|
|
* memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS
* thread.c: Update stats and funcname alloc/free to use previous
specific memory type defines
|
|
* keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
|
|
* vty.c: As per Andrew's suggestions..
(vty_serv_un) remove flags.
(vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
|
|
* vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
to vtysh_accept, where sock is the actual fd we wanted to set to
O_NONBLOCK, ie the /connected/ vtysh unix socket.
|
|
|
|
* zebra.h: reserve ZEBRA_ROUTE_HSLS
|
|
|
|
* sockopt.h: Fix elif that should be an else.
|
|
* command.h: Cleanup the defines a bit, add helper defines and
collapse all defines to use those. Add an attribute field to
cmd_element to support, eg hidden or deprecated commands, add
defun defines for such. All that's left to do is add logic
to command.c to check these attributes... ;)
|
|
* sockopt.c: (setsockopt_pktinfo) unexported
* sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
neither IP_RECVIF nor IP_PKTINFO (eg openbsd).
|
|
* sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not
-1.
|
|
|
|
ripd might need some more testing though.
|
|
initializes connection, and "no smux peer" command terminates it. Fixes
bugzilla #47 and #112.
|
|
|
|
* (global) more const'ification.
* sockunion.c: (sockunion_su2str) buffer should be sized
SU_ADDRSTRLEN.
(sockunion_log) do not return stack variables, strdup buf before
return.
* vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied
values against ULONG_MAX is daft, when caller probably has passed
a type that can not hold ULONG_MAX. use a temporary long instead.
Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make
VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
|
|
|
|
* if.h: mtu's should be unsigned.
* routemap.{c,h}: const char updates
* smux.{c,h}: ditto
|
|
* thread.c: (funcname_thread_add_timer)
(funcname_thread_add_timer_msec) Fix mistakes from last change.
Pointed out by Liu Xin in [quagga-dev 1609].
|
|
* version.h.in: (pid_output*) add const qualifier.
* command.h: Change DEFUN func to take const char *[] rather
than char **, to begin process of fixing compile warnings in lib/.
Nearly all other changes in this commit follow from this change.
* buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
const void * and cast an automatic const char *p to it.
(buffer_putstr) add const
* command.c: (zencrypt) const qualifier
(cmd_execute_command_real) ditto
(cmd_execute_command_strict) ditto
(config_log_file) ditto.
Fix leak of getcwd() returned string.
* memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
* distribute.{c,h}: Update with const qualifier.
(distribute_free) use MTYPE_DISTRIBUTE_IFNAME
(distribute_lookup) Cast to char *, note that it's ok.
(distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
(distribute_get) Cast to char *, note that it's ok.
* filter.c: Update with const qualifier.
* if.{c,h}: ditto.
* if_rmap.{c,h}: ditto.
(if_rmap_lookup) Cast to char *, note that it's ok.
(if_rmap_get) ditto.
* log.{c,h}: Update with const qualifier.
* plist.{c,h}: ditto.
* routemap.{c,h}: ditto.
* smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
* sockopt.c: (getsockopt_cmsg_data) add return for error case.
* vty.c: Update with const qualifier.
|
|
* version.h.in: (pid_output*) add const qualifier.
|
|
|
|
* version.h.in: print_version declaration is here, not in autoconf
generated version.h.
|
|
|
|
|
|
added to strings and a lot of int -> unsigned int changes.
|
|
* thread.c: (funcname_thread_add_timer_timeval) new function, add
timer at specified timeval.
(funcname_thread_add_timer) use funcname_thread_add_timer_timeval.
(funcname_thread_add_timer_msec) ditto
|
|
* sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh},
functions to change byte order between system IP_HDRINCL order
and host order.
|
|
|
|
adding FIXME's.
|
|
|
|
|
|
|
|
* zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd
to try to fragment oversized packets. Enabled only for Linux.
Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order,
to consolidate various ad-hoc platform defines for same thing.
|
|
|
|
|
|
* sockopt.c: Add missing bracket
|
|
* ripngd/ripngd.c: move setsockopt_so_recvbuf to lib.
* lib/sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd.
* ripd/ripd.c: set receive buffer to a decent size, some systems
have low defaults. Problem noted and fix suggested by Stephan
Schweizer in [zebra 20967].
|
|
* configure.ac: capitalise the package name. autoconf lowercases
it for PACKAGE_TARNAME.
* lib/command.c: Update the copyright string in the default motd.
|
|
(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.
|
|
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.
|
|
|
|
Thanks to Hasso for code review.
|
|
* sockopt.h: Define method-independent macro for callers of
get_ifindex to use for cmsg length.
|
|
* zebra.h: add MAX and MIN defines (eg for ospf6d)
|
|
2004-08-19 Paul Jakma <paul@dishone.st>
* sockopt.c: include sockopt.h
rename some of the _pktinfo_ functions to _ifindex, where that is
their purpose.
(getsockopt_ipv6_pktinfo_ifindex) renamed to
getsockopt_ipv6_ifindex.
(setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex
(setsockopt_pktinfo) update with previous and add comment re
AF_INET portability.
(setsockopt_ifindex) generic ifindex function ala
setsockopt_pktinfo.
(getsockopt_ipv4_pktinfo_ifindex) renamed to
getsockopt_ipv4_ifindex.
(getsockopt_ipv4_ifindex) rejiggling to reduce repeated
ifdef/elses. pktinfo case forgot to set ifindex.
(getsockopt_pktinfo_ifindex) renamed to
getsockopt_ifindex. update some calls to renamed functions.
* sockopt.h: Update renamed exported functions
Rename the CMSG_SIZE macros to IFINDEX.
Guard IPv4 PKTINFO in a conditional define.
|
|
* vty.c: (vty_serv_un) set unix vty socket to nonblocking
to prevent inadvertent blocking of daemons by use of
vtysh. TODO: disentangle manual paging from the buffer_write
path so that unix vty can use this path too and be reliable.
|