rtbrick / bngblaster

The BNG Blaster is an open-source network tester for access and routing protocols.
https://rtbrick.github.io/bngblaster/
BSD 3-Clause "New" or "Revised" License
202 stars 32 forks source link

CGNAT: If traffic streams/flows are higher say (>4M) PPPoE subscribers are getting timed out #221

Closed DharmendraShetty closed 6 months ago

DharmendraShetty commented 7 months ago

Description:


CGNAT: If traffic streams/flows are higher say (>4M) PPPoE subscribers are getting timed out Say there are 180 Flows for 24K Subscribers. With this scenario pppoe sessions gets timed out.

To Reproduce

Version (bngblaster -v): root@SN-STD-25-421167005:/home/supervisor # bngblaster -v Version: 0.8.34 Compiler: GNU (9.4.0) IO Modes: packet_mmap_raw (default), packet_mmap, raw root@SN-STD-25-421167005:/home/supervisor #

JSON configuration: root@SN-STD-25-421167005:/home/supervisor # cat demo-pppoe.json { "interfaces": { "network": [ { "comment": "For Instance: vrf1",
"interface": "SN-8-B1", "address": "13.1.1.2/24", "gateway": "13.1.1.1", "address-ipv6": "13:1:1::2/64", "gateway-ipv6": "13:1:1::1" } ], "access": [ { "interface": "SN-7-B1", "agent-remote-id": "CBNG1.RTBRICK.{session-global}", "stream-group-id": 1, "outer-vlan-min": 1002, "outer-vlan-max": 1016, "inner-vlan-min": 85, "inner-vlan-max": 4084 } ] }, "sessions": { "count": 24000, "max-outstanding": 800, "start-rate": 400, "stop-rate": 400 }, "pppoe": { "reconnect": true, "discovery-timeout": 3, "discovery-retry": 10, "host-uniq": true, "vlan-priority": 6 }, "access-line": { "agent-remote-id": "DEU.RTBRICK.{session-global}", "agent-circuit-id": "0.0.0.0/0.0.0.0 eth 0:{session-global}", "rate-up": 2000, "rate-down": 16384, "dsl-type": 5 }, "ppp": { "mru": 1492, "authentication": { "username": "user{session-global}@rtbrick.com", "password": "test", "timeout": 240, "retry": 30, "protocol": "PAP" }, "lcp": { "conf-request-timeout": 20, "conf-request-retry": 40, "keepalive-interval": 255, "keepalive-retry": 100 }, "ipcp": { "enable": true, "conf-request-timeout": 20, "conf-request-retry": 40 }, "ip6cp": { "enable": true, "conf-request-timeout": 20, "conf-request-retry": 40 } }, "dhcp": { "enable": true }, "dhcpv6": { "enable": true, "rapid-commit": true },
"bgp": [ { "comment": "RR1-C1-IPv4", "network-interface": "SN-8-B1", "local-ipv4-address": "13.1.0.1", "peer-ipv4-address": "13.1.1.1", "raw-update-file": "/home/supervisor/ipv4_nlri_nh1.bgp", "local-as": 65004, "peer-as": 65004 }, { "comment": "RR1-C1-IPv6", "network-interface": "SN-8-B1", "local-ipv4-address": "13.1.0.2", "peer-ipv4-address": "13.1.1.1", "raw-update-file": "/home/supervisor/ipv6_nlri_nh1.bgp",
"local-as": 65004, "peer-as": 65004 } ]
} root@SN-STD-25-421167005:/home/supervisor #


Traffic Streams: 180 Flows with 0.3 PPS

snippet: { "name": "STREAM107", "stream-group-id": 1, "type": "ipv4", "direction": "upstream", "priority": 64, "source-port": 65107, "length": 100, "nat": true, "pps": 0.3 },

Steps to reproduce the behavior:

  1. ...

Expected behavior Subscribers Sessions(PPPoE) should not go timed out.

Screenshots

Additional context

Thanks, Dharmendra

GIC-de commented 6 months ago

Fixed with version 0.8.36!