Download Complete PDF Send Feedback Print This Page

Previous

Synchronize Contents

Next

Using the Advanced Routing Suite CLI

This chapter explains how to start and use the CLI in different modes.

Related Topics

Starting the Advanced Routing Suite CLI

Basic Features

CLI Modes

CLI Behavior Commands

Querying the Advanced Routing Suite CLI

General Concepts

Starting the Advanced Routing Suite CLI

Be sure no other users are connected to Advanced Routing Suite. With Advanced Routing Suite installed properly and running:

  1. Enter the SecurePlatform expert mode.
  2. Type pro enable at the prompt and press Enter.
  3. Reboot.
  4. Type router at the prompt and press Enter.

This begins your CLI session in User Execution mode.

The Advanced Routing Suite CLI can be started with several additional command line options. These options include the following:

  • -p
  • -f
  • -l
  • -a
  • -s

Note - If the command has an invalid command line option, it shows the valid syntax, then exits without connecting to Advanced Routing Suite.

The -p option

-p <port>

The -p option specifies the port on which Advanced Routing Suite's XML subsystem is listening. The argument to this option must be a valid port number. If the -p option is not specified, then the CLI assumes that Advanced Routing Suite's XML subsystem is listening on port 4242.

The -f option

-f <cmd_fname>

The -f option specifies a file from which CLI commands are to be read after the CLI has initialized.

The -e option

-e [ ( s || c || e || w || d || i ) | 0 | all ]

The -e option specifies the event class or classes that the CLI will log. The arguments have the following meanings:

s - Trace security events

c - Trace user-typed commands

e - Trace errors

w - Trace internal warnings and errors

d - Trace debugging events

i - Trace informational events

0 - Trace no events

all - Trace all event sets

Default

If the -e option is not specified, it is the same as if -e wg were specified.

The -a option

-a [ o | a | m ]

The -a option specifies the action to take if you want a log file, and a cli.log file already exists in the location specified by the -l option. Available arguments include the following:

o - Overwrite the existing cli.log file

a - Append to the existing cli.log file

m - Move the existing cli.log file to cli.log.x, where x is the next highest integer among the other files named cli.log.* in the logging directory.

Default

If -a is not specified, then it is as if -a a were specified.

The -s option

-s <size_num>[k | m]

The -s option specifies the maximum size of the CLI log in either kilobytes or megabytes. The action to take when the current log's maximum size is reached is determined by the -a option.

Default

If the -s option is not specified, then it is as if -s 5m were specified.

Basic Features

Basic features of the Advanced Routing Suite CLI include the following:

  • Command Tokens
  • Command Line Completion
  • Moving About the Command Line
  • Context-Sensitive Help
  • Command History
  • Disabling/Enabling CLI Logging
  • Aborting an Executing Command
  • Exiting the CLI

Command Tokens

The Advanced Routing Suite CLI command strings are composed of space-delimited tokens. The maximum number of tokens permitted per line is 32. After a full command line is typed, the Enter key sends the line to the CLI for processing. The CLI is case insensitive.

Command Line Completion

The max number of characters per line is 1024. At any point when typing a command line, you can hit the Tab key to either complete the current command token or show a list of possible completions. Consider the following command structure as an example:

abc
| |
--------
| |
bar groove
| |
-------
| |
par-name1 par-name2
| |
number number

The valid complete command strings are the following:

abc groove

abc bar par-name1 [number]

abc bar par-name2 [number]

With command line completion, when you type

ab<Tab>

the command will be completed as abc on the same line because no other legal token begins with "ab".

When you type

abc bar <Tab>

the CLI will display the tokens that can follow bar on a separate line, then re-display your typed line as shown below. Note that "routerz>" is the Advanced Routing Suite CLI prompt, with "routerz" being the name of the machine on which Advanced Routing Suite is running.

routerz> abc bar <Tab>
par-name1 par-name2
routerz> abc bar

Note - The space between "bar" and <Tab> is required for the legal token list to display.

Valid commands are not required to be composed of complete tokens. Only a token's smallest unique abbreviation is required. For example, the following two command strings are equivalent:

abc bar par-name1 20

a b par-name1 20

If the abbreviation is not unique, the CLI will respond with an "Invalid command" error.

Moving About the Command Line

The curser does not need to be at the end of a command line before hitting the Enter key. In the examples below, the underscore indicates the position of the curser.

routerz> abc bat bas_

