lldp: improve debug log message
This commit is contained in:
parent
559696f763
commit
4f0e4d29b0
|
@ -34,3 +34,6 @@ struct sd_lldp {
|
|||
|
||||
#define log_lldp_errno(error, fmt, ...) log_internal(LOG_DEBUG, error, __FILE__, __LINE__, __func__, "LLDP: " fmt, ##__VA_ARGS__)
|
||||
#define log_lldp(fmt, ...) log_lldp_errno(0, fmt, ##__VA_ARGS__)
|
||||
|
||||
const char* lldp_event_to_string(sd_lldp_event e) _const_;
|
||||
sd_lldp_event lldp_event_from_string(const char *s) _pure_;
|
||||
|
|
|
@ -6,15 +6,25 @@
|
|||
#include "sd-lldp.h"
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "ether-addr-util.h"
|
||||
#include "fd-util.h"
|
||||
#include "lldp-internal.h"
|
||||
#include "lldp-neighbor.h"
|
||||
#include "lldp-network.h"
|
||||
#include "socket-util.h"
|
||||
#include "ether-addr-util.h"
|
||||
#include "string-table.h"
|
||||
|
||||
#define LLDP_DEFAULT_NEIGHBORS_MAX 128U
|
||||
|
||||
static const char * const lldp_event_table[_SD_LLDP_EVENT_MAX] = {
|
||||
[SD_LLDP_EVENT_ADDED] = "added",
|
||||
[SD_LLDP_EVENT_REMOVED] = "removed",
|
||||
[SD_LLDP_EVENT_UPDATED] = "updated",
|
||||
[SD_LLDP_EVENT_REFRESHED] = "refreshed",
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(lldp_event, sd_lldp_event);
|
||||
|
||||
static void lldp_flush_neighbors(sd_lldp *lldp) {
|
||||
sd_lldp_neighbor *n;
|
||||
|
||||
|
@ -26,12 +36,14 @@ static void lldp_flush_neighbors(sd_lldp *lldp) {
|
|||
|
||||
static void lldp_callback(sd_lldp *lldp, sd_lldp_event event, sd_lldp_neighbor *n) {
|
||||
assert(lldp);
|
||||
assert(event >= 0 && event < _SD_LLDP_EVENT_MAX);
|
||||
|
||||
log_lldp("Invoking callback for '%c'.", event);
|
||||
|
||||
if (!lldp->callback)
|
||||
if (!lldp->callback) {
|
||||
log_lldp("Received '%s' event.", lldp_event_to_string(event));
|
||||
return;
|
||||
}
|
||||
|
||||
log_lldp("Invoking callback for '%s' event.", lldp_event_to_string(event));
|
||||
lldp->callback(lldp, event, n, lldp->userdata);
|
||||
}
|
||||
|
||||
|
|
|
@ -109,10 +109,12 @@ typedef struct sd_lldp sd_lldp;
|
|||
typedef struct sd_lldp_neighbor sd_lldp_neighbor;
|
||||
|
||||
typedef enum sd_lldp_event {
|
||||
SD_LLDP_EVENT_ADDED = 'a',
|
||||
SD_LLDP_EVENT_REMOVED = 'r',
|
||||
SD_LLDP_EVENT_UPDATED = 'u',
|
||||
SD_LLDP_EVENT_REFRESHED = 'f',
|
||||
SD_LLDP_EVENT_ADDED,
|
||||
SD_LLDP_EVENT_REMOVED,
|
||||
SD_LLDP_EVENT_UPDATED,
|
||||
SD_LLDP_EVENT_REFRESHED,
|
||||
_SD_LLDP_EVENT_MAX,
|
||||
_SD_LLDP_EVENT_INVALID = -1,
|
||||
} sd_lldp_event;
|
||||
|
||||
typedef void (*sd_lldp_callback_t)(sd_lldp *lldp, sd_lldp_event event, sd_lldp_neighbor *n, void *userdata);
|
||||
|
|
Loading…
Reference in a new issue