[ovs-dev] [PATCH] Correct number of bytes to allocated for slaves in bundle action.

Mehak Mahajan mmahajan at nicira.com
Wed Aug 15 07:12:01 UTC 2012


The size of each slave is a uint16_t.  This means that each slave needs 2 bytes
at the end of nx_action_bundle.  Earlier, the size of each slave was not being
factored in when allocating space.  This commit corrects that by allocating 2
bytes for each slave when calculating the total number of bytes to be allocated
at the end of nx_action_bundle.

Signed-off-by: Mehak Mahajan <mmahajan at nicira.com>
---
 lib/bundle.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/bundle.c b/lib/bundle.c
index c6b1f75..e0f8e6b 100644
--- a/lib/bundle.c
+++ b/lib/bundle.c
@@ -217,7 +217,7 @@ bundle_check(const struct ofpact_bundle *bundle, int max_ports,
 void
 bundle_to_nxast(const struct ofpact_bundle *bundle, struct ofpbuf *openflow)
 {
-    int slaves_len = ROUND_UP(bundle->n_slaves, OFP_ACTION_ALIGN);
+    int slaves_len = ROUND_UP(2 * bundle->n_slaves, OFP_ACTION_ALIGN);
     struct nx_action_bundle *nab;
     ovs_be16 *slaves;
     size_t i;
-- 
1.7.2.5




More information about the dev mailing list