If, in the example above, you intended to type "abc bar bas", move the left arrow key back to the space following "bat", delete the "t", and type "r".

routerz> abc bar_bas

With the curser still just right of the "r", you can still hit the ENTER key, and the complete line will be given to the CLI for processing.

Context-Sensitive Help

Type "?" immediately after any token to obtain context-sensitive help about the last command that you typed. For example requesting help immediately after typing "router" shows you that the command enters router mode:

(config)#router?

router Enter router mode

Type "?" followed by a space after any set of tokens to obtain a list of options that can be used in the command. For example, if you type the following:

(config)# router ?

the CLI will respond with the following:

aggregate Configure Aggregate/Generate routes
bgp Configure BGP
icmp Configure ICMP
ospf Configure OSPF
rip Configure RIP

(config)# router

If "router" was not a valid sequence of tokens (or, if it was misspelled), then the CLI would respond with an "Error completing word" error.

Note - Because the "?" special character is used for Help, it cannot be included in any character string. In other words, a "?" cannot be used when configuring a route map name, a prefix list name, and so on. Doing so will display Help for the command, as shown in the example below.

(config)#access-list an?

<name> Name of an access list

History

All commands entered during a CLI session are saved in a command history. The command history can be viewed and with short-hand "!" commands. The history can be toggled on and off.

Disabling/Enabling CLI Tracing

The CLI provides a flexible tracing mechanism. Events to be traced are divided into several classes, each of which can be traced individually. Classes can be traced to any or all three of the following locations: the terminal, a file, or the underlying system's tracing system (i.e., syslog).

Aborting an Executing Command

It may sometimes be desirable to abort a query that generates a lot of output. Typing Ctrl+C generates such an abort signal and flushes any queued input.

Screen Paging

If a response to a command contains more lines than provided by the command line window, then the word "more" appears at the bottom of the screen to indicate that not all lines have been displayed. Press the Space bar to display more lines. To stop viewing the output and return to the command line prompt, press any other key.

Exiting the CLI

Changes are saved as soon as you hit "Enter" after a command. Use the "quit" command to exit the CLI.

CLI Modes

The Advanced Routing Suite CLI has the following five modes:

  • User Execution
  • Privileged Execution
  • Global Configuration
  • Router Configuration
  • Interface Configuration

The current mode is easily discerned by examining the current command line prompt. The CLI prompt always indicates the current mode. The modes and prompts are described in the sections that follow.

User Execution M ode

User Execution mode is the default mode that the CLI assumes when it begins execution. In User Execution mode, the prompt is ">".

Note - If the CLI is started with the "-f <cmd_fname>" parameter (see The -f option for more information), then the commands contained in cmd_fname could leave the CLI in something other than User Execution mode when command-line entry control is turned over to the user.

Within User Execution mode, the following actions are allowed:

  • Querying of Advanced Routing Suite configuration state
  • Querying of dynamic protocol state (for example, the number of OSPF neighbors)
  • Modification of various CLI options, such as command history length, CLI events to trace, and so on.

Privileged Execution M ode

Privileged Execution mode allows for "privileged" commands. In Privileged Execution mode, the prompt is "#". This mode is password protected and is entered using enable as follows:

routerz> enable
Password: [password]
routerz#

Note - The CLI allows three attempts at the "Password:" prompt before returning to the ">" prompt.

Use the disable command to leave Privileged Execution mode and return to User Execution mode.

Global Configuration M ode

Global Configuration mode is used to change the configuration of Advanced Routing Suite. From this mode, you can stop and start protocols and set protocol-specific parameters. This mode can only be entered from Privileged Execution mode with the configure terminal command. When this mode is entered, the prompt changes to "(config)#" as shown below.

routerz> enable
Password: [password]
routerz# configure terminal
routerz(config)#

Unless otherwise noted, configuration changes that are entered in this mode are made immediately upon hitting Enter.

To exit Global Configuration mode and return to Privileged Execution mode, use the "exit" or "end" command or type "Ctrl+Z". All three are synonymous.

routerz(config)# end
routerz#

Router Configuration Mode

Router Configuration mode is used to change the protocol state on a specific router. This mode is entered by typing the following at the (config)# prompt:

router protocol_name

For example, type the following to enter Router Configuration mode for the ICMP protocol:

routerz(config)# router icmp
routerz(config-icmp)#

