#define NL_DEFAULT_ROUTE_METRIC 20
-/* Additional protocol strings to push into routes */
+/*
+ * Additional protocol strings to push into routes
+ * If we add anything new here please make sure
+ * to update:
+ * zebra2proto Function
+ * proto2zebra Function
+ * is_selfroute Function
+ * tools/frr To flush the route upon exit
+ *
+ * Finally update this file to allow iproute2 to
+ * know about this new route.
+ * tools/etc/iproute2/rt_protos.d
+ */
#define RTPROT_BGP 186
#define RTPROT_ISIS 187
#define RTPROT_OSPF 188
#define RTPROT_RIP 189
#define RTPROT_RIPNG 190
+#if !defined(RTPROT_BABEL)
+#define RTPROT_BABEL 42
+#endif
+#define RTPROT_NHRP 191
+#define RTPROT_EIGRP 192
+#define RTPROT_LDP 193
+#define RTPROT_SHARP 194
+#define RTPROT_PBR 195
+#define RTPROT_ZSTATIC 196
+
+void rt_netlink_init(void);
-void rt_netlink_init (void);
+extern int netlink_mpls_multipath(int cmd, zebra_lsp_t *lsp);
-extern void
-clear_nhlfe_installed (zebra_lsp_t *lsp);
-extern int
-netlink_mpls_multipath (int cmd, zebra_lsp_t *lsp);
+extern int netlink_route_change(struct nlmsghdr *h, ns_id_t ns_id, int startup);
+extern int netlink_route_read(struct zebra_ns *zns);
-extern int netlink_route_change (struct sockaddr_nl *snl, struct nlmsghdr *h,
- ns_id_t ns_id, int startup);
-extern int netlink_route_read (struct zebra_ns *zns);
+extern int netlink_neigh_change(struct nlmsghdr *h, ns_id_t ns_id);
+extern int netlink_macfdb_read(struct zebra_ns *zns);
+extern int netlink_macfdb_read_for_bridge(struct zebra_ns *zns,
+ struct interface *ifp,
+ struct interface *br_if);
+extern int netlink_neigh_read(struct zebra_ns *zns);
+extern int netlink_neigh_read_for_vlan(struct zebra_ns *zns,
+ struct interface *vlan_if);
#endif /* HAVE_NETLINK */