diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/conf_mode/system_conntrack.py | 16 | ||||
| -rwxr-xr-x | src/op_mode/conntrack.py | 3 | 
2 files changed, 12 insertions, 7 deletions
| diff --git a/src/conf_mode/system_conntrack.py b/src/conf_mode/system_conntrack.py index a1472aaaa..3d42389f6 100755 --- a/src/conf_mode/system_conntrack.py +++ b/src/conf_mode/system_conntrack.py @@ -185,12 +185,16 @@ def generate(conntrack):      conntrack['ipv4_firewall_action'] = 'return'      conntrack['ipv6_firewall_action'] = 'return' -    for rules, path in dict_search_recursive(conntrack['firewall'], 'rule'): -        if any(('state' in rule_conf or 'connection_status' in rule_conf or 'offload_target' in rule_conf) for rule_conf in rules.values()): -            if path[0] == 'ipv4': -                conntrack['ipv4_firewall_action'] = 'accept' -            elif path[0] == 'ipv6': -                conntrack['ipv6_firewall_action'] = 'accept' +    if dict_search_args(conntrack['firewall'], 'global_options', 'state_policy') != None: +        conntrack['ipv4_firewall_action'] = 'accept' +        conntrack['ipv6_firewall_action'] = 'accept' +    else: +        for rules, path in dict_search_recursive(conntrack['firewall'], 'rule'): +            if any(('state' in rule_conf or 'connection_status' in rule_conf or 'offload_target' in rule_conf) for rule_conf in rules.values()): +                if path[0] == 'ipv4': +                    conntrack['ipv4_firewall_action'] = 'accept' +                elif path[0] == 'ipv6': +                    conntrack['ipv6_firewall_action'] = 'accept'      render(conntrack_config, 'conntrack/vyos_nf_conntrack.conf.j2', conntrack)      render(sysctl_file, 'conntrack/sysctl.conf.j2', conntrack) diff --git a/src/op_mode/conntrack.py b/src/op_mode/conntrack.py index cf8adf795..6ea213bec 100755 --- a/src/op_mode/conntrack.py +++ b/src/op_mode/conntrack.py @@ -112,7 +112,8 @@ def get_formatted_output(dict_data):                      proto = meta['layer4']['protoname']              if direction == 'independent':                  conn_id = meta['id'] -                timeout = meta['timeout'] +                # T6138 flowtable offload conntrack entries without 'timeout' +                timeout = meta.get('timeout', 'n/a')                  orig_src = f'{orig_src}:{orig_sport}' if orig_sport else orig_src                  orig_dst = f'{orig_dst}:{orig_dport}' if orig_dport else orig_dst                  reply_src = f'{reply_src}:{reply_sport}' if reply_sport else reply_src | 
