Conntag

The following scenarios show how the conntag feature integrates with conntrack logging and system conntrack show commands. Conntag allows tagging conntrack entries with string values (up to 255 characters) for traffic identification and logging.

Conntag In Conntrack Show

Description

Verify that conntag values appear correctly in the system conntrack show command output. The conntag field should display the string value assigned to the connection via traffic policy.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 192.168.100.1/24
set interfaces ethernet eth0 traffic policy in POLICY_TAG
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic policy POLICY_TAG rule 1 set conntag my-logged-tag

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set protocols static route 0.0.0.0/0 next-hop 192.168.100.1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.386 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.386/0.386/0.386/0.000 ms

Step 4: Run command system conntrack clear at DUT0 and expect this output:

Show output
Connection tracking table has been emptied

Step 5: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 3 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.230 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.294 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.246 ms

--- 192.168.100.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2036ms
rtt min/avg/max/mdev = 0.230/0.256/0.294/0.027 ms

Step 6: Run command system conntrack show at DUT0 and expect this output:

Show output
icmp     1 29 src=192.168.100.2 dst=192.168.100.1 type=8 code=0 id=715 packets=3 bytes=252 src=192.168.100.1 dst=192.168.100.2 type=0 code=0 id=715 packets=3 bytes=252 mark=0 conntag=my-logged-tag use=1
conntrack v1.4.7 (conntrack-tools): 1 flow entries have been shown.

Conntag In Conntrack Logging

Description

Verify that conntag values appear in conntrack logging events when system conntrack logging events is enabled. The CONNTAG field should be included in log entries for NEW, UPDATE, and DESTROY events.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 192.168.100.1/24
set interfaces ethernet eth0 traffic policy in POLICY_TAG
set system conntrack logging events all
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic policy POLICY_TAG rule 1 set conntag my-logged-tag

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set protocols static route 0.0.0.0/0 next-hop 192.168.100.1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.557 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.557/0.557/0.557/0.000 ms

Step 4: Run command system conntrack clear at DUT0 and expect this output:

Show output
Connection tracking table has been emptied

Step 5: Run command system journal clear at DUT0 and expect this output:

Show output
Deleted archived journal /run/log/journal/ba147585e3944580985006d3d45a280a/system@181a49e9cc7c4614a8f27bf455e0eb18-0000000000027f91-00064d756f2d0ef1.journal (80.0K).
Deleted archived journal /run/log/journal/ba147585e3944580985006d3d45a280a/system@181a49e9cc7c4614a8f27bf455e0eb18-0000000000027f94-00064d756f3160b3.journal (124.0K).
Vacuuming done, freed 204.0K of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Vacuuming done, freed 0B of archived journals from /var/log/journal.
Vacuuming done, freed 0B of archived journals from /run/log/journal.

Step 6: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 3 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.432 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.271 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.244 ms

--- 192.168.100.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2034ms
rtt min/avg/max/mdev = 0.244/0.315/0.432/0.083 ms

Step 7: Run command system journal show | cat at DUT0 and check if output matches the following regular expressions:

CONNTAG=my-logged-tag
Show output
Mar 20 14:23:54.743026 osdx systemd-journald[685976]: Runtime Journal (/run/log/journal/ba147585e3944580985006d3d45a280a) is 2.3M, max 17.2M, 14.9M free.
Mar 20 14:23:54.746087 osdx systemd-journald[685976]: Received client request to rotate journal, rotating.
Mar 20 14:23:54.746176 osdx systemd-journald[685976]: Vacuuming done, freed 0B of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Mar 20 14:23:54.757560 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 14:23:54.911097 osdx ulogd[734617]: [NEW] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=my-logged-tag
Mar 20 14:23:54.911123 osdx ulogd[734617]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=my-logged-tag

Conntag In Traffic Policy Log

Description

