summaryrefslogtreecommitdiff
path: root/build-aux/extract-odp-netlink-windows-dp-h
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/extract-odp-netlink-windows-dp-h')
-rwxr-xr-xbuild-aux/extract-odp-netlink-windows-dp-h24
1 files changed, 24 insertions, 0 deletions
diff --git a/build-aux/extract-odp-netlink-windows-dp-h b/build-aux/extract-odp-netlink-windows-dp-h
new file mode 100755
index 000000000..041d103b1
--- /dev/null
+++ b/build-aux/extract-odp-netlink-windows-dp-h
@@ -0,0 +1,24 @@
+# This is a "sed" script that transforms <linux/openvswitch.h> into a
+# form that is suitable for inclusion within the Open vSwitch tree on
+# windows system. The transformed header file can be included by windows
+# driver modules.
+
+# Add a header warning that this is a generated file.
+1i\
+/* -*- mode: c; buffer-read-only: t -*- */\
+/* Generated automatically from <linux/openvswitch.h> -- do not modify! */\
+\
+\
+
+# Avoid using reserved names in header guards.
+s/_LINUX_OPENVSWITCH_H/__OVS_DP_INTERFACE_H_/
+
+# and use the appropriate userspace header.
+s,<linux/types\.h>,"OvsTypes.h",
+
+# Add ETH_ADDR_LEN macro to avoid including userspace packet.h
+s,#include <linux/if_ether\.h>,\n#ifndef ETH_ADDR_LEN \
+#define ETH_ADDR_LEN 6 \n#endif,
+
+# Use OVS's own ETH_ADDR_LEN instead of Linux-specific ETH_ALEN.
+s/ETH_ALEN/ETH_ADDR_LEN/