fill prio and protocol attr bits when parsing cls message

Otherwise, the filter we get from a cls cache can't be used
for removal.

Cc: Thomas Haller <thaller@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Thomas Haller <thaller@redhat.com>
This commit is contained in:
Cong Wang 2014-03-12 16:42:39 -07:00 committed by Thomas Haller
parent cdfdfb16d0
commit a126d66b58

View File

@ -368,7 +368,11 @@ static int cls_msg_parser(struct nl_cache_ops *ops, struct sockaddr_nl *who,
goto errout;
cls->c_prio = TC_H_MAJ(cls->c_info) >> 16;
if (cls->c_prio)
cls->ce_mask |= CLS_ATTR_PRIO;
cls->c_protocol = ntohs(TC_H_MIN(cls->c_info));
if (cls->c_protocol)
cls->ce_mask |= CLS_ATTR_PROTOCOL;
err = pp->pp_cb(OBJ_CAST(cls), pp);
errout: