iPXE
mlx_vmac.h
Go to the documentation of this file.
00001 #ifndef MLX_VMAC_H_
00002 #define MLX_VMAC_H_
00003 
00004 /*
00005  * Copyright (C) 2015 Mellanox Technologies Ltd.
00006  *
00007  * This program is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU General Public License as
00009  * published by the Free Software Foundation; either version 2 of the
00010  * License, or any later version.
00011  *
00012  * This program is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00020  * 02110-1301, USA.
00021  */
00022 
00023 FILE_LICENCE ( GPL2_OR_LATER );
00024 
00025 #include "../../include/public/mlx_utils.h"
00026 
00027 struct mlx_vmac_query_virt_mac {
00028         mlx_uint32 reserved0    :30;
00029         mlx_uint32 mac_aux_v    :1;
00030         mlx_uint32 virtual_mac_en       :1;
00031         mlx_uint32 parmanent_mac_high   :16;
00032         mlx_uint32 reserved1    :16;
00033         mlx_uint32 parmanent_mac_low    :32;
00034         mlx_uint32 virtual_mac_high     :16;
00035         mlx_uint32 Reserved2    :16;
00036         mlx_uint32 virtual_mac_low      :32;
00037 };
00038 
00039 struct mlx_vmac_set_virt_mac {
00040         mlx_uint32 Reserved0    :30;
00041         mlx_uint32 mac_aux_v    :1;
00042         mlx_uint32 virtual_mac_en       :1;
00043         mlx_uint32 reserved1    :32;
00044         mlx_uint32 reserved2    :32;
00045         mlx_uint32 virtual_mac_high;
00046         mlx_uint32 virtual_mac_low;
00047 };
00048 
00049 mlx_status
00050 mlx_vmac_query_virt_mac (
00051         IN mlx_utils *utils,
00052         OUT struct mlx_vmac_query_virt_mac *virt_mac
00053         );
00054 
00055 mlx_status
00056 mlx_vmac_set_virt_mac (
00057         IN mlx_utils *utils,
00058         OUT struct mlx_vmac_set_virt_mac *virt_mac
00059         );
00060 #endif /* MLX_VMAC_H_ */