[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: active networking in ns
At 10:55 19/10/99 +0200, you wrote:
>> There is one thing that is not entirely clear for me yet. With
>> your solution, if you need to have custom fields in the active
>> packet header, how/where do yo carry them? In other words, how
>> do you store state information associated with each active
>> packet? Just imagine a simple, stupid active packets that
>> records routes from source to destination. Implementation
>> should be straightforward with PANAMA's approach because
>> you have a new packet format for each new active protocol,
>> so you can just carry a list of node addresses and append
>> each node that you visit as you travel the network. How
>> would you do this with your approach?
>
>State is carried in the procedure's parameters. Here is an example traceroute
>capsule evaluated at each "$ee" on the path to the destination:
>
># "traceroute", method "record path"
>proc traceroute2 {return path srcee dstee ee} {
> if {$return} {
> if {$ee == $dstee} {
> $ee debug "path to [[$srcee set node_] id] is: $path"
> } else {
> set capsule "traceroute2 $return $path $srcee $dstee"
> $ee forward $capsule $dstee
> }
> } else {
> set newpath "${path}_[[$ee set node_] id]"
> if {$ee == $dstee} {
> set capsule "traceroute2 1 $newpath $dstee $srcee"
> $ee forward $capsule $srcee
> } else {
> set capsule "traceroute2 0 $newpath $srcee $dstee"
> $ee forward $capsule $dstee
> }
> }
>}
This looks nice !
>> I would like to have an eye at it when it is ready anway,
>> even when I won't probably be able to use it for this project.
>
>I'll prepare a neat version as soon as I can... I'll probably include the
>possibility to use "router alert" as well, you've convinced me :-)
I like your ideas as well :-) I'm now thinking about some 'hybrid'
solution combining the best from your approach and PANAMA's ...
Regards,
G.
--
Guillermo Rodriguez Garcia
<[email protected]>