Connection

NAME

Net::BGP::Connection - BGP Server Connection Class

SYNOPSIS

use Net::BGP::Connection;
my $conn    = Net::BGP::Connection.new(
                    :socket($socket),
                    :listener-channel($listener),
                    :user-supplier($user),
                );
  my $id      = $conn.id;
$conn.command.send($msg);

DESCRIPTION

Maintains the connection information for an active (in the TCP-sense) BGP connection.

ATTRIBUTES

socket

The socket associated with this connection.

listener-channel

A channel used to send information back up to the listener (for instance, to remove a connection from the connection hash).

user-supplier

A supplier used to send information back up to the user (for instance, upon receipt of a BGP message.

command

A channel used to send BGP commands to the connection. See classes under the Net::BGP::Command namespace.

id

A unique ID number associated with this connection.

buffer

A buf8 buffer representing outstanding (unparsed) bytes.

inbound

True if the connection is an inbound connection.

remote-ip

The IP of the remote end of the connection.

remote-port

The port of the remote end of the connection.

METHODS

pop-bgp-message

my $bgp-msg = $conn.pop-bgp-message;

Takes input from the connection buffer ($.buffer) and removes (if possible) one message from the buffer. If a complete message is present, it returns a Net::BGP::Message.

It modifies the buffer when it removes the message.

This method also will throw BGP message errors if encountered.

send-bgp(Net::BGP::Message:D $msg -->Nil)

$conn.send-bgp($msg)

Sends a BGP message to the remote peer.

valid-marker

say "Valid marker received" if $conn.valid-marker;

Looks at the first 16 bytes of hte buffer to determine if a valid BGP marker is present (I.E. 16 bytes consisting of value 255). Returns a boolean true or false value.

close

Closes the connection, signalling controller. Note it doesn't signal anything else.

AUTHOR

Joelle Maslak <[email protected]>

COPYRIGHT AND LICENSE

Copyright Ā© 2018-2019 Joelle Maslak

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.

Net::BGP v0.9.0

BGP Server Support

Authors

  • Joelle Maslak

License

Artistic-2.0

Dependencies

ifDateTime::MonotonicDigestNativeHelpers::BlobOO::MonitorsStrictClassSys::DomainnameSys::HostAddrTCP::LowLevelTerminal::ANSIColor

Test Dependencies

Provides

  • Net::BGP
  • Net::BGP::AFI
  • Net::BGP::AFI-SAFI
  • Net::BGP::AS-List
  • Net::BGP::CIDR
  • Net::BGP::Capability
  • Net::BGP::Capability::ASN32
  • Net::BGP::Capability::Deprecated-Dynamic-Capability
  • Net::BGP::Capability::FQDN
  • Net::BGP::Capability::Generic
  • Net::BGP::Capability::Graceful-Restart
  • Net::BGP::Capability::Graceful-Restart::Per-AF
  • Net::BGP::Capability::MPBGP
  • Net::BGP::Capability::Route-Refresh
  • Net::BGP::Capability::Route-Refresh-Cisco
  • Net::BGP::Command
  • Net::BGP::Command::BGP-Message
  • Net::BGP::Command::Dead-Child
  • Net::BGP::Command::Stop
  • Net::BGP::Connection
  • Net::BGP::Connection-List
  • Net::BGP::Connection-Role
  • Net::BGP::Controller
  • Net::BGP::Controller-Handle-BGP
  • Net::BGP::Conversions
  • Net::BGP::Conversions-Post201812
  • Net::BGP::Conversions-Pre201812
  • Net::BGP::Error
  • Net::BGP::Error::Bad-Option-Length
  • Net::BGP::Error::Bad-Parameter-Length
  • Net::BGP::Error::Hold-Time-Too-Short
  • Net::BGP::Error::Length-Too-Long
  • Net::BGP::Error::Length-Too-Short
  • Net::BGP::Error::Marker-Format
  • Net::BGP::Error::Unknown-Version
  • Net::BGP::Event
  • Net::BGP::Event::BGP-Message
  • Net::BGP::Event::Closed-Connection
  • Net::BGP::Event::New-Connection
  • Net::BGP::IP
  • Net::BGP::Message
  • Net::BGP::Message::Generic
  • Net::BGP::Message::Keep-Alive
  • Net::BGP::Message::Notify
  • Net::BGP::Message::Notify::Cease
  • Net::BGP::Message::Notify::Cease::Administrative-Reset
  • Net::BGP::Message::Notify::Cease::Administrative-Shutdown
  • Net::BGP::Message::Notify::Cease::Connection-Rejected
  • Net::BGP::Message::Notify::Cease::Generic
  • Net::BGP::Message::Notify::Cease::Peer-Deconfigured
  • Net::BGP::Message::Notify::Generic
  • Net::BGP::Message::Notify::Header
  • Net::BGP::Message::Notify::Header::Connection-Not-Syncronized
  • Net::BGP::Message::Notify::Header::Generic
  • Net::BGP::Message::Notify::Hold-Timer-Expired
  • Net::BGP::Message::Notify::Open
  • Net::BGP::Message::Notify::Open::Bad-Peer-AS
  • Net::BGP::Message::Notify::Open::Generic
  • Net::BGP::Message::Notify::Open::Unsupported-Optional-Parameter
  • Net::BGP::Message::Notify::Open::Unsupported-Version
  • Net::BGP::Message::Open
  • Net::BGP::Message::Update
  • Net::BGP::Parameter
  • Net::BGP::Parameter::Capabilities
  • Net::BGP::Parameter::Generic
  • Net::BGP::Path-Attribute
  • Net::BGP::Path-Attribute::AS-Path
  • Net::BGP::Path-Attribute::AS4-Aggregator
  • Net::BGP::Path-Attribute::AS4-Path
  • Net::BGP::Path-Attribute::Aggregator
  • Net::BGP::Path-Attribute::Atomic-Aggregate
  • Net::BGP::Path-Attribute::Cluster-List
  • Net::BGP::Path-Attribute::Community
  • Net::BGP::Path-Attribute::Extended-Community
  • Net::BGP::Path-Attribute::Generic
  • Net::BGP::Path-Attribute::Local-Pref
  • Net::BGP::Path-Attribute::Long-Community
  • Net::BGP::Path-Attribute::MED
  • Net::BGP::Path-Attribute::MP-NLRI
  • Net::BGP::Path-Attribute::MP-Unreachable
  • Net::BGP::Path-Attribute::Next-Hop
  • Net::BGP::Path-Attribute::Origin
  • Net::BGP::Path-Attribute::Originator-ID
  • Net::BGP::Peer
  • Net::BGP::Peer-List
  • Net::BGP::SAFI
  • Net::BGP::Speaker
  • Net::BGP::Speaker::Display
  • Net::BGP::Time
  • Net::BGP::Validation

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.