The prompt changes to "(config-[protocol_name])#" in Router Configuration mode. To exit Router Configuration mode and return to Global Configuration mode, use the "exit" command.

routerz(config-icmp)# exit
routerz(config)#

Interface Configuration M ode

Interface Configuration mode is used to change protocol state on a specific interface. This mode is entered by typing the following at the (config)# prompt:

interface [ if-type if-number | if-name ]

For example, type the following to enter Interface Configuration mode for the physical interface named ppp-interface-0:

routerz(config)# interface ppp-interface-0
routerz(config-if)#

The prompt changes to "(config-if)#" in Interface Configuration mode. To exit Interface Configuration mode and return to Global Configuration mode, use the "exit" command.

routerz(config-if)# exit
routerz(config)#

CLI Behavior Commands

The section describes the commands that control the CLI behavior, as opposed to commands that control Advanced Routing Suite behavior.

configure file

Syntax

configure file [filename | replace filename]

Mode

Privileged Execution

Parameters

filename - the name and/or path of the configure file

replace filename - specifies to replace the current configuration file with the specified filename

Description

The configure file command is used to enter an atomic batch mode, where configuration commands are read from the named file or replace with the named file. If any errors are encountered during processing of the named file, then the router's configuration is left unchanged. The filename argument to file can be either a fully or partially qualified name. A fully qualified file name begins with "/" and gives the complete path to the file in addition to the file name. A partially qualified file name does not begin with"/" and may indicate path information in addition to the file name. If path information is given, it is interpreted with respect to the CLI's working directory.

Examples

In the following example, configuration commands are read from the file, /etc/routerz.cfg.

routerz# configure file /etc/routerz.cfg
routerz#

configure terminal

Syntax

configure terminal

Mode

Privileged Execution Mode

Description

Use the configure terminal command in Privileged Execution mode to enter Global Configuration mode and change the router's configuration. This command takes one of two parameters. The "#" prompt changes to "(config)#" to indicate the changed mode. Use the "end" command to leave Global Configuration mode.

Examples

In the following example, configuration commands are entered from the terminal.

routerz# configure terminal
routerz(config)# terminal history size 1024
routerz(config)# end
routerz#

disable

Syntax

disable

Mode

Privileged Execution

Description

Use the disable command to leave Privileged Execution Mode and re-enter User Execution mode.

Examples

routerz# disable
routerz>

enable

Syntax

enable

Mode

User Execution

Description

Use the enable command to enter Privileged Execution mode from User Execution mode. The # prompt indicates that the current mode is Privileged Execution mode.

Note - A password is required to enter Privileged Execution mode.

Examples

routerz> enable
Password: abcdefg
routerz#

end

Syntax

end

Mode

Global Configuration

Description

Use the end command to leave Global Configuration mode and return to Privileged Execution mode.

Examples

routerz(config)# end
routerz#

exit

Syntax

exit

Mode

Interface Configuration

Global Configuration

Description

Use the exit command to leave Interface Configuration mode and return to Global Configuration mode. Or, use exit to leave Global Configuration mode and return to Privileged Execution mode. Finally, use exit to leave Router Configuration mode and return to Global Configuration mode.

Examples

routerz(config-if)# exit
routerz(config)#

or

routerz(config)# exit
routerz#

ip router-id

Syntax

ip router-id ipv4 address

Mode

Global Configuration

Parameters

ipv4_address - a valid IPv4 address

Description

Use the ip router-id command to configure the global Router ID. This router ID can be overridden in BGP, OSPF, and OSPF3.

Examples

routerz(config)# ip router-id 1.1.1.1
routerz(config)#

ip routingtable-id

Syntax

ip routingtable-id id

Mode

Global Configuration

Parameters

id - an integer from 0 to 250, inclusive

Description

Use the ip routingtable-id command to configure an ID for the routing table. When there is no kernel VRF support, this ID is used to decide the kernel routing table to which Advanced Routing Suite will write.

Examples

routerz(config)# ip routingtable-id 200
routerz(config)#

logout

Syntax

logout

Mode

User Execution

Description

Use the logout command to exit the CLI. This command is synonymous with exit.

Examples

The following example logs you out of the CLI.

Note - The "%" prompt is intended to indicate the shell command line prompt. The prompt can be different, depending on the shell and shell settings from which the Advanced Routing Suite CLI was started.

routerz> logout
%

quit

Syntax

quit

Mode

User Execution

Description

