ofproto-dpif: Fix use-after-free error in handle_miss_upcalls().
[sliver-openvswitch.git] / lib / netdev-provider.h
index 0631229..d5a30c8 100644 (file)
@@ -172,6 +172,9 @@ struct netdev_class {
      * packet, otherwise a negative errno value.  Returns -EAGAIN immediately
      * if no packet is ready to be received.
      *
+     * Returns -EMSGSIZE, and discards the packet, if the received packet is
+     * longer than 'size' bytes.
+     *
      * This function can only be expected to return a packet if ->listen() has
      * been called successfully.
      *
@@ -270,6 +273,12 @@ struct netdev_class {
      */
     int (*get_carrier)(const struct netdev *netdev, bool *carrier);
 
+    /* Returns the number of times 'netdev''s carrier has changed since being
+     * initialized.
+     *
+     * If null, callers will assume the number of carrier resets is zero. */
+    long long int (*get_carrier_resets)(const struct netdev *netdev);
+
     /* Forces ->get_carrier() to poll 'netdev''s MII registers for link status
      * instead of checking 'netdev''s carrier.  'netdev''s MII registers will
      * be polled once ever 'interval' milliseconds.  If 'netdev' does not
@@ -314,17 +323,6 @@ struct netdev_class {
      * support configuring advertisements. */
     int (*set_advertisements)(struct netdev *netdev, uint32_t advertise);
 
-    /* If 'netdev' is a VLAN network device (e.g. one created with vconfig(8)),
-     * sets '*vlan_vid' to the VLAN VID associated with that device and returns
-     * 0.
-     *
-     * Returns ENOENT if 'netdev' is a network device that is not a
-     * VLAN device.
-     *
-     * This function should be set to null if it doesn't make any sense for
-     * your network device (it probably doesn't). */
-    int (*get_vlan_vid)(const struct netdev *netdev, int *vlan_vid);
-
     /* Attempts to set input rate limiting (policing) policy, such that up to
      * 'kbits_rate' kbps of traffic is accepted, with a maximum accumulative
      * burst size of 'kbits' kb.