Remove pad member from struct ofpact_nest. Also MSVC does not support parameters with __declspec as stated in: https://msdn.microsoft.com/en-us/library/373ak2y1.aspx so accommodate the code to the new format.
Signed-off-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> --- lib/ofp-actions.c | 12 ++++++------ lib/ofp-actions.h | 8 ++++---- ofproto/ofproto-dpif.c | 2 +- ofproto/ofproto.c | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c index 260d854..dac77fe 100644 --- a/lib/ofp-actions.c +++ b/lib/ofp-actions.c @@ -5625,7 +5625,7 @@ ofpact_check__(enum ofputil_protocol *usable_protocols, struct ofpact *a, * * May temporarily modify 'flow', but restores the changes before returning. */ enum ofperr -ofpacts_check(struct ofpact ofpacts[], size_t ofpacts_len, +ofpacts_check(struct ofpact *ofpacts, size_t ofpacts_len, struct flow *flow, ofp_port_t max_ports, uint8_t table_id, uint8_t n_tables, enum ofputil_protocol *usable_protocols) @@ -5653,7 +5653,7 @@ ofpacts_check(struct ofpact ofpacts[], size_t ofpacts_len, /* Like ofpacts_check(), but reports inconsistencies as * OFPERR_OFPBAC_MATCH_INCONSISTENT rather than clearing bits. */ enum ofperr -ofpacts_check_consistency(struct ofpact ofpacts[], size_t ofpacts_len, +ofpacts_check_consistency(struct ofpact *ofpacts, size_t ofpacts_len, struct flow *flow, ofp_port_t max_ports, uint8_t table_id, uint8_t n_tables, enum ofputil_protocol usable_protocols) @@ -5675,7 +5675,7 @@ ofpacts_check_consistency(struct ofpact ofpacts[], size_t ofpacts_len, * 'allowed_ovsinsts' is a bitmap of OVSINST_* values, in which 1-bits indicate * instructions that are allowed within 'ofpacts[]'. */ static enum ofperr -ofpacts_verify(const struct ofpact ofpacts[], size_t ofpacts_len, +ofpacts_verify(const struct ofpact *ofpacts, size_t ofpacts_len, uint32_t allowed_ovsinsts) { const struct ofpact *a; @@ -5749,7 +5749,7 @@ encode_ofpact(const struct ofpact *a, enum ofp_version ofp_version, * actions in 'openflow', appending the actions to any existing data in * 'openflow'. */ size_t -ofpacts_put_openflow_actions(const struct ofpact ofpacts[], size_t ofpacts_len, +ofpacts_put_openflow_actions(const struct ofpact *ofpacts, size_t ofpacts_len, struct ofpbuf *openflow, enum ofp_version ofp_version) { @@ -5770,7 +5770,7 @@ ofpact_is_apply_actions(const struct ofpact *a) } void -ofpacts_put_openflow_instructions(const struct ofpact ofpacts[], +ofpacts_put_openflow_instructions(const struct ofpact *ofpacts, size_t ofpacts_len, struct ofpbuf *openflow, enum ofp_version ofp_version) @@ -6059,7 +6059,7 @@ ofpacts_equal(const struct ofpact *a, size_t a_len, * This function relies on the order of 'ofpacts' being correct (as checked by * ofpacts_verify()). */ uint32_t -ofpacts_get_meter(const struct ofpact ofpacts[], size_t ofpacts_len) +ofpacts_get_meter(const struct ofpact *ofpacts, size_t ofpacts_len) { const struct ofpact *a; diff --git a/lib/ofp-actions.h b/lib/ofp-actions.h index c232513..3ad7cbf 100644 --- a/lib/ofp-actions.h +++ b/lib/ofp-actions.h @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) 2012, 2013, 2014, 2015 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -175,6 +175,7 @@ OVS_ALIGNED_STRUCT(OFPACT_ALIGNTO, ofpact) { * struct ofpact, excluding padding. */ }; BUILD_ASSERT_DECL(sizeof(struct ofpact) == OFPACT_ALIGNTO); +typedef struct ofpact _ofpact; static inline struct ofpact * ofpact_next(const struct ofpact *ofpact) @@ -457,7 +458,6 @@ struct ofpact_meter { * Used for OFPIT11_WRITE_ACTIONS. */ struct ofpact_nest { struct ofpact ofpact; - uint8_t pad[PAD_SIZE(sizeof(struct ofpact), OFPACT_ALIGNTO)]; struct ofpact actions[]; }; BUILD_ASSERT_DECL(offsetof(struct ofpact_nest, actions) % OFPACT_ALIGNTO == 0); @@ -752,8 +752,8 @@ bool ofpacts_output_to_port(const struct ofpact[], size_t ofpacts_len, ofp_port_t port); bool ofpacts_output_to_group(const struct ofpact[], size_t ofpacts_len, uint32_t group_id); -bool ofpacts_equal(const struct ofpact a[], size_t a_len, - const struct ofpact b[], size_t b_len); +bool ofpacts_equal(const struct ofpact[], size_t a_len, + const struct ofpact[], size_t b_len); uint32_t ofpacts_get_meter(const struct ofpact[], size_t ofpacts_len); /* Formatting and parsing ofpacts. */ diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 38ad6e2..9480548 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -4897,7 +4897,7 @@ exit: static void ofproto_trace(struct ofproto_dpif *ofproto, struct flow *flow, const struct dp_packet *packet, - const struct ofpact ofpacts[], size_t ofpacts_len, + const struct ofpact *ofpacts, size_t ofpacts_len, struct ds *ds) { struct trace_ctx trace; diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index 07a1f5d..4a7fd8c 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -3205,7 +3205,7 @@ reject_slave_controller(struct ofconn *ofconn) * Returns 0 if successful, otherwise an OpenFlow error. */ static enum ofperr ofproto_check_ofpacts(struct ofproto *ofproto, - const struct ofpact ofpacts[], size_t ofpacts_len) + const struct ofpact *ofpacts, size_t ofpacts_len) { const struct ofpact *a; uint32_t mid; -- 1.9.5.msysgit.0 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev