# cg6kcon - Displaying statistics about CG board activity

Gathers information and statistics about an active CG board.

#### Usage

cg6kcon options

Valid options include:

Option | Function
--- | ---
-b boardnumb | CG board number. Default = 0
-i ipaddress | IP address of a remote system
-p portnumber | Port number. Default = 759

You can start a board by using any of the following options:

- -b

- -i and -p

To run cg6kcon across the host PCI interface, enter the following command:

cg6kcon -b boardnumber

To run cg6kcon across the Ethernet interface, enter the following command:

cg6kcon -i ipaddress

You can now enter a valid cg6kcon command.

Valid commands include:

Command | Description
--- | ---
help | Shows the full command set or details for a specified command name.
arptable | Displays current ARP table contents.
conptdet | Displays details on a specific connect point.
dump | Displays a hex or ASCII dump of the memory address specified (256 bytes display).
eeprom | Displays CG board-specific EEPROM contents.
eth | Displays detailed information about the Ethernet interfaces. For more information, see eth command.
ethcfg | Sets Ethernet interface configuration parameters. For more information, see ethcfg command.
ipallow | Allows the host computer with the specified IP address to query the board.
ipdisable | Disables the IP interface.
ipdisallow | Prevents the host computer with the specified IP address from querying the board.
ipenable | Enables the IP interface.
ipshow | Displays the IP addresses that can query the board.
ipv6 | Displays the IPv6 configuration information. For more information, see ipv6 command.
ipv6if | Displays the IPv6 interface table. For more information, see ipv6if command.
ipv6nd | Displays the IPv6 neighbor discovery table. For more information, see ipv6nd command.
ipv6dest | Displays the IPv6 destination table. For more information, see ipv6dest command.
ipv6rtr | Displays the IPv6 default routers table. For more information, see ipv6rtr command.
ping | Sends an ICMP ping packet. This command contains its own syntax and commands. For more information, see ping command.
ppe | Displays current packet processing entities. For more information, see ppe command.
ppedet | Displays details on a specific packet processing entity.
resettutil | Resets the task utilization monitor snapshot or statistics.
rtpstat | Displays current RTP statistics for a session.
routetable | Displays current routing table contents.
starttutil | Starts the task utilization monitor snapshot or statistics.
stoptutil | Stops the task utilization monitor snapshot or statistics.
tasks | Displays the following status information for all tasks created on the CG board:
Status information | Description
Name | Name of the given task.
Prior | Priority of the task (32 = highest priority; 0 = lowest).
Context | Task context address.
State | Shows the current state of a task. Valid states include: Waiting - Task is asleep and waiting for work. Run/sch - Task is running or scheduled to run. Typically, the highest priority task is the task that is currently running, and all lower priority tasks in this state have been preempted by the higher priority task or tasks. Idle - Task is waiting on a trigger. Suspend - Task has been suspended. Halted - Task is at breakpoint.
util | Shows the current and average system CPU utilization. For more information, see util command.

#### Procedure

Complete the following steps to run cg6kcon:

Step | Action
1 | Open a command line window.
2 | Enter the following command: cg6kcon -b boardnumber
3 | Enter one of the cg6kcon commands. cg6kcon performs the commands.
4 | Exit the program by entering q or quit.

#### Description

Use cg6kcon as a diagnostic tool to monitor the flow of data to and from CG board communication processors. Use cg6kcon to:

- Verify that connections are set up appropriately between the CG board DSPs on the same host system.

- Verify that network connections are set up appropriately between different host systems.

- View the operating characteristics of an active CG board on a local system by specifying the local board number, for example:

cg6kcon -b 2

- View the operating characteristics of an active CG board on a remote system by specifying the configured IP address of the CG board, for example:

cg6kcon -i 197.23.57.212

#### Running cg6kcon from a remote host

By default, remote access is always disabled. You can authorize remote access only from the local system. Each remote system must be authorized to access a specific CG board.

The following commands allow you to enable and disable remote access:

Command | Description
--- | ---
ipenable | Authorizes remote access to cg6kcon and sets global access restrictions for any remote IP system that uses cg6kcon.
ipallow | Enables access by a specific remote system.
ipdisallow | Removes specific IP addresses from the remote access list.
ipdisable | Completely disables remote IP access to cg6kcon. ipdisable does not affect the rest of the on-board IP stack.

The following example shows enabling and disabling remote access for cg6kcon:

C:\>cg6kcon
Console program V1.0 : ['quit' to Exit]
[For multi-screen reply, 'more' to scroll]
>
>ipenable
Socket interface enabled
>
>ipallow 198.62.139.32
IP Address 198.62.139.32 added successfully
>
>ipshow
IP ADDRESSES
============
198.62.139.32
>
>ipdisallow 198.62.139.32
IP Address 198.62.139.32 deleted successfully
>
>ipshow
No allowable IP entries
>
>ipdisable
Socket interface disabled
>

