Skip to content

ci: enhance validation steps for Ethernet PDU sessions - #11

Open
tariromukute wants to merge 2 commits into
developfrom
ci-enhance-eth-pdu-tutorial
Open

ci: enhance validation steps for Ethernet PDU sessions#11
tariromukute wants to merge 2 commits into
developfrom
ci-enhance-eth-pdu-tutorial

Conversation

@tariromukute

@tariromukute tariromukute commented Sep 2, 2026

Copy link
Copy Markdown

docs/Ethernet_PDU_Sessions.md currently validates the feature with a single arping.
ARP is answered locally by the UPF and never enters the GTP-U tunneltcpdump -i demo-n3 shows zero GTP-U packets during an arping run. A build in which the Ethernet PDU user plane is completely non-functional passes the existing test.

Related to: openairinterface/oai-cn5g-upf#16

The tests below were written while debugging several Ethernet-PDU datapath issues; each one corresponds to a failure mode that the current document does not detect.

What changes

Section What it validates
6.1 MTU GTP-U (40 B) plus the inner Ethernet header (14 B) put the usable MTU below 1500; TCP black-holes at the default while UDP and ICMP are unaffected
6.2 Bridge multicast snooping Docker bridges default to multicast_snooping=1 with no querier, so unregistered L2 multicast is never forwarded to ports — gPTP and similar fail silently while ARP appears to work
6.3 Downlink to an unlearned MAC The downlink flood path. Ordered before arping, since any uplink teaches the UPF the UE's MAC and the test then passes for the wrong reason
6.4 Uplink IP traffic The only check that actually traverses the tunnel end to end
6.5 Uplink L2 multicast Multicast and broadcast take different bridge paths; uses the UE's own MLD/ND traffic, so no extra tooling
6.6 VLAN tag and PCP That an 802.1Q tag and its priority bits survive unchanged — the property that makes the session usable as a TSN bridge port
6.7 Throughput Sustained forwarding, and confirms the MTU of 6.1

…multicast handling

Signed-off-by: Tariro Mukute <tariro.mukute@phine.tech>
@tariromukute tariromukute self-assigned this Sep 2, 2026
@openairinterface-bot

Copy link
Copy Markdown

CI Build: #173 | Failed on the following stages:

@sgarg00 sgarg00 added the do-not-trigger-ci Indicates that CI should not be triggered. label Sep 2, 2026
  -f is a per-interface option: placed after an -i it filters only the
  interface named by that last -i, and it sets the default filter for all
  interfaces only when it precedes the first -i. From the tshark(1) man
  page, on -f:

    "If used before the first occurrence of the -i option, it sets the
     default capture filter expression. If used after an -i option, it
     sets the capture filter expression for the interface specified by
     the last -i option occurring before this option."

  demo-oai was therefore captured unfiltered on the multi-interface
  deployments, recording the rfsim IQ stream into a 63 GB PCAP. port 2152
  and arp are added because demo-n3 and demo-n6 previously got that
  traffic only by being unfiltered.

Signed-off-by: Shubhika Garg <shubhika.garg@openairinterface.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-trigger-ci Indicates that CI should not be triggered.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants