ocochard / bsdrp Goto Github PK
View Code? Open in Web Editor NEWBSD Router Project
Home Page: https://bsdrp.net
License: Other
BSD Router Project
Home Page: https://bsdrp.net
License: Other
Make ISO download so it can be tested within the virtual box easily.
I do not see nameserver (primary/secondary) functionality listed so I cant replace my netbsd router with this. With 2GB image you have plenty of space to add one. I am using knot2 dns.
It seems that all files, that should be in /usr/local/etc are in /usr/local/etc/usr/local/etc/, so config files are not found and programs don't start, because rc.d is in wrong location. Was that just a typo from me during image creation or is this a bug?
[bodems@cr1]/usr/local/etc/usr/local/etc# ls
bash_completion.d ipsec.d pim6dd.conf snmpd.conf
bird.conf ipsec.secrets pim6dd.conf.sample ssl
bird.conf.example ipsec.secrets.sample pim6sd.conf ssmtp
dhcpd.conf mfc.conf pim6sd.conf.sample strongswan.conf
dhcpd.conf.sample mfc.conf.sample pimd.conf strongswan.conf.sample
dhcpd6.conf mlvpn pimd.conf.sample strongswan.d
dhcpd6.conf.sample monitrc.sample pimdd.conf.sample sudoers
exabgp mpd5 pkg.conf sudoers.d
freevrrpd.conf mrouted.conf pkg.conf.sample sudoers.dist
freevrrpd.conf.sample newsyslog.conf.d racoon swanctl
frr openldap rc.d tayga.conf
ipsec.conf pam.d smcroute.conf tayga.conf.example
ipsec.conf.sample periodic smcroute.conf.sample
Upgraded to BSDRP 1.99 ftp-proxy stopped working. Seems that 1.97 is the latest where it works. On 1.99, we see the following logs entries:
ftp-proxy [1145]: # 5 pf operation failed: Invalid argument
Requirements
2GB USB key/Compact flash media,
1Go of RAM (512MB are enough for virtualized tests)
should be:
Requirements
2GB USB key/Compact flash media,
1GB of RAM (512MB are enough for virtualized tests)
For example, targeting BSDRP 1.91, I want to install bird 1.6.4 instead of bird 2.x.
There is a net/bird
port for FreeBSD 11 which seems to support FLAVOR=ipv4
and FLAVOR=ipv6
as flavors, and apparently the separate net/bird6
port is no longer in existence. I want to install both flavors in the image.
In my .nano file I tried the following:
add_port "net/bird" "FLAVOR=ipv4"
add_port "net/bird" "FLAVOR=ipv6"
... but only one or other gets installed, leaving it impossible to install both bird
and bird6
.
I guess this is because the working directory/mount for net/bird
is overwritten on the second pass.
Hi,
I cannot do rollback configuration with config rollback
.
[root@router]~# config rollback
Rollback the archived configuration
This script is already running (file /var/run/config.bsdrp.lock detected or /var full)
I think it's trying to get the lock twice:
BSDRP/BSDRP/Files/usr/local/sbin/config
Line 323 in 3497f08
BSDRP/BSDRP/Files/usr/local/sbin/config
Line 344 in 3497f08
packets entering the router on a carp interface towards a destination having multiple routes in table (bird with netlink flavor) gets routed to all nexthops. Destination receives duplicates packets (one for each router).
The carp interface is the gateway for hosts on a vlan.
BSDRP 1.91
It shows GRE interfaces as unnumbered and consequently send "hello" messages by OSPF with 0.0.0.0 mask from an /30 interface. RouterOS on the other side doesn't accept wrong mask "hello" and routing is broken.
There is how it looks like.
system:
[root@n101v01]~# ifconfig tok1
tok1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1330
options=80000<LINKSTATE>
tunnel inet ip1 --> ip2
inet 10.0.0.1 --> 10.0.0.2 netmask 0xfffffffc
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
groups: gre
FRR cli:
n101v01# show ip ospf interface tok1
tok1 is up
ifindex 7, MTU 1330 bytes, BW 0 Mbit <UP,POINTOPOINT,RUNNING,MULTICAST>
This interface is UNNUMBERED, Area 0.0.0.0
MTU mismatch detection: enabled
Router ID 10.10.1.1, Network Type POINTOPOINT, Cost: 10
Transmit Delay is 1 sec, State Point-To-Point, Priority 1
No backup designated router on this network
Multicast group memberships: OSPFAllRouters
Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
Hello due in 2.719s
Neighbor Count is 1, Adjacent neighbor count is 1
On the other BSDRP 1.90 system it's all right with masks.
It seems to be specific to bsdrp (at least version 1.90). The same command is working under freebsd 11.1 and frr 3.0.3 (build yesterday from ports).
Here the problem:
[root@router]~# vtysh
Hello, this is FRRouting (version 3.0.3).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
router.bsdrp.net# conf t
router.bsdrp.net(config)# ip prefix-list NETZ1 seq 5 permit 192.168.0.0/20
router.bsdrp.net(config)# route-map WEG1_v4 permit 10
router.bsdrp.net(config-route-map)# match ip address prefix-list NETZ1
router.bsdrp.net(config-route-map)# set metric 50
% Argument is malformed.
router.bsdrp.net(config-route-map)#
Hi.
First, let me thank you for this project. BSDRP is running our main firewalls since 5 years.
I accidentally ran in this problem :
I have an sshd running in fib 2 (which as default route on some admin interface) on main system.
Hence, when login with said daemon, the shell runs on fib 2.
If, from this shell, jexec into jail and start a process using network, it will panic kernel.
Using setfib 0 jexec ... does not.
Jails only have default fib (0).
cpuid = 13; apic id = 0d
fault virtual address = 0x0
fault code = supervisor read instruction, page not present
instruction pointer = 0x20:0x0
stack pointer = 0x28:0xfffffe013e03ca08
frame pointer = 0x28:0xfffffe013e03ca30
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 49685 (drill)
rdi: 6000600191236 rsi: 110ac rdx: 0
rcx: 20 r8: 0 r9: fffff8013308ea00
rax: fffff80004f20b98 rbx: fffffe013e03cac8 rbp: fffffe013e03ca30
r10: 11 r11: fffffe010b06e020 r12: fffffe010b06e020
r13: fffff8011b8701a8 r14: 0 r15: 0
trap number = 12
panic: page fault
cpuid = 13
time = 1675949685
KDB: stack backtrace:
#0 0xffffffff80bf80bd at kdb_backtrace+0x5d
#1 0xffffffff80baacbc at vpanic+0x17c
#2 0xffffffff80baab33 at panic+0x43
#3 0xffffffff8101ac19 at trap_fatal+0x409
#4 0xffffffff8101ac6f at trap_pfault+0x4f
#5 0xffffffff8101a200 at trap+0x270
#6 0xffffffff80ff1f88 at calltrap+0x8
#7 0xffffffff80d154cc at in_pcbladdr+0x7c
#8 0xffffffff80d151da at in_pcbconnect_setup+0x1ba
#9 0xffffffff80d50343 at udp_send+0x5f3
#10 0xffffffff80c4c0ed at sosend_dgram+0x33d
#11 0xffffffff80c4d01b at sosend+0x3b
#12 0xffffffff80c53ab2 at kern_sendit+0x192
#13 0xffffffff80c53dda at sendit+0xba
#14 0xffffffff80c53d0d at sys_sendto+0x4d
#15 0xffffffff8101b51c at amd64_syscall+0x10c
#16 0xffffffff80ff289b at fast_syscall_common+0xf8
Uptime: 15m44s
When upgrading from 1.90 to 1.91, I get the following error:
[root@bgp2]/usr/local/etc# fetch 'https://bodems.net/BSDRP-1.91-upgrade-amd64-vga.img.xz' -o - | xzcat | upgrade
- 100% of 93 MB 28 kBps 56m33s
931707+0 records in
7278+1 records out
477033984 bytes transferred in 3393.987416 secs (140553 bytes/sec)
** /dev/vtbd0s2a (NO WRITE)
** Last Mounted on /usr/obj/BSDRP.amd64/_.mnt
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
15539 files, 818985 used, 97120 free (1048 frags, 12009 blocks, 0.1% fragmentation)
umount: unmount of /cfg failed: Device busy
EXIT: ERROR: Can't umount /cfg
Any idea about this?
After my brother Protoierey Gennadiy Zaridze fell on the router due to progressive fibrodysplasia ossificans, the system stopped working. What to do?
-rw-r--r-- 1 root dingo 62809688 Sep 26 21:55 BSDRP-1.61-full-amd64-vga.img.xz
-rw-r--r-- 1 root dingo 62728164 Sep 26 21:55 BSDRP-1.61-upgrade-amd64-vga.img.xz
ssh [email protected] cat /home/dingo/BSDRP-1.61-upgrade-amd64-vga.img.xz | xzcat | upgrade
Password for [email protected]:
dd: /dev/ada0s2: short write on character device
dd: /dev/ada0s2: end of device
465920+0 records in
3639+1 records out
238500864 bytes transferred in 26.083972 secs (9143579 bytes/sec)
EXIT: ERROR: Can't install the upgrade on /dev/ada0s2
trying to upgrade fails with error
set -eu
uname -m
ARCH=amd64
GPT=false
[ -f /etc/nanobsd.conf ]
. /etc/nanobsd.conf
NANO_DRIVE=ufs/BSDRP
LABEL=BSDRP
grep -q =gpt/ /etc/nanobsd.conf
get_info
false
mbr_get_info
mount
grep -q '/dev/ufs/BSDRPs1a on / '
CURRENT_SLICE=s1
CURRENT_PART=1
NEXT_SLICE=s2
NEXT_PART=2
BSD_SLICE=a
NEXT_LABEL_ID=s2a
CURRENT_LABEL_ID=s1a
glabel status
grep ufs/BSDRPs1a
awk '{ s=$3; sub(/s[12]a$/, "", s); print s; }'
boot_dev=/dev/ada0
[ -z /dev/ada0 ]
return 0
write_new_image
[ -c /dev/ada0s2 ]
dd if=/dev/zero of=/dev/ada0s2 bs=1m count=1
dd of=/dev/ada0s2 obs=64k
Password for [email protected]:
dd: /dev/ada0s2: short write on character device
dd: /dev/ada0s2: end of device
465920+0 records in
3639+1 records out
238500864 bytes transferred in 28.496121 secs (8369590 bytes/sec)
die 'ERROR: Can'''t install the upgrade on /dev/ada0s2'
echo -n 'EXIT: '
EXIT: + echo 'ERROR: Can'''t install the upgrade on /dev/ada0s2'
ERROR: Can't install the upgrade on /dev/ada0s2
exit 1
gpart show
=> 63 2030049 ada0 MBR (991M)
63 465822 1 freebsd active
465885 63 - free - (32K)
465948 465822 2 freebsd (227M)
931770 32130 3 freebsd (16M)
963900 1066212 4 freebsd (521M)
=> 0 465822 ada0s1 BSD (227M)
0 16 - free - (8.0K)
16 465806 1 !0 (227M)
=> 63 2030049 diskid/DISK-2010083100052C562C56 MBR (991M)
63 465822 1 freebsd active
465885 63 - free - (32K)
465948 465822 2 freebsd (227M)
931770 32130 3 freebsd (16M)
963900 1066212 4 freebsd (521M)
=> 0 465822 diskid/DISK-2010083100052C562C56s1 BSD (227M)
0 16 - free - (8.0K)
16 465806 1 !0 (227M)
Hi,
thanks for great tool.
I tried to use it with 3G/tun0 interface and its not very well suited towards that.
I made some modifications and here is the patch of these mods.
% diff -u ./graphpath.sh.ORG ./graphpath.sh
--- ./graphpath.sh.ORG 2018-04-25 09:57:09.547820000 +0200
+++ ./graphpath.sh 2018-04-25 10:12:27.483938000 +0200
@@ -149,6 +149,10 @@
EOF
fi
printf '| IP: %-18s |\n' ${source_gateway}
+else
+cat <<EOF
++----------------------------+
+EOF
fi # [ "${source_gateway}" != "LAN" ]
printf '| ARP: %-18s |\n' ${source_gateway_arp}
@@ -168,10 +172,13 @@
+----------------------------+
EOF
printf '| IF: %-18s |\n' ${source_interface}
-printf '| MAC: %-18s |\n' ${source_interface_mac}
+if [ "x${source_interface_mac}" != "x" ]
+then
+ printf '| MAC: %-18s |\n' ${source_interface_mac}
+fi
printf '| IP: %-18s |\n' ${source_interface_ip}
printf '| net: %-18s |\n' ${source_destination}
-printf '| mask: %-18s |\n' ${source_mask}
+# printf '| mask: %-18s |\n' ${source_mask}
cat <<EOF
| |
| THIS ${device} |
@@ -185,7 +192,10 @@
fi
if [ "${source_interface}" != ${destination_interface} ]; then
printf '| IP: %-18s |\n' ${destination_interface_ip}
- printf '| MAC: %-18s |\n' ${destination_interface_mac}
+ if [ "x${destination_interface_mac}" != "x" ]
+ then
+ printf '| MAC: %-18s |\n' ${destination_interface_mac}
+ fi
printf '| IF: %-18s |\n' ${destination_interface}
fi
cat <<EOF
Here is the result from non modified graphpath script.
% ./graphpath.sh.ORG 37.249.221.39 1.1.1.1
This tool is mainly designed for drawing router or firewall routing view
+----------------------------+
| SOURCE HOST |
| IP: 37.249.221.39 |
+----------------------------+
|
| ARP: empty |
+----------------------------+
|
+----------------------------+
| IF: lo0 |
| MAC: |
| IP: 127.0.0.1 |
| net: 37.249.221.39 |
./graphpath.sh.ORG: source_mask: parameter not set
Here is the fixed one with patch.
% ./graphpath.sh 37.249.221.39 1.1.1.1
This tool is mainly designed for drawing router or firewall routing view
+----------------------------+
| SOURCE HOST |
| IP: 37.249.221.39 |
+----------------------------+
|
+----------------------------+
| ARP: empty |
+----------------------------+
|
+----------------------------+
| IF: lo0 |
| IP: 127.0.0.1 |
| net: 37.249.221.39 |
| |
| THIS HOST |
| |
| net: 0.0.0.0 |
| mask: 0.0.0.0 |
| IP: 37.249.221.39 |
| IF: tun0 |
+----------------------------+
Regards.
Reported by thebug on IRC, and reproduced with BSDRP 1.91, under the bgp lab:
R4# show bgp summary
IPv6 Unicast Summary:
BGP router identifier 0.0.0.204, local AS number 64512 vrf-id 0
BGP table version 7
RIB entries 13, using 1976 bytes of memory
Peers 4, using 54 KiB of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
2001:db8:2::3 4 100 5 8 0 0 0 00:00:20 3
2001:db8:3::5 4 64512 6 6 0 0 0 00:00:30 4
Total number of neighbors 2
R4# show ip bgp neighbors json
vtysh: error reading from bgpd: No such file or directory (2)Warning: closing connection to bgpd because of an I/O error!
R4# show bgp summary
bgpd is not running
net/isc-dhcp44-server has been deprecated. Add net/kea to BSDRP-pkglist as the most likely successor for its replacement.
As a side note, KeaMA can be used to migrate the configuration labs/examples.
Upgraded to 1.99, and we cannot display pf states, as it hangs in kernel space. The command used:
# pfctl -ss
It hangs forever, cannot be killed. This works on earlier versions. Our box is a carp backup router, howewer, it should work, and also works on earlier releases.
I'm thinking to try bsdrp with sr-iov and bhyve. Has it been already tested? What about installing it with vm-bhyve?
bgpq4 was forked from bgpq3 almost a year ago.
The contributors are very active since then. and received a few new features and several improvements.
bgpq4 is also available on https://www.freshports.org/net-mgmt/bgpq4
No extra dependencies.
My suggestion for the next releases.
upgrading from 1.99 to 1.991, produce this following error:
[root@ro]~# fetch 'https://jaist.dl.sourceforge.net/project/bsdrp/BSD_Router_Project/1.991/amd64/BSDRP-1.991-full-amd64-vga.img.xz' -o - | xzcat | upgrade
- 99% of 144 MB 6864 kBps 39sdd: /dev/ada0s2: short write on character device
dd: /dev/ada0s2: end of device
1911680+0 records in
14934+1 records out
978776064 bytes transferred in 39.416624 secs (24831555 bytes/sec)
EXIT: ERROR: Can't install the upgrade on /dev/ada0s2
[root@ro]~#
df -h output:
[root@ro]~# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ufs/BSDRPs1a 918M 648M 270M 71% /
devfs 1.0K 1.0K 0B 100% /dev
tmpfs 10M 4.4M 5.6M 44% /etc
tmpfs 31M 4.6M 26M 15% /var
fdescfs 1.0K 1.0K 0B 100% /dev/fd
procfs 4.0K 4.0K 0B 100% /proc
[root@ro]~#
Any idea about this ?
Hello Olivier,
Is there any way to install netmap-ipfw into an existing BSDRP ? (1.7 in my case)
Regards,
it would be useful to have UEFI boot mode
After upgrade BSDRP from 1.56 to 1.59 version bsnmpd not showing out 64-bits octets for vlan interfaces.
[root@router]~# cat /etc/version
1.59
[root@router]~# bsnmpd -h
Begemot simple SNMP daemon. Copyright (c) 2001-2002 Fraunhofer Institute for
Open Communication Systems (FhG Fokus). All rights reserved.
Copyright (c) 2010 The FreeBSD Foundation. All rights reserved.
[root@router]~# ifconfig -a
igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM>
ether 00:1b:21:61:8b:f4
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:1b:21:61:8b:f4
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:1b:21:61:8b:f4
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
laggproto lacp lagghash l3,l4
laggport: igb0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: em0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
lagg0.1004: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=103<RXCSUM,TXCSUM,TSO4>
ether 00:1b:21:61:8b:f4
inet x.x.x.x netmask 0xfffffffc broadcast x.x.x.x
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
vlan: 1004 parent interface: lagg0
[root@router]~# bsnmpget -s xxxx@localhost ifName.7
ifName[7] = lagg0
[root@router]~# bsnmpget -s xxxx@localhost ifHCInOctets.7
ifHCInOctets[7] = 5544554463582
[root@router]~# bsnmpget -s xxxx@localhost ifName.12
ifName[12] = lagg0.1004
[root@router]~# bsnmpget -s xxxx@localhost ifHCInOctets.12
ifHCInOctets[12] = No Such Instance
[root@router]~# cat /etc/snmpd.config
location := "......."
contact := "...."
system := 1 # FreeBSD
traphost := localhost
trapport := 162
read := "xxxx"
trap := "..............."
NoAuthProtocol := 1.3.6.1.6.3.10.1.1.1
HMACMD5AuthProtocol := 1.3.6.1.6.3.10.1.1.2
HMACSHAAuthProtocol := 1.3.6.1.6.3.10.1.1.3
NoPrivProtocol := 1.3.6.1.6.3.10.1.2.1
DESPrivProtocol := 1.3.6.1.6.3.10.1.2.2
AesCfb128Protocol := 1.3.6.1.6.3.10.1.2.4
securityModelAny := 0
securityModelSNMPv1 := 1
securityModelSNMPv2c := 2
securityModelUSM := 3
MPmodelSNMPv1 := 0
MPmodelSNMPv2c := 1
MPmodelSNMPv3 := 3
noAuthNoPriv := 1
authNoPriv := 2
authPriv := 3
%snmpd
begemotSnmpdDebugDumpPdus = 2
begemotSnmpdDebugSyslogPri = 7
begemotSnmpdCommunityString.0.1 = $(read)
begemotSnmpdCommunityDisable = 1
begemotSnmpdPortStatus.10.20.0.1.161 = 1
begemotSnmpdPortStatus.127.0.0.1.161 = 1
begemotSnmpdLocalPortStatus."/var/run/snmpd.sock" = 1
begemotSnmpdLocalPortType."/var/run/snmpd.sock" = 4
begemotTrapSinkStatus.[$(traphost)].$(trapport) = 4
begemotTrapSinkVersion.[$(traphost)].$(trapport) = 2
begemotTrapSinkComm.[$(traphost)].$(trapport) = $(trap)
sysContact = $(contact)
sysLocation = $(location)
sysObjectId = 1.3.6.1.4.1.12325.1.1.2.1.$(system)
snmpEnableAuthenTraps = 2
begemotSnmpdModulePath."mibII" = "/usr/lib/snmp_mibII.so"
begemotSnmpdModulePath."ucd" = "/usr/local/lib/snmp_ucd.so"
2 users report this problem:
(kgdb) bt
#0 __curthread () at ./machine/pcpu.h:230
#1 doadump (textdump=<optimized out>) at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/kern/kern_shutdown.c:371
#2 0xffffffff80406d6b in db_dump (dummy=<optimized out>, dummy2=<unavailable>, dummy3=<unavailable>, dummy4=<unavailable>)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/ddb/db_command.c:574
#3 0xffffffff80406b39 in db_command (last_cmdp=<optimized out>, cmd_table=<optimized out>, dopager=1)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/ddb/db_command.c:481
#4 0xffffffff804068b4 in db_command_loop () at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/ddb/db_command.c:534
#5 0xffffffff80409aff in db_trap (type=<optimized out>, code=<optimized out>)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/ddb/db_main.c:252
#6 0xffffffff809ef774 in kdb_trap (type=3, code=0, tf=0xfffffe0076d97120)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/kern/subr_kdb.c:693
#7 0xffffffff80de35dc in trap (frame=0xfffffe0076d97120) at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/amd64/amd64/trap.c:619
#8 <signal handler called>
#9 kdb_enter (why=0xffffffff8105668c "panic", msg=<optimized out>) at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/kern/subr_kdb.c:479
#10 0xffffffff809a6611 in vpanic (fmt=<optimized out>, ap=0xfffffe0076d97290)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/kern/kern_shutdown.c:866
#11 0xffffffff809a6433 in panic (fmt=0xffffffff81930338 <gdb_consdev> "\240\246\067\201\377\377\377\377\001")
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/kern/kern_shutdown.c:804
#12 0xffffffff80de3a84 in trap_fatal (frame=0xfffffe0076d97490, eva=112)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/amd64/amd64/trap.c:946
#13 0xffffffff80de3ae9 in trap_pfault (frame=0xfffffe0076d97490, usermode=0)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/amd64/amd64/trap.c:765
#14 0xffffffff80de30ef in trap (frame=0xfffffe0076d97490) at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/amd64/amd64/trap.c:441
#15 <signal handler called>
#16 rt_notifydelete (rt=0x0, info=<optimized out>) at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/net/route.c:1251
#17 rtrequest1_fib (req=<optimized out>, info=0xfffffe0076d97700, ret_nrt=0xfffffe0076d977b8, fibnum=<optimized out>)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/net/route.c:1566
#18 0xffffffff80ace58a in route_output (m=<optimized out>, so=<optimized out>)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/net/rtsock.c:723
#19 0xffffffff80a3aa6a in sosend_generic (so=0xfffff800063b5000, addr=0x0, uio=0xfffffe0076d97a50, top=0xfffff8000649d400, control=0x0,
flags=<optimized out>, td=0xfffff80006e5e580) at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/kern/uipc_socket.c:1582
So, if I understood correctly, the intersting part is here:
#15 <signal handler called>
#16 rt_notifydelete (rt=0x0, info=<optimized out>) at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/net/route.c:1251
#17 rtrequest1_fib (req=<optimized out>, info=0xfffffe0076d97700, ret_nrt=0xfffffe0076d977b8, fibnum=<optimized out>)
at /usr/local/BSDRP/BSDRPstable/FreeBSD/src/sys/net/route.c:1566
So function rtrequest1_fib called rt_notifydelete with a rt=0x0 (NULL) and this triggered the panic.
But this should not be possible, because the rtrequest1_fib code is this one :
1560 RIB_WLOCK(rnh);
1561 rt = rt_unlinkrte(rnh, info, &error);
1562 RIB_WUNLOCK(rnh);
1563 if (error != 0)
1564 return (error);
1565
1566 rt_notifydelete(rt, info);
And the if (error !=0) should catch rt_unlinkrte() returning an error (then a NULL pointer).
Is this possible than this pointer be changed to NULL (destroyed?) between the RIB_WUNLOCK(rnh) and the rt_notifydelete() call ?
Need to test by upgrading this FreeBSD-stable to r345764 that is fixing some locking.
When I try to install the BSDRP poudriere firmware image to an m.2-SATA SSD, I get the following error:
[root@router]/# camcontrol devlist
<AHCI SGPIO Enclosure 1.00 0001> at scbus8 target 0 lun 0 (ses0,pass0)
<WDC WDS120G1G0B-00RC30 Z3311000> at scbus9 target 0 lun 0 (ada0,pass1)
<AHCI SGPIO Enclosure 1.00 0001> at scbus15 target 0 lun 0 (ses1,pass2)
<USB Flash Disk 1100> at scbus16 target 0 lun 0 (pass3,da0)
[root@router]/# system install ada0
[: ==: unexpected operator
/usr/local/sbin/system: arithmetic expression: expecting primary: " 1 + / 2048 "
During the build process it is usually needed to make a small change and rebuild the image. I was wondering if leveraging ccache
would be beneficial.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.