-
sfox
interspersed within the article
-
tm512
thinking I might try out mesa-devel to see if the situation is any different as long as libva actually picks up on the drivers
-
tm512
suspecting this is some kind of regression since the hardware support should be here, Mesa just isn't picking up on it
-
tm512
might be worth trying out the amdgpu DDX driver instead of modesetting, since it does seem like VAAPI does have to interact with the X server
-
tm512
grasping at straws though
-
tm512
I don't want to have to test on Linux, but... I might have to
-
tm512
welp, mesa-devel's VAAPI driver reports VP9 support
-
tm512
Firefox picks it up as well
-
tm512
now running into another issue, youtube playback under Firefox drops tons of frames, like roughly half. immediately suspected picom, but disabling picom didn't change anything
-
tm512
guess I'll have to try the amdgpu DDX after all, see if the situation is any different there
-
tm512
exact same issue on the amdgpu DDX :/
-
tm512
seeing some reports of framerate issues on AMDGPU with kern.sched.steal_thresh at the default value of 2, apparently setting it to 1 fixes it for some people. I can give it a try, but are there going to be any side effects of messing with that setting?
-
tm512
guessing the steal_thresh parameter will affect the latency/throughput tradeoff regarding preemption?
-
tm512
kern.sched.steal_thresh seemingly has no impact, and I'm also finding some youtube videos that don't drop frames except for 1 or 2 at the very start of playback
-
tm512
also weird is that it reports dropping basically 50% of frames, but the video looks more or less like 60fps with a few hitches
-
sn00p
i have 5 directories with rar files in them how do I extract them all once
-
tm512
uh, does anyone know why latest does not have packages for chromium or ungoogled-chromium?
-
voy4g3r2
i am looking at epair (
man.freebsd.org/cgi/man.cgi?query=e….0-CURRENT&arch=default&format=html) and tap (
man.freebsd.org/cgi/man.cgi?query=t….0-CURRENT&arch=default&format=html) and why would one use epair for jails and tap for bhyve.. is there any reason.. other then convention, that i may be missing?
-
VimDiesel
Title: epair(4)
-
lw
voy4g3r2: epair is designed for two instances of the kernel IP stack to communicate with each other (for example, the host, and a VNET jail). tap is designed for a userland process to communicate with the kernel IP stack, which is what bhyve does
-
lw
a tap is an epair where one end of the connection is a userland process instead of a network interface
-
voy4g3r2
hwhich is why they mentione VMnet devices in tap not epair
-
voy4g3r2
i am trying to move the tap/epair stuff to the intel nics and i did not comment too well..
-
voy4g3r2
ah and i setup a jail with vnet.. hrm
-
voy4g3r2
lw: thank you, i was about to drop the epair stuff as i am like.. i can do this with tap.. so i thought
-
voy4g3r2
so when i have ifconfig_tap0="link0 up" the link0 is that userland / kernel bridge?
-
lw
link0 is a flag that tells the kernel not to set the interface down when the process using it (bhyve) exits
-
lw
('linkX' are a set of generic interface flags that are used for interface-specific functionality like this when there's no generic flag for it)
-
voy4g3r2
oh yeah, i have those notes.. we should NOT bring down these taps with the bhyve as we may want to 'reuse'
-
voy4g3r2
which would lead me to believe.. since i have 3 nic , i really should have a link0 link1 link2 each assocaited with a nic
-
voy4g3r2
because if i would "reuse" link0 between different bridges that would just be a mess
-
lw
no... link0 doesn't mean "link number 0", it means "the interface-specific configuration flag number 0", which for tap, means "do not down the interface when the process exits". all your tap interfaces should have link0 set
-
tm512
any way I can install chromium from quarterly without completely switching to quarterly? seems like asking for dependency issues, tbh
-
voy4g3r2
-
VimDiesel
Title: dpaste/Gar51 (Plain Text)
-
voy4g3r2
i made sure to add some type of comment
-
voy4g3r2
i am not a fan of the one cloned_interfaces entry but it will work
-
voy4g3r2
well lets see what happens.. because re0 needs to go
-
lw
voy4g3r2: having three interfaces on the same subnet is a bit unusual, you probably just want one bridge with all the tap/epair interfaces and igb0 in it?
-
lw
and then don't use re0/igb1 at all
-
voy4g3r2
if i ever decide to execute the mikrotik stuff i want to use igb1 as an isolated network all together
-
voy4g3r2
i am decomissioning the re0 now :) just baby steps
-
voy4g3r2
1.) get the igb0,1 working 2.) get a bridge setup on igb0 3.) shutdown re0
-
voy4g3r2
well it looks like it worked ifconfig bridge0 down
-
voy4g3r2
and still have music going and bhyve is still up
-
voy4g3r2
bah.. bridge1 not getting an ip.. deep diving again
-
CowboyNeal
you can only have one bridge
-
CowboyNeal
you can make more, but you can't actually use them
-
CowboyNeal
I just encountered this today
-
lw
that's not true, i have a system right here using two bridges just fine
-
CowboyNeal
huh, then I don't know why my second bridge didn't work
-
CowboyNeal
I don't have the url handy that said to not make multiple
-
lw
there are quite a few ways to configure bridges wrongly which are not well documented, and also some related driver bugs like the ixgbe(4) vlan issue
-
lw
(which don't prevent having multiple bridges, but can cause otherwise reasonable configurations to not work for no apparent reason)
-
voy4g3r2
i am pretty good at configuring things wrongly
-
voy4g3r2
but i figured the bridge on different nic would be okay as the if_bridge manual pages state, as long as you cloned the interfaces, i should be good
-
voy4g3r2
make me wonder how the heck my -CURRENT bhyve is working as the config points to bridge1 device
-
tm512
if anyone here has run into this issue with Firefox dropping frames in videos, despite no apparent hardware bottleneck, and has managed to find a way to work around it, I'd love to hear. it seems specific to Firefox, because I tried out Falkon, and despite that being restricted to software decoding, videos play back smoothly
-
tm512
on Firefox, WebRender is hardware accelerated and I've got VAAPI enabled to decode both VP9 and H.264 but at least VP9 drops about 50% of frames on most 60fps videos, the issue apparently doesn't show up on 30fps videos
-
michaeldexter
-
VimDiesel
Title: mk-epair · GitHub
-
tm512
so I haven't tested this solution extensively, so an obligatory "knock on wood", but setting Firefox's layout.frame_rate setting from -1 (unlimited?) to 60 (the monitor's refresh rate) seems to have almost completely fixed youtube's frame drops
-
tm512
down to about a 1% drop rate from nearly 50%
-
rtprio
michaeldexter: is there an advantage to epair over tun (for bhyve)
-
lw
rtprio: bhyve cannot use epair at all, as far as i know
-
rtprio
jails only, eh
-
lw
right. tap is for when the traffic originates from userland (as in bhyve), epair is for when the traffic originates from the kernel, which is mostly jails, although you could perhaps use it for other things
-
tm512
I hope the reason the gzdoom port is still on a release from 2021 is just because nobody is actively maintaining it, and not any technical reasons
-
lw
i've wondered about, if you have a bunch of bhyve VMs with tap interfaces in a bridge, putting one end of an epair interface into the bridge as well to make the host's network config / firewalling easier... but i've never actually tried that. (i would be concerned about performance, but if_bridge performance is already quite bad)
-
tm512
gzdoom's port is on 4.7.1 whereas the latest stable release is 4.11.3 from last october
-
tm512
guess I will have to try compiling it to see
-
rtprio
is it that bad?
-
tm512
regarding GZDoom? 4.7.1 is old enough to be lacking compatibility with newer map/mod releases, afaik
-
tm512
guess I need to hold cmake's hand here. the ninja build file it generated doesn't put /usr/local/include in the include path, evidently
-
tm512
I would think that'd be a given on FreeBSD
-
tm512
especially weird since it has found libraries I've got in /usr/local
-
nimaje
tm512: regarding your question on figuring out why something doesn't have packages, try
portsfallout.com you can reach the poudriere web interface of the builders from there too to find skipped ports
-
VimDiesel
Title: Dashboard - FreeBSD pkg-fallout
-
tm512
thanks for the pointer
-
tm512
there doesn't appear to be any entry for chromium in the 140amd64-default build environment, but the package is just nowhere to be found in the latest repo still
-
sfox
lw: what do you mean if_bridge's performance is bad?
-
lw
sfox: i don't have a link off hand, but received knowledge if that network performance via if_bridge is noticably lower than via a normal network interface
-
nimaje
-
tm512
trying to compile the latest GZDoom source from git. eventually, it gets to a file which includes sys/stat.h, which leads to:
-
tm512
/usr/include/sys/time.h:326:5: error: member access into incomplete type 'struct timeval'
-
tm512
reminding me of one of the annoyances that helped move me away from daily driving FreeBSD, and not really something that's FreeBSD's fault, just the fact that many developers don't really ever keep it in mind
-
tm512
nimaje: that gives "unable to connect" for me
-
tm512
regarding these compilation issues, I guess investigating further is gonna have to wait until tomorrow, but if anyone knows why sys/stat.h would include sys/time.h in a way that would ever break compilation, I'd like to know
-
tm512
errors like this make me think another header is not being included somewhere, or a necessary define is missing
-
nimaje
-
VimDiesel
Title: Poudriere bulk results
-
tm512
that link works
-
nimaje
hm, but struct timeval gets unconditionally defined by sys/_timeval.h which unconditionally gets included by sys/time.h, so it seems strange that it would be incomplete
-
tm512
-
VimDiesel
Title: gzdoom/src/common/filesystem/source/fs_findfile.cpp at master · ZDoom/gzdoom · GitHub
-
tm512
I don't think I saw any patches to this file in the gzdoom port, so either this file didn't exist in 4.7.1, or they've done something since then to break it
-
tm512
seems the file did not exist in 4.7.1, they were using something else for filesystem stuff
-
nimaje
can you confirm, that on your system too sys/time.h unconditionally includes sys/_timeval.h and that unconditionally defines struct timeval ? (well, except for the include guards) I really can't see how struct timeval could be incomplete at that point
-
crest
voy4g3r2: tap and epair interfaces are similar in that they connect two parts of software inside the same (freebsd) system
-
crest
but epair connects two kernel network stacks (e.g. the host and a vnet enabled jail)
-
crest
while a tap interface connects a userspace process (e.g. bhyve, openvpn) with the kernel network stack
-
crest
so the tap interface is both a network interface and a character device
-
crest
if you write to the tap device the kernel sees the data as ethernet frame
-
crest
and if you send on the tap device the userspace sees it a data (to be interpreted as ethernet frame) on the device file
-
crest
epairs a different from all other clonable network interfaces because they always exist pairs
-
crest
if you ask the kernel to create epair0 it will (attempt to) create epair0a and epair0b as a pair
-
crest
you can't have one without the other
-
crest
if you destroy epair0b it also destroys epair0a (works the other way around too)
-
tm512
nimaje: yes, on line 37
-
tm512
regarding the _timeval.h include anyway
-
tm512
and that does indeed define struct timeval
-
tm512
the member access that triggers the "incomplete type" error is line 326 in sys/time.h
-
kwiat
@sc@s
-
kwiat
oops, sorry
-
tm512
nimaje: I may look at the preprocessor output when I get the opportunity to continue investigating this
-
voy4g3r2
crest: yes i did learn about that neat epair thing.. it makes an a and b
-
crest
voy4g3r2: did my script work for you?
-
crest
(the one michaeldexter linked to)
-
voy4g3r2
oh i did not see that .. scrolling up buffer
-
crest
and if not is there something missing that would help?
-
crest
-
VimDiesel
Title: mk-epair · GitHub
-
crest
it's a shell script to setup epairs
-
voy4g3r2
intersting i never "created" epairs just added them to /etc/rc.conf and they just appear...
-
voy4g3r2
but i do have to say my use of jail is limited.. i use bhyve more
-
voy4g3r2
but have thought about setting up dnsmasq to help with local dns.. as bind seemed to be too much
-
crest
e.g. `mk-epair -n host-$name -N jail-$name -m bridge0 -J $name` could be used as exec.created inside a jail.conf
-
crest
to let the kernel pick the next available epair unit number
-
crest
rename both interfaces
-
crest
add one end to a bridge on the host
-
crest
and move the other to the vnet enabled jail
-
crest
if any step fails the script cleans up (e.g. destroys the epair under its current name)
-
voy4g3r2
it looks quite clean and easy to follow
-
crest
the script handles the tedious steps creating the pair, infering the names of both elements of the pair, renaming them as desired, setting MAC addresses, moving them to jails, adding them to bridges, adding them to groups
-
crest
and can also run ifconfig inside the appropriate jail/host context
-
crest
the latter feature depends on the ifconfig -j flag that only got added in freebsd 14
-
crest
i don't know if it was backported to 13.3
-
voy4g3r2
yeah i am on 14
-
voy4g3r2
but good tidbit to know
-
crest
its an annoying thing to automate well, because you have to recover to a sane operational state from partial errors
-
voy4g3r2
i do not fully understand why just doing this.. would NOT suffice
dpaste.org/hkKK0
-
VimDiesel
Title: dpaste/hkKK0 (Plain Text)
-
voy4g3r2
but i take it that requires a reboot and rebooting a big server is not the best
-
voy4g3r2
or just bringing down network services and restarting.. which would impact EVERYTHIGN on that host
-
crest
it doesn't require a reboot if you know the right commands to the netif rc.d script
-
crest
you can use something like service netif start epair10
-
crest
to only start a single interface
-
crest
but yes running service netif restart on a remote system is a bad idea
-
crest
you have to restart at least the routing service too
-
crest
because otherwise you're left without a default route
-
voy4g3r2
yeah, i have edone that a few times and hading to move the server to an area with a monitor
-
voy4g3r2
this time, i kept the re0 bridge around just in case something went boom
-
crest
you can do it protected by screen/tmux/nohup if you like play fast and loose with a lab system
-
crest
you config should work correctly
-
crest
but it's all static and doesn't rename the interface to meaninful names
-
voy4g3r2
yeah.. it should but bridge1 is NOT getting an ip.. but
-
crest
i like to embed the jail/guest name in interface names
-
voy4g3r2
oh agree
-
voy4g3r2
thankfully i had igb0 and re0 operational .. so i could get into the box
-
crest
you can rename interfaces in rc.conf
-
crest
you can automate it all with sysrc
-
crest
but i prefer to keep my jail config in one place (the per jail jail.conf included from the global jail.conf)
-
crest
and create the interface on demand
-
crest
can you show the output of ifconfig bridge1?
-
crest
the rc.conf snippet you shared assigns 192.168.0.30/24 to bridge1
-
crest
why do you configure two bridges (bridge0 and bridge1) with the same IPv4 prefix 192.168.0./24
-
crest
*192.168.0.0/24
-
crest
(leaving out equal-cost multipath routing) there can be only one most specific route for each destination
-
crest
and both 192.168.0.25/24 and 192.168.0.30/24 imply a network route for 192.168.0.0/24 directly attached to conflicting interfaces (bridge0 vs bridge1)
-
crest
why did you create two bridges?
-
crest
i would recommend that you create a lagg(4) interface containing igb0 and igb1 and add the lagg interface as first member interface to the remaining single bridge
-
crest
if supported and enabled on your switch you can use LACP to share the load among all working members of the lagg
-
crest
but each flow uses only the bandwidth of the link it's hashed to
-
crest
so if you want to exceed the bandwidth of a single link you have to use multiple connections
-
voy4g3r2
i am not sure.. i am cat herding now.. and will need to think a little
-
voy4g3r2
did not want to give impression i just went away
-
crest
btw why did you set the tap interfaces to "link0 up"?
-
crest
wouldn't it be easier to use vmnet${unit} instead of tap${unit}?
-
lw
vmnet is just tap with link0 as default, so there's no particular benefit from doing that
-
crest
lw: less lines in rc.conf
-
crest
and it's atomic on interface creation
-
voy4g3r2
crest: i rather be verbose, as i am learning
-
lw
crest: is it? don't you have to set vmnetX up anyway?
-
crest
you can't fail with a tap interface created, but the link0 flag not applied
-
crest
lw: not for bhyve. it will bring the tap interface up when it starts
-
voy4g3r2
crest: the routing stuff, i did not think there would be an impact by using /24 on both.. my objective is to REMOVE the re0 bridge eventually
-
crest
and you shouldn't have any IP addresses configured directly on bridge member interfaces
-
crest
because having the addresses on the bridge members instead of only the bridge would cause really nasty IP link scope violations
-
crest
which instantly break IPv6 and over time will break IPv4 too
-
voy4g3r2
could explain why i have "lags" with the freaking bhyve -CURRENT
-
voy4g3r2
i login and it just "waits" a few seconds
-
voy4g3r2
but now i am jut fixating on that issue.
-
crest
how do you login?
-
voy4g3r2
ssh
-
crest
iirc UseDNS defaults to yes
-
crest
so it could just be waiting for a slow reverse DNS lookup
-
crest
try to set UseDNS no in /etc/ssh/sshd_config, run service sshd restart and try again
-
crest
or make sure even missing reverse DNS entry fail (near) instantly
-
voy4g3r2
well i have /etc/hosts messes on all the machiens which is probably making the problem worse
-
voy4g3r2
the dnsmasq setup is after this
-
crest
voy4g3r2: ssh wants to look up other record types too
-
crest
e.g. SSHFP
-
crest
try ssh -vv, press enter a quickly a few times while it hangs
-
crest
logout and look at the line just above the block of empty liens
-
crest
*lines
-
crest
if the delay is long enough to do it like that
-
crest
of course there are better ways to do it, but this is the easiest if your terminal has enough scrollback
-
crest
and no fancy shell config (e.g. a clock with second resolution that updates in the prompt) because that would cause the terminal to jump down agian
-
crest
*again
-
crest
but regarding the link0 flag on tap/vmnet: you want the bridge to not even attempt to deliver frames to the tap interfaces if the interface is down
-
crest
because copying each multicast/broadcast/unknown unicast frame to the tap interfaces only to discard them is wasteful
-
crest
the flag is important if you want to reuse tap interfaces in a routed network configuration
-
crest
e.g. a /31 or /127 prefix per tap interface and the host redistributing all direct routes to tap*/vmnet* into a dynamic routing protocol
-
voy4g3r2
so then would that just mean it would be "easier" to isolate bhyve (tap) related traffic on one bridge and have another bridge with jails (epair)
-
crest
because with the link0 the addresses and the routes that use them as nexthop would be deleted everytime the tap device is closed
-
crest
voy4g3r2: no
-
crest
there is no downside to mixing vnet enabled jails and bhyve guests on a shared bridge
-
voy4g3r2
only bad routing
-
voy4g3r2
:) that i introduced
-
crest
just use epairs for the jails
-
voy4g3r2
err cat herding again (code word for meeting)
-
crest
and tap interfaces for bhyve
-
voy4g3r2
yeah that is what i am using them for but it looks like my routing on the bridge itself is no bueno
-
DarkUranium
Does anyone have experience with USB (SIM card) modems? I'm wondering which one has the best compatibility with FreeBSD.
-
DarkUranium
Ideally something on a budget --- I don't need fast speed or anything of the sort.
-
voy4g3r2
crest: i am going to walk through and figure this all out, would it be cool to share iwth you my notes? i am thinking i am making a post about this.
-
crest
voy4g3r2: sure. just send me a DM if you don't want it to get lost in the noise
-
pstef
DarkUranium: anything that can aggregate bands. Personally I'd avoid "USB stick" format and choose between smartphone tethering or a dedicated device like ZTE MF286D (which is ancient, underpowered, and cheap) over WiFi
-
antranigv
I have my own Jail scheduler (jailer) and I'm going to be doing some massive changes in the codebase but keeping the front-end the same. I was wondering, what's the best way to write tests on FreeBSD? Is it still kyua? cheers
-
dstolfa
antranigv: yes, kyua is still the preferred way
-
antranigv
dstolfa thank you.
-
pstef
not the best, but the standard
-
antranigv
That's okay, I just need to run some code (jailer create jail0, jailer subcommand somearg) and then make sure that it does what it's supposed to do
-
antranigv
e.g. returns 0, actually creates the jail files, etc
-
antranigv
Also, if there's a getting started guide for Kyua, that would be even better
-
antranigv
so I can first write the tests and then write the code, like a #SoftwareEngineer
-
pstef
perhaps see pf tests, I seem to recall them using a lot of jail infrastructure
-
dstolfa
-
VimDiesel
Title: Quickstart · freebsd/kyua Wiki · GitHub
-
dstolfa
you probably care about tests written in shell, so:
github.com/freebsd/kyua/wiki/Quickstart-atf-sh-test
-
VimDiesel
Title: Quickstart atf sh test · freebsd/kyua Wiki · GitHub
-
antranigv
dstolfa thank you <3
-
TMM_
Is there a way to set sysctl values in loader.conf? I need to set "debug.debugger_on_panic=0", I tried setting this in sysctl.conf but it appears that that happens too late
-
TMM_
My crash is at least earlier than those settings get applied
-
antranigv
TMM_ I think there is. one sec lemme check
-
antranigv
TMM_ I assume you also cannot get into single-user mode?
-
TMM_
No, this crashes during PCI bus enumeration, and before my keyboard works. So to do anything I'll have to get the kernel to dump immediately so I can recover a minidump
-
TMM_
I now get a ddb prompt I can't interact with :)
-
antranigv
TMM_ I see. I just noticed that I was able to do that with OmniOS (which also use FreeBSD's bootloader), but lemme check if kernel supports that
-
tp512
I love how I keep forgetting to forward the ports into my IRC bouncer
-
antranigv
TMM_ I still can't find it :D
-
tp512
I actually have time to debug these gzdoom compilation errors now
-
tp512
this is the full error from this invocation of clang++
termbin.com/mtt3
-
johnjaye
why are you compiling gzdoom? sounds exciting
-
johnjaye
it's funny you mention it but that uses cmake right?
-
johnjaye
i guess when porting to freebsd you have to uncmake it?
-
kevans
we use cmake in the gzdoom port
-
tp512
yes, but no. cmake works fine on FreeBSD
-
kevans
the only reason I haven't updated the gzdoom port is because I'm not ready for people to bitch at me about having to disable i386
-
kevans
I have a vacation coming up, so maybe it's the right time
-
tp512
well upstream gzdoom has broken at least some stuff, that's what I'm trying to sort out
-
tp512
johnjaye: just trying to build it because I'd like to play some Doom
-
kevans
that error's going to be because of needing sys/time.h included
-
kevans
most likely
-
tp512
but sys/stat.h is including sys/time.h
-
kevans
well, for __BSD_VISIBLE
-
kevans
there could be conflicting _*_SOURCE definitions being defined that would mean __BSD_VISIBLE doesn't get defined
-
tp512
where would I include sys/time.h, including it before sys/stat.h gives the same incomplete type errors
-
kevans
hmm, odd
-
kevans
oh, that's gross
-
kevans
I bet one of the includes outside of the FileSys namespace there ends up transitively including sys/time.h
-
kevans
so then include guards mean that we don't get _timeval.h *inside* the namespace like it wants
-
kevans
gack
-
tp512
hooray for C++
-
TMM_
antranigv: no worries, I can't find it either. Maybe I just need to rebuild the kernel with some other option
-
tp512
kevans: if you figure something out I would be happy to test it
-
kevans
tp512: not going to have time for a while, but I'll think on it a bit
-
kevans
what they're doing is dirty and fragile imo
-
tp512
lovely, so 14-STABLE keeps panicking on me
-
tp512
openzfs zap_get_leaf_byblk calls _sx_slock_int and _sx_slock_hard which page faults
-
kevans
tp512: (re: gzdoom) do you actually need newer features past 4.7.1, or would games/gzdoom be able to fill the urge for now?
-
tp512
kevans: honestly, just trying to go with git HEAD since that's what I've done for the last 6 years, heh. 4.7.1 would probably suffice
-
kevans
*nod*
-
tp512
though the fact that this system might panic at any moment is kinda discouraging
-
tp512
I'm on the feb 29th snapshot, might be worth seeing if this is already something that's been fixed, though I'm torn on whether to use pkgbase
-
tp512
also hoping this is just a software issue and there's not an issue with this SSD causing the page faults
-
tp512
I wonder if these panics are related to the merging of openzfs 2.2
-
tp512
seems it's firefox ultimately doing something that leads to the crash and coincidentally I'm running firefox on an encrypted zfs dataset so I wonder if the panics are related to encryption somehow
-
tp512
has anyone else on 14-STABLE run into this?
termbin.com/4vep
-
tp512
going to test w/o running the browser on this encrypted dataset. the idea was so that stuff like login cookies and would be safe if my laptop got stolen, but not something I have to worry about atm
-
jbo
kevans, how's the ecc stuff coming along? :)