From: Amir Vadai <a...@vadai.me> Date: Tue, 7 Feb 2017 09:56:05 +0200
> Some FW/HW parser APIs are such that they need to get the specific header > type (e.g > IPV4 or IPV6, TCP or UDP) and not only the networking level (e.g network or > transport). > > Enhancing the UAPI to allow for specifying that, would allow the same flows > to be > set into both SW and HW. > > This patchset also makes pedit more robust. Currently fields offset is > specified > by offset relative to the ip header, while using negative offsets for > MAC layer fields. > > This series enables the user to set offset relative to the relevant header. > > Usage example: > $ tc filter add dev enp0s9 protocol ip parent ffff: \ > flower \ > ip_proto tcp \ > dst_port 80 \ > action \ > pedit munge ip ttl add 0xff \ > pedit munge tcp dport set 8080 \ > pipe action mirred egress redirect dev veth0 > > Will forward traffic destined to tcp dport 80, while modifying the > destination port to 8080, and decreasing the ttl by one. > > I've uploaded a draft for the userspace [2] to make it easier to review and > test the patchset. > > [1] - http://patchwork.ozlabs.org/patch/700909/ > [2] - git: https://bitbucket.org/av42/iproute2.git > branch: pedit > > Patchset was tested and applied on top of upstream commit bd092ad1463c ("Merge > branch 'remove-__napi_complete_done'") Series applied, thank you.