summaryrefslogtreecommitdiff
path: root/zebra/if_netlink.h
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/if_netlink.h')
-rw-r--r--zebra/if_netlink.h25
1 files changed, 14 insertions, 11 deletions
diff --git a/zebra/if_netlink.h b/zebra/if_netlink.h
index a1ce7af8c7..46eac25377 100644
--- a/zebra/if_netlink.h
+++ b/zebra/if_netlink.h
@@ -40,6 +40,9 @@ int netlink_interface_addr_dplane(struct nlmsghdr *h, ns_id_t ns_id,
extern int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup);
extern int interface_lookup_netlink(struct zebra_ns *zns);
+extern ssize_t netlink_intf_msg_encode(uint16_t cmd,
+ const struct zebra_dplane_ctx *ctx,
+ void *buf, size_t buflen);
extern enum netlink_msg_status
netlink_put_gre_set_msg(struct nl_batch *bth, struct zebra_dplane_ctx *ctx);
@@ -47,19 +50,19 @@ extern enum netlink_msg_status
netlink_put_address_update_msg(struct nl_batch *bth,
struct zebra_dplane_ctx *ctx);
-/*
- * Set protodown status of interface.
- *
- * ifp
- * Interface to set protodown on.
- *
- * down
- * If true, set protodown on. If false, set protodown off.
+extern enum netlink_msg_status
+netlink_put_intf_update_msg(struct nl_batch *bth, struct zebra_dplane_ctx *ctx);
+
+#define FRR_PROTODOWN_REASON_DEFAULT_BIT 7
+/* Protodown bit setter/getter
*
- * Returns:
- * 0
+ * Allow users to change the bit if it conflicts with another
+ * on their system.
*/
-int netlink_protodown(struct interface *ifp, bool down);
+extern void if_netlink_set_frr_protodown_r_bit(uint8_t bit);
+extern void if_netlink_unset_frr_protodown_r_bit(void);
+extern bool if_netlink_frr_protodown_r_bit_is_set(void);
+extern uint8_t if_netlink_get_frr_protodown_r_bit(void);
#ifdef __cplusplus
}