mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-04-28 17:42:20 +00:00

- nice correspondence between new YANG grouping and shared library code. - fixes bug with RIPNG use, certainly didn't work before. - removes rip header from shared library code - still has uses RIP_NODE/RIPNG_NODE as required by CLI foo. Signed-off-by: Christian Hopps <chopps@labn.net>
65 lines
1.6 KiB
C
65 lines
1.6 KiB
C
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
/* route-map for interface.
|
|
* Copyright (C) 1999 Kunihiro Ishiguro
|
|
*/
|
|
|
|
#ifndef _ZEBRA_IF_RMAP_H
|
|
#define _ZEBRA_IF_RMAP_H
|
|
|
|
#include "typesafe.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct lyd_node;
|
|
struct vty;
|
|
|
|
enum if_rmap_type { IF_RMAP_IN, IF_RMAP_OUT, IF_RMAP_MAX };
|
|
|
|
struct if_rmap {
|
|
/* Name of the interface. */
|
|
const char *ifname;
|
|
|
|
char *routemap[IF_RMAP_MAX];
|
|
};
|
|
|
|
struct if_rmap_ctx {
|
|
/* if_rmap */
|
|
struct hash *ifrmaphash;
|
|
|
|
/* Hook functions. */
|
|
void (*if_rmap_add_hook)(struct if_rmap_ctx *ctx,
|
|
struct if_rmap *ifrmap);
|
|
void (*if_rmap_delete_hook)(struct if_rmap_ctx *ctx,
|
|
struct if_rmap *ifrmap);
|
|
|
|
/* naming information */
|
|
char *name;
|
|
};
|
|
|
|
extern struct if_rmap_ctx *if_rmap_ctx_create(const char *name);
|
|
extern void if_rmap_ctx_delete(struct if_rmap_ctx *ctx);
|
|
extern void if_rmap_init(int node);
|
|
extern void if_rmap_terminate(void);
|
|
void if_rmap_hook_add(struct if_rmap_ctx *ctx,
|
|
void (*func)(struct if_rmap_ctx *ctx,
|
|
struct if_rmap *));
|
|
void if_rmap_hook_delete(struct if_rmap_ctx *ctx,
|
|
void (*func)(struct if_rmap_ctx *ctx,
|
|
struct if_rmap *));
|
|
extern struct if_rmap *if_rmap_lookup(struct if_rmap_ctx *ctx,
|
|
const char *ifname);
|
|
extern void if_rmap_yang_modify_cb(struct if_rmap_ctx *ctx,
|
|
const struct lyd_node *dnode,
|
|
enum if_rmap_type type, bool del);
|
|
extern void if_rmap_yang_destroy_cb(struct if_rmap_ctx *ctx,
|
|
const struct lyd_node *dnode);
|
|
extern int config_write_if_rmap(struct vty *, struct if_rmap_ctx *ctx);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _ZEBRA_IF_RMAP_H */
|