Commit Graph

493 Commits

Author SHA1 Message Date
Bruce M Simpson
71498f308b Import rewrite of IPv4 socket multicast layer to support source-specific
and protocol-independent host mode multicast. The code is written to
accomodate IPv6, IGMPv3 and MLDv2 with only a little additional work.

This change only pertains to FreeBSD's use as a multicast end-station and
does not concern multicast routing; for an IGMPv3/MLDv2 router
implementation, consider the XORP project.

The work is based on Wilbert de Graaf's IGMPv3 code drop for FreeBSD 4.6,
which is available at: http://www.kloosterhof.com/wilbert/igmpv3.html

Summary
 * IPv4 multicast socket processing is now moved out of ip_output.c
   into a new module, in_mcast.c.
 * The in_mcast.c module implements the IPv4 legacy any-source API in
   terms of the protocol-independent source-specific API.
 * Source filters are lazy allocated as the common case does not use them.
   They are part of per inpcb state and are covered by the inpcb lock.
 * struct ip_mreqn is now supported to allow applications to specify
   multicast joins by interface index in the legacy IPv4 any-source API.
 * In UDP, an incoming multicast datagram only requires that the source
   port matches the 4-tuple if the socket was already bound by source port.
   An unbound socket SHOULD be able to receive multicasts sent from an
   ephemeral source port.
 * The UDP socket multicast filter mode defaults to exclusive, that is,
   sources present in the per-socket list will be blocked from delivery.
 * The RFC 3678 userland functions have been added to libc: setsourcefilter,
   getsourcefilter, setipv4sourcefilter, getipv4sourcefilter.
 * Definitions for IGMPv3 are merged but not yet used.
 * struct sockaddr_storage is now referenced from <netinet/in.h>. It
   is therefore defined there if not already declared in the same way
   as for the C99 types.
 * The RFC 1724 hack (specify 0.0.0.0/8 addresses to IP_MULTICAST_IF
   which are then interpreted as interface indexes) is now deprecated.
 * A patch for the Rhyolite.com routed in the FreeBSD base system
   is available in the -net archives. This only affects individuals
   running RIPv1 or RIPv2 via point-to-point and/or unnumbered interfaces.
 * Make IPv6 detach path similar to IPv4's in code flow; functionally same.
 * Bump __FreeBSD_version to 700048; see UPDATING.

This work was financially supported by another FreeBSD committer.

Obtained from:  p4://bms_netdev
Submitted by:   Wilbert de Graaf (original work)
Reviewed by:    rwatson (locking), silence from fenner,
		net@ (but with encouragement)
2007-06-12 16:24:56 +00:00
Sam Leffler
e8aff09069 note 802.11 changes 2007-06-11 04:06:50 +00:00
Yaroslav Tykhiy
9cd40e64b4 Now pam_nologin(8) will provide an account management function
instead of an authentication function.  There are a design reason
and a practical reason for that.  First, the module belongs in
account management because it checks availability of the account
and does no authentication.  Second, there are existing and potential
PAM consumers that skip PAM authentication for good or for bad.
E.g., sshd(8) just prefers internal routines for public key auth;
OTOH, cron(8) and atrun(8) do implicit authentication when running
a job on behalf of its owner, so their inability to use PAM auth
is fundamental, but they can benefit from PAM account management.

Document this change in the manpage.

Modify /etc/pam.d files accordingly, so that pam_nologin.so is listed
under the "account" function class.

Bump __FreeBSD_version (mostly for ports, as this change should be
invisible to C code outside pam_nologin.)

PR:		bin/112574
Approved by:	des, re
2007-06-10 18:57:20 +00:00
Yaroslav Tykhiy
995c7fd1bf Sync ether_ioctl() with ioctl(2) and ifnet.if_ioctl
as to the type of the command argument: int -> u_long.
These types have different widths in the 64-bit world.

Add a note to UPDATING because the change breaks KBI
on 64-bit platforms.

Discussed on:	-net, -current
Reviewed by:	bms, ru
2007-05-29 12:40:45 +00:00
Wojciech A. Koszek
332fd25c96 Revert config(8) version bump. It brings major pain for people working on
different versions of FreeBSD source tree.

Old config(8) can now be used unless you want to use INCLUDE_CONFIG_FILE
option.

Approved by:	imp
Reviewed by:	imp
2007-05-16 17:23:54 +00:00
Daniel Eischen
c4bc02eac1 Add some notes about symbol versioning and the switch to libthr. 2007-05-13 14:41:48 +00:00
Gregory Neil Shapiro
a69c10f519 Add a new note to revoke the 20070408 note. Is is no longer necessary
to recompile milters.

