summaryrefslogtreecommitdiff
path: root/lib/route/cls/ematch_syntax.y
diff options
context:
space:
mode:
Diffstat (limited to 'lib/route/cls/ematch_syntax.y')
-rw-r--r--lib/route/cls/ematch_syntax.y22
1 files changed, 17 insertions, 5 deletions
diff --git a/lib/route/cls/ematch_syntax.y b/lib/route/cls/ematch_syntax.y
index 0c89603f..961ee43e 100644
--- a/lib/route/cls/ematch_syntax.y
+++ b/lib/route/cls/ematch_syntax.y
@@ -4,8 +4,10 @@
*/
%{
-#include <netlink-private/netlink.h>
-#include <netlink-private/tc.h>
+#include <linux/tc_ematch/tc_em_meta.h>
+
+#include <linux/tc_ematch/tc_em_cmp.h>
+
#include <netlink/netlink.h>
#include <netlink/utils.h>
#include <netlink/route/pktloc.h>
@@ -14,8 +16,8 @@
#include <netlink/route/cls/ematch/nbyte.h>
#include <netlink/route/cls/ematch/text.h>
#include <netlink/route/cls/ematch/meta.h>
-#include <linux/tc_ematch/tc_em_meta.h>
-#include <linux/tc_ematch/tc_em_cmp.h>
+
+#include "nl-route.h"
#define META_ALLOC rtnl_meta_value_alloc_id
#define META_ID(name) TCF_META_ID_##name
@@ -23,6 +25,16 @@
#define META_VAR TCF_META_TYPE_VAR
%}
+%code requires {
+
+struct ematch_quoted {
+ char * data;
+ size_t len;
+ int index;
+};
+
+}
+
%error-verbose
%define api.pure
%name-prefix "ematch_"
@@ -406,7 +418,7 @@ pattern:
if (nl_addr_parse($1, AF_UNSPEC, &addr) == 0) {
$$.len = nl_addr_get_len(addr);
- $$.index = min_t(int, $$.len, nl_addr_get_prefixlen(addr)/8);
+ $$.index = _NL_MIN($$.len, nl_addr_get_prefixlen(addr)/8);
if (!($$.data = calloc(1, $$.len))) {
nl_addr_put(addr);