Lines Matching refs:nsim_dev_port

103 				      struct nsim_dev_port *nsim_dev_port)  in nsim_dev_port_debugfs_init()  argument
108 sprintf(port_ddir_name, "%u", nsim_dev_port->port_index); in nsim_dev_port_debugfs_init()
109 nsim_dev_port->ddir = debugfs_create_dir(port_ddir_name, in nsim_dev_port_debugfs_init()
111 if (IS_ERR_OR_NULL(nsim_dev_port->ddir)) in nsim_dev_port_debugfs_init()
116 debugfs_create_symlink("dev", nsim_dev_port->ddir, dev_link_name); in nsim_dev_port_debugfs_init()
121 static void nsim_dev_port_debugfs_exit(struct nsim_dev_port *nsim_dev_port) in nsim_dev_port_debugfs_exit() argument
123 debugfs_remove_recursive(nsim_dev_port->ddir); in nsim_dev_port_debugfs_exit()
406 static void nsim_dev_trap_report(struct nsim_dev_port *nsim_dev_port) in nsim_dev_trap_report() argument
408 struct nsim_dev *nsim_dev = nsim_dev_port->ns->nsim_dev; in nsim_dev_trap_report()
427 skb->dev = nsim_dev_port->ns->netdev; in nsim_dev_trap_report()
436 &nsim_dev_port->devlink_port); in nsim_dev_trap_report()
448 struct nsim_dev_port *nsim_dev_port; in nsim_dev_trap_report_work() local
459 list_for_each_entry(nsim_dev_port, &nsim_dev->port_list, list) { in nsim_dev_trap_report_work()
460 if (!netif_running(nsim_dev_port->ns->netdev)) in nsim_dev_trap_report_work()
463 nsim_dev_trap_report(nsim_dev_port); in nsim_dev_trap_report_work()
752 struct nsim_dev_port *nsim_dev_port; in __nsim_dev_port_add() local
756 nsim_dev_port = kzalloc(sizeof(*nsim_dev_port), GFP_KERNEL); in __nsim_dev_port_add()
757 if (!nsim_dev_port) in __nsim_dev_port_add()
759 nsim_dev_port->port_index = port_index; in __nsim_dev_port_add()
761 devlink_port = &nsim_dev_port->devlink_port; in __nsim_dev_port_add()
771 err = nsim_dev_port_debugfs_init(nsim_dev, nsim_dev_port); in __nsim_dev_port_add()
775 nsim_dev_port->ns = nsim_create(nsim_dev, nsim_dev_port); in __nsim_dev_port_add()
776 if (IS_ERR(nsim_dev_port->ns)) { in __nsim_dev_port_add()
777 err = PTR_ERR(nsim_dev_port->ns); in __nsim_dev_port_add()
781 devlink_port_type_eth_set(devlink_port, nsim_dev_port->ns->netdev); in __nsim_dev_port_add()
782 list_add(&nsim_dev_port->list, &nsim_dev->port_list); in __nsim_dev_port_add()
787 nsim_dev_port_debugfs_exit(nsim_dev_port); in __nsim_dev_port_add()
791 kfree(nsim_dev_port); in __nsim_dev_port_add()
795 static void __nsim_dev_port_del(struct nsim_dev_port *nsim_dev_port) in __nsim_dev_port_del() argument
797 struct devlink_port *devlink_port = &nsim_dev_port->devlink_port; in __nsim_dev_port_del()
799 list_del(&nsim_dev_port->list); in __nsim_dev_port_del()
801 nsim_destroy(nsim_dev_port->ns); in __nsim_dev_port_del()
802 nsim_dev_port_debugfs_exit(nsim_dev_port); in __nsim_dev_port_del()
804 kfree(nsim_dev_port); in __nsim_dev_port_del()
809 struct nsim_dev_port *nsim_dev_port, *tmp; in nsim_dev_port_del_all() local
812 list_for_each_entry_safe(nsim_dev_port, tmp, in nsim_dev_port_del_all()
814 __nsim_dev_port_del(nsim_dev_port); in nsim_dev_port_del_all()
853 static struct nsim_dev_port *
856 struct nsim_dev_port *nsim_dev_port; in __nsim_dev_port_lookup() local
858 list_for_each_entry(nsim_dev_port, &nsim_dev->port_list, list) in __nsim_dev_port_lookup()
859 if (nsim_dev_port->port_index == port_index) in __nsim_dev_port_lookup()
860 return nsim_dev_port; in __nsim_dev_port_lookup()
883 struct nsim_dev_port *nsim_dev_port; in nsim_dev_port_del() local
887 nsim_dev_port = __nsim_dev_port_lookup(nsim_dev, port_index); in nsim_dev_port_del()
888 if (!nsim_dev_port) in nsim_dev_port_del()
891 __nsim_dev_port_del(nsim_dev_port); in nsim_dev_port_del()