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 IB_USER_SA_H 7 #define IB_USER_SA_H 8 #include <linux/types.h> 9 enum { 10 IB_PATH_GMP = 1, 11 IB_PATH_PRIMARY = (1<<1), 12 IB_PATH_ALTERNATE = (1<<2), 13 IB_PATH_OUTBOUND = (1<<3), 14 IB_PATH_INBOUND = (1<<4), 15 IB_PATH_INBOUND_REVERSE = (1<<5), 16 IB_PATH_BIDIRECTIONAL = IB_PATH_OUTBOUND | IB_PATH_INBOUND_REVERSE 17 }; 18 struct ib_path_rec_data { 19 __u32 flags; 20 __u32 reserved; 21 __u32 path_rec[16]; 22 }; 23 struct ib_user_path_rec { 24 __u8 dgid[16]; 25 __u8 sgid[16]; 26 __be16 dlid; 27 __be16 slid; 28 __u32 raw_traffic; 29 __be32 flow_label; 30 __u32 reversible; 31 __u32 mtu; 32 __be16 pkey; 33 __u8 hop_limit; 34 __u8 traffic_class; 35 __u8 numb_path; 36 __u8 sl; 37 __u8 mtu_selector; 38 __u8 rate_selector; 39 __u8 rate; 40 __u8 packet_life_time_selector; 41 __u8 packet_life_time; 42 __u8 preference; 43 }; 44 #endif 45