{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":627157911,"defaultBranch":"master","name":"holo","ownerLogin":"holo-routing","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-04-12T22:45:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/149910825?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718818917.0","currentOid":""},"activityList":{"items":[{"before":"5fd84f87d268d6c48aeddff4f1ccd90dac654526","after":"ffc3bdb09f8c8df298d4e62e3aab8561e81b1d1a","ref":"refs/heads/vrrp","pushedAt":"2024-06-22T03:00:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"VRRP WIP\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"VRRP WIP"}},{"before":"9c52bf961127dbd27134b04d2f5a2f5af478993c","after":"6b1bbef1d645dfca70397b182be6a63eb119c32d","ref":"refs/heads/vrrp-init","pushedAt":"2024-06-21T21:52:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paul-weqe","name":null,"path":"/Paul-weqe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19515462?s=80&v=4"},"commit":{"message":"initialize ipv4 packet decode tests.","shortMessageHtmlLink":"initialize ipv4 packet decode tests."}},{"before":"2f0b189379346e27c79aabea9bbe388f88f7d011","after":"5fd84f87d268d6c48aeddff4f1ccd90dac654526","ref":"refs/heads/vrrp","pushedAt":"2024-06-21T16:11:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"VRRP WIP\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"VRRP WIP"}},{"before":"0e307988675f2c7da11bfe90ca3f5f39647c3abe","after":"9c52bf961127dbd27134b04d2f5a2f5af478993c","ref":"refs/heads/vrrp-init","pushedAt":"2024-06-21T10:52:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paul-weqe","name":null,"path":"/Paul-weqe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19515462?s=80&v=4"},"commit":{"message":"Unpushed change.","shortMessageHtmlLink":"Unpushed change."}},{"before":"8632fcbb22ad99955ed9a782936009d71b8ce5d2","after":"0e307988675f2c7da11bfe90ca3f5f39647c3abe","ref":"refs/heads/vrrp-init","pushedAt":"2024-06-21T10:49:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Paul-weqe","name":null,"path":"/Paul-weqe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19515462?s=80&v=4"},"commit":{"message":"Initialized ipv4 packet.","shortMessageHtmlLink":"Initialized ipv4 packet."}},{"before":"9a4e77e59f5027c3e0912736ae45822e76caab51","after":"8632fcbb22ad99955ed9a782936009d71b8ce5d2","ref":"refs/heads/vrrp-init","pushedAt":"2024-06-20T16:04:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paul-weqe","name":null,"path":"/Paul-weqe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19515462?s=80&v=4"},"commit":{"message":"Adding minor comments for the pkt length logic","shortMessageHtmlLink":"Adding minor comments for the pkt length logic"}},{"before":"c701030a6831b669067a9aab7dd7bc5d7b8c0e0e","after":"9a4e77e59f5027c3e0912736ae45822e76caab51","ref":"refs/heads/vrrp-init","pushedAt":"2024-06-19T20:56:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paul-weqe","name":null,"path":"/Paul-weqe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19515462?s=80&v=4"},"commit":{"message":"Initial packet validations and tests\non decode being done.\n\nCurrently only length validations.\n\ntocome: other validations e.g checksum","shortMessageHtmlLink":"Initial packet validations and tests"}},{"before":null,"after":"c701030a6831b669067a9aab7dd7bc5d7b8c0e0e","ref":"refs/heads/vrrp-init","pushedAt":"2024-06-19T17:41:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Paul-weqe","name":null,"path":"/Paul-weqe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19515462?s=80&v=4"},"commit":{"message":"Change Packet naming.","shortMessageHtmlLink":"Change Packet naming."}},{"before":null,"after":"2f0b189379346e27c79aabea9bbe388f88f7d011","ref":"refs/heads/vrrp","pushedAt":"2024-06-18T01:53:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"VRRP WIP\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"VRRP WIP"}},{"before":"567a93ce07744a861cd42f47a890efac8921dc08","after":"bd6a1450a713fd03ea373d89e27831e9e42fb349","ref":"refs/heads/master","pushedAt":"2024-06-14T12:55:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"chore: bump to v0.5\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"chore: bump to v0.5"}},{"before":"761c5b3ca7730f1be9100dd5b79d7fb18902b885","after":"567a93ce07744a861cd42f47a890efac8921dc08","ref":"refs/heads/master","pushedAt":"2024-06-13T22:51:52.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"chore: bump tokio-uring to 0.5\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"chore: bump tokio-uring to 0.5"}},{"before":"d2f4c7f47dfb54d94160b1ab283ba66d893ab09a","after":"ce280a54487fce99bbf45c895e469320c1475ae3","ref":"refs/heads/bier-rebased","pushedAt":"2024-05-28T18:28:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"Add basic BIER support\n\nPartial implementation of updated draft-ietf-bier-bier-yang-08\n- sub-domain-id updated from u16 to u8 per RFC8279\n- mt_id updated from u16 to u8 per draft-ietf-ospf-mt-ospfv3-03\n- address_family updated from custom format to iana-routing-types:address_family\n- fixed some typos in the YANG model\n\nSigned-off-by: Nicolas Rybowski ","shortMessageHtmlLink":"Add basic BIER support"}},{"before":"9968094a05b0e18bb3d6b85441e23dcbc9b1b12c","after":"761c5b3ca7730f1be9100dd5b79d7fb18902b885","ref":"refs/heads/master","pushedAt":"2024-05-28T17:50:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"bgp: update prefix-trie to v0.4.1 for optimized prefix counting\n\nUpdate prefix-trie to v0.4.1, using the new O(1) `len()` method in\n`PrefixMap` to replace `iter().count()` and improve performance.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"bgp: update prefix-trie to v0.4.1 for optimized prefix counting"}},{"before":"e4ddd47f12c73aa1834131f4cfd8733b10df5b0e","after":"9968094a05b0e18bb3d6b85441e23dcbc9b1b12c","ref":"refs/heads/master","pushedAt":"2024-05-28T02:18:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"northbound: refactor infrastructure for operational-data retrieval\n\nReplace the `get_element` callback by the `get_object` callback,\nwhich returns an entire YANG object (container or list) at once.\nThe returned YANG objects are auto-generated structs with typed fields,\nensuring compile-time checks.\n\nThis refactor brings significant optimizations, improving performance\nin operational data retrieval by approximately 90%.\n\nAdditionally, it includes several simplifications and enhancements to\nthe API for improved maintainability.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"northbound: refactor infrastructure for operational-data retrieval"}},{"before":"efa1053cc9787f305ea623a4d0c1c4ea156a80ee","after":"e4ddd47f12c73aa1834131f4cfd8733b10df5b0e","ref":"refs/heads/master","pushedAt":"2024-05-28T02:12:45.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"northbound: refactor infrastructure for operational-data retrieval\n\nReplace the `get_element` callback by the `get_object` callback,\nwhich returns an entire YANG object (container or list) at once.\nThe returned YANG objects are auto-generated structs with typed fields,\nensuring compile-time checks.\n\nThis refactor brings significant optimizations, improving performance\nin operational data retrieval by approximately 90%.\n\nAdditionally, it includes several simplifications and enhancements to\nthe API for improved maintainability.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"northbound: refactor infrastructure for operational-data retrieval"}},{"before":"d095a53a874b42cd5c3a73b9b0fdd298d2ee161b","after":"efa1053cc9787f305ea623a4d0c1c4ea156a80ee","ref":"refs/heads/master","pushedAt":"2024-05-15T13:39:01.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"northbound: generate structs with typed fields\n\nUsing typed fields enhances safety by enabling compile-time checks\nfor correct types. Additionally, it provides a more user-friendly API.\n\nThese changes will be particularly important later as we refactor the\nnorthbound framework for operational state to use the auto-generated\nYANG structures as well.\n\nUpcoming plans involve adding support for custom protocol-specific\ntypes and resolving leafrefs to their actual types.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"northbound: generate structs with typed fields"}},{"before":"1ccc8fae36d69575780377a5f57f32ee6a10dc97","after":"d2f4c7f47dfb54d94160b1ab283ba66d893ab09a","ref":"refs/heads/bier-rebased","pushedAt":"2024-05-06T13:17:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"Add basic BIER support\n\nPartial implementation of updated draft-ietf-bier-bier-yang-08\n- sub-domain-id updated from u16 to u8 per RFC8279\n- mt_id updated from u16 to u8 per draft-ietf-ospf-mt-ospfv3-03\n- address_family updated from custom format to iana-routing-types:address_family\n- fixed some typos in the YANG model\n\nSigned-off-by: Nicolas Rybowski ","shortMessageHtmlLink":"Add basic BIER support"}},{"before":null,"after":"1ccc8fae36d69575780377a5f57f32ee6a10dc97","ref":"refs/heads/bier-rebased","pushedAt":"2024-05-02T22:01:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"Add basic BIER support\n\nPartial implementation of updated draft-ietf-bier-bier-yang-08\n- sub-domain-id updated from u16 to u8 per RFC8279\n- mt_id updated from u16 to u8 per draft-ietf-ospf-mt-ospfv3-03\n- address_family updated from custom format to iana-routing-types:address_family\n- fixed some typos in the YANG model\n\nSigned-off-by: Nicolas Rybowski ","shortMessageHtmlLink":"Add basic BIER support"}},{"before":"591de40544e9c5d8f2fb02dc8ab86d6f134ab10e","after":"d095a53a874b42cd5c3a73b9b0fdd298d2ee161b","ref":"refs/heads/master","pushedAt":"2024-05-02T00:58:20.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"bgp: implement the \"clear\" action for neighbors\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"bgp: implement the \"clear\" action for neighbors"}},{"before":"6ddbbc4b002b2f337dd3e98976511c84d5dc39ed","after":"591de40544e9c5d8f2fb02dc8ab86d6f134ab10e","ref":"refs/heads/master","pushedAt":"2024-05-01T02:50:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"bgp: implement YANG notifications\n\nImplement the \"established\" and \"backward-transition\" notifications\ndefined in the IETF BGP model.\n\nThe topology tests data have been update accordingly.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"bgp: implement YANG notifications"}},{"before":"3a57f464df834a312a6b6e77aa0f94f9648f6a55","after":"6ddbbc4b002b2f337dd3e98976511c84d5dc39ed","ref":"refs/heads/master","pushedAt":"2024-05-01T02:34:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"bgp: implement YANG notifications\n\nImplement the \"established\" and \"backward-transition\" notifications\ndefined in the IETF BGP model.\n\nThe topology tests data have been update accordingly.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"bgp: implement YANG notifications"}},{"before":"e96c79a859a3dbd2481c8ebb68a861d4dbe2cad3","after":"3a57f464df834a312a6b6e77aa0f94f9648f6a55","ref":"refs/heads/master","pushedAt":"2024-05-01T02:24:22.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"bgp: implement YANG notifications\n\nImplement the \"established\" and \"backward-transition\" notifications\ndefined in the IETF BGP model.\n\nThe topology tests data have been update accordingly.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"bgp: implement YANG notifications"}},{"before":"34789d7ac829abe9fb7bc22a76e14ed32371c2c3","after":"e96c79a859a3dbd2481c8ebb68a861d4dbe2cad3","ref":"refs/heads/master","pushedAt":"2024-04-25T02:24:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"bgp: ensure attribute sets are re-eavaluated whenever necessary\n\nIf an attribute set isn't referenced by any route, it should be\nremoved. This commit contains a few fixes to ensure that this\nalways happens.\n\nAdditionally, `AdjRib` fields are now made private, preventing them\nfrom being modified without using the correct APIs.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"bgp: ensure attribute sets are re-eavaluated whenever necessary"}},{"before":"864e9f36301c8a6e97f8a85baae3cdd776f370e9","after":"34789d7ac829abe9fb7bc22a76e14ed32371c2c3","ref":"refs/heads/master","pushedAt":"2024-04-25T02:14:02.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"bgp: ensure attribute sets are re-eavaluated whenever necessary\n\nIf an attribute set isn't referenced by any route, it should be\nremoved. This commit contains a few fixes to ensure that this\nalways happens.\n\nAdditionally, `AdjRib` fields are now made private, preventing them\nfrom being modified without using the correct APIs.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"bgp: ensure attribute sets are re-eavaluated whenever necessary"}},{"before":"35e2ea282263edc5a20c68f74b5d30a7270a12b4","after":"864e9f36301c8a6e97f8a85baae3cdd776f370e9","ref":"refs/heads/master","pushedAt":"2024-04-24T13:42:56.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"bgp: introduce deterministic attribute set indexes for testing\n\nBy default, attribute sets are assigned indexes in sequential\norder. The problem with this approach is that those indexes are\nnon-deterministic, whereas the data-driven testing framework requires\ndeterministic operational data.\n\nTo address this issue, introduce the \"deterministic\" feature. This\nfeature calculates attribute set indexes based on a hash of their\ncontents, ensuring determinism in testing scenarios. Since the hash\nvalues and attribute indexes use `u64`, the likelihood of collisions\nis virtually non-existent, especially considering that test topologies\nare normally small and simple. In normal operation, sequential indexes\nwill continue to be used.\n\nThe topology tests data have been update accordingly.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"bgp: introduce deterministic attribute set indexes for testing"}},{"before":"75d177d4b91c6b9e49a80991f0e947fe82925e84","after":"35e2ea282263edc5a20c68f74b5d30a7270a12b4","ref":"refs/heads/master","pushedAt":"2024-04-16T13:30:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"yang: bump version number\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"yang: bump version number"}},{"before":"31787397c0137b12b917b2ecd86b9390c17b639f","after":"75d177d4b91c6b9e49a80991f0e947fe82925e84","ref":"refs/heads/master","pushedAt":"2024-04-16T13:14:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frederic-loui","name":"Frederic LOUI","path":"/frederic-loui","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9639687?s=80&v=4"},"commit":{"message":"Interface configuration (#19)\n\n* interface: implement IP address configuration\r\n\r\nExample configuration (CLI):\r\n```\r\ninterfaces interface eth-rt2\r\n type iana-if-type:ethernetCsmacd\r\n !\r\n ipv4 address 10.0.1.1\r\n prefix-length 24\r\n!\r\n```\r\n\r\nExample configuration (JSON):\r\n```\r\n{\r\n \"ietf-interfaces:interfaces\": {\r\n \"interface\": [\r\n {\r\n \"name\": \"eth-rt2\",\r\n \"type\": \"iana-if-type:ethernetCsmacd\",\r\n \"ietf-ip:ipv4\": {\r\n \"address\": [\r\n {\r\n \"ip\": \"10.0.1.1\",\r\n \"prefix-length\": 24\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n}\r\n```\r\n\r\nThis commit also includes a refactoring to allow configuring interfaces\r\nbefore they exist at the OS-level. Then, once the interface becomes\r\navailable, its pre-existing configuration is applied.\r\n\r\nSigned-off-by: Renato Westphal \r\n\r\n* interface: implement admin status configuration\r\n\r\nSigned-off-by: Renato Westphal \r\n\r\n* interface: implement MTU configuration\r\n\r\nOf particular note, the ietf-interfaces module has different leafs to\r\nconfigure MTU for IPv4 and IPv6, but Linux supports a single MTU for\r\nall L3 protocols. As such, a validation callback was added to ensure\r\nthe IPv4 and IPv6 MTUs are the same when both are configured.\r\n\r\nSigned-off-by: Renato Westphal \r\n\r\n* interface: implement VLAN subinterfaces configuration\r\n\r\nExample configuration (CLI):\r\n```\r\n[snip]\r\ninterfaces interface eth-rt2.10\r\n type ietf-if-extensions:ethSubInterface\r\n encapsulation dot1q-vlan outer-tag vlan-id 10\r\n parent-interface eth-rt2\r\n!\r\n```\r\n\r\nExample configuration (JSON):\r\n```\r\n{\r\n \"ietf-interfaces:interfaces\": {\r\n \"interface\": [\r\n [snip]\r\n {\r\n \"name\": \"eth-rt2.10\",\r\n \"type\": \"ietf-if-extensions:ethSubInterface\",\r\n \"ietf-if-extensions:encapsulation\": {\r\n \"ietf-if-vlan-encapsulation:dot1q-vlan\": {\r\n \"outer-tag\": {\r\n \"vlan-id\": 10\r\n }\r\n }\r\n },\r\n \"ietf-if-extensions:parent-interface\": \"eth-rt2\"\r\n }\r\n ]\r\n }\r\n}\r\n```\r\n\r\nSigned-off-by: Renato Westphal \r\n\r\n---------\r\n\r\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"Interface configuration (#19)"}},{"before":"8ad0dd112a85a9021354deffb70d43c58ec577c7","after":"31787397c0137b12b917b2ecd86b9390c17b639f","ref":"refs/heads/master","pushedAt":"2024-04-16T00:44:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"utils: update lint settings\n\nUnlike the other crates, holo-utils can't inherit the linter settings\nfrom the workspace. This is because holo-utils needs to call the\nunsafe `libc::setsockopt` function, whereas the workspace settings\nforbid unsafe code altogether.\n\nCurrently, it isn't possible to selectively override inherited\nlint settings from the workspace. Consequently, this commit syncs\nholo-utils with the workspace lint settings, with the exception of\npermitting unsafe code.\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"utils: update lint settings"}},{"before":"39dbaa5e7a973368983e16cc9bdd189e903aa109","after":"fb06e350afb2eaaeb586d48f9c23836c07fdcbe9","ref":"refs/heads/interface-properties","pushedAt":"2024-04-15T20:25:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"interface: implement VLAN subinterfaces configuration\n\nExample configuration (CLI):\n```\n[snip]\ninterfaces interface eth-rt2.10\n type ietf-if-extensions:ethSubInterface\n encapsulation dot1q-vlan outer-tag vlan-id 10\n parent-interface eth-rt2\n!\n```\n\nExample configuration (JSON):\n```\n{\n \"ietf-interfaces:interfaces\": {\n \"interface\": [\n [snip]\n {\n \"name\": \"eth-rt2.10\",\n \"type\": \"ietf-if-extensions:ethSubInterface\",\n \"ietf-if-extensions:encapsulation\": {\n \"ietf-if-vlan-encapsulation:dot1q-vlan\": {\n \"outer-tag\": {\n \"vlan-id\": 10\n }\n }\n },\n \"ietf-if-extensions:parent-interface\": \"eth-rt2\"\n }\n ]\n }\n}\n```\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"interface: implement VLAN subinterfaces configuration"}},{"before":null,"after":"39dbaa5e7a973368983e16cc9bdd189e903aa109","ref":"refs/heads/interface-properties","pushedAt":"2024-04-13T23:41:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rwestphal","name":"Renato Westphal","path":"/rwestphal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/931662?s=80&v=4"},"commit":{"message":"interface: implement VLAN subinterfaces configuration\n\nExample configuration (CLI):\n```\n[snip]\ninterfaces interface eth-rt2.10\n type ietf-if-extensions:ethSubInterface\n encapsulation dot1q-vlan outer-tag vlan-id 10\n parent-interface eth-rt2\n!\n```\n\nExample configuration (JSON):\n```\n{\n \"ietf-interfaces:interfaces\": {\n \"interface\": [\n [snip]\n {\n \"name\": \"eth-rt2.10\",\n \"type\": \"ietf-if-extensions:ethSubInterface\",\n \"ietf-if-extensions:encapsulation\": {\n \"ietf-if-vlan-encapsulation:dot1q-vlan\": {\n \"outer-tag\": {\n \"vlan-id\": 10\n }\n }\n },\n \"ietf-if-extensions:parent-interface\": \"eth-rt2\"\n }\n ]\n }\n}\n```\n\nSigned-off-by: Renato Westphal ","shortMessageHtmlLink":"interface: implement VLAN subinterfaces configuration"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEbBoSAAA","startCursor":null,"endCursor":null}},"title":"Activity ยท holo-routing/holo"}