Lines Matching refs:nsim_dev_port

245 				      struct nsim_dev_port *nsim_dev_port)  in nsim_dev_port_debugfs_init()  argument
250 sprintf(port_ddir_name, "%u", nsim_dev_port->port_index); in nsim_dev_port_debugfs_init()
251 nsim_dev_port->ddir = debugfs_create_dir(port_ddir_name, in nsim_dev_port_debugfs_init()
253 if (IS_ERR(nsim_dev_port->ddir)) in nsim_dev_port_debugfs_init()
254 return PTR_ERR(nsim_dev_port->ddir); in nsim_dev_port_debugfs_init()
258 debugfs_create_symlink("dev", nsim_dev_port->ddir, dev_link_name); in nsim_dev_port_debugfs_init()
263 static void nsim_dev_port_debugfs_exit(struct nsim_dev_port *nsim_dev_port) in nsim_dev_port_debugfs_exit() argument
265 debugfs_remove_recursive(nsim_dev_port->ddir); in nsim_dev_port_debugfs_exit()
541 static void nsim_dev_trap_report(struct nsim_dev_port *nsim_dev_port) in nsim_dev_trap_report() argument
543 struct nsim_dev *nsim_dev = nsim_dev_port->ns->nsim_dev; in nsim_dev_trap_report()
567 skb->dev = nsim_dev_port->ns->netdev; in nsim_dev_trap_report()
578 &nsim_dev_port->devlink_port, fa_cookie); in nsim_dev_trap_report()
590 struct nsim_dev_port *nsim_dev_port; in nsim_dev_trap_report_work() local
601 list_for_each_entry(nsim_dev_port, &nsim_dev->port_list, list) { in nsim_dev_trap_report_work()
602 if (!netif_running(nsim_dev_port->ns->netdev)) in nsim_dev_trap_report_work()
605 nsim_dev_trap_report(nsim_dev_port); in nsim_dev_trap_report_work()
913 struct nsim_dev_port *nsim_dev_port; in __nsim_dev_port_add() local
917 nsim_dev_port = kzalloc(sizeof(*nsim_dev_port), GFP_KERNEL); in __nsim_dev_port_add()
918 if (!nsim_dev_port) in __nsim_dev_port_add()
920 nsim_dev_port->port_index = port_index; in __nsim_dev_port_add()
922 devlink_port = &nsim_dev_port->devlink_port; in __nsim_dev_port_add()
933 err = nsim_dev_port_debugfs_init(nsim_dev, nsim_dev_port); in __nsim_dev_port_add()
937 nsim_dev_port->ns = nsim_create(nsim_dev, nsim_dev_port); in __nsim_dev_port_add()
938 if (IS_ERR(nsim_dev_port->ns)) { in __nsim_dev_port_add()
939 err = PTR_ERR(nsim_dev_port->ns); in __nsim_dev_port_add()
943 devlink_port_type_eth_set(devlink_port, nsim_dev_port->ns->netdev); in __nsim_dev_port_add()
944 list_add(&nsim_dev_port->list, &nsim_dev->port_list); in __nsim_dev_port_add()
949 nsim_dev_port_debugfs_exit(nsim_dev_port); in __nsim_dev_port_add()
953 kfree(nsim_dev_port); in __nsim_dev_port_add()
957 static void __nsim_dev_port_del(struct nsim_dev_port *nsim_dev_port) in __nsim_dev_port_del() argument
959 struct devlink_port *devlink_port = &nsim_dev_port->devlink_port; in __nsim_dev_port_del()
961 list_del(&nsim_dev_port->list); in __nsim_dev_port_del()
963 nsim_destroy(nsim_dev_port->ns); in __nsim_dev_port_del()
964 nsim_dev_port_debugfs_exit(nsim_dev_port); in __nsim_dev_port_del()
966 kfree(nsim_dev_port); in __nsim_dev_port_del()
971 struct nsim_dev_port *nsim_dev_port, *tmp; in nsim_dev_port_del_all() local
974 list_for_each_entry_safe(nsim_dev_port, tmp, in nsim_dev_port_del_all()
976 __nsim_dev_port_del(nsim_dev_port); in nsim_dev_port_del_all()
1180 static struct nsim_dev_port *
1183 struct nsim_dev_port *nsim_dev_port; in __nsim_dev_port_lookup() local
1185 list_for_each_entry(nsim_dev_port, &nsim_dev->port_list, list) in __nsim_dev_port_lookup()
1186 if (nsim_dev_port->port_index == port_index) in __nsim_dev_port_lookup()
1187 return nsim_dev_port; in __nsim_dev_port_lookup()
1210 struct nsim_dev_port *nsim_dev_port; in nsim_dev_port_del() local
1214 nsim_dev_port = __nsim_dev_port_lookup(nsim_dev, port_index); in nsim_dev_port_del()
1215 if (!nsim_dev_port) in nsim_dev_port_del()
1218 __nsim_dev_port_del(nsim_dev_port); in nsim_dev_port_del()