Lines Matching refs:interface

30  * This file contains the interface control functions for IP.
304 * Allocate per-interface mibs.
399 * Nuke all interfaces. ipif_free will take down the interface,
403 * zeroth interface first in the case of IPv6 as update_conn_ill
578 * If this ill is an IPMP meta-interface, blow away the illgrp. This
640 /* The default multicast interface might have changed */
654 * MIB statistics must not be lost, so when an interface
1086 * packets instead of sending them out the wrong interface, or accepting
1248 * The existing interface binding for ire must be
1250 * interface. However, since we are using the contents of the
1672 ip1dbg(("ill_capability_hcksum_ack: interface %s "
1729 ip1dbg(("ill_capability_hcksum_ack: interface %s has "
1816 ip1dbg(("ill_capability_zerocopy_ack: interface %s "
1857 ip1dbg(("ill_capability_zerocopy_ack: asking interface %s "
1954 ip1dbg(("ill_capability_dld_ack: interface %s "
2102 ip1dbg(("ill_capability_lso_enable: interface %s "
2198 * We don't wait for DLPI capability operations to finish during interface
2200 * interface up/down operations will need multiple return and restarts.
2694 * socket messages for each interface whose flags we change.
2724 * Update the IPMP meta-interface.
2857 * Check interface name for correct format: [a-zA-Z]+[a-zA-Z0-9._]*[0-9]+
2932 * terminated it contains ppa in addition to the interface
2945 * Even the interface type does not exist.
2988 * remove an interface type from the global list.
2991 ill_delete_interface_type(ill_if_t *interface)
2993 ASSERT(interface != NULL);
2994 ASSERT(avl_numnodes(&interface->illif_avl_by_ppa) == 0);
2996 avl_destroy(&interface->illif_avl_by_ppa);
2997 if (interface->illif_ppa_arena != NULL)
2998 vmem_destroy(interface->illif_ppa_arena);
3000 remque(interface);
3002 mi_free(interface);
3212 * Search for interface type based on name
3264 * check is not required as the interface name passed in will have
3282 /* Free ppa and interface type struct */
3337 * interface ILLs and the special loopback ILL created by ill_lookup_on_name.
3580 * for the interface index. The logic below assumes that ips_ill_index
3623 * all interface indicies are inuse.
3629 * Assign a unique interface index for the phyint.
3679 * If do_alloc and the interface is "lo0" it will be automatically created.
3785 cmn_err(CE_PANIC, "cannot insert loopback interface");
3808 /* Export loopback interface statistics */
3907 * Verify whether or not an interface index is valid for the specified zoneid
3909 * It can be zero (meaning "reset") or an interface index assigned
3910 * to a non-VNI interface. (We don't use VNI interface to send packets.)
3958 * If we're not returning the first interface in the tree
3988 * Return the ifindex for the named interface.
3989 * If there is no next ifindex for the interface, return 0.
4124 * we need. If an interface is brought up without injection of any overriding
4243 * NOTE: The IPMP meta-interface is special-cased because it starts
4245 * address length), but we enforce that an interface is broadcast-
4277 * interface as such. We can do IP multicast over
4305 /* By default an interface does not support any CoS marking */
4325 * local, remote, or subnet interface address.
4390 /* Then check for point to point interface. */
4401 /* old_ipif is a normal interface, so no need to use the new one. */
4408 * condemned, not an underlying interface in an IPMP group, and
4409 * not a VNI interface. Order of preference:
4535 * This function is called when an application does not specify an interface
4537 * calls ire_lookup_multi() to look for an interface route for the
4539 * prefix routes for multicast to indicate which interface to be used for
4543 * any multicast capable interface and return it. The returned ipif
4563 * Look for an ipif with the specified interface address and destination.
4601 /* lookup the ipif based on interface address */
4827 /* Pick the first interface */
5402 * ill is passed in to associate it with the correct interface.
5462 * GateD will attempt to create routes with a loopback interface
5464 * these routes to be added, but create them as interface routes
5465 * since the gateway is an interface address.
5530 * the gateway is the local interface address, yet RTF_GATEWAY
5538 * Traditionally, interface routes are ones where RTF_GATEWAY isn't set
5539 * and the gateway address provided is one of the system's interface
5540 * addresses. By using the routing socket interface and supplying an
5541 * RTA_IFP sockaddr with an interface index, an alternate method of
5542 * specifying an interface route to be created is available which uses
5543 * the interface index that specifies the outgoing interface rather than
5544 * the address of an outgoing interface (which may not be able to
5545 * uniquely identify an interface). When coupled with the RTF_GATEWAY
5548 * interface should be used.
5551 * and so the address assigned to a particular interface could be used
5552 * to identify a particular interface. One exception to this was the
5553 * case of an unnumbered interface (where IPIF_UNNUMBERED was set).
5560 * interface index is necessary and this index can be carried inside a
5562 * of using the interface index, however, is that all of the ipif's that
5565 * interfaces) that belong to the same ill (physical interface).
5574 * the ipif's corresponding to each of these interface routes can be
5575 * uniquely identified by the "gateway" (actually interface address).
5589 "cannot be set with interface route\n"));
5604 * interface (from the RTA_IFP sockaddr) we use it, otherwise
5622 * Since a netmask isn't passed in via the ioctl interface
5647 * these interface routes, by definition, can only be that.
5708 * Get an interface IRE for the specified gateway.
5941 * the interface goes down and then up. The metrics associated
5969 * ill is passed in to associate it with the correct interface.
6005 * We use MATCH_IRE_ILL if we know the interface. If the caller
6006 * specified an interface (from the RTA_IFP sockaddr) we use it,
6012 * interface index, see the comments in ip_rt_add().
6048 * addresses or a matching interface route was not found. We
6053 * interface index so MATCH_IRE_ILL is added to match_flags.
6291 * each phyint in the group, including the IPMP meta-interface phyint.
6334 * when an interface joins or leaves an IPMP group. Joins
6336 * Leaves happen via SIOCSLIFGROUPNAME, interface unplumb
6337 * (phyint_free()), or interface plumb for an ill type
6340 * Xop switches are not allowed on the IPMP meta-interface.
6649 * across the call to the core interface ipsq_try_enter() and hence calls this
6724 * up the interface) and are enqueued in ipx_mphead.
7462 * Get the interfaces using the address hosted on the interface passed in,
8501 * Link or unlink the illgrp on IPMP meta-interface `ill' depending on the
8556 * IPMP meta-interface plumbing logic in ifconfig, and thus
9265 * Create a new logical interface. If ipif_id is zero (i.e. not a logical
9266 * interface) create the next available logical interface for this
9267 * physical interface.
9432 * Remove an existing logical interface. If ipif_id is zero (i.e. not a logical
9433 * interface) delete it based on the IP address (on this physical interface).
9456 * Special case for unplumbing lo0 (the loopback physical interface).
9461 * Note that this interface may be called to remove a specific
9462 * loopback logical interface (eg, lo0:1). But in that case
9464 * same as any other interface (meaning it skips the code directly
9482 /* unplumb the loopback interface */
9534 * lifr_name of the physical interface but with an ip address
9535 * lifr_addr of a logical interface plumbed over it.
9612 * Set the local interface address using the given prefix and ill_token.
9667 * Set the local interface address.
9668 * Allow an address of all zero when the interface is down.
9756 * ill_allowed_ips[] for the interface.
9780 * If the interface is already marked up,
9783 * up based on the old interface address.
9840 * If the interface was previously marked as a duplicate, then since
9862 * tag the ill so that future updates to the interface ID don't result
9873 * When publishing an interface address change event, we only notify
9889 * Now bring the interface back up. If this
9909 * The default multicast interface might have changed (for
9971 * Set the destination address for a pt-pt interface.
10017 * If the interface is already marked up,
10081 * If the interface was previously marked as a duplicate, then since
10100 * interface ID (as can happen with interfaces over IP tunnels) don't
10115 * Now bring the interface back up. If this
10205 * Set interface flags. Many flags require special handling (e.g.,
10206 * bringing the interface down); see below for details.
10269 * an IPMP meta-interface.
10353 * For IPv6 ipif_id 0, don't allow the interface to be up without
10367 * If we modify physical interface flags, we'll potentially need to
10412 * status of the interface.
10421 * If the interface is not UP and we are not going to
10423 * interface comes UP later, the right actions will be
10443 * userland, the interface cannot be used for data traffic.
10468 /* The default multicast interface might have changed */
10623 * the kernel: if any of them has been set by userland, the interface
10653 * the interface and also set PHYI_ flags simultaneously
10681 /* The default multicast interface might have changed */
10748 /* Get interface flags (low 16 only). */
10754 /* Get interface flags. */
10820 * Refresh IPMP meta-interface MTU if necessary.
10830 /* Get interface MTU. */
10843 * We allow a get on any logical interface even though the set
10856 /* Set interface broadcast address. */
10907 /* Get interface broadcast address. */
10963 * No big deal if the interface isn't already up, or the mask
11019 * The interface must be DL_BOUND if this packet has to
11043 /* Get interface net mask. */
11093 * Set interface metric. We don't use this for
11116 /* Get interface metric. */
11246 * If the interface is already marked up,
11249 * up based on the old interface address.
11283 * Now bring the interface back up. If this
11451 * Now bring the interface back up. If this
11514 /* Set interface MTU. */
11564 * ill_mtu is the actual interface MTU, obtained as the min
11585 * Refresh IPMP meta-interface MTU if necessary.
11665 * directly attached subnet interface is using.
11861 * - logical interface is within the allowed range
11968 * Allocate and initialize a new interface control structure. (Always
11977 * the interface flags or any other information from the DL_INFO_ACK for
12079 * Don't set the interface flags etc. now, will do it in
12086 * NOTE: The IPMP meta-interface is special-cased because it starts
12131 * interface.
12154 * If this was the last ipif on an IPMP interface, purge any
12197 * We're bringing an interface up here. There's no way that we
12279 * This is called when an interface transitions from down to up
12526 * Handle requests to rename an IPMP meta-interface.
12528 * Note that creation of the IPMP meta-interface is handled in
12530 * plumbing the IPMP meta-interface, its initial groupname is set to
12531 * the name of the interface (see ipif_set_values_tail()).
12539 * Handle requests to add or remove an IP interface from a group.
12543 * Moves are handled by first removing the interface from
12579 * IPMP meta-interface ills needed by `phyi' cannot go away
12597 * Request to remove the interface from a group. If the
12598 * interface is not in a group, this trivially succeeds.
13053 * interface up.
13099 /* Discard instead of queuing for the ipmp interface */
13150 * We should have no messages on the ipmp interface
13224 * Take down a specific interface, but don't lose any information about it.
13226 * This function goes through the down sequence even if the interface is
13228 * a. Currently we permit interface routes that depend on down interfaces
13232 * b. The bringup of the interface could fail in ill_dl_up i.e. we get
13233 * DL_ERROR_ACK in response to the DL_BIND request. The interface is
13283 * Flow of ioctls involving interface down/up
13286 * up interface.
13392 * Since the interface is now down, it may have just become
13395 * restored when the interface comes back up.
13402 * neighbor-discovery or arp entries for this interface. The ipif
13486 * Skip any loopback interface (null wq).
13487 * If this is the last logical interface on the ill
13509 * Bring interface logically down without bringing the physical interface
13511 * negotiations between an ethernet interface and a certain switches.
13548 * Take down the interface. We can be called either from ill_delete
13554 * Now that the interface is down, there's no chance it can still
13591 /* Get it out of the ILL interface list. */
13693 * a valid interface.
13773 * interface, since we might have more than one loopback interface
13831 * a valid interface.
13952 /* ICMP mask reply is not for a loopback interface */
14111 * Used when an interface comes up to recreate any extra routes on this
14112 * interface.
14210 * interface is brought up. (Always called as writer.)
14352 * If this is a request to bring up a data address on an interface
14353 * under IPMP, then move the address to its IPMP meta-interface and
14468 /* Skip arp/ndp for any loopback interface. */
14477 * logical interface on the ill to become "up".
14491 * interface up message at a time. If ipif_resolver_up
14664 * the interface goes down.
14678 * by comparing the interface being configured here to the one
14707 * Create all the IREs associated with an interface. Bring up multicast.
14708 * Set the interface flag and finish other initialization
14725 /* Check if this is a loopback interface */
14746 /* first useable pre-existing interface */
14787 /* Create all the IREs associated with this interface */
14835 * Since the interface is now up, it may now be active.
14841 * If this is an IPMP interface, we may now be able to
14864 * others that this interface is up if it looks like the address has
14916 /* If the interface address is set, create the local IRE. */
14955 * interface address. Also, store this mask back into the
15109 * sense based on the interface address.
15333 * so if we were passed one, switch to the IPMP meta-interface.
15697 * Don't create IRE_BROADCAST IREs for the interface if the subnetmask
15698 * is 0xFFFFFFFF, as an IRE_LOCAL for that interface is already
15758 * Don't create IRE_BROADCAST IREs for the interface if the subnetmask
15759 * is 0xFFFFFFFF, as an IRE_LOCAL for that interface is already
15805 * If we are not writer on 'q' then this interface exists already
15936 * Change an existing physical interface's index. If the new index
15960 * Only allow on physical interface. Also, index zero is illegal.
15973 * Use phyint_exists() to determine if the new interface index
16026 /* Get the interface index */
16044 /* Get the interface zone */
16051 * Set the zoneid of an interface.
16080 * interface will be cleaned up even if the zone is shut down
16081 * immediately after the status check. If the interface can't be brought
16096 * If the interface is already marked up,
16099 * up based on the old interface address.
16141 /* The default multicast interface might have changed */
16146 * Now bring the interface back up. If this
16187 * Note that if the status check fails, we need to bring the interface
16283 * from ill_delete when the interface being unplumbed is the
16391 /* non usesrc group interface, nothing to reset */
16588 * If this phyint was an IPMP meta-interface, blow away the group.
16602 * If this interface was under IPMP, take it out of the group.
16743 * a new interface has just been added to IP. For this event to
16744 * be generated, the network interface must, at least, have an
16761 * Notify any downstream modules of the name of this interface.
16810 * meta-interface can be performed.
16816 * meta-interface and we need to create the IPMP group.
16821 * the same name as our interface, bail.
16888 ip1dbg(("ipif_set_values: interface %s\n", interf_name));
16919 * here so that we can manage the interface. Note that in
17138 * the interface goes down and then up.
17353 * Derive an interface id from the link layer address.
17365 * interface ID on IPv6 interfaces above links that actually have real
17392 * Construct a pseudo-random interface ID for the IPMP interface that's both
17422 * Map the hash to an interface ID per the basic approach in RFC3041.
17505 * Derive IPoIB interface id from the link layer address.
17522 * of the interface identifier. Whether the GUID is in modified
17541 * network interface. They can be ascertained from the broadcast address.
17611 * Derive IPv6 interface id from an IPv4 link-layer address (e.g. from an IPv4
17613 * IPv6 interface id. This is a suggested mechanism described in section 3.7
17625 * Derive IPv6 interface id from an IPv6 link-layer address (e.g. from an IPv6
17626 * tunnel). The lower 8 bytes of the IPv6 address simply become the interface
18041 * Successfully quiesced and brought down the interface, now we send
18110 * Pad the interface count to account for additional interfaces that
18130 * Helper for ip_interface_cleanup() that removes the loopback interface.
18142 * Attempt to remove the interface. It may legitimately not exist
18169 cmn_err(CE_WARN, "ip_ipmp_cleanup: cannot get interface list "
18191 "bring down (error %d); IPMP interface may "
18207 "reset DAD (error %d); IPMP interface may "
18219 "IPMP interface may not be shutdown",
18510 * when the first interface is coming UP.
18526 * before using the interface.
18565 * interface back up as part of handling an asynchronous event (e.g.,
18660 * interface back up as part of handling an asynchronous event (e.g.,
18961 /* Remove all cache entries for this logical interface */
19007 * find the first interface that uses usill for its source address.
19038 * The goal here is to find an IP interface that corresponds to the name