100G card support for SSG-120

March 6, 2024
Stingray SG Functionality
100G card support for SSG-120
In this article we will consider an example of a real load on a 64-core processor for SSG 120 in BNG/NAT/DPI mode.

SSG-120 is designed to carry 100Gbps Full duplex traffic, i.e. up to 100Gbps of incoming and 100Gbps of outgoing traffic in Inline mode.

stingray implementation scheme

In Inline mode, 2 100G ports are oriented toward subscribers (in) and the other two ports are oriented toward the Internet (out).

vStack-R-ASR201-S08RE2 Server Specification

  • AMD EPYC 7713 (64 cores)
  • 2U Heatsink
  • 8 x 32GB DDR4 RDIMM 3200MHz
  • LSI 9361-8i (1GB)
  • 2 x 960GB SATA SSD (front slots, PM893)
  • 2 x Dual ports 100Gb Eth QSFP28 PCIe 4.0 (Mellanox MCX516A-CDAT)
  • 1 x 1TB NVMe SSD (990 PRO)
  • 2 x 1Gb RJ45 (built-in)
  • Dedicated 1Gb RJ45 management interface
  • 2 x PSU AC 1300W
  • Rack Mount Kit
  • Standard “8x5xNext Business Day+5” warranty, 3 years

100G cards with mlx5 driver (Mellanox ConnectX-4, ConnectX-5, ConnectX-6) must be used. The motherboard and network card must support PCIe 4.0.
SSG Version SSG-80 SSG-120
AMD EPYC Processor 32 cores 64 cores
DDR4 Memory 6x32GB 8x32GB
NIC 10x10G, 6x40G, 4x25G, 2x100G 20x10G, 8x40G, 8x25G, 4x100G

SSG Configuration

[user@server]# grep "^[^#*/;]" /etc/dpi/fastdpi.conf
#configuring interfaces, dispatchers and handlers  
in_dev=01-00.0:c1-00.0
out_dev=01-00.1:c1-00.1
dpdk_engine=2
dpdk_rss=8
mem_tracking_flow=60000000
mem_tracking_ip=60000000
scale_factor=10
num_threads=46

#web filtering, subscriber notification and DDOS protection  
timeout_check_new_bl=1
federal_black_list=1
black_list_redirect=http://isp.ru/blockpage.html?
mem_ssl_parsers=1440000
ddos_reqsec_threshold=300
ddos_reqsec_variation=5
ddos_trace=1
ntf_server=isp.ru
nat_max_profiles=30
max_profiles_white_list=10
ad_server=a.b.c.d

#BRAS L3 IPoE and management configuration
ipv6=1
bras_ipv6=0
mem_ipv6_tracking_flow=16000000
mem_ipv6_tracking_ip=16000000
enable_auth=1
auth_servers=127.0.0.1%lo:29002
udr=1
ctrl_port=29000
ctrl_dev=eth0
only_tcp=0
ctrl_trace=0

