Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
8a6345d
XYZ-999 : ConfigurableWanName for XB
S-Parthiban-Selvaraj Jul 16, 2024
03d4221
Adding WanManager version log
S-Parthiban-Selvaraj Jul 16, 2024
7c64ad1
Adding WanManager Version log
S-Parthiban-Selvaraj Jul 17, 2024
f3dd4d8
Merge branch 'main' into configurable_wan_interface_for_XB
S-Parthiban-Selvaraj Jul 22, 2024
d072a94
Handling IPv6 IANA and IAPD separately
S-Parthiban-Selvaraj Jul 30, 2024
9b1e269
Merge branch 'main' into configurable_wan_interface_for_XB
S-Parthiban-Selvaraj Jul 30, 2024
c124798
Workaround to fix Force toggle
S-Parthiban-Selvaraj Jul 31, 2024
3a84b22
Adding funtions for Router solicit and parsing RA
S-Parthiban-Selvaraj Aug 2, 2024
62c630b
RS RA funtions clean up
S-Parthiban-Selvaraj Aug 2, 2024
b8aea40
Replace toggle funtion with send RS function
S-Parthiban-Selvaraj Aug 2, 2024
1e13651
Adding variables to store the default route value.
S-Parthiban-Selvaraj Aug 7, 2024
0e0ba2d
Fix ipv6 toggle calling
S-Parthiban-Selvaraj Aug 8, 2024
f0bd16d
Fixing lan prefix sysvent and LAN_MANAGER build flag
S-Parthiban-Selvaraj Aug 12, 2024
f45f83c
Fix for LAN manager stateful server restart
S-Parthiban-Selvaraj Aug 13, 2024
dd2db9c
Fixing build error for sky and cleanup
S-Parthiban-Selvaraj Aug 14, 2024
ff18e4b
Code clean up
S-Parthiban-Selvaraj Aug 14, 2024
6dd2568
Moving default route to a new struct independent of DHCPv6 data
S-Parthiban-Selvaraj Aug 15, 2024
7f06a7c
replacing RS and RA funtion with rdisc6 utility
S-Parthiban-Selvaraj Aug 15, 2024
7828845
removing checkIpv6AddressAssignedToBridge function
S-Parthiban-Selvaraj Aug 15, 2024
a176136
Merge branch 'main' into configurable_wan_interface_for_XB
S-Parthiban-Selvaraj Aug 19, 2024
5c6acd8
Cleaning up RestartV6Client workaround created for restarting Ipv6 cl…
S-Parthiban-Selvaraj Aug 19, 2024
bf284f6
Fixing Connectivity check restart in standby mode
S-Parthiban-Selvaraj Aug 19, 2024
2ab8724
Fixing duplicate registrtion of the remote virtual interface to rbus.
S-Parthiban-Selvaraj Aug 29, 2024
8bb4369
Merge branch 'main' into configurable_wan_interface_for_XB
S-Parthiban-Selvaraj Oct 2, 2024
f55d1b5
Fixing IPv6 default route teardoen for Comcast Xfinity devices.
S-Parthiban-Selvaraj Oct 9, 2024
d312132
Fixing Virtual interface status if MAP fails( SKY requirement)
S-Parthiban-Selvaraj Oct 10, 2024
2645592
RDKB-57266 : Workaround to retrieve the correct interface with an act…
S-Parthiban-Selvaraj Oct 15, 2024
08d79e1
RDKB-57269 : Cleaning MAPT workaround added in WanUnification task
S-Parthiban-Selvaraj Oct 15, 2024
0802ac5
RDKB-57266 : Fixing IP.Interface Lowerlayer dml for Comcast devices
S-Parthiban-Selvaraj Oct 15, 2024
ab841a4
Merge branch 'main' into feature-MAPT-Unification
S-Parthiban-Selvaraj Oct 17, 2024
9384b5a
Virtual interface name DML set clean up
S-Parthiban-Selvaraj Oct 17, 2024
dcc4531
RDKB-57269 : MAPT handling when only IANA renewed.
S-Parthiban-Selvaraj Oct 18, 2024
842125d
RDKB-57269 : Handling IPv4 DNS teardown for comcast builds.
S-Parthiban-Selvaraj Oct 21, 2024
e9d4743
RDKB-57269 : Move MAPT parsing APIs to WanManager
S-Parthiban-Selvaraj Oct 22, 2024
c7c4892
RDKB-57269 : MAPT APIs file cleanup.
S-Parthiban-Selvaraj Oct 22, 2024
c809027
Solving compilation error in Configurable wna name disabled builds
S-Parthiban-Selvaraj Oct 22, 2024
78211db
Deleting temp make file
S-Parthiban-Selvaraj Oct 22, 2024
d65deed
RDKB-57269 : Moving DHCPv6 client message handler API to WanManager
S-Parthiban-Selvaraj Oct 23, 2024
38038da
WanMgr_MaptParseOpt95Response cleanup
S-Parthiban-Selvaraj Oct 24, 2024
99488a3
Removing unnecessory APIs
S-Parthiban-Selvaraj Oct 24, 2024
df36c4a
Adding Comcast workaround for IPv4 DNS in Ethernet Wan
S-Parthiban-Selvaraj Oct 24, 2024
ceb1ca2
Fixing IP.Ipv6Changed in standby mode
S-Parthiban-Selvaraj Oct 25, 2024
9966ecf
Fixing PHY toggle sync issue in Autowan mode.
S-Parthiban-Selvaraj Oct 29, 2024
1f87a30
Fixing comments
S-Parthiban-Selvaraj Nov 8, 2024
92faa23
Merge branch 'main' into feature-MAPT-Unification
S-Parthiban-Selvaraj Nov 13, 2024
b210936
Do not add prefix on LAN bridge for the Comcast platforms. Adding Pro…
S-Parthiban-Selvaraj Nov 14, 2024
715f5ca
This is the change to create WAN ipv6 address from the delegated pref…
S-Parthiban-Selvaraj Nov 15, 2024
0abe743
Fixing Prefix and length parsing
S-Parthiban-Selvaraj Nov 15, 2024
f229450
RDKB-50962 : Fixing wanshow syscfg sets
S-Parthiban-Selvaraj Nov 18, 2024
dfa93ba
Code cleanup
S-Parthiban-Selvaraj Nov 18, 2024
ba6daf0
Ipv6 addr assignment and sysevent set
S-Parthiban-Selvaraj Nov 18, 2024
60d5bb3
Adding net.netfilter.nf_conntrack_udp_timeout and net.netfilter.nf_co…
S-Parthiban-Selvaraj Dec 5, 2024
356fa90
Adding commenst for nf_conntrack_udp_timeout_stream
S-Parthiban-Selvaraj Dec 10, 2024
81e1c83
Merge branch 'main' into feature-MAPT-Unification
guto86 Dec 11, 2024
777eaa8
Merge branch 'feature-MAPT-Unification' into feature-wan_Ipv6_address…
S-Parthiban-Selvaraj Dec 24, 2024
e009be8
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Jan 13, 2025
c32564a
Including PSM changes for network configurations.
S-Parthiban-Selvaraj Jan 13, 2025
90b5283
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Jan 24, 2025
8d90cb3
Modifying IPOE healch echk apis
S-Parthiban-Selvaraj Jan 24, 2025
f37c08d
Fixing WanMgr_SendMsgToIHC funtion call
S-Parthiban-Selvaraj Jan 27, 2025
55f2c3f
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Jan 29, 2025
57e6d9c
Removing IPOE LAN dependancy changes
S-Parthiban-Selvaraj Feb 5, 2025
24a976c
Removing LAN bridge IPv6 deletion and life time update from the WanMa…
S-Parthiban-Selvaraj Feb 5, 2025
ef40e85
Fixing dhcpv6_assign_global_ip funtion name
S-Parthiban-Selvaraj Feb 7, 2025
d75a9a7
Modifying DAD check from LAn to WAn interface
S-Parthiban-Selvaraj Feb 7, 2025
414fd9d
Fixing SYSEVENT_IPV6_TOGGLE get
S-Parthiban-Selvaraj Feb 7, 2025
b7c30de
FEATURE_RDKB_CONFIGURABLE_WAN_INTERFACE compilation issue
S-Parthiban-Selvaraj Feb 7, 2025
287e1f7
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Jun 6, 2025
86ed474
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Jul 14, 2025
42bf6ea
Fixing Ipv6 addr delete
S-Parthiban-Selvaraj Jul 14, 2025
e0d8789
Fixing ipv6 lease refresh case
S-Parthiban-Selvaraj Jul 16, 2025
c1adbfb
DHCPManager support
S-Parthiban-Selvaraj Jul 23, 2025
2a5f4e8
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Jul 23, 2025
912fc65
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Sep 18, 2025
1b44dc1
Update wanmgr_dhcp_event_handler.c
S-Parthiban-Selvaraj Sep 18, 2025
ed6da65
Fixing the SYSCFG_FIELD_IPV6_PREFIX_ADDRESS syscfg
S-Parthiban-Selvaraj Jan 16, 2026
c8b4a7c
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Jan 19, 2026
e81e35e
Apply suggestions from code review
S-Parthiban-Selvaraj Jan 20, 2026
5079060
Fix condition check for handling IAPD in IPv6 lease processing
S-Parthiban-Selvaraj Jan 20, 2026
1398ead
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Feb 23, 2026
2754e4d
Apply suggestions from code review
S-Parthiban-Selvaraj Feb 23, 2026
b4bc3a5
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Apr 2, 2026
ca2eae1
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Apr 14, 2026
516ddbf
RDKB-58910 : Fix compilation errors on platforms without FEATURE_RDKB…
S-Parthiban-Selvaraj Apr 14, 2026
2ad55da
Merge branch 'main' into feature-wan_Ipv6_address_from_IAPD
S-Parthiban-Selvaraj Apr 24, 2026
d0b5898
1. Removed prefix.s6_addr[7] += 0x01 — No longer bumps to the next /6…
S-Parthiban-Selvaraj Apr 27, 2026
27cab43
Add NDP proxy management for WAN address in DHCPv6 APIs
S-Parthiban-Selvaraj Apr 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions source/TR-181/include/wanmgr_dml.h
Original file line number Diff line number Diff line change
Expand Up @@ -366,14 +366,12 @@ typedef struct _WANMGR_IPV6_DATA
uint32_t prefixVltime;
char sitePrefixOld[BUFLEN_48]; /**< add support for RFC7084 requirement L-13 */
uint32_t ipv6_TimeOffset;
#if defined(FEATURE_RDKB_CONFIGURABLE_WAN_INTERFACE)
/* Params to store the IPv6 IPC message */
bool addrAssigned;
bool addrAssigned; /**< Have we been assigned an IPv6 address ? */
uint32_t addrCmd;
bool prefixAssigned; /**< Have we been assigned a site prefix ? */
bool prefixAssigned; /**< Have we been assigned a site prefix ? */
uint32_t prefixCmd;
bool domainNameAssigned; /**< Have we been assigned dns server addresses ? */
#endif
} WANMGR_IPV6_DATA;

