User Details
- User Since
- Aug 26 2022, 6:24 PM (178 w, 7 h)
Sun, Jan 18
Sat, Jan 17
Avoid returning badkey error for EDDSA.
@ziaee
Thank you for reviewing the 53786 . I wanted to politely ping you on this revision, when you have a chance.
@glebius can I commit this revision?
Fri, Jan 16
LGTM
I also tested interface creation and destruction to advertise/withdraw its routes with bird3 (ospf) and openbgpd8.
LGTM.
I also tested with the CSUM_IP patch applied to if_epair.c:447 and saw good results.
Thu, Jan 15
Address @ziaee comments
I will test it with openbgp and bird.
I suspect that removing routes before detaching the actual interface might cause unexpected behavior in them.
Address @bz comment for manual.
Address @bz comments
P.S. Love the KAME project, but honestly, most of their userland code is weird.
For instance, I also have a branch for mobile ipv6 implementation, where I made a fair amount of changes to rtadvd, rtsold, rtadvctl, and others.
I have to say the layer of indirection in KAME code makes adding a single floating point number almost impossible without refactor.
I don't like their style of coding in userland either. However, To see if I should use our own style or simply follow existing, I checked the other revisions for these toolset found other developers simply didn't touch KAME style.
rebase to latest commit and cleanup unused var
Wed, Jan 14
Here is the output sample of rtadvctl:
% mdo rtadvctl -v show bridge0: flags=<UP,TRANSITIVE,PERSIST> status=<RA_SEND> mtu 1500 DefaultLifetime: 10m MinAdvInterval/MaxAdvInterval: 3m20s/10m AdvLinkMTU: <none>, Flags: MO, Preference: low ReachableTime: 0s, RetransTimer: 0s, CurHopLimit: 64 AdvIfPrefixes: yes Next RA send: Thu Jan 15 00:58:25 2026 Last RA send: Thu Jan 15 00:58:06 2026 Prefixes (1): 2a01:e140:1234:5678::/64 (CONFIG, vltime=30d, pltime=7d, flags=LA) DNSSL entries: spmzt.net (ltime=15m) PREF64: 2a01:e140:cafe:ff::/96 (ltime: 3m45s) 2a01:e140:dead:ff::/64 (ltime: 3m45s)
Change revision to add support for multiple PREF64 options.
leave trailing space on authors.adoc and add freebsd email uid to my pgp key for signing emails.
committers-src: Add myself (pouria@) with glebius@ as mentor
Mon, Jan 12
Convert action_show_pref64 from int to void and use assertion to address @zlei comment.
Sun, Jan 11
LGTM
also tested:
# kyua test -k /usr/tests/sys/netinet6/Kyuafile ndp ndp:ndp_add_gu_success -> passed [2.012s] ndp:ndp_del_gu_success -> passed [3.407s] ndp:ndp_prefix_len_mismatch -> passed [2.128s] ndp:ndp_prefix_lifetime -> passed [15.506s] ndp:ndp_prefix_lifetime_extend -> passed [0.078s] ndp:ndp_slaac_default_route -> passed [5.364s]
LGTM
tested:
Sat, Jan 10
Wed, Jan 7
IMHO, this case should not happen at all. Therefore, if there is a possible scenario, it maybe more appropriate to use KASSERT instead.
Tue, Jan 6
You're right! it's definitely overkill. Thank you!
LGTM. Why don't you inline it? I know that the compiler will do ultimately what it wants. but at least we can suggest the right thing to it.
Mon, Jan 5
Sat, Jan 3
Why don't we allow new committers to use curve algorithms?
I can see that there are multiple ed25519 keys currently in use by committers, as reported by ./doc/documentation/tools/pgpkeyreport.
However, committer's guide states that checkkey.sh must be used to ensure the key is valid.
The checkkey.sh script does not allow committers to use curve algorithms. Is this ok or should we write an exception for curve algorithms?
Thu, Jan 1
Fix ability to modifying generic and link-specific attributes at the same time in geneve_clone_modify_nl
Wed, Dec 31
LGTM
Mon, Dec 29
I wasn't sure whether this change was necessary or whether my approach was correct. I thought this was a known issue that someone would address eventually, and no one had enough time to do it. If that's not the case, I'll close this revision.
@bz Thank you for your feedback. @zlei If a bug appears in the future and the team decides it should be fixed, I can help.
Sun, Dec 28
Thank you for your review. Done.
Done suffix of what I have done bullet points was redundant.
Sat, Dec 27
Fri, Dec 26
Rebase and update according to 0bd0c3295ac09f759f2816b73cbd2d950e3bef7e .
Dec 19 2025
Dec 15 2025
LGTM
Dec 13 2025
Dec 12 2025
- Replace IFF_DRV_RUNNING with GENEVE_FLAG_RUNNING, address @glebius note
Dec 11 2025
Ok, I will try to fix it using VNET_SYSUNINIT().
Fix lint warning on if_geneve.sh test and remove changes to netlink_route.py to avoid error that are not mine
Dec 10 2025
Resolve PEP8 test warnings for netlink_route.py
Dec 8 2025
without this patch:
# kyua test -k /usr/tests/sys/net/Kyuafile if_geneve if_geneve:ether_ipv4 -> Dec 8 15:53:29 ftsr1 kernel: geneve1: DAD detected duplicate IPv6 address fe80:d::5a9c:fcff:fe10:3953: NS in/out/loopback=1/1/0, NA in=0 Dec 8 15:53:29 ftsr1 kernel: geneve1: DAD complete for fe80:d::5a9c:fcff:fe10:3953 - duplicate found Dec 8 15:53:29 ftsr1 kernel: geneve1: manual intervention required Dec 8 15:53:29 ftsr1 kernel: geneve1: possible hardware address duplication detected, disable IPv6 failed: atf-check failed; see the output of the test for details [1.162s] if_geneve:ether_ipv6 -> Dec 8 15:53:32 ftsr1 kernel: geneve1: DAD detected duplicate IPv6 address fe80:d::5a9c:fcff:fe10:3953: NS in/out/loopback=1/1/0, NA in=0 Dec 8 15:53:32 ftsr1 kernel: geneve1: DAD complete for fe80:d::5a9c:fcff:fe10:3953 - duplicate found Dec 8 15:53:32 ftsr1 kernel: geneve1: manual intervention required Dec 8 15:53:32 ftsr1 kernel: geneve1: possible hardware address duplication detected, disable IPv6 failed: atf-check failed; see the output of the test for details [1.172s] if_geneve:inherit_ipv4 -> passed [0.129s] if_geneve:inherit_ipv6 -> passed [0.166s]
This is tested and works. However, I'm not sure if it's clean or need a lock due to changing references in a async thread
The problem with netlink_socket not having the correct prison credential is that it’s run as an async/taskqueue function in a separate thread, therefore it doesn't have the same credentials as the caller thread. When we call the ioctl it runs as a synchronous thread and therefore doesn’t change its thread and its credentials. However, when we call netlink it runs in a separate thread named netlink_socket.
After writing some tests with kyua I found a problem to my code.
CURVNET_SET sets the curthread->td_vnet. However, ether_gen_addr use curthread->td_ucred->cr_prison->pr_vnet which is different.
It seems like nl_taskqueue_handler already sets curthread->td_vnet.
In summary, TD_TO_VNET value is not same as curvnet, and ether_gen_addr use curthread->td_ucred.
I wonder how can I change the td_ucred to the actual one.
Maybe I should use OSD(9)... I have to figure things out.
Dec 7 2025
No, However, it is the only interface that uses the if_clone_addreq_v2. So it's the only test that I can do to make sure existing implementation doesn't break.
During clone creation of my new Geneve interface module, I found that when I use ether_gen_addr it generates the same MAC address for interfaces with the same name in different jails.
However, it worked correctly when I'm not using create_nl (netlink). I found that netlink does not set the curvnet the way ioctl does.
Dec 2 2025
Nov 27 2025
Nov 22 2025
Nov 21 2025
Rebase to main. @tuexen Done. From now on, I'll always create commits from the base. Thank you.
Nov 19 2025
@tuexen done.