[{"data":1,"prerenderedAt":141},["ShallowReactive",2],{"project-34094537":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":33,"aspects":34,"strip":36,"post_text":30,"what":38,"said":60,"maker_in_thread":86,"shape":93,"grid":96,"attempts":105,"same_week":106,"maker_shows":87,"maker_hidden":134,"reader_version":135,"card":136},"34094537","durdur","eBPF-powered L4 package dropper","title","Show HN: eBPF-powered L4 package dropper","https:\u002F\u002Fgithub.com\u002Fboratanrikulu\u002Fdurdur","github.com","boratanrikulu",1671724124,2022,11,4,1996,2570,78,"shown","infrastructure","packet filtering firewall","cli",[24,25,26,27,28],"ebpf","xdp","packet filter","firewall","linux kernel","quiet",null,{"positive":32,"neutral":33,"mixed":32,"critical":32},0,1,{"design":35},{"positive":32,"critical":32},[32,32,37,32],3,{"problem":39,"audience":30,"pricing":30,"motivation":30,"time_to_build":30,"stack":47,"openness":59,"stage":59,"team_size":59},{"value":40,"source":41,"evidence":42},"Dropping unwanted network packets at the kernel level using eBPF","inferred",[43],{"id":44,"by":45,"text":46},"34097674","artemish","Neat! So this is a tool you can use to implement firewall-ish rules and drop packets from certain IP addresses. It looks like the actual XDP code is written in C, and somehow…",[48,55],{"value":49,"source":50,"evidence":51},"Go","maker",[52],{"id":53,"by":11,"text":54},"34098524","Thank you! Yes, AFAIK There's no way to code the eBPF part in Go, so I used C without loops. Go part handles loading the eBPF and utilizing the maps. Btw, Rust hcan be used as…",{"value":56,"source":50,"evidence":57},"C (eBPF\u002FXDP code)",[58],{"id":53,"by":11,"text":54},"unknown",{"praise":61,"objections":67,"requests":68,"questions":69,"alternatives":81},[62],{"value":63,"source":64,"evidence":65},"Neat project","commenter",[66],{"id":44,"by":45,"text":46},[],[],[70,77],{"value":71,"source":64,"evidence":72},"Is L4 meant as transport layer when examples show IP (layer 3)?",[73],{"id":74,"by":75,"text":76},"34098117","muxamilian","With L4 you mean the transport layer? I’m a bit confused because in your examples you show layer 3 (IP). This eBPF-based package dropper using machine learning (decision tree)…",{"value":78,"source":64,"evidence":79},"Is Go the usual way to implement eBPF tools?",[80],{"id":44,"by":45,"text":46},[82],{"value":83,"source":64,"evidence":84},"CN-TU machine-learning-in-ebpf",[85],{"id":74,"by":75,"text":76},{"comments":87,"answered":87,"key":88},2,[89,92],{"id":90,"text":91},"34098486","I meant Transport Layer packages. > https:\u002F\u002Fgithub.com\u002FCN-TU\u002Fmachine-learning-in-ebpf Thank you! I'll take a look.",{"id":53,"text":54},{"commenters":37,"max_depth":87,"maker_replies":87,"first_comment_mins":94,"lifespan_hours":95},239,5,[97,99,101,103],[74,32,32,98,75,32],"commenter\u002Fneutral\u002Fnone",[90,32,32,100,11,33],"maker\u002Fneutral\u002Fnone",[44,33,37,102,45,32],"project\u002Fneutral\u002Fdesign",[53,33,32,104,11,33],"maker\u002Fneutral\u002Fexecution",[],[107,112,116,120,124,129],{"id":108,"name":109,"points":110,"category":111},"34102363","GPT-3 Powered Shell",308,"dev_tools",{"id":113,"name":114,"points":115,"category":111},"34147366","Dog API",275,{"id":117,"name":118,"points":119,"category":20},"34147825","Microfeed",265,{"id":121,"name":122,"points":123,"category":111},"34159062","Pbproxy",67,{"id":125,"name":126,"points":127,"category":128},"34100197","handlr.sapico.me",55,"productivity",{"id":130,"name":131,"points":132,"category":133},"34125869","EarlyBird",50,"web_saas",false,"v2",{"id":137,"name":5,"line":6,"ai":134,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":138,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":139,"url":9,"mix":140,"praise":63,"objection":-1,"sub":21},34094537,[24,25,26,27,28],"0030",[32,33,32,32],1794036628734]