Index: trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
===================================================================
--- trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c	(revision 85588)
+++ trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c	(revision 85698)
@@ -35,5 +35,5 @@
 #include "revision-generated.h"
 #include "product-generated.h"
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
+#if RTLNX_VER_MIN(2,6,24)
 #include <linux/nsproxy.h>
 #endif
@@ -46,5 +46,5 @@
 #include <linux/ip.h>
 #include <linux/if_vlan.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)
+#if RTLNX_VER_MIN(4,5,0)
 #include <uapi/linux/pkt_cls.h>
 #endif
@@ -90,5 +90,5 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
+#if RTLNX_VER_MIN(3,11,0)
 # define VBOX_NETDEV_NOTIFIER_INFO_TO_DEV(ptr) netdev_notifier_info_to_dev(ptr)
 #else
@@ -96,9 +96,9 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
+#if RTLNX_VER_MIN(3,5,0)
 # define VBOX_SKB_KMAP_FRAG(frag) kmap_atomic(skb_frag_page(frag))
 # define VBOX_SKB_KUNMAP_FRAG(vaddr) kunmap_atomic(vaddr)
 #else
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
+# if RTLNX_VER_MIN(3,2,0)
 #  define VBOX_SKB_KMAP_FRAG(frag) kmap_atomic(skb_frag_page(frag), KM_SKB_DATA_SOFTIRQ)
 #  define VBOX_SKB_KUNMAP_FRAG(vaddr) kunmap_atomic(vaddr, KM_SKB_DATA_SOFTIRQ)
@@ -109,5 +109,5 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)
+#if RTLNX_VER_MIN(2,6,34)
 # define VBOX_NETDEV_NAME(dev)              netdev_name(dev)
 #else
@@ -115,5 +115,5 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+#if RTLNX_VER_MIN(2,6,25)
 # define VBOX_IPV4_IS_LOOPBACK(addr)        ipv4_is_loopback(addr)
 # define VBOX_IPV4_IS_LINKLOCAL_169(addr)   ipv4_is_linklocal_169(addr)
@@ -123,5 +123,5 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+#if RTLNX_VER_MIN(2,6,22)
 # define VBOX_SKB_RESET_NETWORK_HDR(skb)    skb_reset_network_header(skb)
 # define VBOX_SKB_RESET_MAC_HDR(skb)        skb_reset_mac_header(skb)
@@ -133,12 +133,12 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
+#if RTLNX_VER_MIN(2,6,19)
 # define VBOX_SKB_CHECKSUM_HELP(skb)        skb_checksum_help(skb)
 #else
 # define CHECKSUM_PARTIAL                   CHECKSUM_HW
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 10)
+# if RTLNX_VER_MIN(2,6,10)
 #  define VBOX_SKB_CHECKSUM_HELP(skb)       skb_checksum_help(skb, 0)
 # else
-#  if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 7)
+#  if RTLNX_VER_MIN(2,6,7)
 #   define VBOX_SKB_CHECKSUM_HELP(skb)      skb_checksum_help(&skb, 0)
 #  else
@@ -151,5 +151,5 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
+#if RTLNX_VER_MIN(3,20,0)
 # define VBOX_HAVE_SKB_VLAN
 #else
@@ -177,5 +177,5 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18)
+#if RTLNX_VER_MIN(2,6,18)
 
 /** Indicates that the linux kernel may send us GSO frames. */
@@ -196,7 +196,7 @@
 # define VBOXNETFLT_WITH_GSO_RECV           1
 
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18) */
-
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+#endif /* RTLNX_VER_MIN(2,6,18) */
+
+#if RTLNX_VER_MIN(2,6,29)
 /** This enables or disables handling of GSO frames coming from the wire (GRO). */
 # define VBOXNETFLT_WITH_GRO                1
@@ -246,5 +246,5 @@
 
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12) && defined(LOG_ENABLED)
+#if RTLNX_VER_MAX(2,6,12) && defined(LOG_ENABLED)
 unsigned dev_get_flags(const struct net_device *dev)
 {
@@ -262,5 +262,5 @@
     return flags;
 }
