An application should be able to interrogate network interface capabilities and current configurations (e.g. link speed, unicast MAC address(es)).
It should also be possible to configure the interface (especially the MAC, possibly but unlikely the PHY), I was thinking of unicast and multicast addresses but some of this might be handled by the classification API. If an application uses the classification API (which configures the classifier function, however that is implemented) to select packets sent to a specific unicast or multicast MAC address, will the ODP implementation then also configure the MAC (which is likely separate from the classifier) to filter matching packets? Or is MAC-level configuration the responsibility of the application using a separate API? I think it is more flexible to program MAC address filtering (and promiscuous mode is a type of MAC address filtering) using the classification API and let the ODP implementation handle the details of which HW blocks need to be configured. On 21 August 2014 12:25, Santosh Shukla <[email protected]> wrote: > On 21 August 2014 15:47, Venkatesh Vivekanandan > <[email protected]> wrote: > > > > > > > > On 21 August 2014 15:16, Ola Liljedahl <[email protected]> wrote: > >> > >> This command line option would be interpreted by the application. But > the > >> application needs a function for setting an interface (pktio instance) > in > >> promiscuous mode. Yet another missing piece of API. > >> > > Yes, we don't have say odp_pktio_promisc_enable/disable(). This is what I > > was talking about in yesterday's call as, we miss a bunch of functions in > > supporting the network interface. I will send out a list of functions > that > > we might need. > > That list nothing device capability or ethtool Ops :) in general as > discussed in chat with you. Ola, is this what your referring too? > > > > >> > >> > >> On 21 August 2014 11:27, Venkatesh Vivekanandan > >> <[email protected]> wrote: > >>> > >>> > >>> > >>> > >>> On 21 August 2014 14:27, Santosh Shukla <[email protected]> > >>> wrote: > >>>> > >>>> On 21 August 2014 14:24, Ola Liljedahl <[email protected]> > wrote: > >>>> > You are not always setting promiscuous mode on network interfaces in > >>>> > ODP/linux-dpdk? Promiscuous mode should only be enabled when the > >>>> > application > >>>> > requires it. The l2fwd (is this the DPDK port? "passthrough" would > be > >>>> > a > >>>> > better name) application could have a command line option which > >>>> > requests > >>>> > promiscuous mode on the used network interfaces. > >>>> > > >>>> > >>>> Even better. Make sense to me. I'll spin the patch and do the changes > >>>> in l2fwd cli interface accordingly. > >>>> > >>> There is no way one can pass the command line parameters to the > >>> implementation currently, once that gets in then we can make it a user > >>> configurable parameter. For now, we don't have a choice other than > keeping > >>> them enabled. > >>> > >>>> > >>>> > > >>>> > On 21 August 2014 08:57, Santosh Shukla <[email protected]> > >>>> > wrote: > >>>> >> > >>>> >> Noticed that enabling promiscous mode helps l2fwd application work > >>>> >> with > >>>> >> pktgen > >>>> >> or dpdk-pktgen > >>>> >> > >>>> >> Suggested-by: Venkatesh Vivekanandan > >>>> >> <[email protected]> > >>>> >> Signed-off-by: Santosh Shukla <[email protected]> > >>>> >> --- > >>>> >> platform/linux-dpdk/odp_packet_dpdk.c | 3 +++ > >>>> >> 1 file changed, 3 insertions(+) > >>>> >> > >>>> >> diff --git a/platform/linux-dpdk/odp_packet_dpdk.c > >>>> >> b/platform/linux-dpdk/odp_packet_dpdk.c > >>>> >> index d5c8e80..92edac5 100644 > >>>> >> --- a/platform/linux-dpdk/odp_packet_dpdk.c > >>>> >> +++ b/platform/linux-dpdk/odp_packet_dpdk.c > >>>> >> @@ -135,6 +135,9 @@ int setup_pkt_dpdk(pkt_dpdk_t * const pkt_dpdk, > >>>> >> const > >>>> >> char *netdev, > >>>> >> ODP_DBG("dpdk tx queue setup done\n"); > >>>> >> } > >>>> >> > >>>> >> + /* Enable promiscous mode */ > >>>> >> + rte_eth_promiscuous_enable(portid); > >>>> >> + > >>>> >> /* Start device */ > >>>> >> ret = rte_eth_dev_start(portid); > >>>> >> if (ret < 0) > >>>> >> -- > >>>> >> 1.7.9.5 > >>>> >> > >>>> >> > >>>> >> _______________________________________________ > >>>> >> lng-odp mailing list > >>>> >> [email protected] > >>>> >> http://lists.linaro.org/mailman/listinfo/lng-odp > >>>> > > >>>> > > >>>> > >>>> _______________________________________________ > >>>> lng-odp mailing list > >>>> [email protected] > >>>> http://lists.linaro.org/mailman/listinfo/lng-odp > >>> > >>> > >> > > >
_______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
