summaryrefslogtreecommitdiff
path: root/sys/net/if.c
AgeCommit message (Collapse)Author
2005-05-24add net.inet.ip.ifq for monitoring and changing ifqueue; similar to netbsdMarkus Friedl
ok henning
2005-05-24actually delete the interface from the member list when it leaves the groupHenning Brauer
2005-05-24initial import of a trunking (link aggregation and link failover)Reyk Floeter
implementation. it currently supports round robin mode with link state checking, additional modes will be added later. ok brad@, deraadt@
2005-05-24keep a list of member interfaces in ifg_groupHenning Brauer
2005-05-22missing #if NPF > 0 around ifgroups attachmentsHenning Brauer
2005-05-22allow pf to match on interface groupsHenning Brauer
pass on mygroup ... markus ok
2005-05-21make every interface join a group called "all", mcbride okHenning Brauer
2005-05-21clean up and rework the interface absraction code big time, rip out multipleHenning Brauer
useless layers of indirection and make the code way cleaner overall. this is just the start, more to come... worked very hard on by Ryan and me in Montreal last week, on the airplane to vancouver and yesterday here in calgary. it hurt. ok ryan theo
2005-05-09ansify. no binary change.Marco Pfatschbacher
OK henning, krw, brad, moritz
2005-04-28Don't detach interface from pf's perspective until after IPv6 is done with it.Christopher Pascoe
ok dlg@ henning@
2005-04-20Introduce if_linkstatehooks.Marco Pfatschbacher
This converts if_link_state_change() to a generic usable callback with dohooks(). OK henning@, camield@ Tested by camield@ and Alexey E. Suslikov
2005-04-05Return EINVAL in SIOCSIFLLADDR if new lladdr is a multicast address.Claudio Jeker
OK derradt@ tedu@
2005-03-30add lladdr command to ifconfig to set MAC address. diffs from freebsd viaTed Unangst
Kyunghwan KIM (prs 2117 and 2118) and Fredrik Widlund. ok deraadt
2005-02-07Add new function if_link_state_change() to take care of sending messagesRyan Thomas McBride
on the routing socket and notifying carp() of link changes. ok brad@ mpf@
2005-01-18If there is no match in ifaof_ifpforaddr() return the first match -- mainClaudio Jeker
interface address -- and not the last one -- some alias. Also handle point to point networks a bit more special. With some input from markus@ OK markus@ henning@ fgsch@
2005-01-14First step in Bluetooth protocol stack support.Alexander Yurchenko
The code is adopted from the FreeBSD netgraph-based Bluetooth implementation by Maksim Yevmenkin <m_evmenkin@yahoo.com> but all netgraph glue was replaced with usual BSD network stack hooks. This is a work in progress. Only HCI layer works for now, L2CAP and RFCOMM are on the way. Help in testing from many, ok markus@.
2005-01-14remove old ifgroups ioctlsHenning Brauer
the old ifgroups haven't been in use ever really, and the new implementation is 3 months old today. theo ok (3 months ago)
2004-12-20Enforce an ordering on ifnet such that CARP interfaces appear later in theChristopher Pascoe
list than physical interfaces. This makes ifa_ifwith* prefer a physical interface over a CARP one. This addresses the problem where a CARP interface in BACKUP state is selected after a route change, resulting in a loss of communications despite there being another interface available which is perfectly usable. ok mcbride@ mpf@
2004-12-08Call if_down() in if_clone_destroy(). Based on diff from Chris Pascoe.Ryan Thomas McBride
ok markus@
2004-12-08Check if_type in carp_carpdev_state() to make sure we're notRyan Thomas McBride
dealing with a carp interface.
2004-12-07Convert carp(4) to behave more like a regular interface, much in the sameRyan Thomas McBride
style as vlan(4). carp interfaces no longer require the physical interface to be on the same subnet as the carp interface, or even that the physical interface has an adress at all, so CARP can now be used on /30 networks. ok deraadt@ henning@
2004-12-07KNFRyan Thomas McBride
2004-12-04use C comments.Markus Friedl
2004-12-03do not use one struct timeout for the if congestion stuff, but embedHenning Brauer
a struct timeout to struct ifqueue so that each one has its own - it is a per-queue thing. from chris pascoe
2004-10-14avoid stupid commonsMichael Shalayeff
2004-10-11ifgroups reqriteHenning Brauer
there is now a TAILQ with all interface groups as members, and in struct ofnet there is only a pointer to the group structure stored and not its name. mostly hacked at c2k4 and somewhere over the atlantic ocean ok markus mcbride
2004-09-15Kill more netiso ghosts.Alexander Yurchenko
ok millert@
2004-06-26cleanup ioctl for ifgroups; ok pb@Markus Friedl
2004-06-25introduce "interface groups"Philipp Buehler
by "ifconfig fxp0 group foobar" "ifconfig xl0 group foobar" these two interfaces are in one group. Every interface has its if-family as default group. idea/design from henning@, based on some work/disucssion from Joris Vink. henning@, mcbride@ ok.
2004-05-29introduce SIOCSIFDESCR and SIOCGIFDESCR to maintain interfacejoshua stein
descriptions, configurable with ifconfig help from various, ok deraadt@
2004-04-28spacingTheo de Raadt
2004-04-28Make carp(4) aware of its physical interface:Ryan Thomas McBride
- If the physical interface goes down or the link goes down, the carp interface goes down as well. - We treat this like the preemption holdoff with pfsync. So if one of the carp interfaces is known to be bad (because the physical interface it's associated with is bad), all the other carp interfaces back off: they won't preempt, and their advskew goes to 240. ok cedric@
2004-04-17add a congestion indicator to if_queue. It is set when the input queueHenning Brauer
is full, along with a timer that unsets it again after 10ms. The input queue beeing full is a reliable indicator for CPU overload, and this flag allows other subsystems to cope with the situation. hacked with beck ok kjc@ markus@ beck@
2004-02-28- Don't permit 0-padded unit numbers on cloned interfaces. Bug repoprtRyan Thomas McBride
from otto@ - Fix signedness issue with unit numbers. Bug report from Thorsten Glaser ok millert@ otto@
2004-02-08if_detach_rtdelete(): abort and restart rn_walktree() if a cloning routeMarkus Friedl
gets deleted; fixes pr 3649; ok henning, deraadt, dhartmei
2004-01-15add a RTM_IFANNOUNCE message; from netbsd; ok itojun, henningMarkus Friedl
2004-01-09fix leak ether_deatch(): if if_free_sadl() is called before if_detach()Markus Friedl
then ifnet_addrs[ifp->if_index] leaks; if it's called after if_detach() then if_free_sadl() does nothing; ok itojun
2003-12-31Many improvements to the handling of interfaces in PF.Cedric Berger
1) PF should do the right thing when unplugging/replugging or cloning/ destroying NICs. 2) Rules can be loaded in the kernel for not-yet-existing devices (USB, PCMCIA, Cardbus). For example, it is valid to write: "pass in on kue0" before kue USB is plugged in. 3) It is possible to write rules that apply to group of interfaces (drivers), like "pass in on ppp all" 4) There is a new ":peer" modifier that completes the ":broadcast" and ":network" modifiers. 5) There is a new ":0" modifier that will filter out interface aliases. Can also be applied to DNS names to restore original PF behaviour. 6) The dynamic interface syntax (foo) has been vastly improved, and now support multiple addresses, v4 and v6 addresses, and all userland modifiers, like "pass in from (fxp0:network)" 7) Scrub rules now support the !if syntax. 8) States can be bound to the specific interface that created them or to a group of interfaces for example: - pass all keep state (if-bound) - pass all keep state (group-bound) - pass all keep state (floating) 9) The default value when only keep state is given can be selected by using the "set state-policy" statement. 10) "pfctl -ss" will now print the interface scope of the state. This diff change the pf_state structure slighltly, so you should recompile your userland tools (pfctl, authpf, pflogd, tcpdump...) Tested on i386, sparc, sparc64 by Ryan Tested on macppc, sparc64 by Daniel ok deraadt@ mcbride@
2003-12-16return error in ifc_destroy; ok deraadt, itojun, cedric, hshoexerMarkus Friedl
2003-12-10de-register. deraadt okJun-ichiro itojun Hagino
2003-12-10use if_indexlim (instead of if_index) and ifindex2ifnet[x] != NULLJun-ichiro itojun Hagino
to check if interface exists, as (1) if_index will have different meaning (2) ifindex2ifnet could become NULL when interface gets destroyed, when we introduce dynamically-created interfaces. markus ok
2003-12-08add IOCIFGCLONERS; ifconfig -C; from netbsd; ok henning, deraadtMarkus Friedl
2003-12-03support for network interface "cloning", e.g. gif(4) via ifconfig(8)Markus Friedl
2003-12-03protect against if_index wrap; similar to what netbsd does; ok henning deraadtMarkus Friedl
2003-11-06move netisr definition into md code to allow arch provide suitable ↵Michael Shalayeff
allocation; tested on most archs
2003-10-17Common Address Redundancy ProtocolRyan Thomas McBride
Allows multiple hosts to share an IP address, providing high availability and load balancing. Based on code by mickey@, with additional help from markus@ and Marco_Pfatschbacher@genua.de ok deraadt@
2003-10-01make ifindex2ifnet growing code more correct. (found by iij seil team)Jun-ichiro itojun Hagino
2003-08-27RNF_IGNORE can corrupt the radix tree when an interface is down, itHenric Jungheim
makes routing lookups slightly more expensive, and serves no useful purpose. ok itojun@ tedu@
2003-08-25if_init support, required by ieee80211.Federico G. Schwindt
deraadt@ ok.
2003-08-15change arguments to suser. suser now takes the process, and a flagsTed Unangst
argument. old cred only calls user suser_ucred. this will allow future work to more flexibly implement the idea of a root process. looks like something i saw in freebsd, but a little different. use of suser_ucred vs suser in file system code should be looked at again, for the moment semantics remain unchanged. review and input from art@ testing and further review miod@