dev.c (794b2c05ca1c4ded4a023d11833e3855a0ed6ea8) | dev.c (e05b2d141fef22cfac1928cf0eb6890e5dae4216) |
---|---|
1/* 2 * Copyright (c) 2018 Cumulus Networks. All rights reserved. 3 * Copyright (c) 2018 David Ahern <dsa@cumulusnetworks.com> 4 * Copyright (c) 2019 Mellanox Technologies. All rights reserved. 5 * 6 * This software is licensed under the GNU General License Version 2, 7 * June 1991 as shown in the file COPYING in the top-level directory of this 8 * source tree. --- 264 unchanged lines hidden (view full) --- 273 devlink_resources_unregister(devlink, NULL); 274err_fib_destroy: 275 nsim_fib_destroy(nsim_dev->fib_data); 276err_devlink_free: 277 devlink_free(devlink); 278 return ERR_PTR(err); 279} 280 | 1/* 2 * Copyright (c) 2018 Cumulus Networks. All rights reserved. 3 * Copyright (c) 2018 David Ahern <dsa@cumulusnetworks.com> 4 * Copyright (c) 2019 Mellanox Technologies. All rights reserved. 5 * 6 * This software is licensed under the GNU General License Version 2, 7 * June 1991 as shown in the file COPYING in the top-level directory of this 8 * source tree. --- 264 unchanged lines hidden (view full) --- 273 devlink_resources_unregister(devlink, NULL); 274err_fib_destroy: 275 nsim_fib_destroy(nsim_dev->fib_data); 276err_devlink_free: 277 devlink_free(devlink); 278 return ERR_PTR(err); 279} 280 |
281void nsim_dev_destroy(struct nsim_dev *nsim_dev) | 281static void nsim_dev_destroy(struct nsim_dev *nsim_dev) |
282{ 283 struct devlink *devlink = priv_to_devlink(nsim_dev); 284 285 nsim_bpf_dev_exit(nsim_dev); 286 nsim_dev_debugfs_exit(nsim_dev); 287 devlink_unregister(devlink); 288 devlink_resources_unregister(devlink, NULL); 289 nsim_fib_destroy(nsim_dev->fib_data); --- 22 unchanged lines hidden (view full) --- 312 port_index); 313 if (err) 314 goto err_port_free; 315 316 err = nsim_dev_port_debugfs_init(nsim_dev, nsim_dev_port); 317 if (err) 318 goto err_dl_port_unregister; 319 | 282{ 283 struct devlink *devlink = priv_to_devlink(nsim_dev); 284 285 nsim_bpf_dev_exit(nsim_dev); 286 nsim_dev_debugfs_exit(nsim_dev); 287 devlink_unregister(devlink); 288 devlink_resources_unregister(devlink, NULL); 289 nsim_fib_destroy(nsim_dev->fib_data); --- 22 unchanged lines hidden (view full) --- 312 port_index); 313 if (err) 314 goto err_port_free; 315 316 err = nsim_dev_port_debugfs_init(nsim_dev, nsim_dev_port); 317 if (err) 318 goto err_dl_port_unregister; 319 |
320 nsim_dev_port->ns = nsim_create(nsim_dev, nsim_dev_port); 321 if (IS_ERR(nsim_dev_port->ns)) { 322 err = PTR_ERR(nsim_dev_port->ns); 323 goto err_port_debugfs_exit; 324 } 325 326 devlink_port_type_eth_set(devlink_port, nsim_dev_port->ns->netdev); |
|
320 list_add(&nsim_dev_port->list, &nsim_dev->port_list); 321 322 return 0; 323 | 327 list_add(&nsim_dev_port->list, &nsim_dev->port_list); 328 329 return 0; 330 |
331err_port_debugfs_exit: 332 nsim_dev_port_debugfs_exit(nsim_dev_port); |
|
324err_dl_port_unregister: 325 devlink_port_unregister(devlink_port); 326err_port_free: 327 kfree(nsim_dev_port); 328 return err; 329} 330 331static void __nsim_dev_port_del(struct nsim_dev_port *nsim_dev_port) 332{ 333 struct devlink_port *devlink_port = &nsim_dev_port->devlink_port; 334 335 list_del(&nsim_dev_port->list); | 333err_dl_port_unregister: 334 devlink_port_unregister(devlink_port); 335err_port_free: 336 kfree(nsim_dev_port); 337 return err; 338} 339 340static void __nsim_dev_port_del(struct nsim_dev_port *nsim_dev_port) 341{ 342 struct devlink_port *devlink_port = &nsim_dev_port->devlink_port; 343 344 list_del(&nsim_dev_port->list); |
345 devlink_port_type_clear(devlink_port); 346 nsim_destroy(nsim_dev_port->ns); |
|
336 nsim_dev_port_debugfs_exit(nsim_dev_port); 337 devlink_port_unregister(devlink_port); 338 kfree(nsim_dev_port); 339} 340 341static void nsim_dev_port_del_all(struct nsim_dev *nsim_dev) 342{ 343 struct nsim_dev_port *nsim_dev_port, *tmp; --- 93 unchanged lines hidden --- | 347 nsim_dev_port_debugfs_exit(nsim_dev_port); 348 devlink_port_unregister(devlink_port); 349 kfree(nsim_dev_port); 350} 351 352static void nsim_dev_port_del_all(struct nsim_dev *nsim_dev) 353{ 354 struct nsim_dev_port *nsim_dev_port, *tmp; --- 93 unchanged lines hidden --- |