route/cls: add flower classifier

This patch adds a subset of functions.
Implemented api:

	rtnl_flower_set_proto;
	rtnl_flower_get_proto;
	rtnl_flower_set_vlan_id;
	rtnl_flower_get_vlan_id;
	rtnl_flower_set_vlan_prio;
	rtnl_flower_get_vlan_prio;
	rtnl_flower_set_vlan_ethtype;
	rtnl_flower_set_dst_mac;
	rtnl_flower_get_dst_mac;
	rtnl_flower_set_src_mac;
	rtnl_flower_get_src_mac;
	rtnl_flower_set_ip_dscp;
	rtnl_flower_get_ip_dscp;
	rtnl_flower_set_flags;
	rtnl_flower_append_action;
	rtnl_flower_del_action;
	rtnl_flower_get_action;

[thaller@redhat.com: squashed commit "route:cls:flower: use parentheses in
  macro definitions"]
[thaller@redhat.com: squashed commit "cls:flower: add TCA_FLOWER_FLAGS
  to flower_policy"]
[thaller@redhat.com: squashed commit "cls:flower: vlan priority is
  uint8_t, not uint16_t"]
[thaller@redhat.com: squashed commit "route:cls:flower: substitute nl_data*
  with uint8_t mac[ETH_ALEN]"]
[thaller@redhat.com: drop non-existing TCA_FLOWER_POLICE. That was
  never merged to upstream kernel. While at it, use decimal numbers
  for the bitshift.]
[thaller@redhat.com: fix build by including <linux/if_ether.h> in
  "types.h".]

Signed-off-by: Volodymyr Bendiuga <volodymyr.bendiuga@westermo.se>
5 files changed