{"id":43235208,"url":"https://github.com/hwipl/smc-llc","last_synced_at":"2026-02-01T10:37:41.789Z","repository":{"id":57522156,"uuid":"236307258","full_name":"hwipl/smc-llc","owner":"hwipl","description":"SMC LLC Protocol Parser","archived":false,"fork":false,"pushed_at":"2025-05-02T08:51:12.000Z","size":140,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-02T09:49:03.728Z","etag":null,"topics":["command-line-tool","golang","link-layer-control","llc","network","packet-capture","packet-parser","shared-memory-communication","smc"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hwipl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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,"zenodo":null}},"created_at":"2020-01-26T12:10:56.000Z","updated_at":"2025-05-02T08:51:16.000Z","dependencies_parsed_at":"2022-08-26T20:24:29.369Z","dependency_job_id":"38bb9877-d401-4cb4-a6eb-9f2f929d7fc9","html_url":"https://github.com/hwipl/smc-llc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hwipl/smc-llc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwipl%2Fsmc-llc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwipl%2Fsmc-llc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwipl%2Fsmc-llc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwipl%2Fsmc-llc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hwipl","download_url":"https://codeload.github.com/hwipl/smc-llc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hwipl%2Fsmc-llc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28976334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T09:57:52.632Z","status":"ssl_error","status_checked_at":"2026-02-01T09:57:49.143Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["command-line-tool","golang","link-layer-control","llc","network","packet-capture","packet-parser","shared-memory-communication","smc"],"created_at":"2026-02-01T10:37:41.728Z","updated_at":"2026-02-01T10:37:41.785Z","avatar_url":"https://github.com/hwipl.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# smc-llc\n\nsmc-llc is a command line tool for capturing SMC LLC traffic from a network\ninterface or reading it from a pcap file and parsing the SMC LLC messages. The\nLLC messages are part of the\n[SMC protocol](https://www.rfc-editor.org/info/rfc7609) and are used to\nestablish SMC connections between communication partners over RoCE devices.\nAlthough LLC messages are the main focus of this tool, it also captures and\nparses RoCEv1 and RoCEv2 GRHs and BTHs as well as SMC CDC messages.\n\n## Installation\n\nYou can download and install smc-llc with its dependencies to your GOPATH or\nGOBIN with the go tool:\n\n```console\n$ go install github.com/hwipl/smc-llc/cmd/smc-llc\n```\n\n## Usage\n\nYou can run `smc-llc` with the following command line arguments:\n\n```\n  -f file\n        read packets from a pcap file and set it to file\n  -http address\n        use http server output and listen on address (e.g.: :8000 or\n        127.0.0.1:8080)\n  -i interface\n        read packets from a network interface (default) and set it to interface\n  -pcap-filter filter\n        set pcap packet filter to filter (e.g.: \"not port 22\")\n  -pcap-maxpkts number\n        set maximum packets to capture to number (may require pcap-timeout\n        argument)\n  -pcap-maxtime seconds\n        set maximum capturing time to seconds (may require pcap-timeout\n        argument)\n  -pcap-promisc\n        set network interface to promiscuous mode (default true)\n  -pcap-snaplen milliseconds\n        set pcap timeout to milliseconds (default 2048)\n  -pcap-timeout milliseconds\n        set pcap timeout to milliseconds\n  -show-bth\n        show BTH of messages\n  -show-grh\n        show GRH of messages\n  -show-hex\n        show hex dumps of messages\n  -show-other\n        show non-LLC/CDC messages\n  -show-reserved\n        show reserved message fields\n  -show-timestamps\n        show timestamps of messages (default true)\n```\n\n### Examples\n\nYou can specify the network interface with the command line argument `-i`. Make\nsure your user has the permission to capture traffic on the network interface.\nFor example, you can capture packets on the interface `eth0` with the following\ncommand as the root user:\n\n```console\n# smc-llc -i eth0\n```\n\nAlternatively, you can read packets from a pcap file with the command line\nargument `-f`. For example you can read the packets from pcap file `dump.pcap`\nwith the following command:\n\n```console\n$ smc-llc -f dump.pcap\n```\n\nYou can also capture packets directly from a local Mellanox infiniband device\nwith the tool [ibdump](https://github.com/Mellanox/ibdump) and load the\nresulting pcap file, e.g., `sniffer.pcap`, in smc-llc with the following\ncommand:\n\n```console\n$ smc-llc -f sniffer.pcap\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhwipl%2Fsmc-llc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhwipl%2Fsmc-llc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhwipl%2Fsmc-llc/lists"}