For ELAN services, customers require not only Layer 2 RFC 2544 testing but also Layer 3 testing using IPv4.
The following example topology and configuration have been verified in the JTAC lab using ACX1100 and ACX2100 platforms with JunOS releases below:
ACX1100 + JunOS (12.3X54-D32 | 17.4R2-S13.1 | 21.2R3-S9.21)
ACX2100 + JunOS 21.2R3-S9.21
Notes:
1. For other Junos EVO–based platforms, ELAN with Layer 3 RFC 2544 testing may not be supported.
For example, when configuring the service type as elan, the system may display a warning similar to the following:
[edit service rpm rfc2544 tests test-name my_reflector]
service-type elan;
##
## Warning: destination-ipv4-address is valid only for inet family
destination-ipv4-address 192.168.121.254;
2. On other platforms, RFC2544 configuration may be available under the [edit services monitoring] hierarchy.
Example topology:
ge-0/0/4 (ACX1100) ge-0/0/2 <> ge-1/0/0 (ACX2100) xe-1/3/1
<- Example config of ACX1100 which acts as reflector:
As reflector, by default ACX1100 will swap MAC address of the packets it receives then sends back to ACX2100.
set interfaces ge-0/0/4 enable
set interfaces ge-0/0/4 mtu 1522
set interfaces ge-0/0/4 encapsulation ethernet-bridge
set interfaces ge-0/0/4 gigether-options no-flow-control
set interfaces ge-0/0/4 unit 0 statistics
set interfaces ge-0/0/4 unit 0 family bridge
set interfaces ge-0/0/2 enable
set interfaces ge-0/0/2 flexible-vlan-tagging
set interfaces ge-0/0/2 mtu 9104
set interfaces ge-0/0/2 encapsulation flexible-ethernet-services
set interfaces ge-0/0/2 gigether-options no-flow-control
set interfaces ge-0/0/2 gigether-options ethernet-switch-profile tag-protocol-id 0x8100
set interfaces ge-0/0/2 unit 3883 encapsulation vlan-bridge
set interfaces ge-0/0/2 unit 3883 vlan-id 3883
set interfaces ge-0/0/2 unit 3883 statistics
set interfaces ge-0/0/2 unit 3883 family bridge
set interfaces irb unit 3883 family inet address 192.168.121.254/24
set bridge-domains vlan3883 vlan-id 3883
set bridge-domains vlan3883 interface ge-0/0/4.0
set bridge-domains vlan3883 interface ge-0/0/2.3883
set bridge-domains vlan3883 routing-interface irb.3883
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 source-mac-address 00:00:00:00:00:aa <<< MAC of irb interface of ACX2100
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 destination-mac-address 00:00:00:00:00:bb <<< MAC of irb interface of ACX1100
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 service-type elan
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 ip-swap
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 ignore-test-interface-state
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 check-test-interface-mtu
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 disable-signature-check
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 mode reflect
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 family bridge
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 direction egress
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 test-interface ge-0/0/4.0
set services rpm rfc2544-benchmarking tests test-name reflect_elan_l3 destination-ipv4-address 192.168.121.254 <<< IP of irb interface of ACX1100
commit
<- Example configuration of ACX2100 which acts as initiator and terminator of RFC2544 test.
set interfaces ge-1/0/0 enable
set interfaces ge-1/0/0 flexible-vlan-tagging
set interfaces ge-1/0/0 mtu 9104
set interfaces ge-1/0/0 encapsulation flexible-ethernet-services
set interfaces ge-1/0/0 gigether-options no-flow-control
set interfaces ge-1/0/0 gigether-options ethernet-switch-profile tag-protocol-id 0x8100
set interfaces ge-1/0/0 unit 3883 encapsulation vlan-bridge
set interfaces ge-1/0/0 unit 3883 vlan-id 3883
set interfaces ge-1/0/0 unit 3883 statistics
set interfaces ge-1/0/0 unit 3883 family bridge
set interfaces ge-1/0/0 unit 3974 encapsulation vlan-bridge
set interfaces ge-1/0/0 unit 3974 vlan-id 3974
set interfaces ge-1/0/0 unit 3974 statistics
set interfaces xe-1/3/1 enable
set interfaces xe-1/3/1 mtu 1522
set interfaces xe-1/3/1 encapsulation ethernet-bridge
set interfaces xe-1/3/1 gigether-options no-flow-control
set interfaces xe-1/3/1 unit 0 statistics
set interfaces xe-1/3/1 unit 0 family bridge
set interfaces irb unit 3883 family inet address 192.168.121.253/24
set bridge-domains vlan3883 interface xe-1/3/1.0
set bridge-domains vlan3883 interface ge-1/0/0.3883
set services rpm rfc2544-benchmarking profiles test-profile THPT-10000 test-type throughput
set services rpm rfc2544-benchmarking profiles test-profile THPT-10000 packet-size 512
set services rpm rfc2544-benchmarking profiles test-profile THPT-10000 bandwidth-kbps 10000
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 test-profile THPT-10000
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 source-mac-address 00:00:00:00:00:aa <<< MAC of irb interface of ACX2100
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 destination-mac-address 00:00:00:00:00:bb <<< MAC of irb interface of ACX1100
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 service-type elan
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 ignore-test-interface-state
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 check-test-interface-mtu
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 mode initiate-and-terminate
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 family bridge
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 direction egress
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 test-iterator-duration 20
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 test-interface xe-1/3/1.0
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 destination-ipv4-address 192.168.121.254 <<< IPv4 of irb interface of ACX1100
set services rpm rfc2544-benchmarking tests test-name init_term_elan_l3 source-ipv4-address 192.168.121.253 <<< IPv4 of irb interface of ACX2100
<- Check if there's any RFC2544 test is running or not first, Then start reflector on ACX1100 side:
cli-> show services rpm rfc2544-benchmarking active-tests
cli-> test services rpm rfc2544-benchmarking test reflect_elan_l3 start
<- Then initiate test on ACX2100 side:
cli-> test services rpm rfc2544-benchmarking test init_term_elan_l3 start
<- You can verify if the test works or not by checking output below:
1) On ACX1100 and ACX2100 sides, check I/O of interfaces connect each other.
ACX1100-> show interfaces ge-0/0/2 | match pps | refresh 1
ACX2100-> show interfaces ge-1/0/0 | match pps | refresh 1
2) We specify 20 seconds as test-iterator-duration on ACX2100 (initiator and terminator side).
and no duration specified on reflector ACX1100 side, ACX1100 will use default duration 864000 seconds(240 hours).
after completing the test, you can check test results with cmds below:
ACX1100-> show services rpm rfc2544-benchmarking active-tests detail | no-more
ACX2100-> show services rpm rfc2544-benchmarking completed-tests detail | no-more
Reflector ACX1100 may take some time to refresh its counter of reflected packets in above output.
Please run cmd multiple time if you see 0 reflected packets.
3) By the way, you would see default filter below in following cmd output no matter if you start RFC test or not if JunOS codes running on your ACX1100 or ACX2100 support RFC2544 test.
ACX1100/ACX2100-> request pfe execute target feb0 command "show filter apps" | match 2544 11 DYN_VFP_RFC2544 18 DYN_VFP_L2_2544 32 IFP_RFC2544_VPWS103 DYN_EFP_RFC2544107 DYN_IFP_RFC2544
You would only see
ACX1100(reflector) -> show pfe tcam usage all-tcam-stages detail
Tcam Resource Stage: Egress---------------------------Free [hw-grps: 1 out of 4]Group: 2, Mode: DOUBLE, Hw grps used: 2, Tcam apps: 1 Used Allocated Available ErrorsTcam-Entries 1 128 127 0Counters 0 512 508 0Policers 0 256 256 0
App tcam usage:----------------App-Name Entries Counters Policers Precedence State Related-App-Name ..-----------------------------------------------------------------rfc2544-layer2-out 1 0 0 1 OKrfc2544-layer2-in 1 X X 4 OK 4 0 0 24 OK
user@ACX2100(initiator-terminator)-> show pfe tcam usage all-tcam-stages detail
Slot 0
Tcam Resource Stage: Pre-Ingress--------------------------------Free [hw-grps: 2 out of 3]Group: 2, Mode: SINGLE, Hw grps used: 1, Tcam apps: 1 Used Allocated Available ErrorsTcam-Entries 1 256 255 0
App tcam usage:----------------App-Name Entries Counters Policers Precedence State Related-App-Name ..-----------------------------------------------------------------rfc2544-layer2-in 1 X X 4 OKrfc2544-layer2-out 2 0 0 1 OK 4 0 0 24 OK
Tcam Resource Stage: Ingress----------------------------Free [hw-grps: 6 out of 7]Group: 19, Mode: SINGLE, Hw grps used: 1, Tcam apps: 1 Used Allocated Available ErrorsTcam-Entries 4 256 252 0Counters 4 256 252 0Policers 0 2048 2048 0
App tcam usage:----------------App-Name Entries Counters Policers Precedence State Related-App-Name ..-----------------------------------------------------------------ifl-statistics-in 4 4 0 1 OK ifl-statistics-out 4 4 0 1 OK
Tcam Resource Stage: Egress---------------------------Free [hw-grps: 1 out of 4]Group: 2, Mode: DOUBLE, Hw grps used: 2, Tcam apps: 1 Used Allocated Available ErrorsTcam-Entries 2 128 126 0Counters 0 512 508 0Policers 0 256 256 0
App tcam usage:----------------App-Name Entries Counters Policers Precedence State Related-App-Name ..-----------------------------------------------------------------rfc2544-layer2-out 2 0 0 1 OKrfc2544-layer2-in 1 X X 4 OK 4 0 0 24 OK
<- Following are example output for reference:
user@ACX2100> show services rpm rfc2544-benchmarking completed-tests detail
Test information :
Test id: 2, Test name: init_term_elan_l3, Test type: Throughput
Test mode: Initiate-and-Terminate
Test packet size: 512 1518
Test state: TEST_STATE_COMPLETED
Status: Test-Completed
Test start time: 2026-01-01 15:22:21 PDT
Test finish time: 2026-01-01 15:23:09 PDT
Counters last cleared: Never
Test-profile Configuration:
Test-profile name: THPT-10000
Theoretical max bandwidth : 10000 kbps
Test Configuration:
Duration in seconds: 20
Test finish wait duration in seconds: 1
Test family: Bridge
Test iterator pass threshold: 0.50 %
Test receive failure threshold: 0.00 %
Test transmit failure threshold: 0.50 %
Bridge family Configuration:
Interface : xe-1/3/1.0
Test direction: Egress
Source mac address: 00:00:00:00:00:aa
Destination mac address: 00:00:00:00:00:bb
Source ipv4 address: 192.168.121.253
Destination ipv4 address: 192.168.121.254
Source udp port: 4040
Destination udp port: 4041
Rfc2544 throughput test information :
Initial test load percentage : 100.00 %
Test iteration mode : Binary
Test iteration step : 50.00 %
Test packet size: 512
Iteration Internal Duration Elapsed -------- Throughput ---------
Overhead (sec) time Theoretical Transmit Measured
1 0 20 20 100.00 % 100.00 % 100.00 %
Result of the iteration runs : Throughput Test complete for packet size 512
Best iteration : 1, Best iteration (pps) : 2349
Best iteration throughput : 100.00 %
RFC2544 Throughput test results summary:
----------------------------------------
Packet Internal Theoretical Transmit Tx Rx Measured Measured
Size overhead rate (pps) pps Packets Packets throughput % bandwidth (kbps)
512 0 2349 2349 46980 46980 100.00 % 10000
user@ACX1100-> show services rpm rfc2544-benchmarking active-tests detail | no-more
Test id: 3, Test name: reflect_elan_l3, Test type: Reflect
Test mode: Reflect
Test packet size: 0
Test state: TEST_STATE_RUNNING
Status: Running
Test start time: 2026-01-01 15:20:20 PDT
Test finish time: TEST_RUNNING
Duration in seconds: 864000
Interface : ge-0/0/4.0
Service type: Elan
Elapsed Reflected Reflected
time Packets Bytes
216 63220 48958960