net/sfc: multiply of specs w/o inner frame destination MAC
authorRoman Zhukov <roman.zhukov@oktetlabs.ru>
Tue, 6 Mar 2018 15:24:56 +0000 (15:24 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 30 Mar 2018 12:08:43 +0000 (14:08 +0200)
commitadbf7f0e27f8205149cdfcae702a1056520aaa7e
tree86d3df37f9f53003746362d811935bc097e588f2
parent94f9db9ad50f0e6c39b9bc0e1ab9e68cecaddd28
net/sfc: multiply of specs w/o inner frame destination MAC

Knowledge of a network identifier is not sufficient to construct a
workable hardware filter for encapsulated traffic. It's obligatory to
specify one of the match flags associated with inner frame destination
MAC. If the address is unknown, then one needs to specify either unknown
unicast or unknown multicast destination match flag.

In terms of RTE flow API, this would require adding multiple flow rules
with corresponding ETH items besides the tunnel item. In order to avoid
such a complication, the patch implements a mechanism to auto-complete
an underlying filter representation of a flow rule in order to create
additional filter specifications featuring the missing match flags.

Signed-off-by: Roman Zhukov <roman.zhukov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
drivers/net/sfc/sfc_flow.c
drivers/net/sfc/sfc_flow.h