212 Commits

Author SHA1 Message Date
hiren
c6c0cd4557 MFC r286700
Make LAG LACP fast timeout tunable through IOCTL.
2015-09-15 05:19:10 +00:00
hrs
8bd36880a4 MFC 272159,272161,272386,272446,272547,272548,273210:
- Make lagg protos a enum.

- When reconfiguring protocol on a lagg, first set it to LAGG_PROTO_NONE,
  then drop lock, run the attach routines, and then set it to specific
  proto. This removes tons of WITNESS warnings.

- Make lagg protocol attach handlers not failing and allocate memory
  with M_WAITOK.

- Virtualize lagg(4) cloner.  This change fixes a panic when tearing down
  if_lagg(4) interfaces which were cloned in a vnet jail.

  Sysctl nodes which are dynamically generated for each cloned interface
  (net.link.lagg.N.*) have been removed, and use_flowid and flowid_shift
  ifconfig(8) parameters have been added instead.  Flags and per-interface
  statistics counters are displayed in "ifconfig -v".

- Separate option handling from SIOC[SG]LAGG to SIOC[SG]LAGGOPTS for
  backward compatibility with old ifconfig(8).

- Move L2 addr configuration for the primary port to a taskqueue.  This fixes
  LOR of softc rmlock in iflladdr_event handlers.

- Call if_delmulti_ifma() after LACP_UNLOCK().  This fixes another LOR.

- Fix a panic in lacp_transit_expire().

- Fix a panic in lagg_input() upon shutting down a port.

- Use printb() for boolean flags in ro_opts and actor_state for LACP.

- Fix lladdr configuration which could prevent LACP mode from working.

- Fix LORs when a laggport interface has an IPv6 LLA.
2015-09-12 20:36:39 +00:00
hrs
b037e0b55c MFC r282805:
- Remove ND6_IFF_IGNORELOOP.  This functionality was useless in practice
  because a link where looped back NS messages are permanently observed
  does not work with either NDP or ARP for IPv4.

- draft-ietf-6man-enhanced-dad is now RFC 7527.

Approved by:	re (gjb)
2015-07-23 19:58:56 +00:00
bryanv
dfb124acf0 MFC r273331, r273371, r275851:
- Add vxlan interface

 - Use the size of the Ethernet address, not the entire header, when
   copying into forwarding entry.

 - Prefix all the vxlan ifconfig commands so they are unique
2015-06-14 03:14:45 +00:00
ae
49fd76c05c MFC r282809:
Add new socket ioctls SIOC[SG]TUNFIB to set FIB number of encapsulated
  packets on tunnel interfaces. Add support of these ioctls to gre(4),
  gif(4) and me(4) interfaces. For incoming packets M_SETFIB() should use
  if_fib value from ifnet structure, use proper value in gre(4) and me(4).

  Differential Revision:	https://reviews.freebsd.org/D2462
2015-06-06 13:37:11 +00:00
ae
8272d42d32 MFC r282965:
Add an ability accept encapsulated packets from different sources by one
  gif(4) interface. Add new option "ignore_source" for gif(4) interface.
  When it is enabled, gif's encapcheck function requires match only for
  packet's destination address.

  Differential Revision:	https://reviews.freebsd.org/D2004
  Sponsored by:	Yandex LLC
2015-05-31 22:58:41 +00:00
hiren
e545513c3e MFC r261708, r261847, r268525, r274316, r274347, r275593,
r276844, r276847, r279531, r279559, r279564, r279676

A bunch of IPv6 fixes by melifaro, hrs and ae

Major changes:
Simplify nd6_output_lle()
Add refcounting to DAD and fix races and other errors
Implement Enhanced DAD algorithm for IPv6

Suggested by: 	ae
Tested by: 	Jason Wolfe <j at nitrology.com>
Sponsored by:	Limelight Networks
2015-05-08 08:35:06 +00:00
allanjude
642a35345c MFC: r266774:
improve ifconfig(8) man page by describing special behaviour of -l ether

MFC: r267141:
	Style cleanups on ifconfig.8

