{"id":21561871,"url":"https://github.com/0x9ef/ethernet","last_synced_at":"2025-08-31T14:06:17.979Z","repository":{"id":57656916,"uuid":"455848496","full_name":"0x9ef/ethernet","owner":"0x9ef","description":"Implementation of Ethernet 802.3, VLAN, 802.1P, 802.11 (Wireless Ethernet) frame serialization/deserialization library written in Go","archived":false,"fork":false,"pushed_at":"2024-03-14T22:28:47.000Z","size":59,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T04:47:31.210Z","etag":null,"topics":["encoding","ethernet","frame","golang","network","serialization","wireless"],"latest_commit_sha":null,"homepage":"","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/0x9ef.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}},"created_at":"2022-02-05T11:15:51.000Z","updated_at":"2024-03-14T21:55:18.000Z","dependencies_parsed_at":"2024-03-14T22:51:50.854Z","dependency_job_id":"2c3e308b-daf3-4034-a47e-85a238afa409","html_url":"https://github.com/0x9ef/ethernet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0x9ef/ethernet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x9ef%2Fethernet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x9ef%2Fethernet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x9ef%2Fethernet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x9ef%2Fethernet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0x9ef","download_url":"https://codeload.github.com/0x9ef/ethernet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x9ef%2Fethernet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272988919,"owners_count":25026961,"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-08-31T02:00:09.071Z","response_time":79,"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":["encoding","ethernet","frame","golang","network","serialization","wireless"],"created_at":"2024-11-24T09:29:00.614Z","updated_at":"2025-08-31T14:06:17.932Z","avatar_url":"https://github.com/0x9ef.png","language":"Go","readme":"# Ethernet Frame Serializarion/Deserazization library written in Go\nThe library implements frame serialization/deserialization in pure Go. The list of the supported Ethernet standards:\n* [802.3](https://en.wikipedia.org/wiki/Ethernet)\n* [802.1Q](https://en.wikipedia.org/wiki/IEEE_802.1Q)\n* [802.1P](https://en.wikipedia.org/wiki/IEEE_P802.1p)\n* [802.11/Wireless](https://en.wikipedia.org/wiki/IEEE_802.11)\n\n## Usage Examples\nSee the `*_test.go` files.\n\n## How to Encode?\n```go\n\tdstAddr := ethernet.NewHardwareAddr(0x8C, 0x8E, 0xC4, 0xFF, 0x9E, 0xA2)\n\tsrcAddr := ethernet.NewHardwareAddr(0x8C, 0x8E, 0xC4, 0xAA, 0x4E, 0xF1)\n\tf := ethernet.NewFrame(srcAddr, dst, []byte(\"Hello :)\"))\n\tf.SetTag8021q(\u0026ethernet.Tag8021q{Tpid: 0x8100, Tci: ethernet.Encode8021qTci(3, 0, 1024)})\n\tb := f.Marshal()\n```\n## How to Decode?\n```go\n\tb := f.Marshal()\n\n\tvar f Frame\n\terr := ethernet.Unmarshal(b, \u0026f)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tpcp, dei, vlan := ethernet.Decode8021qTci(f.Tag8021q().Tci)\n\tfmt.Println(\"PCP:\", pcp)\n\tfmt.Println(\"DEI:\", dei)\n\tfmt.Println(\"VLAN ID:\", vlan)\n\tfmt.Println(\"EtherType:\", f.EtherType())\n\tfmt.Println(\"Checksum (FCS):\", f.FCS())\n```\n\n## License\n[MIT](./LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0x9ef%2Fethernet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0x9ef%2Fethernet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0x9ef%2Fethernet/lists"}