mirror of
https://github.com/openvswitch/ovs
synced 2025-10-13 14:07:02 +00:00
Currently dp-packet make use of ofpbuf for managing packet buffers. That complicates ofpbuf, by making dp-packet independent of ofpbuf both libraries can be optimized for their own use case. This avoids mapping operation between ofpbuf and dp_packet in datapath upcalls. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
59 lines
1.8 KiB
C
59 lines
1.8 KiB
C
/* Copyright (c) 2012 Nicira, Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at:
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License. */
|
|
|
|
#ifndef BFD_H
|
|
#define BFD_H 1
|
|
|
|
#define BFD_PACKET_LEN 24
|
|
#define BFD_DEST_PORT 3784
|
|
|
|
#include <stdbool.h>
|
|
#include <inttypes.h>
|
|
|
|
#include "packets.h"
|
|
|
|
struct bfd;
|
|
struct dpif_flow_stats;
|
|
struct flow;
|
|
struct flow_wildcards;
|
|
struct netdev;
|
|
struct dp_packet;
|
|
struct smap;
|
|
|
|
void bfd_wait(const struct bfd *);
|
|
void bfd_run(struct bfd *);
|
|
|
|
bool bfd_should_send_packet(const struct bfd *);
|
|
void bfd_put_packet(struct bfd *bfd, struct dp_packet *packet,
|
|
uint8_t eth_src[ETH_ADDR_LEN]);
|
|
|
|
bool bfd_should_process_flow(const struct bfd *, const struct flow *,
|
|
struct flow_wildcards *);
|
|
void bfd_process_packet(struct bfd *, const struct flow *,
|
|
const struct dp_packet *);
|
|
|
|
struct bfd *bfd_configure(struct bfd *, const char *name,
|
|
const struct smap *smap,
|
|
struct netdev *netdev);
|
|
struct bfd *bfd_ref(const struct bfd *);
|
|
void bfd_unref(struct bfd *);
|
|
|
|
void bfd_account_rx(struct bfd *, const struct dpif_flow_stats *);
|
|
bool bfd_forwarding(struct bfd *);
|
|
bool bfd_check_status_change(struct bfd *);
|
|
void bfd_get_status(const struct bfd *, struct smap *);
|
|
void bfd_set_netdev(struct bfd *, const struct netdev *);
|
|
long long int bfd_wake_time(const struct bfd *);
|
|
#endif /* bfd.h */
|