1*d50e14abSJason Gunthorpe /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */ 27235aa79SDavid Howells /* 37235aa79SDavid Howells * Copyright (c) 2005 Intel Corporation. All rights reserved. 47235aa79SDavid Howells * 57235aa79SDavid Howells * This software is available to you under a choice of one of two 67235aa79SDavid Howells * licenses. You may choose to be licensed under the terms of the GNU 77235aa79SDavid Howells * General Public License (GPL) Version 2, available from the file 87235aa79SDavid Howells * COPYING in the main directory of this source tree, or the 97235aa79SDavid Howells * OpenIB.org BSD license below: 107235aa79SDavid Howells * 117235aa79SDavid Howells * Redistribution and use in source and binary forms, with or 127235aa79SDavid Howells * without modification, are permitted provided that the following 137235aa79SDavid Howells * conditions are met: 147235aa79SDavid Howells * 157235aa79SDavid Howells * - Redistributions of source code must retain the above 167235aa79SDavid Howells * copyright notice, this list of conditions and the following 177235aa79SDavid Howells * disclaimer. 187235aa79SDavid Howells * 197235aa79SDavid Howells * - Redistributions in binary form must reproduce the above 207235aa79SDavid Howells * copyright notice, this list of conditions and the following 217235aa79SDavid Howells * disclaimer in the documentation and/or other materials 227235aa79SDavid Howells * provided with the distribution. 237235aa79SDavid Howells * 247235aa79SDavid Howells * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 257235aa79SDavid Howells * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 267235aa79SDavid Howells * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 277235aa79SDavid Howells * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 287235aa79SDavid Howells * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 297235aa79SDavid Howells * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 307235aa79SDavid Howells * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 317235aa79SDavid Howells * SOFTWARE. 327235aa79SDavid Howells */ 337235aa79SDavid Howells 347235aa79SDavid Howells #ifndef IB_USER_SA_H 357235aa79SDavid Howells #define IB_USER_SA_H 367235aa79SDavid Howells 377235aa79SDavid Howells #include <linux/types.h> 387235aa79SDavid Howells 397235aa79SDavid Howells enum { 407235aa79SDavid Howells IB_PATH_GMP = 1, 417235aa79SDavid Howells IB_PATH_PRIMARY = (1<<1), 427235aa79SDavid Howells IB_PATH_ALTERNATE = (1<<2), 437235aa79SDavid Howells IB_PATH_OUTBOUND = (1<<3), 447235aa79SDavid Howells IB_PATH_INBOUND = (1<<4), 457235aa79SDavid Howells IB_PATH_INBOUND_REVERSE = (1<<5), 467235aa79SDavid Howells IB_PATH_BIDIRECTIONAL = IB_PATH_OUTBOUND | IB_PATH_INBOUND_REVERSE 477235aa79SDavid Howells }; 487235aa79SDavid Howells 497235aa79SDavid Howells struct ib_path_rec_data { 507235aa79SDavid Howells __u32 flags; 517235aa79SDavid Howells __u32 reserved; 527235aa79SDavid Howells __u32 path_rec[16]; 537235aa79SDavid Howells }; 547235aa79SDavid Howells 557235aa79SDavid Howells struct ib_user_path_rec { 567235aa79SDavid Howells __u8 dgid[16]; 577235aa79SDavid Howells __u8 sgid[16]; 587235aa79SDavid Howells __be16 dlid; 597235aa79SDavid Howells __be16 slid; 607235aa79SDavid Howells __u32 raw_traffic; 617235aa79SDavid Howells __be32 flow_label; 627235aa79SDavid Howells __u32 reversible; 637235aa79SDavid Howells __u32 mtu; 647235aa79SDavid Howells __be16 pkey; 657235aa79SDavid Howells __u8 hop_limit; 667235aa79SDavid Howells __u8 traffic_class; 677235aa79SDavid Howells __u8 numb_path; 687235aa79SDavid Howells __u8 sl; 697235aa79SDavid Howells __u8 mtu_selector; 707235aa79SDavid Howells __u8 rate_selector; 717235aa79SDavid Howells __u8 rate; 727235aa79SDavid Howells __u8 packet_life_time_selector; 737235aa79SDavid Howells __u8 packet_life_time; 747235aa79SDavid Howells __u8 preference; 757235aa79SDavid Howells }; 767235aa79SDavid Howells 777235aa79SDavid Howells #endif /* IB_USER_SA_H */ 78