> We have developed and tested a patch to go from the actual rt_e1000e
> present on the git repository based on the driver in the source of Linux
> Kernel 3.2 (Intel version 1.5.1) to e1000e's version of the Linux Kernel
> 3.8 (Intel version 2.1.4) which supports latest Ethernet adapter i217/i218
> of the Intel's 4th generation of Core (Haswell). We have tested it on
> i218V and 82579V with Xenomai 2.6.3 and Linux Kernel 3.8.13.

Here is a complementary patch of the stack of RTNet for the previous patch
to work. Tested on i218V and 82579V with Xenomai 2.6.3 and Linux Kernel
3.8.13.
>From Huy-Cong Vu, Nicolas Simon

This an update of the stack of RTNet from the current (17/03/14) git dev 
version of RTNet to support the latest
ethernet adapter from Intel (i217/i218). The patch for updating the rt_e1000e 
driver to Kernel 3.8 version previously poste is also necessary. Tested with 
i218V and 82579V.

Signed-off-by: Nicolas Simon <[email protected]>
Signed-off-by: Huy-Cong Vu <[email protected]>
--------------------------------------------------------------------------------
diff -uprN /home/minibrain/Bureau/rtnet-code/stack/include/rtdev.h 
/home/minibrain/Bureau/rtnet-dev/rtnet-code/stack/include/rtdev.h
--- /home/minibrain/Bureau/rtnet-code/stack/include/rtdev.h     2014-03-17 
10:39:00.437762104 +0100
+++ /home/minibrain/Bureau/rtnet-dev/rtnet-code/stack/include/rtdev.h   
2014-02-27 12:53:21.677851000 +0100
@@ -54,6 +54,26 @@ enum rtnet_link_state {
        __RTNET_LINK_STATE_NOCARRIER,
 };
 
+struct rtnetdev_hw_addr {
+       struct list_head        list;
+       unsigned char           addr[MAX_ADDR_LEN];
+       unsigned char           type;
+#define NETDEV_HW_ADDR_T_LAN           1
+#define NETDEV_HW_ADDR_T_SAN           2
+#define NETDEV_HW_ADDR_T_SLAVE         3
+#define NETDEV_HW_ADDR_T_UNICAST       4
+#define NETDEV_HW_ADDR_T_MULTICAST     5
+       bool                    global_use;
+       int                     refcount;
+       int                     synced;
+       struct rcu_head         rcu_head;
+};
+
+struct rtnetdev_hw_addr_list {
+       struct list_head        list;
+       int                     count;
+};
+
 /***
  *  rtnet_device
  */
@@ -152,9 +172,27 @@ struct rtnet_device {
                                      struct rtskb *skb);
     void                (*unmap_rtskb)(struct rtnet_device *rtdev,
                                        struct rtskb *skb);
+
+    /*Additional field in updated version */
+
+    unsigned long              state;
+    unsigned long              trans_start;    /* Time (in jiffies) of last Tx 
*/
+
+    struct rtnetdev_hw_addr_list       uc;     /* Unicast mac addresses */
+    struct rtnetdev_hw_addr_list       mc;     /* Multicast mac addresses */
+
+    unsigned long              last_rx;        /* Time of last Rx
+                                                * This should not be set in
+                                                * drivers, unless really 
needed,
+                                                * because network stack 
(bonding)
+                                                * use it if/when necessary, to
+                                                * avoid dirtying this cache 
line.
+                                                */
+       
 };
 
 
+
 struct rtnet_core_cmd;
 
 struct rtdev_event_hook {
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
RTnet-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rtnet-developers

Reply via email to