-#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12) */
+#endif /* RTLNX_VER_MAX(2,6,12) */
 
 
@@ -344,5 +344,5 @@
 #ifdef VBOXNETFLT_WITH_HOST2WIRE_FILTER
 
-# if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+# if RTLNX_VER_MAX(2,6,29)
 
 # include <linux/ethtool.h>
@@ -352,5 +352,5 @@
 # define OVR_XMIT pfnStartXmit
 
-# else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */
+# else /* RTLNX_VER_MIN(2,6,29) */
 
 typedef struct net_device_ops OVR_OPSTYPE;
@@ -358,5 +358,5 @@
 # define OVR_XMIT pOrgOps->ndo_start_xmit
 
-# endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */
+# endif /* RTLNX_VER_MIN(2,6,29) */
 
 /**
@@ -379,8 +379,8 @@
     /** Pointer to the original ops. */
     OVR_OPSTYPE const              *pOrgOps;
-# if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+# if RTLNX_VER_MAX(2,6,29)
     /** Pointer to the original hard_start_xmit function. */
     int (*pfnStartXmit)(struct sk_buff *pSkb, struct net_device *pDev);
-# endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) */
+# endif /* RTLNX_VER_MAX(2,6,29) */
     /** Pointer to the net filter instance. */
     PVBOXNETFLTINS                  pVBoxNetFlt;
@@ -419,7 +419,7 @@
     if (   !VALID_PTR(pOverride)
         || pOverride->u32Magic != VBOXNETDEVICEOPSOVERRIDE_MAGIC
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+# if RTLNX_VER_MIN(2,6,29)
         || !VALID_PTR(pOverride->pOrgOps)
-# endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */
+# endif /* RTLNX_VER_MIN(2,6,29) */
         )
     {
@@ -479,9 +479,9 @@
     pOverride->pOrgOps              = pDev->OVR_OPS;
     pOverride->Ops                  = *pDev->OVR_OPS;
-# if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+# if RTLNX_VER_MAX(2,6,29)
     pOverride->pfnStartXmit         = pDev->hard_start_xmit;
-# else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */
+# else /* RTLNX_VER_MIN(2,6,29) */
     pOverride->Ops.ndo_start_xmit   = vboxNetFltLinuxStartXmitFilter;
-# endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */
+# endif /* RTLNX_VER_MIN(2,6,29) */
     pOverride->u32Magic             = VBOXNETDEVICEOPSOVERRIDE_MAGIC;
     pOverride->cTotal               = 0;
@@ -491,7 +491,7 @@
     RTSpinlockAcquire(pThis->hSpinlock); /* (this isn't necessary, but so what) */
     ASMAtomicWritePtr((void * volatile *)&pDev->OVR_OPS, pOverride);
-# if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+# if RTLNX_VER_MAX(2,6,29)
     ASMAtomicXchgPtr((void * volatile *)&pDev->hard_start_xmit, vboxNetFltLinuxStartXmitFilter);
-# endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) */
+# endif /* RTLNX_VER_MAX(2,6,29) */
     RTSpinlockRelease(pThis->hSpinlock);
 }
@@ -519,7 +519,7 @@
            )
         {
-# if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+# if RTLNX_VER_MAX(2,6,29)
             ASMAtomicWritePtr((void * volatile *)&pDev->hard_start_xmit, pOverride->pfnStartXmit);
-# endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) */
+# endif /* RTLNX_VER_MAX(2,6,29) */
             ASMAtomicWritePtr((void const * volatile *)&pDev->OVR_OPS, pOverride->pOrgOps);
             ASMAtomicWriteU32(&pOverride->u32Magic, 0);
@@ -566,5 +566,5 @@
             Log(("vboxNetFltLinuxRetainNetDev: Device %p(%s) retained. ref=%d\n",
                  pDev, pDev->name,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+#if RTLNX_VER_MIN(2,6,37)
                  netdev_refcnt_read(pDev)
 #else
@@ -602,5 +602,5 @@
         Log(("vboxNetFltLinuxReleaseNetDev: Device %p(%s) released. ref=%d\n",
              pDev, pDev->name,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+#if RTLNX_VER_MIN(2,6,37)
              netdev_refcnt_read(pDev)
 #else
@@ -773,5 +773,5 @@
         Assert(skb_headlen(pPkt) >= pSG->GsoCtx.cbHdrsTotal);
         pPkt->ip_summed  = CHECKSUM_PARTIAL;
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+# if RTLNX_VER_MIN(2,6,22)
         pPkt->csum_start = skb_headroom(pPkt) + pSG->GsoCtx.offHdr2;
         if (fGsoType & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))
@@ -817,7 +817,11 @@
 DECLINLINE(unsigned) vboxNetFltLinuxGetChecksumStartOffset(struct sk_buff *pBuf)
 {
-# if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 21)
+#if RTLNX_VER_MIN(2,6,38)
+    return skb_checksum_start_offset(pBuf);
+#elif RTLNX_VER_MIN(2,6,22)
+    return pBuf->csum_start - skb_headroom(pBuf);
+#else
     unsigned char *pTransportHdr = pBuf->h.raw;
-#  if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18)
+# if RTLNX_VER_MAX(2,6,19)
     /*
      * Try to work around the problem with CentOS 4.7 and 5.2 (2.6.9
@@ -828,13 +832,7 @@
     if (pBuf->h.raw == pBuf->nh.raw && pBuf->protocol == htons(ETH_P_IP))
         pTransportHdr = pBuf->nh.raw + pBuf->nh.iph->ihl * 4;
-#  endif /* LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18) */
+# endif
     return pTransportHdr - pBuf->data;
-# else /* LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 21) */
-#  if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 38)
-    return pBuf->csum_start - skb_headroom(pBuf);
-#  else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) */
-    return skb_checksum_start_offset(pBuf);
-#  endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) */
-# endif /* LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 21) */
+#endif
 }
 
@@ -867,5 +865,5 @@
     unsigned cbProduced = 0;
 
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+# if RTLNX_VER_MIN(2,6,27)
     /* Restore VLAN tag stripped by host hardware */
     if (vlan_tx_tag_present(pBuf))
@@ -882,5 +880,5 @@
         cbProduced += VLAN_ETH_HLEN;
     }
-# endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) */
+# endif /* RTLNX_VER_MIN(2,6,27) */
 
     if (pBuf->ip_summed == CHECKSUM_PARTIAL && pBuf->pkt_type == PACKET_OUTGOING)
@@ -931,5 +929,5 @@
     {
         skb_frag_t *pFrag = &skb_shinfo(pBuf)->frags[i];
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) || defined(OPENSUSE_152)
+# if RTLNX_VER_MIN(5,4,0) || defined(OPENSUSE_152)
         pSG->aSegs[iSeg].cb = pFrag->bv_len;
         pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;
@@ -952,5 +950,5 @@
         {
             skb_frag_t *pFrag = &skb_shinfo(pFragBuf)->frags[i];
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0) || defined(OPENSUSE_152)
+# if RTLNX_VER_MIN(5,4,0) || defined(OPENSUSE_152)
             pSG->aSegs[iSeg].cb = pFrag->bv_len;
             pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;
@@ -1027,5 +1025,5 @@
  * @returns 0 or EJUSTRETURN - this is probably copy & pastry and thus wrong.
  */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
+#if RTLNX_VER_MIN(2,6,14)
 static int vboxNetFltLinuxPacketHandler(struct sk_buff *pBuf,
                                         struct net_device *pSkbDev,
@@ -1042,8 +1040,8 @@
     LogFlow(("vboxNetFltLinuxPacketHandler: pBuf=%p pSkbDev=%p pPacketType=%p\n",
              pBuf, pSkbDev, pPacketType));
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18)
+#if RTLNX_VER_MIN(2,6,18)
     Log3(("vboxNetFltLinuxPacketHandler: skb len=%u data_len=%u truesize=%u next=%p nr_frags=%u gso_size=%u gso_seqs=%u gso_type=%x frag_list=%p pkt_type=%x\n",
           pBuf->len, pBuf->data_len, pBuf->truesize, pBuf->next, skb_shinfo(pBuf)->nr_frags, skb_shinfo(pBuf)->gso_size, skb_shinfo(pBuf)->gso_segs, skb_shinfo(pBuf)->gso_type, skb_shinfo(pBuf)->frag_list, pBuf->pkt_type));
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+# if RTLNX_VER_MIN(2,6,22)
     Log6(("vboxNetFltLinuxPacketHandler: packet dump follows:\n%.*Rhxd\n", pBuf->len-pBuf->data_len, skb_mac_header(pBuf)));
 # endif
@@ -1102,5 +1100,5 @@
         /* Somehow skb_copy ignores mac_len */
         pBuf->mac_len = uMacLen;
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+# if RTLNX_VER_MIN(2,6,27)
         /* Restore VLAN tag stripped by host hardware */
         if (vlan_tx_tag_present(pBuf) && skb_headroom(pBuf) >= VLAN_ETH_HLEN)
@@ -1114,16 +1112,16 @@
             pBuf->mac_len      += VLAN_HLEN;
         }
-# endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) */
-
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18)
+# endif /* RTLNX_VER_MIN(2,6,27) */
+
+# if RTLNX_VER_MIN(2,6,18)
         Log3(("vboxNetFltLinuxPacketHandler: skb copy len=%u data_len=%u truesize=%u next=%p nr_frags=%u gso_size=%u gso_seqs=%u gso_type=%x frag_list=%p pkt_type=%x\n",
               pBuf->len, pBuf->data_len, pBuf->truesize, pBuf->next, skb_shinfo(pBuf)->nr_frags, skb_shinfo(pBuf)->gso_size, skb_shinfo(pBuf)->gso_segs, skb_shinfo(pBuf)->gso_type, skb_shinfo(pBuf)->frag_list, pBuf->pkt_type));
-#  if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+#  if RTLNX_VER_MIN(2,6,22)
         Log6(("vboxNetFltLinuxPacketHandler: packet dump follows:\n%.*Rhxd\n", pBuf->len-pBuf->data_len, skb_mac_header(pBuf)));
-#  endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22) */
-# else /* LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18) */
+#  endif /* RTLNX_VER_MIN(2,6,22) */
+# else /* RTLNX_VER_MAX(2,6,18) */
         Log3(("vboxNetFltLinuxPacketHandler: skb copy len=%u data_len=%u truesize=%u next=%p nr_frags=%u tso_size=%u tso_seqs=%u frag_list=%p pkt_type=%x\n",
               pBuf->len, pBuf->data_len, pBuf->truesize, pBuf->next, skb_shinfo(pBuf)->nr_frags, skb_shinfo(pBuf)->tso_size, skb_shinfo(pBuf)->tso_segs, skb_shinfo(pBuf)->frag_list, pBuf->pkt_type));
-# endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18) */
+# endif /* RTLNX_VER_MAX(2,6,18) */
     }
 #endif /* !VBOXNETFLT_SG_SUPPORT */