MFC after:	4 days
2007-04-23 22:15:07 +00:00
Diomidis Spinellis
f3064b397a Back-out manual procedure for maintaining compatibility with old accounting
files.  This functionality will be built-into the corresponding tools.
2007-04-19 17:08:54 +00:00
Diomidis Spinellis
67f759b3f5 Notes on the acct(5) format switch. 2007-04-18 17:34:59 +00:00
Andrew Thompson
1a19fe2a8d Note the renaming of trunk(4) to lagg(4). 2007-04-17 00:41:59 +00:00
Gregory Neil Shapiro
ac01a4c60b Include a note about recompiling ports which use the base libmilter.
Submitted by:	Matthew Seaman
2007-04-14 16:26:01 +00:00
Christian Brueffer
329d3aa320 Make the tunable names for Intel license agreement more obvious. 2007-04-03 10:04:54 +00:00
Max Laier
bc42e3d003 Note that the old firmware modules need to be removed.
Reported by:	Jeremie Le Hen
Suggested by:	Stefan Ehmann
2007-04-01 17:49:27 +00:00
Florent Thoumie
d08ec00718 - Add missing subdirectories in BSD.usr.dist mtree file.
- Update hier(7) to reflect latest changes in mtree file.
- Add UPDATING entry following Intel firmwares inclusion.

Submitted by:	mlaier
MFC after:	1 month
2007-03-02 14:56:15 +00:00
Ruslan Ermilov
857be7a47c Bump the bootstrapping requirements for gensnmptree(1) and remove
a note in UPDATING that tried to work around the build breakage.

Tested by:	jhb
OK'ed by:	njl
2007-03-01 15:42:23 +00:00
Bruce M Simpson
80a653019e Document removal of addr2ascii/ascii2addr and addition of AF_LINK
support for getnameinfo.
2007-02-28 21:33:40 +00:00
Simon L. B. Nielsen
eb29c8f465 - Use a permanent URL to reference piso's mail.
- Put URL on seperate line to not get very long lines.
2007-02-24 21:59:18 +00:00
Bruce M Simpson
33672cd978 Reword addition about MROUTING.
Submitted by:	ru
2007-02-24 21:21:53 +00:00
Paolo Pisati
82e5a02886 Update my previous note about newbus API breakage mentioning the
__FreeBSD_version bump.
2007-02-24 20:15:04 +00:00
Paolo Pisati
663829fe1a Note newbus API & ABI breakage. 2007-02-24 19:45:09 +00:00
Bruce M Simpson
08bc2d8a36 Note that IPv6 multicast forwarding is now dynamically loadable. 2007-02-24 11:41:05 +00:00
Nate Lawson
699e491f50 Note problems I had with bsnmpd while updating from an older -current.
There may be better ways to fix/work around these issues but this worked
for me.
2007-02-19 22:49:43 +00:00
Bruce M Simpson
d092c06c3a Retire most of the classful network behaviour of netstat -r output, for IPv4.
Without -n, we now only print a "network name" without the prefix length
 under the following conditions:
  1) the network address and mask matches a classful network prefix;
  2) getnetbyaddr(3) returns a network name for this network address.

 With -n, we unconditionally print the full unabbreviated CIDR network
 prefix in the form "a.b.c.d/p". 0.0.0.0/0 is still printed as "default".

This change is in preparation for changes such as equal-cost multipath, and
to more generally assist operational deployment of FreeBSD as a modern IPv4
router. There are currently no plans to backport this change.

Discussed on:	freebsd-net
2007-02-14 14:17:01 +00:00
Bruce M Simpson
0948f0a28f Build PIM by default as part of the IPv4 multicast forwarding path.
Make PIM dynamically loadable by using encap_attach_func().
PIM may now be loaded into a GENERIC kernel.

Tested with:	ports/net/pimdd && tcpreplay && wireshark
Reviewed by:	Pavlin Radoslavov
2007-02-10 13:59:13 +00:00
Bruce M Simpson
78cb087e34 Remove support for IPIP tunnels in IPv4 multicast forwarding. XORP has
never used them; with mrouted, their functionality may be replaced by
explicitly configuring gif(4) instances and specifying them with the
'phyint' keyword.

Bump __FreeBSD_version to 700030, and update UPDATING.
A doc update is forthcoming.

Discussed on:	net
Reviewed by:	fenner
MFC after:	3 months
2007-02-07 16:04:13 +00:00
John Polstra
067c6db2a7 Note the second coming of MSI support in the bge driver. 2006-12-22 03:03:31 +00:00
John Polstra
cca510b1be Note that MSI support has been disabled already in the bge driver. 2006-12-15 00:30:37 +00:00
John Polstra
3ebdb4eeaf Add an entry noting that MSI support has been put into the bge
driver.
2006-12-14 23:10:59 +00:00
Julian Elischer
fc19e4c40d Note the mashing of the proc structure.. recommend recompiling
kernel modules.
2006-12-06 06:39:47 +00:00
Ariff Abdullah
a580b31a54 Welcome to Once-a-year Sound Mega-Commit. Enjoy numerous updates and fixes
in every sense.

General
-------

- Multichannel safe, endian safe, format safe
   * Large part of critical pcm filters such as vchan.c, feeder_rate.c,
     feeder_volume.c, feeder_fmt.c and feeder.c has been rewritten so that
     using them does not cause the pcm data to be converted to 16bit little
     endian.
   * Macrosses for accessing pcm data safely are defined within sound.h in
     the form of PCM_READ_* / PCM_WRITE_*
   * Currently, most of them are probably limited for mono/stereo handling,
     but the future addition of true multichannel will be much easier.

- Low latency operation
  * Well, this require lot more works to do not just within sound driver,
    but we're heading towards right direction. Buffer/block sizing within
    channel.c is rewritten to calculate precise allocation for various
    combination of sample/data/rate size. As a result, applying correct
    SNDCTL_DSP_POLICY value will achive expected latency behaviour simmilar
    to what commercial 4front driver do.
  * Signal handling fix. ctrl+c of "cat /dev/zero > /dev/dsp" does not
    result long delay.
  * Eliminate sound truncation if the sound data is too small.
    DIY:
      1) Download / extract
         http://people.freebsd.org/~ariff/lowlatency/shortfiles.tar.gz
      2) Do a comparison between "cat state*.au > /dev/dsp" and
         "for x in state*.au ; do cat $x > /dev/dsp ; done"
         - there should be no "perceivable" differences.
    Double close for PR kern/31445.

  CAVEAT: Low latency come with (unbearable) price especially for poorly
          written applications. Applications that trying to act smarter
	  by requesting (wrong) blocksize/blockcount will suffer the most.
	  Fixup samples/patches can be found at:
	  http://people.freebsd.org/~ariff/ports/

- Switch minimum/maximum sampling rate limit to "1" and "2016000" (48k * 42)
  due to closer compatibility with 4front driver.
  Discussed with: marcus@ (long time ago?)

- All driver specific sysctls in the form of "hw.snd.pcm%d.*" have been
  moved to their own dev sysctl nodes, notably:
  hw.snd.pcm%d.vchans -> dev.pcm.%d.vchans
  Bump __FreeBSD_version.

Driver specific
---------------

- Ditto for sysctls.

- snd_atiixp, snd_es137x, snd_via8233, snd_hda
  * Numerous cleanups and fixes.
  * _EXPERIMENTAL_ polling mode support using simple callout_* mechanisme.
   This was intended for pure debugging and latency measurement, but proven
   good enough in few unexpected and rare cases (such as problematic shared
   IRQ with GIANT devices - USB). Polling can be enabled/disabled through
   dev.pcm.0.polling. Disabled by default.

- snd_ich
  * Fix possible overflow during speed calibration. Delay final
    initialization (pcm_setstatus) after calibration finished.
    PR: kern/100169
    Tested by: Kevin Overman <oberman@es.net>
  * Inverted EAPD for few Nec VersaPro.
    PR: kern/104715
    Submitted by: KAWATA Masahiko <kawata@mta.biglobe.ne.jp>

Thanks to various people, notably Joel Dahl, Yuriy Tsibizov, Kevin Oberman,
those at #freebsd-azalia @ freenode and others for testing.

Joel Dahl will do the manpage update.
2006-11-26 12:24:06 +00:00
Craig Rodrigues
a484c95a8d Mention that the following binaries have been detached
from the build: mount_devfs, mount_ext2fs,
mount_fdescfs, mount_procfs, mount_linprocfs, and mount_std.
2006-11-22 23:01:40 +00:00
John Baldwin
1d7e99caf1 Add a note about the MSI support with details on how to turn MSI off if
things break.
2006-11-15 20:02:20 +00:00
Kip Macy
7c0435b933 MUTEX_PROFILING has been generalized to LOCK_PROFILING. We now profile
wait (time waited to acquire) and hold times for *all* kernel locks. If
the architecture has a system synchronized TSC, the profiling code will
use that - thereby minimizing profiling overhead. Large chunks of profiling
code have been moved out of line, the overhead measured on the T1 for when
it is compiled in but not enabled is < 1%.

