+2005-11-23 Paul Jakma <paul.jakma@sun.com>
+
+ * (general) fix some small compile errors, and mark several
+ functions as static.
+ * kernel_socket.c: (ifan_read) should be static.
+ fix missing brackets.
+ (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static
+ (ifam_read_mesg) make static. fix incorrect variable name.
+ (rtm_read) make static. Fix call to rib_delete_ipv4 which
+ should be rib_delete_ipv6.
+ (routing_socket,kernel_init) should be static. Void argument
+ should be specified as such, not left incomplete.
+ * rt_netlink.c: rt.h should be included, contains prototypes of
+ exported functions.
+ (kernel_delete_ipv6_old) fix sign of index argument.
+ * rt_socket.c: Exact same as previous. Also, make various
+ functions static.
+ * rtread_getmsg.c: Include zserv.h, which prototypes
+ route_read. Make static.
+ * rtread_sysctl.c: zserv.h and rt.h should be included.
+ fix definition of route_read.
+
2005-11-14 Paul Jakma <paul.jakma@sun.com>
* zebra_rib.c: (rib_process) convert to new workqueue specs and
#ifdef RTM_IFANNOUNCE
/* Interface adding function */
-int
+static int
ifan_read (struct if_announcemsghdr *ifan)
{
struct interface *ifp;
assert ( (ifp->ifindex == ifan->ifan_index)
|| (ifp->ifindex == IFINDEX_INTERNAL) );
- if ( (ifp == NULL || (ifp->ifindex == IFINDEX_INTERNAL)
- && ifan->ifan_what == IFAN_ARRIVAL)
+ if ( (ifp == NULL) || (ifp->ifindex == IFINDEX_INTERNAL)
+ && (ifan->ifan_what == IFAN_ARRIVAL) )
{
if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug ("%s: creating interface for ifindex %d, name %s",
* sysctl (from interface_list). There may or may not be sockaddrs
* present after the header.
*/
-int
+static int
ifm_read (struct if_msghdr *ifm)
{
struct interface *ifp = NULL;
}
\f
/* Address read from struct ifa_msghdr. */
-void
+static void
ifam_read_mesg (struct ifa_msghdr *ifm,
union sockunion *addr,
union sockunion *mask,
/* Be sure structure is cleared */
memset (mask, 0, sizeof (union sockunion));
memset (addr, 0, sizeof (union sockunion));
- memset (dest, 0, sizeof (union sockunion));
+ memset (brd, 0, sizeof (union sockunion));
/* We fetch each socket variable into sockunion. */
RTA_ADDR_GET (NULL, RTA_DST, ifm->ifam_addrs, pnt);
}
/* Interface's address information get. */
-int
+static int
ifam_read (struct ifa_msghdr *ifam)
{
struct interface *ifp = NULL;
}
\f
/* Interface function for reading kernel routing table information. */
-int
+static int
rtm_read_mesg (struct rt_msghdr *rtm,
union sockunion *dest,
union sockunion *mask,
return rtm->rtm_flags;
}
-void
+static void
rtm_read (struct rt_msghdr *rtm)
{
int flags;
* to specify the route really
*/
if (rtm->rtm_type == RTM_CHANGE)
- rib_delete_ipv4 (ZEBRA_ROUTE_KERNEL, zebra_flags, &p,
+ rib_delete_ipv6 (ZEBRA_ROUTE_KERNEL, zebra_flags, &p,
NULL, 0, 0);
if (rtm->rtm_type == RTM_GET
}
/* Interface function for the kernel routing table updates. Support
- for RTM_CHANGE will be needed. */
+ * for RTM_CHANGE will be needed.
+ * Exported only for rt_socket.c
+ */
int
rtm_write (int message,
union sockunion *dest,
#endif /* RTAX_MAX */
/* Kernel routing table and interface updates via routing socket. */
-int
+static int
kernel_read (struct thread *thread)
{
int sock;
}
/* Make routing socket. */
-void
-routing_socket ()
+static void
+routing_socket (void)
{
if ( zserv_privs.change (ZPRIVS_RAISE) )
zlog_err ("routing_socket: Can't raise privileges");
/* Exported interface function. This function simply calls
routing_socket (). */
void
-kernel_init ()
+kernel_init (void)
{
routing_socket ();
}
#include "privs.h"
#include "zebra/zserv.h"
+#include "zebra/rt.h"
#include "zebra/redistribute.h"
#include "zebra/interface.h"
#include "zebra/debug.h"
/* Interface lookup by netlink socket. */
int
-interface_lookup_netlink ()
+interface_lookup_netlink (void)
{
int ret;
int flags;
/* Routing table read function using netlink interface. Only called
bootstrap time. */
int
-netlink_route_read ()
+netlink_route_read (void)
{
int ret;
int flags;
/* Delete IPv6 route from the kernel. */
int
kernel_delete_ipv6_old (struct prefix_ipv6 *dest, struct in6_addr *gate,
- int index, int flags, int table)
+ unsigned int index, int flags, int table)
{
return netlink_route (RTM_DELROUTE, AF_INET6, &dest->prefix,
dest->prefixlen, gate, index, flags, table);
/* Exported interface function. This function simply calls
netlink_socket (). */
void
-kernel_init ()
+kernel_init (void)
{
unsigned long groups;
#include "zebra/debug.h"
#include "zebra/rib.h"
+#include "zebra/rt.h"
extern struct zebra_privs_t zserv_privs;
-int
-rtm_write (int message,
- union sockunion *dest,
- union sockunion *mask,
- union sockunion *gate,
- unsigned int index,
- int zebra_flags,
- int metric);
+/* kernel socket export */
+extern int rtm_write (int message, union sockunion *dest,
+ union sockunion *mask, union sockunion *gate,
+ unsigned int index, int zebra_flags, int metric);
/* Adjust netmask socket length. Return value is a adjusted sin_len
value. */
-int
+static int
sin_masklen (struct in_addr mask)
{
char *p, *lim;
}
/* Interface between zebra message and rtm message. */
-int
+static int
kernel_rtm_ipv4 (int cmd, struct prefix *p, struct rib *rib, int family)
{
#ifdef HAVE_IPV6
/* Calculate sin6_len value for netmask socket value. */
-int
+static int
sin6_masklen (struct in6_addr mask)
{
struct sockaddr_in6 sin6;
}
/* Interface between zebra message and rtm message. */
-int
+static int
kernel_rtm_ipv6 (int message, struct prefix_ipv6 *dest,
struct in6_addr *gate, int index, int flags)
{
}
/* Interface between zebra message and rtm message. */
-int
+static int
kernel_rtm_ipv6_multipath (int cmd, struct prefix *p, struct rib *rib,
int family)
{
/* Delete IPv6 route from the kernel. */
int
kernel_delete_ipv6_old (struct prefix_ipv6 *dest, struct in6_addr *gate,
- int index, int flags, int table)
+ unsigned int index, int flags, int table)
{
int route;
#include "if.h"
#include "zebra/rib.h"
+#include "zebra/zserv.h"
#include <sys/stream.h>
#include <sys/tihdr.h>
#define RT_BUFSIZ 8192
-void handle_route_entry (mib2_ipRouteEntry_t *routeEntry)
+static void
+handle_route_entry (mib2_ipRouteEntry_t *routeEntry)
{
struct prefix_ipv4 prefix;
struct in_addr tmpaddr, gateway;
&gateway, 0, 0, 0, 0);
}
-void route_read ()
+void
+route_read (void)
{
char storage[RT_BUFSIZ];
#include "memory.h"
#include "log.h"
+#include "zebra/zserv.h"
+#include "zebra/rt.h"
+
/* Kernel routing table read up by sysctl function. */
-int
-route_read ()
+void
+route_read (void)
{
caddr_t buf, end, ref;
size_t bufsiz;