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 <mmaha...@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 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev