Not sure if you are still here. For everyones benefit, ill tell you how i made it work. Since i had no need of working with Tunnel interfaces, i removed all references to tun_t / TunHandle from .xs file. And it works.
Btw, you might want to use Net::Frame as thats the one which is used. Net::Packet is deprecated