Monitor Mode

Top  Previous  Next

The -monitor command line parameter runs the symax program in a packet monitor mode. It monitors the specified ethernet device for Symax protocol packets and reports on their contents. This can be used to monitor an running driver's protocol interaction for support and performance analysis purposes. Note that network switches can remove access to the underlying packet flow. A solution is to run the executable on the same computer that you want to monitor or to leverage smart switches or hubs.

 

The default monitoring behaviour is to report one text line per Symax ethernet packet. This provide an overview of the communication interaction being monitored:

2006/06/13 11:21:35.852: SymaxDriver:Starting Symax packet monitor mode.

2006/06/13 11:21:37.409: Src=5 Dst=1 SN=8 Retry=0 Type=SymaxReadRegister9 Flags=COMMAND FINAL

2006/06/13 11:21:37.409: Src=5 Dst=1 SN=9 Retry=0 Type=SymaxReadRegister10 Flags=COMMAND FINAL

2006/06/13 11:21:37.409: Src=5 Dst=1 SN=10 Retry=0 Type=SymaxReadRegister11 Flags=COMMAND FINAL

2006/06/13 11:21:37.409: Src=1 Dst=5 SN=8 Retry=0 Type=ACK Flags=ACK/NAK

2006/06/13 11:21:37.409: Src=1 Dst=5 SN=9 Retry=0 Type=ACK Flags=ACK/NAK

2006/06/13 11:21:37.409: Src=1 Dst=5 SN=10 Retry=0 Type=ACK Flags=ACK/NAK

2006/06/13 11:21:37.409: Src=1 Dst=5 SN=8 Retry=0 Type=SymaxReadRegisterReply9 Flags=REPLY FINAL

2006/06/13 11:21:37.410: Src=1 Dst=5 SN=9 Retry=0 Type=SymaxReadRegisterReply10 Flags=REPLY FINAL

2006/06/13 11:21:37.410: Src=1 Dst=5 SN=10 Retry=0 Type=SymaxReadRegisterReply11 Flags=REPLY FINAL

2006/06/13 11:21:37.410: Src=5 Dst=1 SN=8 Retry=0 Type=ACK Flags=ACK/NAK

2006/06/13 11:21:37.410: Src=5 Dst=1 SN=9 Retry=0 Type=ACK Flags=ACK/NAK

2006/06/13 11:21:37.410: Src=5 Dst=1 SN=10 Retry=0 Type=ACK Flags=ACK/NAK

 

 

Alternatively the -detailed command line parameter can be specified to show the complete protocol details:

2006/06/13 11:31:21.196: SymaxDriver:Starting Symax packet monitor mode.

2006/06/13 11:31:21.197: Setting the packet filter for eth0.

2006/06/13 11:31:21.197: Packet filter: ether[14:2]=0xAAAA and ether[16:4]=0x03008067 and ether[20]=0x00

2006/06/13 11:31:23.789: DESERIALIZING Header Object:

2006/06/13 11:31:23.789: SymaxEthernetPacket:

2006/06/13 11:31:23.789:     MacAddress destinationMac =

2006/06/13 11:31:23.789:         MacAddress destinationMac:

2006/06/13 11:31:23.789:             uint8 address1 = 0 <= 00

2006/06/13 11:31:23.789:             uint8 address2 = 128 <= 80

2006/06/13 11:31:23.789:             uint8 address3 = 103 <= 67

2006/06/13 11:31:23.789:             uint8 address4 = 2 <= 02

2006/06/13 11:31:23.789:             uint8 address5 = 0 <= 00

2006/06/13 11:31:23.789:             uint8 address6 = 1 <= 01

2006/06/13 11:31:23.789:     MacAddress sourceMac =

2006/06/13 11:31:23.789:         MacAddress sourceMac:

2006/06/13 11:31:23.789:             uint8 address1 = 0 <= 00

2006/06/13 11:31:23.789:             uint8 address2 = 5 <= 05

2006/06/13 11:31:23.789:             uint8 address3 = 93 <= 5D

2006/06/13 11:31:23.789:             uint8 address4 = 95 <= 5F

2006/06/13 11:31:23.789:             uint8 address5 = 218 <= DA

2006/06/13 11:31:23.789:             uint8 address6 = 168 <= A8

2006/06/13 11:31:23.789:     uint16 frameLength = 38 <= 00 26

2006/06/13 11:31:23.789:     uint8 dsap = 170 <= AA

2006/06/13 11:31:23.789:     uint8 ssap = 170 <= AA

2006/06/13 11:31:23.789:     uint8 ctl = 3 <= 03

2006/06/13 11:31:23.789:     OrganizationCode organizationCode =

2006/06/13 11:31:23.789:         OrganizationCode organizationCode:

2006/06/13 11:31:23.789:             uint8 organizationCode1 = 0 <= 00

2006/06/13 11:31:23.789:             uint8 organizationCode2 = 128 <= 80

2006/06/13 11:31:23.789:             uint8 organizationCode3 = 103 <= 67

2006/06/13 11:31:23.789:     uint16 protocolIdentifier = 0 <= 00 00

2006/06/13 11:31:23.789:     uint8 sourceDrop = 5 <= 05

2006/06/13 11:31:23.789:     uint8 destinationDrop = 1 <= 01

2006/06/13 11:31:23.789:     uint16 controlFlags = 33024 <= 81 00

2006/06/13 11:31:23.789:     uint8 retryCount = 0 <= 00

2006/06/13 11:31:23.789:     uint8 sequenceNumber = 98 <= 62

2006/06/13 11:31:23.789:     SymaxEthernetRoute route:

2006/06/13 11:31:23.789:         Route = 5.1 <= 30 35 B0 31 FF FF 00 00 00 00 00 00 00 00 00 00 00 00

2006/06/13 11:31:23.789:     SymaxPacket symaxPacket:

2006/06/13 11:31:23.789:         DESERIALIZING Header Object:

2006/06/13 11:31:23.789:         SymaxPacket:

2006/06/13 11:31:23.789:             uint8 opcode = 0 <= 00

2006/06/13 11:31:23.789:         DESERIALIZING Actual Object:

2006/06/13 11:31:23.789:         SymaxReadRegister symaxPacket:

2006/06/13 11:31:23.789:             SymaxTransaction:

2006/06/13 11:31:23.789:                 Not descending into SymaxPacket portion of the object.

2006/06/13 11:31:23.789:                 uint8 transactionNumber = 98 <= 62

2006/06/13 11:31:23.789:             uint16 startRegister = 0 <= 00 00

2006/06/13 11:31:23.789:             uint16 registerCount = 99 <= 00 63

2006/06/13 11:31:23.789: DESERIALIZING Actual Object:

2006/06/13 11:31:23.789: Not descending into SymaxEthernetPacket portion of the object.

2006/06/13 11:31:23.789: Src=5 Dst=1 SN=98 Retry=0 Type=SymaxReadRegister98 Flags=COMMAND FINAL