/* Maximum number of LEC interfaces (tweakable) */ #define MAX_LEC_ITF 48
typedefenum {
l_set_mac_addr,
l_del_mac_addr,
l_svc_setup,
l_addr_delete,
l_topology_change,
l_flush_complete,
l_arp_update,
l_narp_req, /* LANE2 mandates the use of this */
l_config,
l_flush_tran_id,
l_set_lecid,
l_arp_xmt,
l_rdesc_arp_xmt,
l_associate_req,
l_should_bridge /* should we bridge this MAC? */
} atmlec_msg_type;
#define ATMLEC_MSG_TYPE_MAX l_should_bridge
struct atmlec_config_msg { unsignedint maximum_unknown_frame_count; unsignedint max_unknown_frame_time; unsignedshort max_retry_count; unsignedint aging_time; unsignedint forward_delay_time; unsignedint arp_response_time; unsignedint flush_timeout; unsignedint path_switching_delay; unsignedint lane_version; /* LANE2: 1 for LANEv1, 2 for LANEv2 */ int mtu; int is_proxy;
};
struct atmlec_msg {
atmlec_msg_type type; int sizeoftlvs; /* LANE2: if != 0, tlvs follow */ union { struct { unsignedchar mac_addr[ETH_ALEN]; unsignedchar atm_addr[ATM_ESA_LEN]; unsignedint flag; /* * Topology_change flag, * remoteflag, permanent flag, * lecid, transaction id
*/ unsignedint targetless_le_arp; /* LANE2 */ unsignedint no_source_le_narp; /* LANE2 */
} normal; struct atmlec_config_msg config; struct {
__u16 lec_id; /* requestor lec_id */
__u32 tran_id; /* transaction id */ unsignedchar mac_addr[ETH_ALEN]; /* dst mac addr */ unsignedchar atm_addr[ATM_ESA_LEN]; /* reqestor ATM addr */
} proxy; /* * For mapping LE_ARP requests to responses. Filled by * zeppelin, returned by kernel. Used only when proxying
*/
} content;
} __ATM_API_ALIGN;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.