qed: Add basic L2 interface
This patch adds a public API for a network driver to work on top of QED. The interface itself is very minimal - it's mostly infrastructure, as the only content it has after this patch is a query for HW-based information required for the creation of a network interface [I.e., no actual protocol-specific configurations are supported]. Signed-off-by: Manish Chopra <Manish.Chopra@qlogic.com> Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
fe56b9e6a8
commit
25c089d78f
38
include/linux/qed/qed_eth_if.h
Normal file
38
include/linux/qed/qed_eth_if.h
Normal file
@@ -0,0 +1,38 @@
|
||||
/* QLogic qed NIC Driver
|
||||
* Copyright (c) 2015 QLogic Corporation
|
||||
*
|
||||
* This software is available under the terms of the GNU General Public License
|
||||
* (GPL) Version 2, available from the file COPYING in the main directory of
|
||||
* this source tree.
|
||||
*/
|
||||
|
||||
#ifndef _QED_ETH_IF_H
|
||||
#define _QED_ETH_IF_H
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <linux/if_link.h>
|
||||
#include <linux/qed/eth_common.h>
|
||||
#include <linux/qed/qed_if.h>
|
||||
|
||||
struct qed_dev_eth_info {
|
||||
struct qed_dev_info common;
|
||||
|
||||
u8 num_queues;
|
||||
u8 num_tc;
|
||||
|
||||
u8 port_mac[ETH_ALEN];
|
||||
u8 num_vlan_filters;
|
||||
};
|
||||
|
||||
struct qed_eth_ops {
|
||||
const struct qed_common_ops *common;
|
||||
|
||||
int (*fill_dev_info)(struct qed_dev *cdev,
|
||||
struct qed_dev_eth_info *info);
|
||||
|
||||
};
|
||||
|
||||
const struct qed_eth_ops *qed_get_eth_ops(u32 version);
|
||||
void qed_put_eth_ops(void);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user