Git Product home page Git Product logo

Comments (3)

T-X avatar T-X commented on June 14, 2024 1

Ok, I have a working solution for this. Give me a minute, I'll make a pull-request.

from pim6sd.

troglobit avatar troglobit commented on June 14, 2024

Interesting! I'll see what I can find, step one is to reproduce it. Can also check with xorp pimd to see what they do.

from pim6sd.

T-X avatar T-X commented on June 14, 2024

Here is a script to reproduce the checksum issues:

https://gist.github.com/T-X/9b689b185c72607ab325a275868e01bb

Which creates this setup:

[NS:client0] <---> [NS:router0] <---> [NS:router1] <---> [NS:client1]

Here, router0 will send PIM messages with a broken checksum to router1 as can be observed via tcpdump:

$ ip netns exec pimtest-router1 tcpdump -l -n -v -i wan0 pim
tcpdump: listening on wan0, link-type EN10MB (Ethernet), capture size 262144 bytes
20:33:58.537463 IP6 (flowlabel 0x13151, hlim 1, next-header PIM (103) payload length: 72) fe80::1 > ff02::d: PIMv2, length 72
        Bootstrap, cksum 0xd8cc (incorrect) tag=5b8 hashmlen=126 BSRprio=0 BSR=fd5c:725:2841::1 (group0: ff00::/8 RPcnt=1 FRPcnt=1 RP0=fd5c:725:2841::1,holdtime=2m30s,prio=0)
20:34:18.552348 IP6 (flowlabel 0x5b502, hlim 1, next-header PIM (103) payload length: 70) fe80::11:22ff:fe00:2 > ff02::d: PIMv2, length 70
        Hello, cksum 0xa47e (correct)
          Hold Time Option (1), length 2, Value: 1m45s
          DR Priority Option (19), length 4, Value: 1
          Generation ID Option (20), length 4, Value: 0x34658b7e
          Address List Option (24), length 18, Value: 
          Address List (Old) Option (65001), length 18, Value: 
20:34:18.552509 IP6 (flowlabel 0x13151, hlim 1, next-header PIM (103) payload length: 106) fe80::1 > ff02::d: PIMv2, length 106
        Hello, cksum 0xa335 (incorrect)
          Hold Time Option (1), length 2, Value: 1m45s
          DR Priority Option (19), length 4, Value: 1
          Generation ID Option (20), length 4, Value: 0x34658b7e
          Address List Option (24), length 36, Value: 
          Address List (Old) Option (65001), length 36, Value: 
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel

from pim6sd.

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.