ip_ftable.h revision c793af95640863cd29868fc7c419c5d2496b207b
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * CDDL HEADER START
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * The contents of this file are subject to the terms of the
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * Common Development and Distribution License (the "License").
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * You may not use this file except in compliance with the License.
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * See the License for the specific language governing permissions
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * and limitations under the License.
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * When distributing Covered Code, include this CDDL HEADER in each
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * If applicable, add the following below this CDDL HEADER, with the
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * fields enclosed by brackets "[]" replaced with your own identifying
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * information: Portions Copyright [yyyy] [name of copyright owner]
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * CDDL HEADER END
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * Use is subject to license terms.
c793af95640863cd29868fc7c419c5d2496b207bsangeeta#pragma ident "%Z%%M% %I% %E% SMI"
c793af95640863cd29868fc7c419c5d2496b207bsangeetaextern "C" {
c793af95640863cd29868fc7c419c5d2496b207bsangeeta struct radix_node rt_nodes[2]; /* tree glue, and other values */
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * struct rt_entry must begin with a struct radix_node (or two!)
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * to a 'struct rt_entry *'
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * multiple routes to same dest/mask via varying gate/ifp are stored
c793af95640863cd29868fc7c419c5d2496b207bsangeeta * in the rt_irb bucket.
c793af95640863cd29868fc7c419c5d2496b207bsangeeta/* vehicle for passing args through rn_walktree */
c793af95640863cd29868fc7c419c5d2496b207bsangeetaextern ire_t *ire_ftable_lookup(ipaddr_t, ipaddr_t, ipaddr_t, int,
c793af95640863cd29868fc7c419c5d2496b207bsangeeta const struct ts_label_s *, int);
c793af95640863cd29868fc7c419c5d2496b207bsangeetaextern ire_t *ipif_lookup_multi_ire(ipif_t *, ipaddr_t);
c793af95640863cd29868fc7c419c5d2496b207bsangeetaextern ire_t *ire_forward(ipaddr_t, boolean_t *, ire_t *, ire_t *,
c793af95640863cd29868fc7c419c5d2496b207bsangeeta const struct ts_label_s *);
c793af95640863cd29868fc7c419c5d2496b207bsangeetaextern void ire_ftable_walk(struct rt_entry *, uint_t, uint_t,
c793af95640863cd29868fc7c419c5d2496b207bsangeetaextern uint_t ifindex_lookup(const struct sockaddr *, zoneid_t);
c793af95640863cd29868fc7c419c5d2496b207bsangeetaextern int ipfil_sendpkt(const struct sockaddr *, mblk_t *, uint_t, zoneid_t);
c793af95640863cd29868fc7c419c5d2496b207bsangeeta#endif /* _KERNEL */
c793af95640863cd29868fc7c419c5d2496b207bsangeeta#endif /* _INET_IP_FTABLE_H */