Skip to content

Commit 1d4c706

Browse files
committed
remove enable filter and manage defaults
1 parent e0101d9 commit 1d4c706

File tree

1 file changed

+29
-17
lines changed

1 file changed

+29
-17
lines changed

scripts/functions.sh

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,6 @@ function flows_usage {
315315
echo " --enable_dns: enable DNS tracking (default: false)"
316316
echo " --enable_rtt: enable RTT tracking (default: false)"
317317
echo " --enable_network_events: enable Network events monitoring (default: false)"
318-
echo " --enable_filter: enable flow filter (default: false)"
319318
# common
320319
common_usage
321320
# specific filters
@@ -349,6 +348,11 @@ function updateFLPConfig {
349348
function edit_manifest() {
350349
## replace the configuration in the manifest file
351350
echo "opt: $1, evalue: $2"
351+
352+
if [[ $1 == "filter_"* ]]; then
353+
"$YQ_BIN" e --inplace ".spec.template.spec.containers[0].env[] |= select(.name==\"ENABLE_FLOW_FILTER\").value|=\"true\"" "$3"
354+
fi
355+
352356
case "$1" in
353357
"interfaces")
354358
"$YQ_BIN" e --inplace ".spec.template.spec.containers[0].env[] |= select(.name==\"INTERFACES\").value|=\"$2\"" "$3"
@@ -397,9 +401,6 @@ function edit_manifest() {
397401
fi
398402
fi
399403
;;
400-
"filter_enable")
401-
"$YQ_BIN" e --inplace ".spec.template.spec.containers[0].env[] |= select(.name==\"ENABLE_FLOW_FILTER\").value|=\"$2\"" "$3"
402-
;;
403404
"filter_direction")
404405
"$YQ_BIN" e --inplace " .spec.template.spec.containers[0].env[] |= select(.name == \"FLOW_FILTER_RULES\").value |=(fromjson | map(.direction = \"$2\")| tostring)" "$3"
405406
;;
@@ -452,6 +453,10 @@ function edit_manifest() {
452453
"$YQ_BIN" e --inplace " .spec.template.spec.containers[0].env[] |= select(.name == \"FLOW_FILTER_RULES\").value |=(fromjson | map(.tcp_flags = \"$2\")| tostring)" "$3"
453454
;;
454455
"filter_pkt_drops")
456+
if [[ "$2" == "true" ]]; then
457+
# force enable drops before setting filter
458+
edit_manifest "pktdrop_enable" "$2" "$3"
459+
fi
455460
"$YQ_BIN" e --inplace " .spec.template.spec.containers[0].env[] |= select(.name == \"FLOW_FILTER_RULES\").value |=(fromjson | map(.drops = $2)| tostring)" "$3"
456461
;;
457462
"filter_regexes")
@@ -495,6 +500,18 @@ function edit_manifest() {
495500
esac
496501
}
497502

503+
504+
# define key and value at script level to make them available all the time
505+
# these will be updated by check_args_and_apply first and overriden by defaultValue when needed
506+
key=""
507+
value=""
508+
509+
function defaultValue() {
510+
if [ "$key" == "$value" ]; then
511+
value="$1"
512+
fi
513+
}
514+
498515
# Check if the arguments are valid
499516
#$1: options
500517
#$2: manifest
@@ -506,14 +523,15 @@ function check_args_and_apply() {
506523
value="${option#*=}"
507524
case "$key" in
508525
--background) # Run command in background
526+
defaultValue "true"
509527
if [[ "$value" == "true" || "$value" == "false" ]]; then
510-
echo "param: $key, param_value: $value"
511528
runBackground="$value"
512529
else
513530
echo "invalid value for --background"
514531
fi
515532
;;
516533
--copy) # Copy or skip without prompt
534+
defaultValue "true"
517535
if [[ "$value" == "true" || "$value" == "false" || "$value" == "prompt" ]]; then
518536
copy="$value"
519537
else
@@ -525,6 +543,7 @@ function check_args_and_apply() {
525543
;;
526544
--enable_pktdrop) # Enable packet drop
527545
if [[ "$3" == "flows" ]]; then
546+
defaultValue "true"
528547
if [[ "$value" == "true" || "$value" == "false" ]]; then
529548
edit_manifest "pktdrop_enable" "$value" "$2"
530549
else
@@ -537,6 +556,7 @@ function check_args_and_apply() {
537556
;;
538557
--enable_dns) # Enable DNS
539558
if [[ "$3" == "flows" ]]; then
559+
defaultValue "true"
540560
if [[ "$value" == "true" || "$value" == "false" ]]; then
541561
edit_manifest "dns_enable" "$value" "$2"
542562
else
@@ -549,6 +569,7 @@ function check_args_and_apply() {
549569
;;
550570
--enable_rtt) # Enable RTT
551571
if [[ "$3" == "flows" ]]; then
572+
defaultValue "true"
552573
if [[ "$value" == "true" || "$value" == "false" ]]; then
553574
edit_manifest "rtt_enable" "$value" "$2"
554575
else
@@ -561,6 +582,7 @@ function check_args_and_apply() {
561582
;;
562583
--enable_network_events) # Enable Network events monitoring
563584
if [[ "$3" == "flows" ]]; then
585+
defaultValue "true"
564586
if [[ "$value" == "true" || "$value" == "false" ]]; then
565587
edit_manifest "network_events_enable" "$value" "$2"
566588
else
@@ -571,18 +593,6 @@ function check_args_and_apply() {
571593
exit 1
572594
fi
573595
;;
574-
--enable_filter) # Enable flow filter
575-
if [[ "$3" == "flows" ]]; then
576-
if [[ "$value" == "true" || "$value" == "false" ]]; then
577-
edit_manifest "filter_enable" "$value" "$2"
578-
else
579-
echo "invalid value for --enable_filter"
580-
fi
581-
else
582-
echo "--enable_filter is invalid option for packets"
583-
exit 1
584-
fi
585-
;;
586596
--direction) # Configure filter direction
587597
if [[ "$value" == "Ingress" || "$value" == "Egress" ]]; then
588598
edit_manifest "filter_direction" "$value" "$2"
@@ -635,6 +645,7 @@ function check_args_and_apply() {
635645
fi
636646
;;
637647
--drops) # Filter packet drops
648+
defaultValue "true"
638649
if [[ "$value" == "true" || "$value" == "false" ]]; then
639650
edit_manifest "filter_pkt_drops" "$value" "$2"
640651
else
@@ -692,6 +703,7 @@ function check_args_and_apply() {
692703
fi
693704
;;
694705
--get-subnets) # Get subnets
706+
defaultValue "true"
695707
if [[ "$value" == "true" || "$value" == "false" ]]; then
696708
edit_manifest "get_subnets" "$value" "$2"
697709
else

0 commit comments

Comments
 (0)