Update patch to all netdevices
authorRuben Merz <ruben@net.t-labs.tu-berlin.de>
Sun, 12 Jun 2011 00:47:21 +0200
changeset 18 d3bb124c2ffe
parent 17 47b27c78afbe
child 19 cfa5fff58e3d
Update patch to all netdevices
001-netdevice-queue-state.patch
--- a/001-netdevice-queue-state.patch	Fri Jun 10 23:05:57 2011 +0200
+++ b/001-netdevice-queue-state.patch	Sun Jun 12 00:47:21 2011 +0200
@@ -50,7 +50,7 @@
 diff --git a/src/csma/model/csma-net-device.cc b/src/csma/model/csma-net-device.cc
 --- a/src/csma/model/csma-net-device.cc
 +++ b/src/csma/model/csma-net-device.cc
-@@ -1014,4 +1014,18 @@
+@@ -1014,4 +1014,23 @@
    return true;
  }
  
@@ -64,6 +64,11 @@
 +{
 +  return 0;
 +}
++bool
++CsmaNetDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
 +void
 +CsmaNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
 +{}
@@ -72,17 +77,59 @@
 diff --git a/src/csma/model/csma-net-device.h b/src/csma/model/csma-net-device.h
 --- a/src/csma/model/csma-net-device.h
 +++ b/src/csma/model/csma-net-device.h
-@@ -322,6 +322,10 @@
+@@ -322,6 +322,11 @@
    virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb);
    virtual bool SupportsSendFrom (void) const;
  
 +  virtual uint32_t GetQueueState (uint32_t index);
 +  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
 +  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
 +
  protected:
    /**
     * Perform any object release functionality required to break reference 
+diff --git a/src/emu/model/emu-net-device.cc b/src/emu/model/emu-net-device.cc
+--- a/src/emu/model/emu-net-device.cc
++++ b/src/emu/model/emu-net-device.cc
+@@ -1132,4 +1132,22 @@
+   m_rxCallback = cb;
+ }
+ 
++uint32_t
++EmuNetDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++EmuNetDevice::GetNQueues (void)
++{
++  return 0;
++}
++bool
++EmuNetDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++EmuNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
+ } // namespace ns3
+diff --git a/src/emu/model/emu-net-device.h b/src/emu/model/emu-net-device.h
+--- a/src/emu/model/emu-net-device.h
++++ b/src/emu/model/emu-net-device.h
+@@ -201,6 +201,11 @@
+ 
+   virtual bool SupportsSendFrom (void) const;
+ 
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
++
+   /**
+    * Set the encapsulation mode of this device.
+    *
 diff --git a/src/internet/model/loopback-net-device.cc b/src/internet/model/loopback-net-device.cc
 --- a/src/internet/model/loopback-net-device.cc
 +++ b/src/internet/model/loopback-net-device.cc
@@ -125,6 +172,89 @@
  protected:
    virtual void DoDispose (void);
  private:
+diff --git a/src/lte/model/lte-net-device.cc b/src/lte/model/lte-net-device.cc
+--- a/src/lte/model/lte-net-device.cc
++++ b/src/lte/model/lte-net-device.cc
+@@ -401,6 +401,23 @@
+   return m_packetToSend;
+ }
+ 
+-
++uint32_t
++LteNetDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++LteNetDevice::GetNQueues (void)
++{
++  return 0;
++}
++bool
++LteNetDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++LteNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
+ 
+ }
+diff --git a/src/lte/model/lte-net-device.h b/src/lte/model/lte-net-device.h
+--- a/src/lte/model/lte-net-device.h
++++ b/src/lte/model/lte-net-device.h
+@@ -125,6 +125,11 @@
+   virtual bool SendFrom (Ptr<Packet> packet, const Address& source, const Address& dest, uint16_t protocolNumber);
+   virtual bool SupportsSendFrom (void) const;
+ 
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
++
+   /**
+    * \brief Receive the packet from the phy layer
+    * \param p the received packet
+diff --git a/src/mesh/model/mesh-point-device.cc b/src/mesh/model/mesh-point-device.cc
+--- a/src/mesh/model/mesh-point-device.cc
++++ b/src/mesh/model/mesh-point-device.cc
+@@ -469,4 +469,22 @@
+   m_fwdStats = Statistics ();
+ }
+ 
++uint32_t
++MeshPointDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++MeshPointDevice::GetNQueues (void)
++{
++  return 0;
++}
++bool
++MeshPointDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++MeshPointDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
+ } // namespace ns3
+diff --git a/src/mesh/model/mesh-point-device.h b/src/mesh/model/mesh-point-device.h
+--- a/src/mesh/model/mesh-point-device.h
++++ b/src/mesh/model/mesh-point-device.h
+@@ -112,6 +112,10 @@
+   virtual void SetReceiveCallback (NetDevice::ReceiveCallback cb);
+   virtual void SetPromiscReceiveCallback (NetDevice::PromiscReceiveCallback cb);
+   virtual bool SupportsSendFrom () const;
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
+   virtual Address GetMulticast (Ipv6Address addr) const;
+   virtual void DoDispose ();
+   //\}
 diff --git a/src/network/model/net-device.h b/src/network/model/net-device.h
 --- a/src/network/model/net-device.h
 +++ b/src/network/model/net-device.h
@@ -199,6 +329,274 @@
  protected:
    virtual void DoDispose (void);
  private:
+diff --git a/src/openflow/model/openflow-switch-net-device.h b/src/openflow/model/openflow-switch-net-device.h
+--- a/src/openflow/model/openflow-switch-net-device.h
++++ b/src/openflow/model/openflow-switch-net-device.h
+@@ -241,6 +241,10 @@
+   virtual void SetPromiscReceiveCallback (NetDevice::PromiscReceiveCallback cb);
+   virtual bool SupportsSendFrom () const;
+   virtual Address GetMulticast (Ipv6Address addr) const;
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
+   //\}
+ 
+ protected:
+diff --git a/src/point-to-point/model/point-to-point-net-device.cc b/src/point-to-point/model/point-to-point-net-device.cc
+--- a/src/point-to-point/model/point-to-point-net-device.cc
++++ b/src/point-to-point/model/point-to-point-net-device.cc
+@@ -624,5 +624,22 @@
+   return 0;
+ }
+ 
+-
++uint32_t
++PointToPointNetDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++PointToPointNetDevice::GetNQueues (void)
++{
++  return 0;
++}
++bool
++PointToPointNetDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++PointToPointNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
+ } // namespace ns3
+diff --git a/src/point-to-point/model/point-to-point-net-device.h b/src/point-to-point/model/point-to-point-net-device.h
+--- a/src/point-to-point/model/point-to-point-net-device.h
++++ b/src/point-to-point/model/point-to-point-net-device.h
+@@ -185,6 +185,11 @@
+   virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb);
+   virtual bool SupportsSendFrom (void) const;
+ 
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
++
+ protected:
+   void DoMpiReceive (Ptr<Packet> p);
+ 
+diff --git a/src/spectrum/model/aloha-noack-net-device.cc b/src/spectrum/model/aloha-noack-net-device.cc
+--- a/src/spectrum/model/aloha-noack-net-device.cc
++++ b/src/spectrum/model/aloha-noack-net-device.cc
+@@ -490,6 +490,23 @@
+     }
+ }
+ 
+-
++uint32_t
++AlohaNoackNetDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++AlohaNoackNetDevice::GetNQueues (void)
++{
++  return 0;
++}
++bool
++AlohaNoackNetDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++AlohaNoackNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
+ 
+ } // namespace ns3
+diff --git a/src/spectrum/model/aloha-noack-net-device.h b/src/spectrum/model/aloha-noack-net-device.h
+--- a/src/spectrum/model/aloha-noack-net-device.h
++++ b/src/spectrum/model/aloha-noack-net-device.h
+@@ -174,8 +174,10 @@
+   virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb);
+   virtual bool SupportsSendFrom (void) const;
+ 
+-
+-
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
+ 
+ 
+ private:
+diff --git a/src/spectrum/model/non-communicating-net-device.cc b/src/spectrum/model/non-communicating-net-device.cc
+--- a/src/spectrum/model/non-communicating-net-device.cc
++++ b/src/spectrum/model/non-communicating-net-device.cc
+@@ -265,5 +265,23 @@
+   return false;
+ }
+ 
++uint32_t
++NonCommunicatingNetDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++NonCommunicatingNetDevice::GetNQueues (void)
++{
++  return 0;
++}
++bool
++NonCommunicatingNetDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++NonCommunicatingNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
+ 
+ } // namespace ns3
+diff --git a/src/spectrum/model/non-communicating-net-device.h b/src/spectrum/model/non-communicating-net-device.h
+--- a/src/spectrum/model/non-communicating-net-device.h
++++ b/src/spectrum/model/non-communicating-net-device.h
+@@ -116,8 +116,10 @@
+   virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb);
+   virtual bool SupportsSendFrom (void) const;
+ 
+-
+-
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
+ 
+ 
+ private:
+diff --git a/src/tap-bridge/model/tap-bridge.cc b/src/tap-bridge/model/tap-bridge.cc
+--- a/src/tap-bridge/model/tap-bridge.cc
++++ b/src/tap-bridge/model/tap-bridge.cc
+@@ -1186,4 +1186,23 @@
+   return Mac48Address::GetMulticast (addr);
+ }
+ 
++uint32_t
++TapBridge::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++TapBridge::GetNQueues (void)
++{
++  return 0;
++}
++bool
++TapBridge::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++TapBridge::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
++
+ } // namespace ns3
+diff --git a/src/tap-bridge/model/tap-bridge.h b/src/tap-bridge/model/tap-bridge.h
+--- a/src/tap-bridge/model/tap-bridge.h
++++ b/src/tap-bridge/model/tap-bridge.h
+@@ -208,6 +208,10 @@
+   virtual void SetPromiscReceiveCallback (NetDevice::PromiscReceiveCallback cb);
+   virtual bool SupportsSendFrom () const;
+   virtual Address GetMulticast (Ipv6Address addr) const;
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
+ 
+ protected:
+   /**
+diff --git a/src/uan/model/uan-net-device.cc b/src/uan/model/uan-net-device.cc
+--- a/src/uan/model/uan-net-device.cc
++++ b/src/uan/model/uan-net-device.cc
+@@ -389,5 +389,24 @@
+   m_mac->SetAddress (UanAddress::ConvertFrom (address));
+ }
+ 
++uint32_t
++UanNetDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++UanNetDevice::GetNQueues (void)
++{
++  return 0;
++}
++bool
++UanNetDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++UanNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
++
+ } // namespace ns3
+ 
+diff --git a/src/uan/model/uan-net-device.h b/src/uan/model/uan-net-device.h
+--- a/src/uan/model/uan-net-device.h
++++ b/src/uan/model/uan-net-device.h
+@@ -126,6 +126,10 @@
+   virtual bool SupportsSendFrom (void) const;
+   virtual void AddLinkChangeCallback (Callback<void> callback);
+   virtual void SetAddress (Address address);
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
+ private:
+   virtual void ForwardUp (Ptr<Packet> pkt, const UanAddress &src);
+   Ptr<UanChannel> DoGetChannel (void) const;
+diff --git a/src/virtual-net-device/model/virtual-net-device.cc b/src/virtual-net-device/model/virtual-net-device.cc
+--- a/src/virtual-net-device/model/virtual-net-device.cc
++++ b/src/virtual-net-device/model/virtual-net-device.cc
+@@ -302,5 +302,23 @@
+   return false;
+ }
+ 
++uint32_t
++VirtualNetDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++VirtualNetDevice::GetNQueues (void)
++{
++  return 0;
++}
++bool
++VirtualNetDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++VirtualNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
+ 
+ } // namespace ns3
+diff --git a/src/virtual-net-device/model/virtual-net-device.h b/src/virtual-net-device/model/virtual-net-device.h
+--- a/src/virtual-net-device/model/virtual-net-device.h
++++ b/src/virtual-net-device/model/virtual-net-device.h
+@@ -97,6 +97,11 @@
+    */
+   void SetSupportsSendFrom (bool supportsSendFrom);
+ 
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
++
+   /**
+    * \brief Configure the reported MTU for the virtual device.
+    * \param mtu MTU value to set
 diff --git a/src/wifi/model/wifi-net-device.cc b/src/wifi/model/wifi-net-device.cc
 --- a/src/wifi/model/wifi-net-device.cc
 +++ b/src/wifi/model/wifi-net-device.cc
@@ -242,3 +640,46 @@
  private:
    // This value conforms to the 802.11 specification
    static const uint16_t MAX_MSDU_SIZE = 2304;
+diff --git a/src/wimax/model/wimax-net-device.cc b/src/wimax/model/wimax-net-device.cc
+--- a/src/wimax/model/wimax-net-device.cc
++++ b/src/wimax/model/wimax-net-device.cc
+@@ -640,4 +640,24 @@
+    */
+   NS_FATAL_ERROR ("Not implemented-- please implement and contribute a patch");
+ }
++
++uint32_t
++WimaxNetDevice::GetQueueState (uint32_t index)
++{
++  return 1;
++}
++uint32_t
++WimaxNetDevice::GetNQueues (void)
++{
++  return 0;
++}
++bool
++WimaxNetDevice::IsTxPathBlocked (void)
++{
++  return false;
++}
++void
++WimaxNetDevice::SetQueueStateChangeCallback (Callback<void,uint32_t> callback)
++{}
++
+ } // namespace ns3
+diff --git a/src/wimax/model/wimax-net-device.h b/src/wimax/model/wimax-net-device.h
+--- a/src/wimax/model/wimax-net-device.h
++++ b/src/wimax/model/wimax-net-device.h
+@@ -219,6 +219,11 @@
+   NetDevice::PromiscReceiveCallback GetPromiscReceiveCallback (void);
+   virtual bool SupportsSendFrom (void) const;
+ 
++  virtual uint32_t GetQueueState (uint32_t index);
++  virtual uint32_t GetNQueues (void);
++  virtual bool IsTxPathBlocked (void);
++  virtual void SetQueueStateChangeCallback (Callback<void,uint32_t> callback);
++
+   TracedCallback<Ptr<const Packet>, const Mac48Address&> m_traceRx;
+   TracedCallback<Ptr<const Packet>, const Mac48Address&> m_traceTx;
+