1Net::BGP::Process(3) User Contributed Perl Documentation Net::BGP::Process(3)
2
3
4
6 "Net::BGP::Process" - Class encapsulating BGP session multiplexing
7 functionality
8
10 use Net::BGP::Process;
11
12 $bgp = Net::BGP::Process->new( Port => $port );
13
14 $bgp->add_peer($peer);
15 $bgp->remove_peer($peer);
16 $bgp->event_loop();
17
19 This module encapsulates the functionality necessary to multiplex
20 multiple BGP peering sessions. While individual Net::BGP::Peer objects
21 contain the state of each peering session, it is the
22 "Net::BGP::Process" object which monitors each peer's transport-layer
23 connection and timers and signals the peer whenever messages are
24 available for processing or timers expire. A "Net::BGP::Process"
25 object must be instantiated, even if a program only intends to
26 establish a session with a single peer.
27
29 new() - create a new "Net::BGP::Process" object
30
31 $bgp = Net::BGP::Process->new( Port => $port, ListenAddr => '1.2.3.4' );
32
33 This is the constructor for "Net::BGP::Process" objects. It returns a
34 reference to the newly created object. The following named parameters
35 may be passed to the constructor.
36
37 Port
38 This parameter sets the TCP port the BGP process listens on. It may be
39 omitted, in which case it defaults to the well-known BGP port TCP/179.
40 If the program cannot run with root priviliges, it is necessary to set
41 this parameter to a value greater than or equal to 1024. Note that some
42 BGP implementations may not allow the specification of an alternate
43 port and may be unable to establish a connection to the
44 "Net::BGP::Process".
45
46 ListenAddr
47 This parameter sets the IP address the BGP process listens on.
48 Defaults to INADDR_ANY.
49
50 add_peer() - add a new peer to the BGP process
51
52 $bgp->add_peer($peer);
53
54 Each Net::BGP::Peer object, which corresponds to a distinct peering
55 session, must be registered with the "Net::BGP::Process" object via
56 this method. It is typically called immediately after a new peer object
57 is created to add the peer to the BGP process. The method accepts a
58 single parameter, which is a reference to a Net::BGP::Peer object.
59
60 remove_peer() - remove a peer from the BGP process
61
62 $bgp->remove_peer($peer);
63
64 This method should be called if a peer should no longer be managed by
65 the BGP process, for example, if the session is broken or closed and
66 will not be re-established. The method accepts a single parameter,
67 which is a reference to a Net::BGP::Peer object which has previously
68 been registered with the process object with the add_peer() method.
69
70 event_loop() - start the process event loop
71
72 $bgp->event_loop();
73
74 This method must called after all peers are instantiated and added to
75 the BGP process and any other necessary initialization has occured.
76 Once it is called, it takes over program control flow, and control will
77 only return to user code when one of the event callback functions is
78 invoked upon receipt of a BGP protocol message or a user established
79 timer expires (see Net::BGP::Peer for details on how to establish
80 timers and callback functions). The method takes no parameters. It will
81 only return when there are no Net::BGP::Peer objects remaining under
82 its management, which can only occur if they are explicitly removed
83 with the remove_peer() method (perhaps called in one of the callback or
84 timer functions).
85
87 Net::BGP
88 Net::BGP::Peer
89 Net::BGP::Update
90 Net::BGP::Refresh
91 Net::BGP::ASPath
92 Net::BGP::NLRI
93 Net::BGP::Notification
94
96 Stephen J. Scheck <sscheck@cpan.org>
97
98
99
100perl v5.36.0 2023-01-20 Net::BGP::Process(3)