Skip to content

RDKCOM-5616: RDKBDEV-3470, RDKBACCL-1485: Verify configurable wan interface in BPI R4 - #67

Open
anatar818 wants to merge 3 commits into
developfrom
anatar818-patch-3
Open

RDKCOM-5616: RDKBDEV-3470, RDKBACCL-1485: Verify configurable wan interface in BPI R4#67
anatar818 wants to merge 3 commits into
developfrom
anatar818-patch-3

Conversation

@anatar818

@anatar818 anatar818 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Reason for change: Verify configurable wan interface in BPI R4 (ethagent functionality)
Test Procedure: Build and flash the image ,Validate wan functionality for the customized interface name
Risks: None
Priority : P1

Added logic to handle WAN physical interface name retrieval and configuration for specific platforms.
Copilot AI review requested due to automatic review settings July 7, 2026 07:53
@anatar818
anatar818 requested review from a team as code owners July 7, 2026 07:53

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

Adds platform-specific initialization logic to support a configurable WAN interface name on BPI R4 (and related platforms) during Ethernet agent startup.

Changes:

  • Introduces a RaspberryPi/Turris/BPI-R4 init path (when FEATURE_RDKB_VLAN_MANAGER is not defined) that reads wan_physical_ifname, persists/reads it via /nvram/wan_name.txt, and configures a bridge using ip link.
  • Sets the resulting WAN bridge/interface MAC and enslaves ETHWAN_DEF_INTF_NAME under the configured bridge name.

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

Comment thread source/TR-181/board_sbapi/cosa_ethernet_apis.c
Comment thread source/TR-181/board_sbapi/cosa_ethernet_apis.c
Comment thread source/TR-181/board_sbapi/cosa_ethernet_apis.c
Comment thread source/TR-181/board_sbapi/cosa_ethernet_apis.c Outdated
Comment thread source/TR-181/board_sbapi/cosa_ethernet_apis.c
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 17, 2026 07:58

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 1 out of 1 changed files in this pull request and generated 4 comments.

Comment on lines +3470 to +3471
if (!syscfg_get(NULL, "wan_physical_ifname", out_value, sizeof(out_value)))
{
Comment on lines +3499 to +3511
{
fclose(fp);
fileValue[strcspn(fileValue, "\r\n")] = '\0';
if (strcmp(fileValue, out_value) != 0)
{
if ( syscfg_set_commit( NULL, "wan_physical_ifname", fileValue ) != 0 )
strcpy(wanPhyName, "erouter0");
else
strncpy(wanPhyName,fileValue, sizeof(wanPhyName) - 1);
}
else
strncpy(wanPhyName, out_value, sizeof(wanPhyName) - 1);
}
else
strcpy(wanPhyName, "erouter0");
memset(&macAddr,0,sizeof(macaddr_t));
getInterfaceMacAddress(&macAddr,wanPhyName);
snprintf(wan_mac, sizeof(wan_mac), "%02x:%02x:%02x:%02x:%02x:%02x", macAddr.hw[0], macAddr.hw[1], macAddr.hw[2],
macAddr.hw[3], macAddr.hw[4], macAddr.hw[5]);

v_secure_system("syscfg get wan_physical_ifname > /tmp/wan_name.txt");
Copilot AI review requested due to automatic review settings July 20, 2026 22:54

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 1 out of 1 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (3)

source/TR-181/board_sbapi/cosa_ethernet_apis.c:3519

  • getInterfaceMacAddress() is called with wanPhyName before the bridge/interface named wanPhyName is created. If wanPhyName doesn't already exist, this leaves macAddr as 00:00:00:00:00:00 and then programs the bridge MAC to all-zero, which can break networking.
       memset(&macAddr,0,sizeof(macaddr_t));
       getInterfaceMacAddress(&macAddr,wanPhyName);
       memset(wan_mac,0,sizeof(wan_mac));
       snprintf(wan_mac, sizeof(wan_mac), "%02x:%02x:%02x:%02x:%02x:%02x", macAddr.hw[0], macAddr.hw[1], macAddr.hw[2],
                    macAddr.hw[3], macAddr.hw[4], macAddr.hw[5]);

source/TR-181/board_sbapi/cosa_ethernet_apis.c:3521

  • This command writes wan_physical_ifname to /tmp/wan_name.txt but the file is not read anywhere in this function, so it looks like leftover debug/bring-up code and adds an unnecessary side effect at boot.
       v_secure_system("syscfg get wan_physical_ifname > /tmp/wan_name.txt");

source/TR-181/board_sbapi/cosa_ethernet_apis.c:3468

  • The new RaspberryPi/Turris/BananaPi-R4 init path adds non-trivial logic (syscfg + /nvram persistence + bridge creation). There are gtests for this module, but no coverage for this new branch, making regressions (e.g., bad interface names, missing /nvram, bridge already exists) harder to catch.
   #if (defined(_PLATFORM_RASPBERRYPI_) || defined(_PLATFORM_TURRIS_) || defined(_PLATFORM_BANANAPI_R4_)) && !defined(FEATURE_RDKB_VLAN_MANAGER)

	   char wanPhyName[20] = {0},out_value[20] = {0},fileValue[20] = {0};
       FILE *fp = NULL;
       macaddr_t macAddr;

@anatar818 anatar818 changed the title RDKBACCL-1485: Verify configurable wan interface in BPI R4 RDKDEV-1455,RDKBACCL-1485: Verify configurable wan interface in BPI R4 Jul 21, 2026
@pradeeptakdas pradeeptakdas changed the title RDKDEV-1455,RDKBACCL-1485: Verify configurable wan interface in BPI R4 RDKCOM-5616: RDKBDEV-3470, RDKBACCL-1485: Verify configurable wan interface in BPI R4 Jul 21, 2026
@AkhilaReddyK7 AkhilaReddyK7 changed the title RDKCOM-5616: RDKBDEV-3470, RDKBACCL-1485: Verify configurable wan interface in BPI R4 RDKCOM-5616: RDKBDEV-3470: Verify configurable wan interface in BPI R4 Jul 23, 2026
@AkhilaReddyK7 AkhilaReddyK7 changed the title RDKCOM-5616: RDKBDEV-3470: Verify configurable wan interface in BPI R4 RDKCOM-5616: RDKBDEV-3470, RDKBACCL-1485: Verify configurable wan interface in BPI R4 Jul 23, 2026
@AkhilaReddyK7 AkhilaReddyK7 added the community-contribution Contribution from community label Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-contribution Contribution from community

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants