/* SPDX-License-Identifier: GPL-2.0 */ /* * Lan Emulation client header file * * Marko Kiiskila <[email protected]> */ #ifndef _LEC_H_ #define _LEC_H_ #include <linux/atmdev.h> #include <linux/netdevice.h> #include <linux/atmlec.h> #define LEC_HEADER_LEN … struct lecdatahdr_8023 { … }; struct lecdatahdr_8025 { … }; #define LEC_MINIMUM_8023_SIZE … #define LEC_MINIMUM_8025_SIZE … /* * Operations that LANE2 capable device can do. Two first functions * are used to make the device do things. See spec 3.1.3 and 3.1.4. * * The third function is intended for the MPOA component sitting on * top of the LANE device. The MPOA component assigns it's own function * to (*associate_indicator)() and the LANE device will use that * function to tell about TLVs it sees floating through. * */ struct lane2_ops { … }; /* * ATM LAN Emulation supports both LLC & Dix Ethernet EtherType * frames. * * 1. Dix Ethernet EtherType frames encoded by placing EtherType * field in h_type field. Data follows immediately after header. * 2. LLC Data frames whose total length, including LLC field and data, * but not padding required to meet the minimum data frame length, * is less than ETH_P_802_3_MIN MUST be encoded by placing that length * in the h_type field. The LLC field follows header immediately. * 3. LLC data frames longer than this maximum MUST be encoded by placing * the value 0 in the h_type field. * */ /* Hash table size */ #define LEC_ARP_TABLE_SIZE … struct lec_priv { … }; struct lec_vcc_priv { … }; #define LEC_VCC_PRIV(vcc) … #endif /* _LEC_H_ */