#### util command

Use the util command to view the current and average CPU utilization of the CG board co-processor. This command does not provide any utilization information about the DSPs on the board.

CPU utilization | Description
Current | The value and graph of CPU utilization during the last second of operation.
Average | Average CPU utilization over the last 16 seconds of operation.
Idle Peak | Peak value reached by idle loop.

The current and average CPU values display as a percentage of available CPU. For example, a value of 25 means that 25 percent of the CPU is being utilized and 75 percent is available.

Note: The current CPU utilization number can vary considerably from moment to moment. Because of this variation, cg6kcon also displays the average CPU value.

#### eth command

Use the eth command to display detailed information about the operational status and statistical information for each Ethernet connection on the CG board. The operational status is provided in the following fields:

Field | Indicates if the...
--- | ---
Mode | Ethernet is running at a speed of 10 Mb, 100 Mb, or 1000 Mb.
Duplex | Connection is running full duplex or half duplex.
State | Physical interface for the Ethernet is active (UP) or inactive (DOWN).

Note: If the State indicates that the physical interface is DOWN, usually the 10/100/1000Base-T cable is not plugged in at the CG board or at the associated hub or router. Other possibilities include a hub or router that is not turned on or an incorrect cable. T1 cables and Ethernet cables are not interchangeable even though the connectors are the same.

If the State of the physical interface is DOWN, the other two fields (Duplex and Mode) are meaningless.

The Ethernet interfaces on the CG board use a standard known as NWAY Autonegotiation. This standard allows each link partner in an Ethernet connection to inform the other link partner of its speed and capabilities. The CG board supports all combinations of 10 Mb, 100 Mb, or 1000 Mb with full or half duplex. The CG board uses the corresponding information from the other link partner and runs at the highest capability level the link partner can support.

The following capabilities are supported:

- 1000 Mb full duplex

- 1000 Mb half duplex

- 100 Mb full duplex

- 100 Mb half duplex

- 10 Mb full duplex

- 10 Mb half duplex

The following sample shows the eth command output:

Context Adp# Ethernet Addr Mode Duplex State
========= ==== ================= ===== ====== =====
$FDA72AC 0001 1A:90:2E:01:CD:15 1GBT FULL UP
Statistics
==========
TX Collision : 0 TX Late Collision: 0 Retransmit Limit : 0
TX Underrun : 0 TX Overrun : 0 TX Resource Error: 0
RX CRC Error : 0 RX Length Error : 0 RX Overrun : 0
RX NO Memory : 0 RX Resource Error: 0
Context Adp# Ethernet Addr Mode Duplex State
========= ==== ================= ===== ====== =====
$FD4FC50 0002 1A:90:2E:01:CD:15 - - DOWN
Statistics
==========
TX Collision : 0 TX Late Collision: 0 Retransmit Limit : 0
TX Underrun : 0 TX Overrun : 0 TX Resource Error: 0
RX CRC Error : 0 RX Length Error : 0 RX Overrun : 0
RX NO Memory : 0 RX Resource Error: 0
Processing Rate Current Average Max
==========================================================
Interrupt TX: 50 50 51
RX: 50 50 51
Packet TX: 50 50 51
RX: 50 50 51

The following table provides a description of these fields:

Field | Description
Context | Memory location for this Ethernet interface control block.
ADP# | Adapter number that indicates which Ethernet interface is displayed.
Ethernet Addr | Ethernet hardware address.
Mode and Duplex | Information about the results of the negotiation. The capability limitations of the link partner can impose lower settings. Mode indicates Ethernet mode (10Base-T, 100Base-T, or 1000Base-T) and duplex indicates full or half duplex connection.
State | Indicates whether the Ethernet is UP or DOWN.
Statistics: TX Collision | Statistical information that is valid only when the Ethernet connection is half duplex. These statistics show the number of times a transmit signal was deferred or a transmit collision occurred due to the Carrier Sense Multiple Access with Collision Detect (CSMA/CD) algorithm defined by the Ethernet standard. Informational use only.
Statistics: TX Underrun RX CRC Error RX NO Memory | Statistical information about errors that occurred on this Ethernet link. When operating in full duplex, these errors are 0 (zero). In half duplex operation, it is possible to have errors of various types. The Ethernet logic on the CG board detects and recovers from any errors on the Ethernet link. These errors are therefore informational, and display the general quality of the local Ethernet segment.
Processing Rate | Rate of packet transmission.
Current | Number of packets currently transmitted and received in the previous second.
Average | Average number of packets transmitted and received over the last 16 seconds.
Max | Maximum number of packets transmitted or received. Set to zero (0) on read. If there is no activity, the next call command results in a 0 display (CG 6565/C only).
Interrupt | Current and average interrupt rates for the Ethernet. CG boards use various forms of interrupt mitigation logic to minimize the effect of interrupts on the system. These statistics in combination with the packet statistics are used to verify the efficiency of the interrupt mitigation logic.
Packet | Current and average packet rates for the Ethernet. Because current packet rates can vary significantly from moment to moment, the average packet rates are also displayed.

