Help language development. Donate to The Perl Foundation
Net::BGP - BGP Server Support
use Net::BGP my $bgp = Net::BGP.new( port => 179 ); # Create a server object
This provides framework to support the BGP protocol within a Raku application.
This is a pre-release of the final version, and as such the interface may change. The best way of seeing how this module works is to look at
bin/bgpmon.pl6 and examining it. If you are interested in using this module, and have any suggestions at all, please let me know!
The port attribute defaults to 179 (the IETF assigned port default), but can be set to any value between 0 and 65535. It can also be set to Nil, meaning that it will be an ephimeral port that will be set once the listener is started.
The host to listen on (defaults to the IPv4 any-host IP, 0.0.0.0).
Returns the channel communicate to command the BGP server process. This will not be defined until
listen() is executed. It is intended that user code will send messages to the BGP server.
Returns the channel communicate for the BGP server process to communicate to user code.
If this is
True (default is
False), connections from unknown peers are allowed. When they first connect, a new peer is added to the peer list using the remote address and the ASN sent in the peer's OPEN message.
Starts BGP listener, on the port provided in the port attribute.
For a given instance of the BGP class, only one listener can be active at any point in time.
$bgp.peer-add( :peer-asn(65001), :peer-ip("192.0.2.1"), :peer-port(179), :passive(False), :ipv4(True), :ipv6(False), :md5($key), );
Add a new peer to the BGP server.
peer-ip is required. However, if the
peer-port is not provided,
179 will be used. If
passive is not used, the connection will not be configured as a passive connection. If
ipv4 is not provided, it defaults to
True (enabling the IPv4 address family), while
ipv6 defaults to
False (disabling the IPv6 address family). If an
md5 parameter is provided, this is used to set up MD5 associations (on OSes that support this via the
Mythic Beasts, a managed and unmanaged VPS, dedicated server, web and email hosting company (among many other services) generously donated the use of a VPS host with IPv4 and IPv6 BGP feeds for the development of this module. Check them out at https://www.mythic-beasts.com/.
Joelle Maslak [email protected]
Copyright © 2018-2020 Joelle Maslak
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.