---
title: Charmhub | Deploy Contrail vRouter Agent using Charmhub - The Open Operator
  Collection
description: Deploy the latest version of Contrail vRouter Agent on any cloud.
url: https://charmhub.io/juniper-os-software-contrail-agent/configurations
---

# Contrail vRouter Agent

[Juniper Openstack Software](https://charmhub.io/publisher/juniper-os-software "View all packages from Juniper Openstack Software")

* [Juniper Openstack Software](https://charmhub.io/publisher/juniper-os-software "View all packages from Juniper Openstack Software")

Platform:

22.04

20.04

18.04

16.04

stable 50

```
juju deploy juniper-os-software-contrail-agent
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [container-cpuset](https://charmhub.io/juniper-os-software-contrail-agent/configurations#container-cpuset)
* [container\_runtime](https://charmhub.io/juniper-os-software-contrail-agent/configurations#container_runtime)
* [csn-mode](https://charmhub.io/juniper-os-software-contrail-agent/configurations#csn-mode)
* [docker-log-driver](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker-log-driver)
* [docker-log-options](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker-log-options)
* [docker-opts](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker-opts)
* [docker-password](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker-password)
* [docker-registry](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker-registry)
* [docker-registry-insecure](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker-registry-insecure)
* [docker-user](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker-user)
* [docker\_runtime](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker_runtime)
* [docker\_runtime\_key\_url](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker_runtime_key_url)
* [docker\_runtime\_package](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker_runtime_package)
* [docker\_runtime\_repo](https://charmhub.io/juniper-os-software-contrail-agent/configurations#docker_runtime_repo)
* [dpdk](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk)
* [dpdk-coremask](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-coremask)
* [dpdk-ctrl-thread-coremask](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-ctrl-thread-coremask)
* [dpdk-driver](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-driver)
* [dpdk-hugepages](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-hugepages)
* [dpdk-main-mempool-size](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-main-mempool-size)
* [dpdk-no-gro](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-no-gro)
* [dpdk-no-gso](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-no-gso)
* [dpdk-no-mrgbuf](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-no-mrgbuf)
* [dpdk-pmd-rxd-size](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-pmd-rxd-size)
* [dpdk-pmd-txd-size](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-pmd-txd-size)
* [dpdk-rx-ring-sz](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-rx-ring-sz)
* [dpdk-service-coremask](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-service-coremask)
* [dpdk-tx-ring-sz](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-tx-ring-sz)
* [dpdk-yield-option](https://charmhub.io/juniper-os-software-contrail-agent/configurations#dpdk-yield-option)
* [hostname-use-fqdn](https://charmhub.io/juniper-os-software-contrail-agent/configurations#hostname-use-fqdn)
* [http\_proxy](https://charmhub.io/juniper-os-software-contrail-agent/configurations#http_proxy)
* [https\_proxy](https://charmhub.io/juniper-os-software-contrail-agent/configurations#https_proxy)
* [image-tag](https://charmhub.io/juniper-os-software-contrail-agent/configurations#image-tag)
* [kernel-hugepages-1g](https://charmhub.io/juniper-os-software-contrail-agent/configurations#kernel-hugepages-1g)
* [kernel-hugepages-2m](https://charmhub.io/juniper-os-software-contrail-agent/configurations#kernel-hugepages-2m)
* [l3mh-cidr](https://charmhub.io/juniper-os-software-contrail-agent/configurations#l3mh-cidr)
* [log-level](https://charmhub.io/juniper-os-software-contrail-agent/configurations#log-level)
* [max-vm-flows](https://charmhub.io/juniper-os-software-contrail-agent/configurations#max-vm-flows)
* [nagios\_context](https://charmhub.io/juniper-os-software-contrail-agent/configurations#nagios_context)
* [nagios\_servicegroups](https://charmhub.io/juniper-os-software-contrail-agent/configurations#nagios_servicegroups)
* [no\_proxy](https://charmhub.io/juniper-os-software-contrail-agent/configurations#no_proxy)
* [physical-interface](https://charmhub.io/juniper-os-software-contrail-agent/configurations#physical-interface)
* [sriov-numvfs](https://charmhub.io/juniper-os-software-contrail-agent/configurations#sriov-numvfs)
* [sriov-physical-interface](https://charmhub.io/juniper-os-software-contrail-agent/configurations#sriov-physical-interface)
* [tcmalloc-heap-limit-mb](https://charmhub.io/juniper-os-software-contrail-agent/configurations#tcmalloc-heap-limit-mb)
* [vhost-gateway](https://charmhub.io/juniper-os-software-contrail-agent/configurations#vhost-gateway)
* [vrouter-module-options](https://charmhub.io/juniper-os-software-contrail-agent/configurations#vrouter-module-options)
* [wait-for-external-plugin](https://charmhub.io/juniper-os-software-contrail-agent/configurations#wait-for-external-plugin)
* [xflow-node-ip](https://charmhub.io/juniper-os-software-contrail-agent/configurations#xflow-node-ip)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* container-cpuset | string

  Limit the specific CPUs or cores a container can use.
  Value can be specified as either a hexidecimal bitmask e.g. 0xF or
  as a numbered list separated by commas e.g. 0,1 (ranges are also supported
  using '-' e.g. 0-2).
  It must specify only real cores cause contrail-vrouter-dpdk service will
  fail if specified core number is not present in the system.
* container\_runtime | string

  Default: docker

  Container runtime valid values are "docker" and "containerd".
  Warning! The changes will not be applied after the package is installed.
* csn-mode | string

  The vrouter agent mode. The valid values are 'tor'/'tsn'/'tsn-no-forwarding' or empty.
* docker-log-driver | string

  Default: json-file

  A logging driver for the service’s containers.
* docker-log-options | string

  Default: max-size=20m max-file=5

  Logging options for the logging driver. Logging options available depend
  on which logging driver you use.
* docker-opts | string

  Extra options to pass to the Docker config file '/etc/docker/daemon.json' in json format.
  e.g. {"iptables": false, "insecure-registries": ["host2", "tungstenfabric", "host1"]}
* docker-password | string

  Password to the docker registry.
* docker-registry | string

  Default: opencontrailnightly

  URL of docker-registry
* docker-registry-insecure | boolean

  Is it docker-registry insecure and should docker be configured for it
* docker-user | string

  Login to the docker registry.
* docker\_runtime | string

  Default: upstream

  Docker runtime to install valid values are "upstream" (Docker PPA), "apt" (Ubuntu archive),
  "auto" (Ubuntu archive), or "custom" (must have set `docker_runtime_repo` URL,
  `docker_runtime_key_url` URL and `docker_runtime_package` name).
  Warning! The changes will not be applied after the package is installed.
* docker\_runtime\_key\_url | string

  Custom Docker repository validation key URL.
  Warning! The changes will not be applied after the package is installed.
* docker\_runtime\_package | string

  Custom Docker repository package name.
  Warning! The changes will not be applied after the package is installed.
* docker\_runtime\_repo | string

  Custom Docker repository, given in deb format. Use `{ARCH}` to determine architecture at runtime.
  Use `{CODE}` to set release codename.
  E.g. `deb [arch={ARCH}] https://download.docker.com/linux/ubuntu {CODE} stable`.
  Warning! The changes will not be applied after the package is installed.
* dpdk | boolean

  Use user space DPDK vRouter
* dpdk-coremask | string

  Default: 1

  vRouter CPU affinity mask for dpdk forwarding threads.
  Value can be specified as either a hexidecimal bitmask e.g. 0xF or
  as a numbered list separated by commas e.g. 0,1 (ranges are also supported
  using '-' e.g. 0-2).
  It must specify only real cores cause contrail-vrouter-dpdk service will
  fail if specified core number is not present in the system.
* dpdk-ctrl-thread-coremask | string

  Default: 1

  vRouter DPDK CPU affinity mask for dpdk ctrl threads.
  Value can be specified as either a hexidecimal bitmask e.g. 0xF or
  as a numbered list separated by commas e.g. 0,1 (ranges are also supported
  using '-' e.g. 0-2).
  It must specify only real cores cause contrail-vrouter-dpdk service will
  fail if specified core number is not present in the system.
  Supported from Contrail release 2003 and R1912.L2.
* dpdk-driver | string

  Default: uio\_pci\_generic

  DPDK driver to use for physical interface.
  Interface can be specified using vhost-interface.
* dpdk-hugepages | string

  Default: 70%

  Number of huge pages to reserve for use with DPDK vRouter and OpenStack
  instances.
  Value can be specified as percentage of system memory e.g. 70% or as
  number of huge pages e.g. 1434.
* dpdk-main-mempool-size | string

  Main packet pool size.
* dpdk-no-gro | boolean

  vRouter DPDK option to disable GRO on vRouter. Allowed values 0 / 1. If not set the default behaviour is enabled (false).
* dpdk-no-gso | boolean

  vRouter DPDK option to disable GSO on vRouter. Allowed values 0 / 1. If not set the default behaviour is enabled (false).
* dpdk-no-mrgbuf | boolean

  vRouter DPDK option to disable mergeable buffers on vRouter. Allowed values 0 / 1. If not set the default behaviour is enabled (false).
* dpdk-pmd-rxd-size | string

  DPDK PMD Rx Descriptor size.
* dpdk-pmd-txd-size | string

  DPDK PMD Tx Descriptor size.
* dpdk-rx-ring-sz | string

  vRouter DPDK option to configure for forwarding lcores rx ring buffer size.
  If not there is default in dpdk bin is used which is 1024.
  Supported from Contrail release 2003 and R1912.L2.
* dpdk-service-coremask | string

  Default: 1

  vRouter DPDK CPU affinity mask for dpdk service threads.
  Value can be specified as either a hexidecimal bitmask e.g. 0xF or
  as a numbered list separated by commas e.g. 0,1 (ranges are also supported
  using '-' e.g. 0-2).
  It must specify only real cores cause contrail-vrouter-dpdk service will
  fail if specified core number is not present in the system.
  Supported from Contrail release 2003 and R1912.L2.
* dpdk-tx-ring-sz | string

  vRouter DPDK option to configure for forwarding lcores tx ring buffer size.
  If not there is default in dpdk bin is used which is 1024.
  Supported from Contrail release 2003 and R1912.L2.
* dpdk-yield-option | string

  vRouter DPDK option to disable/enable yield on forwarding lcores.
  Allowed values 0 / 1.
  If not set the default behaviour is enalbed (1).
  Supported from Contrail release 2003 and R1912.L2.
* hostname-use-fqdn | boolean

  Default: True

  Use fqdn for vrouter\_hostname or use gethostname instead.
  fqdn is used in R5.1 and in further releases.
  R5.0 releases used hostname that doesn’t always return
  the fully qualified domain name.
* http\_proxy | string

  URL to use for HTTP\_PROXY to be used by Docker. Only useful in closed
  environments where a proxy is the only option for routing to the
  registry to pull images
* https\_proxy | string

  URL to use for HTTPS\_PROXY to be used by Docker. Only useful in closed
  environments where a proxy is the only option for routing to the
  registry to pull images
* image-tag | string

  Default: latest

  Tag of docker image.
* kernel-hugepages-1g | string

  Number of 1 GB huge pages to reserve for use with vRouter in kernel mode and OpenStack instances.
  Value can be specified as number of huge pages e.g. 10.
  To turn off HP suppor completely kernel-hugepages-1g and kernel-hugepages-2m must be set as '0' both.
  Supported from Contrail release 2005.
* kernel-hugepages-2m | string

  Default: 1024

  Number of 2 MB huge pages to reserve for use with vRouter in kernel mode and OpenStack
  instances.
  Value can be specified as number of huge pages e.g. '1024'.
  To turn off HP suppor completely kernel-hugepages-1g and kernel-hugepages-2m must be set as '0' both.
  Supported from Contrail release 2005.
* l3mh-cidr | string

  CIDR for L3MH feature. Bypassed to vrouter-agent container to initialise
  vhost0 in multi-homing mode. Please refer to vrouter documentation for more details.
  Can not be changed after first start of vrouter.
* log-level | string

  Default: SYS\_NOTICE

  Log level for contrail services. Valid values are:
  SYS\_EMERG, SYS\_ALERT, SYS\_CRIT, SYS\_ERR, SYS\_WARN, SYS\_NOTICE, SYS\_INFO, SYS\_DEBUG
* max-vm-flows | string

  Maximum flows allowed per VM (given as % of maximum system flows)
* nagios\_context | string

  Default: juju

  Used by the nrpe subordinate charms.
  A string that will be prepended to instance name to set the host name
  in nagios. So for instance the hostname would be something like juju-myservice-0
  If you're running multiple environments with the same services in them
  this allows you to differentiate between them.
* nagios\_servicegroups | string

  A comma-separated list of nagios servicegroups.
  If left empty, the nagios\_context will be used as the servicegroup
* no\_proxy | string

  Comma-separated list of destinations (either domain names or IP
  addresses) that should be directly accessed, by opposition of going
  through the proxy defined above. Must be less than 2023 characters long
* physical-interface | string

  Specify the interface to install vhost0 on. If left empty, vhost0 will
  be installed on the default gateway interface.
* sriov-numvfs | string

  A comma-separated list of NumVFS's for specified devices.
  The number of elements in the list should be equal to number of elements in sriov-physical-interface.
  List is supported only by R2008 and 1912.L2 releases and further.
  Passed list for previous release will not be applied - just one element is applicable.
  This parameter and sriov-physical-interface will be passed into agent container that will configure SR-IOV.
* sriov-physical-interface | string

  A comma-separated list of interface names for SR-IOV.
  The number of elements in the list should be equal to number of elements in sriov-numvfs.
  List is supported only by R2008 and 1912.L2 releases and further.
  Passed list for previous release will not be applied - just one element is applicable.
  This parameter and sriov-numvfs will be passed into agent container that will configure SR-IOV.
* tcmalloc-heap-limit-mb | string

  Limit total size of the process heap to the specified number of MiB.
  When we approach the limit the memory is released
  to the system more aggressively (more minor page faults).
  Zero means to allocate as long as system allows.
* vhost-gateway | string

  Default: auto

  Specify the gateway for vhost0, either an IPv4 address or keyword 'auto'.
  'auto' will set gateway automatically.
* vrouter-module-options | string

  Vrouter kernel module options.
  This string is passed to agent container as env variable VROUTER\_MODULE\_OPTIONS.
  Format is "<parameter>=<value> <parameter>=<value>"
  E.g. "vr\_flow\_hold\_limit=8196 vr\_mpls\_labels=196000 vr\_nexthops=521000 vr\_vrfs=65536"
* wait-for-external-plugin | boolean

  Enable external vRouter datapath plugin. This can be used with the agilio-vrouter
  charm to enable a hardware offloaded vRouter datapath.
* xflow-node-ip | string

  VIP of xflow servicegroups.
