#include "hmap.h"
#include "list.h"
#include "lldp/lldpd.h"
-#include "ovsdb-data.h"
-#include "ovs-thread.h"
+#include "ovs-atomic.h"
#include "packets.h"
#include "timer.h"
/* Transmit every LLDPD_TX_INTERVAL seconds. */
-#define LLDP_DEFAULT_TRANSMIT_INTERVAL_MS LLDPD_TX_INTERVAL * 1000
+#define LLDP_DEFAULT_TRANSMIT_INTERVAL_MS (LLDPD_TX_INTERVAL * 1000)
-struct flow_wildcards;
struct flow;
struct netdev;
struct smap;
-struct lldp_status {
- /* TODO should reflect lldp stack detail */
- char *stackdetail; /* Added because MSVC doesn't like empty structs */
-};
-
/* Structure per LLDP instance (at the moment per port when enabled).
*/
struct lldp {
struct hmap mappings_by_aux; /* "struct" indexed by aux */
struct ovs_list active_mapping_queue;
struct ovs_refcount ref_cnt;
+ bool enabled; /* LLDP enabled on port */
};
/* Configuration specific to Auto Attach.
long long int lldp_wake_time(const struct lldp *lldp);
void lldp_run(struct lldpd *cfg);
bool lldp_should_send_packet(struct lldp *cfg);
-bool lldp_should_process_flow(const struct flow *flow);
-bool lldp_configure(struct lldp *lldp);
+bool lldp_should_process_flow(struct lldp *lldp, const struct flow *flow);
+bool lldp_configure(struct lldp *lldp, const struct smap *cfg);
void lldp_process_packet(struct lldp *cfg, const struct dp_packet *);
void lldp_put_packet(struct lldp *lldp, struct dp_packet *packet,
uint8_t eth_src[ETH_ADDR_LEN]);