aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/atm/atmarpd/atmarp_timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/atm/atmarpd/atmarp_timer.c')
-rw-r--r--usr.sbin/atm/atmarpd/atmarp_timer.c229
1 files changed, 0 insertions, 229 deletions
diff --git a/usr.sbin/atm/atmarpd/atmarp_timer.c b/usr.sbin/atm/atmarpd/atmarp_timer.c
deleted file mode 100644
index c1c6cd95c6d8..000000000000
--- a/usr.sbin/atm/atmarpd/atmarp_timer.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- *
- * ===================================
- * HARP | Host ATM Research Platform
- * ===================================
- *
- *
- * This Host ATM Research Platform ("HARP") file (the "Software") is
- * made available by Network Computing Services, Inc. ("NetworkCS")
- * "AS IS". NetworkCS does not provide maintenance, improvements or
- * support of any kind.
- *
- * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
- * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
- * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
- * In no event shall NetworkCS be responsible for any damages, including
- * but not limited to consequential damages, arising from or relating to
- * any use of the Software or related support.
- *
- * Copyright 1994-1998 Network Computing Services, Inc.
- *
- * Copies of this Software may be made, however, the above copyright
- * notice must be reproduced on all copies.
- *
- * @(#) $FreeBSD$
- *
- */
-
-/*
- * Server Cache Synchronization Protocol (SCSP) Support
- * ----------------------------------------------------
- *
- * SCSP-ATMARP server interface: timer routines
- *
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <net/if.h>
-#include <netinet/in.h>
-#include <netatm/port.h>
-#include <netatm/queue.h>
-#include <netatm/atm.h>
-#include <netatm/atm_if.h>
-#include <netatm/atm_sap.h>
-#include <netatm/atm_sys.h>
-#include <netatm/atm_ioctl.h>
-
-#include <errno.h>
-#include <libatm.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <syslog.h>
-
-#include "../scspd/scsp_msg.h"
-#include "../scspd/scsp_if.h"
-#include "../scspd/scsp_var.h"
-#include "atmarp_var.h"
-
-#ifndef lint
-__RCSID("@(#) $FreeBSD$");
-#endif
-
-
-/*
- * Cache update timeout processing
- *
- * When the cache update timer fires, we read the cache from the
- * kernel, update the internal cache, and restart the timer.
- *
- * Arguments:
- * tp pointer to a HARP timer block
- *
- * Returns:
- * None
- *
- */
-void
-atmarp_cache_timeout(tp)
- Harp_timer *tp;
-{
- Atmarp_intf *aip;
-
- /*
- * Verify the status of all configured interfaces
- */
- for (aip = atmarp_intf_head; aip; aip = aip->ai_next) {
- if (atmarp_if_ready(aip)) {
- /*
- * The interface is up but we don't have
- * a connection to SCSP--make a connection
- */
- if (aip->ai_state == AI_STATE_NULL)
- (void)atmarp_scsp_connect(aip);
- } else {
- /*
- * The interface is down--disconnect from SCSP
- */
- if (aip->ai_state != AI_STATE_NULL)
- (void)atmarp_scsp_disconnect(aip);
- }
- }
-
- /*
- * Read the cache from the kernel
- */
- atmarp_get_updated_cache();
-
- /*
- * Restart the cache update timer
- */
- HARP_TIMER(tp, ATMARP_CACHE_INTERVAL, atmarp_cache_timeout);
-}
-
-
-/*
- * Permanent cache entry timer processing
- *
- * Permanent cache entries (entries that are administratively added
- * and the entry for the server itself) don't ever get refreshed, so
- * we broadcast updates for them every 10 minutes so they won't get
- * deleted from the remote servers' caches
- *
- * Arguments:
- * tp pointer to a HARP timer block
- *
- * Returns:
- * None
- *
- */
-void
-atmarp_perm_timeout(tp)
- Harp_timer *tp;
-{
- int i, rc;
- Atmarp_intf *aip;
- Atmarp *aap;
-
- /*
- * Loop through all interfaces
- */
- for (aip = atmarp_intf_head; aip; aip = aip->ai_next) {
- /*
- * Loop through the interface's cache
- */
- for (i = 0; i < ATMARP_HASHSIZ; i++) {
- for (aap = aip->ai_arptbl[i]; aap;
- aap = aap->aa_next) {
- /*
- * Find and update permanent entries
- */
- if ((aap->aa_flags & (AAF_PERM |
- AAF_SERVER)) != 0) {
- aap->aa_seq++;
- rc = atmarp_scsp_update(aap,
- SCSP_ASTATE_UPD);
- }
- }
- }
- }
-
- /*
- * Restart the permanent cache entry timer
- */
- HARP_TIMER(tp, ATMARP_PERM_INTERVAL, atmarp_perm_timeout);
-}
-
-
-/*
- * Keepalive timeout processing
- *
- * When the keepalive timer fires, we send a NOP to SCSP. This
- * will help us detect a broken connection.
- *
- * Arguments:
- * tp pointer to a HARP timer block
- *
- * Returns:
- * None
- *
- */
-void
-atmarp_keepalive_timeout(tp)
- Harp_timer *tp;
-{
- Atmarp_intf *aip;
- Scsp_if_msg *msg;
-
- /*
- * Back off to start of DCS entry
- */
- aip = (Atmarp_intf *) ((caddr_t)tp -
- (int)(&((Atmarp_intf *)0)->ai_keepalive_t));
-
- /*
- * Get a message buffer
- *
- * XXX arr: Previously, the check on the returned value from
- * the memory allocation routine was checked and _nothing_
- * resulted from the check (which would cause problems since
- * the bzero() of NULL is not fun). At the moment, I am having
- * it soley return -- this should be reviewed again soon.
- */
- msg = calloc(1, sizeof(Scsp_if_msg));
- if (msg == NULL)
- return;
-
- /*
- * Build a NOP message
- */
- msg->si_type = SCSP_NOP_REQ;
- msg->si_proto = SCSP_PROTO_ATMARP;
- msg->si_len = sizeof(Scsp_if_msg_hdr);
-
- /*
- * Send the message to SCSP
- */
- (void)atmarp_scsp_out(aip, (char *)msg, msg->si_len);
- free(msg);
-
- /*
- * Restart the keepalive timer
- */
- HARP_TIMER(&aip->ai_keepalive_t, ATMARP_KEEPALIVE_INTERVAL,
- atmarp_keepalive_timeout);
-}