diff options
| -rw-r--r-- | data/templates/pmacct/uacctd.conf.j2 | 4 | ||||
| -rwxr-xr-x | src/conf_mode/flow_accounting_conf.py | 9 | 
2 files changed, 9 insertions, 4 deletions
| diff --git a/data/templates/pmacct/uacctd.conf.j2 b/data/templates/pmacct/uacctd.conf.j2 index 8fbc09e83..1370f8121 100644 --- a/data/templates/pmacct/uacctd.conf.j2 +++ b/data/templates/pmacct/uacctd.conf.j2 @@ -53,7 +53,7 @@ nfprobe_maxflows[{{ nf_server_key }}]: {{ netflow.max_flows }}  sampling_rate[{{ nf_server_key }}]: {{ netflow.sampling_rate }}  {%         endif %}  {%         if netflow.source_address is vyos_defined %} -nfprobe_source_ip[{{ nf_server_key }}]: {{ netflow.source_address }} +nfprobe_source_ip[{{ nf_server_key }}]: {{ netflow.source_address | bracketize_ipv6 }}  {%         endif %}  {%         if netflow.timeout is vyos_defined %}  nfprobe_timeouts[{{ nf_server_key }}]: expint={{ netflow.timeout.expiry_interval }}:general={{ netflow.timeout.flow_generic }}:icmp={{ netflow.timeout.icmp }}:maxlife={{ netflow.timeout.max_active_life }}:tcp.fin={{ netflow.timeout.tcp_fin }}:tcp={{ netflow.timeout.tcp_generic }}:tcp.rst={{ netflow.timeout.tcp_rst }}:udp={{ netflow.timeout.udp }} @@ -73,7 +73,7 @@ sfprobe_agentip[{{ sf_server_key }}]: {{ sflow.agent_address }}  sampling_rate[{{ sf_server_key }}]: {{ sflow.sampling_rate }}  {%         endif %}  {%         if sflow.source_address is vyos_defined %} -sfprobe_source_ip[{{ sf_server_key }}]: {{ sflow.source_address }} +sfprobe_source_ip[{{ sf_server_key }}]: {{ sflow.source_address | bracketize_ipv6 }}  {%         endif %}  {%     endfor %} diff --git a/src/conf_mode/flow_accounting_conf.py b/src/conf_mode/flow_accounting_conf.py index f67f1710e..327b77991 100755 --- a/src/conf_mode/flow_accounting_conf.py +++ b/src/conf_mode/flow_accounting_conf.py @@ -211,7 +211,7 @@ def verify(flow_config):              if not is_addr_assigned(tmp, sflow_vrf):                  raise ConfigError(f'Configured "sflow agent-address {tmp}" does not exist in the system!') -        # Check if configured netflow source-address exist in the system +        # Check if configured sflow source-address exist in the system          if 'source_address' in flow_config['sflow']:              if not is_addr_assigned(flow_config['sflow']['source_address'], sflow_vrf):                  tmp = flow_config['sflow']['source_address'] @@ -219,13 +219,18 @@ def verify(flow_config):      # check NetFlow configuration      if 'netflow' in flow_config: +        # check if vrf is defined for netflow +        netflow_vrf = None +        if 'vrf' in flow_config: +            netflow_vrf = flow_config['vrf'] +                      # check if at least one NetFlow collector is configured if NetFlow configuration is presented          if 'server' not in flow_config['netflow']:              raise ConfigError('You need to configure at least one NetFlow server!')          # Check if configured netflow source-address exist in the system          if 'source_address' in flow_config['netflow']: -            if not is_addr_assigned(flow_config['netflow']['source_address']): +            if not is_addr_assigned(flow_config['netflow']['source_address'], netflow_vrf):                  tmp = flow_config['netflow']['source_address']                  raise ConfigError(f'Configured "netflow source-address {tmp}" does not exist on the system!') | 
