X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fnetdev-linux.h;h=c00a846b41335c0c30413a875336ce9d78d3c2b1;hb=f613a0d72c521ca3a4eeb2c29ac523f6fdf72667;hp=93ddfcb632653dc77f33d72454cab30833dfba15;hpb=3b01baa3970139c3a195017ab1ea3e42761e3db2;p=sliver-openvswitch.git diff --git a/lib/netdev-linux.h b/lib/netdev-linux.h index 93ddfcb63..c00a846b4 100644 --- a/lib/netdev-linux.h +++ b/lib/netdev-linux.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Nicira Networks. + * Copyright (c) 2011 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,39 +17,18 @@ #ifndef NETDEV_LINUX_H #define NETDEV_LINUX_H 1 -/* These functions are specific to the Linux implementation of dpif and netdev. - * They should only be used directly by Linux-specific code. */ +#include +#include +#include "openvswitch/datapath-protocol.h" -#include "list.h" +/* These functions are Linux specific, so they should be used directly only by + * Linux-specific code. */ -struct linux_netdev_change { - /* Copied from struct nlmsghdr. */ - int nlmsg_type; /* e.g. RTM_NEWLINK, RTM_DELLINK. */ +struct netdev; +struct netdev_stats; +struct rtnl_link_stats; - /* Copied from struct ifinfomsg. */ - int ifi_index; /* Index of network device. */ - - /* Extracted from Netlink attributes. */ - const char *ifname; /* Name of network device. */ - int master_ifindex; /* Ifindex of datapath master (0 if none). */ -}; - -typedef void linux_netdev_notify_func(const struct linux_netdev_change *, - void *aux); - -struct linux_netdev_notifier { - struct list node; - int error; - linux_netdev_notify_func *cb; - void *aux; -}; - -int linux_netdev_notifier_register(struct linux_netdev_notifier *, - linux_netdev_notify_func *, void *aux); -void linux_netdev_notifier_unregister(struct linux_netdev_notifier *); -int linux_netdev_notifier_get_error(struct linux_netdev_notifier *); -int linux_netdev_notifier_peek_error(const struct linux_netdev_notifier *); -void linux_netdev_notifier_run(void); -void linux_netdev_notifier_wait(void); +int netdev_linux_ethtool_set_flag(struct netdev *netdev, uint32_t flag, + const char *flag_name, bool enable); #endif /* netdev-linux.h */