TCP-Client / Server in Cisco EEM 3.0

9

Ich versuche, Client / Server-Sockets in Cisco EEM 3.0 TCL mit IOS Version 12.4 (24) T8 einzurichten (dies wurde kürzlich aktualisiert, um festzustellen, ob das Problem EEM ver war).

Ich habe die folgenden zwei Beispiel-Tcl-Skripte (siehe: 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 ist einem Loopback zugeordnet.

Wenn ich die Überwachungsports über den Befehl "show control-plane host open-ports" anzeige, überwacht der Server-Port von 12345, aber das Client-Skript erzeugt keine Ausgabe. Ein Telnet zum Router (über eine physische Schnittstelle) an Port 12345 führt dazu, dass eine Verbindung abgelehnt wird. Es sind keine ACLs aktiviert.

Diese Skripts funktionieren auf einem Windows XP-Computer mit ActiveTCL 8.5.

Ist dies ein Fehler oder eine Sicherheitsfunktion in EEM 3.0? Sind zusätzliche Befehle oder Einstellungen erforderlich, um TCP-Sockets in EEM 3.0 zu aktivieren?

Tarah
quelle
Hat dir eine Antwort geholfen? Wenn ja, sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Antwort bereitstellen und akzeptieren.
Ron Maupin

Antworten:

3

Ich würde mit dem Debuggen von Befehlen beginnen. Ich würde damit beginnen

debug event manager tcl cli

Weitere Informationen zum Debuggen und zur Fehlerbehebung finden Sie im EEM-Best-Practice-Dokument unter https://supportforums.cisco.com/docs/DOC-12757 .

Craig Constantine
quelle