components/openvswitch/patches/03-dpif-provider.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Sat, 14 Jan 2017 13:51:41 -0800
changeset 7578 0d6f61408e89
parent 7412 49c812f3de0b
permissions -rw-r--r--
25395691 cannot install new pulseaudio package with de_CH enabled (fix pkgfmt)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
     1
This patch includes support for the Solaris dpif provider.
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
     2
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
     3
This patch has not been proposed upstream because we are not yet
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
     4
proposing Solaris specific requirements upstream.
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
     5
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
     6
diff --git a/lib/dpif-provider.h b/lib/dpif-provider.h
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
     7
index 389e84e..5f2d50a 100644
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
     8
--- a/lib/dpif-provider.h
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
     9
+++ b/lib/dpif-provider.h
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    10
@@ -439,6 +439,7 @@ struct dpif_class {
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    11
 };
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    12
 
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    13
 extern const struct dpif_class dpif_linux_class;
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    14
+extern const struct dpif_class dpif_solaris_class;
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    15
 extern const struct dpif_class dpif_netdev_class;
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    16
 
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    17
 #ifdef  __cplusplus
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    18
diff --git a/lib/dpif.c b/lib/dpif.c
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    19
index 450c6c8..337cf4b 100644
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    20
--- a/lib/dpif.c
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    21
+++ b/lib/dpif.c
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    22
@@ -60,6 +60,9 @@ static const struct dpif_class *base_dpif_classes[] = {
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    23
 #ifdef __linux__
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    24
     &dpif_linux_class,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    25
 #endif
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    26
+#ifdef __sun
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    27
+    &dpif_solaris_class,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    28
+#endif
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    29
     &dpif_netdev_class,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    30
 };
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    31
 
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    32
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    33
index 9b87248..656e6b1 100644
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    34
--- a/ofproto/ofproto-dpif.c
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    35
+++ b/ofproto/ofproto-dpif.c
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    36
@@ -1469,7 +1469,7 @@ run(struct ofproto *ofproto_)
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    37
 }
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    38
 
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    39
 static void
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    40
-wait(struct ofproto *ofproto_)
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    41
+dpwait(struct ofproto *ofproto_)
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    42
 {
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    43
     struct ofproto_dpif *ofproto = ofproto_dpif_cast(ofproto_);
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    44
 
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    45
@@ -4946,7 +4946,7 @@ const struct ofproto_class ofproto_dpif_class = {
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    46
     destruct,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    47
     dealloc,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    48
     run,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    49
-    wait,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    50
+    dpwait,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    51
     NULL,                       /* get_memory_usage. */
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    52
     type_get_memory_usage,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    53
     flush,
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    54
diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    55
index 028e7e0..62e0cf1 100644
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    56
--- a/ofproto/ofproto-dpif-xlate.c
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    57
+++ b/ofproto/ofproto-dpif-xlate.c
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    58
@@ -3236,6 +3236,7 @@ xlate_actions(struct xlate_in *xin, struct xlate_out *xout)
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    59
     fat_rwlock_unlock(&xlate_rwlock);
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    60
 }
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    61
 
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    62
+#ifdef __linux__
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    63
 /* Returns the maximum number of packets that the Linux kernel is willing to
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    64
  * queue up internally to certain kinds of software-implemented ports, or the
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    65
  * default (and rarely modified) value if it cannot be determined. */
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    66
@@ -3288,7 +3289,9 @@ count_output_actions(const struct ofpbuf *odp_actions)
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    67
     }
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    68
     return n;
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    69
 }
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    70
+#endif
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    71
 
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    72
+#ifdef __linux__
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    73
 /* Returns true if 'odp_actions' contains more output actions than the datapath
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    74
  * can reliably handle in one go.  On Linux, this is the value of the
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    75
  * net.core.netdev_max_backlog sysctl, which limits the maximum number of
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    76
@@ -3297,15 +3300,19 @@ count_output_actions(const struct ofpbuf *odp_actions)
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    77
 static bool
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    78
 too_many_output_actions(const struct ofpbuf *odp_actions)
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    79
 {
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    80
-#ifdef __linux__
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    81
     return (ofpbuf_size(odp_actions) / NL_A_U32_SIZE > netdev_max_backlog()
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    82
             && count_output_actions(odp_actions) > netdev_max_backlog());
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    83
+}
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    84
 #else
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    85
+static bool
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    86
+too_many_output_actions(const struct ofpbuf *odp_actions OVS_UNUSED)
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    87
+{
5730
cca4aa297e68 22590644 OpenvSwitch should be updated to version 2.3.2
Mark Haywood <Mark.Haywood@Oracle.COM>
parents: 5090
diff changeset
    88
+
5090
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    89
     /* OSes other than Linux might have similar limits, but we don't know how
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    90
      * to determine them.*/
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    91
     return false;
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    92
-#endif
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    93
 }
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    94
+#endif
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    95
 
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    96
 /* Translates the 'ofpacts_len' bytes of "struct ofpacts" starting at 'ofpacts'
5f131162e136 PSARC/2015/311 Open vSwitch (OVS)
Mark Haywood <Mark.Haywood@Oracle.COM>
parents:
diff changeset
    97
  * into datapath actions in 'odp_actions', using 'ctx'.
7412
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
    98
diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
    99
index 193e6b7..23cfa4d 100644
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   100
--- a/ofproto/ofproto-dpif-upcall.c
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   101
+++ b/ofproto/ofproto-dpif-upcall.c
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   102
@@ -997,8 +997,11 @@ handle_upcalls(struct handler *handler, struct hmap *misses,
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   103
             struct ofpbuf mask;
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   104
             bool megaflow;
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   105
 
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   106
-            miss->put = true;
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   107
+#ifdef __sun
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   108
+            if (miss->xout.nf_output_iface != NF_OUT_FLOOD) {
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   109
+#endif
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   110
 
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   111
+            miss->put = true;
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   112
             atomic_read(&enable_megaflows, &megaflow);
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   113
             ofpbuf_use_stack(&mask, &miss->mask_buf, sizeof miss->mask_buf);
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   114
             if (megaflow) {
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   115
@@ -1031,6 +1034,11 @@ handle_upcalls(struct handler *handler, struct hmap *misses,
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   116
                 op->u.flow_put.actions = ofpbuf_data(&buf);
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   117
                 op->u.flow_put.actions_len = ofpbuf_size(&buf);
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   118
             }
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   119
+#ifdef __sun
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   120
+            } else {
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   121
+                VLOG_DBG("handle_upcalls flush action, do not flow_put");
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   122
+            }
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   123
+#endif
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   124
         }
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   125
 
49c812f3de0b 24818584 TCP throughput dropped >6X because the traffic flooded to all ports
Cathy Zhou <Cathy.Zhou@Oracle.COM>
parents: 5730
diff changeset
   126
         /*