Unverified Commit c114dc3b authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3555 net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev()

parents 694d2102 e454b028
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -380,6 +380,8 @@ int vlan_vids_add_by_dev(struct net_device *dev,
		return 0;

	list_for_each_entry(vid_info, &vlan_info->vid_list, list) {
		if (!vlan_hw_filter_capable(by_dev, vid_info->proto))
			continue;
		err = vlan_vid_add(dev, vid_info->proto, vid_info->vid);
		if (err)
			goto unwind;
@@ -390,6 +392,8 @@ int vlan_vids_add_by_dev(struct net_device *dev,
	list_for_each_entry_continue_reverse(vid_info,
					     &vlan_info->vid_list,
					     list) {
		if (!vlan_hw_filter_capable(by_dev, vid_info->proto))
			continue;
		vlan_vid_del(dev, vid_info->proto, vid_info->vid);
	}

@@ -409,9 +413,12 @@ void vlan_vids_del_by_dev(struct net_device *dev,
	if (!vlan_info)
		return;

	list_for_each_entry(vid_info, &vlan_info->vid_list, list)
	list_for_each_entry(vid_info, &vlan_info->vid_list, list) {
		if (!vlan_hw_filter_capable(by_dev, vid_info->proto))
			continue;
		vlan_vid_del(dev, vid_info->proto, vid_info->vid);
	}
}
EXPORT_SYMBOL(vlan_vids_del_by_dev);

bool vlan_uses_dev(const struct net_device *dev)