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