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

Support ANCP #78

Open
SoerenBusse opened this issue Apr 20, 2022 · 4 comments
Open

Support ANCP #78

SoerenBusse opened this issue Apr 20, 2022 · 4 comments
Assignees
Labels
enhancement New feature or request low Low priority

Comments

@SoerenBusse
Copy link

Hey there,

we really would like to use the BNGBlaster to test our L2BSA setup. However we currently use ANCP triggered subscriber interfaces on our Juniper BNGs as described there: https://www.juniper.net/documentation/us/en/software/junos/subscriber-mgmt-wholesale/topics/concept/ancp-layer2-bitstream-access-overview.html

So the access node sends an ANCP port-up message, gets the appropriate A10-NSP from the radius and forwards the subscriber traffic to it.

So to test like thousands of PPPoE client sessions we need to first trigger thousands of ANCP port-up messages. Currently I use your library https://github.com/GIC-de/PyANCP for it, which works absolutely great.

So currently we've to maintain two configurations and can do it only after each other. First trigger all ANCP port-up messages and afterwards establish PPPoE sessions using BNGBlaster. An build-in feature to send an ANCP port-up before establishing a PPPoE session would be a lot easier and would create a more realistic scenario.

Do you've any plans to support ANCP? Or is it already implemented and I didn't find it in the documentation.

Maybe you've an idea for a more elegant solution, like calling BNGBlaster from a Python script which also sends the ANCP port-up messages.

Thank you very much!

@SoerenBusse SoerenBusse added the enhancement New feature or request label Apr 20, 2022
@GIC-de
Copy link
Member

GIC-de commented Apr 20, 2022

Hi Sören,

thank for you your valuable feedback! I know the JunOS L2BSA solution very well from my time at Juniper, but unfortunately, ANCP is currently not supported. With version 0.7.1, the BNG Blaster supports TCP protocols like BGP, so adding further TCP-based protocols like ANCP could be done similarly and I'm open to contributions from the community here.

For your use case, I would propose a new BNG Blaster command API that allows starting sessions manually. So you could run a python script using PyANCP to send an ANCP port-up followed by sending a BNG Blaster control command to start the corresponding session. This new Blaster feature could be added easily.

Regards

@SoerenBusse
Copy link
Author

Hi Christian,

I really like the API idea to start sessions manually. That would make things far more simple :)

GIC-de added a commit that referenced this issue Apr 21, 2022
@GIC-de
Copy link
Member

GIC-de commented Apr 21, 2022

Could you verify if the new session-start command would work for your use case here?

BRANCH: session-start (#81)

Therefore you need to disable session autostart first:

{
    "sessions": {
        "autostart": false
    }
}

Then you can start the sessions manually by session-id.

$sudo bngblaster-cli run.sock session-start session-id 1
{
    "status": "ok",
    "code": 200
}

Alternative with VLAN which could be generally used as an alternative to session-id (https://rtbrick.github.io/bngblaster/api/index.html).

$ sudo bngblaster-cli run.sock session-start outer-vlan 1000 inner-vlan 1
{
    "status": "ok",
    "code": 200
}

@GIC-de
Copy link
Member

GIC-de commented May 3, 2022

@SoerenBusse Is the session-start command working for your test case?

Istvan91 pushed a commit to Istvan91/bngblaster that referenced this issue Jul 16, 2022
Istvan91 pushed a commit to Istvan91/bngblaster that referenced this issue Jul 16, 2022
@GIC-de GIC-de added the low Low priority label Feb 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request low Low priority
Projects
None yet
Development

No branches or pull requests

2 participants