Skip to content

RDKCOM-5603: RDKBDEV-3455, RDKBACCL-1787 firewall and wan changes - #397

Draft
mcbridematt wants to merge 3 commits into
rdkcentral:developfrom
mcbridematt:genericarm-fw-only-changes
Draft

RDKCOM-5603: RDKBDEV-3455, RDKBACCL-1787 firewall and wan changes#397
mcbridematt wants to merge 3 commits into
rdkcentral:developfrom
mcbridematt:genericarm-fw-only-changes

Conversation

@mcbridematt

Copy link
Copy Markdown

This contains the firewall and service_wan changes from #312 , rebased onto the current develop branch. The other changes are being re-evaluated and will be submitted separately

Reason For Change: Upstreamed Generic ARM specific changes into common code to avoid maintaining platform patches.
Test Procedure: Remove firewall and service_wan patch from meta-rdk-bsp-arm. System should boot-up and should work as expected.
Risks: None
Priority: P0

A new platform GENERICARM is being introduced in RDK-B. Currently, to make the GENERICARM platform work similar to existing platforms like RPI and BPI, platform-specific changes are being maintained as patches in the meta-rdk-bsp-arm layer.

These patches add the required PLATFORM_FLAG handling (PLATFORM_GENERICARM_) and platform-specific behavior in utopia components, including firewall configuration, LAN handling, WAN handling, DHCP/DHCPv6 handling, IGD temporary path handling, and build fixes.

Actual Behavior

GENERICARM requires multiple downstream patches in meta-rdk-bsp-arm.
Without these patches:
Platform-specific code paths are not enabled.
Required firewall/LAN/WAN behavior is missing.
Build issues occur for some configurations.
Runtime behavior is inconsistent compared with other supported platforms.
Expected Behavior

GENERICARM should work similar to existing supported platforms (RPI/BPI).
Required platform-specific logic should be available in the common utopia code.
No additional utopia patches should be required from meta-rdk-bsp-arm.
build should complete successfully with GENERICARM configuration.

Original patch location: https://github.com/rdkcentral/meta-rdk-bsp-arm/tree/develop/meta-rdk-broadband/recipes-ccsp/util/utopia

@mcbridematt
mcbridematt requested a review from a team as a code owner August 6, 2026 07:24
Copilot AI review requested due to automatic review settings August 6, 2026 07:24
@mcbridematt
mcbridematt requested a review from a team as a code owner August 6, 2026 07:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upstreams GENERICARM platform conditionals into the common utopia WAN service and firewall rule generation logic, aligning behavior with other embedded ARM-style platforms (e.g., RPi/BPi/Turris) and reducing reliance on downstream meta-rdk-bsp-arm patches.

Changes:

  • Add _PLATFORM_GENERICARM_ to existing platform #if/#elif blocks in service_wan to gate interface-down and firewall/gw refresh execution paths.
  • Extend IPv4 firewall rule-generation conditionals to treat GENERICARM similarly to other ARM platforms for logging/DoS protections/remote access and related behaviors.
  • Apply the same GENERICARM gating to IPv6 NAT table behavior for WAN failover DNS redirection.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
source/service_wan/service_wan.c Adds GENERICARM to platform-specific guards around WAN down and firewall/gw refresh flows.
source/firewall/firewall.c Updates many iptables rule-generation platform conditionals to include/exclude GENERICARM where appropriate.
source/firewall/firewall_ipv6.c Gates WAN failover IPv6 DNS redirection for GENERICARM consistently with other platforms.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread source/firewall/firewall.c Outdated
Comment thread source/firewall/firewall.c
Comment thread source/service_wan/service_wan.c
@mcbridematt
mcbridematt marked this pull request as draft August 6, 2026 07:28
This platform is similar to other RDK-B OSS reference platforms,
in using a normal Linux data path without vendor flow acceleration.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
(Original proposal adding _GENERIC_LINUX_DATA_PATH_)

Co-developed-by: mahanteshchitt <mahantesh_chittapur@comcast.com>
(Revert to adding a seperate _PLATFORM_GENERICARM_ as proposed at
rdkcentral#312)
This is for the meta-rdk-bsp-arm project. Similar to other
RDK-B OSS reference boards that do not use a vendor dataplane,
extend the behaviour defined for those reference platforms
to this one.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Identified by Copilot AI:
Typo in the comment: "managment" → "management".

Link: rdkcentral#397 (review)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants