Comments (3)
Ok, I have a working solution for this. Give me a minute, I'll make a pull-request.
from pim6sd.
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.
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)
- Make ; at end of line in .conf file optional
- Convert configuration directives from underscore to dashes
- Missing pim-join-prune in 3 router setup HOT 5
- Not forwarding multicast (Linux kernel (config) issue?) HOT 3
- Timer accuracy is way off HOT 3
- PIM Decapsulation HOT 1
- segfault in age_routes() HOT 6
- undefined reference to `yywrap' HOT 6
- Please Tag a Release HOT 2
- Code cleanup, test on musl libc using Alpine or Void Linux HOT 1
- Protocol not available HOT 4
- crash in make_mld6v2_msg with mld6v2 HOT 6
- Cannot run at the same time as pimd HOT 6
- Seg fault when interface is missing link-local address HOT 2
- Should we default to MLDv2 instead of MLDv1?
- ssm.conf.sample syntax error
- No global addresses available HOT 14
- segfault after ~5 seconds if an interface has no carrier HOT 2
- RP-Set not refreshing / vanishing PIM bootstrap HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pim6sd.