Use the quit command to exit the CLI. This command is synonymous with logout.

Examples

The following example exits you out of the CLI. Note that the "%" prompt is intended to indicate the shell command line prompt. The prompt can be different, depending on the shell and shell settings from which the Advanced Routing Suite CLI was started.

routerz> quit
%

show debugging

Syntax

show debugging

Mode

User Execution

Privileged Execution

Global Configuration

Interface Configuration

Description

This command is used to report information that is of use mainly to developers.

Examples

routerz> show debugging
...debugging output...
routerz>

show history

Syntax

show history

Mode

User Execution

Privileged Execution

Global Configuration

Interface Configuration

Description

Use show history in any mode to display the commands that have been entered during the current session. The format of the history lines is as follows:

command number time-stamp command

command number represents the sequential number of the command. The most recent command displays with the highest number. time-stamp displays the time when the command was entered. Finally, command shows the command that was entered.

To re-run the most recent command, type !!, and press Enter.

To re-run a specific command appearing in the history list, type !<number>, where <number> is the command number as it appears in the output of a show history command.

Examples

Example 1

In the following example, several commands are entered. The command history is then displayed.

routerz> enable
Password: abcdefg
routerz# configure terminal
routerz(config)# interface fxp0
routerz(config-if)# ip igmp robustness 2
routerz(config-if)# show history
0 09:15:02 enable
1 09:15:48 configure terminal
2 09:16:12 interface fxp0
3 09:17:03 ip igmp robustness 2
4 09:17:50 show history
routerz(config-if)#

Example 2

In the following example, several commands are entered, followed by a show history command. Finally, a short-hand ! command is used to re-run a previous command.

routerz> enable
Password: abcdefg
routerz# configure terminal
routerz(config)# interface fxp0
routerz(config-if)# ip rip metric-in 2
routerz(config-if)# Ctrl+z
routerz# show history
0 10:24:10 enable
1 10:25:17 configure terminal
2 10:26:48 interface fxp0
3 10:27:08 ip rip metric-in 2
4 10:28:00 Ctrl+z
5 10:28:22 show history
routerz(config-if)# !3

show running-config

Syntax

show running-config

Mode

Privileged Execution

Description

The show running-config command reports the active configuration.

Examples

The following example shows output for a request for all configuration information.

routerz# show running-config
Building configuration...

Current configuration : 966 bytes
!
version 12.2
service password-encryption
!
hostname router-abc
!
enable password 7 011204070A59554E
!
ip subnet-zero
!!
ip multicast-routing
!
interface Ethernet0/0
ip address 10.139.10.26 255.128.0.0
ip pim bsr-border
ip pim sparse-mode
half-duplex
!
interface Serial0/0
ip address 10.11.41.21 255.255.255.252
!
interface Ethernet0/1
ip address 10.11.111.26 255.255.255.0
ip pim sparse-mode
!
router ospf 7
log-adjacency-changes
!
router bgp 7
bgp log-neighbor-changes
!
ip default-gateway 10.254.10.1
ip classless
ip route 0.0.0.0 0.0.0.0 10.254.10.1
no ip http server
ip ospf name-pookup
!
access-1ist 1 permit 224.0.0.0 15.255.255.255
!
!end

routerz#

show version

Syntax

show version

Mode

User Execution

Privileged Execution

Description

This command displays the version of the Advanced Routing Suite CLI as well as the version of Advanced Routing Suite.

Examples

The following example is a request to determine the version of Advanced Routing Suite currently running.

routerz> show version
CLI version: 1.1

GateD version: ngc 2.3

AMI API version: 2
routerz>

terminal history

Syntax

terminal history

terminal no history

Mode

User Execution

Privileged Execution

Global Configuration

Interface Configuration

Description

The terminal history command can be used in any mode to turn on command line history. The terminal no history command turns off command line history.

Examples

In the following example, command line history is turned on with the first command. Several commands are then entered, followed by a command to turn the command line history off.

routerz> terminal history
routerz> configure terminal
routerz(config)# interface 10.10.11.1
routerz(config-if)# ip dvmrp metric-offset in 2
routerz(config-if)# exit
routerz(config)# interface fxp0
routerz(config-if)# ip rip metric-in 1
routerz(config-if)# exit
routerz(config)# terminal no history

terminal history size

Syntax

terminal history size num-lines

Mode

User Execution

Privileged Execution

Global Configuration

Interface Configuration

Description