Verify that conntag values appear in traffic policy log entries when the log option is enabled on a rule that sets conntag.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 192.168.100.1/24
set interfaces ethernet eth0 traffic policy in POLICY_TAG
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic policy POLICY_TAG rule 1 log prefix CONNTAG
set traffic policy POLICY_TAG rule 1 set conntag my-logged-tag

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set protocols static route 0.0.0.0/0 next-hop 192.168.100.1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.390 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.390/0.390/0.390/0.000 ms

Step 4: Run command system conntrack clear at DUT0 and expect this output:

Show output
Connection tracking table has been emptied

Step 5: Run command system journal clear at DUT0 and expect this output:

Show output
Vacuuming done, freed 0B of archived journals from /run/log/journal.
Vacuuming done, freed 0B of archived journals from /var/log/journal.
Deleted archived journal /run/log/journal/ba147585e3944580985006d3d45a280a/system@181a49e9cc7c4614a8f27bf455e0eb18-0000000000027fe5-00064d756fcb3043.journal (96.0K).
Vacuuming done, freed 96.0K of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.

Step 6: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 3 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.282 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.262 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.301 ms

--- 192.168.100.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2032ms
rtt min/avg/max/mdev = 0.262/0.281/0.301/0.015 ms

Step 7: Run command system journal show | tail at DUT0 and check if output contains the following tokens:

[CONNTAG-1] ACCEPT
Show output
Mar 20 14:24:04.724409 osdx systemd-journald[685976]: Runtime Journal (/run/log/journal/ba147585e3944580985006d3d45a280a) is 2.2M, max 17.2M, 14.9M free.
Mar 20 14:24:04.725214 osdx systemd-journald[685976]: Received client request to rotate journal, rotating.
Mar 20 14:24:04.725259 osdx systemd-journald[685976]: Vacuuming done, freed 0B of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Mar 20 14:24:04.735115 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 14:24:04.832597 osdx kernel: [CONNTAG-1] ACCEPT IN=eth0 OUT= MAC=de:ad:be:ef:6c:00:de:ad:be:ef:6c:10:08:00 SRC=192.168.100.2 DST=192.168.100.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=53018 DF PROTO=ICMP TYPE=8 CODE=0 ID=719 SEQ=1
Mar 20 14:24:05.840253 osdx kernel: [CONNTAG-1] ACCEPT IN=eth0 OUT= MAC=de:ad:be:ef:6c:00:de:ad:be:ef:6c:10:08:00 SRC=192.168.100.2 DST=192.168.100.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=53184 DF PROTO=ICMP TYPE=8 CODE=0 ID=719 SEQ=2
Mar 20 14:24:06.864420 osdx kernel: [CONNTAG-1] ACCEPT IN=eth0 OUT= MAC=de:ad:be:ef:6c:00:de:ad:be:ef:6c:10:08:00 SRC=192.168.100.2 DST=192.168.100.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=53317 DF PROTO=ICMP TYPE=8 CODE=0 ID=719 SEQ=3

Conntag Persistence Through Connection States

Description

Verify that conntag values persist through different connection states (NEW, ESTABLISHED). The tag should remain associated with the connection throughout its lifecycle.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 192.168.100.1/24
set interfaces ethernet eth0 traffic policy in POLICY_TAG
set system conntrack logging events all
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic policy POLICY_TAG rule 1 set conntag my-logged-tag

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set protocols static route 0.0.0.0/0 next-hop 192.168.100.1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.326 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.326/0.326/0.326/0.000 ms

Step 4: Run command system conntrack clear at DUT0 and expect this output:

Show output
Connection tracking table has been emptied

Step 5: Run command system journal clear at DUT0 and expect this output:

Show output
Deleted archived journal /run/log/journal/ba147585e3944580985006d3d45a280a/system@181a49e9cc7c4614a8f27bf455e0eb18-0000000000028019-00064d7570539345.journal (124.0K).
Vacuuming done, freed 124.0K of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Vacuuming done, freed 0B of archived journals from /run/log/journal.
Vacuuming done, freed 0B of archived journals from /var/log/journal.

Step 6: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 3 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.267 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.257 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.240 ms

--- 192.168.100.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2053ms
rtt min/avg/max/mdev = 0.240/0.254/0.267/0.011 ms

Step 7: Run command system journal show | cat at DUT0 and check if output matches the following regular expressions:

\[NEW\].*CONNTAG=my-logged-tag
Show output
Mar 20 14:24:13.605189 osdx systemd-journald[685976]: Runtime Journal (/run/log/journal/ba147585e3944580985006d3d45a280a) is 2.2M, max 17.2M, 15.0M free.
Mar 20 14:24:13.608886 osdx systemd-journald[685976]: Received client request to rotate journal, rotating.
Mar 20 14:24:13.608952 osdx systemd-journald[685976]: Vacuuming done, freed 0B of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Mar 20 14:24:13.615165 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 14:24:13.738858 osdx ulogd[735338]: [NEW] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=my-logged-tag
Mar 20 14:24:13.738888 osdx ulogd[735338]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=my-logged-tag

Step 8: Run command system journal show | cat at DUT0 and check if output matches the following regular expressions:

\[UPDATE\].*CONNTAG=my-logged-tag
Show output
Mar 20 14:24:13.605189 osdx systemd-journald[685976]: Runtime Journal (/run/log/journal/ba147585e3944580985006d3d45a280a) is 2.2M, max 17.2M, 15.0M free.
Mar 20 14:24:13.608886 osdx systemd-journald[685976]: Received client request to rotate journal, rotating.
Mar 20 14:24:13.608952 osdx systemd-journald[685976]: Vacuuming done, freed 0B of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Mar 20 14:24:13.615165 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 14:24:13.738858 osdx ulogd[735338]: [NEW] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=my-logged-tag
Mar 20 14:24:13.738888 osdx ulogd[735338]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=my-logged-tag
Mar 20 14:24:15.875150 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system journal show | cat'.

Conntag With Long String In Logs

Description

Verify that long conntag strings are correctly logged and displayed. The system should handle strings up to 255 characters without truncation in logs.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 192.168.100.1/24
set interfaces ethernet eth0 traffic policy in POLICY_TAG
set system conntrack logging events new
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic policy POLICY_TAG rule 1 set conntag application-traffic-identifier-v1.2.3-production-env

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set protocols static route 0.0.0.0/0 next-hop 192.168.100.1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.423 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.423/0.423/0.423/0.000 ms

Step 4: Run command system conntrack clear at DUT0 and expect this output:

Show output
Connection tracking table has been emptied

Step 5: Run command system journal clear at DUT0 and expect this output:

Show output
Deleted archived journal /run/log/journal/ba147585e3944580985006d3d45a280a/system@181a49e9cc7c4614a8f27bf455e0eb18-000000000002806b-00064d7570dd9826.journal (120.0K).
Vacuuming done, freed 120.0K of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Vacuuming done, freed 0B of archived journals from /run/log/journal.
Vacuuming done, freed 0B of archived journals from /var/log/journal.

Step 6: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 3 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.291 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.317 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.287 ms

--- 192.168.100.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2026ms
rtt min/avg/max/mdev = 0.287/0.298/0.317/0.013 ms

Step 7: Run command system conntrack show at DUT0 and expect this output:

Show output
icmp     1 29 src=192.168.100.2 dst=192.168.100.1 type=8 code=0 id=723 packets=3 bytes=252 src=192.168.100.1 dst=192.168.100.2 type=0 code=0 id=723 packets=3 bytes=252 mark=0 conntag=application-traffic-identifier-v1.2.3-production-env use=1
conntrack v1.4.7 (conntrack-tools): 1 flow entries have been shown.

Step 8: Run command system journal show | cat at DUT0 and check if output matches the following regular expressions:

