]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/network/networkd-fdb.h
network: drop unused fdb_ntf_flags_to_string()
[thirdparty/systemd.git] / src / network / networkd-fdb.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
fc2f9534
LP
2#pragma once
3
4/***
810adae9 5 Copyright © 2014 Intel Corporation. All rights reserved.
fc2f9534
LP
6***/
7
bdb397ed
SS
8#include <linux/neighbour.h>
9
a2106925 10#include "conf-parser.h"
1939ebeb 11#include "ether-addr-util.h"
634f0f98
ZJS
12#include "list.h"
13#include "macro.h"
fcbf4cb7 14#include "networkd-util.h"
fc2f9534 15
634f0f98
ZJS
16typedef struct Network Network;
17typedef struct FdbEntry FdbEntry;
18typedef struct Link Link;
1a75764a 19typedef struct NetworkConfigSection NetworkConfigSection;
fc2f9534 20
bdb397ed
SS
21typedef enum NeighborCacheEntryFlags {
22 NEIGHBOR_CACHE_ENTRY_FLAGS_USE = NTF_USE,
23 NEIGHBOR_CACHE_ENTRY_FLAGS_SELF = NTF_SELF,
24 NEIGHBOR_CACHE_ENTRY_FLAGS_MASTER = NTF_MASTER,
25 NEIGHBOR_CACHE_ENTRY_FLAGS_ROUTER = NTF_ROUTER,
26 _NEIGHBOR_CACHE_ENTRY_FLAGS_MAX,
27 _NEIGHBOR_CACHE_ENTRY_FLAGS_INVALID = -1,
28} NeighborCacheEntryFlags;
29
fc2f9534
LP
30struct FdbEntry {
31 Network *network;
1a75764a 32 NetworkConfigSection *section;
fc2f9534 33
61b824c5
SS
34 uint32_t vni;
35
c2c2793f 36 int family;
fc2f9534
LP
37 uint16_t vlan_id;
38
8f8404d4 39 struct ether_addr mac_addr;
c2c2793f 40 union in_addr_union destination_addr;
bdb397ed 41 NeighborCacheEntryFlags fdb_ntf_flags;
fc2f9534
LP
42};
43
df3a18f8 44FdbEntry *fdb_entry_free(FdbEntry *fdb_entry);
5bb4542b 45
e6ad630d
YW
46void network_verify_fdb_entries(Network *network);
47
5bb4542b 48int link_set_bridge_fdb(Link *link);
fc2f9534 49
a2106925
LP
50CONFIG_PARSER_PROTOTYPE(config_parse_fdb_hwaddr);
51CONFIG_PARSER_PROTOTYPE(config_parse_fdb_vlan_id);
c2c2793f 52CONFIG_PARSER_PROTOTYPE(config_parse_fdb_destination);
61b824c5 53CONFIG_PARSER_PROTOTYPE(config_parse_fdb_vxlan_vni);
bdb397ed 54CONFIG_PARSER_PROTOTYPE(config_parse_fdb_ntf_flags);