> 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