~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/net/dsa/port.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 
  3 #ifndef __DSA_PORT_H
  4 #define __DSA_PORT_H
  5 
  6 #include <linux/types.h>
  7 #include <net/dsa.h>
  8 
  9 struct ifreq;
 10 struct netdev_lag_lower_state_info;
 11 struct netdev_lag_upper_info;
 12 struct netlink_ext_ack;
 13 struct switchdev_mst_state;
 14 struct switchdev_obj_port_mdb;
 15 struct switchdev_vlan_msti;
 16 struct phy_device;
 17 
 18 bool dsa_port_supports_hwtstamp(struct dsa_port *dp);
 19 void dsa_port_set_tag_protocol(struct dsa_port *cpu_dp,
 20                                const struct dsa_device_ops *tag_ops);
 21 int dsa_port_set_state(struct dsa_port *dp, u8 state, bool do_fast_age);
 22 int dsa_port_set_mst_state(struct dsa_port *dp,
 23                            const struct switchdev_mst_state *state,
 24                            struct netlink_ext_ack *extack);
 25 int dsa_port_enable_rt(struct dsa_port *dp, struct phy_device *phy);
 26 int dsa_port_enable(struct dsa_port *dp, struct phy_device *phy);
 27 void dsa_port_disable_rt(struct dsa_port *dp);
 28 void dsa_port_disable(struct dsa_port *dp);
 29 int dsa_port_bridge_join(struct dsa_port *dp, struct net_device *br,
 30                          struct netlink_ext_ack *extack);
 31 void dsa_port_pre_bridge_leave(struct dsa_port *dp, struct net_device *br);
 32 void dsa_port_bridge_leave(struct dsa_port *dp, struct net_device *br);
 33 int dsa_port_lag_change(struct dsa_port *dp,
 34                         struct netdev_lag_lower_state_info *linfo);
 35 int dsa_port_lag_join(struct dsa_port *dp, struct net_device *lag_dev,
 36                       struct netdev_lag_upper_info *uinfo,
 37                       struct netlink_ext_ack *extack);
 38 void dsa_port_pre_lag_leave(struct dsa_port *dp, struct net_device *lag_dev);
 39 void dsa_port_lag_leave(struct dsa_port *dp, struct net_device *lag_dev);
 40 int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering,
 41                             struct netlink_ext_ack *extack);
 42 bool dsa_port_skip_vlan_configuration(struct dsa_port *dp);
 43 int dsa_port_ageing_time(struct dsa_port *dp, clock_t ageing_clock);
 44 int dsa_port_mst_enable(struct dsa_port *dp, bool on,
 45                         struct netlink_ext_ack *extack);
 46 int dsa_port_vlan_msti(struct dsa_port *dp,
 47                        const struct switchdev_vlan_msti *msti);
 48 int dsa_port_mtu_change(struct dsa_port *dp, int new_mtu);
 49 int dsa_port_fdb_add(struct dsa_port *dp, const unsigned char *addr,
 50                      u16 vid);
 51 int dsa_port_fdb_del(struct dsa_port *dp, const unsigned char *addr,
 52                      u16 vid);
 53 int dsa_port_standalone_host_fdb_add(struct dsa_port *dp,
 54                                      const unsigned char *addr, u16 vid);
 55 int dsa_port_standalone_host_fdb_del(struct dsa_port *dp,
 56                                      const unsigned char *addr, u16 vid);
 57 int dsa_port_bridge_host_fdb_add(struct dsa_port *dp, const unsigned char *addr,
 58                                  u16 vid);
 59 int dsa_port_bridge_host_fdb_del(struct dsa_port *dp, const unsigned char *addr,
 60                                  u16 vid);
 61 int dsa_port_lag_fdb_add(struct dsa_port *dp, const unsigned char *addr,
 62                          u16 vid);
 63 int dsa_port_lag_fdb_del(struct dsa_port *dp, const unsigned char *addr,
 64                          u16 vid);
 65 int dsa_port_fdb_dump(struct dsa_port *dp, dsa_fdb_dump_cb_t *cb, void *data);
 66 int dsa_port_mdb_add(const struct dsa_port *dp,
 67                      const struct switchdev_obj_port_mdb *mdb);
 68 int dsa_port_mdb_del(const struct dsa_port *dp,
 69                      const struct switchdev_obj_port_mdb *mdb);
 70 int dsa_port_standalone_host_mdb_add(const struct dsa_port *dp,
 71                                      const struct switchdev_obj_port_mdb *mdb);
 72 int dsa_port_standalone_host_mdb_del(const struct dsa_port *dp,
 73                                      const struct switchdev_obj_port_mdb *mdb);
 74 int dsa_port_bridge_host_mdb_add(const struct dsa_port *dp,
 75                                  const struct switchdev_obj_port_mdb *mdb);
 76 int dsa_port_bridge_host_mdb_del(const struct dsa_port *dp,
 77                                  const struct switchdev_obj_port_mdb *mdb);
 78 int dsa_port_pre_bridge_flags(const struct dsa_port *dp,
 79                               struct switchdev_brport_flags flags,
 80                               struct netlink_ext_ack *extack);
 81 int dsa_port_bridge_flags(struct dsa_port *dp,
 82                           struct switchdev_brport_flags flags,
 83                           struct netlink_ext_ack *extack);
 84 int dsa_port_vlan_add(struct dsa_port *dp,
 85                       const struct switchdev_obj_port_vlan *vlan,
 86                       struct netlink_ext_ack *extack);
 87 int dsa_port_vlan_del(struct dsa_port *dp,
 88                       const struct switchdev_obj_port_vlan *vlan);
 89 int dsa_port_host_vlan_add(struct dsa_port *dp,
 90                            const struct switchdev_obj_port_vlan *vlan,
 91                            struct netlink_ext_ack *extack);
 92 int dsa_port_host_vlan_del(struct dsa_port *dp,
 93                            const struct switchdev_obj_port_vlan *vlan);
 94 int dsa_port_mrp_add(const struct dsa_port *dp,
 95                      const struct switchdev_obj_mrp *mrp);
 96 int dsa_port_mrp_del(const struct dsa_port *dp,
 97                      const struct switchdev_obj_mrp *mrp);
 98 int dsa_port_mrp_add_ring_role(const struct dsa_port *dp,
 99                                const struct switchdev_obj_ring_role_mrp *mrp);
100 int dsa_port_mrp_del_ring_role(const struct dsa_port *dp,
101                                const struct switchdev_obj_ring_role_mrp *mrp);
102 int dsa_port_phylink_create(struct dsa_port *dp);
103 void dsa_port_phylink_destroy(struct dsa_port *dp);
104 int dsa_shared_port_link_register_of(struct dsa_port *dp);
105 void dsa_shared_port_link_unregister_of(struct dsa_port *dp);
106 int dsa_port_hsr_join(struct dsa_port *dp, struct net_device *hsr,
107                       struct netlink_ext_ack *extack);
108 void dsa_port_hsr_leave(struct dsa_port *dp, struct net_device *hsr);
109 int dsa_port_tag_8021q_vlan_add(struct dsa_port *dp, u16 vid, bool broadcast);
110 void dsa_port_tag_8021q_vlan_del(struct dsa_port *dp, u16 vid, bool broadcast);
111 void dsa_port_set_host_flood(struct dsa_port *dp, bool uc, bool mc);
112 int dsa_port_change_conduit(struct dsa_port *dp, struct net_device *conduit,
113                             struct netlink_ext_ack *extack);
114 
115 #endif
116 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php