2023-02-08 13:17:09 +01:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2002-12-13 21:15:29 +01:00
|
|
|
/*
|
|
|
|
* Kernel routing table readup by netlink
|
|
|
|
* Copyright (C) 1998 Kunihiro Ishiguro
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <zebra.h>
|
2011-08-28 20:29:52 +02:00
|
|
|
|
2017-07-26 19:49:15 +02:00
|
|
|
#ifdef GNU_LINUX
|
|
|
|
|
2016-10-06 22:23:13 +02:00
|
|
|
#include "vty.h"
|
2017-12-08 00:35:29 +01:00
|
|
|
#include "zebra/rt.h"
|
2018-02-04 13:33:33 +01:00
|
|
|
#include "zebra/zebra_pbr.h"
|
2022-09-06 09:10:11 +02:00
|
|
|
#include "zebra/zebra_tc.h"
|
2015-05-20 03:04:26 +02:00
|
|
|
#include "zebra/rt_netlink.h"
|
2021-04-28 21:45:29 +02:00
|
|
|
#include "zebra/if_netlink.h"
|
2018-02-04 13:33:33 +01:00
|
|
|
#include "zebra/rule_netlink.h"
|
2022-09-06 09:10:11 +02:00
|
|
|
#include "zebra/tc_netlink.h"
|
2002-12-13 21:15:29 +01:00
|
|
|
|
2016-02-01 19:55:42 +01:00
|
|
|
void route_read(struct zebra_ns *zns)
|
2002-12-13 21:15:29 +01:00
|
|
|
{
|
2016-02-01 19:55:42 +01:00
|
|
|
netlink_route_read(zns);
|
2002-12-13 21:15:29 +01:00
|
|
|
}
|
2017-05-15 07:44:13 +02:00
|
|
|
|
|
|
|
void macfdb_read(struct zebra_ns *zns)
|
|
|
|
{
|
|
|
|
netlink_macfdb_read(zns);
|
|
|
|
}
|
|
|
|
|
|
|
|
void macfdb_read_for_bridge(struct zebra_ns *zns, struct interface *ifp,
|
2021-07-27 09:47:52 +02:00
|
|
|
struct interface *br_if, vlanid_t vid)
|
2017-05-15 07:44:13 +02:00
|
|
|
{
|
2021-07-27 09:47:52 +02:00
|
|
|
netlink_macfdb_read_for_bridge(zns, ifp, br_if, vid);
|
2017-05-15 07:44:13 +02:00
|
|
|
}
|
|
|
|
|
2021-07-27 18:29:00 +02:00
|
|
|
void macfdb_read_mcast_entry_for_vni(struct zebra_ns *zns,
|
|
|
|
struct interface *ifp, vni_t vni)
|
|
|
|
{
|
|
|
|
netlink_macfdb_read_mcast_for_vni(zns, ifp, vni);
|
|
|
|
}
|
|
|
|
|
2018-12-11 06:33:16 +01:00
|
|
|
void macfdb_read_specific_mac(struct zebra_ns *zns, struct interface *br_if,
|
2021-04-19 20:26:57 +02:00
|
|
|
const struct ethaddr *mac, vlanid_t vid)
|
2018-12-11 06:33:16 +01:00
|
|
|
{
|
2021-04-19 20:26:57 +02:00
|
|
|
netlink_macfdb_read_specific_mac(zns, br_if, mac, vid);
|
2018-12-11 06:33:16 +01:00
|
|
|
}
|
|
|
|
|
2017-05-15 07:44:13 +02:00
|
|
|
void neigh_read(struct zebra_ns *zns)
|
|
|
|
{
|
|
|
|
netlink_neigh_read(zns);
|
|
|
|
}
|
|
|
|
|
|
|
|
void neigh_read_for_vlan(struct zebra_ns *zns, struct interface *vlan_if)
|
|
|
|
{
|
|
|
|
netlink_neigh_read_for_vlan(zns, vlan_if);
|
|
|
|
}
|
2017-07-26 19:49:15 +02:00
|
|
|
|
2021-04-19 20:26:57 +02:00
|
|
|
void neigh_read_specific_ip(const struct ipaddr *ip, struct interface *vlan_if)
|
2018-12-11 06:33:16 +01:00
|
|
|
{
|
|
|
|
netlink_neigh_read_specific_ip(ip, vlan_if);
|
|
|
|
}
|
|
|
|
|
2018-02-04 13:33:33 +01:00
|
|
|
void kernel_read_pbr_rules(struct zebra_ns *zns)
|
|
|
|
{
|
|
|
|
netlink_rules_read(zns);
|
|
|
|
}
|
|
|
|
|
2022-09-06 09:10:11 +02:00
|
|
|
void kernel_read_tc_qdisc(struct zebra_ns *zns)
|
|
|
|
{
|
|
|
|
netlink_qdisc_read(zns);
|
|
|
|
}
|
|
|
|
|
2021-04-28 21:45:29 +02:00
|
|
|
void vlan_read(struct zebra_ns *zns)
|
|
|
|
{
|
|
|
|
netlink_vlan_read(zns);
|
|
|
|
}
|
|
|
|
|
2017-07-26 19:49:15 +02:00
|
|
|
#endif /* GNU_LINUX */
|