<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/net, branch releng/7.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F7.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F7.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2010-11-26T19:48:27Z</updated>
<entry>
<title>MFC: r214608, r215297(partial), r215713</title>
<updated>2010-11-26T19:48:27Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2010-11-26T19:48:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=277197cd7ee5dde833cb2327b63aab71abbf815e'/>
<id>urn:sha1:277197cd7ee5dde833cb2327b63aab71abbf815e</id>
<content type='text'>
o Flesh out the generic IEEE 802.3 annex 31B full duplex flow control
  support in mii(4):
  - Merge generic flow control advertisement (which can be enabled by
    passing by MIIF_DOPAUSE to mii_attach(9)) and parsing support from
    NetBSD into mii_physubr.c and ukphy_subr.c. Unlike as in NetBSD,
    IFM_FLOW isn't implemented as a global option via the "don't care
    mask" but instead as a media specific option this. This has the
    following advantages:
    o allows flow control advertisement with autonegotiation to be
      turned on and off via ifconfig(8) with the default typically
      being off (though MIIF_FORCEPAUSE has been added causing flow
      control to be always advertised, allowing to easily MFC this
      changes for drivers that previously used home-grown support for
      flow control that behaved that way without breaking POLA)
    o allows to deal with PHY drivers where flow control advertisement
      with manual selection doesn't work or at least isn't implemented,
      like it's the case with brgphy(4), e1000phy(4) and ip1000phy(4),
      by setting MIIF_NOMANPAUSE
    o the available combinations of media options are readily available
      from the `ifconfig -m` output
  - Add IFM_FLOW to IFM_SHARED_OPTION_DESCRIPTIONS and IFM_ETH_RXPAUSE
    and IFM_ETH_TXPAUSE to IFM_SUBTYPE_ETHERNET_OPTION_DESCRIPTIONS so
    these are understood by ifconfig(8).
o Make the master/slave support in mii(4) actually usable:
  - Change IFM_ETH_MASTER from being implemented as a global option via
    the "don't care mask" to a media specific one as it actually is only
    applicable to IFM_1000_T to date.
  - Let mii_phy_setmedia() set GTCR_MAN_MS in IFM_1000_T slave mode to
    actually configure manually selected slave mode (like we also do in
    the PHY specific implementations).
  - Add IFM_ETH_MASTER to IFM_SUBTYPE_ETHERNET_OPTION_DESCRIPTIONS so it
    is understood by ifconfig(8).
o Switch bge(4), bce(4), msk(4), nfe(4) and stge(4) along with brgphy(4),
  e1000phy(4) and ip1000phy(4) to use the generic flow control support
  instead of home-grown solutions via IFM_FLAGs. This includes changing
  these PHY drivers and smcphy(4) to no longer unconditionally advertise
  support for flow control but only if the selected media has IFM_FLOW
  set (or MIIF_FORCEPAUSE is set) and implemented for these media variants,
  i.e. typically only for copper.
o Switch brgphy(4), ciphy(4), e1000phy(4) and ip1000phy(4) to report and
  set IFM_1000_T master mode via IFM_ETH_MASTER instead of via IFF_LINK0
  and some IFM_FLAGn.
o Switch brgphy(4) to add at least the the supported copper media based on
  the contents of the BMSR via mii_phy_add_media() instead of hardcoding
  them. The latter approach seems to have developed historically, besides
  causing unnecessary code duplication it was also undesirable because
  brgphy_mii_phy_auto() already based the capability advertisement on the
  contents of the BMSR though.
o Let brgphy(4) set IFM_1000_T master mode on all supported PHY and not
  just BCM5701. Apparently this was a misinterpretation of a workaround
  in the Linux tg3 driver; BCM5701 seem to require RGPHY_1000CTL_MSE and
  BRGPHY_1000CTL_MSC to be set when configuring autonegotiation but
  this doesn't mean we can't set these as well on other PHYs for manual
  media selection.
o Let ukphy_status() report IFM_1000_T master mode via IFM_ETH_MASTER so
  IFM_1000_T master mode support now is generally available with all PHY
  drivers.
o Don't let e1000phy(4) set master/slave bits for IFM_1000_SX as it's
  not applicable there.

Reviewed by:	yongari (plus additional testing)
Obtained from:	NetBSD (partially), OpenBSD (partially)

Unlike as in head, bge(4), bce(4), msk(4), nfe(4) and stge(4) are changed
to set MIIF_FORCEPAUSE in stable/7 so they continue to always advertise
support of flow control and brgphy(4), ciphy(4), e1000phy(4) as well as
ip1000phy(4) are changed to still also accept IFF_LINK0 in addition to
the master media option for setting master mode, both in order to not
violate POLA.
</content>
</entry>
<entry>
<title>MFC r207554:</title>
<updated>2010-11-16T04:40:03Z</updated>
<author>
<name>Maxim Sobolev</name>
<email>sobomax@FreeBSD.org</email>
</author>
<published>2010-11-16T04:40:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=33277cd93ac5d310691576dc71a2aff357cebdb1'/>
<id>urn:sha1:33277cd93ac5d310691576dc71a2aff357cebdb1</id>
<content type='text'>
    Add new tunable 'net.link.ifqmaxlen' to set default send interface
    queue length. The default value for this parameter is 50, which is
    quite low for many of today's uses and the only way to modify this
    parameter right now is to edit if_var.h file. Also add read-only
    sysctl with the same name, so that it's possible to retrieve the
    current value.
</content>
</entry>
<entry>
<title>MFC r213930:</title>
<updated>2010-10-30T11:30:49Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2010-10-30T11:30:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e35584ea7643257cf26342b9fb8a447704eb139e'/>
<id>urn:sha1:e35584ea7643257cf26342b9fb8a447704eb139e</id>
<content type='text'>
  Close a race acquiring the IF_ADDR_LOCK() for each entry while iterating
  over all interfaces to make sure the address will neither change nor be
  freed while we are working on it.

  PR:		kern/146250
  Submitted by:	Mikolaj Golub (to.my.trociny gmail.com)
