1. 17 Aug, 2015 2 commits
  2. 13 Aug, 2015 1 commit
    • Simon Horman's avatar
      flow: Ignore invalid ICMPv6 fields when parsing packets · f8fe60be
      Simon Horman authored
      There is a miss-match between the handling of invalid ICMPv6 fields in the
      implementations of parse_icmpv6() in user-space and in the kernel datapath.
      
      This patch addresses that by modifying the user-space implementation to
      match that of the kernel datapath; processing is terminated without
      rather than with an error and partial information is cleared.
      
      With these changes the user-space implementation of parse_icmpv6()
      never returns an error. Accordingly the return type and caller have been
      updated.
      
      The original motivation for this is to allow matching the ICMPv6 type and
      code of packets with invalid neighbour discovery options although only the
      change around the '(!opt_len || opt_len > *sizep)' conditional is necessary
      to achieve that goal.
      Signed-off-by: default avatarSimon Horman <simon.horman@netronome.com>
      Signed-off-by: default avatarJesse Gross <jesse@nicira.com>
      f8fe60be
  3. 06 Aug, 2015 2 commits
  4. 31 Jul, 2015 1 commit
  5. 30 Jul, 2015 3 commits
  6. 29 Jul, 2015 3 commits
    • Ben Pfaff's avatar
      Fix treatment of OpenFlow 1.1+ bucket weights. · b82ef59d
      Ben Pfaff authored
      Until now, OVS has parsed all OF1.1+ group buckets that lack a weight
      as having weight 1.  Unfortunately, OpenFlow says that only "select"
      groups may have a nonzero weight, and requires reporting an error for
      other kinds of groups that have a nonzero weight.  This commit fixes
      the problem by parsing only select groups with a default weight of 1
      and other groups with a default weight of 0.  It also adds the
      OpenFlow-required check for nonzero weights for other kinds of groups.
      
      This complies with OpenFlow 1.1 and later.  OF1.1 says in section 5.8:
      
          If a specified group type is invalid (ie: includes fields such as
          weight that are undefined for the specified group type) then the
          switch must refuse to add the group entry and must send an
          ofp_error_msg with OFPET_GROUP_MOD_FAILED type and
          OFPGMFC_INVALID_GROUP code.
      
      Found by OFTest.
      Signed-off-by: default avatarBen Pfaff <blp@nicira.com>
      Acked-by: default avatarFlavio Leitner <fbl@sysclose.org>
      b82ef59d
    • Ben Pfaff's avatar
      ofp-actions: OFPP_ANY (aka OFPP_NONE) is not a valid output port. · 277d3c45
      Ben Pfaff authored
      This is implied by the list of ports that are valid for output in the
      various versions of the OpenFlow specification.
      
      Found by OFTest.
      Signed-off-by: default avatarBen Pfaff <blp@nicira.com>
      Acked-by: default avatarFlavio Leitner <fbl@sysclose.org>
      277d3c45
    • Ben Pfaff's avatar
      ofproto: Ignore generation ID for role change to "equal". · aa379b44
      Ben Pfaff authored
      The OpenFlow specification says that only role changes to slave or master
      check the generation ID, so this is a bug fix.
      
      OpenFlow 1.2 section A.3.9 phrases the requirement this way:
      
          Additionally, if the role value in the message is OFPCR_ROLE_MASTER
          or OFPCR_ROLE_SLAVE, the switch must validate generation_id to check
          for stale messages.
      
      Found by OFTest.
      Signed-off-by: default avatarBen Pfaff <blp@nicira.com>
      aa379b44
  7. 28 Jul, 2015 8 commits
  8. 27 Jul, 2015 1 commit
  9. 24 Jul, 2015 1 commit
  10. 22 Jul, 2015 1 commit
    • Chris J Arges's avatar
      datapath: allocate nr_node_ids flow_stats instead of num_possible_nodes · ab645c8e
      Chris J Arges authored
      Some architectures like POWER can have a NUMA node_possible_map that
      contains sparse entries. This causes memory corruption with openvswitch
      since it allocates flow_cache with a multiple of num_possible_nodes()
      and
      assumes the node variable returned by for_each_node will index into
      flow->stats[node].
      
      Use nr_node_ids to allocate a maximal sparse array instead of
      num_possible_nodes().
      
      The crash was noticed after 3af229f2 was applied as it changed the
      node_possible_map to match node_online_map on boot.
      Fixes: 3af229f2071f5b5cb31664be6109561fbe19c861
      Signed-off-by: default avatarChris J Arges <chris.j.arges@canonical.com>
      Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
      ab645c8e
  11. 21 Jul, 2015 1 commit
    • Flavio Leitner's avatar
      rhel: Fix ifup-ovs to delete ports first. · 9a783536
      Flavio Leitner authored
      When ifdown isn't executed (system didn't shut down properly),
      the interfaces remain in the openvswitch's database.  For the
      internal ports or devices that are available when openvswitch
      service starts that's not an issue.
      
      However, ovs-vsctl won't do anything for devices created later
      (Linux vlan devices for instance) since they are already in the
      database. That leaves a inconsistency behind because they will
      be left out of the kernel's datapath.
      
      The ifup/ifdown will operate only on configured interfaces, so
      this patch fixes the issue by deleting the interface from the
      database before attempt to configure it.
      Signed-off-by: default avatarFlavio Leitner <fbl@redhat.com>
      Acked-by: default avatarJiri Benc <jbenc@redhat.com>
      Signed-off-by: default avatarBen Pfaff <blp@nicira.com>
      9a783536
  12. 20 Jul, 2015 3 commits
  13. 16 Jul, 2015 3 commits
  14. 15 Jul, 2015 3 commits
  15. 14 Jul, 2015 1 commit
  16. 13 Jul, 2015 2 commits
  17. 10 Jul, 2015 2 commits
  18. 06 Jul, 2015 2 commits