+# 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/