summaryrefslogtreecommitdiff
path: root/lib/pbr.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pbr.h')
-rw-r--r--lib/pbr.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/pbr.h b/lib/pbr.h
index f4b6633812..1a3d562ed9 100644
--- a/lib/pbr.h
+++ b/lib/pbr.h
@@ -85,14 +85,23 @@ struct pbr_filter {
* the user criteria may directly point to a table too.
*/
struct pbr_action {
+ uint32_t flags;
+
+#define PBR_ACTION_TABLE (1 << 0)
+#define PBR_ACTION_QUEUE_ID (1 << 1)
+#define PBR_ACTION_PCP (1 << 2)
+#define PBR_ACTION_VLAN_ID (1 << 3)
+#define PBR_ACTION_VLAN_FLAGS (1 << 4)
+
+ uint32_t table;
+ uint32_t queue_id;
+
/* VLAN */
uint8_t pcp;
uint16_t vlan_id;
uint16_t vlan_flags;
- uint32_t queue_id;
- uint32_t table;
};
/*
@@ -146,8 +155,8 @@ struct pbr_rule {
#define MATCH_FLOW_LABEL_SET (1 << 12)
#define MATCH_FLOW_LABEL_INVERSE_SET (1 << 13)
-extern int zapi_pbr_rule_encode(uint8_t cmd, struct stream *s,
- struct pbr_rule *zrule);
+extern int zapi_pbr_rule_encode(struct stream *s, struct pbr_rule *r);
+extern bool zapi_pbr_rule_decode(struct stream *s, struct pbr_rule *r);
#ifdef __cplusplus
}