Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BNGBlaster counts rx-packets when disabling qdisc-bypass #206

Open
SoerenBusse opened this issue Aug 22, 2023 · 1 comment
Open

BNGBlaster counts rx-packets when disabling qdisc-bypass #206

SoerenBusse opened this issue Aug 22, 2023 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@SoerenBusse
Copy link

SoerenBusse commented Aug 22, 2023

Describe the bug

When configuring qdisc-bypass: false and a downstream-only stream, BNG-Blaster shows rx-packets on the network-interface, although no rx-packets are received:
image

This wrongly counted rx-packets are included in the report, too:

Interface: veth1.1
------------------------------------------------------------------------------
  TX:                     66034 packets         18876671 bytes
  TX Polled:                  0
  RX:                     66086 packets         18881052 bytes
  RX Protocol Error:          0 packets
  RX Unknown:                 0 packets
  RX Polled:                945

A10NSP Interface: veth1.1
  TX:                     66034 packets         18549487 bytes
  RX:                     66086 packets         18881052 bytes
  TX Stream:              66021 packets
  RX Stream:                 33 packets                0 loss
  Session-Traffic:
    TX IPv4:                 33 packets
    RX IPv4:                 33 packets                0 loss
    TX IPv6:                  0 packets
    RX IPv6:                  0 packets                0 loss
    TX IPv6PD:                0 packets
    RX IPv6PD:                0 packets                0 loss

Interface: veth1.2
------------------------------------------------------------------------------
  TX:                        54 packets             4655 bytes
  TX Polled:                  0
  RX:                     66087 packets         18617162 bytes
  RX Protocol Error:          0 packets
  RX Unknown:                 0 packets
  RX Polled:                945

Access Interface: veth1.2
  TX:                        54 packets             4655 bytes
  RX:                     66087 packets         18617162 bytes
  RX Multicast:               0 packets                0 loss
  TX Stream:                 33 packets
  RX Stream:              66021 packets                0 loss
  Session-Traffic:
    TX IPv4:                 33 packets
    RX IPv4:                 33 packets                0 loss
    TX IPv6:                  0 packets
    RX IPv6:                  0 packets                0 loss
    TX IPv6PD:                0 packets
    RX IPv6PD:                0 packets                0 loss

When setting qdisc-bypass: true the rx-packets are not counted:
image

To Reproduce
Use the PPPoE Quick-Start guide and disable qdisc-bypass.

Version (bngblaster -v):

Version: DEV
Compiler: GNU (11.4.0)
GIT:
  REF: HEAD (0.8.23)
  SHA: 2aba470164a8b779579f10c329e7a9790cb9f454
IO Modes: packet_mmap_raw (default), packet_mmap, raw, dpdk

JSON configuration:

{
    "interfaces": {
        "qdisc-bypass": false,
        "a10nsp": [
            {
                "__comment__": "PPPoE Server",
                "interface": "veth1.1"
            }
        ],
        "access": [
            {
                "__comment__": "PPPoE Client",
                "interface": "veth1.2",
                "type": "pppoe",
                "outer-vlan-min": 1,
                "outer-vlan-max": 4000,
                "inner-vlan": 7,
                "stream-group-id": 1
            }
        ]
    },
    "pppoe": {
        "reconnect": true
    },
    "dhcpv6": {
        "enable": false
    },
    "session-traffic": {
        "ipv4-pps": 1
    },
    "streams": [
        {
            "stream-group-id": 1,
            "name": "S1",
            "type": "ipv4",
            "direction": "downstream",
            "priority": 128,
            "length": 256,
            "pps": 2000,
            "a10nsp-interface": "veth1.1"
        }
    ]
}

Steps to reproduce the behavior:

  1. Configure qdisc-bypass: false
  2. Run BNG Blaster and observe rx-packets

Additional context

We want to bypass qdisc in egress to apply tc netem rules for simulating network issues like packet loss, latency etc.

@SoerenBusse SoerenBusse added the bug Something isn't working label Aug 22, 2023
@SoerenBusse SoerenBusse changed the title BNGBlaster counts RX-packets when disabling qdisc-bypass BNGBlaster counts rx-packets when disabling qdisc-bypass Aug 22, 2023
@SoerenBusse
Copy link
Author

Hi @GIC-de, the issue still exists on 0.9.7. Do you have any idea, what is the reason for it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants