blob: 28387e93625bc395abd09242ee0ae09378f5a920 [file] [log] [blame]
paul718e3742002-12-13 20:15:29 +00001/*
2 * Interface's address and mask.
3 * Copyright (C) 1997 Kunihiro Ishiguro
4 *
5 * This file is part of GNU Zebra.
6 *
7 * GNU Zebra is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2, or (at your option) any
10 * later version.
11 *
12 * GNU Zebra is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Zebra; see the file COPYING. If not, write to the Free
19 * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
20 * 02111-1307, USA.
21 */
22
23#ifndef _ZEBRA_CONNECTED_H
24#define _ZEBRA_CONNECTED_H
25
paula1ac18c2005-06-28 17:17:12 +000026extern struct connected *
paulca162182005-09-12 16:58:52 +000027connected_check (struct interface *ifp, struct prefix *p);
paul718e3742002-12-13 20:15:29 +000028
paula1ac18c2005-06-28 17:17:12 +000029extern void
paul718e3742002-12-13 20:15:29 +000030connected_add_ipv4 (struct interface *ifp, int flags, struct in_addr *addr,
pauld06b2a62005-10-11 03:53:54 +000031 u_char prefixlen, struct in_addr *broad,
32 const char *label);
paul718e3742002-12-13 20:15:29 +000033
paula1ac18c2005-06-28 17:17:12 +000034extern void
paul718e3742002-12-13 20:15:29 +000035connected_delete_ipv4 (struct interface *ifp, int flags, struct in_addr *addr,
paul0752ef02005-11-03 12:35:21 +000036 u_char prefixlen, struct in_addr *broad);
paul718e3742002-12-13 20:15:29 +000037
paula1ac18c2005-06-28 17:17:12 +000038extern void connected_up_ipv4 (struct interface *, struct connected *);
39extern void connected_down_ipv4 (struct interface *, struct connected *);
paul718e3742002-12-13 20:15:29 +000040
41#ifdef HAVE_IPV6
paula1ac18c2005-06-28 17:17:12 +000042extern void
paul718e3742002-12-13 20:15:29 +000043connected_add_ipv6 (struct interface *ifp, struct in6_addr *address,
paul89368d92005-11-26 09:14:07 +000044 u_char prefixlen, struct in6_addr *broad,
45 const char *label);
paula1ac18c2005-06-28 17:17:12 +000046extern void
paul718e3742002-12-13 20:15:29 +000047connected_delete_ipv6 (struct interface *ifp, struct in6_addr *address,
paula1ac18c2005-06-28 17:17:12 +000048 u_char prefixlen, struct in6_addr *broad);
paul718e3742002-12-13 20:15:29 +000049
paula1ac18c2005-06-28 17:17:12 +000050extern void connected_up_ipv6 (struct interface *, struct connected *);
51extern void connected_down_ipv6 (struct interface *ifp, struct connected *);
paul718e3742002-12-13 20:15:29 +000052
53#endif /* HAVE_IPV6 */
54
55#endif /*_ZEBRA_CONNECTED_H */