diff options
author | G. Paul Ziemba <paulz@labn.net> | 2023-07-31 06:33:10 +0200 |
---|---|---|
committer | G. Paul Ziemba <paulz@labn.net> | 2023-08-09 21:11:35 +0200 |
commit | 887367a01c0e978e992935ae93f3df4e3c1bd86c (patch) | |
tree | 533826535f9359febf6b935fb6ee44b63121c63a /lib/pbr.h | |
parent | pbrd: add explicit 'family' field for rules (diff) | |
download | frr-887367a01c0e978e992935ae93f3df4e3c1bd86c.tar.xz frr-887367a01c0e978e992935ae93f3df4e3c1bd86c.zip |
pbrd: use flags to indicate active fields
Before now, PBRD used non-zero values to imply that a rule's
match or action field was active. This approach was getting
cumbersome for fields where 0 is a valid active value and
various field-specific magic values had to be used.
This commit changes PBRD to use a flag bit per field to
indicate that the field is active.
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
Diffstat (limited to 'lib/pbr.h')
-rw-r--r-- | lib/pbr.h | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -57,7 +57,7 @@ struct pbr_filter { struct prefix src_ip; struct prefix dst_ip; - /* Source and Destination higher-layer (TCP/UDP) port numbers */ + /* Source and Destination layer 4 (TCP/UDP/etc.) port numbers */ uint16_t src_port; uint16_t dst_port; @@ -88,11 +88,11 @@ struct pbr_filter { 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) +#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_STRIP_INNER_ANY (1 << 4) uint32_t table; uint32_t queue_id; @@ -100,7 +100,6 @@ struct pbr_action { /* VLAN */ uint8_t pcp; uint16_t vlan_id; - uint16_t vlan_flags; }; |