Source
* Within the period of time defined by this variable, the client will send
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Lan Emulation client header file
*
* Marko Kiiskila <mkiiskila@yahoo.com>
*/
struct lecdatahdr_8023 {
__be16 le_header;
unsigned char h_dest[ETH_ALEN];
unsigned char h_source[ETH_ALEN];
__be16 h_type;
};
struct lecdatahdr_8025 {
__be16 le_header;
unsigned char ac_pad;
unsigned char fc;
unsigned char h_dest[ETH_ALEN];
unsigned char h_source[ETH_ALEN];
};
/*
* 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 {
int (*resolve) (struct net_device *dev, const u8 *dst_mac, int force,
u8 **tlvs, u32 *sizeoftlvs);
int (*associate_req) (struct net_device *dev, const u8 *lan_dst,
const u8 *tlvs, u32 sizeoftlvs);
void (*associate_indicator) (struct net_device *dev, const u8 *mac_addr,
const u8 *tlvs, u32 sizeoftlvs);
};
/*
* 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.