summaryrefslogtreecommitdiffstats
path: root/sbin/ifconfig
Commit message (Collapse)AuthorAgeFilesLines
* Use printb() to display the "nd6 options=" line.hrs2009-10-121-29/+7
|
* Update for latest 802.11s changes in meshconf format.rpaulo2009-10-121-15/+21
| | | | MFC after: 3 days
* Fix several logic bugs in the previous IPv6 variable change andhrs2009-09-261-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | re-add $ipv6_enable support for backward compatibility. From UPDATING: 1. To use IPv6, simply define $ifconfig_IF_ipv6 like $ifconfig_IF for IPv4. For aliases, $ifconfig_IF_aliasN should be used. Note that both variables need the "inet6" keyword at the head. Do not set $ipv6_network_interfaces manually if you do not understand what you are doing. It is not needed in most cases. $ipv6_ifconfig_IF and $ipv6_ifconfig_IF_aliasN still work, but they are obsolete. 2. $ipv6_enable is obsolete. Use $ipv6_prefer and/or "inet6 accept_rtadv" keyword in ifconfig(8) instead. If you define $ipv6_enable=YES, it means $ipv6_prefer=YES and all configured interfaces have "inet6 accept_rtadv" in the $ifconfig_IF_ipv6. These are for backward compatibility. 3. A new variable $ipv6_prefer has been added. If NO, IPv6 functionality of interfaces with no corresponding $ifconfig_IF_ipv6 is disabled by using "inet6 ifdisabled" flag, and the default address selection policy of ip6addrctl(8) is the IPv4-preferred one (see rc.d/ip6addrctl for more details). Note that if you want to configure IPv6 functionality on the disabled interfaces after boot, first you need to clear the flag by using ifconfig(8) like: ifconfig em0 inet6 -ifdisabled If YES, the default address selection policy is set as IPv6-preferred. The default value of $ipv6_prefer is NO. 4. If your system need to receive Router Advertisement messages, define "inet6 accept_rtadv" in $ifconfig_IF_ipv6. The rc(8) scripts automatically invoke rtsol(8) when the interface becomes UP. The Router Advertisement messages are used for SLAAC (State-Less Address AutoConfiguration).
* Document accept_rev_ethip_ver and send_rev_ethip_ver flags ofhrs2009-09-121-0/+19
| | | | | | EtherIP (gif(4) + if_bridge(8)). MFC after: 3 days
* Improve flexibility of receiving Router Advertisement andhrs2009-09-124-9/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | automatic link-local address configuration: - Convert a sysctl net.inet6.ip6.accept_rtadv to one for the default value of a per-IF flag ND6_IFF_ACCEPT_RTADV, not a global knob. The default value of the sysctl is 0. - Add a new per-IF flag ND6_IFF_AUTO_LINKLOCAL and convert a sysctl net.inet6.ip6.auto_linklocal to one for its default value. The default value of the sysctl is 1. - Make ND6_IFF_IFDISABLED more robust. It can be used to disable IPv6 functionality of an interface now. - Receiving RA is allowed if ip6_forwarding==0 *and* ND6_IFF_ACCEPT_RTADV is set on that interface. The former condition will be revisited later to support a "host + router" box like IPv6 CPE router. The current behavior is compatible with the older releases of FreeBSD. - The ifconfig(8) now supports these ND6 flags as well as "nud", "prefer_source", and "disabled" in ndp(8). The ndp(8) now supports "auto_linklocal". Discussed with: bz and jinmei Reviewed by: bz MFC after: 3 days
* Use printb() instead of rolling its own routine to displayhrs2009-09-071-20/+4
| | | | | | | bits in options=<>. Pointed out by: ume MFC after: 3 days
* Suppress an options line when no bit is on.ume2009-09-071-0/+2
| | | | | Reviewed by: hrs MFC after: 3 days
* Mesh fixes, namely:rpaulo2009-07-271-11/+14
| | | | | | | | | | | | * don't clobber proxy entries * HWMP seq number processing, including discard of old frames * flush routing table entries based on nexthop * print route flags in ifconfig * more debugging messages and comments Proxy changes submitted by sam. Approved by: re (kib)
* Make ifconfig ifN -vnet <jname|jid> actually work:bz2009-07-261-7/+20
| | | | | | | | | | - fix ifconfig to ignore the non-existent interface in the current network stack in case of '-vnet'. - in ifconfig: actually use the local variables defined for the vnet functions rather than modifying the global. Reviewed by: rwatson Approved by: re (kib)
* More mesh bits, namely:rpaulo2009-07-201-4/+6
| | | | | | | | | | | | | | * bridge support (sam) * handling of errors (sam) * deletion of inactive routing entries * more debug msgs (sam) * fixed some inconsistencies with the spec. * decap is now specific to mesh (sam) * print mesh seq. no. on ifconfig list mesh * small perf. improvements Reviewed by: sam Approved by: re (kib)
* Implementation of the upcoming Wireless Mesh standard, 802.11s, on therpaulo2009-07-113-50/+467
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | net80211 wireless stack. This work is based on the March 2009 D3.0 draft standard. This standard is expected to become final next year. This includes two main net80211 modules, ieee80211_mesh.c which deals with peer link management, link metric calculation, routing table control and mesh configuration and ieee80211_hwmp.c which deals with the actually routing process on the mesh network. HWMP is the mandatory routing protocol on by the mesh standard, but others, such as RA-OLSR, can be implemented. Authentication and encryption are not implemented. There are several scripts under tools/tools/net80211/scripts that can be used to test different mesh network topologies and they also teach you how to setup a mesh vap (for the impatient: ifconfig wlan0 create wlandev ... wlanmode mesh). A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled by default on GENERIC kernels for i386, amd64, sparc64 and pc98. Drivers that support mesh networks right now are: ath, ral and mwl. More information at: http://wiki.freebsd.org/WifiMesh Please note that this work is experimental. Also, please note that bridging a mesh vap with another network interface is not yet supported. Many thanks to the FreeBSD Foundation for sponsoring this project and to Sam Leffler for his support. Also, I would like to thank Gateworks Corporation for sending me a Cambria board which was used during the development of this project. Reviewed by: sam Approved by: re (kensmith) Obtained from: projects/mesh11s
* Add the "vnet" and "-vnet" options, to allow moving interfaces betweenjamie2009-06-243-3/+47
| | | | | | jails with VIMAGE. Approved by: bz (mentor)
* - Use size_t instead of int when appropriate;delphij2009-06-2311-26/+22
| | | | | | - Use C99 sparse initialization. With these changes ifconfig(8) is WARNS=2 clean.
* Rev IEEE80211_IOC_STA_INFO abi: ni_flags grew from 16 bits to 32sam2009-06-131-21/+31
| | | | | | | | bits but isi_state did not follow; expand it to 32 bits and pad to maintain alignment. Note this is an incompatible change that requires rebuilding of user applications. Submitted by: rpaulo, cbzimmer, avatar
* Fix and add a workaround on an issue of EtherIP packet with reversedhrs2009-06-072-0/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | version field sent via gif(4)+if_bridge(4). The EtherIP implementation found on FreeBSD 6.1, 6.2, 6.3, 7.0, 7.1, and 7.2 had an interoperability issue because it sent the incorrect EtherIP packets and discarded the correct ones. This change introduces the following two flags to gif(4): accept_rev_ethip_ver: accepts both correct EtherIP packets and ones with reversed version field, if enabled. If disabled, the gif accepts the correct packets only. This flag is enabled by default. send_rev_ethip_ver: sends EtherIP packets with reversed version field intentionally, if enabled. If disabled, the gif sends the correct packets only. This flag is disabled by default. These flags are stored in struct gif_softc and can be set by ifconfig(8) on per-interface basis. Note that this is an incompatible change of EtherIP with the older FreeBSD releases. If you need to interoperate older FreeBSD boxes and new versions after this commit, setting "send_rev_ethip_ver" is needed. Reviewed by: thompsa and rwatson Spotted by: Shunsuke SHINOMIYA PR: kern/125003 MFC after: 2 weeks
* track rename of CSA iesam2009-06-041-1/+1
| | | | Submitted by: wxs
* Do no spam the ifconfig output for the aggregated interface with 'laggdev ↵thompsa2009-04-301-2/+1
| | | | laggX'.
* ifconfig(8) no longer needs to know how to print the IFF_NEEDSGIANT flag,rwatson2009-04-181-1/+1
| | | | since it shortly won't be defined at all.
* The structs ifaliasreq and in_aliasreq have exactly the same layout andbrooks2009-04-151-2/+2
| | | | | | member names, but we really do mean to use in_aliasreq here. MFC after: 1 week
* add superg+tdma include files for protocol defs needed to do ie parsingsam2009-03-261-7/+3
|
* Default to AF_LOCAL instead of AF_INET sockets for non-family-specificjamie2009-03-153-14/+16
| | | | | | | operations. This allows the query operations to work in non-IPv4 jails, and will be necessary in a future of possible non-INET networking. Approved by: bz (mentor)
* Replace clone_setcallback() with a new function clone_setdefcallback()rpaulo2009-02-274-18/+34
| | | | | | | | that selects a callback from an interface prefix name. This allows us to report a meaningful error when the user types 'ifconfig wlan0 create', for example, and also kills some redundant code. Reviewed by: sam (earlier version)
* Fixup handling of roaming and xmit parameters to support 1/2 and 1/4-widthsam2009-02-191-110/+125
| | | | | | | | | channel modes: o usurp 'h' mode flag for half-width channels o add 'q' mode flag for quarter-width channels o rewrite rate parameter parsing to handle fractional values o merge mode loops to eliminate ordering assumptions o replace 0x80 with IEEE80211_RATE_MCS
* Regulatory fixups:sam2009-02-073-66/+140
| | | | | | | | | | | | o add missing channel flags for ECM, indoor, and outdoor constraints o use HT capabilities to short-circuit HT20/HT40 channel construction o rewrite 1/2 and 1/4 width channel handling yet again; previously we assumed there was a full-width version of the channel in the calibration table but that's not always true (e.g. for the Public Safety Band), now we first check the calibration table for the exact channel we want then fall back to the heuristics we used before o fix HT channel construction; wasn't adjusting band edges for HT40 channel bandwidth requirements
* add support for max antenna gain (not used at the moment)sam2009-02-052-0/+5
|
* Use %u instead of %zu when we intend to print integer constant.delphij2009-02-031-3/+3
|
* include the channel list in list caps when -v is set; ieee channelsam2009-01-281-2/+9
| | | | | #'s are not available and we have to hack around the mapchan routine but it lets us see the calibration table w/o forcing the debug regdomain
* pritize the channel we display with list chans so that, among othersam2009-01-281-1/+28
| | | | | | things, 1/2 and 1/4 width channels are hidden behind the full width channel; this is needed because they are ordered such that they appear after in the channel table
* simplify display of 1/2 and 1/4 width channelssam2009-01-281-16/+9
|
* improve debug msgs for regdomain operations; print channel flagssam2009-01-281-12/+25
| | | | | symbolically so it's easier to identify channels and why they are added (or not)
* Fix 1/2 and 1/4 width channel handling:sam2009-01-281-30/+38
| | | | | | | | | | | | o only include 1/2 and 1/4 width channels when they are specified in the regulatory database description; previously we treated them as if they were part of the band and blindly added them for 11a/g o check the channel list returned in the devcaps to identify whether a device supports 1/2 or 1/4 width channels on a band; this might be better brought out as a capability bit to avoid filling the channel list w/ 1/2 and 1/4 width channels but then cards that only support these channels in a range of frequencies could not be described (though right now we don't check frequency range only band)
* Remove assumptions about the max # channels in ioctl's:sam2009-01-271-85/+132
| | | | | | | | | o change ioctl's that pass channel lists in/out to handle variable-size arrays instead of a fixed (compile-time) value; we do this in a way that maintains binary compatibility o change ifconfig so all channel list data structures are now allocated to hold MAXCHAN entries (1536); this, for example, allows the kernel to return > IEEE80211_CHAN_MAX entries for calls like IEEE80211_IOC_DEVCAPS
* remove %b msg bit defines now publicsam2009-01-271-7/+0
|
* Fix 1/2 and 1/4 width channel handling for non-GSM operation:sam2009-01-161-3/+17
| | | | | | o correct typo that caused random channel selection o explicitly add 1/2 and 1/4 width channels because channel lookups match flags that include IEEE80211_CHANNEL_HALF and IEEE80211_CHANNEL_QUARTER
* use correct interface name when setting flags; fixes ifconfig ... create ... upsam2009-01-141-2/+2
| | | | Noticed by: Chris Anderson
* TDMA support for long distance point-to-point links using ath devices:sam2009-01-082-4/+129
| | | | | | | | | | | | | | | o add net80211 support for a tdma vap that is built on top of the existing adhoc-demo support o add tdma scheduling of frame transmission to the ath driver; it's conceivable other devices might be capable of this too in which case they can make use of the 802.11 protocol additions etc. o add minor bits to user tools that need to know: ifconfig to setup and configure, new statistics in athstats, and new debug mask bits While the architecture can support >2 slots in a TDMA BSS the current design is intended (and tested) for only 2 slots. Sponsored by: Intel
* back out unintended changesam2008-12-151-30/+13
|
* move channel parsing to a getchannel routine so it can be reused to checksam2008-12-151-30/+29
| | | | the channel argument supplied to chanswitch
* fix handling of sku codes like country codessam2008-12-151-2/+6
|
* fix handling of unknown country codes; atoi doesn't return -1sam2008-12-151-2/+6
| | | | for an invalid string as I thought; so use strtol instead
* 0 is a potential ISO CC; use new NO_COUNTRY #define to identifysam2008-12-151-2/+2
| | | | | | when the CC is not set. Note NO_COUNTRY is set to 0xffff for now (must be 16 bits as ieee80211_regdomain struct defines sku's and cc's as uint16_t which may need fixing).
* o distinguish between adhoc and ahdemo modessam2008-12-152-17/+46
| | | | | | | o do not require 1/2 and 1/4 rate channels be present in the calibration list when doing a gsm regulatory change; the existing 900MHz cards are not self-identifying so there is no way (using the calibration channel list) to check
* Improve regdomain.xml parser:sam2008-12-152-30/+43
| | | | | | | | | | | | | o store XML_Parser in the state block so we can report line numbers for errors o complain about netband w/o mode o complain about unknown modes o complain about band w/o enclosing netband o complain about duplicate freqband o complain about unknown channel flags o complain about band w/o freqband's o complain about band w/o maxpower o complain about country w/o ISO cc o complain about country w/o regdomain reference
* Tiny wording nits.keramida2008-10-191-4/+5
| | | | MFC after: 1 week
* o Typo fixes.maxim2008-10-051-2/+2
| | | | | PR: docs/127866 Submitted by: Marius Korsmo
* add duplicate cmd entries for vlan and vlandev that are marked !clonesam2008-10-021-0/+3
| | | | | | so they can be used when not doing a create operation Reviewed by: ed
* Distinguish between cmd/parameters used for clone operations andsam2008-09-291-33/+43
| | | | | | | | | | | all others. Use this to disambiguate cmd line arguments that can be either clone params or regular parameters so, in particular, "bssid" again works as a regular parameter. While here leverage the above to improve the logic for flushing clone operations on the first !clone cmd line parameter. Reviewed by: jhay
* MIMO power save and RIFS; while here also update per-node state/flags for ampdusam2008-09-222-1/+72
|
* "ampdudensity -" is too subtle; use "NA" for any and accept it as a parametersam2008-09-221-2/+2
|
* check for undefined identifierssam2008-09-211-12/+59
|
OpenPOWER on IntegriCloud