2 # Route Thingy handling
6 # Copyright (c) 2005 Dirk Koopman G1TLH
13 use vars qw($VERSION $BRANCH);
14 $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
15 $BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /^\d+\.\d+(?:\.(\d+)\.(\d+))?$/ || (0,0));
16 $main::build += $VERSION;
17 $main::branch += $BRANCH;
31 unless ($thing->{Aranea}) {
33 $thing->{Aranea} = Aranea::genmsg($thing, 'Rt', @items);
35 return $thing->{Aranea};
49 return $thing->{DXProt};
52 #sub gen_DXCommandmode
68 ($thing->{hops}) = $thing->{DXProt} =~ /\^H(\d+)\^?~?$/ if exists $thing->{DXProt};
77 $thing->broadcast($dxchan);
85 # global route filtering on INPUT
86 if ($dxchan->{inroutefilter}) {
87 my $ref = Route::Node::get($thing->{origin});
88 my ($filter, $hops) = $dxchan->{inroutefilter}->it($ref);
90 dbg("PCPROT: Rejected by input route filter") if isdbg('chanerr');
102 # global route filtering on OUTPUT
103 if ($dxchan->{routefilter}) {
104 my $ref = Route::Node::get($thing->{origin});
105 my ($filter, $hops) = $dxchan->{routefilter}->it($ref);
107 dbg("PCPROT: Rejected by output route filter") if isdbg('chanerr');
110 $thing->{hops} = $hops if $hops;
111 } elsif ($dxchan->{isolate}) {