summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pbrd/pbr_map.h6
-rw-r--r--pbrd/pbr_zebra.c4
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);