CONNTAG=application-traffic-identifier
Show output
Mar 20 14:24:22.742059 osdx systemd-journald[685976]: Runtime Journal (/run/log/journal/ba147585e3944580985006d3d45a280a) is 2.2M, max 17.2M, 14.9M free.
Mar 20 14:24:22.745227 osdx systemd-journald[685976]: Received client request to rotate journal, rotating.
Mar 20 14:24:22.745314 osdx systemd-journald[685976]: Vacuuming done, freed 0B of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Mar 20 14:24:22.755280 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 14:24:22.910303 osdx ulogd[735712]: [NEW] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=application-traffic-identifier-v1.2.3-production-env
Mar 20 14:24:25.015076 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system conntrack show'.

Conntag With Multiple Policies

Description

Verify that different traffic policies can set different conntag values, and each connection is tagged appropriately based on which policy rule matched.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 192.168.100.1/24
set interfaces ethernet eth0 traffic policy in POLICY_MULTI
set service ssh
set system conntrack logging events all
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic policy POLICY_MULTI rule 1 selector SEL_ICMP
set traffic policy POLICY_MULTI rule 1 set conntag icmp-traffic-tag
set traffic policy POLICY_MULTI rule 2 selector SEL_TCP
set traffic policy POLICY_MULTI rule 2 set conntag tcp-traffic-tag
set traffic selector SEL_ICMP rule 1 protocol icmp
set traffic selector SEL_TCP rule 1 protocol tcp

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set protocols static route 0.0.0.0/0 next-hop 192.168.100.1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 3 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.340 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.274 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.324 ms

--- 192.168.100.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2049ms
rtt min/avg/max/mdev = 0.274/0.312/0.340/0.028 ms

Step 4: Run command system conntrack clear at DUT0 and expect this output:

Show output
Connection tracking table has been emptied

Step 5: Run command system journal clear at DUT0 and expect this output:

Show output
Vacuuming done, freed 0B of archived journals from /run/log/journal.
Deleted archived journal /run/log/journal/ba147585e3944580985006d3d45a280a/system@181a49e9cc7c4614a8f27bf455e0eb18-00000000000280ba-00064d757176f23a.journal (132.0K).
Vacuuming done, freed 132.0K of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Vacuuming done, freed 0B of archived journals from /var/log/journal.

Step 6: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 3 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.688 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.265 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.330 ms

--- 192.168.100.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2045ms
rtt min/avg/max/mdev = 0.265/0.427/0.688/0.185 ms

Step 7: Init an SSH connection from DUT1 to IP address 192.168.100.1 with the user admin:

admin@DUT1$ ssh admin@192.168.100.1 option StrictHostKeyChecking=no option UserKnownHostsFile=/dev/null
Show output
Warning: Permanently added '192.168.100.1' (ECDSA) to the list of known hosts.
admin@192.168.100.1's password:
Welcome to Teldat OSDx v4.2.8.5

This system includes free software.
Contact Teldat for licenses information and source code.

Last login: Fri Mar 20 14:01:00 2026
admin@osdx$

Step 8: Run command system conntrack show at DUT0 and expect this output:

Show output
icmp     1 29 src=192.168.100.2 dst=192.168.100.1 type=8 code=0 id=725 packets=3 bytes=252 src=192.168.100.1 dst=192.168.100.2 type=0 code=0 id=725 packets=3 bytes=252 mark=0 conntag=icmp-traffic-tag use=1
tcp      6 19 TIME_WAIT src=192.168.100.2 dst=192.168.100.1 sport=41136 dport=22 packets=25 bytes=5084 src=192.168.100.1 dst=192.168.100.2 sport=22 dport=41136 packets=20 bytes=4832 [ASSURED] mark=0 conntag=tcp-traffic-tag use=1
conntrack v1.4.7 (conntrack-tools): 2 flow entries have been shown.

Step 9: Run command system journal show | cat at DUT0 and check if output matches the following regular expressions:

