]>
Commit | Line | Data |
---|---|---|
ccc09689 EJ |
1 | /* Copyright (c) 2012 Nicira, Inc. |
2 | * | |
3 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
4 | * you may not use this file except in compliance with the License. | |
5 | * You may obtain a copy of the License at: | |
6 | * | |
7 | * http://www.apache.org/licenses/LICENSE-2.0 | |
8 | * | |
9 | * Unless required by applicable law or agreed to in writing, software | |
10 | * distributed under the License is distributed on an "AS IS" BASIS, | |
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
12 | * See the License for the specific language governing permissions and | |
13 | * limitations under the License. */ | |
14 | ||
15 | #ifndef BFD_H | |
16 | #define BFD_H 1 | |
17 | ||
18 | #define BFD_PACKET_LEN 24 | |
19 | #define BFD_DEST_PORT 3784 | |
20 | ||
21 | #include <stdbool.h> | |
22 | #include <inttypes.h> | |
23 | ||
3bd0fd39 WSH |
24 | #include "packets.h" |
25 | ||
ccc09689 | 26 | struct bfd; |
a1aeea86 | 27 | struct dpif_flow_stats; |
ccc09689 | 28 | struct flow; |
642dc74d | 29 | struct flow_wildcards; |
c1c4e8c7 | 30 | struct netdev; |
ccc09689 EJ |
31 | struct ofpbuf; |
32 | struct smap; | |
33 | ||
34 | void bfd_wait(const struct bfd *); | |
35 | void bfd_run(struct bfd *); | |
36 | ||
37 | bool bfd_should_send_packet(const struct bfd *); | |
38 | void bfd_put_packet(struct bfd *bfd, struct ofpbuf *packet, | |
3bd0fd39 | 39 | uint8_t eth_src[ETH_ADDR_LEN]); |
ccc09689 | 40 | |
fab52e16 PR |
41 | bool bfd_should_process_flow(const struct bfd *, const struct flow *, |
42 | struct flow_wildcards *); | |
ccc09689 EJ |
43 | void bfd_process_packet(struct bfd *, const struct flow *, |
44 | const struct ofpbuf *); | |
45 | ||
46 | struct bfd *bfd_configure(struct bfd *, const char *name, | |
c1c4e8c7 AW |
47 | const struct smap *smap, |
48 | struct netdev *netdev); | |
92cfab82 EJ |
49 | struct bfd *bfd_ref(const struct bfd *); |
50 | void bfd_unref(struct bfd *); | |
ccc09689 | 51 | |
a1aeea86 | 52 | void bfd_account_rx(struct bfd *, const struct dpif_flow_stats *); |
9cdc68a1 | 53 | bool bfd_forwarding(struct bfd *); |
88bf179a | 54 | bool bfd_check_status_change(struct bfd *); |
ccc09689 | 55 | void bfd_get_status(const struct bfd *, struct smap *); |
c1c4e8c7 | 56 | void bfd_set_netdev(struct bfd *, const struct netdev *); |
88e4462e | 57 | long long int bfd_wake_time(const struct bfd *); |
ccc09689 | 58 | #endif /* bfd.h */ |