summaryrefslogtreecommitdiffstats
path: root/usr.sbin/atm/scspd/scsp_msg.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/atm/scspd/scsp_msg.h')
-rw-r--r--usr.sbin/atm/scspd/scsp_msg.h461
1 files changed, 0 insertions, 461 deletions
diff --git a/usr.sbin/atm/scspd/scsp_msg.h b/usr.sbin/atm/scspd/scsp_msg.h
deleted file mode 100644
index bedea8a..0000000
--- a/usr.sbin/atm/scspd/scsp_msg.h
+++ /dev/null
@@ -1,461 +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 message formats
- *
- */
-
-#ifndef _SCSP_SCSP_MSG_H
-#define _SCSP_SCSP_MSG_H
-
-
-/*
- * ATMARP constants
- */
-#define ARP_ATMFORUM 19
-#define ARP_TL_TMASK 0x40 /* Type mask */
-#define ARP_TL_NSAPA 0x00 /* Type = ATM Forum NSAPA */
-#define ARP_TL_E164 0x40 /* Type = E.164 */
-#define ARP_TL_LMASK 0x3f /* Length mask */
-
-
-/*
- * SCSP version number
- */
-#define SCSP_VER_1 1
-
-
-/*
- * SCSP message types
- */
-#define SCSP_CA_MSG 1
-#define SCSP_CSU_REQ_MSG 2
-#define SCSP_CSU_REPLY_MSG 3
-#define SCSP_CSUS_MSG 4
-#define SCSP_HELLO_MSG 5
-
-
-/*
- * SCSP Client Protocol IDs
- */
-#define SCSP_PROTO_ATMARP 1
-#define SCSP_PROTO_NHRP 2
-#define SCSP_PROTO_MARS 3
-#define SCSP_PROTO_DHCP 4
-#define SCSP_PROTO_LNNI 5
-
-
-/*
- * Extension types
- */
-#define SCSP_EXT_END 0
-#define SCSP_EXT_AUTH 1
-#define SCSP_EXT_VENDOR 2
-
-/*
- * Sequence number bounds
- */
-#define SCSP_CSA_SEQ_MIN 0x80000001
-#define SCSP_CSA_SEQ_MAX 0x7FFFFFFF
-
-
-/*
- * Sender, Receiver, or Originator ID lengths
- */
-#define SCSP_ATMARP_ID_LEN 4
-#define SCSP_NHRP_ID_LEN 4
-#define SCSP_MAX_ID_LEN 4
-
-
-/*
- * Cache Key lengths
- */
-#define SCSP_ATMARP_KEY_LEN 4
-#define SCSP_NHRP_KEY_LEN 4
-#define SCSP_MAX_KEY_LEN 4
-
-
-/*
- * Fixed header
- */
-struct scsp_nhdr {
- u_char sh_ver; /* SCSP version */
- u_char sh_type; /* Message type */
- u_short sh_len; /* Message length */
- u_short sh_checksum; /* IP checksum over message */
- u_short sh_ext_off; /* Offset of first extension */
-};
-
-
-/*
- * Mandatory common part
- */
-struct scsp_nmcp {
- u_short sm_pid; /* Protocol ID */
- u_short sm_sgid; /* Server group ID */
- u_short sm_fill_0; /* Unused */
- u_short sm_flags; /* Flags--see below */
- u_char sm_sid_len; /* Sender ID length */
- u_char sm_rid_len; /* Receiver ID length */
- u_short sm_rec_cnt; /* Number of records */
-#ifdef NOTDEF
- /* Variable length fields */
- u_char sm_sid[]; /* Sender ID (variable) */
- u_char sm_rid[]; /* Receiver ID (variable) */
-#endif
-};
-
-
-/*
- * Extensions part
- */
-struct scsp_next {
- u_short se_type; /* Extension type */
- u_short se_len; /* Length */
-#ifdef NOTDEF
- /* Variable length fields */
- u_char se_value[]; /* Extension value */
-#endif
-};
-
-
-/*
- * Cache State Advertisement record or
- * Cache State Advertisement Summary record
- */
-struct scsp_ncsa {
- u_short scs_hop_cnt; /* Hop count */
- u_short scs_len; /* Record length */
- u_char scs_ck_len; /* Cache key length */
- u_char scs_oid_len; /* Originator ID length */
- u_short scs_nfill; /* Null bit and filler */
- long scs_seq; /* Sequence number */
-#ifdef NOTDEF
- /* Variable length fields */
- u_char scs_ckey[]; /* Cache key */
- u_char scs_oid[]; /* Originator ID */
- u_char scs_proto[]; /* Protocol-specific (in CSA) */
-#endif
-};
-
-#define SCSP_CSAS_NULL 0x8000
-
-
-/*
- * Cache Alignment message
- */
-struct scsp_nca {
- long sca_seq; /* Sequence number */
- struct scsp_nmcp sca_mcp; /* Mandatory common */
-#ifdef NOTDEF
- /* Variable length fields */
- struct scsp_ncsa sca_rec[]; /* CSASs */
-#endif
-};
-
-#define SCSP_CA_M 0x8000 /* Master/Slave bit */
-#define SCSP_CA_I 0x4000 /* Initialization bit */
-#define SCSP_CA_O 0x2000 /* More bit */
-
-
-/*
- * Cache State Update Request, Cache State Update Reply, or
- * Cache State Update Solicit message
- */
-struct scsp_ncsu_msg {
- struct scsp_nmcp scr_mcp; /* Mandatory common */
-#ifdef NOTDEF
- /* Variable length fields */
- struct scsp_ncsa scr_rec[]; /* CSAs */
-#endif
-};
-
-
-/*
- * Hello message
- */
-struct scsp_nhello {
- u_short sch_hi; /* Hello interval */
- u_short sch_df; /* Dead factor */
- u_short sch_fill_0; /* Unused */
- u_short sch_fid; /* Family ID */
- struct scsp_nmcp sch_mcp; /* Mandatory common */
-#ifdef NOTDEF
- /* Variable-length fields */
- struct scsp_nrid sch_rid[]; /* Receiver IDs */
-#endif
-};
-
-
-/*
- * ATMARP-specific Cache State Advertisement record
- */
-struct scsp_atmarp_ncsa {
- u_short sa_hrd; /* Hardware type -- 0x0013 */
- u_short sa_pro; /* Protocol type -- 0x0800 */
- u_char sa_shtl; /* Src ATM addr type/len */
- u_char sa_sstl; /* Src ATM subaddr type/len */
- u_char sa_state; /* State */
- u_char sa_fill1; /* Unused */
- u_char sa_spln; /* Src proto addr type */
- u_char sa_thtl; /* Tgt ATM addr type/len */
- u_char sa_tstl; /* Tgt ATM subaddr type/len */
- u_char sa_tpln; /* Tgt proto addr len */
-#ifdef NOTDEF
- /* Variable-length fields */
- u_char sa_sha[]; /* Source ATM addr */
- u_char sa_ssa[]; /* Source ATM subaddr */
- u_char sa_spa[]; /* Source IP addr */
- u_char sa_tha[]; /* Target ATM addr */
- u_char sa_tsa[]; /* Target ATM subaddr */
- u_char sa_tpa[]; /* Target IP addr */
-#endif
-};
-
-
-/*
- * NHRP-specific Cache State Advertisement record
- */
-struct scsp_nhrp_ncsa {
- u_short sn_af; /* Address family */
- u_short sn_pro; /* NHRP protocol type */
- u_char sn_snap[5]; /* SNAP header */
- u_char sn_ver; /* NHRP version no. */
- u_short sn_flags; /* Flags */
- u_long sn_rid; /* Request ID */
- u_char sn_state; /* State */
- u_char sn_pln; /* Prefix length */
- u_short sn_fill1; /* Unused */
- u_short sn_mtu; /* MTU */
- u_short sn_hold; /* Holding time */
- u_char sn_csatl; /* Client addr type/len */
- u_char sn_csstl; /* Client subaddr type/len */
- u_char sn_cpln; /* Client proto addr len */
- u_char sn_pref; /* Preference for next hop */
-#ifdef NOTDEF
- /* Variable-length fields */
- u_char sn_csa[]; /* Client subnetwork addr */
- u_char sn_css[]; /* Client subnetwork subaddr */
- u_char sn_cpa[]; /* Client protocol addr */
-#endif
-};
-
-
-/*
- * SCSP messages in internal format
- *
- *
- * Fixed message header
- */
-struct scsp_hdr {
- u_char msg_type; /* Message type */
-};
-typedef struct scsp_hdr Scsp_hdr;
-
-
-/*
- * Sender or Receiver ID structure
- */
-struct scsp_id {
- struct scsp_id *next; /* Next ID */
- u_char id_len; /* ID length */
- u_char id[SCSP_MAX_ID_LEN]; /* ID */
-};
-typedef struct scsp_id Scsp_id;
-
-
-/*
- * Cacke Key structure
- */
-struct scsp_ckey {
- u_char key_len; /* Cache key length */
- u_char key[SCSP_MAX_KEY_LEN]; /* Cache key */
-};
-typedef struct scsp_ckey Scsp_ckey;
-
-
-/*
- * Mandatory common part
- */
-struct scsp_mcp {
- u_short pid; /* Protocol ID */
- u_short sgid; /* Server group ID */
- u_short flags; /* Flags */
- u_short rec_cnt; /* No. of records attached */
- Scsp_id sid; /* Sender ID */
- Scsp_id rid; /* Receiver ID */
-};
-typedef struct scsp_mcp Scsp_mcp;
-
-
-/*
- * Extensions part
- */
-struct scsp_ext {
- struct scsp_ext *next; /* Next extension */
- u_short type; /* Extension type */
- u_short len; /* Length */
-#ifdef NOTDEF
- /* Variable length fields */
- u_char value[]; /* Extension value */
-#endif
-};
-typedef struct scsp_ext Scsp_ext;
-
-
-/*
- * Cache State Advertisement record or
- * Cache State Advertisement Summary record
- */
-struct scsp_csa {
- struct scsp_csa *next; /* Next CSAS record */
- u_short hops; /* Hop count */
- u_char null; /* Null flag */
- u_long seq; /* CSA seq. no. */
- Scsp_ckey key; /* Cache key */
- Scsp_id oid; /* Originator ID */
- int trans_ct; /* No. of times CSA sent */
- struct scsp_atmarp_csa *atmarp_data; /* ATMARP data */
-#ifdef NOTDEF
- struct scsp_nhrp_csa *nhrp_data; /* NHRP data */
-#endif
-};
-typedef struct scsp_csa Scsp_csa;
-
-/*
- * Macro to free a CSA and any associated protocol-specific data
- */
-#define SCSP_FREE_CSA(c) \
-{ \
- if ((c)->atmarp_data) \
- free((c)->atmarp_data); \
- free((c)); \
-}
-
-
-/*
- * Cache Alignment message
- */
-struct scsp_ca {
- long ca_seq; /* CA msg sequence no. */
- u_char ca_m; /* Master/slave bit */
- u_char ca_i; /* Initialization bit */
- u_char ca_o; /* More bit */
- Scsp_mcp ca_mcp; /* Mandatory common part */
- Scsp_csa *ca_csa_rec; /* Ptr. to CSAS records */
-};
-typedef struct scsp_ca Scsp_ca;
-
-
-/*
- * Cache State Update Request, Cache State Update Reply, or
- * Cache State Update Solicit message
- */
-struct scsp_csu_msg {
- Scsp_mcp csu_mcp; /* Mandatory common part */
- Scsp_csa *csu_csa_rec; /* Ptr. to CSA records */
-};
-typedef struct scsp_csu_msg Scsp_csu_msg;
-
-
-/*
- * Hello message
- */
-struct scsp_hello {
- u_short hello_int; /* Hello interval */
- u_short dead_factor; /* When is DCS dead? */
- u_short family_id; /* Family ID */
- Scsp_mcp hello_mcp; /* Mandatory common part */
-};
-typedef struct scsp_hello Scsp_hello;
-
-
-/*
- * NHRP-specific Cache State Advertisement record
- */
-struct scsp_nhrp_csa {
- u_char req_id; /* Request ID */
- u_char state; /* State */
- u_char pref_len; /* Prefix length */
- u_short flags; /* See below */
- u_short mtu; /* Maximim transmission unit */
- u_short hold_time; /* Entry holding time */
- u_char caddr_tlen; /* Client addr type/length */
- u_char csaddr_tlen; /* Client subaddr type/length */
- u_char cproto_len; /* Client proto addr length */
- u_char pref; /* Preference */
- Atm_addr caddr; /* Client address */
- Atm_addr csaddr; /* Client subaddress */
- struct in_addr cproto_addr; /* Client protocol address */
-};
-typedef struct scsp_nhrp Scsp_nhrp;
-
-#define SCSP_NHRP_UNIQ 0x8000
-#define SCSP_NHRP_ARP 0x4000
-
-
-/*
- * ATMARP-specific Cache State Advertisement record
- */
-struct scsp_atmarp_csa {
- u_char sa_state; /* State */
- Atm_addr sa_sha; /* Source ATM addr */
- Atm_addr sa_ssa; /* Source ATM subaddr */
- struct in_addr sa_spa; /* Source IP addr */
- Atm_addr sa_tha; /* Target ATM addr */
- Atm_addr sa_tsa; /* Target ATM subaddr */
- struct in_addr sa_tpa; /* Target IP addr */
-};
-typedef struct scsp_atmarp_csa Scsp_atmarp_csa;
-
-
-/*
- * SCSP message
- */
-struct scsp_msg {
- Scsp_hdr sc_hdr;
- union {
- Scsp_ca *sc_u_ca;
- Scsp_csu_msg *sc_u_csu_msg;
- Scsp_hello *sc_u_hello;
- } sc_msg_u;
- Scsp_ext *sc_ext;
-};
-typedef struct scsp_msg Scsp_msg;
-
-#define sc_msg_type sc_hdr.msg_type
-#define sc_ca sc_msg_u.sc_u_ca
-#define sc_csu_msg sc_msg_u.sc_u_csu_msg
-#define sc_hello sc_msg_u.sc_u_hello
-
-#endif /* _SCSP_SCSP_MSG_H */
OpenPOWER on IntegriCloud