@@ -1162,5 +1160,5 @@
         *pcbTemp = vboxNetFltLinuxGetChecksumStartOffset(pBuf) + VBOX_SKB_CSUM_OFFSET(pBuf) + sizeof(uint16_t);
     }
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+# if RTLNX_VER_MIN(2,6,27)
     if (vlan_tx_tag_present(pBuf))
     {
@@ -1170,5 +1168,5 @@
             *pcbTemp = VLAN_ETH_HLEN;
     }
-# endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) */
+# endif /* RTLNX_VER_MIN(2,6,27) */
     if (*pcbTemp)
         ++cSegs;
@@ -1554,5 +1552,5 @@
              * skb_gso_segment does the following. Do we need to do it as well?
              */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+# if RTLNX_VER_MIN(2,6,22)
             skb_reset_mac_header(pBuf);
             pBuf->mac_len = pBuf->network_header - pBuf->mac_header;
@@ -1604,5 +1602,7 @@
         if (pBuf->ip_summed == CHECKSUM_PARTIAL && pBuf->pkt_type == PACKET_OUTGOING)
         {
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18)
+# if RTLNX_VER_MIN(2,6,19)
+            int rc = VBOX_SKB_CHECKSUM_HELP(pBuf);
+# else
             /*
              * Try to work around the problem with CentOS 4.7 and 5.2 (2.6.9
@@ -1614,11 +1614,10 @@
             if (pBuf->h.raw == pBuf->nh.raw && pBuf->protocol == htons(ETH_P_IP))
                 pBuf->h.raw = pBuf->nh.raw + pBuf->nh.iph->ihl * 4;
-#endif /* LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18) */
             int rc = VBOX_SKB_CHECKSUM_HELP(pBuf);
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18)
             /* Restore the original (wrong) pointer. */
             pBuf->h.raw = tmp;
