I hope that you are following the discussion on creating the feature for you...
(and helping in testing)
- I had not - because of A.) the holiday and B.) I was told to to go elsewhere to file an issue, I was not aware that somehow changed (quite confusing)
- I'll review GitHub
- I am only aware of testing a script from this thread, I'll review GitHub to update my understanding
The router should be free to play with later today.
OK, your new link confused me greatly.
- Are these the same discussions?
- What am I "helping in testing"?
- How do I help in testing?
- As of my reading, your link contains approximately 21 lines of C code in approximately 7 disjointed posts
- Also, I assume it needs to be compiled
It doesn't appear to be the complete file- I was almost certain that the former link was a script (i.e., no compile needed)
- How do I compile a portion of code when the rest is not present?
- Or do I need to test both - if so how?
- Or am I supposed to wait for the corrected snapshot (
I am able, knowledgeable and willing to test that when it's available in the Firmware Selector)
When responding, please:
- pretend I've NEVER used GitHub to edit code (I haven't), and
- pretend I have no clue why you're pasting random links containing only portions of code
(I've mentioned a few times I have no clue what these postings in GitHub are and how to make them do something on my router. Again, I feel this is something that developers know inherently - and they simply assume everyone else is a r#t@rd because they can't program code in their router by copying the code and pasting it from a website. I will try to run patch on the URL (?) - but I have a strong feeling that's not how it works.
)
As I said, proprietary code from commercial developers, I just compile, but here at OpenWrt, you're shown a few lines from a URL - and the developers call you names and pretend you should inherently know how to compile portions of a file.
Again, if you feel you've assisted enough, I thank you and will figure it out myself.
paste the patch content into a local file, apply it using patch (which we concluded was available on OpenWRT).
I think you misread my post.
- Where's the patch file for the C code hnyman asked me to test (not the shell file we discussed 2 days ago)?
- Where's the original file in its entirety to
patch? - How do I apply the out file to the router?
I didn't think OpenWrt was self-hosting - so how do I compile it?
Yes, I've seen patch and I've used it. I'll just screenshot my issue, as maybe that'll help:
There's a few posts like this.
- I don't see a patch file
- This is only 4 lines - and other lines in different posts
- This is C code (not sh), it needs to be compiled
indeed, for C you need to compile.
I was still on the ones posted at SNAPSHOT - cannot configure random IPs on DHCPv6 - #6 by meiser, which are two sh scripts.
No worries.
Yes indeed:
I'll wait for clarification.
Well, in the new PR, you are looking for developers' efforts to create the needed support for the feature to the odhcp6c tool itself (instead of changes to the init script).
Well, those are the specific changes needed for fulfilling your feature dream. Just a few source code lines to be changed, of the thousands of the source code lines in odhcp6c. But somebody needs to invest time and thought in creating those changes. And before they are committed, we others should try to verify that the proposed changes look ok. That required some code understanding, and in many cases some compilation work.
That is the core of OpenWrt enthusiasm and being part of the development effort. To really help the effort, we should familiarize with the code to somewhat, and if we require new features, we should be able to help, if even in a minor way.
Otherwise we are just observers on the sidelines, but then we should not complain too loudly about specific missing features that other volunteers may or may not spend time to create.
Just remember in your comments that there are only volunteers and nobody is paid to do anything.
To be honest, I was pretty surprised that two of the most frequent forum commenters admitted that they have not used 'patch' in OpenWrt and there was no clue if that is available. That really surprised me.
But if you have no experience about coding, GitHub etc., then you likely can ust wait to se what materialises.
Your response is so cool and appreciated in this world season. It brought me peace and assurance.
Also I've received a few messages explaining that someone who verbally "came at me" was not a developer. For accusing the developers of that behavior, I sincerely apologize.
I'm familiar with coding, just not how one makes post(s) of 21 lines and proceeds to have useful interaction with it - more on that below. But yes, as I mentioned, I only see those lines that needed changing. As you're clearly aware, you can't just "test" those lines independently of the entire source file or translation unit - in layman's terms, 'you and I are well aware you have to compile the entire code'.
I had a deja vu moment before you posted this. I recalled years ago when posters would tell me to use tcpdump and thought they were crazy because we were clearly discussing UDP packets. ![]()
My point, I've never used patch. Why?
Because - I've always manually patched any file that needed it in my entire career. So when things are "magically" patched from a display portion of a few lines of thousand-line code, I'm not sure how one could become a newly introduced contributor.
More below on this. I think this is why users have misperceptions of the developers, particularly because enfranchisement into decision-making in OpenWrt doesn't occur until one has (and can) meaningfully contribute to the code itself.
- I think you're saying that the developers have access or already intrinsically know the other portions of the code?
- Or they have an Integrated Development Environment software to access and manipulate this URI?
I would love to see the code more and participate. Again, I can take time to figure it out. Seeing 20 lines of a code that's clearly ~2000 lines makes little sense to me. And I've been with C-family of code, scripting, PHP, etc. for over 30 years. I've just never known how posts with a few lines of code pop up - and people say "test it".
I'll be sure to tell others (in the Wiki
) when I discover how.
Again the response is appreciated, and I would really like to interact more with the code. Thanks again for your response and happy holidays season. ![]()
Just how I do it not saying it is the best way.
Actually if it is just a few line of code that has to be changed then you can do it manually by changing the source code
But of course the package has to be downloaded first so start with:
Compiling:
make -j $(($(nproc)+1)) download #(-j sets number of CPU's)
make clean
make -j $(($(nproc)+1)) toolchain/prepare V=s 2>&1 | tee build.log | grep -i -E "^make.*(error|[12345]...Entering dir)"
make -j $(($(nproc)+1)) toolchain/install V=s 2>&1 | tee build.log | grep -i -E "^make.*(error|[12345]...Entering dir)"
make world V=s -j $(($(nproc)+1)) 2>&1 | tee build.log | grep -i -E "^make.*(error|[12345]...Entering dir)"
The source code of odhcp6c can be found at:
build-dir/target-XXXXX/odhcp6c-2025-XXXXX/src
In my case for my MT6000:
build_dir/target-aarch64_cortex-a53_musl/odhcp6c-2025.11.24~f98b6ec8
Change the source code with your favourite editor and compile again with:
make world V=s -j $(($(nproc)+1)) 2>&1 | tee build.log | grep -i -E "^make.*(error|[12345]...Entering dir)"
When using a patch file e.g. from a PR you first need to download the commit as patch file:
Open the commit
In the address bar just add .patch to the address so it looks like:
https://github.com/openwrt/odhcp6c/commit/27cbca9e4367ca911385ae0e6778309608ece3c1.patch
Download that file or copy paste, you now have the patch file to patch the source code.
That patch file need to be placed in:
package/network/ipv6/odhcp6c/patches
The patches directory is not there yet for odhcp6c so just create it and place the patch file there
now compile with:
make world V=s -j $(($(nproc)+1)) 2>&1 | tee build.log | grep -i -E "^make.*(error|[12345]...Entering dir)"
and Bob is your uncle
Not necessary so no need to read on:
If these patches are necessary just for more than one time I just add the patch to my repository (git add .) and do a git diff --cached > ../mypatch.patch
now I have made a patch of the patch, this is useful after a full clean of the repo I can automatically add the necessary patches back (I have several)
P.S. not a compiling expert so open to suggestions to improve my workflow ![]()
I would suggest to not pipe directly to grep.
Just copy the output with tee. And if there are errors and such you will want to compile with V=s anyway and see the full output.
But yes. Saving the output with tee is good.
Regarding nproc. I spare the math and just use nproc ![]()
I go even further, just hardcode it (and add time because I like to have a feel for how long things take).
alias make='time make -j32'
And since make takes the last value, just doing make -j1 overrides the "default" -j32 when I use it...
time { cmd1; cmd2; } | tee logfile ![]()
Snapshot builds should now have the odhcp6c improvements to recognize random and eui64.
OK.
- Does one need to add stable_secret?
- Has anything changed?
(Since changes and code aren't discussed with the users, kinda hard to guess.)
- Which link is the code that was relevant?
(I've been receiving emails and even one thay said "merged to main", but no clue which code was which.)
Hi, it think Dave is referring to this commit.
Yes, OK. And any thoughts about my questions?
(Changed, i.e., with configuration in UCI or LuCI.)
I realize the developers edited code without the user's input, so maybe you don't understand my inquiry since they never bothered to discuss it.
Stable_secret was required previously, so it's logical to ask if it's still necessary.
https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/ - it's not ready yet.
... i'll wait when it's ready. Too busy to build it myself.
