xdp-for-windows
xdp-for-windows copied to clipboard
Define Linux compatibility goals
How do we support Linux apps? Lowest common denominator of Windows/Linux features? If Windows XDP adds a new feature, can we avoid divergence if Linux adds a similar feature later?
This seems related to #13. Can we merge these two somehow?
Certainly related. This is about defining our high level compatibility goals across the entire project - we shouldn't be specific about any particular API set here, whereas e.g. #13 is about AF_XDP and dives into details. Basically, a short statement of our philosophy of converging with Linux as much as possible, defining what our process should be when introducing a feature not yet supported by Linux, etc.
The sockets philosophy on Windows is that cross-plat BSD sockets APIs are supported with the same syntax (and semantics as much as possible), and that WIndows-specific additions that have no cross-platform analogy are added with "WSA" in the name to avoid any future name conflicts if a standard version is added in the future.
I'd recommend XDP follow a similar philosophy here. I.e., use cross-platform APIs whenever they exist and for any Windows-only APIs use a special word or whatever that will never conflict over time.