-#endif /* LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18) */
-            if (rc) {
+# endif
+            if (rc)
+            {
                 LogRel(("VBoxNetFlt: Failed to compute checksum, dropping the packet.\n"));
                 return;
@@ -1674,5 +1673,5 @@
  * @param   pWork               The work queue.
  */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
+# if RTLNX_VER_MIN(2,6,20)
 static void vboxNetFltLinuxXmitTask(struct work_struct *pWork)
 # else
@@ -1791,5 +1790,5 @@
             return true;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 36) /* TAP started doing carrier */
+#if RTLNX_VER_MIN(2,6,36) /* TAP started doing carrier */
         return !strncmp(Info.driver,   "tun", 4)
             && !strncmp(Info.bus_info, "tap", 4);
@@ -1800,5 +1799,5 @@
 }
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18)
+#if RTLNX_VER_MAX(2,6,18)
 DECLINLINE(void) netif_tx_lock_bh(struct net_device *pDev)
 {
@@ -1853,5 +1852,5 @@
     Log(("vboxNetFltLinuxAttachToInterface: Device %p(%s) retained. ref=%d\n",
           pDev, pDev->name,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+#if RTLNX_VER_MIN(2,6,37)
           netdev_refcnt_read(pDev)
 #else
@@ -1950,5 +1949,5 @@
         Log(("vboxNetFltLinuxUnregisterDevice: Device %p(%s) released. ref=%d\n",
              pDev, pDev->name,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+#if RTLNX_VER_MIN(2,6,37)
              netdev_refcnt_read(pDev)
 #else
@@ -2061,6 +2060,6 @@
     if (ulEventType == NETDEV_REGISTER)
     {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24) /* cgroups/namespaces introduced */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26)
+#if RTLNX_VER_MIN(2,6,24) /* cgroups/namespaces introduced */
+# if RTLNX_VER_MIN(2,6,26)
 #  define VBOX_DEV_NET(dev)             dev_net(dev)
 #  define VBOX_NET_EQ(n1, n2)           net_eq((n1), (n2))
@@ -2133,5 +2132,5 @@
      * IPv4
      */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
+#if RTLNX_VER_MIN(2,6,14)
     in_dev = __in_dev_get_rtnl(dev);
 #else
@@ -2168,5 +2167,5 @@
 
         read_lock_bh(&in6_dev->lock);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
+#if RTLNX_VER_MIN(2,6,35)
         list_for_each_entry(ifa, &in6_dev->addr_list, if_list)
 #else
@@ -2472,5 +2471,5 @@
         Log(("vboxNetFltOsDeleteInstance: Device %p(%s) released. ref=%d\n",
              pDev, pDev->name,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
+#if RTLNX_VER_MIN(2,6,37)
              netdev_refcnt_read(pDev)
 #else
@@ -2574,5 +2573,5 @@
 #ifndef VBOXNETFLT_LINUX_NO_XMIT_QUEUE
     skb_queue_head_init(&pThis->u.s.XmitQueue);
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
+# if RTLNX_VER_MIN(2,6,20)
     INIT_WORK(&pThis->u.s.XmitTask, vboxNetFltLinuxXmitTask);
 # else
Index: trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt
===================================================================
--- trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt	(revision 85588)
+++ trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt	(revision 85698)
@@ -65,4 +65,5 @@
     ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \
     ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \
+    ${PATH_ROOT}/include/iprt/linux/version.h=>include/iprt/linux/version.h \
     ${PATH_ROOT}/include/iprt/nocrt/limits.h=>include/iprt/nocrt/limits.h \
     ${PATH_ROOT}/include/VBox/cdefs.h=>include/VBox/cdefs.h \
