Estou tentando configurar soquetes de cliente / servidor no Cisco EEM 3.0 TCL com a versão 12.4 (24) T8 do IOS (isso foi recentemente atualizado para determinar se o problema era ver o EEM).
Eu tenho os dois exemplos de scripts Tcl a seguir (ref: http://wiki.tcl.tk/15315 )
Server.tcl:
::cisco::eem::event_register_none maxrun 120
namespace import ::cisco::eem::*
namespace import ::cisco::lib::*
proc accept {chan addr port} {
puts "$addr:$port says [gets $chan]"
puts $chan goodbye
close $chan
}
socket -server accept 12345
vwait forever
Client.tcl:
::cisco::eem::event_register_none maxrun 20
namespace import ::cisco::eem::*
namespace import ::cisco::lib::*
set chan [socket 10.0.0.2 12345]
puts $chan hello
flush $chan
puts "10.0.0.2:12345 says [gets $chan]"
close $chan
10.0.0.2 é atribuído a um loopback.
Quando mostro as portas de escuta por meio do comando "show control-plane host open-ports", a porta do servidor 12345 está escutando, mas o script do cliente não produz nenhuma saída. Um telnet para o roteador (através de uma interface física) para a porta 12345 resulta em uma conexão recusada. Nenhuma ACL está ativada.
Esses scripts funcionam em um computador com Windows XP executando o ActiveTCL 8.5.
Esse é um recurso de bug ou segurança no EEM 3.0? São necessários comandos ou configurações adicionais para ativar os soquetes TCP no EEM 3.0?