Git Product home page Git Product logo

Comments (5)

phani-karanam avatar phani-karanam commented on July 19, 2024

I cannot reproduce this problem. I tried to reproduce this issue with wedge100BF_32x device and also used four transceivers with insertion and removal on random ports and used "onlpdump" command to view SFP Presence bitmap and finally I cannot reproduce this issue.

I kindly request to provide more detail on how to reproduce this issue. For example, console log or which ports to test and how many transceivers used to test.

from opennetworklinux.

Vladimir-NTCT avatar Vladimir-NTCT commented on July 19, 2024

We are NOT using "onlpdump" command.

There is a periodic (500 mS) poll which is using ONLP API onlp_sfp_presence_bitmap_get(&sfp_bitmap_new)

Call returns 32 bit bitmap word. When QSFP is inserted to any of the empty ports appropriate bit in the the bitmap is changing from 0b to 1b.
If you remove QSFP next poll(s) keep returning the same bitmap with 1b in the position related to the removed QSFP. Naturally plugging QSFP back to the same port does not change the bitmap, bit remains 1b.
Plugging QSFP to a different port, which was empty before, changes bitmap with new 1b in a new position.

Our assumption was that onlp_sfp_presence_bitmap_get(&sfp_bitmap_new) should be sufficient for transceivers presence poll.

from opennetworklinux.

Vladimir-NTCT avatar Vladimir-NTCT commented on July 19, 2024

Found a workaround:

Calling function should clear transceivers bitmap each time before polling presence with ONLP library API:

        sfp_bitmap_new.words[0] = 0;
        sfp_bitmap_new.words[1] = 0;
	rc = onlp_sfp_presence_bitmap_get(&sfp_bitmap_new);

When it is done result bitmap has correct presence information.

Suggestions:

  1. Add bitmap clearing to the ONLP function;
    OR
  2. Document necessary cleaning in a library header file comments.

from opennetworklinux.

Lewis-Kang avatar Lewis-Kang commented on July 19, 2024

Maybe lines 370~372 in the following link can be a good reference on using that API.

from opennetworklinux.

phani-karanam avatar phani-karanam commented on July 19, 2024

Transceiver bit map clearing is done inside function "onlp_sfp_presence_bitmap_get_locked__" in sfp.c file

from opennetworklinux.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.