</content>
</entry>
<entry>
<title>MFC r190527,190528,190531:</title>
<updated>2010-10-20T17:58:12Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2010-10-20T17:58:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8ce94c2765668b17a3dd8b123be98697cc92649d'/>
<id>urn:sha1:8ce94c2765668b17a3dd8b123be98697cc92649d</id>
<content type='text'>
190527(sam):
fix wired-wireless failover example and remove incorrect
comment about WPA not working

190528(sam):
remove bogus nwid use; that's a compat shim for netbsd

190531(bruffer):
Fix typo.

MFC r212100 (emaste),213632,214066:

Add a new syslog knob, net.link.lagg.failover_rx_all, to control
whether to accept input packets on any link in a failover lagg,
and add the corresponding documentation.
</content>
</entry>
<entry>
<title>MFC r186391,186483,186497 (qingli, kmacy 21 months ago):</title>
<updated>2010-10-15T15:06:32Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2010-10-15T15:06:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6463946b4bb281113e59802862f1d51c89cd3c52'/>
<id>urn:sha1:6463946b4bb281113e59802862f1d51c89cd3c52</id>
<content type='text'>
r186391:
  Provide a condition variable to delay the cloned interface
  destroy operation until the referenced clone device has
  been closed by the process properly. The behavior is now
  consistently with the previous release.

r186483:
  - Close a race during which the open flag could be cleared but the
    tun_softc would still be referenced by adding a separate TUN_CLOSED
    flag that is set after tunclose is done referencing it.
  - drop the tun_mtx after the flag check to avoid holding it across
    if_detach which can recurse in to if_tun.c

r186497:
  The "tun?" dev need not be opened at all. One is allowed to perform
  the following operations, e.g.:
  1) ifconfig tun0 create
  2) ifconfig tun0 10.1.1.1 10.1.1.2
  3) route add -net 192.103.54.0/24 -iface tun0
  4) ifconfig tun0 destroy
  If cv wait on the TUN_CLOSED flag, then the last operation (4) will
  block forever.

  Revert the previous changes and fix the mtx_unlock() leak.

PR:		kern/116837
Submitted by:	Mikolaj Golub (to.my.trociny gmail.com)
		(Not used the patch, just did the MFC)
</content>
</entry>
<entry>
<title>MFC r185963 (by csjp in 2008):</title>
<updated>2010-10-15T14:33:46Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2010-10-15T14:33:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=81cf2a7df89679c06560ada8831fe9fc06c97d69'/>
<id>urn:sha1:81cf2a7df89679c06560ada8831fe9fc06c97d69</id>
<content type='text'>
  Consider processes attaching/detaching from tun(4) devices as being link
  state changes.  This change modifies tunopen and tunclose to call the
  if_link_state_change() function.  Among other things, this will result in
  devd(8) receiving events from devctl(4) for linkup/link down.  This allows
  us to do several useful things, including initializing tunnel parameters
  and adding routes.

  Discussed on:	freebsd-net
</content>
</entry>
<entry>
<title>MFC 213028,213328:</title>
<updated>2010-10-12T16:09:08Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2010-10-12T16:09:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e34242e75f8235c01525ffa4ac6a03b726dd3164'/>
<id>urn:sha1:e34242e75f8235c01525ffa4ac6a03b726dd3164</id>
<content type='text'>
- Expand scope of tun/tap softc locks to cover more softc fields and
  driver-maintained ifnet fields (such as if_drv_flags).
- Use soft locks as the mutex that protects each interface's knote list
  rather than using the global knote list lock.  Also, use the softc
  for kn_hook instead of the cdev.
- Use mtx_sleep() instead of tsleep() when blocking in the read routines.
  This fixes a lost wakeup race.
- Remove D_NEEDGIANT now that the cdevsw routines use the softc lock
  where locking is needed.
- Lock IFQ when calculating the result for FIONREAD in tap(4).  tun(4)
  already did this.
- Remove remaining spl calls.
</content>
</entry>
<entry>
<title>MFC r210532:</title>
<updated>2010-07-30T21:28:25Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2010-07-30T21:28:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4a0775741efc5593582b7563aed831a7e1480e09'/>
<id>urn:sha1:4a0775741efc5593582b7563aed831a7e1480e09</id>
<content type='text'>
  Return NULL rather than 0 for a pointer.
</content>
</entry>
<entry>
<title>"MFC" (parts of) r185849:</title>
<updated>2010-06-12T15:42:54Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2010-06-12T15:42:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ac19d45204cdd62591b40c5e70a62ca6dd54f962'/>
<id>urn:sha1:ac19d45204cdd62591b40c5e70a62ca6dd54f962</id>
<content type='text'>
  Fix a locking issue triggering an assertion in rt_setgate()
  via arp_rtrequest() due to no radix node head (rnh) lock held
  in case of a route change.

  The previous MFC in r189026 left out this hunk.

Reported by:	Haven Hash (haven.hash isilon.com)
Tested by:	Haven Hash (haven.hash isilon.com)
PR:		kern/147767
</content>
</entry>
<entry>
<title>MFC 208212:</title>
<updated>2010-05-21T16:07:41Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2010-05-21T16:07:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=82cd7d33d07adc7f772399f4770fc615d031e273'/>
<id>urn:sha1:82cd7d33d07adc7f772399f4770fc615d031e273</id>
<content type='text'>
Ignore failures from removing multicast addresses from the parent (trunk)
interface when tearing down a vlan interface.
</content>
</entry>
</feed>
