BNG Blaster 1.1.0
This release adds BGP L2VPN (RFC 6624), EVPN E-LAN, targeted LDP, LAG member flapping and LACP passive mode. It also makes BGP and TCP more robust at scale, adds a containerlab example, and fixes many bugs found by a code review of the whole code base, including LSPGEN.
New features
Routing
- BGP L2VPN (RFC 6624): BGP sessions with the family
l2vpnlearn the label blocks of remote CEs, which the new commandbgp-l2vpn-routesshows. Traffic streams withbgp-l2vpn-rd,bgp-l2vpn-ce-idandbgp-l2vpn-local-ce-idsend Ethernet over MPLS frames over the pseudowire to the remote CE. - EVPN E-LAN: traffic streams with
bgp-evpn-elansend to the label of the MAC/IP route of the destination (known unicast). If the MAC isn't learned, they fall back to the ingress replication label of the IMET route (unknown unicast). The new stream optiontx-control-wordadds the PW control word to EVPN VPWS and E-LAN traffic. A new EVPN test guide is part of the documentation. - Targeted LDP (RFC 5036 extended discovery) for IPv4 and IPv6, configured with the new LDP options
targeted-neighbors,targeted-hold-timeandtargeted-hello-accept. - LDP label withdraw: LDP now handles label withdraw messages and the loss of a session. Streams stop sending until the label is advertised again, and
ldp-databaseshows whether each entry is active. - BGP TCP-AO: the new BGP option
tcp-ao-exclude-optionskeeps TCP options other than TCP-AO out of the MAC (RFC 5925). This is required for TCP-AO sessions with Junos unlesstcp-ao-optionis enabled there. - Routing teardown order: BGP and LDP sessions are now closed before IS-IS and OSPF withdraw their routes, so that sessions between loopbacks close cleanly. The new IS-IS and OSPF option
teardown-delaydelays the withdraw further.
Access
- PPPoE
lcp-restartcommand: sends a new LCP Configure-Request on established sessions without PADT, to test LCP renegotiation on the BNG (#360). - L2TP proxy authentication on the LNS: if the ICCN carries Proxy Authen AVPs, the LNS answers PAP or CHAP at once instead of waiting for a retransmission (#154). The new
l2tp-serveroptionproxy-auth(defaulttrue) turns this off. - L2TP tunnel session counts:
l2tp-tunnelsnow showssessionsandsessions-establishedfor every tunnel. - PPPoE MRU limit: the LCP MRU is now limited to the PPP-Max-Payload (RFC 4638). Larger MRUs are answered with Configure-Nak and counted as
lcp-mru-invalid.
Interfaces and I/O
- LAG monkey: with the new LAG option
monkey, one random member interface is disabled or enabled every 30 seconds. It is controlled withmonkey-startandmonkey-stop, like the session monkey. - LACP passive mode: the new LAG option
lacp-passive(defaultfalse) clears the LACP activity flag. The first LACPDU is now sent as soon as a member is added. Before, it went out only after the first periodic interval, which delayed the LAG by 30 seconds with the long timeout. - Gratuitous ARP and unsolicited NA: the new network interface options
gratuitous-arpandunsolicited-naannounce all interface addresses at the start and, withannounce-interval, periodically. The new commandnetwork-announcerestarts the announcements. They are counted astx-garpandtx-unsolicited-na. - AF_XDP
copy-rxmode: the newaf-xdp-modevaluecopy-rxbinds the RX queues in copy mode and the TX queues in zero-copy mode. This is for NICs like the i40e with an IOMMU in translation mode, where zero-copy RX fails while zero-copy TX works. - Stream capture: with
capture-include-streams, the capture now includes stream packets sent and received by the TX and RX threads. The outer VLAN that the kernel stripped is restored for these packets. - Logging: the log now includes the process ID at the start, and the thread ID and CPU of every I/O thread.
**Container and contain
