@@ -342,7 +342,6 @@ function filters_usage {
342342 # agent node selector
343343 echo " --node-selector: capture on specific nodes (default: n/a)"
344344 # agent filters
345- echo " --enable_filter: enable flow filter (default: false)"
346345 echo " --direction: filter direction (default: n/a)"
347346 echo " --cidr: filter CIDR (default: 0.0.0.0/0)"
348347 echo " --protocol: filter protocol (default: n/a)"
@@ -408,6 +407,11 @@ function updateFLPConfig {
408407function edit_manifest() {
409408 # # replace the configuration in the manifest file
410409 echo " opt: $1 , evalue: $2 "
410+
411+ if [[ $1 == " filter_" * ]]; then
412+ " $YQ_BIN " e --inplace " .spec.template.spec.containers[0].env[] |= select(.name==\" ENABLE_FLOW_FILTER\" ).value|=\" true\" " " $3 "
413+ fi
414+
411415 case " $1 " in
412416 " interfaces" )
413417 " $YQ_BIN " e --inplace " .spec.template.spec.containers[0].env[] |= select(.name==\" INTERFACES\" ).value|=\" $2 \" " " $3 "
@@ -456,9 +460,6 @@ function edit_manifest() {
456460 fi
457461 fi
458462 ;;
459- " filter_enable" )
460- " $YQ_BIN " e --inplace " .spec.template.spec.containers[0].env[] |= select(.name==\" ENABLE_FLOW_FILTER\" ).value|=\" $2 \" " " $3 "
461- ;;
462463 " filter_direction" )
463464 " $YQ_BIN " e --inplace " .spec.template.spec.containers[0].env[] |= select(.name == \" FLOW_FILTER_RULES\" ).value |=(fromjson | map(.direction = \" $2 \" )| tostring)" " $3 "
464465 ;;
@@ -511,6 +512,10 @@ function edit_manifest() {
511512 " $YQ_BIN " e --inplace " .spec.template.spec.containers[0].env[] |= select(.name == \" FLOW_FILTER_RULES\" ).value |=(fromjson | map(.tcp_flags = \" $2 \" )| tostring)" " $3 "
512513 ;;
513514 " filter_pkt_drops" )
515+ if [[ " $2 " == " true" ]]; then
516+ # force enable drops before setting filter
517+ edit_manifest " pktdrop_enable" " $2 " " $3 "
518+ fi
514519 " $YQ_BIN " e --inplace " .spec.template.spec.containers[0].env[] |= select(.name == \" FLOW_FILTER_RULES\" ).value |=(fromjson | map(.drops = $2 )| tostring)" " $3 "
515520 ;;
516521 " filter_regexes" )
@@ -554,6 +559,18 @@ function edit_manifest() {
554559 esac
555560}
556561
562+
563+ # define key and value at script level to make them available all the time
564+ # these will be updated by check_args_and_apply first and overriden by defaultValue when needed
565+ key=" "
566+ value=" "
567+
568+ function defaultValue() {
569+ if [ " $key " == " $value " ]; then
570+ value=" $1 "
571+ fi
572+ }
573+
557574# Check if the arguments are valid
558575# $1: options
559576# $2: manifest
@@ -565,13 +582,15 @@ function check_args_and_apply() {
565582 value=" ${option#* =} "
566583 case " $key " in
567584 --background) # Run command in background
585+ defaultValue " true"
568586 if [[ " $value " == " true" || " $value " == " false" ]]; then
569587 runBackground=" $value "
570588 else
571589 echo " invalid value for --background"
572590 fi
573591 ;;
574592 --copy) # Copy or skip without prompt
593+ defaultValue " true"
575594 if [[ " $value " == " true" || " $value " == " false" || " $value " == " prompt" ]]; then
576595 copy=" $value "
577596 else
@@ -583,6 +602,7 @@ function check_args_and_apply() {
583602 ;;
584603 --enable_pktdrop) # Enable packet drop
585604 if [[ " $3 " == " flows" || " $3 " == " metrics" ]]; then
605+ defaultValue " true"
586606 if [[ " $value " == " true" || " $value " == " false" ]]; then
587607 edit_manifest " pktdrop_enable" " $value " " $2 "
588608 else
@@ -595,6 +615,7 @@ function check_args_and_apply() {
595615 ;;
596616 --enable_dns) # Enable DNS
597617 if [[ " $3 " == " flows" || " $3 " == " metrics" ]]; then
618+ defaultValue " true"
598619 if [[ " $value " == " true" || " $value " == " false" ]]; then
599620 edit_manifest " dns_enable" " $value " " $2 "
600621 else
@@ -607,6 +628,7 @@ function check_args_and_apply() {
607628 ;;
608629 --enable_rtt) # Enable RTT
609630 if [[ " $3 " == " flows" || " $3 " == " metrics" ]]; then
631+ defaultValue " true"
610632 if [[ " $value " == " true" || " $value " == " false" ]]; then
611633 edit_manifest " rtt_enable" " $value " " $2 "
612634 else
@@ -619,6 +641,7 @@ function check_args_and_apply() {
619641 ;;
620642 --enable_network_events) # Enable Network events monitoring
621643 if [[ " $3 " == " flows" || " $3 " == " metrics" ]]; then
644+ defaultValue " true"
622645 if [[ " $value " == " true" || " $value " == " false" ]]; then
623646 edit_manifest " network_events_enable" " $value " " $2 "
624647 else
@@ -629,18 +652,6 @@ function check_args_and_apply() {
629652 exit 1
630653 fi
631654 ;;
632- --enable_filter) # Enable flow filter
633- if [[ " $3 " == " flows" || " $3 " == " metrics" ]]; then
634- if [[ " $value " == " true" || " $value " == " false" ]]; then
635- edit_manifest " filter_enable" " $value " " $2 "
636- else
637- echo " invalid value for --enable_filter"
638- fi
639- else
640- echo " --enable_filter is invalid option for packets"
641- exit 1
642- fi
643- ;;
644655 --direction) # Configure filter direction
645656 if [[ " $value " == " Ingress" || " $value " == " Egress" ]]; then
646657 edit_manifest " filter_direction" " $value " " $2 "
@@ -693,6 +704,7 @@ function check_args_and_apply() {
693704 fi
694705 ;;
695706 --drops) # Filter packet drops
707+ defaultValue " true"
696708 if [[ " $value " == " true" || " $value " == " false" ]]; then
697709 edit_manifest " filter_pkt_drops" " $value " " $2 "
698710 else
@@ -750,6 +762,7 @@ function check_args_and_apply() {
750762 fi
751763 ;;
752764 --get-subnets) # Get subnets
765+ defaultValue " true"
753766 if [[ " $value " == " true" || " $value " == " false" ]]; then
754767 edit_manifest " get_subnets" " $value " " $2 "
755768 else
0 commit comments