{"id":509,"date":"2026-01-09T04:19:31","date_gmt":"2026-01-08T17:19:31","guid":{"rendered":"https:\/\/securelang.net\/cms\/?p=509"},"modified":"2026-01-09T04:19:31","modified_gmt":"2026-01-08T17:19:31","slug":"networking-mostly-works","status":"publish","type":"post","link":"https:\/\/securelang.net\/cms\/blog\/2026\/01\/09\/networking-mostly-works\/","title":{"rendered":"Networking Mostly Works!"},"content":{"rendered":"\n<p>The porting of a simple network stack to the operating system is now complete enough for simple HTTP demonstrations, and with a few differences to <em>xv6-riscv-net<\/em>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The system call layer has been implemented anew, but not the driver layer (the old network driver is used for now)<\/li>\n\n\n\n<li>Internal event processing is driven by a system call in a user-mode program instead of by software interrupts, this mechanism works for now but could be revised<\/li>\n\n\n\n<li>UDP is not hooked up yet<\/li>\n\n\n\n<li>The send\/recv system calls accept larger buffer sizes (they break it into smaller buffered pieces internally)<\/li>\n\n\n\n<li>The read\/write system calls can also be used on sockets, except not with large buffers yet (that will mimic the new send\/recv code)<\/li>\n<\/ul>\n\n\n\n<p>There will be some more updates soon, together with downloadables and plans for future improvements.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The porting of a simple network stack to the operating system is now complete enough for simple HTTP demonstrations, and with a few differences to xv6-riscv-net: There will be some more updates soon, together with downloadables and plans for future improvements.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-509","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/comments?post=509"}],"version-history":[{"count":1,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/509\/revisions"}],"predecessor-version":[{"id":510,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/509\/revisions\/510"}],"wp:attachment":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/media?parent=509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/categories?post=509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/tags?post=509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}