Mon, Jun 25, 2018 at 06:34:31AM CEST, jakub.kicin...@netronome.com wrote: >From: John Hurley <john.hur...@netronome.com>
[...] >+static int >+tcf_block_playback_offloads(struct tcf_block *block, tc_setup_cb_t *cb, >+ void *cb_priv, bool add, bool offload_in_use, >+ struct netlink_ext_ack *extack) >+{ >+ struct tcf_chain *chain; >+ struct tcf_proto *tp; >+ int err; >+ >+ list_for_each_entry(chain, &block->chain_list, list) { >+ for (tp = rtnl_dereference(chain->filter_chain); tp; >+ tp = rtnl_dereference(tp->next)) { >+ if (tp->ops->reoffload) { >+ err = tp->ops->reoffload(tp, add, cb, cb_priv, >+ extack); >+ if (err && add) >+ goto err_playback_remove; >+ } else if (add && offload_in_use) { >+ err = -EOPNOTSUPP; >+ NL_SET_ERR_MSG(extack, "Filter replay failed - >a filters doesn't support re-offloading"); This msg sounds weird. Please fix it. Otherwise this looks very good to me! Thanks!