Commit Graph

2881 Commits

Author SHA1 Message Date
christos
d8dfcd6c2a regen 2017-01-13 06:18:31 +00:00
joerg
f9c2736326 Disable a couple of warnings until further investigation. 2017-01-11 12:19:43 +00:00
christos
58b79fbd23 need new file 2017-01-03 03:47:51 +00:00
christos
f75d79eb69 Sync NPF with the version on github: backport standalone NPF changes,
which allow us to create and run separate NPF instances. Minor fixes.
(from rmind@)
2016-12-26 23:05:05 +00:00
cherry
3a405f030d physmem should be of type psize_t
Also, use PRIxPSIZE when printf(9)ing physmem.
2016-12-22 16:05:14 +00:00
ozaki-r
95d40beaa9 Fix that rump.ifconfig shmifN destroy hangs up
rump.ifconfig shmifN destroy sometimes hangs up on closing a file
descriptor of kqueue under heavy load. It seems it happens because of
a race condition between closing a fd and kevent to the same fd on
another kthread for packet Rx. Fix it by executing the close operation
after the kthread left.
2016-12-22 12:55:28 +00:00
ozaki-r
bf6d49ecb3 Fix handling return value of rumpcomp_shmif_watchwait 2016-12-22 10:13:09 +00:00
ozaki-r
dd8638eea5 Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are:
- We can reduce codes
- We can provide the same behavior between drivers
  - Where/When if_ipackets is counted up
  - Note that some drivers still update packet statistics in their own
    way (periodical update)
- Moved bpf_mtap run in softint
  - This makes it easy to MP-ify bpf

Proposed on tech-kern and tech-net
2016-12-15 09:28:02 +00:00
christos
12fdff5295 remove ptree add lpm 2016-12-09 02:50:06 +00:00
njoly
c48e94e5c7 Fix NetBSD keyword expansion. 2016-11-26 11:20:09 +00:00
ozaki-r
6adeabf576 Rumpify vlan(4) 2016-11-26 03:17:58 +00:00
pgoyette
a99ecc4a30 In addition to initializing the bufq subsystem, we also need to init
the individual strategy modules.
2016-11-17 23:15:38 +00:00
pgoyette
5dae26512b Initialize the bufq stuff for rump, too.
This should fix the large number of tests that recently started to fail.
2016-11-16 23:24:47 +00:00
ozaki-r
aeb231cc05 Fix build of usr.sbin/puffs/rump_nfs
XXX a better fix should be to separate nfs codes and let rump_nfs link only
XXX one that doesn't depend on rt_delete_matched_entries (and rtrequest).
2016-11-15 09:04:30 +00:00
pgoyette
d365923e93 Forgot these two generated files... 2016-11-02 00:32:59 +00:00
roy
98b0d70fff Add ifam_pid and ifam_addrflags to ifa_msghdr.
Re-version RTM_NEWADDR, RTM_DELADDR, RTM_CHGADDR and NET_RT_IFLIST.
Add compat code for old version.
2016-09-21 10:50:22 +00:00
ozaki-r
6dc1297521 Support tun devices on rump kernels 2016-09-05 02:25:37 +00:00
christos
b77232e0ab need kern_ssp.c for a full SSP build. 2016-08-20 15:50:50 +00:00
hannken
7139aab724 Remove now obsolete operation vcache_remove().
Welcome to 7.99.36
2016-08-20 12:37:06 +00:00
christos
ccab2709d8 Don't call loopinit() here. Instead panic if -lrumpnet_net has not been
called to initialize lo0ifp.
2016-08-13 11:19:35 +00:00
martin
c4786f8220 Add new file to fix the build. 2016-08-12 20:25:34 +00:00
christos
a626a5b30a more loopinit(); 2016-08-12 11:43:04 +00:00
kre
d6b671c40b On the first day (that being the eighth day of the eighth month,) the
building was completed only to discover that within there lay havoc.

On the second day all just groaned and moaned, and it must be someone
else's problen.

On the third day, St. Martin stepped in and traced the culprit, which
provided inspiration, and a correction was made.

Forevermore all were agog at just how such a trivial thing could do
so much damage...


OK...   to be a little less vague.   The loopback interface is a truly
"special" thing, and rump knew that - and treated it very specially.
Unfortunately, when the loopback interface is changed, and rump does
not keep up, bad things happen.

This (overall) might, or might not, be the correct fix - but for now
it appears to work.   If someone, sometime, finds a better way to
deal with the issues of the loopback interfaces true majesty, feel
free to revert this and do it another way.
2016-08-10 10:09:42 +00:00
pgoyette
94fcffa368 Part 2 of fixing if_tap module. 2016-08-08 09:29:45 +00:00
christos
d3580c2894 finish ifmpls->mpls renaming. 2016-08-07 17:42:18 +00:00
pgoyette
2dc75bdc9e Fix variable names in previous 2016-07-30 23:07:23 +00:00
pgoyette
763a6486bb More adaptation of the rump component init, to avoid EEXIST during
regular module initialization.
2016-07-30 22:36:14 +00:00
pgoyette
7ea3f07f30 When calling devsw_attach() we need to use the expected/official driver
name (as listed in the devsw_conv[] table) to get the expected device
majors.  Once rump initialization is finished (ie, it has created its
required device nodes), we need to detach the [bc]devsw so the module
initialization code doesn't get EEXIST.
2016-07-26 01:49:48 +00:00
pgoyette
9e4ecfb022 When initializing the rump cgd component, use the correct driver name
(as found in the devsw_conv[] table).  This will get us the "official"
major numbers for the cgd device.

