Version 14.0 Shooting Stars [Документация VAS Experts]

This is an old revision of the document!


Version 14.0 Shooting Stars

Changes in version 14.0

  1. [BRAS] DHCP-Dual support. Description
  2. [BRAS] Support for L2TP termination. Description
  3. [DPI] Migration to DPDK 24.11, support for new NICs (Intel E830 200G, Intel E610, Napatech SmartNIC). Description
  4. [CLI] Added support for subs_id in commands: dhcp show, dhcp reauth, dhcp6 show, dhcp6 reauth, and dhcp disconnect. Description
  5. [DPI] New protocols added: AGORA_STREAMS(49314), AZAR_CALL(49315), WECHAT_CALL(49316), TEAMS_CALL(49317). List of protocols
  6. [DPI] Improved support for LINE_CALL, VYKE_CALL protocols. List of protocols
  7. [DPI] Fixed smartdrop behavior
  8. [DPI] Added validation for complex protocols. List of protocols
  9. [DPDK] Increased the maximum number of dispatchers to 32. Description
  10. [IPFIX/Netflow] Added the ability to change IPFIX/Netflow parameters without restarting fastDPI using the ipfix_reserved parameter. Description
  11. [FastRadius] It is now possible to set both bind_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. Description
  12. CLI command dev info now includes the name of the LAG that the port belongs to. Description
  13. [PCRF][PPP][Framed-pool] Added: DHCP option Client-Id now includes tunnel-IP as part of the subscriber ID. For more details, see sections IPv4 Pools Support and IPv6 pools support
  14. [IPFIX] Message aggregation added for IPFIX streams: FullFlow/DNS/META/NAT
  15. [IPFIX] Added parameter ipfix_mtu_limit to restrict maximum message size for IPFIX UDP packets. Description: ClickStream export Setup, Configuring Full NetFlow Export in IPFIX Format
  16. [IPFIX DNS] New elements added to IPFIX DNS: 224 (ipTotalLength) and 43823:3206 (DNS transaction id). Description
  17. [VRRP] Fixed proper handling of the vrrp_enable option change
  18. [BRAS][PPP] PPP session key is now compound: l2subs_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
  19. [DPI] Added cloud protocols with identifiers 55296..58367
  20. [IPFIX] Fixed IPFIX exporter reinitialization bugs
  21. [BRAS][subs_grooming] Fixed potential crash due to race condition during fastDPI shutdown
  22. [CLI] Added commands to display mempool properties and statistics
        hal mempool props
        hal mempool stat

    DPDK must be built with statistics collection enabled to display mempool stats

  23. [BRAS][DHCP] Fixed crash when parsing Framed-Pool Renew response if it contains no DHCP options
  24. [PCRF][Acct] Fixed: Interim-Update sending is now disabled when Acct-Interim-Interval = 0 is explicitly set in the RADIUS response. For more details, see sections acct-interim-interval, PPPoE Radius Access-Request
  25. [VASE_CLI] Created a unified CLI for managing DPI, BRAS, DHCP (KEA), ROUTER (BIRD) with support for authorization and command logging via TACACS (VEOS 8.x required). Description
  26. [SNMP] Created a module for monitoring system components via SNMP
  27. [DPI] Added DOQ 49318 protocol (DNS-over-QUIC)
  28. [Router] Announcing subscriber white addresses for 1:1 NAT individually and after authentication. Description
  29. [PCRF] Added support for service 19 "DNS spoofing", profile required. Description
  30. [DPDK] Added dpdk_engine=6 (mqrx-bridge) — number of RSS dispatchers per bridge. Description
  31. [DPDK] Removed dedicated mempools. The fastdpi.conf option dpdk_emit_mempool_size is deprecated and no longer used.
  32. [VLAN-Rule] Moved vlan group data from UDR to SDR. Global rules for vlan drop/pass/hide/permit set by the previous CLI command vlan group were converted and moved from UDR to SDR, with removal from UDR. Description
  33. Up to version 14, only one built-in database UDR (User Data Repository) is used, intended for permanent storage of data about services, policings, and other FastDPI settings.
    Starting from Version 14, UDR is split into UDR and SDR. The split occurs automatically during version update.
    SDR (System Data Repository) is intended for storing FastDPI settings not related to subscribers. It can be considered that SDR is an extension of fastdpi.conf. No special activation of SDR is required — the necessary .mdb files are created automatically when the corresponding mode is enabled in fastdpi.conf.
  34. [VLAN] VLAN rules — added CLI commands. Description
  35. [IPv6] Added direction detection in combined traffic (IN+OUT on one port) based on the local flag for IP addresses. Enabled via combined_io_direction_mode option
  36. [BRAS] Fixed compatibility with the old format of service 18, where there were fewer protocols and both fields in the profile needed to be filled
  37. [DPI] Lowered detection priority for telegram_tls
  38. [DPI] Improved detection of WECHAT and WECHAT_CALL
  39. [BRAS][Framed-Route] Fixed: possible crash when freeing memory
  40. [BRAS] Refactored PCRF connectivity: in the new implementation, all connections are equal; an error on any triggers reconnection of all connections and a switch to another PCRF. Added CLI commands:
    1. pcrf connect show — show current status and accumulated statistics for PCRF connections.
    2. Force connection to the specified PCRF 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.
      Description
  41. [IPFIX DNS] Added the ability to send DNS MX responses via IPFIX. Enabled by setting bit 3 (4) of the ajb_save_dns parameter. Description
  42. [DPI] Added FakeTLS protocol (49319) with validation
  43. [BRAS][DHCP] Changed: sliding window algorithm for rate limit
  44. [BRAS] Fixed: time comparison error when loading ip_prop from UDR
  45. [VLAN-Rule] Added support for 'any' instead of '*' when describing VLAN range. Description
  46. [DPI][LOG] Messages about insufficient SSL parsers are written to the slave log not for every event, but at a frequency of 1/50000.
  47. [DPI] Added protocols ZALO_CALL(49320) and VK_CALL(49321)
  48. [DPI] Fixed blocking in hard mode for SSL
  49. [Acct] Added attribute VASExperts-Service-Type. Radius acct start/interim/stop sends the authorization type in the VASExperts-Service-Type attribute. Description
  50. [CLI] Added: stat flow ip6 command to display IPv6 flow statistics. Description
  51. [CLI] Added: stat flow ip4 command to display IPv4 flow statistics. Analogous to the output in fastdpi_stat.log. Description
  52. [IPFIX] Fixed ExportTime formation error in IPFIX Fullflow
  53. [CLI] Added stat netflow command. Displays general statistics for Netflow/IPFIX (same as in fastdpi_stat.log under the "Statistics on NFLW_export" section). Description
  54. [DNS] Added support for substitution/blocking/dropping of DNS requests A, AAAA, MX, HTTPS. Description
  55. [CLI] Added stat firewall command. Description
  56. [DPI] Added BIGO_CDN protocol (49324)
  57. [DPI] Added UDP support for BIGOTV
  58. [PCRF][L2TP] Fixed: NAS attributes for L2TP during authorization
  59. [BRAS][L2TP] Fixed: data race when closing sessions
  60. [DPDK] Removed deprecated rx channels settings and related checks
  61. [IPFIX] Added configurable sending of drop octets/packets counters when generating IPFIX fullflow. Description
  62. [PCAP] Added capability to save traffic of a specified vlan using the ajb_save_vlan parameter. Description
  63. [DPIUTILS] Updated checknat utility. Description
  64. [DPIUTILS] Updated dns2dic utility with domain blocking support. Description
  65. [BRAS][L2TP] Fixed: data race during tunnel creation
  66. [Router] Fixed: interception and diversion of IPv6 packets to tap interfaces. Link-local addresses were not diverted to tap, even if explicitly specified in the router.subnet6 settings.
  67. [BRAS][L2TP] Fixed: length field in L2TP header for data packets. According to RFC, the len field in L2TP header is optional for data packets. Some L2TP client implementations do not understand data packets with the len field in the L2TP header. This fix adjusts FastDPI's behavior: if data packets from the subscriber arrive without the len field, then SSG will also send data packets without this field. If data packets from the subscriber contain the len field, SSG will include it as well.
  68. [BRAS] Fixed: sending commands from the 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).
  69. Fixed a recently introduced error (affecting betas 4.6 and 4.7) in the session lifecycle that leads to resource exhaustion over time; an operational update from these versions (or rollback) is recommended.

