diff --git a/include/openthread/instance.h b/include/openthread/instance.h index 5c69dfe8aa39..6c88dfab27d9 100644 --- a/include/openthread/instance.h +++ b/include/openthread/instance.h @@ -53,7 +53,7 @@ extern "C" { * @note This number versions both OpenThread platform and user APIs. * */ -#define OPENTHREAD_API_VERSION (420) +#define OPENTHREAD_API_VERSION (421) /** * @addtogroup api-instance diff --git a/include/openthread/ip6.h b/include/openthread/ip6.h index 2636702b4df6..4d1f3ce6021e 100644 --- a/include/openthread/ip6.h +++ b/include/openthread/ip6.h @@ -381,27 +381,6 @@ otError otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Addre */ const otNetifMulticastAddress *otIp6GetMulticastAddresses(otInstance *aInstance); -/** - * Checks if multicast promiscuous mode is enabled on the Thread interface. - * - * @param[in] aInstance A pointer to an OpenThread instance. - * - * @sa otIp6SetMulticastPromiscuousEnabled - * - */ -bool otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance); - -/** - * Enables or disables multicast promiscuous mode on the Thread interface. - * - * @param[in] aInstance A pointer to an OpenThread instance. - * @param[in] aEnabled TRUE to enable Multicast Promiscuous mode, FALSE otherwise. - * - * @sa otIp6IsMulticastPromiscuousEnabled - * - */ -void otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled); - /** * Allocate a new message buffer for sending an IPv6 message. * diff --git a/src/cli/README.md b/src/cli/README.md index 272d4063fdcc..b99f4250cbbc 100644 --- a/src/cli/README.md +++ b/src/cli/README.md @@ -1767,34 +1767,6 @@ ff32:40:fdde:ad00:beef:0:0:1 Done ``` -### ipmaddr promiscuous - -Get multicast promiscuous mode. - -```bash -> ipmaddr promiscuous -Disabled -Done -``` - -### ipmaddr promiscuous enable - -Enable multicast promiscuous mode. - -```bash -> ipmaddr promiscuous enable -Done -``` - -### ipmaddr promiscuous disable - -Disable multicast promiscuous mode. - -```bash -> ipmaddr promiscuous disable -Done -``` - ### ipmaddr rlatn Get the Realm-Local All Thread Nodes multicast address. diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index d70978872bfc..ea02362bfbdc 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -3365,35 +3365,6 @@ template <> otError Interpreter::Process(Arg aArgs[]) SuccessOrExit(error = aArgs[1].ParseAsIp6Address(address)); error = otIp6UnsubscribeMulticastAddress(GetInstancePtr(), &address); } - /** - * @cli ipmaddr promiscuous - * @code - * ipmaddr promiscuous - * Disabled - * Done - * @endcode - * @par api_copy - * #otIp6IsMulticastPromiscuousEnabled - */ - else if (aArgs[0] == "promiscuous") - { - /** - * @cli ipmaddr promiscuous (enable,disable) - * @code - * ipmaddr promiscuous enable - * Done - * @endcode - * @code - * ipmaddr promiscuous disable - * Done - * @endcode - * @cparam ipmaddr promiscuous @ca{enable|disable} - * @par api_copy - * #otIp6SetMulticastPromiscuousEnabled - */ - error = - ProcessEnableDisable(aArgs + 1, otIp6IsMulticastPromiscuousEnabled, otIp6SetMulticastPromiscuousEnabled); - } /** * @cli ipmaddr llatn * @code diff --git a/src/core/api/ip6_api.cpp b/src/core/api/ip6_api.cpp index 5ca4f50d9f9c..29fee9da325c 100644 --- a/src/core/api/ip6_api.cpp +++ b/src/core/api/ip6_api.cpp @@ -105,16 +105,6 @@ otError otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Addre return AsCoreType(aInstance).Get().UnsubscribeExternalMulticast(AsCoreType(aAddress)); } -bool otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance) -{ - return AsCoreType(aInstance).Get().IsMulticastPromiscuousEnabled(); -} - -void otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled) -{ - AsCoreType(aInstance).Get().SetMulticastPromiscuous(aEnabled); -} - void otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext) { AsCoreType(aInstance).Get().SetReceiveDatagramCallback(aCallback, aCallbackContext); diff --git a/src/core/net/ip6.cpp b/src/core/net/ip6.cpp index 0740e11a3559..9e8b410c2bf1 100644 --- a/src/core/net/ip6.cpp +++ b/src/core/net/ip6.cpp @@ -1122,10 +1122,6 @@ Error Ip6::HandleDatagram(OwnedPtr aMessagePtr, bool aIsReassembled) { receive = true; } - else if (Get().IsMulticastPromiscuousEnabled()) - { - forwardHost = true; - } } else { diff --git a/src/core/net/netif.cpp b/src/core/net/netif.cpp index 3e103312bf64..27d6f23654b8 100644 --- a/src/core/net/netif.cpp +++ b/src/core/net/netif.cpp @@ -85,7 +85,6 @@ const otNetifMulticastAddress Netif::kLinkLocalAllRoutersMulticastAddress = { Netif::Netif(Instance &aInstance) : InstanceLocator(aInstance) - , mMulticastPromiscuous(false) { } diff --git a/src/core/net/netif.hpp b/src/core/net/netif.hpp index a736df8e4e55..4428a477630e 100644 --- a/src/core/net/netif.hpp +++ b/src/core/net/netif.hpp @@ -612,23 +612,6 @@ class Netif : public InstanceLocator, private NonCopyable */ void UnsubscribeAllExternalMulticastAddresses(void); - /** - * Checks if multicast promiscuous mode is enabled on the network interface. - * - * @retval TRUE If the multicast promiscuous mode is enabled. - * @retval FALSE If the multicast promiscuous mode is disabled. - * - */ - bool IsMulticastPromiscuousEnabled(void) const { return mMulticastPromiscuous; } - - /** - * Enables multicast promiscuous mode on the network interface. - * - * @param[in] aEnabled TRUE if Multicast Promiscuous mode is enabled, FALSE otherwise. - * - */ - void SetMulticastPromiscuous(bool aEnabled) { mMulticastPromiscuous = aEnabled; } - /** * Enables range-based `for` loop iteration over external multicast addresses on the Netif that matches * a given IPv6 address type filter. @@ -702,7 +685,6 @@ class Netif : public InstanceLocator, private NonCopyable LinkedList mUnicastAddresses; LinkedList mMulticastAddresses; - bool mMulticastPromiscuous; Callback mAddressCallback; diff --git a/tests/scripts/expect/cli-ipmaddr.exp b/tests/scripts/expect/cli-ipmaddr.exp index 0c9babd6df2e..448acca1ce44 100755 --- a/tests/scripts/expect/cli-ipmaddr.exp +++ b/tests/scripts/expect/cli-ipmaddr.exp @@ -59,15 +59,6 @@ send "ipmaddr del ff0e::1\n" expect_line "Done" send "ipmaddr del ff0e::1\n" expect "Error 23: NotFound" -send "ipmaddr promiscuous enable\n" -expect_line "Done" -send "ipmaddr promiscuous\n" -expect "Enabled" -expect_line "Done" -send "ipmaddr promiscuous disable\n" -expect_line "Done" -send "ipmaddr promiscuous\n" -expect "Disabled" expect_line "Done" send "ipmaddr something_invalid\n" expect "Error 35: InvalidCommand" diff --git a/tools/otci/otci/otci.py b/tools/otci/otci/otci.py index e60acf8eedd9..46a73734db26 100644 --- a/tools/otci/otci/otci.py +++ b/tools/otci/otci/otci.py @@ -1946,18 +1946,6 @@ def has_ipmaddr(self, ip: Union[str, ipaddress.IPv6Address]): """Check if a IPv6 multicast address was subscribed by the Thread interface.""" return ip in self.get_ipmaddrs() - def get_ipmaddr_promiscuous(self) -> bool: - """Get multicast promiscuous mode.""" - return self.__parse_Enabled_or_Disabled(self.execute_command("ipmaddr promiscuous")) - - def enable_ipmaddr_promiscuous(self): - """Enable multicast promiscuous mode.""" - self.execute_command('ipmaddr promiscuous enable') - - def disable_ipmaddr_promiscuous(self): - """Disable multicast promiscuous mode.""" - self.execute_command('ipmaddr promiscuous disable') - def get_ipmaddr_llatn(self) -> Ip6Addr: """Get Link Local All Thread Nodes Multicast Address""" return self.__parse_ip6addr(self.execute_command('ipmaddr llatn')) diff --git a/tools/otci/tests/test_otci.py b/tools/otci/tests/test_otci.py index 011c8a3796d4..d065867aabc2 100644 --- a/tools/otci/tests/test_otci.py +++ b/tools/otci/tests/test_otci.py @@ -257,12 +257,6 @@ def _test_otci_single_node(self, leader): logging.info("EID-to-RLOC cache: %r", leader.get_eidcache()) - logging.info("ipmaddr promiscuous: %r", leader.get_ipmaddr_promiscuous()) - leader.enable_ipmaddr_promiscuous() - self.assertTrue(leader.get_ipmaddr_promiscuous()) - leader.disable_ipmaddr_promiscuous() - self.assertFalse(leader.get_ipmaddr_promiscuous()) - logging.info("leader data: %r", leader.get_leader_data()) logging.info("leader neighbor list: %r", leader.get_neighbor_list()) logging.info("leader neighbor table: %r", leader.get_neighbor_table())