summaryrefslogtreecommitdiff
path: root/sys/net/if.c
AgeCommit message (Collapse)Author
2006-06-02Introduce attributes to interface groups.Marco Pfatschbacher
As a first user, move the global carp(4) demotion counter into the interface group. Thus we have the possibility to define which carp interfaces are demoted together. Put the demotion counter into the reserved field of the carp header. With this, we can have carp act smarter if multiple errors occur. It now always takes over other carp peers, that are advertising with a higher demote count. As a side effect, we can also have group failovers without the need of running in preempt mode. The protocol change does not break compability with older implementations. Collaborative work with mcbride@ OK mcbride@, henning@
2006-03-22prevent anything outside rote.c from accessing the routing table headsHenning Brauer
directly. rather provide a rt_lookup function for regular lookups, and a rt_gettable for those that need access to the head for some reason. the latter cases should be revisted later probably so that nothing outside the routing core code accesses the heads at all... tested claudio jolan me, ok claudio markus
2006-03-20introduce rt_if_remove which takes care of routing table updates for anHenning Brauer
interface that is removed. use that from if.c and if_tun.c instead of re-implementing in the latter case. ok claudio
2006-03-04With the exception of two other small uncommited diffs this movesBrad Smith
the remainder of the network stack from splimp to splnet. ok miod@
2006-02-09add an interface detach hook and use it with the vlan(4) driver. thisReyk Floeter
fixes a possible crash if the parent interface has been destroyed (like vlan on trunk) before destroying the vlan interface. ok brad@
2006-01-05bzero buffers after malloc, or clear string buffer before strlcpy'ingTheo de Raadt
into them, if you are gonna copy it out to userland some ok dhartmei, some ok tedu
2005-12-22Do not check ifp->if_bpf before detaching from bpf. It is only a signalCan Erkin Acar
to the driver that there is a listener. Somehow I assumed that it was a handle, and was trying to figure out why it was becoming zero. Corrected by and ok claudio@
2005-11-29something in the eurobsdcon route-a-thon broke my simple home networkJolan Luff
router so back out the routing stuff to pre-eurobsdcon where my machine doesn't crash immediately. i am happy to test diffs and report success/failures but i am not happy to have instantaneous crashes when i reboot with a new kernel that was compiled from pristine sources. if you are going to be an elitist asshole then you could at least make sure your code works. ok and "be crass towards them" deraadt@
2005-11-27don't let anything outside route.c access the routing table heads directly,Henning Brauer
but go through a provided wrapper. also provide rt_lookup() instead of doing the lookup manually in many places. ryan ok
2005-11-25move the code to delete routes having a specific interface as outputHenning Brauer
when the interface is deleted to a function in route.c, and replace the copies of that code by calls to that function from basel almost-hackathon
2005-07-04in if_group_routechange(), when checking wether a default route was changedHenning Brauer
to trigger an if_group_egress_build() call, stop looking at the mask in the v4 case, at least until I figured out why we sometimes see masks full of crap.
2005-06-23update if_lastchange for evey IFF_UP change not only SIOCSIFFLAGS; henning@ okMichael Shalayeff
2005-06-14rename function and define to reflect the external -> egress name changeHenning Brauer
so it is clear what it is all about
2005-06-13check wether mask is NULL in if_group_routechange before dereferencingHenning Brauer
2005-06-12add SIOCGIFGMEMB ioctl, returns a list of all interfaces who are member ofHenning Brauer
the given group, markus ok
2005-06-08if a cloned interface's destroy function fails, re-join the interface classHenning Brauer
group, spotted by and ok markus
2005-06-08kill NS and DECNET bitsHenning Brauer
2005-06-08more inet6 stuff that got exposedTheo de Raadt
2005-06-08handle ramdisks, and kernels without inet6; henning okTheo de Raadt
2005-06-07introduce a default "external" interface group, containing the interface(s)Henning Brauer
the the default route(s) point to. handles IPv4 and IPv6 as well as multipath routes. follows default route changes, of course. eases writing pf rulesets especially on laptops etc. that use different interfaces depending on the environment (wired, wireless, ...) ok theo ryan
2005-06-07do not handle CCITT any longerHenning Brauer
2005-06-06use a define instead of hardcoding "all" in 3 placesHenning Brauer
2005-06-06make cloned interfaces join an interface class group (carp for carpX, tunHenning Brauer
for tunX etc) in if_clone_create and leave it in if_clone_destroy, ryan ok
2005-06-05const'ify the char *groupname param to if_addgroup and if_delgroupHenning Brauer
2005-05-26deny groupnames ending in digits in if_addgroup, frantzen okHenning Brauer
(this has been on my todo, mike beat me to it with the check in ifconfig, but we want it here too)
2005-05-26oups another unused varHenning Brauer
2005-05-26unused varHenning Brauer
2005-05-26remove the interface family group (i. e. "em" for "em0")Henning Brauer
I foudn this stupid from the beginning on :) talked about and agreed with ryan and theo on the hike
2005-05-25when an interface joins or leaves a group call back into pf so it canHenning Brauer
update the internal tables used for (ifgroup) notation
2005-05-24include trunk.h to get the NTRUNK valueReyk Floeter
ok cloder@
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.