[dts] [PATCH] framework: enable 100G ixia support
Liu, Yong
yong.liu at intel.com
Fri Feb 26 04:06:00 CET 2016
Applied. Thanks.
> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Ding Heng
> Sent: Tuesday, February 23, 2016 10:04 AM
> To: dts at dpdk.org
> Cc: Ding, HengX
> Subject: [dts] [PATCH] framework: enable 100G ixia support
>
> If we need ixia work in 100G mode we need to set enable Rs-Fec.
> This configure will take effect only if ieee default and auto negotiation
> set to false.
>
> Signed-off-by: Ding Heng <hengx.ding at intel.com>
>
> diff --git a/conf/ixia.cfg b/conf/ixia.cfg
> index 92fd496..8874801 100644
> --- a/conf/ixia.cfg
> +++ b/conf/ixia.cfg
> @@ -3,6 +3,7 @@
> # Version : IXIA TCL server version
> # IP : IXIA server IP address
> # Ports : [IXIA port list]
> +# ixia_enable_rsfec: We need to set this to enable if we need IXIA port work
> in 100G mode.
> [IXIA Group]
> ixia_version=6.62
> ixia_ip=xxx.xxx.xxx.xxx
> @@ -11,3 +12,4 @@ ixia_ports=
> card=1,port=2;
> card=1,port=3;
> card=1,port=4;
> +ixia_enable_rsfec=disable
> diff --git a/framework/config.py b/framework/config.py
> index 10624f0..37606de 100644
> --- a/framework/config.py
> +++ b/framework/config.py
> @@ -282,6 +282,8 @@ class IxiaConf(UserConf):
> ixia_port["port"] = int(m.group(2))
> ixia_ports.append(ixia_port)
> ixia_group['Ports'] = ixia_ports
> + elif key == 'ixia_enable_rsfec':
> + ixia_group['enable_rsfec'] = value
>
> if 'Version' not in ixia_group:
> print 'ixia configuration file request ixia_version
> option!!!'
> diff --git a/framework/etgen.py b/framework/etgen.py
> index 364499c..e272fd6 100644
> --- a/framework/etgen.py
> +++ b/framework/etgen.py
> @@ -155,6 +155,7 @@ class IxiaPacketGenerator(SSHConnection):
>
> self.ixiaVersion = ixiaPorts[ixiaRef]["Version"]
> self.ports = ixiaPorts[ixiaRef]["Ports"]
> + self.enable_rsfec = ixiaPorts[ixiaRef]['enable_rsfec']
>
> self.logger.info(self.ixiaVersion)
> self.logger.info(self.ports)
> @@ -171,6 +172,11 @@ class IxiaPacketGenerator(SSHConnection):
> if not self.tcl_server_login():
> self.close()
> self.session = None
> + for port in self.ports:
> + port['speed'] = self.get_line_rate(self.chasId, port)
> +
> + def get_line_rate(self, chasid, port):
> + return self.send_expect("stat getLineSpeed %s %s %s" % (chasid,
> port['card'], port['port']), '%')
>
> def get_ip_address(self):
> return self.tester.get_ip_address()
> @@ -406,6 +412,13 @@ class IxiaPacketGenerator(SSHConnection):
> for item in pList:
> self.add_tcl_cmd("port setFactoryDefaults chasId %d %d" % (
> item['card'], item['port']))
> + #if the line rate is 100G and we need this port work in 100G
> mode,
> + #we need to add some configure to make it so.
> + if int(self.get_line_rate(self.chasId, item).strip()) == 100000
> and self.enable_rsfec == 'enable':
> + self.add_tcl_cmd("port config -ieeeL1Defaults 0")
> + self.add_tcl_cmd("port config -autonegotiate false")
> + self.add_tcl_cmd("port config -enableRsFec true")
> + self.add_tcl_cmd("port set %d %d %d" % (self.chasId,
> item['card'], item['port']))
>
> pl.append('[list %d %d %d]' % (self.chasId, item['card'],
> item['port']))
>
> --
> 1.9.3
More information about the dts
mailing list