datapath: Better handle vlan packets sent to userspace.
[openvswitch] / datapath / datapath.h
index 3d7ee629dc35e20af43e595d1cb90a114852d9c0..dc2c75c64b2666c69ac0954494a92ead5d685932 100644 (file)
@@ -1,13 +1,21 @@
 /*
- * Copyright (c) 2009, 2010, 2011 Nicira Networks.
- * Distributed under the terms of the GNU GPL version 2.
+ * Copyright (c) 2007-2011 Nicira Networks.
  *
- * Significant portions of this file may be copied from parts of the Linux
- * kernel, by Linus Torvalds and others.
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA
  */
 
-/* Interface exported by openvswitch_mod. */
-
 #ifndef DATAPATH_H
 #define DATAPATH_H 1
 
@@ -83,7 +91,6 @@ struct datapath {
 
 /**
  * struct ovs_skb_cb - OVS data in skb CB
- * @vport: The datapath port on which the skb entered the switch.
  * @flow: The flow associated with this packet.  May be %NULL if no flow.
  * @tun_id: ID of the tunnel that encapsulated this packet.  It is 0 if the
  * @ip_summed: Consistently stores L4 checksumming status across different
@@ -95,7 +102,6 @@ struct datapath {
  * before 2.6.27.
  */
 struct ovs_skb_cb {
-       struct vport            *vport;
        struct sw_flow          *flow;
        __be64                  tun_id;
 #ifdef NEED_CSUM_NORMALIZE
@@ -134,9 +140,9 @@ void dp_detach_port(struct vport *);
 int dp_upcall(struct datapath *, struct sk_buff *,
              const struct dp_upcall_info *);
 
-struct datapath *get_dp(int dp_idx);
 const char *dp_name(const struct datapath *dp);
 struct sk_buff *ovs_vport_cmd_build_info(struct vport *, u32 pid, u32 seq,
                                         u8 cmd);
 
+int execute_actions(struct datapath *dp, struct sk_buff *skb);
 #endif /* datapath.h */