Use the terminal history size command in any mode to set the maximum number of lines that are remembered in the command line history. The default size of the command line history buffer is 1000 lines. The valid range is from 0 to 10,000, inclusive.

Examples

The following example sets the command line history buffer to 10 lines.

routerz> terminal history size 10

terminal length

Syntax

terminal length num-lines

Mode

User Execution

Privileged Execution

Global Configuration

Interface Configuration

Description

Use the terminal length command in any mode to specify the number of lines that display on a page. The number of lines defaults to the length of your screen. The valid range for length is 0 to 4,294,967,295, inclusive.

Note

  • - Specifying 0 for length sets the terminal length to infinity
  • If the number of lines specified is less than the number of lines to be displayed, the output for the remaining lines will display in the interactive pager similar to the following:

-- MORE (<space> = next page; <enter> = next line; <Q> = stop) --

Examples

The following example sets the number of displayed lines to 40 lines.

routerz> terminal length 40

write memory

Syntax

write memory

Mode

Privileged Execution

Description

Use the write memory command in Privileged Execution mode to write the current Advanced Routing Suite config file for use at startup.

Examples

The following example configures write memory.

routerz# write memory

Querying the Advanced Routing Suite CLI

Use the Advanced Routing Suite queries to request information about a CLI session. Both the candidate and the committed configurations can be queried at any time during a CLI session. Unless otherwise specified, queries can be issued for the entire configuration hierarchy or a subtree of the hierarchy. Protocol-specific query information is available in each chapter. Queries can also be performed to determine memory and task information.

Memory Information

Use the show memory query to obtain information about Advanced Routing Suite's current memory usage.

Syntax

show memory

Parameters

none

Description

The show memory query displays information about Advanced Routing Suite's current memory usage.

Examples

The following example displays a response for the show memory query.

> show memory

Block Name: "nospf_if_head_t"
Block Size: 4
Freelist Length: 1005
Num Init Requests: 1
Num Alloc Requests: 0
Num Free Requests: 0
Num blocks in use: 0
Num bytes in use: 0

Total bytes consumed: 56516
Total bytes in use: 159692
Num block alloc calls: 53767
Min used block size: 4
Page size: 4096
Num of pages allocated: 4096
Num task block malloc pages: 155
Num task block alloc pages: 28
Multipage max alloc: 41
Multipage max reused: 86
Task page alloc multiq: 5
Task block reclaim shreds: 0
Task block reclaim unmaps: (null)
Num multipage pages in use: 95
Num pool alloc pages: 0
Growable array information:
Num of growable arrays: 33
Num of growths: 7
Max allocation: 256
Num malloc calls: 1400
Num calloc calls: 7
Num reallocs: 2532
Num reallocs for more: 11462
Num reallocs for less: 27
Num reallocs for same: 8
Num free-calls: 8
Num bytes requested: 0
Num bytes allocated: 0
Num bytes wasted: 11240
Max outstanding allocs: 41932
Max request: 59848
Num outstanding allocs: 17632

Field Descriptions

The following table describes the fields that appear in the Show Memory Query.

Show Memory Query Fields

Field

Description

Block Name

The name associated with this block allocator.

Block Size

This value shows the size, in bytes, of each block allocated by the block memory allocator. Its value is a non-negative integer.

Freelist Length

This value indicates the length of the freelist associated with the block memory allocator. Its value is a non-negative integer. This information is useful mostly to developers.

Num Init Requests

This value shows the number of times that a block memory allocator has been initialized. Its value is a non-negative integer. This information is useful mostly to developers.

Num Alloc Requests

This value indicates the number of block memory allocation requests that a block memory allocator has received. Its value is a non-negative integer. This information is useful mostly to developers.

Num Free Requests

This value indicates the number of block memory free requests that a block memory allocator has received. Its value is a non-negative integer. This information is useful mostly to developers.

Num blocks in use

This value indicates the number of memory blocks that are currently outstanding (or in use) for a memory block allocator. Its value is a non-negative integer.

Num bytes in use

This value indicates the number of bytes that are currently outstanding (or in use) for a block memory allocator. This value is equal to the value of block-size multiplied by the value of num-blocks-in-use and is always a non-negative integer.

Total bytes consumed

This value indicates the number of bytes that are associated with all block memory allocators, either in use or freed. Its value is a non-negative integer.

Total bytes in use

