130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (c) 2005 Intel Corporation. All rights reserved. 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * This software is available to you under a choice of one of two 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * licenses. You may choose to be licensed under the terms of the GNU 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * General Public License (GPL) Version 2, available from the file 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * COPYING in the main directory of this source tree, or the 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * OpenIB.org BSD license below: 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Redistribution and use in source and binary forms, with or 1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * without modification, are permitted provided that the following 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * conditions are met: 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * - Redistributions of source code must retain the above 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * copyright notice, this list of conditions and the following 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * disclaimer. 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * - Redistributions in binary form must reproduce the above 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * copyright notice, this list of conditions and the following 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * disclaimer in the documentation and/or other materials 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * provided with the distribution. 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * SOFTWARE. 3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */ 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef IB_USER_SA_H 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IB_USER_SA_H 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/types.h> 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3830692c65c4174412c90e79489e98ab85c1a7412fBen Chengenum { 3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng IB_PATH_GMP = 1, 4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng IB_PATH_PRIMARY = (1<<1), 4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng IB_PATH_ALTERNATE = (1<<2), 4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng IB_PATH_OUTBOUND = (1<<3), 4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng IB_PATH_INBOUND = (1<<4), 4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng IB_PATH_INBOUND_REVERSE = (1<<5), 4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng IB_PATH_BIDIRECTIONAL = IB_PATH_OUTBOUND | IB_PATH_INBOUND_REVERSE 4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4830692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct ib_path_rec_data { 4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 flags; 5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 reserved; 5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 path_rec[16]; 5230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 5430692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct ib_user_path_rec { 5530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 dgid[16]; 5630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 sgid[16]; 5730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be16 dlid; 5830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be16 slid; 5930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 raw_traffic; 6030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 flow_label; 6130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 reversible; 6230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 mtu; 6330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be16 pkey; 6430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 hop_limit; 6530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 traffic_class; 6630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 numb_path; 6730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 sl; 6830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 mtu_selector; 6930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 rate_selector; 7030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 rate; 7130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 packet_life_time_selector; 7230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 packet_life_time; 7330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 preference; 7430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 7530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 7630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* IB_USER_SA_H */ 77