X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fnetdev-linux.h;h=7a112049b02c12afaa5e678197e8baab11690960;hb=9d9a0a0452a957472b0f3a9c132aea19cfb4e568;hp=42ea380a6af62530af7322f3bb57344d9c2931ac;hpb=d81c0ac56d42039d9bccbf4a65d4eb18f9fa654b;p=openvswitch diff --git a/lib/netdev-linux.h b/lib/netdev-linux.h index 42ea380a..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,42 +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; -/* A digested version of an rtnetlink message sent down by the kernel to - * indicate that a network device has been created or destroyed or changed. */ -struct rtnetlink_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). */ -}; - -/* Function called to report that a netdev has changed. 'change' describes the - * specific change. It may be null if the buffer of change information - * overflowed, in which case the function must assume that every device may - * have changed. 'aux' is as specified in the call to - * lxnetdev_notifier_register(). */ -typedef void rtnetlink_notify_func(const struct rtnetlink_change *, void *aux); - -struct rtnetlink_notifier { - struct list node; - rtnetlink_notify_func *cb; - void *aux; -}; - -int rtnetlink_notifier_register(struct rtnetlink_notifier *, - rtnetlink_notify_func *, void *aux); -void rtnetlink_notifier_unregister(struct rtnetlink_notifier *); -void rtnetlink_notifier_run(void); -void rtnetlink_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 */