On 16-02-02 08:27 AM, Or Gerlitz wrote: > On Mon, Feb 1, 2016 at 3:52 AM, John Fastabend <john.fastab...@gmail.com> > wrote: >> This adds an ixgbe data structure that is used to determine what >> headers:fields can be matched and in what order they are supported. >> >> For hardware devices this can be a bit tricky because typically >> only pre-programmed (firmware, ucode, rtl) parse graphs will be >> supported and we don't yet have an interface to change these from >> the OS. So its sort of a you get whatever your friendly vendor >> provides affair at the moment. >> >> In the future we can add the get routines and set routines to >> update this data structure. One interesting thing to note here >> is the data structure here identifies ethernet, ip, and tcp >> fields without having to hardcode them as enumerations or use >> other identifiers. > > Maybe for the current state this patch (or the most of it) can be > made generic and provided in a way that multiple HW drivers can use it? >
If you want the structs we can put them in a helper lib but the main code is two for loops to catch the keys and an if block to catch the nexthdr code mixed with a bunch of code to program the specific device. Its just not that helpful to other drivers. .John