From cd6524d641250af9e3abe08d5048e7707a692df5 Mon Sep 17 00:00:00 2001 From: marko Date: Wed, 10 May 2006 21:15:05 +0000 Subject: [PATCH] Bugfixes: Resurrect header_offset setting on ng_pipe nodes, since this is required for proper packet clasification (WFQ/DRR). Do not attempt to update ng_pipe parameters when in edit mode. Translate values of 0 to -1 in ng_pipe requests - required for effectively setting the requested parameters to zero. Bug found by: DORS / CLUC '06 workshop Submitted by: Requested by: Reviewed by: Approved by: Obtained from: --- editor.tcl | 2 +- exec.tcl | 24 +++++++++++++++++++----- xorp.tcl | 2 -- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/editor.tcl b/editor.tcl index 71e88bd..c24f957 100755 --- a/editor.tcl +++ b/editor.tcl @@ -2340,7 +2340,7 @@ proc popupConfigApply { wi object_type target phase } { } set changed 1 } - if { $changed == 1 } { + if { $changed == 1 && $oper_mode == "exec" } { execSetLinkParams $eid $target } } diff --git a/exec.tcl b/exec.tcl index 38740f5..55a2901 100755 --- a/exec.tcl +++ b/exec.tcl @@ -568,8 +568,8 @@ proc deployCfg {} { nexec ngctl name $ngpeer1:$nghook1 $lname nexec ngctl connect $lname: $ngpeer2: lower $nghook2 -#nexec ngctl msg $lname: setcfg "{ header_offset=14 }" ethernet -#nexec ngctl msg $lname: setcfg "{ header_offset=14 }" HDLC ??? + # Ethernet frame has a 14-byte header - this is a temp. hack!!! + nexec ngctl msg $lname: setcfg "{ header_offset=14 }" # Link parameters ;# Not working: execSetLinkParams $eid $link @@ -796,6 +796,9 @@ proc execSetIfcQLen { eid node ifc qlen } { set lnode2 [lindex [linkPeers $mirror_link] 0] } set ngnode "$eid\_$lnode1-$lnode2" + if { $qlen == 0 } { + set qlen -1 + } if { [catch { nexec ngctl msg $ngnode: setcfg "{ $dir={ queuelen=$qlen } }" }] } { set ngnode "$eid\_$lnode2-$lnode1" nexec ngctl msg $ngnode: setcfg "{ $dir={ queuelen=$qlen } }" @@ -825,10 +828,21 @@ proc execSetLinkParams { eid link } { set ber [expr [getLinkBER $link] + 0] set dup [expr [getLinkDup $link] + 0] - set mmdelay $delay - if { $delay == 0 } { set mmdelay -1 } + if { $bandwidth == 0 } { + set bandwidth -1 + } + if { $delay == 0 } { + set delay -1 + } + if { $ber == 0 } { + set ber -1 + } + if { $dup == 0 } { + set dup -1 + } + nexec ngctl msg $lname: setcfg \ - "{ bandwidth=$bandwidth delay=$mmdelay \ + "{ bandwidth=$bandwidth delay=$delay \ upstream={ BER=$ber duplicate=$dup } \ downstream={ BER=$ber duplicate=$dup } }" } diff --git a/xorp.tcl b/xorp.tcl index b22b420..0778a85 100755 --- a/xorp.tcl +++ b/xorp.tcl @@ -145,7 +145,6 @@ proc $MODULE.cfggen { node } { if { [netconfFetchSection $node "router rip"] != "" } { lappend cfg "protocols {" lappend cfg " rip {" - lappend cfg " /* export: \"connected\" */" lappend cfg "" foreach ifc [ifcList $node] { set addr "[lindex [split [getIfcIPv4addr $node $ifc] /] 0]" @@ -166,7 +165,6 @@ proc $MODULE.cfggen { node } { if { [netconfFetchSection $node "router ripng"] != "" } { lappend cfg "protocols {" lappend cfg " ripng {" - lappend cfg " /* export: \"connected\" */" lappend cfg "" foreach ifc [ifcList $node] { set addr "[lindex [split [getIfcIPv6addr $node $ifc] /] 0]" -- 2.39.5