X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fnetdev-linux.h;h=7a112049b02c12afaa5e678197e8baab11690960;hb=8a3d2fef9775498320ca7ea014dbdc4cbb14bbb2;hp=93ddfcb632653dc77f33d72454cab30833dfba15;hpb=e9e28be359f64c03944c0a282c17e714fcb0afc4;p=openvswitch diff --git a/lib/netdev-linux.h b/lib/netdev-linux.h index 93ddfcb6..7a112049 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. */ +/* These functions are Linux specific, so they should be used directly only by + * Linux-specific code. */ -#include "list.h" +struct netdev_stats; +struct rtnl_link_stats; +struct rtnl_link_stats64; -struct linux_netdev_change { - /* Copied from struct nlmsghdr. */ - int nlmsg_type; /* e.g. RTM_NEWLINK, RTM_DELLINK. */ - - /* 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); +void netdev_stats_from_rtnl_link_stats(struct netdev_stats *dst, + const struct rtnl_link_stats *src); +void netdev_stats_from_rtnl_link_stats64(struct netdev_stats *dst, + const struct rtnl_link_stats64 *src); +void netdev_stats_to_rtnl_link_stats64(struct rtnl_link_stats64 *dst, + const struct netdev_stats *src); #endif /* netdev-linux.h */