Skip to content

Commit

Permalink
[netif] remove multicast promiscuous mode configuration
Browse files Browse the repository at this point in the history
Since 74c833b was introduced all IPv6
multicast packets are passed to the host. Previously used promiscuous
mode configuration is now unused. This commit removes the dead code and
corresponding elements as there is no use case for them at the moment
(and they can confuse a user).

Signed-off-by: Konrad Derda <[email protected]>
  • Loading branch information
konradderda committed Jun 4, 2024
1 parent ea61703 commit d69bc5d
Show file tree
Hide file tree
Showing 7 changed files with 1 addition and 84 deletions.
2 changes: 1 addition & 1 deletion include/openthread/instance.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ extern "C" {
* @note This number versions both OpenThread platform and user APIs.
*
*/
#define OPENTHREAD_API_VERSION (417)
#define OPENTHREAD_API_VERSION (418)

/**
* @addtogroup api-instance
Expand Down
21 changes: 0 additions & 21 deletions include/openthread/ip6.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*
Expand Down
29 changes: 0 additions & 29 deletions src/cli/cli.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3365,35 +3365,6 @@ template <> otError Interpreter::Process<Cmd("ipmaddr")>(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
Expand Down
10 changes: 0 additions & 10 deletions src/core/api/ip6_api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,16 +105,6 @@ otError otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Addre
return AsCoreType(aInstance).Get<ThreadNetif>().UnsubscribeExternalMulticast(AsCoreType(aAddress));
}

bool otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
{
return AsCoreType(aInstance).Get<ThreadNetif>().IsMulticastPromiscuousEnabled();
}

void otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
{
AsCoreType(aInstance).Get<ThreadNetif>().SetMulticastPromiscuous(aEnabled);
}

void otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
{
AsCoreType(aInstance).Get<Ip6::Ip6>().SetReceiveDatagramCallback(aCallback, aCallbackContext);
Expand Down
4 changes: 0 additions & 4 deletions src/core/net/ip6.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1122,10 +1122,6 @@ Error Ip6::HandleDatagram(OwnedPtr<Message> aMessagePtr, bool aIsReassembled)
{
receive = true;
}
else if (Get<ThreadNetif>().IsMulticastPromiscuousEnabled())
{
forwardHost = true;
}
}
else
{
Expand Down
1 change: 0 additions & 1 deletion src/core/net/netif.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ const otNetifMulticastAddress Netif::kLinkLocalAllRoutersMulticastAddress = {

Netif::Netif(Instance &aInstance)
: InstanceLocator(aInstance)
, mMulticastPromiscuous(false)
{
}

Expand Down
18 changes: 0 additions & 18 deletions src/core/net/netif.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -702,7 +685,6 @@ class Netif : public InstanceLocator, private NonCopyable

LinkedList<UnicastAddress> mUnicastAddresses;
LinkedList<MulticastAddress> mMulticastAddresses;
bool mMulticastPromiscuous;

Callback<otIp6AddressCallback> mAddressCallback;

Expand Down

0 comments on commit d69bc5d

Please sign in to comment.