[dts] [PATCH] framework: enable 100G ixia support

Liu, Yong yong.liu at intel.com
Tue Feb 23 01:54:47 CET 2016


Heng, could you add more comments for this patch. We need to know that how to support ixia 100G port.
In this patch, there will be change in ixia.cfg. Please also update the sample of ixia cfg.

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Ding Heng
> Sent: Monday, February 22, 2016 11:35 AM
> To: dts at dpdk.org
> Cc: Ding, HengX
> Subject: [dts] [PATCH] framework: enable 100G ixia support
> 
> Signed-off-by: Ding Heng <hengx.ding at intel.com>
> 
> 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..737a57e 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,12 @@ class IxiaPacketGenerator(SSHConnection):
>          for item in pList:
>              self.add_tcl_cmd("port setFactoryDefaults chasId %d %d" % (
>                  item['card'], item['port']))
> +            if int(self.get_line_rate(self.chasId, item).strip()) ==
> 100000 and self.enable_rsfec == 'enable':

Add some descriptions for this judgment. 

> +                self.add_tcl_cmd("port config -ieeeL1Defaults 0")
> +                #self.add_tcl_cmd("ixWritePortsToHardware portList")
> +                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