summaryrefslogtreecommitdiffstats
path: root/zebra/zapi_msg.c
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2018-06-29 19:45:44 +0200
committerGitHub <noreply@github.com>2018-06-29 19:45:44 +0200
commit1ad26882cb8ebdd4b5e47acd99ea302f29489718 (patch)
treeebfaa911dc27fd20d545ecb5f3f52c8de25ceec0 /zebra/zapi_msg.c
parentMerge pull request #2532 from donaldsharp/various_stuff (diff)
parentbgpd: rework enumerate function, handle not values (diff)
downloadfrr-1ad26882cb8ebdd4b5e47acd99ea302f29489718.tar.xz
frr-1ad26882cb8ebdd4b5e47acd99ea302f29489718.zip
Merge pull request #2517 from pguibert6WIND/flowspec_other_options
Flowspec support other options
Diffstat (limited to 'zebra/zapi_msg.c')
-rw-r--r--zebra/zapi_msg.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c
index 6946c33ac..6e0d86d66 100644
--- a/zebra/zapi_msg.c
+++ b/zebra/zapi_msg.c
@@ -2915,9 +2915,9 @@ static inline void zread_ipset_entry(ZAPI_HANDLER_ARGS)
if (!is_default_prefix(&zpi.dst))
zpi.filter_bm |= PBR_FILTER_DST_IP;
- if (zpi.dst_port_min != 0)
+ if (zpi.dst_port_min != 0 || zpi.proto == IPPROTO_ICMP)
zpi.filter_bm |= PBR_FILTER_DST_PORT;
- if (zpi.src_port_min != 0)
+ if (zpi.src_port_min != 0 || zpi.proto == IPPROTO_ICMP)
zpi.filter_bm |= PBR_FILTER_SRC_PORT;
if (zpi.dst_port_max != 0)
zpi.filter_bm |= PBR_FILTER_DST_PORT_RANGE;
@@ -2957,6 +2957,12 @@ static inline void zread_iptable(ZAPI_HANDLER_ARGS)
STREAM_GETL(s, zpi.action);
STREAM_GETL(s, zpi.fwmark);
STREAM_GET(&zpi.ipset_name, s, ZEBRA_IPSET_NAME_SIZE);
+ STREAM_GETW(s, zpi.pkt_len_min);
+ STREAM_GETW(s, zpi.pkt_len_max);
+ STREAM_GETW(s, zpi.tcp_flags);
+ STREAM_GETW(s, zpi.tcp_mask_flags);
+ STREAM_GETC(s, zpi.dscp_value);
+ STREAM_GETC(s, zpi.fragment);
STREAM_GETL(s, zpi.nb_interface);
zebra_pbr_iptable_update_interfacelist(s, &zpi);