[dts] [PATCH] tests ftag: add get_glortid_bymac function for Boulder Rapid
Liu, Yong
yong.liu at intel.com
Thu Aug 18 09:39:15 CEST 2016
Thanks Xueqin, one comment.
> -----Original Message-----
> From: xueqin.lin [mailto:xlin15 at ecsmtp.sh.intel.com]
> Sent: Thursday, August 18, 2016 2:13 PM
> To: Liu, Yong; dts at dpdk.org
> Cc: Lin, Xueqin
> Subject: [dts][PATCH] tests ftag: add get_glortid_bymac function for
> Boulder Rapid
>
> From: Xueqin Lin <xueqin.lin at intel.com>
>
> Enable ftag function test on Boulder Rapid, need to strip port logic value
> from mac table,
> then strip port glort ID from stacking information.
>
> diff --git a/nics/br.py b/nics/br.py
> index 5b6e778..140d367 100644
> --- a/nics/br.py
> +++ b/nics/br.py
> @@ -28,7 +28,7 @@
> # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> +import re
> from crb import Crb
> from config import PortConf, PORTCONF
> from exception import PortConfigParseException
> @@ -243,3 +243,33 @@ class BoulderRapid(NetDevice):
> self.ctrl_crb.send_expect("set port config 1
> max_frame_size %d" % framesize, "<0>%")
> else:
> self.ctrl_crb.send_expect("set port config 5
> max_frame_size %d" % framesize, "<0>%")
> +
> + def get_glortid_bymac(self, dmac):
> + out = self.ctrl_crb.send_expect("show mac table all", "<0>%")
> + pattern = r"([0-9a-f]{2}:){5}([0-9a-f]{2})"
> + s = re.compile(pattern)
> + res = s.search(dmac)
> + if res is None:
> + print "search none mac filter"
This is error information, suggest to use "print RED(".")" to emphasize.
> + return None
> + else:
> + mac_filter = res.group(2)
> + pattern = r"(?<=%s)+([\sA-Za-z0-9/])+([0-9]{4})" %mac_filter
> + s = re.compile(pattern)
> + res = s.search(out)
> + if res is None:
> + print "search none port value"
> + return None
> + else:
> + port_value = res.group(2)
> + out = self.ctrl_crb.send_expect("show stacking logical-port all",
> "<0>%")
> + pattern = r"([0-9a-z]{6})+(\s)+(%s)+" %port_value
> + s = re.compile(pattern)
> + res = s.search(out)
> + if res is None:
> + print "search none port glort id"
> + return None
> + else:
> + port_glortid = res.group(1)
> + return port_glortid
> +
> --
> 2.5.5
More information about the dts
mailing list