Modify OpenFlow commands related to ports to be more expressive.
[sliver-openvswitch.git] / datapath / forward.h
index f061d2d..73152f9 100644 (file)
@@ -8,6 +8,7 @@
 struct sk_buff;
 struct sw_chain;
 struct ofp_action;
+struct sender;
 
 /* Buffers are identified to userspace by a 31-bit opaque ID.  We divide the ID
  * into a buffer number (low bits) and a cookie (high bits).  The buffer number
@@ -21,16 +22,22 @@ struct ofp_action;
 #define PKT_COOKIE_BITS (32 - PKT_BUFFER_BITS)
 
 
-void fwd_port_input(struct sw_chain *, struct sk_buff *, int in_port);
-int fwd_control_input(struct sw_chain *, const void *, size_t);
+void fwd_port_input(struct sw_chain *, struct sk_buff *,
+                   struct net_bridge_port *);
+int run_flow_through_tables(struct sw_chain *, struct sk_buff *,
+                           struct net_bridge_port *);
+int fwd_control_input(struct sw_chain *, const struct sender *,
+                     const void *, size_t);
 
 uint32_t fwd_save_skb(struct sk_buff *skb);
+void fwd_discard_all(void);
 
 void fwd_exit(void);
 
 void execute_actions(struct datapath *, struct sk_buff *,
-                       const struct sw_flow_key *, 
-                       const struct ofp_action *, int n_actions);
+                    const struct sw_flow_key *, 
+                    const struct ofp_action *, int n_actions,
+                    int ignore_no_fwd);
 struct sk_buff *execute_setter(struct sk_buff *, uint16_t,
                        const struct sw_flow_key *, const struct ofp_action *);