1. 27 8月, 2013 1 次提交
  2. 24 8月, 2013 1 次提交
    • A
      openvswitch: Mega flow implementation · 03f0d916
      Andy Zhou 提交于
      Add wildcarded flow support in kernel datapath.
      
      Wildcarded flow can improve OVS flow set up performance by avoid sending
      matching new flows to the user space program. The exact performance boost
      will largely dependent on wildcarded flow hit rate.
      
      In case all new flows hits wildcard flows, the flow set up rate is
      within 5% of that of linux bridge module.
      
      Pravin has made significant contributions to this patch. Including API
      clean ups and bug fixes.
      Signed-off-by: NPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: NAndy Zhou <azhou@nicira.com>
      Signed-off-by: NJesse Gross <jesse@nicira.com>
      03f0d916
  3. 15 8月, 2013 1 次提交
    • J
      openvswitch: Reset tunnel key between input and output. · 36bf5cc6
      Jesse Gross 提交于
      It doesn't make sense to output a tunnel packet using the same
      parameters that it was received with since that will generally
      just result in the packet going back to us. As a result, userspace
      assumes that the tunnel key is cleared when transitioning through
      the switch. In the majority of cases this doesn't matter since a
      packet is either going to a tunnel port (in which the key is
      overwritten with new values) or to a non-tunnel port (in which
      case the key is ignored). However, it's theoreticaly possible that
      userspace could rely on the documented behavior, so this corrects
      it.
      Signed-off-by: NJesse Gross <jesse@nicira.com>
      36bf5cc6
  4. 20 6月, 2013 1 次提交
  5. 15 6月, 2013 1 次提交
  6. 20 4月, 2013 1 次提交
  7. 23 2月, 2013 1 次提交
    • C
      openvswitch: fix the calculation of checksum for vlan header · 7b024082
      Cong Wang 提交于
      In vlan_insert_tag(), we insert a 4-byte VLAN header _after_
      mac header:
      
              memmove(skb->data, skb->data + VLAN_HLEN, 2 * ETH_ALEN);
              ...
              veth->h_vlan_proto = htons(ETH_P_8021Q);
              ...
              veth->h_vlan_TCI = htons(vlan_tci);
      
      so after it, we should recompute the checksum to include these 4 bytes.
      skb->data still points to the mac header, therefore VLAN header is at
      (2 * ETH_ALEN = 12) bytes after it, not (ETH_HLEN = 14) bytes.
      
      This can also be observed via tcpdump:
      
               0x0000:  ffff ffff ffff 5254 005d 6f6e 8100 000a
               0x0010:  0806 0001 0800 0604 0001 5254 005d 6f6e
               0x0020:  c0a8 026e 0000 0000 0000 c0a8 0282
      
      Similar for __pop_vlan_tci(), the vlan header we remove is the one
      overwritten in:
      
      	memmove(skb->data + VLAN_HLEN, skb->data, 2 * ETH_ALEN);
      
      Therefore the VLAN_HLEN = 4 bytes after 2 * ETH_ALEN is the part
      we want to sub from checksum.
      
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Jesse Gross <jesse@nicira.com>
      Signed-off-by: NCong Wang <amwang@redhat.com>
      Signed-off-by: NJesse Gross <jesse@nicira.com>
      7b024082
  8. 27 11月, 2012 1 次提交
  9. 14 11月, 2012 1 次提交
  10. 11 9月, 2012 1 次提交
  11. 04 9月, 2012 1 次提交
  12. 03 9月, 2012 1 次提交
  13. 28 7月, 2012 1 次提交
  14. 23 7月, 2012 1 次提交
  15. 04 5月, 2012 1 次提交
  16. 08 3月, 2012 1 次提交
  17. 04 12月, 2011 1 次提交
    • J
      net: Add Open vSwitch kernel components. · ccb1352e
      Jesse Gross 提交于
      Open vSwitch is a multilayer Ethernet switch targeted at virtualized
      environments.  In addition to supporting a variety of features
      expected in a traditional hardware switch, it enables fine-grained
      programmatic extension and flow-based control of the network.
      This control is useful in a wide variety of applications but is
      particularly important in multi-server virtualization deployments,
      which are often characterized by highly dynamic endpoints and the need
      to maintain logical abstractions for multiple tenants.
      
      The Open vSwitch datapath provides an in-kernel fast path for packet
      forwarding.  It is complemented by a userspace daemon, ovs-vswitchd,
      which is able to accept configuration from a variety of sources and
      translate it into packet processing rules.
      
      See http://openvswitch.org for more information and userspace
      utilities.
      Signed-off-by: NJesse Gross <jesse@nicira.com>
      ccb1352e