1
0
mirror of https://github.com/rtbrick/bngblaster.git synced 2024-05-06 15:54:57 +00:00
2021-11-02 16:03:29 +01:00

4.3 KiB

IPoE

The BNG Blaster is able to emulate IP over Ethernet (IPoE) subscribers with static and dynamic address assignment supporting 1:1 and N:1 VLAN mode.

Static Addresses

Static addresses means that the IP address and gateway is assigned statically as shown in the example below.

{
    "interfaces": {
        "access": [
        {
            "interface": "eth1",
            "type": "ipoe",
            "vlan-mode": "1:1",
            "outer-vlan-min": 128,
            "outer-vlan-max": 4000,
            "address": "200.0.0.1",
            "address-iter": "0.0.0.4",
            "gateway": "200.0.0.2",
            "gateway-iter": "0.0.0.4",
        }
     ]
    }
}

DHCPv4/v6

The most common case for IPoE is using DHCPv4/v6 as shown below.

{
    "interfaces": {
        "access": [
        {
            "interface": "eth1",
            "type": "ipoe",
            "outer-vlan": 7,
            "vlan-mode": "N:1"
        }
     ]
    },
    "dhcp": {
        "enable": true,
    },
    "dhcpv6": {
        "enable": true
    },
    "access-line": {
        "agent-remote-id": "DEU.RTBRICK.{session-global}",
        "agent-circuit-id": "0.0.0.0/0.0.0.0 eth 0:{session-global}"
    }
}

IPoE Session Information

The control socket command session-info session-id <id> provides detailed information for IPoE sessions.

$ sudo bngblaster-cli run.sock session-info session-id 1 | jq .

{
    "status": "ok",
    "code": 200,
    "session-information": {
        "type": "ipoe",
        "session-id": 1,
        "session-state": "Established",
        "interface": "eth1",
        "outer-vlan": 8,
        "inner-vlan": 1,
        "mac": "02:00:00:00:00:01",
        "agent-circuit-id": "0.0.0.0/0.0.0.0 eth 0:1",
        "agent-remote-id": "DEU.RTBRICK.1",
        "ipv4-address": "1.1.1.3",
        "ipv4-netmask": "255.255.255.255",
        "ipv4-gateway": "1.1.1.1",
        "ipv4-dns1": "10.0.0.3",
        "ipv4-dns2": "10.0.0.4",
        "ipv6-prefix": "fc66:1337:2222::3/128",
        "ipv6-delegated-prefix": "fc66:1337:3333:2::/64",
        "dhcp-state": "Bound",
        "dhcp-server": "1.1.1.1",
        "dhcp-lease-time": 300,
        "dhcp-lease-expire": 299,
        "dhcp-lease-expire-t1": 149,
        "dhcp-lease-expire-t2": 261,
        "dhcp-tx": 2,
        "dhcp-rx": 2,
        "dhcp-tx-discover": 1,
        "dhcp-rx-offer": 1,
        "dhcp-tx-request": 1,
        "dhcp-rx-ack": 1,
        "dhcp-rx-nak": 0,
        "dhcp-tx-release": 0,
        "dhcpv6-state": "Bound",
        "dhcpv6-lease-time": 14400,
        "dhcpv6-lease-expire": 14399,
        "dhcpv6-lease-expire-t1": 899,
        "dhcpv6-lease-expire-t2": 1439,
        "dhcpv6-tx": 1,
        "dhcpv6-rx": 1,
        "dhcpv6-tx-solicit": 1,
        "dhcpv6-rx-advertise": 0,
        "dhcpv6-tx-request": 0,
        "dhcpv6-rx-reply": 1,
        "dhcpv6-tx-renew": 0,
        "dhcpv6-tx-release": 0,
        "dhcpv6-dns1": "fc66::3",
        "dhcpv6-dns2": "fc66::4",
        "tx-packets": 6,
        "rx-packets": 6,
        "rx-fragmented-packets": 0,
        "session-traffic": {
            "total-flows": 6,
            "verified-flows": 0,
            "first-seq-rx-access-ipv4": 0,
            "first-seq-rx-access-ipv6": 0,
            "first-seq-rx-access-ipv6pd": 0,
            "first-seq-rx-network-ipv4": 0,
            "first-seq-rx-network-ipv6": 0,
            "first-seq-rx-network-ipv6pd": 0,
            "access-tx-session-packets": 0,
            "access-rx-session-packets": 0,
            "access-rx-session-packets-loss": 0,
            "network-tx-session-packets": 0,
            "network-rx-session-packets": 0,
            "network-rx-session-packets-loss": 0,
            "access-tx-session-packets-ipv6": 0,
            "access-rx-session-packets-ipv6": 0,
            "access-rx-session-packets-ipv6-loss": 0,
            "network-tx-session-packets-ipv6": 0,
            "network-rx-session-packets-ipv6": 0,
            "network-rx-session-packets-ipv6-loss": 0,
            "access-tx-session-packets-ipv6pd": 0,
            "access-rx-session-packets-ipv6pd": 0,
            "access-rx-session-packets-ipv6pd-loss": 0,
            "network-tx-session-packets-ipv6pd": 0,
            "network-rx-session-packets-ipv6pd": 0,
            "network-rx-session-packets-ipv6pd-loss": 0
        }
    }
}