Age | Commit message (Collapse) | Author |
|
we still can't assign a v6 address to the interface, or handle icmp
error generation, but denis@ is working toward that.
|
|
|
|
index is used to index an array which could cause a panic if it's negative.
ok deraadt@
Reported-by: syzbot+c5997876fea393e6b948@syzkaller.appspotmail.com
|
|
|
|
|
|
|
|
mpls_ip_adjttl now patches the checksum rather than check it and
calculate it again. both mpls_ip_adjttl and mpls_ip6_adjttl now
rely on the caller to check the sysctls for whether they should run
or not, which paves the way for making it configurable in mpe via
the tunnel ioctls.
|
|
rather than check and recalculate the ipv4 checksum, we can update
the cksum incrementally. this is a bit faster, and means we'll see
more things on bpf.
also, peek at the first nibble so we can tell ipv6 from ipv4. i
consider them the same FEC, so either can be received now.
|
|
mpe(4) adds itself ot the mpls rtable with RTF_LOCAL set, which
pushes the packet through mpe_output, which sees RTF_LOCAL can calls
mpe_input. this follows what mpw(4) does, and removes a special
case in mpls_input.
|
|
|
|
as well as allowing for larger frames to be transported, it also
gets rid of the dependancy on mpe defines.
|
|
makes this more like other drivers to read.
|
|
mpestart, mpeioctl and mpeoutput are now mpe_start, mpe_ioctl, and
mpe_output respectively.
no functional change
|
|
this means the current mpls header will be passed along with the
mbuf for mpw to look at. right now this doesn't do anything, but
it will allow for implementation of RFC 6391 (flow aware transport)
and using the exp header for cos.
when mpe gets moved to adding an RTF_LOCAL route, this will be used
for cos and ttl handling.
|
|
copy the semantics for guaranteeing this from egre. when sending
an encapsulated frame, prepend a whole new mbuf for the tags and
transport headers. when rxing a packet, check the alignment of the
ethernet payload and duplicate it on the right boundary if it isn't
already aligned.
|
|
the input mechanism for mpw is now that it inserts a tag into the
mpls table with RTF_LOCAL set. mpls_input falls through to calling
the interface output routine (mpw_output in this case) which looks
for that RTF_LOCAL and then calls mpw_input against that mbuf.
ok claudio@ who is keep to apply this semantic to mpe
|
|
and provide them as nmea(4) distance & velocity sensors.
With my 'u-blox GNSS receiver' that gives:
hw.sensors.nmea0.distance0=335.600 m (Altitude), OK
hw.sensors.nmea0.velocity0=18.337 m/s (Ground speed), OK
ok deraadt@
|
|
|
|
make sure that the device doesn't get enabled before, which would make it
fail.
Fixes regular occurring 'not in sync yet, discard input' issue seen on
ThinkPad X1 Gen6.
ok deraadt@
|
|
This eases data extraction in syzkaller.
Prompted by and OK anton@
|
|
previously it would decrement the uint8_t ttl and then check if it
was less than one, which let ttl 0 off the wire wrap to 255 (which
is higher than 1).
|
|
ok dlg@
|
|
|
|
warnings/errors about using VFP2 instructions. We use vfpv3 here
(which corresponds to vfpv3-d32) since that is the minimum requirement
for OpenBSD/armv7.
ok jsg@, patrick@
|
|
This function parameter has been unused since introduction in 2007.
OK stsp
|
|
This was likely left over from long ago when we loaded the kernel at a
lower PA. Noticed by deraadt@ and I as we were crawling through this
code recently. This may change again, but correcting it now just in case
this code stays around for a while.
|
|
|
|
parts on the fly.
|
|
move it to right place.
|
|
|
|
|
|
|
|
|
|
this will allow for a lot of special casing in places like vlan and
bridge to go away since mpw will do all the same things as any other
ethernet tunnel. another benefit is you can run stuff directly on
the mpw interface to interact with the pseudowire, rather than
requiring a bridge and vether interface. this is like what juniper
calls Pseudowire Service Interfaces.
the caveat is that the implicit vlan or svlan tagging that mpw did
in ethernet-tagged mode now has to be done by hand. however, there
is some indication that different vendors pick different types of
tags, ie, one uses vlan tags and another uses svlan, so being able
to configure the right one has value. it is also possible you would
want to bridge the entire tag stack to another site, so being able
to bridge mpw without it playing with the tags can be useful.
because the if_type on mpw changes from IFT_MPLSTUNNEL to IFT_ETHER,
the semantic used to handle incoming packets in mpls_input is
changed. instead of mpls_input pushing the packets into mpw based
on the if_type being IFT_MPLSTUNNEL, mpw now adds an RTF_LOCAL route
to the mpls table. mpls_input falls through to "outputting" the
packet to mpw_output, which then uses the RTF_LOCAL flag to decide
to input to mpw_input and then ether_input. this semantic will be
applied to mpe soon, which removes all the interface special casing
in mpls_input. the if_type change also means mpw implements the
SIOCGPWE3 ioctl so ldpd can still figure out that the interface is
a pseudowire.
ok claudio@
|
|
level up.
ok guenther mpi visa
|
|
|
|
|
|
ok kn@, claudio@, visa@
|
|
ok claudio@, kn@, visa@
|
|
net80211 and drivers in general. Add ratesets for 'short guard interval'
(SGI) rates, and add SGI support to MiRA. SGI is currently only used by
iwm(4), and of course internally by bwfm(4) firmware.
Ratesets for 11n 40 MHz channels and 11ac will come later.
ok mpi@ phessler@
|
|
previous version OK deraadt@ patrick@
OK jsg@
|
|
NB: acpi(4) is not hooked up to this yet.
previous version OK deraadt@ patrick@
OK jsg@
|
|
im going to turn mpw into an ethernet interface, which includes
changing its if_type to IFT_ETHER. currently ldpd looks for if_type
IFT_MPLSTUNNEL to decide if an interface is a pseudowire, ie, it's
going to break. the ioctl will let ldpd ask the interface if it is
pseudowire capable as an alternative.
ok claudio@
|
|
Currently we validate time input for all four of these syscalls in the
workhorse function dovutimens(). This is bad because both futimes(2)
and utimes(2) have input as timevals that need to be converted to
timespecs. This multiplication can overflow to create a "valid"
input, e.g. if tv_usec is equal to 2^61 (invalid value) on a platform
with 64-bit longs, the resulting tv_nsec is equal to zero (valid value).
This is also a bit wasteful. We aquire a vnode and do other work
under KERNEL_LOCK only to release the vnode when the time input is
invalid.
So, duplicate a bit of code to validate the time inputs before we do
any conversions or real VFS work.
probably still ok tedu@ deraadt@
|
|
ok guenther@
|
|
A malicious rpc.bootparamd could corrupt memory, but the kernel has
to trust the local network anyway in a diskless environment. Now
in case of an RPC error, the kernel will stop booting with a specific
panic.
OK claudio@ beck@
|
|
ok beck
Reported-by: syzbot+cc59412ed8429450a1ae@syzkaller.appspotmail.com
|
|
from aalm@
|
|
|
|
|