.. | .. |
---|
193 | 193 | return 0; |
---|
194 | 194 | } |
---|
195 | 195 | |
---|
196 | | -static inline int iboe_get_rate(struct net_device *dev) |
---|
197 | | -{ |
---|
198 | | - struct ethtool_link_ksettings cmd; |
---|
199 | | - int err; |
---|
200 | | - |
---|
201 | | - rtnl_lock(); |
---|
202 | | - err = __ethtool_get_link_ksettings(dev, &cmd); |
---|
203 | | - rtnl_unlock(); |
---|
204 | | - if (err) |
---|
205 | | - return IB_RATE_PORT_CURRENT; |
---|
206 | | - |
---|
207 | | - if (cmd.base.speed >= 40000) |
---|
208 | | - return IB_RATE_40_GBPS; |
---|
209 | | - else if (cmd.base.speed >= 30000) |
---|
210 | | - return IB_RATE_30_GBPS; |
---|
211 | | - else if (cmd.base.speed >= 20000) |
---|
212 | | - return IB_RATE_20_GBPS; |
---|
213 | | - else if (cmd.base.speed >= 10000) |
---|
214 | | - return IB_RATE_10_GBPS; |
---|
215 | | - else |
---|
216 | | - return IB_RATE_PORT_CURRENT; |
---|
217 | | -} |
---|
218 | | - |
---|
219 | 196 | static inline int rdma_link_local_addr(struct in6_addr *addr) |
---|
220 | 197 | { |
---|
221 | 198 | if (addr->s6_addr32[0] == htonl(0xfe800000) && |
---|