Subject: | BGP not listening or connecting on Windows XP 5.8.8 |
Simple 'empty' code to establish a peer with a router doesn't connect,
and doesn't listen (verified with TCPView and netstat) when using
ActiveState build 822 on Windows XP, but does work with 5.8.8 on FreeBSD
6-STABLE.
The timer callback gets called, and nothing appears to fail, but no
networking happens either. The router in question is a Dynagen-emulated
Cisco 7200, but I can't see how that would stop Net::BGP from listening
(how would it know at that point?)
Here's my sample code:
my $bgp = Net::BGP::Process->new(
ListenAddr => "192.168.1.1",
Port => "179"
);
my $peer = new Net::BGP::Peer(
Start => 1,
Listen => 1,
ThisID => '192.168.1.1',
ThisAS => 64512,
PeerID => '192.168.1.2',
PeerAS => 64513
);
$peer->add_timer(\&my_timer_callback, 5);
$peer->set_error_callback(\&my_error_callback);
$peer->set_open_callback(\&my_open_callback);
$peer->set_update_callback(\&my_update_callback);
$peer->set_notification_callback(\&my_notification_callback);
$bgp->add_peer($peer);
print "Starting BGP event loop.\n";
$bgp->event_loop();
print "Finished BGP event loop.\n";
sub my_timer_callback { print "TICK\n"; return 1;}
sub my_update_callback { print "UPDATE\n"; return 1;}
sub my_notify_callback { print "NOTIFY\n"; return 1;}
sub my_open_callback { print "OPEN\n"; return 1; }
sub my_reset_callback { print "RESET\n"; return 1;}
sub my_refresh_callback { print "REFRESH\n"; return 1;}