config push pcap

Prev Next

Commands for inspecting and changing the system’s push PCAP behavior.


show push pcap status

Prints the state of all entries in the push schedule.

show push pcap status

Example output:

[Sat Jan 25 05:48:16 2025] > show push pcap status
[Sat Jan 25 05:48:17 2025] FollowStart : true
[Sat Jan 25 05:48:17 2025] Decap       : true
[Sat Jan 25 05:48:17 2025]
[Sat Jan 25 05:48:17 2025] Name                           : Write Path                                             Suffix : Split Mode :   Filename : Filter Frame         : Filter BPF
[Sat Jan 25 05:48:17 2025] -------------------------------+---------------------------------------------------------------+------------+------------+----------------------+------------------------------------------
[Sat Jan 25 05:48:17 2025] pushtest                       : /mnt/store0/push                                              :    360 Sec :      -nsec :                      : (dst host 157.55.130.150)
[Sat Jan 25 05:48:17 2025] newpush                        :                                                               :   3600 Sec :  HHMMSS_TZ :                      : ()
[Sat Jan 25 05:48:17 2025] -------------------------------+---------------------------------------------------------------+------------+------------+----------------------+------------------------------------------

config push pcap add

Creates a new push target with a given name.

config push pcap add <target name>

Example output:

[Sat Jan 25 05:39:16 2025] > config push pcap add newpush
[Sat Jan 25 05:39:17 2025] Created Ring named [pcap_newpush]
cycle calibration disabled
null  output
RING reset
RING file [/opt/fmadio/queue/pcap_newpush]
RING[/opt/fmadio/queue/pcap_newpush                    ] Size missmatch 0 12595200
RING[/opt/fmadio/queue/pcap_newpush                    ] Size   : 12595200 16777216
RING[/opt/fmadio/queue/pcap_newpush                    ] Version:        0      100
RING[/opt/fmadio/queue/pcap_newpush                    ] version wrong force reset
RING[/opt/fmadio/queue/pcap_newpush                    ] Put:0 0 0x7ff85709e000
RING[/opt/fmadio/queue/pcap_newpush                    ] Get:0 0 0x7ff85709f000
[Sat Jan 25 05:39:17 2025] created ring [/opt/fmadio/queue/pcap_newpush]
[Sat Jan 25 05:39:17 2025] Add Push PCAP target [newpush]

config push pcap cpu

Set the CPU affinity that will be used by stream_cat for a push target.

config push pcap cpu <target name> <cpu number>

Example output:

[Sat Jan 25 05:53:20 2025] > config push pcap cpu newpush 13
[Sat Jan 25 05:53:20 2025] Set CPU [none] -> [13]

config push pcap del

Deletes a specific push target.

config push pcap del <target name>

Example output:

[Sat Jan 25 07:02:22 2025] > config push pcap del oldpush
[Sat Jan 25 07:02:23 2025] deleting: [oldpush] row 2

config push pcap del_all

Deletes all push targets.

config push pcap del_all

Example output:

[Sat Jan 25 07:02:36 2025] > config push pcap del_all

config push pcap filename

Change the template used to generate the names given to files written by a push target.

Available formats:

  • epoch-sec → e.g. FileName <name>_1654610221.pcap

  • epoch-sec-startend → e.g. FileName <name>_1654610221-1654620221.pcap

  • epoch-msec → e.g. FileName <name>_1654610221012.pcap

  • epoch-usec → e.g. FileName <name>_1654610221012345.pcap

  • epoch-nsec → e.g. FileName <name>_1654610221012345678.pcap

  • HHMM → e.g. FileName <name>_20200101_1201.pcap

  • HHMMSS → e.g. FileName <name>_20200101_120159.pcap

  • HHMMSS_TZ → e.g. FileName <name>_2020-01-01_12:01:59+09:00.pcap

  • HHMMSS_NS → e.g. FileName <name>_20200101_120159.012.345.678.pcap

  • HHMMSS_SUB → e.g. FileName <name>_20200101_120159.012345678.pcap

