summaryrefslogtreecommitdiff
path: root/lib/if.h
diff options
context:
space:
mode:
authorMark Stapp <mjs@voltanet.io>2021-10-19 16:46:58 -0400
committerGitHub <noreply@github.com>2021-10-19 16:46:58 -0400
commit32c8a3c2ae48d85bd855b0ebb55c426121be843a (patch)
tree2b489718f0d61ed4c5b043959bcbe3e18035d874 /lib/if.h
parente9f7b2b597ad8c6947ce3b7238e89391e4f9f863 (diff)
parentf60a11883cb426f574dbe5abeff8254148e7c371 (diff)
Merge pull request #9818 from idryzhov/lib-if-fixes
lib: allow to create interfaces in non-existing VRFs
Diffstat (limited to 'lib/if.h')
-rw-r--r--lib/if.h13
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/if.h b/lib/if.h
index 59e75d8b68..1125acd204 100644
--- a/lib/if.h
+++ b/lib/if.h
@@ -293,6 +293,8 @@ struct interface {
#endif /* HAVE_NET_RT_IFLIST */
struct route_node *node;
+
+ struct vrf *vrf;
vrf_id_t vrf_id;
/*
@@ -510,11 +512,6 @@ extern int if_cmp_name_func(const char *p1, const char *p2);
*/
extern void if_update_to_new_vrf(struct interface *, vrf_id_t vrf_id);
-/* Create new interface, adds to name list only */
-extern struct interface *if_create_name(const char *name, vrf_id_t vrf_id);
-
-/* Create new interface, adds to index list only */
-extern struct interface *if_create_ifindex(ifindex_t ifindex, vrf_id_t vrf_id);
extern struct interface *if_lookup_by_index(ifindex_t, vrf_id_t vrf_id);
extern struct interface *if_vrf_lookup_by_index_next(ifindex_t ifindex,
vrf_id_t vrf_id);
@@ -532,13 +529,11 @@ struct vrf;
extern struct interface *if_lookup_by_name_all_vrf(const char *ifname);
extern struct interface *if_lookup_by_name_vrf(const char *name, struct vrf *vrf);
extern struct interface *if_lookup_by_name(const char *ifname, vrf_id_t vrf_id);
-extern struct interface *if_get_by_name(const char *ifname, vrf_id_t vrf_id);
-extern struct interface *if_get_by_ifindex(ifindex_t ifindex, vrf_id_t vrf_id);
+extern struct interface *if_get_by_name(const char *ifname, vrf_id_t vrf_id,
+ const char *vrf_name);
/* Sets the index and adds to index list */
extern int if_set_index(struct interface *ifp, ifindex_t ifindex);
-/* Sets the name and adds to name list */
-extern void if_set_name(struct interface *ifp, const char *name);
/* Delete the interface, but do not free the structure, and leave it in the
interface list. It is often advisable to leave the pseudo interface