Approved by: scottl (standing in for mentor rwatson)
Reviewed by: des and jhb
2006-11-11 03:18:07 +00:00
John Birrell
013d6d8cb4 Add 'options KSE' to the kernel config DEFAULTS on all arches/machines
except sun4v.

This change makes the transition from a default to an option more
transparent and is an attempt to head off all the compliants that are
likely from people who don't read UPDATING, based on experience with
the io/mem change.

Submitted by:	scottl@
2006-10-26 22:05:25 +00:00
John Birrell
8460a577a4 Make KSE a kernel option, turned on by default in all GENERIC
kernel configs except sun4v (which doesn't process signals properly
with KSE).

Reviewed by:	davidxu@
2006-10-26 21:42:22 +00:00
Ruslan Ermilov
014a1a844d The ioctl(2) API has changed, and some ioctl command codes too.
Hint users to add "options COMPAT_FREEBSD6" to their kernel config
files, so that X.Org and friends still work without recompiling.
2006-09-30 20:01:15 +00:00
Bruce M Simpson
13b3ebf134 Remove mrouted and its utilities from the base system.
They may now be obtained from ports.

Discussed with:	fenner, net@
2006-09-29 10:39:23 +00:00
Ruslan Ermilov
60206ede14 Belatedly document the size change of "struct x?tcpcb". 2006-09-29 10:14:37 +00:00
Bruce M Simpson
481544f3ae Note the removal of tcpslice 2006-09-28 13:00:50 +00:00
Maxim Konovalov
5f738ae643 o s/IP_FIREWALL_FORWARD/IPFIREWALL_FORWARD/.
PR:		docs/103251
Submitted by:	vd
MFC after:	3 days
2006-09-18 11:24:25 +00:00
Sam Leffler
50bdd72083 bump version for libpcap+tcpdump imports 2006-09-04 21:49:31 +00:00
Marius Strobl
647ef1a927 Add a belated entry regarding the removal of lnc(4). 2006-09-02 22:17:15 +00:00
Julian Elischer
3b4109aa4e Note IPFIREWALL_FOWARD_EXTENDED is now gone.
MFC after:	1 week
2006-08-17 00:41:05 +00:00
Jung-uk Kim
c8450a541c Add an entry for enigma(1)/crypt(1) change on 64-bit architectures. 2006-07-26 16:31:10 +00:00
Thomas Wintergerst
5d0c7501b6 Extend i4b to support CAPI manager based ISDN controllers (CAPI manager is part of
c4b, CAPI for BSD). This is a preparation to add CAPI for BSD to the source tree.

Approved by:	hm (mentor)
MFC after:	2 weeks
2006-07-09 21:16:06 +00:00
Rink Springer
44a8277bc6 Updated the XBOX kernel to use the new nfe(4) driver obtained from
OpenBSD. This driver seems to give a small performance increase, and
should lead to better maintainability in the future.

The nForce Ethernet-specific hack in sys/i386/xbox/xbox.c is still
required, judging from dev/nfe/if_nfe.c. The condition it hacks will
almost certainly only occur on XBOX-es anyway, so it is best left there.

Approved by:	imp (mentor)
2006-06-27 20:22:32 +00:00
Giorgos Keramidas
9f8d2f6c8d Note that an old adjkerntz is not really usable after the recent
sysctlbyname() changes, so the new adjkerntz binary should be
used while in single-user mode.

Reviewed by:	ceri, maxim
2006-05-15 15:47:45 +00:00
Christian Brueffer
4919094ec7 Fix typo. 2006-05-14 20:54:45 +00:00
Max Laier
a0a9755e09 Update UPDATING and bump __FreeBSD_version for the ip6fw removal. 2006-05-13 06:08:25 +00:00
Marcel Moolenaar
ff6a2d00f9 Belatedly add 2 entries relating to the introduction of scc(4) and
the overhaul of puc(4). On sparc64 people may end up without serial
console if they upgrade without adding scc(4) to their kernel
configuration file.
2006-05-04 03:48:06 +00:00