]> git.proxmox.com Git - mirror_frr.git/blobdiff - babeld/babel_interface.h
Merge pull request #13350 from opensourcerouting/typesafe-fixes-20230421
[mirror_frr.git] / babeld / babel_interface.h
index 17d9bfb9360ddd15345a73690e707e3a8f0fb3dd..12fa6e2bad9a5a4b884ff6553bd082c3e035bd77 100644 (file)
@@ -1,23 +1,6 @@
+// SPDX-License-Identifier: MIT
 /*
 Copyright 2011 by Matthieu Boutier and Juliusz Chroboczek
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
 */
 
 #ifndef BABEL_INTERFACE_H
@@ -32,7 +15,7 @@ THE SOFTWARE.
 #define CONFIG_NO 1
 #define CONFIG_YES 2
 
-/* babeld interface informations */
+/* babeld interface information */
 struct babel_interface {
     unsigned short flags;                     /* see below */
     unsigned short cost;
@@ -100,7 +83,7 @@ if_up(struct interface *ifp)
 {
     return (if_is_operative(ifp) &&
             ifp->connected != NULL &&
-            (babel_get_if_nfo(ifp)->flags & BABEL_IF_IS_UP));
+            CHECK_FLAG(babel_get_if_nfo(ifp)->flags, BABEL_IF_IS_UP));
 }
 
 struct buffered_update {
@@ -121,6 +104,11 @@ int babel_interface_delete (int, struct zclient *, zebra_size_t, vrf_id_t);
 int babel_interface_address_add (int, struct zclient *, zebra_size_t, vrf_id_t);
 int babel_interface_address_delete (int, struct zclient *, zebra_size_t, vrf_id_t);
 
+int babel_ifp_create(struct interface *ifp);
+int babel_ifp_up(struct interface *ifp);
+int babel_ifp_down(struct interface *ifp);
+int babel_ifp_destroy(struct interface *ifp);
+
 unsigned jitter(babel_interface_nfo *, int);
 unsigned update_jitter(babel_interface_nfo *babel_ifp, int urgent);
 /* return "true" if "address" is one of our ipv6 addresses */