X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Factions.h;h=a832295ce8043fefcc936eff8f64b82fe535ec62;hb=79b8c1edcb52286c8f62e0f7350b1817f82815ac;hp=09e35bd7a8837feb55f5bd2690a838ddec58f35d;hpb=fceb2a5bb2063023777fc75c68a2670b5169fa13;p=openvswitch diff --git a/datapath/actions.h b/datapath/actions.h index 09e35bd7..a832295c 100644 --- a/datapath/actions.h +++ b/datapath/actions.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2010 Nicira Networks. + * Copyright (c) 2009, 2010, 2011 Nicira Networks. * Distributed under the terms of the GNU GPL version 2. * * Significant portions of this file may be copied from parts of the Linux @@ -9,34 +9,19 @@ #ifndef ACTIONS_H #define ACTIONS_H 1 -#include #include +#include struct datapath; struct sk_buff; -struct odp_flow_key; -union odp_action; +struct sw_flow_key; -int execute_actions(struct datapath *dp, struct sk_buff *skb, - struct odp_flow_key *key, - const union odp_action *, int n_actions, - gfp_t gfp); +int execute_actions(struct datapath *dp, struct sk_buff *skb); -static inline void set_skb_csum_bits(const struct sk_buff *old_skb, - struct sk_buff *new_skb) +static inline void skb_clear_rxhash(struct sk_buff *skb) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) - /* Before 2.6.24 these fields were not copied when - * doing an skb_copy_expand. */ - new_skb->ip_summed = old_skb->ip_summed; - new_skb->csum = old_skb->csum; -#endif -#if defined(CONFIG_XEN) && defined(HAVE_PROTO_DATA_VALID) - /* These fields are copied in skb_clone but not in - * skb_copy or related functions. We need to manually - * copy them over here. */ - new_skb->proto_data_valid = old_skb->proto_data_valid; - new_skb->proto_csum_blank = old_skb->proto_csum_blank; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) + skb->rxhash = 0; #endif }