I'm currently using Helium to control some switches via OpenFlow1.3, and do not only want to forward frames but also modify their headers or even the payload. Since the capabilities of OpenFlow to modify a frame are limited to certain protocol headers I guess the solution (or rather "workaround") would be to send the relevant frames to the controller (packet-in), modify them there, and send them back to the switch (packet-out) afterwards.
Unfortunately this is where my know-how ends to date. Can anybody please tell me how I can use OpenDaylight to realize my plan? Is this even possible in a trivial way? Do I have to program an application on top of the ODL API? Maybe someone of you does even know a comparable project and can send me a link, so I can look it up?