Hi Alfredo,
Thank you for the quick update!
We have switched to the Linux kernel 4.4.12 for now.
Compilation process was fine here. I will test the complete systems
later today or next week.
I checked the changes on GitHub.
The fix seems to ignore the tc->type value.
According to the kernel 4.6 source code:
- TC_SETUP_CLSU32 is handled by the newer drivers.
- TC_SETUP_MQPRIO needs to be checked before actually performing the ix
gbe_setup_tc.
Maybe only the latter is sufficient for PF_RING support?
I'm not aware what happens if TC_SETUP_CLSU32 is handled as if it was T
C_SETUP_MQPRIO...
See below code from 4.6.2 kernel:
static int __ixgbe_setup_tc(struct net_device *dev, u32 handle, __be16
proto,
                            struct tc_to_netdev *tc)
{
        struct ixgbe_adapter *adapter = netdev_priv(dev);

        if (TC_H_MAJ(handle) == TC_H_MAJ(TC_H_INGRESS) &&
            tc->type == TC_SETUP_CLSU32) {
                switch (tc->cls_u32->command) {
                case TC_CLSU32_NEW_KNODE:
                case TC_CLSU32_REPLACE_KNODE:
                        return ixgbe_configure_clsu32(adapter,
                                                      proto, tc->cls_u32);
                case TC_CLSU32_DELETE_KNODE:
                        return ixgbe_delete_clsu32(adapter, tc->cls_u32);
                case TC_CLSU32_NEW_HNODE:
                case TC_CLSU32_REPLACE_HNODE:
                        return ixgbe_configure_clsu32_add_hnode(adapter, proto,
                                                                tc->cls_u32);
                case TC_CLSU32_DELETE_HNODE:
                        return ixgbe_configure_clsu32_del_hnode(adapter,
                                                                tc->cls_u32);
                default:
                        return -EINVAL;
                }
        }

        if (tc->type != TC_SETUP_MQPRIO)
                return -EINVAL;

        return ixgbe_setup_tc(dev, tc->tc);
}

With best regards,
Tom.

-- 

| [email protected]
|
| Tom Ghyselinck
| Senior Engineer
| Excentis N.V.
| Gildestraat 8 B-9000 Ghent, Belgium
| Tel: +32 9 269 22 91 - Fax: +32 9 329 31 74
On vr, 2016-06-10 at 12:46 +0200, Alfredo Cardigliano wrote:
> Hi Tom
> there a fix for this on github.
> 
> Regards
> Alfredo
> 
> > On 09 Jun 2016, at 10:02, Tom Ghyselinck 
> > om> wrote:
> > 
> > Hi Alfredo,
> > 
> > Thank you very much for the prompt reply!
> > 
> > We will check if we can use the LTS kernel then for now.
> > 
> > With best regards,
> > Tom.
> > 
> > -- 
> > 
> > | [email protected]
> > |
> > | Tom Ghyselinck
> > | Senior Engineer
> > | Excentis N.V.
> > | Gildestraat 8 B-9000 Ghent, Belgium
> > | Tel: +32 9 269 22 91 - Fax: +32 9 329 31 74
> > 
> > On do, 2016-06-09 at 09:52 +0200, Alfredo Cardigliano wrote:
> > > Hi Tom
> > > we will patch latest ixgbe driver soon (btw, latest Intel driver
> > > is 4.4.6), however this is not high priority for us atm because
> > > we support LTS kernels.
> > > 
> > > Alfredo
> > > 
> > > > 
> > > > On 09 Jun 2016, at 09:35, Tom Ghyselinck 
> > > > is.com> wrote:
> > > > 
> > > > Hi all,
> > > > 
> > > > We need to compile (at least) the ixgbe and i40e drivers
> > > > from PF_RING 6.4.0 for kernel 4.6.1 (with RT patches rt3).
> > > > 
> > > > The compilation process shows warnings about incompatible
> > > > pointers
> > > > for e.g. '.ndo_setup_tc'. This is correct!
> > > > 
> > > > The current version of the ixgbe drivers in PF_RING is 4.1.5
> > > > which is rather old.
> > > > They officially support kernel version 2.6.x and 3.x (see https
> > > > ://downl
> > > > oadcenter.intel.com/download/25722/Network-Adapter-Driver-for-
> > > > PCI-E-
> > > > Intel-10-Gigabit-Ethernet-Network-Connections-under-Linux- )
> > > > 
> > > > The latest version is 4.3.15 (release date 4/5/2016). See https
> > > > ://downl
> > > > oadcenter.intel.com/download/14687/Network-Adapter-Driver-for-
> > > > PCI-E-
> > > > Intel-10-Gigabit-Ethernet-Network-Connections-under-Linux- .
> > > > I checked the source code. It still uses the incorrect "traffic
> > > > class"
> > > > setup function pointer.
> > > > 
> > > > The ixgbe driver in the 4.6.1 kernel source provides an
> > > > additional
> > > > function for the ixgbe driver, called '__ixgbe_setup_tc'. It
> > > > performs
> > > > some extra steps and requires some additional functions too.
> > > > 
> > > > Has someone verified support for the 4.6 kernel already?
> > > > What is the best way to continue here?
> > > > 
> > > > Thank you in advance!
> > > > 
> > > > With best regards,
> > > > Tom.
> > > > 
> > > >  --
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > > 
> > > > > [email protected]
> > > > > 
> > > > > 
> > > > > 
> > > > > Tom Ghyselinck
> > > > > 
> > > > > Senior Engineer
> > > > > 
> > > > > Excentis N.V.
> > > > > 
> > > > > Gildestraat 8 B-9000 Ghent, Belgium
> > > > > 
> > > > > Tel: +32 9 269 22 91 - Fax: +32 9 329 31 74
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
_______________________________________________
Ntop mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop

Reply via email to