5353#include "ccsp_memory.h"
5454#endif
5555
56+ #ifdef _ONESTACK_PRODUCT_REQ_
57+ #include <rdkb_feature_mode_gate.h>
58+ #endif
5659#ifdef _HUB4_PRODUCT_REQ_
5760#include "ccsp_dm_api.h"
5861#include "ccsp_custom.h"
@@ -391,10 +394,21 @@ STATIC int get_dhcpv6s_pool_cfg(struct serv_ipv6 *si6, dhcpv6s_pool_cfg_t *cfg)
391394 DHCPV6S_SYSCFG_GETI (DHCPV6S_NAME , "pool" , cfg -> index , "" , 0 , "X_RDKCENTRAL_COM_DNSServersEnabled" , cfg -> X_RDKCENTRAL_COM_DNSServersEnabled );
392395
393396#ifdef MULTILAN_FEATURE
394- #ifdef CISCO_CONFIG_DHCPV6_PREFIX_DELEGATION
395- DHCPV6S_SYSCFG_GETS (DHCPV6S_NAME , "pool" , cfg -> index , "" , 0 , "IAInterface" , iface_name );
396- #else
397- DHCPV6S_SYSCFG_GETS (DHCPV6S_NAME , "pool" , cfg -> index , "" , 0 , "Interface" , iface_name );
397+ #if defined(CISCO_CONFIG_DHCPV6_PREFIX_DELEGATION ) || defined(_ONESTACK_PRODUCT_REQ_ )
398+ #if defined(_ONESTACK_PRODUCT_REQ_ )
399+ if (isFeatureSupportedInCurrentMode (FEATURE_IPV6_DELEGATION ) == true)
400+ #endif
401+ {
402+ DHCPV6S_SYSCFG_GETS (DHCPV6S_NAME , "pool" , cfg -> index , "" , 0 , "IAInterface" , iface_name );
403+ }
404+ #endif
405+ #if !defined(CISCO_CONFIG_DHCPV6_PREFIX_DELEGATION ) || defined(_ONESTACK_PRODUCT_REQ_ )
406+ #if defined(_ONESTACK_PRODUCT_REQ_ )
407+ if (isFeatureSupportedInCurrentMode (FEATURE_IPV6_DELEGATION ) == false)
408+ #endif
409+ {
410+ DHCPV6S_SYSCFG_GETS (DHCPV6S_NAME , "pool" , cfg -> index , "" , 0 , "Interface" , iface_name );
411+ }
398412#endif
399413#else
400414 DHCPV6S_SYSCFG_GETS (DHCPV6S_NAME , "pool" , cfg -> index , "" , 0 , "IAInterface" , cfg -> interface );
@@ -606,7 +620,7 @@ STATIC int get_prefix_info(const char *prefix, char *value, unsigned int val_le
606620STATIC int get_active_lanif (struct serv_ipv6 * si6 , unsigned int insts [], unsigned int * num )
607621{
608622 int i = 0 ;
609- #if !defined(MULTILAN_FEATURE ) || defined CISCO_CONFIG_DHCPV6_PREFIX_DELEGATION
623+ #if !defined(MULTILAN_FEATURE ) || defined CISCO_CONFIG_DHCPV6_PREFIX_DELEGATION || defined( _ONESTACK_PRODUCT_REQ_ )
610624 char active_insts [32 ] = {0 };
611625 char lan_pd_if [128 ] = {0 };
612626 char * p = NULL ;
@@ -628,7 +642,11 @@ STATIC int get_active_lanif(struct serv_ipv6 *si6, unsigned int insts[], unsigne
628642 unsigned int max_active_if_count = 0 ;
629643 int primary_l3_instance = 0 ;
630644
631- #ifdef CISCO_CONFIG_DHCPV6_PREFIX_DELEGATION
645+ #if defined(CISCO_CONFIG_DHCPV6_PREFIX_DELEGATION ) || defined(_ONESTACK_PRODUCT_REQ_ )
646+ #if defined(_ONESTACK_PRODUCT_REQ_ )
647+ if (isFeatureSupportedInCurrentMode (FEATURE_IPV6_DELEGATION ))
648+ #endif
649+ {
632650 syscfg_get (NULL , "lan_pd_interfaces" , lan_pd_if , sizeof (lan_pd_if ));
633651 if (lan_pd_if [0 ] == '\0' ) {
634652 * num = 0 ;
@@ -648,7 +666,14 @@ STATIC int get_active_lanif(struct serv_ipv6 *si6, unsigned int insts[], unsigne
648666
649667 p = strtok (NULL , " " );
650668 }
651- #else
669+ }
670+ #endif
671+ #if !defined(CISCO_CONFIG_DHCPV6_PREFIX_DELEGATION ) || defined(_ONESTACK_PRODUCT_REQ_ )
672+ #if defined(_ONESTACK_PRODUCT_REQ_ )
673+ if (!isFeatureSupportedInCurrentMode (FEATURE_IPV6_DELEGATION ))
674+ #endif
675+ {
676+
652677 /* Get active bridge count from PSM */
653678 if (!bus_handle ) {
654679 fprintf (stderr , "DBUS not connected, returning \n" );
@@ -718,6 +743,7 @@ STATIC int get_active_lanif(struct serv_ipv6 *si6, unsigned int insts[], unsigne
718743 }
719744 /* Set active IPv6 instances */
720745 sysevent_set (si6 -> sefd , si6 -> setok , "ipv6_active_inst" , active_if_list , 0 );
746+ }
721747#endif
722748
723749
0 commit comments