#### ethcfg command

The ethcfg command takes the following arguments:

ethcfg [int=interface#] [auto | [[half|full] [10|100|1000]]] [prom]

where...

Argument | Description
--- | ---
int=interface# | Configures only the interface indicated by the interface#.
auto | Determines speed selection and duplex mode through auto-negotiation. If interface# is omitted, both interfaces 1 and 2 are configured.
half|full | Half-duplex or full-duplex operation. Default = auto.
10|100|1000 | Ethernet interface transfer speed. Default = auto.
prom | Ethernet interface runs in promiscuous mode (in which a network device can read arriving packets).

#### ppe command

A packet processing entity (PPE) is an entity that performs some form of packet processing on a CG board. After booting the CG board, use the ppe command to display information similar to the following example:

>ppe
Name State Type Reg CPTs Ena CPTs Context
============ ======= ========= ======== ======== ========
Ethernet-1 Active Ethernet 2 2 $CD6D30
IP_Over_Eth-1 Active IP/Ether 2 2 $C7EE10
IP_Router Active IP Router 2 2 $C7E6A4
UDP Active UDP 1 2 $C7DBC4
>

This example shows the following PPEs:

PPE | Description
--- | ---
Ethernet-1 | Specifies the Ethernet driver for interface 1.
IP_Over_Eth-1 | Processes IP packets for Ethernet 1.
IP_Router | Manages the routing of packets to the correct Ethernet interface based on the configured IP Routing table and the destination IP address of each packet.
UDP | Specifies the UDP number associated with the IP stack. This interface provides a socket-based interface to the rest of the CG board software.

Note: Non-IP packets are forwarded to the host Ethernet task. If you install the CG board Ethernet driver on the host, these non-IP packets are forwarded to the host protocol stack.

When you create an RTP Endpoint, cg6kcon displays three additional PPEs associated with each RTP session:

PPE | Description
--- | ---
RTP In (simplex) | Connects to the UDP layer using a socket, receives all RTP packets from the IP network with the matching UDP port number and the local IP address (if specified).
RTP Out (simplex) | Connects directly to the Ethernet PPE, and transmits all outbound RTP packets to the IP network (half duplex).
RTP Full Duplex (duplex) | Manages a typical RTP/voice session operating in full duplex.

The displayed Context address is used to identify a particular PPE when using ppedit.

Use the ppedit command to display detailed information about a specific PPE. The following example shows details about the IP router PPE:

>ppedit $C7e6a4
me State Type Reg CPTs Ena CPTs Context
================== ======= ======== ======== ======== ========
IP_Router Active IP Router 2 2 $C7E6A4
Active Connect Points State Addr 1 Addr 2 Addr 3 Addr 4 Context
===================== ====== ======== ======== ======== ======== =======
ICMP Active 1 0 0 0 $C78D34
UDP Active 11 0 0 0 $C7DB14
Statistics
==========
TX Pkts: 0x1E TX Bytes: 0x9DB TX Fails: 0x0
RX Pkts: 0x6 RX Bytes: 0x2AA RX Drops: 0x0
>

The first line in the example repeats the information provided in the ppe command.

The Active Connect Points section provides information about the active connect points using this PPE. A connect point is a socket-like connection to the PPE. Two connect points, the UDP and ICMP protocol layers, are currently registered with the IP Router.

The Statistics section provides information about the number of packets transmitted or received by this protocol layer. RX Drop displays the number of packets discarded because no socket is registered for the address contained in the received packet. In the example, ICMP is registered for IP packets with an IP Protocol field. This configuration indicates that the IP packet is an ICMP packet (1), and UDP is registered for IP packets with an IP Protocol field indicating that the IP packet is a UDP packet (11). For example, if another type of IP packet is received for TCP, the packet is discarded except when the CG board host Ethernet driver is installed on the host.

### IPv6 command examples

The following examples show how to use the IPv6 commands supported by cg6kcon. They include:

- ipv6 command

- ipv6if command

- ipv6nd command

- ipv6dest command

- ipv6rtr command

- ping command

#### ipv6 command

The ipv6 command displays the current IPv6 configuration information based on the board keyword file. For example:

>ipv6
Link #1
Link MTU : 1500
Hop Limit : 64
PING Enabled : 1
ICMPv6 Rate Limit : 100 pkts/sec
Neighbor Discovery Retransmission Attempts : 3
Neighbor Discovery Retransmission Timeout : 1000 Milliseconds
Neighbor Discovery Reachability Timeout : 30000 Milliseconds
Link #2
Link MTU : 1500
Hop Limit : 128
PING Enabled : 1
ICMPv6 Rate Limit : 100 pkts/sec
Neighbor Discovery Retransmission Attempts : 3
Neighbor Discovery Retransmission Timeout : 1000 Milliseconds
Neighbor Discovery Reachability Timeout : 30000 Milliseconds

#### ipv6if command

The ipv6if command displays all IPv6 addresses associated with the board. Each IPv6 address is derived from the MAC address of the Ethernet device. Refer to RFC 2373 IP Version 6 Addressing Architecture for more information.

For example:

>ipv6if
IPv6 Address Eth State MTU
=========================================== =======
FE80:0000:0000:0000:0220:22FF:FE40:2E20/ 64 1 Active 1500
FF02:0000:0000:0000:0000:0001:FF40:2E20/128 1 Active 1500
FF02:0000:0000:0000:0000:0000:0000:0001/128 1 Active 1500
FE80:0000:0000:0000:0220:22FF:FE40:2E21/ 64 2 InActive 1500
FF02:0000:0000:0000:0000:0001:FF40:2E21/128 2 InActive 1500
FF02:0000:0000:0000:0000:0000:0000:0001/128 2 InActive 1500
0000:0000:0000:0000:0000:0000:0000:0001/128 3 Active 1500
0001:0000:0000:0000:0220:22FF:FE40:2E20/ 64 1 Active 1500
FEC0:0000:0000:0004:0220:22FF:FE40:2E20/ 64 1 Active 1500
FEC0:0000:0000:0003:0220:22FF:FE40:2E20/ 64 1 Active 1500
FEC0:0000:0000:0002:0220:22FF:FE40:2E20/ 64 1 Active 1500
FEC0:0000:0000:0001:0220:22FF:FE40:2E20/ 64 1 Active 1500

#### ipv6nd command

The ipv6nd command displays the board's IPv6 neighbor discovery table. For example:

>ipv6nd
Statistics
==========
TX Neighbor Solicit: 54 TX Neighbor Advert : 54 TX Router Solicit: 1
RX Neighbor Advert : 54 RX Neighbor Solicit: 54 RX Router Advert : 2555
RX Redirects : 0 TX Dup Addr Detect : 18 DSP Signal : 0
ERRORS
======
RX Inv Hop Limit : 0 RX Inv Options Len : 0 RX Inv Packet Len: 0
RX Inv Target Addr : 0 RX Inv Dest IP Addr: 0 RX Inv SrcIP Addr: 0
RX Inv Solicit Flag: 0 No Matching NDEntry: 0 RX NS during DAD : 0
IPv6 Address Eth State MAC Address
======================================= === ==========
FE80:0000:0000:0000:02A0:24FF:FE23:5A0E 1 Stale 00A0:2423:5A0E
FE80:0000:0000:0000:0260:08FF:FE96:5E31 1 Stale 0060:0896:5E31
FE80:0000:0000:0000:0220:22FF:FE40:42BA 1 Stale 0020:2240:42BA
FE80:0000:0000:0000:0202:FDFF:FEBA:5CE1 1 Stale 0002:FFFFFDBA:5CE1

#### ipv6dest command

The ipv6dest command displays the board's IPv6 destination table. For example:

>ipv6dest
Eth Num : 1 Path MTU : 1500
Destination Addr :FE80:0000:0000:0000:0220:22FF:FE40:42BA
Next Hop Addr :FE80:0000:0000:0000:0220:22FF:FE40:42BA
Default Src Addr :FE80:0000:0000:0000:0220:22FF:FE40:2E20

#### ipv6rtr command

The ipv6rtr command displays the board's IPv6 default routers table. For example:

>ipv6rtr
Router Address Eth State LifeTime Pref
======================================= === ========
FE80:0000:0000:0000:0202:FDFF:FEBA:5CE1 1 Active 1695 0
FE80:0000:0000:0000:02A0:24FF:FE23:5A0E 1 Active 1278 0
FE80:0000:0000:0000:0260:08FF:FE96:5E31 1 Active 1323 0

#### ping command

The ping command sends an IPv4 or IPv6 ICMP ping packet. To use this command, enter the command with the following arguments:

ping -i ifnumb -s size -c count -t interval ipversion ipaddress

Valid arguments include:

Arguments | Description
--- | ---
-i ifnumb | Network interface number (1 or 2).
-s size | Size of the packet (optional). Default = 4 bytes + IP header.
-c count | Packet count (optional). Default = 1.
-t interval | Time between each packet (optional). Default = 1.
ipversion | Protocol version. Valid options include: v4 = IPv4 v6 = IPv6
ipaddress | IP address for this interface.