This value indicates the number of bytes that are outstanding from all block memory allocators. This is different from the value of total-bytes-consumed, which represents the number of bytes in use or freed summed over all block memory allocators.

Num block alloc calls

This value is a non-negative integer. This information is useful mostly to developers.

Min used block size

This value is a non-negative integer. This information is useful mostly to developers.

Page size

This value is a non-negative integer. This information is useful mostly to developers.

Num of pages allocated

This value is a non-negative integer. This information is useful mostly to developers.

Num task block malloc pages

This value is a non-negative integer. This information is useful mostly to developers.

Num task block alloc pages

This value is a non-negative integer. This information is useful mostly to developers.

Multipage max alloc

This value is a non-negative integer. This information is useful mostly to developers.

Multipage max reused

This value is a non-negative integer. This information is useful mostly to developers.

Task page alloc multiq

This value is a non-negative integer. This information is useful mostly to developers.

Task block reclaim shreds

This value is a non-negative integer. This information is useful mostly to developers.

Task block reclaim unmaps

This value is a non-negative integer. This information is useful mostly to developers.

Num multipage pages in use

This value is a non-negative integer. This information is useful mostly to developers.

Num pool alloc pages

This value is a non-negative integer. This information is useful mostly to developers.

Growable array information

This value is a non-negative integer. This information is useful mostly to developers.

Num of growable arrays

This value is a non-negative integer. This information is useful mostly to developers.

Num of growths

This value is a non-negative integer. This information is useful mostly to developers.

Max allocation

This value is a non-negative integer. This information is useful mostly to developers.

Num malloc calls

This value is a non-negative integer. This information is useful mostly to developers.

Num calloc calls

This value is a non-negative integer. This information is useful mostly to developers.

Num reallocs

This value is a non-negative integer. This information is useful mostly to developers.

Num reallocs for more

This value is a non-negative integer. This information is useful mostly to developers.

Num reallocs for less

This value is a non-negative integer. This information is useful mostly to developers.

Num reallocs for same

This value is a non-negative integer. This information is useful mostly to developers.

Num free-calls

This value is a non-negative integer. This information is useful mostly to developers.

Num bytes requested

This value is a non-negative integer. This information is useful mostly to developers.

Num bytes allocated

This value is a non-negative integer. This information is useful mostly to developers.

Num bytes wasted

This value is a non-negative integer. This information is useful mostly to developers.

Max outstanding allocs

This value is a non-negative integer. This information is useful mostly to developers.

Max request

This value is a non-negative integer. This information is useful mostly to developers.

Num outstanding allocs

This value is a non-negative integer. This information is useful mostly to developers.

Task Information

Use the show task query to obtain information about currently active Advanced Routing Suite tasks.

Syntax

show task

Parameters

none

Description

The show task query displays information about currently active Advanced Routing Suite tasks.

Note - Obtaining information about a specific task is not supported.

Examples

The following example displays a response for the show task query.

> show task

Task Name: "IF"
Task Proto Number: N/A
Task Priority: 10
Task Address: N/A
Task Port: N/A
Task Socket: N/A
Task RT Proto Bit: Direct
Task Flags:
Accept: no
Connect: no
Delete: no
Low-Priority: no

Field Descriptions

The following table describes the fields that appear in the Show Memory Information Query.

Show Memory Information Query Fields

Field

Description

Task Name

The name of the task in double quotes

Task Proto Number

The Advanced Routing Suite internal protocol number. This number has no direct correspondence to any type of protocol number carried in a data packet. Its value is a non-negative integer. This information is useful mostly to developers.

Task Priority

Shows the priority of the Advanced Routing Suite task. This priority is used to schedule various task-specific operations. Its value is a non-negative integer. This information is useful mostly to developers.

Task Address

The ipv4 address that is associated with this task

Task Port

The port number associated with this task. Typically, only tasks associated with connection-oriented protocols will have a port number of 0 or greater. For all other tasks, the value of this tag is -1.

Task Socket

The socket number associated with the task. Typically, only tasks associated with connection-oriented protocols will have a port number of 0 or greater. For all other tasks, the value of this tag is -1.

Task RT Proto Bit

The task's RTRPROTO bit. This name is always contained in double quotes. This information is useful mostly to developers.

Task Flags

A field for all flags associated with a task

Accept

Shows the setting for the TASKF_ACCEPT bit for the indicated task. This bit is set if the task is accepting incoming connections. There are some tasks for which this bit is never set. This flag is useful mostly to developers.