config push pcap filename <target name> <format>

Example output:

[Sat Jan 25 06:08:29 2025] > config push pcap filename newpush epoch-usec
[Sat Jan 25 06:08:30 2025] Set Filename to  [--filename-tstr-HHMMSS_TZ] -> [--filename-epoch-usec]

config push pcap filter-bpf

Add a Berkeley Packet Filter (BPF) to a given push target to dictate which packets pass through stream_cat.

Note that you cannot use whitespace in the filter unless it is surrounded by double quotation marks. Single quotation marks are not supported.

config push pcap filter-buf <target name> "<BPF>"

Example output:

[Sat Jan 25 06:09:27 2025] > config push pcap filter-bpf newpush "greater 900"
[Sat Jan 25 06:09:32 2025] Set FilterBPF [] -> [greater 900]

config push pcap filter-frame

Add a frame filter to a given push target to dictate which packets pass through stream_cat.

Note that you cannot use whitespace in the filter unless it is surrounded by double quotation marks. Single quotation marks are not supported.

config push pcap filter-frame <target name> "<frame filter>"

Example output:

[Sat Jan 25 06:19:22 2025] > config push pcap filter-frame newpush "capture.port == 555"
[Sat Jan 25 06:19:22 2025] Set FilterFrame [greater 900] -> [capture.port == 555]

config push pcap name

Set a new name for a push target.

config push pcap name <target name> <new name>

Example output:

[Sat Jan 25 07:02:09 2025] > config push pcap name newpush oldpush
[Sat Jan 25 07:02:09 2025] Rename [newpush] -> [oldpush]

config push pcap path

Set a new write directory for a push target.

config push pcap path <target name> <write path>

Example output:

[Sat Jan 25 06:21:38 2025] > config push pcap path newpush /mnt/store0/push
[Sat Jan 25 06:21:38 2025] Set Path [] -> [/mnt/store0/push]

config push pcap restart

Restart the push_pcap.lua process and all its child processes, and then wait for them all to be brought back up again.

config push pcap restart

Example output:

[Mon Feb 24 04:45:46 2025] > config push pcap restart
Killing 7201 /opt/fmadio/bin/stream_cat
Killing 7204 /opt/fmadio/bin/pcap_split
wait for respawn 0/120
wait for respawn 1/120
wait for respawn 2/120
wait for respawn 3/120
wait for respawn 4/120
wait for respawn 5/120
process respawned

config push pcap split-size

The output of a stream_cat process run by a push target goes to a file in the write directory until either a certain interval of time has been observed over the packets’ timestamps or a certain cumulative capture length has been observed over the packets. This command sets a size threshold.

The given size amount must be an integer, optionally suffixed by upper-case M (megabytes) or G (gigabytes). If there is no suffix, the amount is taken as being in bytes.

Please note that the setting controlled by this command is also controlled by config push pcap split-time; these commands are mutually exclusive, and override each other.

config push pcap split-size <target name> <size>

Example output:

[Sat Jan 25 06:32:58 2025] > config push pcap split-size newpush 10G
[Sat Jan 25 06:32:59 2025] Set Split to  [--split-time 3600e9] -> [--split-byte 10000000000]

config push pcap split-time

The output of a stream_cat process run by a push target goes to a file in the write directory until either a certain interval of time has been observed over the packets’ timestamps or a certain cumulative capture length has been observed over the packets. This command sets a size threshold.

The given time amount must be an integer suffixed by lower-case s (seconds), m (minutes), or h (hours).

Please note that the setting controlled by this command is also controlled by config push pcap split-size; these commands are mutually exclusive, and override each other.

config push pcap split-time <target name> <time>

Example output:

[Sat Jan 25 06:40:50 2025] > config push pcap split-time newpush 1h
[Sat Jan 25 06:40:51 2025] Set Split to  [--split-byte 10000000000] -> [--split-time 3600000000000]