X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fnetdev-vport.h;h=d79ef98ae4e34ece78901630a758a2910bc20d7a;hb=41ca1e0afb4b261a217c9fdaf672ef606e8434f9;hp=cb467f077f98ea463de0b7ac7a83cc7b08a52438;hpb=777ece0952d1087e2ac1c3aa33e9dda1fe60add6;p=sliver-openvswitch.git diff --git a/lib/netdev-vport.h b/lib/netdev-vport.h index cb467f077..d79ef98ae 100644 --- a/lib/netdev-vport.h +++ b/lib/netdev-vport.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010 Nicira Networks. + * Copyright (c) 2010, 2011, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,26 +17,38 @@ #ifndef NETDEV_VPORT_H #define NETDEV_VPORT_H 1 -#include "netdev-provider.h" -#include "packets.h" - -int netdev_vport_do_ioctl(int cmd, void *arg); - -int netdev_vport_set_etheraddr(struct netdev *, - const uint8_t mac[ETH_ADDR_LEN]); -int netdev_vport_get_etheraddr(const struct netdev *, - uint8_t mac[ETH_ADDR_LEN]); -int netdev_vport_get_mtu(const struct netdev *, int *mtup); -int netdev_vport_get_carrier(const struct netdev *, bool *carrier); -int netdev_vport_get_stats(const struct netdev *, struct netdev_stats *); -int netdev_vport_update_flags(struct netdev *, enum netdev_flags off, - enum netdev_flags on, - enum netdev_flags *old_flagsp); - -int netdev_vport_poll_add(struct netdev *, - void (*cb)(struct netdev_notifier *), void *aux, - struct netdev_notifier **); -void netdev_vport_poll_remove(struct netdev_notifier *); -void netdev_vport_poll_notify(const struct netdev *); +#include +#include + +struct dpif_linux_vport; +struct dpif_flow_stats; +struct netdev; +struct netdev_class; +struct netdev_stats; + +void netdev_vport_tunnel_register(void); +void netdev_vport_patch_register(void); + +bool netdev_vport_is_patch(const struct netdev *); +bool netdev_vport_is_layer3(const struct netdev *); + +char *netdev_vport_patch_peer(const struct netdev *netdev); + +void netdev_vport_inc_rx(const struct netdev *, + const struct dpif_flow_stats *); +void netdev_vport_inc_tx(const struct netdev *, + const struct dpif_flow_stats *); + +bool netdev_vport_is_vport_class(const struct netdev_class *); +const char *netdev_vport_class_get_dpif_port(const struct netdev_class *); + +#ifndef _WIN32 +enum { NETDEV_VPORT_NAME_BUFSIZE = 16 }; +#else +enum { NETDEV_VPORT_NAME_BUFSIZE = 256 }; +#endif +const char *netdev_vport_get_dpif_port(const struct netdev *, + char namebuf[], size_t bufsize); +char *netdev_vport_get_dpif_port_strdup(const struct netdev *); #endif /* netdev-vport.h */