diff options
author | G. Paul Ziemba <paulz@labn.net> | 2023-08-01 15:49:38 +0200 |
---|---|---|
committer | G. Paul Ziemba <paulz@labn.net> | 2023-08-08 19:18:22 +0200 |
commit | 5572f45d51c587691384a9ec3a195e6a01540930 (patch) | |
tree | 2f4eb5f788a0194b8ecf49fb5119df25817d5385 /pbrd | |
parent | pbrd: add nexthop drop type (diff) | |
download | frr-5572f45d51c587691384a9ec3a195e6a01540930.tar.xz frr-5572f45d51c587691384a9ec3a195e6a01540930.zip |
pbrd: PBR_FILTER_DSFIELD -> {PBR_FILTER_DSCP,PBR_FILTER_ECN}
DSCP and ECN matching are configured independently. Maintain
these values in independent fields in pbrd, zapi, and zebra.
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
Diffstat (limited to 'pbrd')
-rw-r--r-- | pbrd/pbr_vty.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/pbrd/pbr_vty.c b/pbrd/pbr_vty.c index 5ee262b9c..cffd3794c 100644 --- a/pbrd/pbr_vty.c +++ b/pbrd/pbr_vty.c @@ -361,8 +361,10 @@ DEFPY (pbr_map_match_dscp, /* Set the DSCP bits of the DSField */ pbrms->dsfield = (pbrms->dsfield & ~PBR_DSFIELD_DSCP) | (rawDscp << 2); + SET_FLAG(pbrms->filter_bm, PBR_FILTER_DSCP); } else { pbrms->dsfield &= ~PBR_DSFIELD_DSCP; + UNSET_FLAG(pbrms->filter_bm, PBR_FILTER_DSCP); } pbr_map_check(pbrms, true); @@ -391,8 +393,10 @@ DEFPY (pbr_map_match_ecn, /* Set the ECN bits of the DSField */ pbrms->dsfield = (pbrms->dsfield & ~PBR_DSFIELD_ECN) | ecn; + SET_FLAG(pbrms->filter_bm, PBR_FILTER_ECN); } else { pbrms->dsfield &= ~PBR_DSFIELD_ECN; + UNSET_FLAG(pbrms->filter_bm, PBR_FILTER_ECN); } pbr_map_check(pbrms, true); |