cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

br_private_tunnel.h (2382B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 *	Bridge per vlan tunnels
      4 *
      5 *	Authors:
      6 *	Roopa Prabhu		<roopa@cumulusnetworks.com>
      7 */
      8
      9#ifndef _BR_PRIVATE_TUNNEL_H
     10#define _BR_PRIVATE_TUNNEL_H
     11
     12struct vtunnel_info {
     13	u32	tunid;
     14	u16	vid;
     15	u16	flags;
     16};
     17
     18/* br_netlink_tunnel.c */
     19int br_parse_vlan_tunnel_info(struct nlattr *attr,
     20			      struct vtunnel_info *tinfo);
     21int br_process_vlan_tunnel_info(const struct net_bridge *br,
     22				const struct net_bridge_port *p,
     23				int cmd,
     24				struct vtunnel_info *tinfo_curr,
     25				struct vtunnel_info *tinfo_last,
     26				bool *changed);
     27int br_get_vlan_tunnel_info_size(struct net_bridge_vlan_group *vg);
     28int br_fill_vlan_tunnel_info(struct sk_buff *skb,
     29			     struct net_bridge_vlan_group *vg);
     30
     31#ifdef CONFIG_BRIDGE_VLAN_FILTERING
     32/* br_vlan_tunnel.c */
     33int vlan_tunnel_init(struct net_bridge_vlan_group *vg);
     34void vlan_tunnel_deinit(struct net_bridge_vlan_group *vg);
     35int nbp_vlan_tunnel_info_delete(const struct net_bridge_port *port, u16 vid);
     36int nbp_vlan_tunnel_info_add(const struct net_bridge_port *port, u16 vid,
     37			     u32 tun_id);
     38void nbp_vlan_tunnel_info_flush(struct net_bridge_port *port);
     39void vlan_tunnel_info_del(struct net_bridge_vlan_group *vg,
     40			  struct net_bridge_vlan *vlan);
     41void br_handle_ingress_vlan_tunnel(struct sk_buff *skb,
     42				   struct net_bridge_port *p,
     43				   struct net_bridge_vlan_group *vg);
     44int br_handle_egress_vlan_tunnel(struct sk_buff *skb,
     45				 struct net_bridge_vlan *vlan);
     46bool vlan_tunid_inrange(const struct net_bridge_vlan *v_curr,
     47			const struct net_bridge_vlan *v_last);
     48int br_vlan_tunnel_info(const struct net_bridge_port *p, int cmd,
     49			u16 vid, u32 tun_id, bool *changed);
     50#else
     51static inline int vlan_tunnel_init(struct net_bridge_vlan_group *vg)
     52{
     53	return 0;
     54}
     55
     56static inline int nbp_vlan_tunnel_info_delete(const struct net_bridge_port *port,
     57					      u16 vid)
     58{
     59	return 0;
     60}
     61
     62static inline int nbp_vlan_tunnel_info_add(const struct net_bridge_port *port,
     63					   u16 vid, u32 tun_id)
     64{
     65	return 0;
     66}
     67
     68static inline void nbp_vlan_tunnel_info_flush(struct net_bridge_port *port)
     69{
     70}
     71
     72static inline void vlan_tunnel_info_del(struct net_bridge_vlan_group *vg,
     73					struct net_bridge_vlan *vlan)
     74{
     75}
     76
     77static inline int br_handle_ingress_vlan_tunnel(struct sk_buff *skb,
     78						struct net_bridge_port *p,
     79						struct net_bridge_vlan_group *vg)
     80{
     81	return 0;
     82}
     83#endif
     84
     85#endif