Changes in version 14.1

DPI

  1. [DPI][ajb_save_vlan] Fixed an error when the engine operates in read-only mode
  2. [DPDK][tap_device] Fixed: setting the tx queue length using the dpdk_tx_queue_size option. Previously, the TAP device tx queue length was always set to 256, which caused VMware VMXNET3 Ethernet Controller to report: ETHDEV: Invalid value for nb_tx_desc(=256), should be: <= 4096, >= 512, and a product of 1
  3. [LAG] Fixed: added load balancing for pass packets
  4. [DPI][ip_node stg] Added bucket occupancy statistics. The new CLI command stat storage ip4 detail displays bucket fill statistics in IPv4 node storage
  5. [DPI] Added validation for the MULTIPROXY_STRONG protocol
  6. [DPI] Improved scalability on 128-core systems
  7. [DPI][log] Improved the logging subsystem in cases of log file overflow
  8. [DPI][tethering] Added tethering detection. The parameter tethering_ttl_allowed = 128:64 [hot] defines the list of allowed TTL values for subscriber traffic that are not considered tethering. Values are separated by ':'. Up to 256 values (0–255) are supported. Description

BNG

  1. [BNG][framed-route] Fixed: Framed-Route handling when the subscriber login changes. Previously, Framed-Route subnets remained bound to the old login, and all services and policing for these subnets were taken from the old login
  2. [BNG] Added the bras_disable_l3_auth option — explicit prohibition of L3 auth in L2 BNG mode for all subscribers. For example, only DHCP authorization will work for subscribers with the AS local meta. Default value: off (L3 auth allowed) bras_disable_l3_auth=off. This option is meaningful only if enable_auth=1. The option is incompatible with bras_dhcp_auth_mix=0: if bras_dhcp_auth_mix=0 is set, bras_disable_l3_auth is assumed to be off (L3 auth allowed), and a warning is logged to the alert log
  3. [BNG] Added a new subscriber flag — prohibit L3 auth for a specific subscriber. This flag can only be set or cleared via CLI: a new parameter disable_l3_auth=[1:0] was added to the subs prop set command (1 — disable L3 auth, 0 — allow). By default, L3 auth is allowed
  4. [BNG][srcIP spoofing] Added filtering by source AS flags on the subs→inet path before packet processing to block outbound operator-side DDOS with IP spoofing.
    Added a new fastdpi.conf option ip_filter_source_as_flags (hot) — subs traffic AS filtering. Bitmask of AS flags for source IP on the subs side.
    Only packets whose source IP AS contains at least one of the specified flags are allowed; otherwise, the packet is dropped. AS flag values (bitmask):
    • 0 - filtering disabled (default) — ip_filter_source_as_flags=0x0
    • 0x0100 - pass
    • 0x0200 - local
    • 0x0400 - peer
    • 0x0800 - term
    • 0x1000 - mark1
    • 0x2000 - mark2
    • 0x4000 - mark3
  5. [BNG][PPP] Added database session utilization statistics to the ppp show stat command
  6. [BNG][PCEF][Policing] Added configuration of global policing from parameters passed in the VasExperts-Policing-Profile attribute with the BR## prefix
  7. [BNG][PCEF][Services] Added configuration of a personal (noname) user service profile from parameters passed in the VasExperts-Service-Profile attribute with the BP## prefix
  8. [BNG][PCEF][rating-group] New options (cold, fastDPI restart required):
    • rating_group_count — number of rating groups, 0 — RG disabled. Default value: 0
    • rating_group_max_subs — maximum number of subscribers with RG. Default value: 0 (RG disabled)
      RG storage is initialized only if billing statistics are enabled. Memory calculation for RG statistics storage: counter size per RG = 32 bytes. Total required memory:
      32 * rating_group_count * rating_group_max_subs * num_thread

      Example: for 10k subscribers, 256 RGs, and 8 processing threads, 625M of memory is required:

      rating_group_count = 256
      rating_group_max_subs = 10000
      num_thread = 8
      memory_required = 32 * 256 * 10000 * 8 = 625M
  9. [BNG][PCEF][rating-group][RADIUS Accounting] Output of RG statistics in RADIUS Accounting. RG statistics are sent in separate Interim-Update packets. Only non-zero RGs are transmitted. Due to the 4096-byte RADIUS packet size limit, RG data may be split into multiple Interim-Update packets.
    To distinguish Interim-Update packets containing RG data, a new VSA VasExperts-Acct-Type (id=28, vendor 43823, integer) is used with the following values:
    • 0 — standard Interim Update Accounting
    • 1 — RG data
      Each rating group and its counters are transmitted in a *single* VSA containing the following attributes:
    • VasExperts-Acct-Rating-Group
    • VasExperts-Acct-Input-Octets-64
    • VasExperts-Acct-Output-Octets-64
    • VasExperts-Acct-Input-Packets-64
    • VasExperts-Acct-Output-Packets-64
      Packet and byte counters are output according to the acct_swap_dir option (as in Accounting).
      RG transmission specifics:
    • RGs are optional and may be absent for a subscriber; in this case, no RG accounting is sent
    • if the RADIUS server does not acknowledge receipt of an RG packet, it is not retransmitted — fresh data will be sent in the next Interim-Update
    • if a subscriber has RG statistics, current RG data is sent in Interim-Update packets before Acct-Stop at session termination
  10. [BNG][PCEF][rating-group][CLI] Added the subs traffic stat CLI command. For a specified subscriber, the command displays billing statistics and rating group statistics, if enabled
  11. [BNG][PCEF][rating-group][RADIUS Accept] Added assignment of an RG service during authorization. RG statistics accumulation can be enabled only if service 9 (billing statistics) is enabled for the subscriber. RG is assigned at authorization by specifying a special service 9 profile named "RG":
    VasExperts-Service-Profile :="9:RG"

    If service 9 is disabled, RG accumulation is also disabled.
    Examples:

# service 9 enabled, RG disabled. Standard RADIUS Accounting is sent.
VasExperts-Enable-Service :="9:on"
# service 9 enabled, RG enabled. RG data is sent in RADIUS Accounting.
VasExperts-Service-Profile :="9:RG"
# service 9 disabled, RG disabled. Neither standard RADIUS Accounting nor RG is sent.
VasExperts-Enable-Service :="9:off"

Was this information helpful?