diff mbox

[ovs-dev,01/24] datapath: compat: clear skb IPCB block.

Message ID 1468387441-61781-1-git-send-email-pshelar@ovn.org
State Accepted
Headers show

Commit Message

Pravin Shelar July 13, 2016, 5:23 a.m. UTC
OVS compat ip_local_out/ip6_local_out clear out skb IPCB, we also
need to do it for non compat version.

Signed-off-by: Pravin B Shelar <pshelar@ovn.org>
---
 datapath/linux/compat/gso.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

Comments

Pravin Shelar July 13, 2016, 5:24 a.m. UTC | #1
From: Pravin B Shelar <pshelar@nicira.com>

Following patches brings in couple of fixes to recent tunneling changes.
along with various other improvement and fixes.


Pravin B Shelar (24):
  datapath: compat: clear skb IPCB block.
  datapath: tnl-segmentation: clone dst for each segment.
  datapath: compat: Set OVS-GSO segment handler only for GSO packet.
  datapath: compat: reset md_dst on recieve.
  datapath: Use skb_postpush_rcsum()
  datapath: Sync OVS recursive loop counter with upstream.
  datapath: remove get_pcpu_ptr
  datapath: genlmsg_new_unicast to genlmsg_new
  datapath: backport: openvswitch: allow management from inside user namespaces
  datapath: backport: retain parsed IPv6 header fields in flow on error skipping extension headers
  datapath: backport: allow output of MPLS packets on tunnel vports
  datapath: backport: ovs: allow nl 'flow set' to use ufid without flow key
  datapath: backport: ovs: align nlattr properly when needed
  datapath: backport: ovs: use nla_put_u64_64bit()
  datapath: backport: ovs: propagate per dp max headroom to all vports
  datapath: backport: libnl: nla_put_be64(): align on a 64-bit area
  datapath: use PTR_ERR_OR_ZERO
  datapath: Move key memset to ovs_flow_key_extract_userspace()
  datapath: backport: ovs: do not allocate memory from offline numa node
  datapath: backport: ovs: set name assign type of internal port
  datapath: internal-dev: set IFF_NO_QUEUE
  datapath: vxlan: enable zero checksum on recv.
  datapath: openvswitch: update checksum in {push,pop}_mpls
  datapath: Check for flow key tunnel proto to detect tunnel.

 acinclude.m4                                      |   5 +-
 datapath/actions.c                                |  62 +++++-----
 datapath/datapath.c                               | 141 ++++++++++++++--------
 datapath/datapath.h                               |   4 +
 datapath/flow.c                                   |  23 +++-
 datapath/flow_netlink.c                           |  15 +--
 datapath/flow_table.c                             |   5 +-
 datapath/linux/Modules.mk                         |   1 +
 datapath/linux/compat/geneve.c                    |   2 +-
 datapath/linux/compat/gso.c                       |   5 +
 datapath/linux/compat/gso.h                       |  16 +++
 datapath/linux/compat/include/linux/err.h         |   9 ++
 datapath/linux/compat/include/linux/genetlink.h   |  10 ++
 datapath/linux/compat/include/linux/netdevice.h   |  25 ++++
 datapath/linux/compat/include/linux/openvswitch.h |   4 +
 datapath/linux/compat/include/linux/percpu.h      |   6 -
 datapath/linux/compat/include/linux/skbuff.h      |  20 +++
 datapath/linux/compat/include/net/dst_metadata.h  |  20 +--
 datapath/linux/compat/include/net/genetlink.h     |   9 --
 datapath/linux/compat/include/net/netlink.h       |  59 +++++++++
 datapath/linux/compat/include/net/udp_tunnel.h    |  14 ++-
 datapath/linux/compat/ip_gre.c                    |   2 +-
 datapath/linux/compat/ip_tunnels_core.c           |  13 +-
 datapath/linux/compat/lisp.c                      |   2 +-
 datapath/linux/compat/stt.c                       |   2 +-
 datapath/linux/compat/utils.c                     |  39 ++++++
 datapath/linux/compat/vxlan.c                     |   2 +-
 datapath/vport-internal_dev.c                     |  21 +++-
 datapath/vport-netdev.c                           |   2 +-
 datapath/vport-vxlan.c                            |   2 +-
 datapath/vport.h                                  |   7 --
 lib/odp-util.c                                    |   2 +
 32 files changed, 399 insertions(+), 150 deletions(-)
 create mode 100644 datapath/linux/compat/include/linux/genetlink.h
Jesse Gross July 17, 2016, 1:27 a.m. UTC | #2
On Wed, Jul 13, 2016 at 7:24 AM, Pravin B Shelar <pshelar@ovn.org> wrote:
> From: Pravin B Shelar <pshelar@nicira.com>
>
> Following patches brings in couple of fixes to recent tunneling changes.
> along with various other improvement and fixes.

With the exception of the patches that I had specific comments on, all
of this looks good to me:
Acked-by: Jesse Gross <jesse@kernel.org>

Of the remaining patches, the only one that I'm actually concerned
about is the MPLS one. The other two are just trivial changes.
Pravin Shelar July 17, 2016, 5:26 p.m. UTC | #3
On Sat, Jul 16, 2016 at 6:27 PM, Jesse Gross <jesse@kernel.org> wrote:
> On Wed, Jul 13, 2016 at 7:24 AM, Pravin B Shelar <pshelar@ovn.org> wrote:
>> From: Pravin B Shelar <pshelar@nicira.com>
>>
>> Following patches brings in couple of fixes to recent tunneling changes.
>> along with various other improvement and fixes.
>
> With the exception of the patches that I had specific comments on, all
> of this looks good to me:
> Acked-by: Jesse Gross <jesse@kernel.org>
>
> Of the remaining patches, the only one that I'm actually concerned
> about is the MPLS one. The other two are just trivial changes.

Thanks for review.
I pushed all acked patches.
diff mbox

Patch

diff --git a/datapath/linux/compat/gso.h b/datapath/linux/compat/gso.h
index 0969d4d..280fc96 100644
--- a/datapath/linux/compat/gso.h
+++ b/datapath/linux/compat/gso.h
@@ -96,6 +96,22 @@  static inline int skb_inner_mac_offset(const struct sk_buff *skb)
 
 #define ip6_local_out rpl_ip6_local_out
 int rpl_ip6_local_out(struct sk_buff *skb);
+#else
+
+static inline int rpl_ip_local_out(struct sk_buff *skb)
+{
+	memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
+	return ip_local_out(skb);
+}
+#define ip_local_out rpl_ip_local_out
+
+static inline int rpl_ip6_local_out(struct sk_buff *skb)
+{
+	memset(IP6CB(skb), 0, sizeof (*IP6CB(skb)));
+	return ip6_local_out(skb);
+}
+#define ip6_local_out rpl_ip6_local_out
+
 #endif /* 3.18 */
 
 #ifndef USE_UPSTREAM_TUNNEL