pespin has uploaded this change for review.

View Change

route: Introduce LOGPRT macro to improve logging

Change-Id: I00823f4b61d082d2de848c81e8592a4a1b2697e5
---
M src/ss7_route.c
M src/ss7_route.h
2 files changed, 19 insertions(+), 19 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/54/40554/1
diff --git a/src/ss7_route.c b/src/ss7_route.c
index e40f1bc..ec41a8a 100644
--- a/src/ss7_route.c
+++ b/src/ss7_route.c
@@ -109,12 +109,12 @@
struct osmo_ss7_route_table *rtbl = rt->rtable;

if (rt->cfg.linkset_name) {
- LOGSS7(rtbl->inst, LOGL_ERROR, "Attempt setting linkset on route already configured!\n");
+ LOGPRT(rt, DLSS7, LOGL_ERROR, "Attempt setting linkset on route already configured!\n");
return -EBUSY;
}

if (ss7_route_inserted(rt)) {
- LOGSS7(rtbl->inst, LOGL_ERROR, "Attempt setting linkset on route already in the routing table!\n");
+ LOGPRT(rt, DLSS7, LOGL_ERROR, "Attempt setting linkset on route already in the routing table!\n");
return -EALREADY;
}

@@ -128,15 +128,10 @@
rt->cfg.linkset_name = talloc_strdup(rt, linkset_name);
if (lset) {
rt->dest.linkset = lset;
- LOGSS7(rtbl->inst, LOGL_INFO, "Creating route: pc=%u=%s mask=0x%x via linkset '%s'\n",
- rt->cfg.pc, osmo_ss7_pointcode_print(rtbl->inst, rt->cfg.pc),
- rt->cfg.mask, lset->cfg.name);
} else {
rt->dest.as = as;
- LOGSS7(rtbl->inst, LOGL_INFO, "Creating route: pc=%u=%s mask=0x%x via AS '%s'\n",
- rt->cfg.pc, osmo_ss7_pointcode_print(rtbl->inst, rt->cfg.pc),
- rt->cfg.mask, as->cfg.name);
}
+ LOGPRT(rt, DLSS7, LOGL_INFO, "Creating route: %s\n", osmo_ss7_route_name(rt, false));
return 0;
}

@@ -154,12 +149,12 @@
struct osmo_ss7_route_table *rtbl = rt->rtable;

if (ss7_route_inserted(rt)) {
- LOGSS7(rtbl->inst, LOGL_ERROR, "Attempt insert of route already in the routing table!\n");
+ LOGPRT(rt, DLSS7, LOGL_ERROR, "Attempt insert of route already in the routing table!\n");
return -EALREADY;
}

if (!rt->cfg.linkset_name) {
- LOGSS7(rtbl->inst, LOGL_ERROR, "Attempt insert of route with unset linkset!\n");
+ LOGPRT(rt, DLSS7, LOGL_ERROR, "Attempt insert of route with unset linkset!\n");
return -EINVAL;
}

@@ -169,10 +164,8 @@
llist_for_each_entry(prev_rt, &clset->routes, list) {
if (strcmp(prev_rt->cfg.linkset_name, rt->cfg.linkset_name) == 0 &&
prev_rt->cfg.dyn_allocated == rt->cfg.dyn_allocated) {
- LOGSS7(rtbl->inst, LOGL_ERROR,
- "Refusing to create route with existing linkset name: pc=%u=%s mask=0x%x via linkset/AS '%s'\n",
- rt->cfg.pc, osmo_ss7_pointcode_print(rtbl->inst, rt->cfg.pc),
- rt->cfg.mask, rt->cfg.linkset_name);
+ LOGPRT(rt, DLSS7, LOGL_ERROR,
+ "Refusing to create route with existing linkset/AS name '%s'\n", rt->cfg.linkset_name);
return -EADDRINUSE;
}
}
@@ -234,11 +227,8 @@
return;

if (ss7_route_inserted(rt)) {
- struct osmo_ss7_instance *inst = rt->rtable->inst;
- LOGSS7(inst, LOGL_INFO,
- "Destroying route: pc=%u=%s mask=0x%x via linkset/ASP '%s'\n",
- rt->cfg.pc, osmo_ss7_pointcode_print(inst, rt->cfg.pc),
- rt->cfg.mask, rt->cfg.linkset_name);
+ LOGPRT(rt, DLSS7, LOGL_INFO,
+ "Destroying route: %s\n", osmo_ss7_route_name(rt, false));
ss7_combined_linkset_del_route(rt);
}
talloc_free(rt);
diff --git a/src/ss7_route.h b/src/ss7_route.h
index 4bb7a2b..c7ed609 100644
--- a/src/ss7_route.h
+++ b/src/ss7_route.h
@@ -60,3 +60,13 @@
int ss7_route_insert(struct osmo_ss7_route *rt);

bool ss7_route_is_available(const struct osmo_ss7_route *rt);
+#define LOGPRT(rt, subsys, level, fmt, args ...) do { \
+ char _pc_str[MAX_PC_STR_LEN]; \
+ char _mask_str[MAX_PC_STR_LEN]; \
+ _LOGSS7((rt)->rtable->inst, subsys, level, \
+ "RT(dpc=%u=%s,mask=0x%x=%s,prio=%u) " fmt, \
+ (rt)->cfg.pc, osmo_ss7_pointcode_print_buf(_pc_str, MAX_PC_STR_LEN, (rt)->rtable->inst, (rt)->cfg.pc), \
+ (rt)->cfg.mask, osmo_ss7_pointcode_print_buf(_mask_str, MAX_PC_STR_LEN, (rt)->rtable->inst, (rt)->cfg.mask), \
+ (rt)->cfg.priority, \
+ ## args); \
+ } while (0)

To view, visit change 40554. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I00823f4b61d082d2de848c81e8592a4a1b2697e5
Gerrit-Change-Number: 40554
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>