MCPcopy Create free account
hub / github.com/F-Stack/f-stack / mlx5_nl_roce_disable

Function mlx5_nl_roce_disable

dpdk/drivers/common/mlx5/linux/mlx5_common_os.c:606–640  ·  view source on GitHub ↗

Try to disable ROCE by Netlink\Devlink. */

Source from the content-addressed store, hash-verified

604
605/* Try to disable ROCE by Netlink\Devlink. */
606static int
607mlx5_nl_roce_disable(const char *addr)
608{
609 int nlsk_fd = mlx5_nl_init(NETLINK_GENERIC, 0);
610 int devlink_id;
611 int enable;
612 int ret;
613
614 if (nlsk_fd < 0)
615 return nlsk_fd;
616 devlink_id = mlx5_nl_devlink_family_id_get(nlsk_fd);
617 if (devlink_id < 0) {
618 ret = devlink_id;
619 DRV_LOG(DEBUG,
620 "Failed to get devlink id for ROCE operations by Netlink.");
621 goto close;
622 }
623 ret = mlx5_nl_enable_roce_get(nlsk_fd, devlink_id, addr, &enable);
624 if (ret) {
625 DRV_LOG(DEBUG, "Failed to get ROCE enable by Netlink: %d.",
626 ret);
627 goto close;
628 } else if (!enable) {
629 DRV_LOG(INFO, "ROCE has already disabled(Netlink).");
630 goto close;
631 }
632 ret = mlx5_nl_enable_roce_set(nlsk_fd, devlink_id, addr, 0);
633 if (ret)
634 DRV_LOG(DEBUG, "Failed to disable ROCE by Netlink: %d.", ret);
635 else
636 DRV_LOG(INFO, "ROCE is disabled by Netlink successfully.");
637close:
638 close(nlsk_fd);
639 return ret;
640}
641
642/* Try to disable ROCE by sysfs. */
643static int

Callers 1

mlx5_roce_disableFunction · 0.85

Calls 5

mlx5_nl_initFunction · 0.85
mlx5_nl_enable_roce_getFunction · 0.85
mlx5_nl_enable_roce_setFunction · 0.85
closeFunction · 0.50

Tested by

no test coverage detected