6 #ifndef NETLINK_FLOWER_H_
7 #define NETLINK_FLOWER_H_
9 #include <netlink/netlink.h>
10 #include <netlink/cache.h>
11 #include <netlink/route/classifier.h>
12 #include <netlink/route/action.h>
18 extern int rtnl_flower_set_proto(
struct rtnl_cls *cls, uint16_t);
19 extern int rtnl_flower_get_proto(
struct rtnl_cls *cls, uint16_t *);
21 extern int rtnl_flower_set_vlan_id(
struct rtnl_cls *, uint16_t);
22 extern int rtnl_flower_get_vlan_id(
struct rtnl_cls *, uint16_t *);
24 extern int rtnl_flower_set_vlan_prio(
struct rtnl_cls *, uint8_t);
25 extern int rtnl_flower_get_vlan_prio(
struct rtnl_cls *, uint8_t *);
27 extern int rtnl_flower_set_vlan_ethtype(
struct rtnl_cls *, uint16_t);
29 extern int rtnl_flower_set_dst_mac(
struct rtnl_cls *,
unsigned char *,
31 extern int rtnl_flower_get_dst_mac(
struct rtnl_cls *,
unsigned char *,
34 extern int rtnl_flower_set_src_mac(
struct rtnl_cls *,
unsigned char *,
36 extern int rtnl_flower_get_src_mac(
struct rtnl_cls *,
unsigned char *,
39 extern int rtnl_flower_set_ip_dscp(
struct rtnl_cls *, uint8_t, uint8_t);
40 extern int rtnl_flower_get_ip_dscp(
struct rtnl_cls *, uint8_t *, uint8_t *);
42 extern int rtnl_flower_set_ipv4_src(
struct rtnl_cls *, in_addr_t, in_addr_t);
43 extern int rtnl_flower_get_ipv4_src(
struct rtnl_cls *, in_addr_t *,
45 extern int rtnl_flower_set_ipv4_dst(
struct rtnl_cls *, in_addr_t, in_addr_t);
46 extern int rtnl_flower_get_ipv4_dst(
struct rtnl_cls *, in_addr_t *,
49 extern int rtnl_flower_set_flags(
struct rtnl_cls *,
int);
51 extern int rtnl_flower_append_action(
struct rtnl_cls *,
struct rtnl_act *);
52 extern int rtnl_flower_del_action(
struct rtnl_cls *,
struct rtnl_act *);
53 extern struct rtnl_act* rtnl_flower_get_action(
struct rtnl_cls *);