Approved by:	eadler (mentor, implicit)
Sponsored by:	ScaleEngine Inc.
2015-04-16 00:31:51 +00:00
ae
142c064467 MFC r271307:
Add the ability to set `prefer_source' flag to an IPv6 address.
  It affects the IPv6 source address selection algorithm (RFC 6724)
  and allows override the last rule ("longest matching prefix") for
  choosing among equivalent addresses. The address with `prefer_source'
  will be preferred source address.
2014-10-09 02:49:33 +00:00
glebius
60686beab7 Merge r256824 from head:
Provide a working example line for an interface with 1 address running
  with CARP.

  Currently, we've got a problem that interface isn't IFF_UP at the time
  we assign it a redundant address, and the latter gets stuck in INIT state.
  Additional SIOCSIFFLAGS from ifconfig(8) kicks it to a working state.

  A proper fix is kernel side and appeared to be non-trivial, not to be
  checked in before 10.0-RELEASE.

  Submitted by:   Ole Myhre <ole.myhre dataoppdrag.no>

Approved by:	re (kib)
2013-10-29 09:24:39 +00:00
joel
d1ce45a46f mdoc sweep 2013-05-13 18:13:50 +00:00
ume
e33acd92c3 Add no_prefer_iface option.
It stops treating the address on the interface as special by source
address selection rule even when the interface is outgoing interface.
This is desired in some situation.

Requested by:	hrs
Reviewed by:	IHANet folks including hrs
MFC after:	1 week
2013-01-09 18:18:08 +00:00
wblock
bbb1601ed6 Actually change "silent" to "silence" this time (reviewed by adri@).
MFC after:	1 week
2012-11-07 19:32:21 +00:00
wblock
8a42619488 Remove fifteen-year-old notes on media selection (suggested by simon@).
Add commas after "e.g." and "i.e.".  Change "silent" to "silence" in
wireless create section (reviewed by adri@).

MFC after:	1 week
2012-11-07 19:26:32 +00:00
wblock
f42c814c08 Add devd.conf(5) and devd(8) to SEE ALSO xrefs. Give users a pointer to
seemingly mysterious actions that are not done by ifconfig itself, but
by devd triggering on events caused by ifconfig.

PR:		docs/173405
Submitted by:	Mateusz Kwiatkowski <mateusz.kwiatkowski@atlashost.eu>
MFC after:	1 week
2012-11-07 15:59:24 +00:00
hrs
43a17c6d76 Remove "prefer_source" address selection option. FreeBSD has had an
implementation of RFC 3484 for this purpose for a long time and "prefer_source"
was never implemented actually.  ND6_IFF_PREFER_SOURCE macro is left intact.
2012-07-09 06:21:46 +00:00
joel
5b88f5a88f Remove repeated words. 2012-06-05 18:19:52 +00:00
bz
ac429c7044 It turns out that too many drivers are not only parsing the L2/3/4
headers for TSO but also for generic checksum offloading.  Ideally we
would only have one common function shared amongst all drivers, and
perhaps when updating them for IPv6 we should introduce that.
Eventually we should provide the meta information along with mbufs to
avoid (re-)parsing entirely.

To not break IPv6 (checksums and offload) and to be able to MFC the
changes without risking to hurt 3rd party drivers, duplicate the v4
framework, as other OSes have done as well.

Introduce interface capability flags for TX/RX checksum offload with
IPv6, to allow independent toggling (where possible).  Add CSUM_*_IPV6
flags for UDP/TCP over IPv6, and reserve further for SCTP, and IPv6
fragmentation.  Define CSUM_DELAY_DATA_IPV6 as we do for legacy IP and
add an alias for CSUM_DATA_VALID_IPV6.

This pretty much brings IPv6 handling in line with IPv4.
TSO is still handled in a different way and not via if_hwassist.

Update ifconfig to allow (un)setting of the new capability flags.
Update loopback to announce the new capabilities and if_hwassist flags.

Individual driver updates will have to follow, as will SCTP.

Reported by:	gallatin, dim, ..
Reviewed by:	gallatin (glanced at?)
MFC after:	3 days
X-MFC with:	r235961,235959,235958
2012-05-28 09:30:13 +00:00
bz
39bd73ddd4 MFp4 bz_ipv6_fast:
Allow tso4 and tso6 be set individually given we have the bits.
  This will help with drivers not working as expected during the
  transition time and later.

  Sponsored by:	The FreeBSD Foundation
  Sponsored by:	iXsystems

Reviewed by:	gnn
MFC After:	1 week
2012-05-19 23:25:57 +00:00
monthadar
229fcaa0f0 Update man page date to the date of the last commit.
Approved by: adrian
2012-05-02 20:01:28 +00:00
monthadar
4369a1aa49 * Added new command to ifconfig to activate Mesh Gate Announcement called
meshgate with corresponding explanation;

Approved by: adrian
2012-05-01 16:15:34 +00:00
joel
a65229714e Remove end of line whitespace introduced in previous commit. 2012-04-07 09:11:07 +00:00
glebius
9fbf69312f Document syncdev, syncpeer and defer keywords for
pfsync(4) interfaces.
2012-04-03 18:11:30 +00:00
eadler
1ef5fe44d3 Remove trailing whitespace per mdoc lint warning
Disussed with:	gavin
No objection from:	doc
Approved by:	joel
MFC after:	3 days
2012-03-29 05:02:12 +00:00
thompsa
5fade1600b Fix typo and bump the document date which I also forgot.
Spotted by:	Andrey Zonov
2012-03-07 06:25:17 +00:00
thompsa
b1fbb40a93 Add the ability to set which packet layers are used for the load balance hash
calculation.
2012-03-06 22:58:13 +00:00
brueffer
7f479f0242 Update bridge(4) default values.
PR:		164564
Submitted by:	"Rudy (bulk)" <crapsh@monkeybrains.net>
MFC after:	2 weeks
2012-02-29 21:11:02 +00:00
gavin
0104789850 Correct capitalization of "Hz" in user-visible text (manpages, printf(),
etc).

MFC after:	3 days
2012-02-28 13:19:34 +00:00
rwatson
8cd50c7c15 Adjust the VLAN section of the ifconfig(8) man page to better reflect
reality:

1. Only 12-bit VLAN Identifiers, not full 16-bit VLAN tags can be set using
   ifconfig vlan.

2. When we mean VLAN Identifiers, spell it that way, rather than as VLAN tag.

MFC after:	3 days
Sponsored by:	Adara Networks, Inc.
2012-01-04 21:04:57 +00:00
bz
0c11261ccf Allow toggling of IFCAP_VLAN_HWCSUM for hardware that supports checksum
offloading on vlans and document the new option.

MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
2011-12-17 15:44:34 +00:00
glebius
27a36f6ac8 A major overhaul of the CARP implementation. The ip_carp.c was started
from scratch, copying needed functionality from the old implemenation
on demand, with a thorough review of all code. The main change is that
interface layer has been removed from the CARP. Now redundant addresses
are configured exactly on the interfaces, they run on.

The CARP configuration itself is, as before, configured and read via
SIOCSVH/SIOCGVH ioctls. A new prefix created with SIOCAIFADDR or
SIOCAIFADDR_IN6 may now be configured to a particular virtual host id,
which makes the prefix redundant.

ifconfig(8) semantics has been changed too: now one doesn't need
to clone carpXX interface, he/she should directly configure a vhid
on a Ethernet interface.

To supply vhid data from the kernel to an application the getifaddrs(8)
function had been changed to pass ifam_data with each address. [1]

The new implementation definitely closes all PRs related to carp(4)
being an interface, and may close several others. It also allows
to run a single redundant IP per interface.

Big thanks to Bjoern Zeeb for his help with inet6 part of patch, for
idea on using ifam_data and for several rounds of reviewing!

PR:		kern/117000, kern/126945, kern/126714, kern/120130, kern/117448
Reviewed by:	bz
Submitted by:	bz [1]
2011-12-16 12:16:56 +00:00
adrian
a92ebba339 Bump date. 2011-11-12 23:30:57 +00:00
adrian
71ad0691dd Add documentation for the new quiet time IE options.
Submitted by:	Himali Patel <himali.patel@sibridgetech.com>
Sponsored by:	Sibridge Technologies
2011-11-12 23:17:01 +00:00
hrs
b20c15d80b - Document inet6 no_radr flag.
- Add descriptions of sysctl(8) variables which can control the default
  configuration of the inet6 flags.

