X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fnetdev-linux.h;h=0c61bc90762eb2899734e1b6518889e3ecf4954f;hb=HEAD;hp=42ea380a6af62530af7322f3bb57344d9c2931ac;hpb=d81c0ac56d42039d9bccbf4a65d4eb18f9fa654b;p=sliver-openvswitch.git diff --git a/lib/netdev-linux.h b/lib/netdev-linux.h index 42ea380a6..0c61bc907 100644 --- a/lib/netdev-linux.h +++ b/lib/netdev-linux.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Nicira Networks. + * Copyright (c) 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,42 +17,15 @@ #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 "list.h" +/* These functions are Linux specific, so they should be used directly only by + * Linux-specific code. */ -/* 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. */ +struct netdev; - /* 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); +int netdev_linux_ethtool_set_flag(struct netdev *netdev, uint32_t flag, + const char *flag_name, bool enable); #endif /* netdev-linux.h */