Connect

Shows the setting for the TASKF_CONNECT bit for the indicated task. This bit is set if the task's socket is in connected state. There are some tasks for which this bit is never set. This flag is useful mostly to developers.

Delete

Shows the current setting of the TASKF_DELETE bit for the indicate task. This bit is set if the task has been marked for deletion.

Low Priority

Shows the setting for the TASKF_LOWPRIOR bit for the indicated task. If this flag is on, it indicates that the task runs at a lower priority than other tasks. This flag is useful mostly to developers.

General Concepts

Address and Prefix Formats

Advanced Routing Suite allows configuration of IPv4 address types only. Normally Advanced Routing Suite can recognize which type of address is being configured in a particular instance by the format of the address.

IPv4 addresses are 32 bits long. The formats of IPv4 addresses recognized by Advanced Routing Suite are:

d

d.d

d.d.d

d.d.d.d

where d represents a number in the range 0-255 inclusive. Each d specifies 8 bits of the address. If fewer than four d values are provided then the values provided specify the high order values of the address. For example, 192.168 is equivalent to 192.168.0.0.

In many cases IPv4 addresses are combined with masks to configure prefixes. There are two methods for specifying the mask: It can be specified as an IPv4 address proceeded by the mask keyword; or it can be specified as a length proceeded by the masklen keyword or, more conventionally, by a '/'. In the "mask" case, the address type of the mask must match the address type. Currently only contiguous bit masks are allowed in Advanced Routing Suite. Any non-zero address bits in positions that are covered by the specified mask cause a parse error. Example prefix specifications are:

10/8

10.0.0.0 mask 255.0.0.0 (equivalent to 10/8)

10 masklen 8 (equivalent to 10/8)

0/0 (IPv4 default address)

192.168.1/16 (invalid because the .1 is not covered by the mask)

Preferences Overview

Preference is the value that Advanced Routing Suite uses to select one route over another when more than one route to the same destination is learned from different protocols or peers. Preference can be set in the Advanced Routing Suite configuration files in several different configuration statements. Preference can be set based on one network interface over another, one protocol over another, or one remote gateway over another. Preference cannot be used to control the selection of routes within an interior gateway protocol. This control is accomplished automatically by the protocol based on metric. Preference can be used to select routes from the same exterior gateway protocol (such as BGP) learned from different peers or autonomous systems. Each route has only one configurable preference value associated with it, even though preference can be set at many places in the configuration file. Simply, the last or most specific preference value set for a route is the value used. Preference can also be used to select one IGP instance over another.

The preference value is an arbitrarily assigned value used to determine the order of routes to the same destination in a single routing database. The active route is chosen by the lowest preference value. Some protocols implement a second preference (preference2), sometimes referred to as a tie-breaker. BGP and OSPF protocols use preference2. For OSPF, preference2 is for internal use only and is not configurable. For BGP, preference2 can be configured. Its value is used only when comparing routes with equal values of preference.

Assigning Preferences

A default preference is assigned to each source from which Advanced Routing Suite receives routes. Preference values range from 1 to 255, with the lowest number indicating the most preferred route.

Note - The default preference for direct routes (i.e., routes to subnets on directly connected interfaces) is 0. Other sources from which Advanced Routing Suite receives routes (i.e., OSPF) cannot be set to 0. The lowest preference value that can be specified for these is 1.

The following table summarizes the default preference values for routes learned in various ways. The table lists the statements (some of which are clauses within statements) that set preference and shows the types of routes to which each statement applies. The table lists the preference precedence between protocols and the default preference for each type of route. The more narrow the scope of the statement, the higher the precedence its preference value is given, but the smaller the set of routes it affects.

Preference Selection Precedence

Preference of

Defined by Statement

Default

Directly connected networks

interface

0

Routes to interface aliases

1

OSPF routes

ospf

10

Redirects

redirect

30

Routes learned via route socket

kernel

40

Routes installed via SNMP

50

Routes learned via router discovery

router-discovery

55

RIP routes

rip

100

Point-to-point interface

110

Routes to interfaces that are down

interface

120

Aggregate/generate routes

aggregate/generate

130

OSPF AS external routes

ospf/ospf3

150

BGP routes

bgp

170

Routes in kernel at startup

254

 
Top of Page ©2013 Check Point Software Technologies Ltd. All rights reserved. Download Complete PDF Send Feedback Print