diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-09-25 17:23:57 -0400 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-09-25 17:34:19 -0400 |
commit | f20fbc0717f9f007c94b2641134b19228d0ce9ed (patch) | |
tree | 1404248ebbec552a3fb7928b75322b65d74de1bd /include/linux/netdevice.h | |
parent | 8cb2a7d5667ab9a9c2fdd356357b85b63b320901 (diff) | |
parent | fe0acb5fcb7fe8cb3d68bbdb8459865c972d8f83 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Conflicts:
net/netfilter/core.c
net/netfilter/nf_tables_netdev.c
Resolve two conflicts before pull request for David's net-next tree:
1) Between c73c24849011 ("netfilter: nf_tables_netdev: remove redundant
ip_hdr assignment") from the net tree and commit ddc8b6027ad0
("netfilter: introduce nft_set_pktinfo_{ipv4, ipv6}_validate()").
2) Between e8bffe0cf964 ("net: Add _nf_(un)register_hooks symbols") and
Aaron Conole's patches to replace list_head with single linked list.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r-- | include/linux/netdevice.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 41f49f5ab62a..136ae6bbe81e 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -789,6 +789,7 @@ enum { | |||
789 | TC_SETUP_CLSU32, | 789 | TC_SETUP_CLSU32, |
790 | TC_SETUP_CLSFLOWER, | 790 | TC_SETUP_CLSFLOWER, |
791 | TC_SETUP_MATCHALL, | 791 | TC_SETUP_MATCHALL, |
792 | TC_SETUP_CLSBPF, | ||
792 | }; | 793 | }; |
793 | 794 | ||
794 | struct tc_cls_u32_offload; | 795 | struct tc_cls_u32_offload; |
@@ -800,6 +801,7 @@ struct tc_to_netdev { | |||
800 | struct tc_cls_u32_offload *cls_u32; | 801 | struct tc_cls_u32_offload *cls_u32; |
801 | struct tc_cls_flower_offload *cls_flower; | 802 | struct tc_cls_flower_offload *cls_flower; |
802 | struct tc_cls_matchall_offload *cls_mall; | 803 | struct tc_cls_matchall_offload *cls_mall; |
804 | struct tc_cls_bpf_offload *cls_bpf; | ||
803 | }; | 805 | }; |
804 | }; | 806 | }; |
805 | 807 | ||
@@ -924,6 +926,14 @@ struct netdev_xdp { | |||
924 | * 3. Update dev->stats asynchronously and atomically, and define | 926 | * 3. Update dev->stats asynchronously and atomically, and define |
925 | * neither operation. | 927 | * neither operation. |
926 | * | 928 | * |
929 | * bool (*ndo_has_offload_stats)(int attr_id) | ||
930 | * Return true if this device supports offload stats of this attr_id. | ||
931 | * | ||
932 | * int (*ndo_get_offload_stats)(int attr_id, const struct net_device *dev, | ||
933 | * void *attr_data) | ||
934 | * Get statistics for offload operations by attr_id. Write it into the | ||
935 | * attr_data pointer. | ||
936 | * | ||
927 | * int (*ndo_vlan_rx_add_vid)(struct net_device *dev, __be16 proto, u16 vid); | 937 | * int (*ndo_vlan_rx_add_vid)(struct net_device *dev, __be16 proto, u16 vid); |
928 | * If device supports VLAN filtering this function is called when a | 938 | * If device supports VLAN filtering this function is called when a |
929 | * VLAN id is registered. | 939 | * VLAN id is registered. |
@@ -936,7 +946,8 @@ struct netdev_xdp { | |||
936 | * | 946 | * |
937 | * SR-IOV management functions. | 947 | * SR-IOV management functions. |
938 | * int (*ndo_set_vf_mac)(struct net_device *dev, int vf, u8* mac); | 948 | * int (*ndo_set_vf_mac)(struct net_device *dev, int vf, u8* mac); |
939 | * int (*ndo_set_vf_vlan)(struct net_device *dev, int vf, u16 vlan, u8 qos); | 949 | * int (*ndo_set_vf_vlan)(struct net_device *dev, int vf, u16 vlan, |
950 | * u8 qos, __be16 proto); | ||
940 | * int (*ndo_set_vf_rate)(struct net_device *dev, int vf, int min_tx_rate, | 951 | * int (*ndo_set_vf_rate)(struct net_device *dev, int vf, int min_tx_rate, |
941 | * int max_tx_rate); | 952 | * int max_tx_rate); |
942 | * int (*ndo_set_vf_spoofchk)(struct net_device *dev, int vf, bool setting); | 953 | * int (*ndo_set_vf_spoofchk)(struct net_device *dev, int vf, bool setting); |
@@ -1155,6 +1166,10 @@ struct net_device_ops { | |||
1155 | 1166 | ||
1156 | struct rtnl_link_stats64* (*ndo_get_stats64)(struct net_device *dev, | 1167 | struct rtnl_link_stats64* (*ndo_get_stats64)(struct net_device *dev, |
1157 | struct rtnl_link_stats64 *storage); | 1168 | struct rtnl_link_stats64 *storage); |
1169 | bool (*ndo_has_offload_stats)(int attr_id); | ||
1170 | int (*ndo_get_offload_stats)(int attr_id, | ||
1171 | const struct net_device *dev, | ||
1172 | void *attr_data); | ||
1158 | struct net_device_stats* (*ndo_get_stats)(struct net_device *dev); | 1173 | struct net_device_stats* (*ndo_get_stats)(struct net_device *dev); |
1159 | 1174 | ||
1160 | int (*ndo_vlan_rx_add_vid)(struct net_device *dev, | 1175 | int (*ndo_vlan_rx_add_vid)(struct net_device *dev, |
@@ -1173,7 +1188,8 @@ struct net_device_ops { | |||
1173 | int (*ndo_set_vf_mac)(struct net_device *dev, | 1188 | int (*ndo_set_vf_mac)(struct net_device *dev, |
1174 | int queue, u8 *mac); | 1189 | int queue, u8 *mac); |
1175 | int (*ndo_set_vf_vlan)(struct net_device *dev, | 1190 | int (*ndo_set_vf_vlan)(struct net_device *dev, |
1176 | int queue, u16 vlan, u8 qos); | 1191 | int queue, u16 vlan, |
1192 | u8 qos, __be16 proto); | ||
1177 | int (*ndo_set_vf_rate)(struct net_device *dev, | 1193 | int (*ndo_set_vf_rate)(struct net_device *dev, |
1178 | int vf, int min_tx_rate, | 1194 | int vf, int min_tx_rate, |
1179 | int max_tx_rate); | 1195 | int max_tx_rate); |
@@ -3266,6 +3282,7 @@ static inline void napi_free_frags(struct napi_struct *napi) | |||
3266 | napi->skb = NULL; | 3282 | napi->skb = NULL; |
3267 | } | 3283 | } |
3268 | 3284 | ||
3285 | bool netdev_is_rx_handler_busy(struct net_device *dev); | ||
3269 | int netdev_rx_handler_register(struct net_device *dev, | 3286 | int netdev_rx_handler_register(struct net_device *dev, |
3270 | rx_handler_func_t *rx_handler, | 3287 | rx_handler_func_t *rx_handler, |
3271 | void *rx_handler_data); | 3288 | void *rx_handler_data); |