typedef struct _WANMGR_IPV6_RA_DATA
Expand Down
1 change: 0 additions & 1 deletion source/TR-181/middle_layer_src/wanmgr_rdkbus_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@ typedef struct _CONTEXT_LINK_OBJECT

#define DML_ALIAS_NAME_LENGTH 64
#define DML_DHCP_CLIENT_IFNAME "erouter0"
#define CFG_TR181_DHCPv6_SERVER_IfName "brlan0"


ANSC_STATUS SListPushEntryByInsNum (PSLIST_HEADER pListHead, PCONTEXT_LINK_OBJECT pLinkContext);
Expand Down
9 changes: 7 additions & 2 deletions source/WanManager/DHCPv6cMsgHandler/dhcpv6c_msg_apis.c
Original file line number Diff line number Diff line change
Expand Up @@ -733,14 +733,19 @@ static void * WanMgr_DhcpV6MsgHandler()
CcspTraceInfo(("%s %d Prefix Assigned\n", __FUNCTION__, __LINE__));
snprintf(dhcpv6_data.sitePrefix, sizeof(dhcpv6_data.sitePrefix), "%s/%d", v6pref, pref_len);

dhcpv6_data.prefixAssigned = TRUE;
strncpy(dhcpv6_data.pdIfAddress, "", sizeof(dhcpv6_data.pdIfAddress));
dhcpv6_data.prefixCmd = 0;
remove_single_quote(iapd_pretm);
remove_single_quote(iapd_vldtm);
sscanf(iapd_pretm, "%d", &(dhcpv6_data.prefixPltime));
sscanf(iapd_vldtm, "%d", &(dhcpv6_data.prefixVltime));

