]>
Commit | Line | Data |
---|---|---|
db9ecf05 | 1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
fc2f9534 LP |
2 | #pragma once |
3 | ||
4 | /*** | |
810adae9 | 5 | Copyright © 2014 Intel Corporation. All rights reserved. |
fc2f9534 LP |
6 | ***/ |
7 | ||
ee446d57 | 8 | #include <inttypes.h> |
bdb397ed SS |
9 | #include <linux/neighbour.h> |
10 | ||
a2106925 | 11 | #include "conf-parser.h" |
1939ebeb | 12 | #include "ether-addr-util.h" |
ee446d57 | 13 | #include "in-addr-util.h" |
fc2f9534 | 14 | |
634f0f98 | 15 | typedef struct Link Link; |
9671ae9d | 16 | typedef struct Network Network; |
fc2f9534 | 17 | |
bdb397ed SS |
18 | typedef enum NeighborCacheEntryFlags { |
19 | NEIGHBOR_CACHE_ENTRY_FLAGS_USE = NTF_USE, | |
20 | NEIGHBOR_CACHE_ENTRY_FLAGS_SELF = NTF_SELF, | |
21 | NEIGHBOR_CACHE_ENTRY_FLAGS_MASTER = NTF_MASTER, | |
22 | NEIGHBOR_CACHE_ENTRY_FLAGS_ROUTER = NTF_ROUTER, | |
23 | _NEIGHBOR_CACHE_ENTRY_FLAGS_MAX, | |
2d93c20e | 24 | _NEIGHBOR_CACHE_ENTRY_FLAGS_INVALID = -EINVAL, |
bdb397ed SS |
25 | } NeighborCacheEntryFlags; |
26 | ||
9671ae9d | 27 | typedef struct BridgeFDB { |
fc2f9534 | 28 | Network *network; |
307fe3cd | 29 | ConfigSection *section; |
fc2f9534 | 30 | |
61b824c5 SS |
31 | uint32_t vni; |
32 | ||
c2c2793f | 33 | int family; |
fc2f9534 LP |
34 | uint16_t vlan_id; |
35 | ||
8f8404d4 | 36 | struct ether_addr mac_addr; |
c2c2793f | 37 | union in_addr_union destination_addr; |
9671ae9d | 38 | NeighborCacheEntryFlags ntf_flags; |
af99cdf4 SS |
39 | char *outgoing_ifname; |
40 | int outgoing_ifindex; | |
9671ae9d | 41 | } BridgeFDB; |
fc2f9534 | 42 | |
9671ae9d | 43 | BridgeFDB *bridge_fdb_free(BridgeFDB *fdb); |
5bb4542b | 44 | |
9671ae9d | 45 | void network_drop_invalid_bridge_fdb_entries(Network *network); |
e6ad630d | 46 | |
e5b35bf6 YW |
47 | int link_request_static_bridge_fdb(Link *link); |
48 | ||
a2106925 LP |
49 | CONFIG_PARSER_PROTOTYPE(config_parse_fdb_hwaddr); |
50 | CONFIG_PARSER_PROTOTYPE(config_parse_fdb_vlan_id); | |
c2c2793f | 51 | CONFIG_PARSER_PROTOTYPE(config_parse_fdb_destination); |
61b824c5 | 52 | CONFIG_PARSER_PROTOTYPE(config_parse_fdb_vxlan_vni); |
bdb397ed | 53 | CONFIG_PARSER_PROTOTYPE(config_parse_fdb_ntf_flags); |
af99cdf4 | 54 | CONFIG_PARSER_PROTOTYPE(config_parse_fdb_interface); |