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.