[dpdk-dev] [PATCH v2] kni: Add set_rx_mode callback to handle multicast groups
Zhang, Helin
helin.zhang at intel.com
Tue Jun 2 09:31:44 CEST 2015
> -----Original Message-----
> From: Simon Kagstrom [mailto:simon.kagstrom at netinsight.net]
> Sent: Tuesday, June 2, 2015 3:22 PM
> To: dev at dpdk.org; Zhang, Helin; stephen at networkplumber.org
> Subject: [PATCH v2] kni: Add set_rx_mode callback to handle multicast groups
>
> We did some (very basic) tests with IGMP, which involves adding multicast
> addresses to ETH interfaces. This is done via the ip tool, an example can be found
> on e.g.,
>
>
> http://superuser.com/questions/324824/linux-built-in-or-open-source-program-
> to-join-multicast-group
>
> and this will fail on KNI interfaces because of an unimplemented ioctl
> SIOCADDMULTI. The patch simply adds an empty callback for set_rx_mode
> (typically used for setting up hardware) so that the ioctl succeeds.
> This is the same thing as the Linux tap interface does.
>
> Signed-off-by: Simon Kagstrom <simon.kagstrom at netinsight.net>
> Signed-off-by: Johan Faltstrom <johan.faltstrom at netinsight.net>
Acked-by: Helin Zhang <helin.zhang at intel.com>
> ---
> ChangeLog:
>
> v2: Improve motivation for the patch
>
> lib/librte_eal/linuxapp/kni/kni_net.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c
> b/lib/librte_eal/linuxapp/kni/kni_net.c index dd95db5..cf93c4b 100644
> --- a/lib/librte_eal/linuxapp/kni/kni_net.c
> +++ b/lib/librte_eal/linuxapp/kni/kni_net.c
> @@ -495,6 +495,11 @@ kni_net_ioctl(struct net_device *dev, struct ifreq *rq, int
> cmd) return 0; }
>
> +static void
> +kni_net_set_rx_mode(struct net_device *dev) { }
> +
> static int
> kni_net_change_mtu(struct net_device *dev, int new_mtu) { @@ -645,6
> +650,7 @@ static const struct net_device_ops kni_net_netdev_ops =
> { .ndo_start_xmit = kni_net_tx,
> .ndo_change_mtu = kni_net_change_mtu,
> .ndo_do_ioctl = kni_net_ioctl,
> + .ndo_set_rx_mode = kni_net_set_rx_mode,
> .ndo_get_stats = kni_net_stats,
> .ndo_tx_timeout = kni_net_tx_timeout,
> .ndo_set_mac_address = kni_net_set_mac,
> --
> 1.9.1
More information about the dev
mailing list