Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  user.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */

#ifndef __DSA_USER_H
#define __DSA_USER_H

#include <linux/if_bridge.h>
#include <linux/if_vlan.h>
#include <linux/list.h>
#include <linux/netpoll.h>
#include <linux/types.h>
#include <net/dsa.h>
#include <net/gro_cells.h>

struct net_device;
struct netlink_ext_ack;

extern struct notifier_block dsa_user_switchdev_notifier;
extern struct notifier_block dsa_user_switchdev_blocking_notifier;

struct dsa_user_priv {
 /* Copy of CPU port xmit for faster access in user transmit hot path */
 struct sk_buff * (*xmit)(struct sk_buff *skb,
     struct net_device *dev);

 struct gro_cells gcells;

 /* DSA port data, such as switch, port index, etc. */
 struct dsa_port  *dp;

#ifdef CONFIG_NET_POLL_CONTROLLER
 struct netpoll  *netpoll;
#endif

 /* TC context */
 struct list_head mall_tc_list;
};

void dsa_user_mii_bus_init(struct dsa_switch *ds);
int dsa_user_create(struct dsa_port *dp);
void dsa_user_destroy(struct net_device *user_dev);
int dsa_user_suspend(struct net_device *user_dev);
int dsa_user_resume(struct net_device *user_dev);
int dsa_user_register_notifier(void);
void dsa_user_unregister_notifier(void);
int dsa_user_host_uc_install(struct net_device *dev, const u8 *addr);
void dsa_user_host_uc_uninstall(struct net_device *dev);
void dsa_user_sync_ha(struct net_device *dev);
void dsa_user_unsync_ha(struct net_device *dev);
void dsa_user_setup_tagger(struct net_device *user);
int dsa_user_change_mtu(struct net_device *dev, int new_mtu);
int dsa_user_change_conduit(struct net_device *dev, struct net_device *conduit,
       struct netlink_ext_ack *extack);
int dsa_user_manage_vlan_filtering(struct net_device *dev,
       bool vlan_filtering);

static inline struct dsa_port *dsa_user_to_port(const struct net_device *dev)
{
 struct dsa_user_priv *p = netdev_priv(dev);

 return p->dp;
}

static inline struct net_device *
dsa_user_to_conduit(const struct net_device *dev)
{
 struct dsa_port *dp = dsa_user_to_port(dev);

 return dsa_port_to_conduit(dp);
}

#endif

Messung V0.5
C=95 H=100 G=97

¤ 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge