/* Check if it is a vlan packet */
if (ring->vlgrp && vid) {
struct net_device *vlan_dev = NULL;
- struct vlan_dev_info *vlan_info = NULL;
-
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 21))
+
vlan_dev =
vlan_group_get_device(ring->vlgrp, vid);
#else
+ struct vlan_dev_info *vlan_info = NULL;
vlan_dev = ring->vlgrp->vlan_devices[vid];
#endif
if (!vlan_dev)
goto donot_aggr;
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27))
+ if (vlan_dev_real_dev(vlan_dev) != ring->dev)
+ return 0;
+#else
vlan_info =
(struct vlan_dev_info *)(vlan_dev->priv);
if (!vlan_info)
/* Is this a registered vlan? */
if (vlan_info->real_dev == ring->dev)
return 0;
+#endif
}
donot_aggr: