Lines Matching refs:ondev

80 	struct bpf_offload_netdev *ondev;  in bpf_prog_offload_init()  local
104 ondev = bpf_offload_find_netdev(offload->netdev); in bpf_prog_offload_init()
105 if (!ondev) { in bpf_prog_offload_init()
110 list_add_tail(&offload->offloads, &ondev->progs); in bpf_prog_offload_init()
333 struct bpf_offload_netdev *ondev; in bpf_map_offload_map_alloc() local
356 ondev = bpf_offload_find_netdev(offmap->netdev); in bpf_map_offload_map_alloc()
357 if (!ondev) { in bpf_map_offload_map_alloc()
366 list_add_tail(&offmap->offloads, &ondev->maps); in bpf_map_offload_map_alloc()
566 struct bpf_offload_netdev *ondev; in bpf_offload_dev_netdev_register() local
569 ondev = kzalloc(sizeof(*ondev), GFP_KERNEL); in bpf_offload_dev_netdev_register()
570 if (!ondev) in bpf_offload_dev_netdev_register()
573 ondev->netdev = netdev; in bpf_offload_dev_netdev_register()
574 ondev->offdev = offdev; in bpf_offload_dev_netdev_register()
575 INIT_LIST_HEAD(&ondev->progs); in bpf_offload_dev_netdev_register()
576 INIT_LIST_HEAD(&ondev->maps); in bpf_offload_dev_netdev_register()
579 err = rhashtable_insert_fast(&offdevs, &ondev->l, offdevs_params); in bpf_offload_dev_netdev_register()
585 list_add(&ondev->offdev_netdevs, &offdev->netdevs); in bpf_offload_dev_netdev_register()
591 kfree(ondev); in bpf_offload_dev_netdev_register()
599 struct bpf_offload_netdev *ondev, *altdev; in bpf_offload_dev_netdev_unregister() local
606 ondev = rhashtable_lookup_fast(&offdevs, &netdev, offdevs_params); in bpf_offload_dev_netdev_unregister()
607 if (WARN_ON(!ondev)) in bpf_offload_dev_netdev_unregister()
610 WARN_ON(rhashtable_remove_fast(&offdevs, &ondev->l, offdevs_params)); in bpf_offload_dev_netdev_unregister()
611 list_del(&ondev->offdev_netdevs); in bpf_offload_dev_netdev_unregister()
618 list_for_each_entry(offload, &ondev->progs, offloads) in bpf_offload_dev_netdev_unregister()
620 list_splice_init(&ondev->progs, &altdev->progs); in bpf_offload_dev_netdev_unregister()
622 list_for_each_entry(offmap, &ondev->maps, offloads) in bpf_offload_dev_netdev_unregister()
624 list_splice_init(&ondev->maps, &altdev->maps); in bpf_offload_dev_netdev_unregister()
626 list_for_each_entry_safe(offload, ptmp, &ondev->progs, offloads) in bpf_offload_dev_netdev_unregister()
628 list_for_each_entry_safe(offmap, mtmp, &ondev->maps, offloads) in bpf_offload_dev_netdev_unregister()
632 WARN_ON(!list_empty(&ondev->progs)); in bpf_offload_dev_netdev_unregister()
633 WARN_ON(!list_empty(&ondev->maps)); in bpf_offload_dev_netdev_unregister()
634 kfree(ondev); in bpf_offload_dev_netdev_unregister()