Control SIP-ALG configuration

General

The SIP-ALG configuration can now be controlled via northbound API. It is disabled by default and is not populated in the northbound API. Implementation is unloading/loading kernel modules nf_nat_sip and nf_conntrack_sip plus flushing conntrack table within dm_sipalg.c file.

Northbound API

This feature has not introduced any changes to the OVSDB schema and we use already existing table named Node_Config and Node_State.

Example when SIP-ALG is enabled on a node:

$ ovsh s Node_Config -w module==sipalg +-----------+-----------+--------+--------+---------+-------+ | _uuid     | _version  | module | key    | persist | value | +-----------+-----------+--------+--------+---------+-------+ | b9cf~30b5 | dbd9~0941 | sipalg | enable | true    | true  | +-----------+-----------+--------+--------+---------+-------+

Platform QCA

By default, the Kconfig option called QCA_NF_NAT_HELPERS is enabled and overwrites the nf-nathelper-extra original file implementation from SDK.

Platform BCM

Update SDK that CONFIG_NF_NAT_SIP and CONFIG_NF_CONNTRACK_SIP are set as module in the kernel options.

Requirements

  • By default, SIP-ALG must be disabled. Only when SIP-ALG is explicitly enabled in the Node_Config table, the required kernel modules and functionality become active.