linux/net/dsa/dsa_priv.h
<<
>>
Prefs
   1/*
   2 * net/dsa/dsa_priv.h - Hardware switch handling
   3 * Copyright (c) 2008-2009 Marvell Semiconductor
   4 *
   5 * This program is free software; you can redistribute it and/or modify
   6 * it under the terms of the GNU General Public License as published by
   7 * the Free Software Foundation; either version 2 of the License, or
   8 * (at your option) any later version.
   9 */
  10
  11#ifndef __DSA_PRIV_H
  12#define __DSA_PRIV_H
  13
  14#include <linux/phy.h>
  15#include <net/dsa.h>
  16
  17struct dsa_slave_priv {
  18        /*
  19         * The linux network interface corresponding to this
  20         * switch port.
  21         */
  22        struct net_device       *dev;
  23
  24        /*
  25         * Which switch this port is a part of, and the port index
  26         * for this port.
  27         */
  28        struct dsa_switch       *parent;
  29        u8                      port;
  30
  31        /*
  32         * The phylib phy_device pointer for the PHY connected
  33         * to this port.
  34         */
  35        struct phy_device       *phy;
  36};
  37
  38/* dsa.c */
  39extern char dsa_driver_version[];
  40
  41/* slave.c */
  42void dsa_slave_mii_bus_init(struct dsa_switch *ds);
  43struct net_device *dsa_slave_create(struct dsa_switch *ds,
  44                                    struct device *parent,
  45                                    int port, char *name);
  46
  47/* tag_dsa.c */
  48netdev_tx_t dsa_xmit(struct sk_buff *skb, struct net_device *dev);
  49extern struct packet_type dsa_packet_type;
  50
  51/* tag_edsa.c */
  52netdev_tx_t edsa_xmit(struct sk_buff *skb, struct net_device *dev);
  53extern struct packet_type edsa_packet_type;
  54
  55/* tag_trailer.c */
  56netdev_tx_t trailer_xmit(struct sk_buff *skb, struct net_device *dev);
  57extern struct packet_type trailer_packet_type;
  58
  59
  60#endif
  61