Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/net/ethernet/netronome/nfp/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  nfp_net_sriov.h   Sprache: C

 
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/* Copyright (C) 2017-2019 Netronome Systems, Inc. */

#ifndef _NFP_NET_SRIOV_H_
#define _NFP_NET_SRIOV_H_

/* SRIOV VF configuration.
 * The configuration memory begins with a mailbox region for communication with
 * the firmware followed by individual VF entries.
 */

#define NFP_NET_VF_CFG_SZ  16
#define NFP_NET_VF_CFG_MB_SZ  16

/* VF config mailbox */
#define NFP_NET_VF_CFG_MB    0x0
#define NFP_NET_VF_CFG_MB_CAP    0x0
#define   NFP_NET_VF_CFG_MB_CAP_MAC     (0x1 << 0)
#define   NFP_NET_VF_CFG_MB_CAP_VLAN     (0x1 << 1)
#define   NFP_NET_VF_CFG_MB_CAP_SPOOF     (0x1 << 2)
#define   NFP_NET_VF_CFG_MB_CAP_LINK_STATE    (0x1 << 3)
#define   NFP_NET_VF_CFG_MB_CAP_TRUST     (0x1 << 4)
#define   NFP_NET_VF_CFG_MB_CAP_VLAN_PROTO    (0x1 << 5)
#define   NFP_NET_VF_CFG_MB_CAP_RATE     (0x1 << 6)
#define NFP_NET_VF_CFG_MB_RET    0x2
#define NFP_NET_VF_CFG_MB_UPD    0x4
#define   NFP_NET_VF_CFG_MB_UPD_MAC     (0x1 << 0)
#define   NFP_NET_VF_CFG_MB_UPD_VLAN     (0x1 << 1)
#define   NFP_NET_VF_CFG_MB_UPD_SPOOF     (0x1 << 2)
#define   NFP_NET_VF_CFG_MB_UPD_LINK_STATE    (0x1 << 3)
#define   NFP_NET_VF_CFG_MB_UPD_TRUST     (0x1 << 4)
#define   NFP_NET_VF_CFG_MB_UPD_VLAN_PROTO    (0x1 << 5)
#define   NFP_NET_VF_CFG_MB_UPD_RATE     (0x1 << 6)
#define NFP_NET_VF_CFG_MB_VF_NUM   0x7

/* VF config entry
 * MAC_LO is set that the MAC address can be read in a single 6 byte read
 * by the NFP
 */

#define NFP_NET_VF_CFG_MAC    0x0
#define   NFP_NET_VF_CFG_MAC_HI      0x0
#define   NFP_NET_VF_CFG_MAC_LO      0x6
#define NFP_NET_VF_CFG_CTRL    0x4
#define   NFP_NET_VF_CFG_CTRL_TRUST     0x8
#define   NFP_NET_VF_CFG_CTRL_SPOOF     0x4
#define   NFP_NET_VF_CFG_CTRL_LINK_STATE    0x3
#define     NFP_NET_VF_CFG_LS_MODE_AUTO       0
#define     NFP_NET_VF_CFG_LS_MODE_ENABLE      1
#define     NFP_NET_VF_CFG_LS_MODE_DISABLE      2
#define NFP_NET_VF_CFG_VLAN    0x8
#define   NFP_NET_VF_CFG_VLAN_PROT     0xffff0000
#define   NFP_NET_VF_CFG_VLAN_QOS     0xe000
#define   NFP_NET_VF_CFG_VLAN_VID     0x0fff
#define NFP_NET_VF_CFG_RATE    0xc
#define   NFP_NET_VF_CFG_MIN_RATE   0x0000ffff
#define   NFP_NET_VF_CFG_MAX_RATE   0xffff0000

#define NFP_NET_VF_RATE_MAX   0xffff

int nfp_app_set_vf_mac(struct net_device *netdev, int vf, u8 *mac);
int nfp_app_set_vf_vlan(struct net_device *netdev, int vf, u16 vlan, u8 qos,
   __be16 vlan_proto);
int nfp_app_set_vf_rate(struct net_device *netdev, int vf, int min_tx_rate,
   int max_tx_rate);
int nfp_app_set_vf_spoofchk(struct net_device *netdev, int vf, bool setting);
int nfp_app_set_vf_trust(struct net_device *netdev, int vf, bool setting);
int nfp_app_set_vf_link_state(struct net_device *netdev, int vf,
         int link_state);
int nfp_app_get_vf_config(struct net_device *netdev, int vf,
     struct ifla_vf_info *ivi);

#endif /* _NFP_NET_SRIOV_H_ */

Messung V0.5
C=94 H=89 G=91

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.