69 lines
2.3 KiB
C
69 lines
2.3 KiB
C
/* Copyright (C) 1999 Heikki Vatiainen hessu@cs.tut.fi */
|
|
|
|
#ifndef LEC_H
|
|
#define LEC_H
|
|
|
|
#include "conn.h"
|
|
|
|
/*
|
|
* LANE client configuration and operation values.
|
|
* These are in host byte order since there are
|
|
* some values coming from network and some values
|
|
* which are used by the host only
|
|
*/
|
|
struct lec_params {
|
|
unsigned char c1n_my_atm_addr[ATM_ESA_LEN];
|
|
uint8_t c2_lan_type;
|
|
uint8_t c3_max_frame_size;
|
|
int c4_proxy_flag;
|
|
char c5_elan_name[32 + 1];
|
|
char c6_mac_addr[ETH_ALEN];
|
|
int c7_ctrl_timeout;
|
|
int c7i_initial_ctrl_timeout;
|
|
int c7x_timeout_multiplier;
|
|
int c7c_current_timeout; /* sum of c7i and c7x, LANEv2 5.3.1.7 */
|
|
unsigned char c9_les_atm_addr[ATM_ESA_LEN];
|
|
int c10_max_unknown_frames;
|
|
int c11_max_unknown_frame_time;
|
|
int c12_vcc_timeout;
|
|
int c13_max_retry_count;
|
|
uint16_t c14_lec_id;
|
|
int c17_aging_time;
|
|
int c18_forward_delay_time;
|
|
int c19_topology_change;
|
|
int c20_le_arp_response_time;
|
|
int c21_flush_timeout;
|
|
int c22_path_switching_delay;
|
|
/* LANE2 variables follow */
|
|
int c29_v2_capable;
|
|
uint32_t c31_elan_id;
|
|
unsigned char c35_preferred_les[ATM_ESA_LEN];
|
|
int c35_contains_address;
|
|
int c37_min_reconfig_delay; /* milliseconds */
|
|
int c38_max_reconfig_delay; /* milliseconds */
|
|
|
|
/* other stuff */
|
|
int itf_num; /* 1 for lec1 and so forth */
|
|
int sizeoftlvs; /* total size of TLVs associated with this LEC */
|
|
int num_tlvs; /* number of the TLVs */
|
|
unsigned char *tlvs; /* the TLVs */
|
|
char foreId[255];
|
|
|
|
/* connections to and from LES/BUS plus listen sockets */
|
|
Conn_t *kernel;
|
|
Conn_t *ctrl_direct;
|
|
Conn_t *ctrl_listen; /* Closed when join phase is over */
|
|
Conn_t *ctrl_dist;
|
|
Conn_t *mcast_send; /* LANEv2 calls this Default Mcast Send VCC */
|
|
Conn_t *mcast_listen;
|
|
Conn_t *data_listen;
|
|
};
|
|
|
|
extern struct lec_params lec_params;
|
|
|
|
#define LAN_TYPE_UNSPEC 0x00 /* Implies Ethernet/IEEE 802.3 */
|
|
#define LAN_TYPE_8023 0x01 /* IEEE 802.3 */
|
|
#define LAN_TYPE_8025 0x02 /* IEEE 802.5 */
|
|
|
|
#endif /* LEC_H */
|