summaryrefslogtreecommitdiff
path: root/lib/route/cls/ematch.c
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2010-10-29 21:10:02 +0200
committerThomas Graf <tgraf@suug.ch>2010-10-29 21:10:02 +0200
commitc7a673787b9dabca5b29fed0eee526156df66807 (patch)
tree774b20118e3e8d398ac3796588cb966b051afc4d /lib/route/cls/ematch.c
parent93f992eac5a0d35114de4e937326d1d03a53a25f (diff)
downloadlibnl-c7a673787b9dabca5b29fed0eee526156df66807.tar.gz
text ematch support
Diffstat (limited to 'lib/route/cls/ematch.c')
-rw-r--r--lib/route/cls/ematch.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/route/cls/ematch.c b/lib/route/cls/ematch.c
index b0943bf..76c34be 100644
--- a/lib/route/cls/ematch.c
+++ b/lib/route/cls/ematch.c
@@ -667,4 +667,19 @@ errout:
return err;
}
+static const char *layer_txt[] = {
+ [TCF_LAYER_LINK] = "eth",
+ [TCF_LAYER_NETWORK] = "ip",
+ [TCF_LAYER_TRANSPORT] = "tcp",
+};
+
+char *rtnl_ematch_offset2txt(uint8_t layer, uint16_t offset, char *buf, size_t len)
+{
+ snprintf(buf, len, "%s+%u",
+ (layer <= TCF_LAYER_MAX) ? layer_txt[layer] : "?",
+ offset);
+
+ return buf;
+}
+
/** @} */