GithubHelp home page GithubHelp logo

ocochard / bsdrp Goto Github PK

View Code? Open in Web Editor NEW
173.0 40.0 38.0 10.18 MB

BSD Router Project

Home Page: https://bsdrp.net

License: Other

Shell 68.65% Forth 0.08% C 2.04% Makefile 0.01% Python 16.90% PowerShell 5.30% Lua 0.07% VBScript 2.13% Jinja 4.63% Vim Script 0.20%
freebsd bsd-router router routing network routing-protocols frrouting bird

bsdrp's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bsdrp's Issues

Can't add multiple flavors of port

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.

Need ISO download / No DNS?

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.

1.99 ftp-proxy issues

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

set metric does not work in route-map (argument is malformed)

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)#

bsnmpd not showing out octets for vlan interfaces

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"

Kernel panic with multiple BGP neighbors

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.

FRR OSPF hello with wrong mask

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.

Duplicates packets with Carp and ECMP

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.

Install netmap-ipfw

Hello Olivier,

Is there any way to install netmap-ipfw into an existing BSDRP ? (1.7 in my case)

Regards,

1.99 pfctl show states hangs

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.

Patch Proposal - graphpath

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.

trying to upgrade fails with error

-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)

/usr/local/etc/ in wrong location in poudriere image

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

Error while upgrading to 1.91

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?

"show ip bgp neighbors json" on frr crash bgpd

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

BSDRP + sr-iov and bhyve ?

I'm thinking to try bsdrp with sr-iov and bhyve. Has it been already tested? What about installing it with vm-bhyve?

Reproducible panic in jails when using multiple FIBs in host.

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

upgrade failed 1.99 to 1.991

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 ?

`ccache` support for recurring builds

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.

"unexpected operator" during install with poudriere firmware image

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 "

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.