~ubuntu-branches/ubuntu/raring/ibutils/raring-proposed

« back to all changes in this revision

Viewing changes to ibdiag/demo/sm-link-setup.sim.tcl

  • Committer: Bazaar Package Importer
  • Author(s): Benoit Mortier
  • Date: 2010-01-11 22:22:00 UTC
  • Revision ID: james.westby@ubuntu.com-20100111222200-53kum2et5nh13rv3
Tags: upstream-1.2-OFED-1.4.2
ImportĀ upstreamĀ versionĀ 1.2-OFED-1.4.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
puts "Running Simulation flow for SM LINK SETUP test case"
 
2
 
 
3
proc setPortSpeed {fabric nodeName portNum speed} {
 
4
        set node [IBFabric_getNode $fabric $nodeName]
 
5
        if {$node == ""} {
 
6
                puts "-E- fail to find node $nodeName"
 
7
                return "ERR: fail to find node $nodeName"
 
8
        }
 
9
        set port [IBNode_getPort $node $portNum]
 
10
        if {$port == ""} {
 
11
                puts "-E- fail to find node $nodeName port $portNum"
 
12
                return "ERR: fail to find node $nodeName port $portNum"
 
13
        }
 
14
 
 
15
        switch $speed {
 
16
                2.5 {set code 1}
 
17
                5   {set code 2}
 
18
                10  {set code 4}
 
19
                default {
 
20
                        return "ERR: unknown speed:$speed"
 
21
                }
 
22
        }
 
23
        set pi [IBMSNode_getPortInfo sim$node $portNum]
 
24
        set old [ib_port_info_t_link_speed_get $pi]
 
25
        set new [format %x [expr ($code << 4) | ($old & 0xf)]]
 
26
        ib_port_info_t_link_width_active_set $pi $new
 
27
        return "Set node:$nodeName port:$portNum LinkSpeedActive to ${speed}Gpbs was $old now $new"
 
28
}
 
29
 
 
30
proc setPortWidth {fabric nodeName portNum width} {
 
31
        set node [IBFabric_getNode $fabric $nodeName]
 
32
        if {$node == ""} {
 
33
                puts "-E- fail to find node $nodeName"
 
34
                return "ERR: fail to find node $nodeName"
 
35
        }
 
36
        set port [IBNode_getPort $node $portNum]
 
37
        if {$port == ""} {
 
38
                puts "-E- fail to find node $nodeName port $portNum"
 
39
                return "ERR: fail to find node $nodeName port $portNum"
 
40
        }
 
41
 
 
42
        switch $width {
 
43
                1x {set code 1}
 
44
                4x {set code 2}
 
45
                8x {set code 4}
 
46
                12x {set code 8}
 
47
                default {
 
48
                        return "ERR: unknown width:$width"
 
49
                }
 
50
        }
 
51
        set pi [IBMSNode_getPortInfo sim$node $portNum]
 
52
        set old [ib_port_info_t_link_width_active_get $pi]
 
53
        ib_port_info_t_link_width_active_set $pi $code
 
54
        return "Set node:$nodeName port:$portNum LinkWidthActive to $width was $old now $code"
 
55
}
 
56
 
 
57
proc setPortOpVLs {fabric nodeName portNum vls} {
 
58
        set node [IBFabric_getNode $fabric $nodeName]
 
59
        if {$node == ""} {
 
60
                puts "-E- fail to find node $nodeName"
 
61
                return "ERR: fail to find node $nodeName"
 
62
        }
 
63
        set port [IBNode_getPort $node $portNum]
 
64
        if {$port == ""} {
 
65
                puts "-E- fail to find node $nodeName port $portNum"
 
66
                return "ERR: fail to find node $nodeName port $portNum"
 
67
        }
 
68
 
 
69
        set pi [IBMSNode_getPortInfo sim$node $portNum]
 
70
        set old [ib_port_info_t_vl_enforce_get $pi]
 
71
        set new [format %x [expr ($vls << 4) | ($old & 0xf)]]
 
72
        ib_port_info_t_vl_enforce_set $pi $new
 
73
        return "Set node:$nodeName port:$portNum OpVLs to $vls opvls_enforcement was $old now $new"
 
74
}
 
75
 
 
76
proc setPortMTU {fabric nodeName portNum mtu} {
 
77
        set node [IBFabric_getNode $fabric $nodeName]
 
78
        if {$node == ""} {
 
79
                puts "-E- fail to find node $nodeName"
 
80
                return "ERR: fail to find node $nodeName"
 
81
        }
 
82
        set port [IBNode_getPort $node $portNum]
 
83
        if {$port == ""} {
 
84
                puts "-E- fail to find node $nodeName port $portNum"
 
85
                return "ERR: fail to find node $nodeName port $portNum"
 
86
        }
 
87
 
 
88
        switch $mtu {
 
89
                256 {set mtuCode 1}
 
90
                512 {set mtuCode 2}
 
91
                1024 {set mtuCode 3}
 
92
                2048 {set mtuCode 4}
 
93
                4096 {set mtuCode 5}
 
94
                default {
 
95
                        return "ERR: unknown MTU:$mtu"
 
96
                }
 
97
        }
 
98
 
 
99
        set pi [IBMSNode_getPortInfo sim$node $portNum]
 
100
        set old [ib_port_info_t_mtu_smsl_get $pi]
 
101
        set new [format %x [expr ($mtuCode << 4) | ($old & 0xf)]]
 
102
        ib_port_info_t_mtu_smsl_set $pi $new
 
103
        return "Set node:$nodeName port:$portNum NeighborMTU to $mtu mtu_smsl was $old now $new"
 
104
}
 
105
 
 
106
 
 
107
set fabric [IBMgtSimulator getFabric]