Dear Ben,
Dear all,
I have implemented the kernel/userspace logic, which seems to be
partially working. I was following the implementation of
tcp_flags/ct_mark, etc. in the previous commits to OVS. The gtp_teid
field matches the GTP-TEID of the GPRS Tunneling Protocol sent as a UDP
data
Dear Ben,
Thanks for your answer again.
I would go for the datapath modification. I found a similar commit for
CT_MARK added to the datapath, i.e.,
https://github.com/openvswitch/ovs/commit/372ce9737d2bca509f9717672d95d08b6978f4a3
I mostly followed the description of the commit, however did
To add support for a new field to the datapath, I'd look for another
commit that does that and use it as a template.
To make every packet go to userspace, the most general way is to make
odp_flow_key_to_flow() return ODP_FIT_TOO_LITTLE for flows that should
have the field. For example, if your
Dear Ben,
Yes, done. Thx.
Another question; it seems to be that only the first packet of the
flow is appropriately matched through my user-space rule, while the
rest are pretty much ignored. Is there any manual about extending the
kernel datapath to appropriately cache my field?
I think
Dear all,
I am writing this post, because I saw a discussion from the beginning
of 2016 about the implementation of an additional matching field of
UDP in OVS. Maybe you can help with a similar implementation.
The discussion is here,