User Details
- User Since
- Jun 4 2014, 7:25 AM (628 w, 2 d)
Tue, Jun 16
Still works. :)
Mon, Jun 15
This seems to works now. I compared output of sockstat -46wn after reboot and after service syslogd restart - they seem the same.
Thu, Jun 11
I tested the case when syslogd started after bird and it can do it without patch. But we lose some messages.
I also tried to add fake routes before syslogd start and remove them just after it started. But since connect(2) does source address selection for local endpoint, this leads to binding to wrong source address.
Currently I see only two solutions:
- Rollback all commits to a point before migration to capability mode support and stay with old implementation.
- Use rsyslogd as full replacement or use it to listen on local port and forward to remote endpoints.
Thu, Jun 4
I think this commit breaks the case, when cursor is not yet set:
R_NEXT Retrieve the key/data pair immediately after the cursor.
If the cursor is not yet set, this is the same as the
R_FIRST flag.at least we found that now it is required to pass R_FIRST in the read loop:
+ flags = R_FIRST;
- while ((ret = dbh->seq(dbh, &keycol, &valuecol, R_NEXT)) == 0) {
+ while ((ret = dbh->seq(dbh, &keycol, &valuecol, flags)) == 0) {
+ if (flags == R_FIRST)
+ flags = R_NEXT;otherwise the application didn't see any entries in db file.
Wed, Jun 3
No, it doesn't help.
17146 syslogd CALL socket(PF_INET6,0x10000002<SOCK_DGRAM|SOCK_CLOEXEC>,IPPROTO_UDP)
17146 syslogd RET socket 5
17146 syslogd CALL connect(0x5,0x23c6f2034820,0x1c)
17146 syslogd STRU struct sockaddr { AF_INET6, [2a02:XXX::XXX]:1 }
17146 syslogd RET connect -1 errno 65 No route to host
17146 syslogd CALL close(0x5)
17146 syslogd RET close 0
17146 syslogd CALL socket(PF_INET,0x10000002<SOCK_DGRAM|SOCK_CLOEXEC>,IPPROTO_UDP)
17146 syslogd RET socket 5
17146 syslogd CALL connect(0x5,0x23c6f2034820,0x10)
17146 syslogd STRU struct sockaddr { AF_INET, 141.XXX.XXX.XXX:1 }
17146 syslogd RET connect -1 errno 51 Network is unreachable
17146 syslogd CALL close(0x5)
17146 syslogd RET close 0
17146 syslogd CALL socket(PF_INET6,0x2<SOCK_DGRAM>,IPPROTO_IP)
17146 syslogd RET socket 5
17146 syslogd CALL setsockopt(0x5,SOL_SOCKET,SO_REUSEPORT,0x23c6f20349fc,0x4)
17146 syslogd RET setsockopt 0
17146 syslogd CALL bind(0x5,0x4b0c58c436d8,0x1c)
17146 syslogd STRU struct sockaddr { AF_INET6, [::]:514 }
17146 syslogd RET bind 0
17146 syslogd CALL connect(0x5,0x4b0c58c132b0,0x1c)
17146 syslogd STRU struct sockaddr { AF_INET6, [2a02:XXX::XXX]:514 }
17146 syslogd RET connect -1 errno 65 No route to host
17146 syslogd CALL close(0x5)
17146 syslogd RET close 0
17146 syslogd CALL socket(PF_INET6,0x2<SOCK_DGRAM>,IPPROTO_IP)
17146 syslogd RET socket 5
17146 syslogd CALL connect(0x5,0x4b0c58c132b0,0x1c)
17146 syslogd STRU struct sockaddr { AF_INET6, [2a02:XXX::XXX]:514 }
17146 syslogd RET connect -1 errno 65 No route to host
17146 syslogd CALL close(0x5)
17146 syslogd RET close 0
17146 syslogd CALL socket(PF_INET,0x2<SOCK_DGRAM>,IPPROTO_IP)
17146 syslogd RET socket 5
17146 syslogd CALL setsockopt(0x5,SOL_SOCKET,SO_REUSEPORT,0x23c6f20349fc,0x4)
17146 syslogd RET setsockopt 0
17146 syslogd CALL bind(0x5,0x4b0c58c4f0c8,0x10)
17146 syslogd STRU struct sockaddr { AF_INET, 0.0.0.0:514 }
17146 syslogd RET bind 0
17146 syslogd CALL connect(0x5,0x4b0c58c12230,0x10)
17146 syslogd STRU struct sockaddr { AF_INET, 141.XXX.XXX.XXX:514 }
17146 syslogd RET connect -1 errno 51 Network is unreachable
17146 syslogd CALL close(0x5)
17146 syslogd RET close 0
17146 syslogd CALL socket(PF_INET,0x2<SOCK_DGRAM>,IPPROTO_IP)
17146 syslogd RET socket 5
17146 syslogd CALL connect(0x5,0x4b0c58c12230,0x10)
17146 syslogd STRU struct sockaddr { AF_INET, 141.XXX.XXX.XXX:514 }
17146 syslogd RET connect -1 errno 51 Network is unreachable
17146 syslogd CALL close(0x5)
17146 syslogd RET close 0
17146 syslogd CALL write(0x2,0x23c6f2034250,0x9)
17146 syslogd GIO fd 2 wrote 9 bytes
"syslogd: "
17146 syslogd RET write 9
17146 syslogd CALL write(0x2,0x23c6f2034340,0x3a)
17146 syslogd GIO fd 2 wrote 58 bytes
"failed to create forwarding socket for HOSTNAME.DOMAIN"
17146 syslogd RET write 58/0x3a
17146 syslogd CALL write(0x2,0x23c6f7472107,0x1)
17146 syslogd GIO fd 2 wrote 1 byte
"
"
17146 syslogd RET write 1
17146 syslogd CALL _exit(0x1)As I understand, due to capability mode we cannot use sendto and connect when syslogd is already started and configured.
Probably, specified address is not reachable during boot time and its route will appear when routing daemon will start.
But bird has # REQUIRE: DAEMON in its startup script and it will start much later.
Fri, May 29
Mon, May 25
Thu, May 21
May 19 2026
May 17 2026
May 15 2026
Add tests.
May 12 2026
May 7 2026
May 6 2026
Apr 30 2026
Apr 24 2026
Apr 9 2026
Apr 2 2026
Mar 31 2026
Mar 29 2026
Mar 24 2026
Mar 11 2026
Also, there are some references in carp(4) man page and ifconfig code.
Mar 1 2026
Feb 27 2026
Feb 20 2026
Feb 10 2026
Feb 6 2026
Feb 5 2026
Jan 16 2026
Do we still need this? I think scope modification ability was not used/implemented since KAME import.
Jan 12 2026
Jan 11 2026
LGTM.
Dec 22 2025
I think you should note that this fixes some rare panics, that are reported in derived projects: panic: esp_input_cb: Unexpected address family
Dec 11 2025
Dec 10 2025
Dec 3 2025
Nov 24 2025
Nov 18 2025
Nov 12 2025
Oct 27 2025
Oct 26 2025
Oct 25 2025
Oct 22 2025
It seems to have affected MLDv6: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290407
Oct 18 2025
Oct 17 2025
Oct 15 2025
Oct 14 2025
Yes, I think they were replaced with handlers from ipfw_sopt_handler.
Oct 13 2025
Oct 8 2025
Oct 7 2025
Oct 3 2025
Oct 1 2025
Sep 23 2025
Sep 16 2025
Sep 8 2025
Sep 2 2025
LGTM.
