#define LACP_INFO_LEN 15
struct lacp_info {
- ovs_be16 sys_priority; /* System priority. */
- uint8_t sysid[ETH_ADDR_LEN]; /* System ID. */
- ovs_be16 key; /* Operational key. */
- ovs_be16 port_priority; /* Port priority. */
- ovs_be16 portid; /* Port ID. */
- uint8_t state; /* State mask. See LACP_STATE macros. */
+ ovs_be16 sys_priority; /* System priority. */
+ uint8_t sys_id[ETH_ADDR_LEN]; /* System ID. */
+ ovs_be16 key; /* Operational key. */
+ ovs_be16 port_priority; /* Port priority. */
+ ovs_be16 port_id; /* Port ID. */
+ uint8_t state; /* State mask. See LACP_STATE macros. */
} __attribute__((packed));
BUILD_ASSERT_DECL(LACP_INFO_LEN == sizeof(struct lacp_info));
} __attribute__((packed));
BUILD_ASSERT_DECL(LACP_PDU_LEN == sizeof(struct lacp_pdu));
-void compose_lacp_packet(struct ofpbuf *, struct lacp_info *actor,
- struct lacp_info *partner,
- const uint8_t eth_src[ETH_ADDR_LEN]);
+void compose_lacp_packet(struct ofpbuf *, const uint8_t eth_src[ETH_ADDR_LEN],
+ const struct lacp_pdu *);
+
+void compose_lacp_pdu(const struct lacp_info *actor,
+ const struct lacp_info *partner, struct lacp_pdu *);
const struct lacp_pdu *parse_lacp_packet(const struct ofpbuf *);