nat_dstaddr_cache_size parameter is no longer required and should be removed from /etc/dpi/fastdpi.conf.
nat_whp_lifetime_min = nat_whp_lifetime / 3 — timeout for reusing allocated ports in the short queue when ports are exhaustednat_whp_lifetime_min_long = nat_whp_lifetime_long / 3 — timeout for reusing allocated ports in the long queue when ports are exhausted--append option to the ip2proto utility: appends new data to an existing filedpdk_engine=7 engine with support for explicit dispatcher assignment.dpdk_max_memzone [cold] option for configuring the DPDK max memzone count. Descriptioncheck_tunnels=1 mode. Descriptionrating_group_count=0 — number of rating groups; 0 means RG is disabled. Default value: 0rg4 tbf rate 1Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 100MB report rg5 tbf rate 8Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 1GB block
report and block are the available actions when the quota is reached: report reports that the quota has been reached but continues forwarding traffic; block reports that the quota has been reached and blocks traffic for the corresponding rating group.
cat rg.txt | lst2rg rg.bin
cp rg.bin /var/lib/dpi/rg.bin
fdpi_ctrl load profile --service 20 --profile.name rg1 --profile.json '{ "rg_list" : "/var/lib/dpi/rg.bin" }'
max_profiles_serv20 specifies the maximum number of profiles. The default value is 32.
The rg2lst utility can be used to convert the binary file back into a readable format:
rg2lst rg.bin > rg.txt
tethN, where the possible values are:rgN, where the possible values are: http cs0 teth1 rg1
https cs0 teth1 rg1
http cs0 teth2 rg2
https cs0 teth2 rg2
dns cs1 teth1 rg1
dns cs1 teth2 rg2
default cs7 teth0 rg3
In this example, HTTP and HTTPS traffic is monitored for tethering, and the corresponding RG is assigned depending on the result. Note that the policing class (cs) remains the same. The same logic applies to DNS traffic. For ALL other protocols (default), tethering control is disabled and a separate RG is assigned.
cat example.txt | lst2dscp /tmp/example.bin
dscp2lst /tmp/example.bin
fdpi_ctrl load profile --service 18 --profile.name test_dscp --profile.json '{ "dscp" : "/tmp/example.bin" }'
fdpi_ctrl load --service 18 --profile.name test_dscp --login test_subs
Verify the assignment:
fdpi_ctrl list --service 18 --login test_subs
The trace output now includes the rg=N field.
Lease-Time handling. Descriptionbras_dhcp_trace_mac.bras_term_by_as=1 was enabled and srcAS was not marked as term, the Ethernet src/dst MAC addresses were not modified.nat_dstaddr_cache_size=0 in /etc/dpi/fastdpi.conf.nat_tcp_max_sessions/nat_udp_max_sessions limits, which restrict the number of allocated public ports, fixed the decrement of the allocated port counter that could previously result in a slight exceedance of the configured limit. Updated the whpf, whp_salfs, whp_lalfs, whp_ruse, whp_ruse_salfs, whp_ruse_lalfs counters and the corresponding flow statistics counters (thr_salfs and others), as well as the output of the nat show command, so that they reflect the current actual port usage rather than cumulative usage.nat_whp_lifetime < lifetime_flow. If activity appears in a session after its NAT port has already been reused, a new port is allocated.fdpi_ctrl list all status --service 11 statistics command.fdpi_cli lldp enable and fdpi_cli lldp disable — enable or disable LLDP packet generation. Descriptiondev pcap <dev-name> rx|tx|any|off
rx — capture packets received on the porttx — capture packets transmitted through the portany — capture both rx and tx trafficoff — stop capturingdev is the port name):rx-dev — for rx capturestx-dev — for tx capturesfdpi_cli rg show <IP> command to display the current rating group information for a subscriber.fdpi_cli vlan rule dump command to specify which rule type to display: fdpi_cli vlan rule dump [type]. Descriptionfdpi_cli dump flow cache format command with additional fields. Descriptionfdpi_cli vlan rule show command. Descriptionfdpi_cli vlan rule add/rm commands now support PPPoE and Service-Name. Descriptionfdpi_cli dhcp show stat vrf command.fdpi_cli ping for NAT subscribers.fdpi_cli nat show command.ipfix_dev option.ajb_save_dns_answer_types and ajb_save_dns_request_types parameters, which allow specifying DNS response and request types to save to a file and export via IPFIX. Descriptiondpdk_tx_queue_size option. Previously, the tx queue length of the TAP device was always set to 256, which caused errors on the VMware VMXNET3 Ethernet Controller: ETHDEV: Invalid value for nb_tx_desc(=256), should be: <= 4096, >= 512, and a product of 1stat storage ip4 detail outputs statistics on bucket filling in the IPv4 node storagetethering_ttl_allowed = 128:64 [hot] defines the list of allowed TTL values for subscriber traffic that are not considered tethering. Values are separated by ':'. The number of values is up to 256 (0–255). Descriptionbras_disable_l3_auth option — an explicit prohibition of L3 auth in L2 BNG mode for all subscribers. Descriptiondisable_l3_auth=[1:0] has been added to the subs prop set command. Descriptionppp show stat command. DescriptionVasExperts-Policing-Profile attribute with the BR## prefix. Descriptionnoname) user profile for services from parameters passed in the VasExperts-Service-Profile attribute with the BP## prefix. Descriptionrating_group_count — number of rating groups, 0 — RG disabled. Default value: 0rating_group_max_subs — maximum number of subscribers with RG. Default value: 0 (RG disabled)subs traffic stat CLI command. The command outputs billing statistics and rating group statistics for the specified subscriber, if enabled. DescriptionVasExperts-L2-User=1 flag during L3 authorization). Descriptionbras_dhcp_check_secondary_keys option: 2 (check only opt82) and 4 (check only QinQ). Descriptionbras_dhcp_server option: keep_siaddr=1 — preserve the DHCP packet siaddr field. Example:bras_dhcp_server=188.227.73.42%eth0;arp_proxy=1;reply_port=67;keep_siaddr=1
By default, the siaddr field may be modified to hide the real DHCP server address. Description
subs db stat command to display L2 BNG database statistics. Descriptionrx_dispatcher=3 — a method with uniform load balancing across an arbitrary number of threads with support for NAT 1:1 and the requirement to assign specific addresses. Descriptionfdpi_ctrl list status --service 11 --login UserName (--ip IP) command. Additional fields were added to the command output: active_sess_tcp — number of active NAT translations for TCP and active_sess_udp — number of active NAT translations for UDP.nat show <internal_ip> [<lifetime>] command. Displays a list of all NAT translations for the specified gray IP. Descriptionsubs bind show command to view the list of IP addresses bound to the login <login>. Descriptionstat http CLI command. This command outputs internal statistics similar to those in fastdpi_stat.log. Descriptionlist status --service 11 (NAT) and nat show commandsservice_flags — information about the tags assigned to the flow in DPI. Detected tethering is reported via IPFIX in bit 1 of the service_flags field. 63 bits are available for further use.detection_flags — reserved for detection methods.action_flags — reserved for transmitting actions applied to the flow.syslog_level in fdpi_radius.conf — the level of logging messages from the alert log to syslog. 0 — syslog logging disabled (default). Descriptionsubs_id in commands: dhcp show, dhcp reauth, dhcp6 show, dhcp6 reauth, and dhcp disconnect. Descriptionipfix_reserved parameter. Descriptionbind_ipv6_address and bind_ipv6_subnet. If the Framed-IPv6-Prefix has a /128 mask, it is not checked against the bind_ipv6_subnet restriction. Descriptiondev info now includes the name of the LAG that the port belongs to. DescriptionClient-Id now includes tunnel-IP as part of the subscriber ID. For more details, see sections IPv4 Pools Support and IPv6 pools supportipfix_mtu_limit to restrict maximum message size for IPFIX UDP packets. Description: ClickStream export Setup, Configuring Full NetFlow Export in IPFIX Formatvrrp_enable option changel2subs_id + tunnel-IP. For PPPoE sessions, tunnel IP = 0. CLI commands that use subs_id as a key (subs prop show, l2tp show session, l2tp term, etc.) may now return multiple entries with the same l2subs_id. Description hal mempool props
hal mempool stat
DPDK must be built with statistics collection enabled to display mempool stats
Acct-Interim-Interval = 0 is explicitly set in the RADIUS response. For more details, see sections acct-interim-interval, PPPoE Radius Access-Requestdpdk_emit_mempool_size is deprecated and no longer used.vlan group were converted and moved from UDR to SDR, with removal from UDR. Descriptioncombined_io_direction_mode optiontelegram_tlsWECHAT and WECHAT_CALLpcrf connect show — show current status and accumulated statistics for PCRF connections.pcrf connect switch [<pcrf_index>], where <pcrf_indxed> is the index of the connection line in the auth_server parameter. If <pcrf_indxed> is not specified — defaults to 0.ajb_save_dns parameter. DescriptionVASExperts-Service-Type. Radius acct start/interim/stop sends the authorization type in the VASExperts-Service-Type attribute. Descriptionstat flow ip6 command to display IPv6 flow statistics. Descriptionstat flow ip4 command to display IPv4 flow statistics. Analogous to the output in fastdpi_stat.log. Descriptionstat netflow command. Displays general statistics for Netflow/IPFIX (same as in fastdpi_stat.log under the "Statistics on NFLW_export" section). Descriptionstat firewall command. Descriptionajb_save_vlan parameter. Descriptionrouter.subnet6 settings.pending_queue. In some cases (e.g., during state transitions of the pcrf monitor initial → connected), sending commands from the pending_queue was not triggered, which caused commands to "hang" in the queue indefinitely (until reconnection due to a socket error).