#Full Netflow statistics uploading and NAT Flow
ipfix_dev=eth0
ipfix_nat_tcp_collectors=a.b.c.d:9990
ipfix_nat_udp_collectors=a.b.c.d:9990
enable_acct=1
lifetime_flow=60
lifetime_flow_long=150
netflow=12
netflow_dev=eth0
netflow_timeout=1
netflow_full_collector=a.b.c.d:9997
netflow_passive_timeout=120
netflow_active_timeout=280
netflow_rate_limit=5
The amount of incoming traffic is 96Gbps with 48Gbps on each 2x100G card.
[SSG ][2024/02/25-22:00:09:827704] Interface statistics:
        Cluster #0 Absolute Stats Rcvd: [2615640812745 pkts][2454340817189715 bytes][0+0=0 pkts dropped]
        Cluster #0 : IF 01-00.0 (01:00.0):
                Absolute Stats Rcvd: [482192736443 pkts][197330047519864 bytes][0 pkts dropped]
                               Send: [828424002151 pkts][1036092809640068 bytes]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [878726075 pkts][480501786372 bytes]
                               Pthr: [0 pkts][0 bytes]
                               Emit: [333480910 pkts][151850114998 bytes]
                               Eemt: [0 err_pkts][0.00 %]
                Actual   Stats Rcvd: [13895784404 bytes][7'410.17 Mbit/sec]
                                     [41145641 pkts ][2'742'707.00 pkt/sec]
                               Send: [90364281467 bytes][48'188.39Mbit/sec]
                                     [70322226 pkts ][4'687'575.00 pkt/sec]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [39354170 bytes][0.28 %]
                                     [66557 pkts ][0.16 %]
                               Pthr: [0 bytes][0.00 %]
                                     [0 pkts ][0.00 %]
                               Emit: [12061453 bytes][6.43 Mbit/sec]
                                     [25310 pkts ][1'687.12 pkt/sec]
                               Eemt: [0 err_pkts][0.00 %]
        Cluster #0 : IF 01-00.1 (01:00.1):
                Absolute Stats Rcvd: [834624954296 pkts][1044237709765712 bytes][0 pkts dropped]
                               Send: [481314010364 pkts][196849545732453 bytes]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [6200952142 pkts][8144900121496 bytes]
                               Pthr: [0 pkts][0 bytes]
                               Emit: [318412434 pkts][149166083189 bytes]
                               Eemt: [0 err_pkts][0.00 %]
                Actual   Stats Rcvd: [91083935501 bytes][48'572.16 Mbit/sec]
                                     [70853091 pkts ][4'722'962.00 pkt/sec]
                               Send: [13856431407 bytes][7'389.19 Mbit/sec]
                                     [41079083 pkts ][2'738'270.00 pkt/sec]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [719652932 bytes][0.79 %]
                                     [530866 pkts ][0.75 %]
                               Pthr: [0 bytes][0.00 %]
                                     [0 pkts ][0.00 %]
                               Emit: [11816447 bytes][6.30 Mbit/sec]
                                     [24431 pkts ][1'628.53 pkt/sec]
                               Eemt: [0 err_pkts][0.00 %]

        Cluster #0 : IF c1-00.0 (c1:00.0):
                Absolute Stats Rcvd: [485789098077 pkts][200219597609833 bytes][0 pkts dropped]
                               Send: [807070736464 pkts][1004751894036147 bytes]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [873933018 pkts][479111895431 bytes]
                               Pthr: [0 pkts][0 bytes]
                               Emit: [333436769 pkts][151796258034 bytes]
                               Eemt: [0 err_pkts][0.00 %]
                Actual   Stats Rcvd: [14381469179 bytes][7'669.17 Mbit/sec]
                                     [41475400 pkts ][2'764'688.00 pkt/sec]
                               Send: [89993320396 bytes][47'990.57 Mbit/sec]
                                     [70008888 pkts ][4'666'688.00 pkt/sec]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [39061880 bytes][0.27 %]
                                     [66042 pkts ][0.16 %]
                               Pthr: [0 bytes][0.00 %]
                                     [0 pkts ][0.00 %]
                               Emit: [12031307 bytes][6.42 Mbit/sec]
                                     [25223 pkts ][1'681.32 pkt/sec]
                               Eemt: [0 err_pkts][0.00 %]
        Cluster #0 : IF c1-00.1 (c1:00.1):
                Absolute Stats Rcvd: [813034023929 pkts][1012553462294306 bytes][0 pkts dropped]
                               Send: [484915165056 pkts][199740485712619 bytes]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [5963287463 pkts][7801568255123 bytes]
                               Pthr: [0 pkts][0 bytes]
                               Emit: [318272267 pkts][149067418316 bytes]
                               Eemt: [0 err_pkts][0.00 %]
                Actual   Stats Rcvd: [90639110526 bytes][48'334.95 Mbit/sec]
                                     [70487649 pkts ][4'698'602.00 pkt/sec]
                               Send: [14342405516 bytes][7'648.34 Mbit/sec]
                                     [41409355 pkts ][2'760'286.00 pkt/sec]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [645795371 bytes][0.71 %]
                                     [478766 pkts ][0.68 %]
                               Pthr: [0 bytes][0.00 %]
                                     [0 pkts ][0.00 %]
                               Emit: [11785381 bytes][6.28 Mbit/sec]
                                     [24357 pkts ][1'623.60 pkt/sec]
                               Eemt: [0 err_pkts][0.00 %]