grg / parser-gen Goto Github PK
View Code? Open in Web Editor NEWNetwork packet parser generator
License: Other
Network packet parser generator
License: Other
I recently read your article “Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN" in SIGCOMM’13. In the paper, your team propose the RMT (reconfigurable match ta- bles) model, a new RISC-inspired pipelined architecture for switching chips. Great job! I am a graduate student of Xidian University, and my team is preparing to carry out a series of courses on "SDN" and "Programmable Data Plane" in our school. But because we don't have engineering experience in this area, we lack a RMT hardware engineering. Can you or your team help us build a simple hardware project in terms of RMT hardware, or recommend such an open source project for us?
I am curious if this tool (or some other tool) could take a packet description like this of a more complex protocol and turn it into a streaming parser for a C based daemon, in addition to hardware?
(my intent was to write a packet parser for the babel routing protocol, I was looking over peg, ran across your paper, and here I am)
I rather like the descriptive language....
There is an attribute error in this line:
from_fields = item.next_header.mapping.from_header.asList()
AttributeError: 'str' object has no attribute 'from_header'
I don't think you can reliably recognize protocol below MPLS (line 37..42)
You're now presuming reading BOS + IP version is reliable, but IANA assigns OUIs randomly since several years, so in many cases DMAC may look like IP version, causing misclassification in the naive approach.
Potentially causing reordering as ECMP guarantees might not apply.
I wonder if there even is proper/cheap fix? Or do you just need to assume IP based on IP version, until IP checksum fails (ipv4) => presume it's eth, or IPv6 until L4 checksum fails? Which seems terribly expensive.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.