CONNTAG=icmp-traffic-tag
Show output
Mar 20 14:24:35.465334 osdx systemd-journald[685976]: Runtime Journal (/run/log/journal/ba147585e3944580985006d3d45a280a) is 2.2M, max 17.2M, 14.9M free.
Mar 20 14:24:35.465914 osdx systemd-journald[685976]: Received client request to rotate journal, rotating.
Mar 20 14:24:35.465962 osdx systemd-journald[685976]: Vacuuming done, freed 0B of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Mar 20 14:24:35.476569 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 14:24:35.611955 osdx ulogd[736170]: [NEW] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=icmp-traffic-tag
Mar 20 14:24:35.611978 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=icmp-traffic-tag
Mar 20 14:24:37.737207 osdx ulogd[736170]: [NEW] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:37.737230 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:37.737307 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:37.906699 osdx sshd[736212]: Accepted password for admin from 192.168.100.2 port 41136 ssh2
Mar 20 14:24:37.912943 osdx sshd[736212]: pam_env(sshd:session): deprecated reading of user environment enabled
Mar 20 14:24:37.986610 osdx OSDxCLI[736222]: User 'admin' has logged in.
Mar 20 14:24:38.009842 osdx OSDxCLI[736222]: User 'admin' has logged out.
Mar 20 14:24:38.014438 osdx sshd[736221]: Received disconnect from 192.168.100.2 port 41136:11: disconnected by user
Mar 20 14:24:38.014580 osdx sshd[736221]: Disconnected from user admin 192.168.100.2 port 41136
Mar 20 14:24:38.014753 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:38.016141 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:38.016356 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:38.211948 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system conntrack show'.

Step 10: Run command system journal show | cat at DUT0 and check if output matches the following regular expressions:

CONNTAG=tcp-traffic-tag
Show output
Mar 20 14:24:35.465334 osdx systemd-journald[685976]: Runtime Journal (/run/log/journal/ba147585e3944580985006d3d45a280a) is 2.2M, max 17.2M, 14.9M free.
Mar 20 14:24:35.465914 osdx systemd-journald[685976]: Received client request to rotate journal, rotating.
Mar 20 14:24:35.465962 osdx systemd-journald[685976]: Vacuuming done, freed 0B of archived journals from /run/log/journal/ba147585e3944580985006d3d45a280a.
Mar 20 14:24:35.476569 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 14:24:35.611955 osdx ulogd[736170]: [NEW] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=icmp-traffic-tag
Mar 20 14:24:35.611978 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=ICMP TYPE=0 CODE=8 PKTS=0 BYTES=0 CONNTAG=icmp-traffic-tag
Mar 20 14:24:37.737207 osdx ulogd[736170]: [NEW] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:37.737230 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:37.737307 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:37.906699 osdx sshd[736212]: Accepted password for admin from 192.168.100.2 port 41136 ssh2
Mar 20 14:24:37.912943 osdx sshd[736212]: pam_env(sshd:session): deprecated reading of user environment enabled
Mar 20 14:24:37.986610 osdx OSDxCLI[736222]: User 'admin' has logged in.
Mar 20 14:24:38.009842 osdx OSDxCLI[736222]: User 'admin' has logged out.
Mar 20 14:24:38.014438 osdx sshd[736221]: Received disconnect from 192.168.100.2 port 41136:11: disconnected by user
Mar 20 14:24:38.014580 osdx sshd[736221]: Disconnected from user admin 192.168.100.2 port 41136
Mar 20 14:24:38.014753 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:38.016141 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:38.016356 osdx ulogd[736170]: [UPDATE] ORIG: SRC=192.168.100.2 DST=192.168.100.1 PROTO=TCP SPT=41136 DPT=22 PKTS=0 BYTES=0 , REPLY: SRC=192.168.100.1 DST=192.168.100.2 PROTO=TCP SPT=22 DPT=41136 PKTS=0 BYTES=0 CONNTAG=tcp-traffic-tag
Mar 20 14:24:38.211948 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system conntrack show'.
Mar 20 14:24:38.315899 osdx OSDxCLI[685811]: User 'admin' executed a new command: 'system journal show | cat'.