1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _ATMMPC_H_ 7 #define _ATMMPC_H_ 8 #include <linux/atmapi.h> 9 #include <linux/atmioc.h> 10 #include <linux/atm.h> 11 #include <linux/types.h> 12 #define ATMMPC_CTRL _IO('a', ATMIOC_MPOA) 13 #define ATMMPC_DATA _IO('a', ATMIOC_MPOA+1) 14 #define MPC_SOCKET_INGRESS 1 15 #define MPC_SOCKET_EGRESS 2 16 struct atmmpc_ioc { 17 int dev_num; 18 __be32 ipaddr; 19 int type; 20 }; 21 typedef struct in_ctrl_info { 22 __u8 Last_NHRP_CIE_code; 23 __u8 Last_Q2931_cause_value; 24 __u8 eg_MPC_ATM_addr[ATM_ESA_LEN]; 25 __be32 tag; 26 __be32 in_dst_ip; 27 __u16 holding_time; 28 __u32 request_id; 29 } in_ctrl_info; 30 typedef struct eg_ctrl_info { 31 __u8 DLL_header[256]; 32 __u8 DH_length; 33 __be32 cache_id; 34 __be32 tag; 35 __be32 mps_ip; 36 __be32 eg_dst_ip; 37 __u8 in_MPC_data_ATM_addr[ATM_ESA_LEN]; 38 __u16 holding_time; 39 } eg_ctrl_info; 40 struct mpc_parameters { 41 __u16 mpc_p1; 42 __u16 mpc_p2; 43 __u8 mpc_p3[8]; 44 __u16 mpc_p4; 45 __u16 mpc_p5; 46 __u16 mpc_p6; 47 } ; 48 struct k_message { 49 __u16 type; 50 __be32 ip_mask; 51 __u8 MPS_ctrl[ATM_ESA_LEN]; 52 union { 53 in_ctrl_info in_info; 54 eg_ctrl_info eg_info; 55 struct mpc_parameters params; 56 } content; 57 struct atm_qos qos; 58 } __ATM_API_ALIGN; 59 struct llc_snap_hdr { 60 61 __u8 dsap; 62 __u8 ssap; 63 __u8 ui; 64 __u8 org[3]; 65 __u8 type[2]; 66 }; 67 #define TLV_MPOA_DEVICE_TYPE 0x00a03e2a 68 #define NON_MPOA 0 69 #define MPS 1 70 #define MPC 2 71 #define MPS_AND_MPC 3 72 #define MPC_P1 10 73 #define MPC_P2 1 74 #define MPC_P3 0 75 #define MPC_P4 5 76 #define MPC_P5 40 77 #define MPC_P6 160 78 #define HOLDING_TIME_DEFAULT 1200 79 #define MPC_C1 2 80 #define MPC_C2 60 81 #define SND_MPOA_RES_RQST 201 82 #define SET_MPS_CTRL_ADDR 202 83 #define SND_MPOA_RES_RTRY 203 84 #define STOP_KEEP_ALIVE_SM 204 85 #define EGRESS_ENTRY_REMOVED 205 86 #define SND_EGRESS_PURGE 206 87 #define DIE 207 88 #define DATA_PLANE_PURGE 208 89 #define OPEN_INGRESS_SVC 209 90 #define MPOA_TRIGGER_RCVD 101 91 #define MPOA_RES_REPLY_RCVD 102 92 #define INGRESS_PURGE_RCVD 103 93 #define EGRESS_PURGE_RCVD 104 94 #define MPS_DEATH 105 95 #define CACHE_IMPOS_RCVD 106 96 #define SET_MPC_CTRL_ADDR 107 97 #define SET_MPS_MAC_ADDR 108 98 #define CLEAN_UP_AND_EXIT 109 99 #define SET_MPC_PARAMS 110 100 101 #define RELOAD 301 102 #endif 103