// Set prefixAssigned to TRUE only if both preferred and valid lifetimes are positive
if (dhcpv6_data.prefixPltime > 0 && dhcpv6_data.prefixVltime > 0)
{
dhcpv6_data.prefixAssigned = TRUE;
} else {
dhcpv6_data.prefixAssigned = FALSE;
}
//IPv6 prefix related sysevents
// Define the eventMaps array as before
Ipv6SyseventMap eventMaps[] = {
Expand Down
13 changes: 12 additions & 1 deletion source/WanManager/wanmgr_dhcp_event_handler.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,17 @@ static void copyDhcpv6Data(WANMGR_IPV6_DATA* pDhcpv6Data, const DHCP_MGR_IPV6_MS
pDhcpv6Data->prefixAssigned = leaseInfo->prefixAssigned;
pDhcpv6Data->domainNameAssigned = leaseInfo->domainNameAssigned;
pDhcpv6Data->ipv6_TimeOffset = leaseInfo->ipv6_TimeOffset;
if(!pDhcpv6Data->addrAssigned && pDhcpv6Data->prefixAssigned)
{
/* In an IPv6 lease, if only IAPD is received and we never received IANA,
* We can use the received IAPD to construct a Ipv6 /128 address which can be used for managerment and voice ...
Copy link

Copilot AI Apr 14, 2026

Choose a reason for hiding this comment

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

Typo in comment: “managerment” should be “management”.

Suggested change
* We can use the received IAPD to construct a Ipv6 /128 address which can be used for managerment and voice ...
* We can use the received IAPD to construct a Ipv6 /128 address which can be used for management and voice ...

Copilot uses AI. Check for mistakes.
* If we reach this point, only IAPD has been received. Calculate Wan Ipv6 address
*/

CcspTraceInfo(("IANA is not assigned by DHCPV6. Constructing WAN address from the IAPD for Wan Interface \n"));
wanmgr_construct_wan_address_from_IAPD(pDhcpv6Data);
}
Comment on lines 104 to +116
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

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

wanmgr_dhcp_event_handler.c calls wanmgr_construct_wan_address_from_IAPD() but does not include the header that declares it (wanmgr_dhcpv6_apis.h). This will rely on an implicit declaration in some toolchains (or fail to compile under C99/C11 with -Werror=implicit-function-declaration). Please include the proper header or add a forward declaration.

Copilot uses AI. Check for mistakes.

Comment on lines +107 to +117
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

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

copyDhcpv6Data is a copy/helper routine but now has side effects (it may call wanmgr_construct_wan_address_from_IAPD, which runs ip -6 addr add and sets sysevents). Since DHCPv6 lease updates can arrive multiple times, this risks repeatedly trying to add the same /128 address (and doing potentially slow system calls while holding DhcpClientEvents_mutex). Please keep copyDhcpv6Data pure and move the WAN-address construction to the event-handling logic with proper idempotency (e.g., use ip -6 addr replace or check if the address is already present before adding).

Suggested change
if(!pDhcpv6Data->addrAssigned && pDhcpv6Data->prefixAssigned)
{
/* In an IPv6 lease, if only IAPD is received and we never received IANA,
* We can use the received IAPD to construct a Ipv6 /128 address which can be used for managerment and voice ...
* If we reach this point, only IAPD has been received. Canculate Wan Ipv6 address
*/
CcspTraceInfo(("IANA is not assigned by DHCPV6. Constructing WAN address from the IAPD for Wan Interface \n"));
wanmgr_construct_wan_address_from_IAPD(pDhcpv6Data);
}

Copilot uses AI. Check for mistakes.
}

/*
Expand Down Expand Up @@ -209,7 +220,7 @@ void WanMgr_ProcessDhcpClientEvent(DhcpEventThreadArgs *eventData)
//TODO: Check for sysevents
if(pVirtIf->IP.Ipv6Data.prefixAssigned == TRUE)
{
WanManager_Ipv6PrefixUtil(pVirtIf->Name, SET_LFT, pVirtIf->IP.Ipv6Data.prefixPltime, pVirtIf->IP.Ipv6Data.prefixVltime);
WanManager_Ipv6AddrUtil(pVirtIf, SET_LFT);
sysevent_set(sysevent_fd, sysevent_token, SYSEVENT_RADVD_RESTART, NULL, 0);
}
CcspTraceInfo(("%s-%d : DHCPv6 lease renewed for %s\n", __FUNCTION__, __LINE__, pVirtIf->Name));
Expand Down
Loading
Loading