freebsd-dev/sys/netinet6
Gleb Smirnoff 468e45f3bd The SIOCSIFFLAGS ioctl handler runs if_up()/if_down() that notify
all interested parties in case if interface flag IFF_UP has changed.

  However, not only SIOCSIFFLAGS can raise the flag, but SIOCAIFADDR
and SIOCAIFADDR_IN6 can, too. The actual |= is done not in the protocol
code, but in code of interface drivers. To fix this historical layering
violation, we will check whether ifp->if_ioctl(SIOCSIFADDR) raised the
IFF_UP flag, and if it did, run the if_up() handler.

  This fixes configuring an address under CARP control on an interface
that was initially !IFF_UP.

P.S. I intentionally omitted handling the IFF_SMART flag. This flag was
never ever used in any driver since it was introduced, and since it
means another layering violation, it should be garbage collected instead
of pretended to be supported.
2012-12-25 13:01:58 +00:00
..
dest6.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
frag6.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
icmp6.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
icmp6.h
in6_cksum.c MFp4 bz_ipv6_fast: 2012-05-24 18:25:09 +00:00
in6_gif.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
in6_gif.h Remove __P. 2012-10-22 21:49:56 +00:00
in6_ifattach.c Add multi-FIB IPv6 support to the core network stack supplementing 2012-02-03 13:08:44 +00:00
in6_ifattach.h Remove __P. 2012-10-22 21:49:56 +00:00
in6_mcast.c Add multi-FIB IPv6 support to the core network stack supplementing 2012-02-03 13:08:44 +00:00
in6_pcb.c in6_pcblookup_local() still can return a pcb with NULL 2012-03-21 08:43:38 +00:00
in6_pcb.h Remove __P. 2012-10-22 21:49:56 +00:00
in6_pcbgroup.c Implement a CPU-affine TCP and UDP connection lookup data structure, 2011-06-06 12:55:02 +00:00
in6_proto.c o Convert IPv6 read-only stats sysctls to the read-write ones. 2011-12-19 05:50:34 +00:00
in6_rmx.c Eliminate code checking if found IPv6 rte is dynamic. IPv6 redirects 2012-10-22 12:54:52 +00:00
in6_src.c Reduce the overhead of locking, use IF_AFDATA_RLOCK() when we are doing 2012-11-16 12:12:02 +00:00
in6_var.h In additional to the tailq of IPv6 addresses add the hash table. 2012-12-15 20:04:24 +00:00
in6.c The SIOCSIFFLAGS ioctl handler runs if_up()/if_down() that notify 2012-12-25 13:01:58 +00:00
in6.h Remove __P. 2012-10-22 21:49:56 +00:00
ip6_ecn.h
ip6_forward.c Remove the recently added sysctl variable net.pfil.forward. 2012-11-02 01:20:55 +00:00
ip6_id.c
ip6_input.c In additional to the tailq of IPv6 addresses add the hash table. 2012-12-15 20:04:24 +00:00
ip6_ipsec.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip6_ipsec.h
ip6_mroute.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ip6_mroute.h Remove route caching from IP multicast routing code. There is no 2012-07-02 19:44:18 +00:00
ip6_output.c When we have some address to forward (e.g. it was specified with ipfw fwd), 2012-12-19 17:28:17 +00:00
ip6_var.h Use M_PROTO7 flag for M_IP6_NEXTHOP, because M_PROTO2 was used for 2012-12-17 14:36:56 +00:00
ip6.h
ip6protosw.h Remove __P. 2012-10-22 21:49:56 +00:00
mld6_var.h Use ALLOW_NEW_SOURCES and BLOCK_OLD_SOURCES to signal a join or leave 2009-12-22 20:40:22 +00:00
mld6.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
mld6.h Add MLDv2 protocol header, but do not connect it to the build. 2009-04-29 11:31:23 +00:00
nd6_nbr.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
nd6_rtr.c Reduce the overhead of locking, use IF_AFDATA_RLOCK() when we are doing 2012-11-16 12:12:02 +00:00
nd6.c Fix problem in r238990. The LLE_LINKED flag should be tested prior to 2012-12-13 11:11:15 +00:00
nd6.h Remove __P. 2012-10-22 21:49:56 +00:00
pim6_var.h Remove __P. 2012-10-22 21:49:56 +00:00
pim6.h
raw_ip6.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
raw_ip6.h Remove unused VNET_SET() and related macros; only VNET_GET() is 2009-07-16 21:13:04 +00:00
route6.c MFp4 bz_ipv6_fast: 2012-05-25 01:43:52 +00:00
scope6_var.h - Move definition of V_deembed_scopeid to scope6_var.h. 2012-12-05 19:45:24 +00:00
scope6.c - Move definition of V_deembed_scopeid to scope6_var.h. 2012-12-05 19:45:24 +00:00
sctp6_usrreq.c Add support for SCTP/UDP/IPV6. 2012-11-17 20:04:04 +00:00
sctp6_var.h Add support for SCTP/UDP/IPV6. 2012-11-17 20:04:04 +00:00
send.c Revert previous commit... 2012-10-10 08:36:38 +00:00
send.h Use uint8_t for sockaddr sa_len. 2011-06-05 11:40:30 +00:00
tcp6_var.h Remove __P. 2012-10-22 21:49:56 +00:00
udp6_usrreq.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
udp6_var.h