mirror of
https://github.com/Qortal/Brooklyn.git
synced 2025-02-12 18:25:53 +00:00
38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
|
/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
|
||
|
/* Copyright (c) 2019-2021 Marvell International Ltd. All rights reserved. */
|
||
|
|
||
|
#ifndef _PRESTERA_ROUTER_HW_H_
|
||
|
#define _PRESTERA_ROUTER_HW_H_
|
||
|
|
||
|
struct prestera_vr {
|
||
|
struct list_head router_node;
|
||
|
refcount_t refcount;
|
||
|
u32 tb_id; /* key (kernel fib table id) */
|
||
|
u16 hw_vr_id; /* virtual router ID */
|
||
|
u8 __pad[2];
|
||
|
};
|
||
|
|
||
|
struct prestera_rif_entry {
|
||
|
struct prestera_rif_entry_key {
|
||
|
struct prestera_iface iface;
|
||
|
} key;
|
||
|
struct prestera_vr *vr;
|
||
|
unsigned char addr[ETH_ALEN];
|
||
|
u16 hw_id; /* rif_id */
|
||
|
struct list_head router_node; /* ht */
|
||
|
};
|
||
|
|
||
|
struct prestera_rif_entry *
|
||
|
prestera_rif_entry_find(const struct prestera_switch *sw,
|
||
|
const struct prestera_rif_entry_key *k);
|
||
|
void prestera_rif_entry_destroy(struct prestera_switch *sw,
|
||
|
struct prestera_rif_entry *e);
|
||
|
struct prestera_rif_entry *
|
||
|
prestera_rif_entry_create(struct prestera_switch *sw,
|
||
|
struct prestera_rif_entry_key *k,
|
||
|
u32 tb_id, const unsigned char *addr);
|
||
|
int prestera_router_hw_init(struct prestera_switch *sw);
|
||
|
void prestera_router_hw_fini(struct prestera_switch *sw);
|
||
|
|
||
|
#endif /* _PRESTERA_ROUTER_HW_H_ */
|