186230Stmm/*
286230Stmm * Copyright (c) 2004, 2005 Voltaire, Inc. All rights reserved.
386230Stmm * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
486230Stmm * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
586230Stmm *
686230Stmm * This software is available to you under a choice of one of two
786230Stmm * licenses.  You may choose to be licensed under the terms of the GNU
886230Stmm * General Public License (GPL) Version 2, available from the file
986230Stmm * COPYING in the main directory of this source tree, or the
1086230Stmm * OpenIB.org BSD license below:
1186230Stmm *
1286230Stmm *     Redistribution and use in source and binary forms, with or
1386230Stmm *     without modification, are permitted provided that the following
1486230Stmm *     conditions are met:
1586230Stmm *
1686230Stmm *      - Redistributions of source code must retain the above
1786230Stmm *        copyright notice, this list of conditions and the following
1886230Stmm *        disclaimer.
1986230Stmm *
2086230Stmm *      - Redistributions in binary form must reproduce the above
2186230Stmm *        copyright notice, this list of conditions and the following
2286230Stmm *        disclaimer in the documentation and/or other materials
2386230Stmm *        provided with the distribution.
2486230Stmm *
2586230Stmm * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
2686230Stmm * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
2786230Stmm * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2890616Stmm * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
2986230Stmm * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
3086230Stmm * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
3186230Stmm * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3286230Stmm * SOFTWARE.
3386230Stmm *
3486230Stmm */
3586230Stmm
3690616Stmm#ifndef _OSM_PREFIX_ROUTE_H_
3790616Stmm#define _OSM_PREFIX_ROUTE_H_
3890616Stmm
3990616Stmm#include <complib/cl_types.h>
4090616Stmm#include <complib/cl_qlist.h>
4190616Stmm
4286230Stmm#ifdef __cplusplus
43117390Stmm#  define BEGIN_C_DECLS extern "C" {
44117390Stmm#  define END_C_DECLS   }
45117390Stmm#else				/* !__cplusplus */
46117390Stmm#  define BEGIN_C_DECLS
47117390Stmm#  define END_C_DECLS
48117390Stmm#endif				/* __cplusplus */
49117390Stmm
50117390StmmBEGIN_C_DECLS
51117390Stmm
52117390Stmmtypedef struct {
53117390Stmm	cl_list_item_t list_item;	/* must be first */
5486230Stmm	ib_net64_t prefix;		/* zero means "any" */
5586230Stmm	ib_net64_t guid;		/* zero means "any" */
56117390Stmm} osm_prefix_route_t;
57117390Stmm
58117390Stmm#ifdef ROUTER_EXP
5986230Stmm#error ROUTER_EXP is deprecated, specify prefix routes at runtime instead (see opensm man page for details)
60117390Stmm#endif
61117390Stmm
6290616StmmEND_C_DECLS
63117390Stmm#endif /* _OSM_PREFIX_ROUTE_H_ */
6490616Stmm