Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch

Jesse Gross says:

====================
A few bug fixes and small enhancements for net-next/3.6.
...
Ansis Atteka (1):
openvswitch: Do not send notification if ovs_vport_set_options() failed

Ben Pfaff (1):
openvswitch: Check gso_type for correct sk_buff in queue_gso_packets().

Jesse Gross (2):
openvswitch: Enable retrieval of TCP flags from IPv6 traffic.
openvswitch: Reset upper layer protocol info on internal devices.

Leo Alterman (1):
openvswitch: Fix typo in documentation.

Pravin B Shelar (1):
openvswitch: Check currect return value from skb_gso_segment()

Raju Subramanian (1):
openvswitch: Replace Nicira Networks.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

+30 -18
+1 -1
Documentation/networking/openvswitch.txt
··· 118 118 Naively, to add VLAN support, it makes sense to add a new "vlan" flow 119 119 key attribute to contain the VLAN tag, then continue to decode the 120 120 encapsulated headers beyond the VLAN tag using the existing field 121 - definitions. With this change, an TCP packet in VLAN 10 would have a 121 + definitions. With this change, a TCP packet in VLAN 10 would have a 122 122 flow key much like this: 123 123 124 124 eth(...), vlan(vid=10, pcp=0), eth_type(0x0800), ip(proto=6, ...), tcp(...)
+1 -1
net/openvswitch/actions.c
··· 1 1 /* 2 - * Copyright (c) 2007-2012 Nicira Networks. 2 + * Copyright (c) 2007-2012 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public
+8 -5
net/openvswitch/datapath.c
··· 1 1 /* 2 - * Copyright (c) 2007-2012 Nicira Networks. 2 + * Copyright (c) 2007-2012 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public ··· 263 263 static int queue_gso_packets(int dp_ifindex, struct sk_buff *skb, 264 264 const struct dp_upcall_info *upcall_info) 265 265 { 266 + unsigned short gso_type = skb_shinfo(skb)->gso_type; 266 267 struct dp_upcall_info later_info; 267 268 struct sw_flow_key later_key; 268 269 struct sk_buff *segs, *nskb; 269 270 int err; 270 271 271 272 segs = skb_gso_segment(skb, NETIF_F_SG | NETIF_F_HW_CSUM); 272 - if (IS_ERR(skb)) 273 - return PTR_ERR(skb); 273 + if (IS_ERR(segs)) 274 + return PTR_ERR(segs); 274 275 275 276 /* Queue all of the segments. */ 276 277 skb = segs; ··· 280 279 if (err) 281 280 break; 282 281 283 - if (skb == segs && skb_shinfo(skb)->gso_type & SKB_GSO_UDP) { 282 + if (skb == segs && gso_type & SKB_GSO_UDP) { 284 283 /* The initial flow key extracted by ovs_flow_extract() 285 284 * in this case is for a first fragment, so we need to 286 285 * properly mark later fragments. ··· 1650 1649 1651 1650 if (!err && a[OVS_VPORT_ATTR_OPTIONS]) 1652 1651 err = ovs_vport_set_options(vport, a[OVS_VPORT_ATTR_OPTIONS]); 1653 - if (!err && a[OVS_VPORT_ATTR_UPCALL_PID]) 1652 + if (err) 1653 + goto exit_unlock; 1654 + if (a[OVS_VPORT_ATTR_UPCALL_PID]) 1654 1655 vport->upcall_pid = nla_get_u32(a[OVS_VPORT_ATTR_UPCALL_PID]); 1655 1656 1656 1657 reply = ovs_vport_cmd_build_info(vport, info->snd_pid, info->snd_seq,
+1 -1
net/openvswitch/datapath.h
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2012 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public
+1 -1
net/openvswitch/dp_notify.c
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2012 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public
+3 -2
net/openvswitch/flow.c
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2011 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public ··· 182 182 { 183 183 u8 tcp_flags = 0; 184 184 185 - if (flow->key.eth.type == htons(ETH_P_IP) && 185 + if ((flow->key.eth.type == htons(ETH_P_IP) || 186 + flow->key.eth.type == htons(ETH_P_IPV6)) && 186 187 flow->key.ip.proto == IPPROTO_TCP && 187 188 likely(skb->len >= skb_transport_offset(skb) + sizeof(struct tcphdr))) { 188 189 u8 *tcp = (u8 *)tcp_hdr(skb);
+1 -1
net/openvswitch/flow.h
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2011 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public
+9 -1
net/openvswitch/vport-internal_dev.c
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2012 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public ··· 23 23 #include <linux/etherdevice.h> 24 24 #include <linux/ethtool.h> 25 25 #include <linux/skbuff.h> 26 + 27 + #include <net/dst.h> 28 + #include <net/xfrm.h> 26 29 27 30 #include "datapath.h" 28 31 #include "vport-internal_dev.h" ··· 212 209 int len; 213 210 214 211 len = skb->len; 212 + 213 + skb_dst_drop(skb); 214 + nf_reset(skb); 215 + secpath_reset(skb); 216 + 215 217 skb->dev = netdev; 216 218 skb->pkt_type = PACKET_HOST; 217 219 skb->protocol = eth_type_trans(skb, netdev);
+1 -1
net/openvswitch/vport-internal_dev.h
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2011 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public
+1 -1
net/openvswitch/vport-netdev.c
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2012 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public
+1 -1
net/openvswitch/vport-netdev.h
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2011 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public
+1 -1
net/openvswitch/vport.c
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2012 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public
+1 -1
net/openvswitch/vport.h
··· 1 1 /* 2 - * Copyright (c) 2007-2011 Nicira Networks. 2 + * Copyright (c) 2007-2012 Nicira, Inc. 3 3 * 4 4 * This program is free software; you can redistribute it and/or 5 5 * modify it under the terms of version 2 of the GNU General Public