Coder Social home page Coder Social logo

Comments (11)

stapelberg avatar stapelberg commented on August 11, 2024

I think the issue might be that the underlying mdlayher/netlink library is not big-endian compatible: mdlayher/netlink#201 (many tests are skipped on big-endian systems in that package).

from nftables.

mdlayher avatar mdlayher commented on August 11, 2024

It is big endian compatible, but a lot of the tests use byte fixtures that are little endian. I don't have access to any big endian machines, but PRs are welcome.

from nftables.

CyrilBrulebois avatar CyrilBrulebois commented on August 11, 2024

Thanks for the reassuring answer regarding the code's correctness. I've decided to go ahead and upload a package that allows the test suite to fail on big endian archs.

I'm not really a Go developer or a porter, so I can't really provide a pull request to fix the tests. However, I do have access to a s390x porter box (via Debian), and can test any commits or branches you'd like me to.

from nftables.

stapelberg avatar stapelberg commented on August 11, 2024

Thanks for having a look, @mdlayher. Please let us know here when a new netlink release is available and I can pull that in :)

from nftables.

mdlayher avatar mdlayher commented on August 11, 2024

No worries! I will try to do that today.

from nftables.

mdlayher avatar mdlayher commented on August 11, 2024

I've released netlink v1.7.1 and genetlink v1.3.1 which fix all known endianness test failures. A lot of my tests hardcode fixed little endian byte dumps which isn't ideal but is useful for development.

from nftables.

stapelberg avatar stapelberg commented on August 11, 2024

Thanks, now pulled in!

@CyrilBrulebois Can you check which issues remain, if any, please?

from nftables.

CyrilBrulebois avatar CyrilBrulebois commented on August 11, 2024

@stapelberg Sure thing, but as far as I understand:

  • netlink is BE compatible;
  • netlink's tests were not BE compatible; that's confirmed to be fixed in the last release.
  • nftables is believed to be BE compatible as well?
  • nftables's tests are not BE compatible; the updated dependency on netlink doesn't change that, so the failures are exactly the same as before (at least from glancing at them, I can do a more systematic review if you prefer).

from nftables.

stapelberg avatar stapelberg commented on August 11, 2024

I only had a brief look thus far, maybe I have misinterpreted what I was seeing.

I’m not sure if I get a chance to have a closer look over the next few weeks, so any help with this is appreciated.

from nftables.

turekt avatar turekt commented on August 11, 2024

Hi @CyrilBrulebois and @stapelberg,

I have created a draft PR #218 with a fix approach for one test. In the log file, I see that there are a lot of failed test cases and I can change them all. Unfortunately, as there are a lot of tests to change, this requires time and I would like to get this approach reviewed and tested against a BE system before proceeding with a complete refactor.

If you can, please let me know whether this fixed the test on a BE system and whether this approach makes sense. If you have ideas how to best tackle this issue (e.g. skip tests on BE systems? or something else?), feel free to let me know.

from nftables.

stapelberg avatar stapelberg commented on August 11, 2024

I don’t have time to test on s390x currently, so if @CyrilBrulebois could give the PR a shot, that’d be great! Thanks.

from nftables.

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.