{"id":15710464,"url":"https://github.com/aws/efawin","last_synced_at":"2025-10-13T11:12:34.313Z","repository":{"id":66003387,"uuid":"427543351","full_name":"aws/efawin","owner":"aws","description":"This library provides the necessary interface for applications and libraries to interact with AWS Elastic Fabric Adapter on Windows.","archived":false,"fork":false,"pushed_at":"2025-05-07T18:13:26.000Z","size":108,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-29T21:17:28.993Z","etag":null,"topics":["aws"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-13T01:47:37.000Z","updated_at":"2025-05-07T18:06:14.000Z","dependencies_parsed_at":"2025-02-05T07:32:17.729Z","dependency_job_id":"dffaa1db-8ac7-4f96-9e25-dea303f8290e","html_url":"https://github.com/aws/efawin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":"amazon-archives/__template_Custom","purl":"pkg:github/aws/efawin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws%2Fefawin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws%2Fefawin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws%2Fefawin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws%2Fefawin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws","download_url":"https://codeload.github.com/aws/efawin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws%2Fefawin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014759,"owners_count":26085593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws"],"created_at":"2024-10-03T21:08:13.273Z","updated_at":"2025-10-13T11:12:34.308Z","avatar_url":"https://github.com/aws.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Efawin - Efa library for Windows\n\nEfawin library helps applications on Windows to interact with Elastic Fabric Adapter hardware on AWS EC2.\nIt provides the necessary functionality through an interface that is very close to \ninfiniband verbs interface. At this time, this library is scoped to support the libfabric\nefa provider that is part of the Open Fabrics Interfaces (OFI). See \n[the OFI web site](http://libfabric.org) for more information on libfabric.  Any other use of the library is not tested or supported.\n\n## Library functionality\n\nThis library provides the necessary functionality to create and manipulate the queues associated with AWS Elastic Fabric Adapter. Majority of the library's functionality comes from rdmacore's [efa provider](https://github.com/linux-rdma/rdma-core/tree/master/providers/efa). \nTo allow compilation of the library on Windows, some helper/compat files have been copied from the OFI's [libfabric](https://github.com/ofiwg/libfabric).\nThe Efa driver interaction files have been copied from a AWS fork of [libfabric](https://github.com/aws/libfabric/tree/v1.9.x-cdi).\nIn addition to these, the Infiniband header files from OpenIB are used to provide an interface to the library.\n\n## Building and installing Efawin from source\n\nEfawin can be built from a git clone or a zip file downloaded from github.\nEfawin requires Microsoft Visual Studio 2019 or higher to be compiled. This can be installed from \n[Microsoft's website](https://visualstudio.microsoft.com/downloads/).\n\nThe solution file `efawin.sln` can be opened in the IDE and built using the `Build` menu option.  \nYou can also build it using the command line tool `msbuild` from a Visual Studio developer \npowershell/command prompt.\n\nOnce built, the generated efawin.dll must be placed in the same folder as libfabric.dll for the\nefa provider in libfabric to load it during execution.\n\n## Using Efawin in your project\n\nTo use Efawin in your project, copy the contents of interface folder into your project and use `efa_load_efawin_lib` function to load the dll and `efa_free_efawin_lib` function to free the dll.  The supported list of `ibv_*` functions can be found in `interface\\efawinver.h`. `interface\\infiniband\\verbs.h` will provide the function declarations for your application.\n\n## Runtime considerations\n\nThe version of efawin dll used must be compatible with the installed efa driver version.  Efawin dll will return a failure when it cannot interact with a compatible version of efa driver.\nEfawin dll uses `EFA_API_INTERFACE_VERSION` from `efaioctl.h` when interacting with the driver.\nIf you have an incompatible driver, please update your efa driver to match the EFA_API_INTERFACE_VERSION as listed below.\n\nDriver version compatibility is as listed below:\n- EFA_API_INTERFACE_VERSION 1 is compatible with efa.sys version 1.0.0.4\n- EFA_API_INTERFACE_VERSION 2 is compatible with efa.sys version 1.1.0.9\n- EFA_API_INTERFACE_VERSION 3 is compatible with efa.sys version 1.2.0.10\n\nEFA driver for Windows can be installed using the AWS public release S3 bucket: https://ec2-windows-drivers-efa.s3-us-west-2.amazonaws.com/Latest/EFADriver.zip\n\n## Validate installation\n\nThere is no separate test for efawin installation at this time.\nThe fi_info utility from libfabric can be used to validate efawin installation.  It will return the efa fabric attributes on successful installation.\nSee [libfabric validation](https://github.com/ofiwg/libfabric#validate-installation) for details.\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nUnless otherwise stated in individual source, this software is available under one of two licenses you may choose from: [GPL-2.0](LICENSE-GPL-2.0) OR\n[OpenIB.org BSD license](LICENSE-Linux-OpenIB)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws%2Fefawin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws%2Fefawin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws%2Fefawin/lists"}