blob: 7bc2fd8e92cda73d384fefda6fc297b7dbb39f76 [file] [log] [blame]
{%- from "opencontrail/map.jinja" import common,compute with context %}
#
# Vnswad configuration options
#
[CONTROL-NODE]
# List of IPAdress:Port of control-node's separated by space.(Mandatory)
# servers=10.0.0.1:5269 10.0.0.2:5260 10.0.0.3:5260
servers={% for member in compute.control.members %}{{ member.host }}:5269{% if not loop.last %} {% endif %}{% endfor %}
[DEFAULT]
# Everything in this section is optional
# IP address and port to be used to connect to collector.
# Multiple IP:port strings separated by space can be provided
collectors = {% for member in compute.collector.members %}{{ member.host }}:8086{% if not loop.last %} {% endif %}{% endfor %}
# Agent mode : can be vrouter / tsn / tor (default is vrouter)
# agent_mode=
{%- if compute.get('tor', {}).get('enabled', False) %}
agent_mode = tsn
{%- endif %}
# Enable/disable debug logging. Possible values are 0 (disable) and 1 (enable)
# debug=0
# Aging time for flow-records in seconds
# flow_cache_timeout=0
{%- if compute.flow_cache_timeout is defined %}
flow_cache_timeout={{ compute.flow_cache_timeout }}
{%- endif %}
{%- if compute.dpdk.enabled %}
# DPDK or legacy work mode
platform=dpdk
# Physical address of PCI used by dpdk
#physical_interface_address=0000:81:00.1
physical_interface_address={{ compute.interface.pci }}
# MAC address of device used by dpdk
physical_interface_mac={{ compute.interface.mac_address }}
{%- endif %}
# hostname= # Retrieved from gethostname() or `hostname -s` equivalent
{%- if compute.hostname is defined %}
hostname={{ compute.hostname }}
{%- endif %}
# Http server port for inspecting vnswad state (useful for debugging)
# http_server_port=8085
# Category for logging. Default value is '*'
# log_category=
# Number of tx-buffers on pkt0 interface
# pkt0_tx_buffers=1000
#
# Measure delays in different queues
# measure_queue_delay=0
# Local log file name
log_file=/var/log/contrail/contrail-vrouter-agent.log
# Log severity levels. Possible values are SYS_EMERG, SYS_ALERT, SYS_CRIT,
# SYS_ERR, SYS_WARN, SYS_NOTICE, SYS_INFO and SYS_DEBUG. Default is SYS_DEBUG
log_level=SYS_NOTICE
# Enable/Disable local file logging. Possible values are 0 (disable) and 1 (enable)
log_local=1
# Enable/Disable local flow message logging. Possible values are 0 (disable) and 1 (enable)
# log_flow=0
# Encapsulation type for tunnel. Possible values are MPLSoGRE, MPLSoUDP, VXLAN
# tunnel_type=
# Enable/Disable headless mode for agent. In headless mode agent retains last
# known good configuration from control node when all control nodes are lost.
# Possible values are true(enable) and false(disable)
# headless_mode=
headless_mode=true
# DHCP relay mode (true or false) to determine if a DHCP request in fabric
# interface with an unconfigured IP should be relayed or not
# dhcp_relay_mode=
# Sandesh send rate limit can be used to throttle system logs transmitted per
# second. System logs are dropped if the sending rate is exceeded
# sandesh_send_rate_limit=
{%- if compute.get('sandesh_send_rate_limits', {}).get('agent') %}
sandesh_send_rate_limit={{ compute.sandesh_send_rate_limits.agent }}
{%- elif compute.get('sandesh_send_rate_limits', {}).get('global') %}
sandesh_send_rate_limit={{ compute.sandesh_send_rate_limits.global }}
{%- endif %}
# Enable/Disable SSL based XMPP Authentication
{%- if compute.xmpp.tls.enabled %}
xmpp_auth_enable = {{ compute.xmpp.tls.auth.enabled }}
xmpp_server_cert = {{ compute.xmpp.tls.cert_file }}
xmpp_server_key = {{ compute.xmpp.tls.key_file }}
xmpp_ca_cert = {{ compute.xmpp.tls.ca_cert_file }}
{%- endif %}
# Gateway mode : can be server/ vcpe (default is none)
# gateway_mode=
{%- if compute.gateway_mode is defined %}
gateway_mode={{ compute.gateway_mode }}
{%- endif %}
[SANDESH]
# sandesh_ssl_enable=false
# introspect_ssl_enable=false
# sandesh_keyfile=/etc/contrail/ssl/private/server-privkey.pem
# sandesh_certfile=/etc/contrail/ssl/certs/server.pem
# sandesh_ca_cert=/etc/contrail/ssl/certs/ca-cert.pem
[RESTART]
# Enable/Disable backup of config and resource files
# backup_enable=true
#
# Directory containing backup of config and resource files
# backup_dir=/var/lib/contrail/backup
#
# Number of backup files
# backup_file_count=3
#
# Agent avoids generating backup file if change is detected within time
# configured below (in milli-sec)
# backup_idle_timeout=10000
#
# Restore config/resource definitions from file
# restore_enable=true
#
# Audit time for config/resource read from file
# restore_audit_timeout=15000
[DNS]
# Client port used by vrouter-agent while connecting to contrail-named
# dns_client_port=
# List of IPAdress:Port of DNS Servers separated by space.
# servers=10.0.0.1:53 10.0.0.2:53 10.0.0.3:53
servers={% for member in compute.control.members %}{{ member.host }}:53{% if not loop.last %} {% endif %}{% endfor %}
# Timeout for DNS server queries in milli-seconds
# dns_timeout=
# Maximum retries for DNS server queries
# dns_max_retries=
[HYPERVISOR]
# Everything in this section is optional
# Hypervisor type. Possible values are kvm, xen and vmware
type=kvm
# Link-local IP address and prefix in ip/prefix_len format (for xen)
# xen_ll_ip=
# Link-local interface name when hypervisor type is Xen
# xen_ll_interface=
# Physical interface name when hypervisor type is vmware
# vmware_physical_interface=
# Mode of operation for VMWare. Possible values esxi_neutron, vcenter
# default is esxi_neutron
# vmware_mode=
[FLOWS]
# Everything in this section is optional
# Number of threads for flow setup
# thread_count = 4
#
# Maximum flows allowed per VM (given as % of maximum system flows)
# max_vm_flows=
{%- if compute.max_vm_flows is defined %}
max_vm_flows={{ compute.max_vm_flows }}
{%- endif %}
# Maximum number of link-local flows allowed across all VMs
# max_system_linklocal_flows=4096
# Maximum number of link-local flows allowed per VM
# max_vm_linklocal_flows=1024
# Number of Index state-machine events to log
# index_sm_log_count=0
# Enable/Disable tracing of flow messages. Introspect can over-ride this value
# trace_enable=false
#
# Number of add-tokens
# add_tokens=100
# Number of ksync-tokens
# ksync_tokens=50
# Number of del-tokens
# del_tokens=50
# Number of update-tokens
# update_tokens=50
[METADATA]
# Shared secret for metadata proxy service (Optional)
# metadata_proxy_secret=contrail
{%- if compute.metadata is defined %}
metadata_proxy_secret={{ compute.metadata.secret }}
{%- endif %}
# Metadata proxy port on which agent listens (Optional)
# metadata_proxy_port=
# Enable(true) ssl support for metadata proxy service
# metadata_use_ssl=
# Path for Metadata Agent client certificate
# metadata_client_cert=
# Metadata Agent client certificate type(default=PEM)
# metdata_client_cert_type=
# Path for Metadata Agent client private key
# metadata_client_key=
# Path for CA certificate
# metadata_ca_cert=
[NETWORKS]
# control-channel IP address used by WEB-UI to connect to vnswad to fetch
# required information (Optional)
{%- if compute.bind is defined %}
control_network_ip={{ compute.bind.address }}
{%- else %}
control_network_ip={{ compute.interface.address }}
{%- endif %}
[VIRTUAL-HOST-INTERFACE]
# Everything in this section is mandatory
# name of virtual host interface
name=vhost0
# IP address and prefix in ip/prefix_len format
ip={{ compute.interface.address }}/{{ compute.interface.mask }}
# Gateway IP address for virtual host
gateway={{ compute.interface.gateway }}
# Flag to indicate if hosts in vhost subnet can be resolved by ARP
# If set to 1 host in subnet would be resolved by ARP, if set to 0
# all the traffic destined to hosts within subnet also go via
# default gateway
# subnet_hosts_resolvable=0
# Physical interface name to which virtual host interface maps to
physical_interface={{ compute.interface.dev }}
# List of IP addresses assigned for the compute node other than vhost. Specify
# this only if vhost interface is un-numbered in host-os. Agent will use one
# of the compute_node_address to run services that need IP Address in host-os
# (like metadata...)
#compute_node_address = 10.204.216.28
# We can have multiple gateway sections with different indices in the
# following format
[GATEWAY-0]
# Name of the routing_instance for which the gateway is being configured
# routing_instance=default-domain:admin:public:public
# Gateway interface name
# interface=vgw
# Virtual network ip blocks for which gateway service is required. Each IP
# block is represented as ip/prefix. Multiple IP blocks are represented by
# separating each with a space
# ip_blocks=1.1.1.1/24
[GATEWAY-1]
# Name of the routing_instance for which the gateway is being configured
# routing_instance=default-domain:admin:public1:public1
# Gateway interface name
# interface=vgw1
# Virtual network ip blocks for which gateway service is required. Each IP
# block is represented as ip/prefix. Multiple IP blocks are represented by
# separating each with a space
# ip_blocks=2.2.1.0/24 2.2.2.0/24
# Routes to be exported in routing_instance. Each route is represented as
# ip/prefix. Multiple routes are represented by separating each with a space
# routes=10.10.10.1/24 11.11.11.1/24
[SERVICE-INSTANCE]
# Path to the script which handles the netns commands
netns_command=/usr/bin/opencontrail-vrouter-netns
docker_command=/usr/bin/opencontrail-vrouter-docker
# Number of workers that will be used to start netns commands
#netns_workers=1
# Timeout for each netns command, when the timeout is reached, the netns
# command is killed.
#netns_timeout=30
[TASK]
# Number of threads used by TBB
# thread_count = 8
# Log message if time taken to execute task exceeds a threshold (in msec)
# log_exec_threshold = 10
#
# Log message if time taken to schedule task exceeds a threshold (in msec)
# log_schedule_threshold = 25
#
# TBB Keepawake timer interval in msec
# tbb_keepawake_timeout = 20
#
# Timeout for task monitor in msec
# task_monitor_timeout = 50000
#
# Policy to pin the ksync netlink io thread to CPU. By default, CPU pinning
# is disabled. Other values for policy are,
# "last" - Last CPUID
# "<num>" - CPU-ID to pin (in decimal)
# ksync_thread_cpu_pin_policy=last
[SERVICES]
# bgp_as_a_service_port_range - reserving set of ports to be used.
# bgp_as_a_service_port_range=30000-35000
# [QOS]
#
# #Knob to configure priority tagging when in DCB mode. Default value is true
# priority_tagging = false
#
# [QUEUE-1]
# Logical nic queues for qos config
# logical_queue=
# [QUEUE-2]
# Logical nic queues for qos config
# logical_queue=
# [QUEUE-3]
# This is the default hardware queue
# default_hw_queue= true
# Logical nic queues for qos config
# logical_queue=
# [QOS-NIANTIC]
# [PG-1]
# Scheduling algorithm for priority group (strict/rr)
# scheduling=
# Total hardware queue bandwidth used by priority group
# bandwidth=
# [PG-2]
# Scheduling algorithm for priority group (strict/rr)
# scheduling=
# Total hardware queue bandwidth used by priority group
# bandwidth=
# [PG-3]
# Scheduling algorithm for priority group (strict/rr)
# scheduling=
# Total hardware queue bandwidth used by priority group
# bandwidth=
[LLGR]
# Note: All time values are in seconds.
# End of Rib Rx(received from CN)
# Fallback time in seconds to age out stale entries on CN becoming
# active this is used only when end-of-rib is not seen from CN.
# end_of_rib_rx_fallback_time=
# End of Rib Tx(to be sent to CN)
# Fallback time in seconds to send EOR to CN. Agent waits for inactivity to
# send the same however it may so happen that activity never dies down,
# so use fallback.
# Inactivity time is the time agent waits to conclude EOC. During this interval
# no config will be seen.
# end_of_rib_tx_fallback_time=
# end_of_rib_tx_inactivity_time=
# Config cleanup time
# Once end of config is determined this time is used to start stale cleanup
# of config.
# stale_config_cleanup_time=
# End of config determination time
# Inactivity time is the time agent waits to conclude EOC. During this interval
# no config will be seen.
# Fallback time in seconds to find EOC in case config inactivity is not seen.
# config_fallback_time=
# config_inactivity_time=