The Protocol Pack
Auto Update configuration file specifies:
-
Protocol Pack Server
location
-
Locations of
protocol pack files on the
Protocol
Pack Server
-
Schedule for
participating routers to check the
Protocol
Pack Server for updates
Configuration
File Format and Filename
The configuration
file format is JSON. The required filename is: NBAR_PROTOCOL_PACK_DETAILS.json
Specifying
Protocol Pack File Locations
The
configuration file provides the path for each available protocol pack file.
Participating routers use these paths to download and install the protocol pack
files automatically.
The complete
path is formed by combining the specified
Protocol Pack
Server location together with the file path. A router downloading the
protocol pack uses this complete path to download the file. Example:
-
Protocol Pack Server
location: tftp://10.20.200.1/NbarAutoUpdate/pp_server/
-
Directory
and filename: protocolpack_dir/pp1
-
Complete
path for downloading the protocol pack:
tftp://10.20.200.1/NbarAutoUpdate/pp_server/protocolpack_dir/pp1
Organization
of the Configuration File
Within the
configuration file, protocol pack file locations are organized by platform and
NBAR engine:
-
Platform
Examples: ASR, CSR,
ISR
-
NBAR engine
version (example: 22)
The NBAR
engine version number identifies each version of NBAR, and can be displayed
using the
show ip nbar version command on a router.
Routers of
Same Type Operating Different Versions of NBAR
Routers of the
same platform type (for example, ISR) may be using different versions of
NBAR—for example, two Cisco ISR 4451 routers, one operating with Cisco IOS XE
3.15 and the other with 3.17. The configuration file should specify protocol
pack files for both NBAR versions.
Configuration
File Parameters
The following
parameters are used in the NBAR_PROTOCOL_PACK_DETAILS.json configuration file.
Each router using Protocol Pack Auto Update may override these parameters using
local CLI commands.
Parameter
|
Description
|
protocol-pack-server
|
(Mandatory)
Location of protocol pack server.
Example: tftp://10.20.200.1/NbarAutoUpdate/pp_server/
|
nbar_pp_files
|
(Mandatory)
Provides file locations for protocol pack files for various platforms and NBAR
engines, identified by NBAR engine ID.
|
schedule {daily |
weekly: |
monthly:}
[day]
{hh:
hh,
mm:
mm}
|
Schedule for the NBAR protocol pack auto-update upgrade interval. Participating
routers check regularly for updates at the scheduled time.
The
actual run time depends on the
update-window option.
Default: Daily at 00:00
|
update-window
|
Maintenance window (in minutes) for NBAR protocol pack auto-update to operate
within. The maintenance window is scheduled according to the time configured by
the
schedule parameters.
Default: 60
|
clear-previous
|
enable: Causes unneeded protocol-pack files to be
removed after a cool-down period.
disable: Configures the feature to not remove any
files.
Default: enable
|
force-upgrade
|
enable: New protocol pack updates will be applied
with the "force" flag.
disable: New protocol pack updates will not be
applied with the "force" flag.
Default: disable
|
Configuration Files: Minimal Example
Example of a
minimal configuration file, containing only the top-level
nbar_auto_update_config, and mandatory fields.
Because no schedule is configured, routers use the default schedule of checking
daily at 00:00.
{
"nbar_auto_update_config":{
"protocol-pack-server":"tftp://10.20.200.1/NbarAutoUpdate/pp_server/"
},
"nbar_pp_files":{
"ISR":{"25":"/ProtoPack"},
"ASR":{"25":"/ProtoPack"},
"CSR":{"25":"/ProtoPack"},
"OTHER":{"25":"/ProtoPack"}
}
}
Configuration Files: Typical Example
Example of a
typical configuration file, containing the top-level
nbar_auto_update_config, plus mandatory and optional
fields. In this example, the update schedule is weekly on Saturdays at 2:30 AM.
Participating routers check for available updates at the scheduled time.
{
"nbar_auto_update_config": {
"protocol-pack-server": "tftp://10.20.200.1/NbarAutoUpdate/pp_server/",
"update-window":0,
"force-upgrade":true,
"clear-previous":true,
"schedule": {
"weekly": 6,
"hh": 02,
"mm": 30
},
},
"nbar_pp_files": {
"ISR": {
"22":"isr_protocolpack_dir/pp22",
"23":"isr_protocolpack_dir/pp23"
},
"ASR": {
"23":"asr_protocolpack_dir/pp23"
},
"CSR": {
"23":["csr_protocolpack_dir/pp23"]
},
"OTHER": {
"23":["other_pp1","other_pp23"]
}
}
}