diff options
author | Robert Watson <rwatson@FreeBSD.org> | 2008-05-25 22:11:40 +0000 |
---|---|---|
committer | Robert Watson <rwatson@FreeBSD.org> | 2008-05-25 22:11:40 +0000 |
commit | e4372ceba044f2b6dbde2fabf95ce2717135d47c (patch) | |
tree | afe56b8f23cfc7884850445d064a110b6ac85c9e /usr.sbin/atm/atmarpd/atmarp_timer.c | |
parent | 727acbb41bf75aacfdc3a5555c918ab308317b9b (diff) |
Remove netatm from HEAD as it is not MPSAFE and relies on the now removed
NET_NEEDS_GIANT. netatm has been disconnected from the build for ten
months in HEAD/RELENG_7. Specifics:
- netatm include files
- netatm command line management tools
- libatm
- ATM parts in rescue and sysinstall
- sample configuration files and documents
- kernel support as a module or in NOTES
- netgraph wrapper nodes for netatm
- ctags data for netatm.
- netatm-specific device drivers.
MFC after: 3 weeks
Reviewed by: bz
Discussed with: bms, bz, harti
Notes
Notes:
svn path=/head/; revision=179308
Diffstat (limited to 'usr.sbin/atm/atmarpd/atmarp_timer.c')
-rw-r--r-- | usr.sbin/atm/atmarpd/atmarp_timer.c | 229 |
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); -} |