11cfa752fSRamaswamy Tummala /* 21cfa752fSRamaswamy Tummala * CDDL HEADER START 31cfa752fSRamaswamy Tummala * 41cfa752fSRamaswamy Tummala * The contents of this file are subject to the terms of the 51cfa752fSRamaswamy Tummala * Common Development and Distribution License (the "License"). 61cfa752fSRamaswamy Tummala * You may not use this file except in compliance with the License. 71cfa752fSRamaswamy Tummala * 81cfa752fSRamaswamy Tummala * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 91cfa752fSRamaswamy Tummala * or http://www.opensolaris.org/os/licensing. 101cfa752fSRamaswamy Tummala * See the License for the specific language governing permissions 111cfa752fSRamaswamy Tummala * and limitations under the License. 121cfa752fSRamaswamy Tummala * 131cfa752fSRamaswamy Tummala * When distributing Covered Code, include this CDDL HEADER in each 141cfa752fSRamaswamy Tummala * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 151cfa752fSRamaswamy Tummala * If applicable, add the following below this CDDL HEADER, with the 161cfa752fSRamaswamy Tummala * fields enclosed by brackets "[]" replaced with your own identifying 171cfa752fSRamaswamy Tummala * information: Portions Copyright [yyyy] [name of copyright owner] 181cfa752fSRamaswamy Tummala * 191cfa752fSRamaswamy Tummala * CDDL HEADER END 201cfa752fSRamaswamy Tummala */ 211cfa752fSRamaswamy Tummala /* 221cfa752fSRamaswamy Tummala * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 231cfa752fSRamaswamy Tummala */ 241cfa752fSRamaswamy Tummala 251cfa752fSRamaswamy Tummala #ifndef _LIBDLIB_H 261cfa752fSRamaswamy Tummala #define _LIBDLIB_H 271cfa752fSRamaswamy Tummala 281cfa752fSRamaswamy Tummala #ifdef __cplusplus 291cfa752fSRamaswamy Tummala extern "C" { 301cfa752fSRamaswamy Tummala #endif 311cfa752fSRamaswamy Tummala 321cfa752fSRamaswamy Tummala #include <sys/types.h> 331cfa752fSRamaswamy Tummala #include <sys/ib/ib_types.h> 341cfa752fSRamaswamy Tummala 351cfa752fSRamaswamy Tummala #define MAXPKEYSTRSZ 968 361cfa752fSRamaswamy Tummala #define MAXPKEYLEN 6 371cfa752fSRamaswamy Tummala #define IBGUIDSTRLEN 16 381cfa752fSRamaswamy Tummala #define IBPORTSTRLEN 5 391cfa752fSRamaswamy Tummala 40*c87dd6b7SRajkumar Sivaprakasam #define DLADM_PART_FORCE_CREATE 0x1 411cfa752fSRamaswamy Tummala 421cfa752fSRamaswamy Tummala typedef struct dladm_ib_attr_s { 431cfa752fSRamaswamy Tummala datalink_id_t dia_physlinkid; /* IB Phys link datalink ID */ 441cfa752fSRamaswamy Tummala datalink_id_t dia_partlinkid; /* IB Partition datalink ID */ 451cfa752fSRamaswamy Tummala ib_pkey_t dia_pkey; /* IB partitions P_Key */ 461cfa752fSRamaswamy Tummala uint32_t dia_flags; 471cfa752fSRamaswamy Tummala uint_t dia_portnum; /* IB Phys link's HCA port number */ 481cfa752fSRamaswamy Tummala int dia_instance; /* IP over IB driver instance number */ 491cfa752fSRamaswamy Tummala ib_guid_t dia_hca_guid; /* IB HCA GUID */ 501cfa752fSRamaswamy Tummala ib_guid_t dia_port_guid; /* IB HCA Port GUID */ 511cfa752fSRamaswamy Tummala uint_t dia_port_pkey_tbl_sz; 521cfa752fSRamaswamy Tummala ib_pkey_t *dia_port_pkeys; /* Ptr to the P_Key table */ 531cfa752fSRamaswamy Tummala } dladm_ib_attr_t; 541cfa752fSRamaswamy Tummala 551cfa752fSRamaswamy Tummala typedef struct dladm_ib_attr_s dladm_part_attr_t; 561cfa752fSRamaswamy Tummala 571cfa752fSRamaswamy Tummala typedef enum { 58*c87dd6b7SRajkumar Sivaprakasam DLADM_PART_UD_MODE = 0, 59*c87dd6b7SRajkumar Sivaprakasam DLADM_PART_CM_MODE 60*c87dd6b7SRajkumar Sivaprakasam } dladm_part_linkmode_t; 611cfa752fSRamaswamy Tummala 621cfa752fSRamaswamy Tummala extern dladm_status_t dladm_part_create(dladm_handle_t, datalink_id_t, 631cfa752fSRamaswamy Tummala ib_pkey_t, uint32_t, char *, datalink_id_t *, dladm_arg_list_t *); 641cfa752fSRamaswamy Tummala extern dladm_status_t dladm_part_delete(dladm_handle_t, datalink_id_t, int); 651cfa752fSRamaswamy Tummala extern dladm_status_t dladm_part_up(dladm_handle_t, datalink_id_t, uint32_t); 661cfa752fSRamaswamy Tummala extern dladm_status_t dladm_part_info(dladm_handle_t, datalink_id_t, 671cfa752fSRamaswamy Tummala dladm_part_attr_t *, uint32_t); 681cfa752fSRamaswamy Tummala extern dladm_status_t dladm_ib_info(dladm_handle_t, datalink_id_t, 691cfa752fSRamaswamy Tummala dladm_ib_attr_t *, uint32_t); 701cfa752fSRamaswamy Tummala extern void dladm_free_ib_info(dladm_ib_attr_t *); 711cfa752fSRamaswamy Tummala 721cfa752fSRamaswamy Tummala #ifdef __cplusplus 731cfa752fSRamaswamy Tummala } 741cfa752fSRamaswamy Tummala #endif 751cfa752fSRamaswamy Tummala 761cfa752fSRamaswamy Tummala #endif /* _LIBDLIB_H */ 77