Approved by:	re (kib)
2011-09-19 16:01:53 +00:00
bz
9cad5bfef3 Add infrastructure to allow all frames/packets received on an interface
to be assigned to a non-default FIB instance.

You may need to recompile world or ports due to the change of struct ifnet.

Submitted by:	cjsp
Submitted by:	Alexander V. Chernikov (melifaro ipfw.ru)
		(original versions)
Reviewed by:	julian
Reviewed by:	Alexander V. Chernikov (melifaro ipfw.ru)
MFC after:	2 weeks
X-MFC:		use spare in struct ifnet
2011-07-03 12:22:02 +00:00
bz
b41f984f28 Conditionally compile in the af_inet and af_inet6, af_nd6 modules.
If compiled in for dual-stack use, test with feature_present(3)
to see if we should register the IPv4/IPv6 address family related
options.

In case there is no "inet" support we would love to go with the
usage() and make the address family mandatory (as it is for anything
but inet in theory).  Unfortunately people are used to
  ifconfig IF up/down
etc. as well, so use a fallback of "link".  Adjust the man page
to reflect these minor details.

Improve error handling printing a warning in addition to the usage
telling that we do not know the given address family in two places.

Reviewed by:	hrs, rwatson
Sponsored by:	The FreeBSD Foundation
Sponsored by:	iXsystems
MFC after:	2 weeks
2011-05-31 14:40:21 +00:00
gjb
63a1889bd7 Correct 'list scan' description in the examples. The previous description
was incorrect - 'list scan' does not actually do a scan, but instead lists
the results of the background 'scan' cache.

Submitted by:	Fabian Keil (freebsd-listen of fabiankeil de) (via email)
Discussed with:	bschmidt
MFC after:	3 days
2011-04-06 11:20:54 +00:00
gjb
7bae0e7098 Bump date from previous commit. 2011-03-21 15:17:02 +00:00
gjb
618c6104f6 Use 'list scan' in favor of 'scan', as 'scan' has a different purpose.
Pointed out by:	bschmidt
MFC after:	1 day
2011-03-20 22:47:41 +00:00
gjb
557dc7e0d3 Remove unneeded newline.
MFC after:	1 week
2011-03-12 19:07:19 +00:00
gjb
f99117a37b Add example of using 'scan' for wireless networks, similarly to
OpenBSD's ifconfig(8).

PR:		151952
Submitted by:	Jared (rhyous of yahoo com)
MFC after:	1 week
2011-03-12 19:05:39 +00:00
joel
dd1fff9bcb Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while
translating these manual pages.  Minor corrections by me.

Submitted by:	Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp>
2010-08-16 15:18:30 +00:00
joel
f4e8725880 Fix typos and spelling mistakes. 2010-08-06 14:33:42 +00:00
joel
be2c32910f Spelling fixes. 2010-07-31 21:09:49 +00:00
bz
c472f73fed Document the 'short preamble' capability for 802.11bg.
Reviewed by:	sam
MFC after:	4 days
2010-05-14 15:06:12 +00:00
rpaulo
ee8ca6996c Bump man page date. 2010-04-28 10:58:03 +00:00
rpaulo
b7327995de Fix typos.
Obtained from:	DragonFlyBSD
2010-04-28 10:57:27 +00:00
yongari
0bad3ad189 Add TSO support on VLAN in fconfig(8).
Reviewed by:	thompsa
2010-02-20 23:01:09 +00:00
delphij
d9a0cd0982 Revised revision 199201 (add interface description capability as inspired
by OpenBSD), based on comments from many, including rwatson, jhb, brooks
and others.

Sponsored by:	iXsystems, Inc.
MFC after:	1 month
2010-01-27 00:30:07 +00:00
delphij
8fed657163 Revert revision 199201 for now as it has introduced a kernel vulnerability
and requires more polishing.
2009-11-12 19:02:10 +00:00