After creating the rump file-space nodes for /dev/cgd* we then need to
detach the [bc]devsw's because normal module initialization will do its
own attachment, and we don't want that to fail.

While here, since we're doing the devsw_attach() twice, share the
results from the first call rather than starting from scratch.
2016-07-25 12:45:13 +00:00
christos
986517611c add uvm_km_protect() 2016-07-20 17:03:50 +00:00
pgoyette
7c20c5d3bb Fix regression introduced in tests/net/bpf and tests/net/bpfilter
The rump code needs to call devsw_attach() in order to assign a dev_major
for bpf;  it then uses this to create rumps /dev/bpf node.  Unfortunately,
this leaves the devsw attached, so when the bpf module tries to initialize
itself, it gets an EEXIST error and fails.

So, once rump has figured what the dev_major should be, call devsw_detach()
to remove the devsw.  Then, when the module initialization code calls
devsw_attach() it will succeed.
2016-07-19 02:47:45 +00:00
matt
8a31a6e7a0 Pass down ${CPUFLAGS} 2016-07-09 05:52:22 +00:00
msaitoh
8bc54e5be6 KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
christos
65120c51fa regen 2016-07-03 14:26:47 +00:00
christos
26488304cc Add new files 2016-06-24 21:31:30 +00:00
ozaki-r
e1135cd9b9 Use curlwp_bind and curlwp_bindx instead of open-coding LP_BOUND 2016-06-16 02:38:40 +00:00
ozaki-r
d938d837b3 Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf.
They are counterpart of m_get_rcvif, which will come in another
commit, hide internal of rcvif operation, and reduce the diff of
the upcoming change.

No functional change.
2016-06-10 13:27:10 +00:00
joerg
56a6d73206 Install new header and fix rump to include the corresponding source as
well.
2016-06-03 21:55:50 +00:00
pooka
f3167874d4 Disable PR kern/51135 hack now that the problem is supposedly
fixed (to see if tests pass).
2016-05-30 14:52:06 +00:00
christos
19ea743456 Introduce security.pax.mprotect.ptrace sysctl which can be used to bypass
mprotect settings so that debuggers can write to the text segment of traced
processes so that they can insert breakpoints. Turned off by default.
Ok: chuq (for now)
2016-05-25 17:43:58 +00:00
riastradh
2b38f13330 Actually get as many bytes as requested from rumpuser_random.
rumpuser_random is limited to 32 bytes at a time -- which would be
reasonable, except that there are too many buffers in the way between
entropy sources and users of the entropy pool.

Partial fix for PR kern/51135.
2016-05-21 14:59:45 +00:00
pooka
3bc931a0af Add workaround for PR kern/51135
If the rnd component is present, load extra initial entropy to avoid
/dev/random not being able to request it on demand.  The extra initial
entropy will allow a few instances of /dev/random, but will eventually
go into the failure mode described in the PR.
2016-05-16 16:31:07 +00:00
ozaki-r
040205ae93 Protect ifnet list with psz and psref
The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.
2016-05-12 02:24:16 +00:00
pooka
c8a34480e3 Avoid '.' in variable names which are expected to be passed to
this Makefile via the env.

That character is strictly speaking not allowed by POSIX in an exported
variable name, and at least dash >= 0.58 refuses to export such variables.

Furthermore, since the individual CFLAGS/CPPFLAGS/etc. variables
are not comprehensive enough for all cases (e.g. HURD), just
support the .includable version from now on, i.e.
RUMPCOMP_MAKEFILEINC_rumpdev_pci.

curious failure mode debugged by Martin Lucina
2016-05-10 19:38:29 +00:00
pooka
7ddba29e76 regen syscall files 2016-05-06 10:19:40 +00:00
martin
4b3cc0cbac Add lwp_find() - verbatim copy from the hard kernel. 2016-04-24 07:45:10 +00:00
christos
ef9bd43259 regen 2016-04-23 23:09:27 +00:00
skrll
4e8e66439e Merge nick-nhusb
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
    - kern/48308
    - uhub status notification improvements
    - umass(4) probe fix (applied to HEAD already)
    - ohci(4) short transfer fix
2016-04-23 10:15:27 +00:00
ozaki-r
220ff4e7a0 Prevent LWP migrations between CPUs during upper layer processing
This is a contract of psref(9) that is used by upper layer componenets,
e.g., bridge(4).
2016-04-19 05:48:10 +00:00
ozaki-r
4da47673a2 Rump-ify if_pppoe
From s-yamaguchi@IIJ
2016-04-15 01:35:25 +00:00