diff --git a/salt/suricata/config.sls b/salt/suricata/config.sls index e0b85b7e7..ce52d94ef 100644 --- a/salt/suricata/config.sls +++ b/salt/suricata/config.sls @@ -10,7 +10,7 @@ {% from 'suricata/map.jinja' import SURICATAMERGED %} {% from 'bpf/suricata.map.jinja' import SURICATABPF, SURICATA_BPF_STATUS, SURICATA_BPF_CALC %} -{% if GLOBALS.pcap_engine in ["SURICATA", "TRANSITION"] %} +{% if GLOBALS.pcap_engine == "SURICATA" %} {% from 'bpf/pcap.map.jinja' import PCAPBPF, PCAP_BPF_STATUS, PCAP_BPF_CALC %} # BPF compilation and configuration {% if PCAPBPF and not PCAP_BPF_STATUS %} diff --git a/salt/suricata/map.jinja b/salt/suricata/map.jinja index 781935fe9..427abf274 100644 --- a/salt/suricata/map.jinja +++ b/salt/suricata/map.jinja @@ -11,9 +11,19 @@ {# before we change outputs back to list, enable pcap-log if suricata is the pcapengine #} {% if GLOBALS.pcap_engine in ["SURICATA", "TRANSITION"] %} -{% from 'bpf/pcap.map.jinja' import PCAPBPF, PCAP_BPF_STATUS %} -{% if PCAPBPF and PCAP_BPF_STATUS %} -{% do SURICATAMERGED.config.outputs['pcap-log'].update({'bpf-filter': PCAPBPF|join(" ")}) %} +{% if GLOBALS.pcap_engine == "SURICATA" %} +{% from 'bpf/pcap.map.jinja' import PCAPBPF, PCAP_BPF_STATUS %} +{% if PCAPBPF and PCAP_BPF_STATUS %} +{% do SURICATAMERGED.config.outputs['pcap-log'].update({'bpf-filter': PCAPBPF|join(" ")}) %} +{% endif %} +{% elif GLOBALS.pcap_engine == "TRANSITION" %} +{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %} +{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %} +{% import 'bpf/macros.jinja' as MACROS %} +{{ MACROS.remove_comments(BPFMERGED, 'pcap') }} +{% if BPFMERGED.pcap %} +{% do SURICATAMERGED.config.outputs['pcap-log'].update({'bpf-filter': BPFMERGED.pcap|join(" ")}) %} +{% endif %} {% endif %} {% set PCAP = salt['pillar.get']('pcap', {'enabled': false}) %}