diff options
| -rw-r--r-- | pbrd/pbr_map.h | 6 | ||||
| -rw-r--r-- | pbrd/pbr_zebra.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/pbrd/pbr_map.h b/pbrd/pbr_map.h index caeadb0644..5673024772 100644 --- a/pbrd/pbr_map.h +++ b/pbrd/pbr_map.h @@ -85,6 +85,12 @@ struct pbr_map_sequence { uint32_t ruleno; /* + * src and dst ports + */ + uint16_t src_prt; + uint16_t dst_prt; + + /* * Our policy Catchers */ struct prefix *src; diff --git a/pbrd/pbr_zebra.c b/pbrd/pbr_zebra.c index fc5303c9d8..8e21d24d03 100644 --- a/pbrd/pbr_zebra.c +++ b/pbrd/pbr_zebra.c @@ -535,9 +535,9 @@ static void pbr_encode_pbr_map_sequence(struct stream *s, stream_putl(s, pbrms->ruleno); stream_putl(s, pbrms->unique); pbr_encode_pbr_map_sequence_prefix(s, pbrms->src, family); - stream_putw(s, 0); /* src port */ + stream_putw(s, pbrms->src_prt); pbr_encode_pbr_map_sequence_prefix(s, pbrms->dst, family); - stream_putw(s, 0); /* dst port */ + stream_putw(s, pbrms->dst_prt); stream_putc(s, pbrms->dsfield); stream_putl(s, pbrms->mark); |
