libnl/include/netlink/route/cls/ematch/nbyte.h
Thomas Graf d7a561a137 Tons of ematch work
- Fixes a bunch of bugs related to ematches
 - Adds support for the nbyte ematch
 - Adds a bison/flex parser for ematch expressions, expressions
   may look like this:
      ip.length > 256 && pattern(ip6.src = 3ffe::/16)
   documenation on syntax follows
 - adds ematch support to the basic classifier (--ematch EXPR)
2010-10-29 00:20:42 +02:00

36 lines
1 KiB
C

/*
* netlink/route/cls/ematch/nbyte.h N-Byte Comparison
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version 2.1
* of the License.
*
* Copyright (c) 2010 Thomas Graf <tgraf@suug.ch>
*/
#ifndef NETLINK_CLS_EMATCH_NBYTE_H_
#define NETLINK_CLS_EMATCH_NBYTE_H_
#include <netlink/netlink.h>
#include <netlink/route/cls/ematch.h>
#include <linux/tc_ematch/tc_em_nbyte.h>
#ifdef __cplusplus
extern "C" {
#endif
extern void rtnl_ematch_nbyte_set_offset(struct rtnl_ematch *,
uint8_t, uint16_t);
extern uint16_t rtnl_ematch_nbyte_get_offset(struct rtnl_ematch *);
extern uint8_t rtnl_ematch_nbyte_get_layer(struct rtnl_ematch *);
extern void rtnl_ematch_nbyte_set_pattern(struct rtnl_ematch *,
uint8_t *, size_t);
extern uint8_t * rtnl_ematch_nbyte_get_pattern(struct rtnl_ematch *);
extern size_t rtnl_ematch_nbyte_get_len(struct rtnl_ematch *);
#ifdef __cplusplus
}
#endif
#endif