Blame view
net/atm/lec_arpc.h
2.95 KB
b24413180 License cleanup: ... |
1 |
/* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4c Linux-2.6.12-rc2 |
2 3 |
/* * Lec arp cache |
1da177e4c Linux-2.6.12-rc2 |
4 |
* |
1c9d3e72a [ATM]: [lec] head... |
5 |
* Marko Kiiskila <mkiiskila@yahoo.com> |
1da177e4c Linux-2.6.12-rc2 |
6 |
*/ |
1c9d3e72a [ATM]: [lec] head... |
7 8 |
#ifndef _LEC_ARP_H_ #define _LEC_ARP_H_ |
1da177e4c Linux-2.6.12-rc2 |
9 10 11 12 13 14 |
#include <linux/atm.h> #include <linux/atmdev.h> #include <linux/if_ether.h> #include <linux/atmlec.h> struct lec_arp_table { |
d0732f649 [ATM]: [lec] conv... |
15 |
struct hlist_node next; /* Linked entry list */ |
1c9d3e72a [ATM]: [lec] head... |
16 17 18 19 20 |
unsigned char atm_addr[ATM_ESA_LEN]; /* Atm address */ unsigned char mac_addr[ETH_ALEN]; /* Mac address */ int is_rdesc; /* Mac address is a route descriptor */ struct atm_vcc *vcc; /* Vcc this entry is attached */ struct atm_vcc *recv_vcc; /* Vcc we receive data from */ |
1da177e4c Linux-2.6.12-rc2 |
21 |
|
1c9d3e72a [ATM]: [lec] head... |
22 23 24 25 26 |
void (*old_push) (struct atm_vcc *vcc, struct sk_buff *skb); /* Push that leads to daemon */ void (*old_recv_push) (struct atm_vcc *vcc, struct sk_buff *skb); /* Push that leads to daemon */ |
1c9d3e72a [ATM]: [lec] head... |
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
unsigned long last_used; /* For expiry */ unsigned long timestamp; /* Used for various timestamping things: * 1. FLUSH started * (status=ESI_FLUSH_PENDING) * 2. Counting to * max_unknown_frame_time * (status=ESI_ARP_PENDING|| * status=ESI_VC_PENDING) */ unsigned char no_tries; /* No of times arp retry has been tried */ unsigned char status; /* Status of this entry */ unsigned short flags; /* Flags for this entry */ unsigned short packets_flooded; /* Data packets flooded */ unsigned long flush_tran_id; /* Transaction id in flush protocol */ struct timer_list timer; /* Arping timer */ struct lec_priv *priv; /* Pointer back */ u8 *tlvs; u32 sizeoftlvs; /* * LANE2: Each MAC address can have TLVs * associated with it. sizeoftlvs tells the * the length of the tlvs array */ struct sk_buff_head tx_wait; /* wait queue for outgoing packets */ |
788936641 net, atm: convert... |
50 |
refcount_t usage; /* usage count */ |
1da177e4c Linux-2.6.12-rc2 |
51 |
}; |
1c9d3e72a [ATM]: [lec] head... |
52 53 54 55 56 57 58 59 |
/* * LANE2: Template tlv struct for accessing * the tlvs in the lec_arp_table->tlvs array */ struct tlv { u32 type; u8 length; u8 value[255]; |
1da177e4c Linux-2.6.12-rc2 |
60 61 62 |
}; /* Status fields */ |
1c9d3e72a [ATM]: [lec] head... |
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
#define ESI_UNKNOWN 0 /* * Next packet sent to this mac address * causes ARP-request to be sent */ #define ESI_ARP_PENDING 1 /* * There is no ATM address associated with this * 48-bit address. The LE-ARP protocol is in * progress. */ #define ESI_VC_PENDING 2 /* * There is a valid ATM address associated with * this 48-bit address but there is no VC set * up to that ATM address. The signaling * protocol is in process. */ #define ESI_FLUSH_PENDING 4 /* * The LEC has been notified of the FLUSH_START * status and it is assumed that the flush * protocol is in process. */ #define ESI_FORWARD_DIRECT 5 /* * Either the Path Switching Delay (C22) has * elapsed or the LEC has notified the Mapping * that the flush protocol has completed. In * either case, it is safe to forward packets * to this address via the data direct VC. */ |
1da177e4c Linux-2.6.12-rc2 |
90 91 92 93 |
/* Flag values */ #define LEC_REMOTE_FLAG 0x0001 #define LEC_PERMANENT_FLAG 0x0002 |
1c9d3e72a [ATM]: [lec] head... |
94 |
#endif /* _LEC_ARP_H_ */ |