These flags should always be valid and allows the flags element of tnl_mutable_config to be removed.
The flags in mutable were actually not being set due to a previous patch in this series, so all flag-related features, except outgoing ken and csum which were restored in a previous patch, were disabled. Cc: Kyle Mestery <[email protected]> Signed-of-by: Simon Horman <[email protected]> --- datapath/tunnel.c | 13 ++++++------- datapath/tunnel.h | 4 ---- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/datapath/tunnel.c b/datapath/tunnel.c index 982de25..a91e319 100644 --- a/datapath/tunnel.c +++ b/datapath/tunnel.c @@ -482,7 +482,7 @@ bool ovs_tnl_frag_needed(struct vport *vport, * not symmetric then PMTUD needs to be disabled since we won't have * any way of synthesizing packets. */ - if ((mutable->flags & (TNL_F_IN_KEY_MATCH | TNL_F_OUT_KEY_ACTION)) == + if ((OVS_CB(skb)->tun_key->tun_flags & (TNL_F_IN_KEY_MATCH | TNL_F_OUT_KEY_ACTION)) == (TNL_F_IN_KEY_MATCH | TNL_F_OUT_KEY_ACTION)) { ntun_key = *tun_key; OVS_CB(nskb)->tun_key = &ntun_key; @@ -503,9 +503,9 @@ static bool check_mtu(struct sk_buff *skb, const struct tnl_mutable_config *mutable, int tun_hlen, const struct rtable *rt, __be16 *frag_offp) { - bool df_inherit = mutable->flags & TNL_F_DF_INHERIT; - bool pmtud = mutable->flags & TNL_F_PMTUD; - __be16 frag_off = mutable->flags & TNL_F_DF_DEFAULT ? htons(IP_DF) : 0; + bool df_inherit = OVS_CB(skb)->tun_key->tun_flags & TNL_F_DF_INHERIT; + bool pmtud = OVS_CB(skb)->tun_key->tun_flags & TNL_F_PMTUD; + __be16 frag_off = OVS_CB(skb)->tun_key->tun_flags & TNL_F_DF_DEFAULT ? htons(IP_DF) : 0; int mtu = 0; unsigned int packet_length = skb->len - ETH_HLEN; @@ -804,7 +804,7 @@ int ovs_tnl_send(struct vport *vport, struct sk_buff *skb) else inner_tos = 0; - if (mutable->flags & TNL_F_TOS_INHERIT) + if (OVS_CB(skb)->tun_key->tun_flags & TNL_F_TOS_INHERIT) tos = inner_tos; else tos = OVS_CB(skb)->tun_key->ipv4_tos; @@ -851,7 +851,7 @@ int ovs_tnl_send(struct vport *vport, struct sk_buff *skb) ttl = OVS_CB(skb)->tun_key->ipv4_ttl; if (!ttl) ttl = ip4_dst_hoplimit(&rt_dst(rt)); - if (mutable->flags & TNL_F_TTL_INHERIT) { + if (OVS_CB(skb)->tun_key->tun_flags & TNL_F_TTL_INHERIT) { if (skb->protocol == htons(ETH_P_IP)) ttl = ip_hdr(skb)->ttl; #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) @@ -919,7 +919,6 @@ static int tnl_set_config(struct net *net, { const struct vport *old_vport; - mutable->flags = 0; port_key_set_net(&mutable->key, net); mutable->key.tunnel_type = tnl_ops->tunnel_type; diff --git a/datapath/tunnel.h b/datapath/tunnel.h index a32241f..4893903 100644 --- a/datapath/tunnel.h +++ b/datapath/tunnel.h @@ -86,7 +86,6 @@ static inline void port_key_set_net(struct port_lookup_key *key, struct net *net * @seq: Sequence number for distinguishing configuration versions. * @eth_addr: Source address for packets generated by tunnel itself * (e.g. ICMP fragmentation needed messages). - * @flags: TNL_F_* flags. */ struct tnl_mutable_config { struct port_lookup_key key; @@ -95,9 +94,6 @@ struct tnl_mutable_config { unsigned seq; unsigned char eth_addr[ETH_ALEN]; - - /* Configured via OVS_TUNNEL_ATTR_* attributes. */ - u32 flags; }; struct tnl_ops { -- 1.7.10.2.484.gcd07cc5 _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
