diff options
Diffstat (limited to 'zebra/if_netlink.h')
| -rw-r--r-- | zebra/if_netlink.h | 25 |
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 } |
