If you want to implement a subip protocol then read this,please.
Let me to explain my propositions. I think that
1) There is no reason to implement all of the protocols in the
one module.
There are so many protocols.
2)There is a "generic" subclass which can be used for the implementing
those subip protocols.
You could to write the module for manipulate your desired protocol
and use it with Net::RawIP.
Let imagine that you have a module NetPacket::PROTO which know about
a low level of the PROTO.
Then
######################
#!/usr/bin/perl
use Net::RawIP;
use NetPacket::PROTO;
$proto = new NetPacket::PROTO;
$proto->set(.......);
$datagramm = $proto->packet;
$packet = new Net::RawIP({
ip => { protocol => NUMBER_OF_PROTO },
generic => { data => $datagramm }
});
$packet->send;
....
....
($datagramm) = $packet->get({generic => [qw(data)]});
$proto->bset($datagramm);
($field1,$field2) = $proto->get(.....);
####################
So you have to implement the methods (new,set,bset,get) for your desired
protocol in your NetPacket::PROTO and you could use it with Net::RawIP.
Is it ok for you ?
Regards,
Sergey.