{"push_id":992050900,"size":35,"distinct_size":33,"ref":"refs/heads/queue-disc-exp","head":"9ba84ab3f63dc5986c0017fd4f5a14da762bc6ba","before":"076630d42b65cd8d7166fe3fedd2574a6f9041da","commits":[{"sha":"cb42812fc49450ada3db9c97ea25a535947d8d9d","author":{"email":"1bef23d7e43ca80647e8d6246e7e30c508b3b630@unifi.it","name":"Tommaso Pecorella"},"message":"internet: remove unused variable","distinct":false,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/cb42812fc49450ada3db9c97ea25a535947d8d9d"},{"sha":"2dc10e05677d35990dbb20a2e46713474f99571e","author":{"email":"5d94dae344f9087e443b0baf770590cef5d141f0@tomh.org","name":"Tom Henderson"},"message":"wifi: (fixes #2185) check destination address before replying","distinct":false,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/2dc10e05677d35990dbb20a2e46713474f99571e"},{"sha":"4df4a56d22cc137d305f5d6ae2b2bb960b49c72f","author":{"email":"84f25bcfaefabaab26a9a8a1abae85dac8e703ce@gmail.com","name":"Natale Patriciello"},"message":"traffic-control: Add the traffic control layer","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/4df4a56d22cc137d305f5d6ae2b2bb960b49c72f"},{"sha":"68ae95cc7d734d509dd6fc109e062bfd1a8ab4e8","author":{"email":"84f25bcfaefabaab26a9a8a1abae85dac8e703ce@gmail.com","name":"Natale Patriciello"},"message":"internet: add a dependency on traffic-control","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/68ae95cc7d734d509dd6fc109e062bfd1a8ab4e8"},{"sha":"d8aedf81687b9cf88d5ec45a60bc82a641662d10","author":{"email":"84f25bcfaefabaab26a9a8a1abae85dac8e703ce@gmail.com","name":"Natale Patriciello"},"message":"internet: Aggregate TrafficControlLayer to every Internet-enabled node","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/d8aedf81687b9cf88d5ec45a60bc82a641662d10"},{"sha":"c333361de46ad75a06c95e22230dd3b1dd734af1","author":{"email":"84f25bcfaefabaab26a9a8a1abae85dac8e703ce@gmail.com","name":"Natale Patriciello"},"message":"internet: Aggregate TrafficControlLayer by default in the tests","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/c333361de46ad75a06c95e22230dd3b1dd734af1"},{"sha":"159403452333c5213bf6529295f5ad21bb62c59e","author":{"email":"84f25bcfaefabaab26a9a8a1abae85dac8e703ce@gmail.com","name":"Natale Patriciello"},"message":"internet: Register callbacks on TCLayer and NetDevices, RX side","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/159403452333c5213bf6529295f5ad21bb62c59e"},{"sha":"1179c89b073bbad701ee18db068e9b831d2f6470","author":{"email":"84f25bcfaefabaab26a9a8a1abae85dac8e703ce@gmail.com","name":"Natale Patriciello"},"message":"internet: use traffic-control to send packets","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/1179c89b073bbad701ee18db068e9b831d2f6470"},{"sha":"f4c42395eb08745216adafe3e07d39aff099f01b","author":{"email":"63b6c7df8f06d58acb6e4e6d2da99201a15bcd1f@unina.it","name":"Stefano Avallone"},"message":"network: Initial support for multiple transmission queues inside NetDevices\n\nThis patch adds a NetDeviceQueue class to store information about a single\ntransmission queue of a network device. This class is meant to store the\nstate of a transmission queue (i.e., whether the queue is stopped or not)\nand some data used by techniques such as Byte Queue Limits. Also, multi-queue\naware queue discs can aggregate a child queue disc to an object of this class.\nThese features (excluding BQL) are added in subsequent commits.\nThe NetDevice class maintains a vector of NetDeviceQueue pointers, one for\neach transmission queue. A NetDevice constructor is added which creates a\nsingle transmission queue by default for every device. The number of transmission\nqueues can be modified (by child classes) by calling NetDevice::SetTxQueuesN.\nTwo public methods, GetTxQueue and GetTxQueuesN, are also added to the NetDevice class\nto return the i-th NetDeviceQueue and the number of transmission queues, respectively.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/f4c42395eb08745216adafe3e07d39aff099f01b"},{"sha":"65c633350d1dc201d9f09ccd75e348245a4ef854","author":{"email":"63b6c7df8f06d58acb6e4e6d2da99201a15bcd1f@unina.it","name":"Stefano Avallone"},"message":"wifi: WifiNetDevices return the number of transmission queues based on the installed MAC\n\nFor WifiNetDevices, the number of transmission queues is set when installing the MAC (in\nWifiNetDevice::SetMac), given that the number of queues is 4 if the MAC supports\nQoS and 1 otherwise.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/65c633350d1dc201d9f09ccd75e348245a4ef854"},{"sha":"c697dbda6f60cc92b41359e1c3e485a57078fb20","author":{"email":"63b6c7df8f06d58acb6e4e6d2da99201a15bcd1f@unina.it","name":"Stefano Avallone"},"message":"network: NetDeviceQueues can be started, stopped and woken\n\nAdd public methods to the NetDeviceQueue class to start, stop or wake\na transmission queue. These methods are primarily called by NetDevices,\nbut can also be invoked by the network stack once techniques like BQL\nare implemented. An IsStopped method is also added to allow queue discs to\ncheck the current status of a transmission queue. A wake callback is provided,\nso that upper layers (queue discs) can be solicited to send packets down.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/c697dbda6f60cc92b41359e1c3e485a57078fb20"},{"sha":"644305151cf3b5eaaae08940fbbbb4b8d6c80c8c","author":{"email":"63b6c7df8f06d58acb6e4e6d2da99201a15bcd1f@unina.it","name":"Stefano Avallone"},"message":"point-to-point: Add preliminary support for flow control\n\nThe (unique) transmission queue is stopped when enqueuing a packet fails, so\nthat upper layers do not send other packets down. When a packet transmission\nis completed, if the queue is empty then wake the upper layers. If the queue\nwas stopped, there is now room for another packet and hence wake the upper\nlayers as well.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/644305151cf3b5eaaae08940fbbbb4b8d6c80c8c"},{"sha":"b868396624c9d39606294cd65da4f1f4bb582bf9","author":{"email":"63b6c7df8f06d58acb6e4e6d2da99201a15bcd1f@unina.it","name":"Stefano Avallone"},"message":"network: NetDevices return the index of the transmission queue they select for a given packet\n\nThis commit just adds a GetSelectedQueue method to the NetDevice class. This\nmethod is called by the Traffic Control layer before enqueuing a packet in the\nqueue disc to determine in which transmission queue the device will enqueue the\npacket. Such information is exploited by multi-queue aware queue discs.\nBy default, this function returns 0, so that single-queue devices do not need\nto be modified.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/b868396624c9d39606294cd65da4f1f4bb582bf9"},{"sha":"90f5d03f08361729e364ce5035a5d028632f3af5","author":{"email":"63b6c7df8f06d58acb6e4e6d2da99201a15bcd1f@unina.it","name":"Stefano Avallone"},"message":"network: Make Queue store QueueItem objects\n\nA QueueItem base class is introduced to represent the items stored\nin a Queue. The base class only contains a Ptr<Packet>. Derived classes\ncan store additional information. DropTailQueue, RedQueue and CodelQueue,\nalong with their examples and testsuits, have been adapted. Objects using\nsuch queues have been adapted too.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/90f5d03f08361729e364ce5035a5d028632f3af5"},{"sha":"44174b3ba993296d00773b16e63fc76d0e0f2d5b","author":{"email":"63b6c7df8f06d58acb6e4e6d2da99201a15bcd1f@unina.it","name":"Stefano Avallone"},"message":"traffic-control: Add the QueueDisc base class\n\nQueueDisc is a base class providing the interface and implementing\nthe operations common to all the queueing disciplines. Child classes\nneed to implement the methods used to enqueue a packet (DoEnqueue),\ndequeue a single packet (DoDequeue), get a copy of the next packet\nto extract (DoPeek), plus methods to classify enqueued packets in\ncase they manage multiple queues internally.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/44174b3ba993296d00773b16e63fc76d0e0f2d5b"},{"sha":"4665cd009e9438e7d0fe3cf5e53121023adeba4c","author":{"email":"63b6c7df8f06d58acb6e4e6d2da99201a15bcd1f@unina.it","name":"Stefano Avallone"},"message":"traffic-control: The traffic control layer enqueues packets in the queue disc\n\n...aggregated to the outgoing network device, if any. Otherwise,\npackets are sent directly to the device.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/4665cd009e9438e7d0fe3cf5e53121023adeba4c"},{"sha":"52b63b7bf8542706c6cd0146c7952cf8fe9db5ef","author":{"email":"63b6c7df8f06d58acb6e4e6d2da99201a15bcd1f@unina.it","name":"Stefano Avallone"},"message":"internet: Defer the addition of the IP header until the packet is extracted from the queue disc\n\nWhen a packet is passed to the Traffic Control layer, the IPv{4,6} header has not\nbeen added yet. It will be added when the packet is dequeued from the queue disc.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/52b63b7bf8542706c6cd0146c7952cf8fe9db5ef"},{"sha":"d44157ec81b857804e1dc739427e31dfb41241ea","author":{"email":"1c9956199b81f62bc2b0c595ce419cf12d90516c@gmail.com","name":"Pasquale Imputato"},"message":"network: Move RED model, test and examples to the traffic-control module\n\nThis move prepares RED to become a queue disc. Building of RED\nmodel, tests and examples is disabled until the conversion is done.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/d44157ec81b857804e1dc739427e31dfb41241ea"},{"sha":"798cc28947a0dd0e84af7240c8aea2967d780af4","author":{"email":"1c9956199b81f62bc2b0c595ce419cf12d90516c@gmail.com","name":"Pasquale Imputato"},"message":"internet: Move CoDel model, test and examples to the traffic-control module\n\nThis move prepares CoDel to become a queue disc. Building of CoDel\nmodel, tests and examples is disabled until the conversion is done.","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/798cc28947a0dd0e84af7240c8aea2967d780af4"},{"sha":"dce1485aa3801ebf3f15aafd43865ccb2d171579","author":{"email":"1c9956199b81f62bc2b0c595ce419cf12d90516c@gmail.com","name":"Pasquale Imputato"},"message":"network: The Queue base class holds mode, maxPackets and maxBytes\n\n...so that all the subclasses have such attributes. This\nallows queue discs to have attributes specifying the mode and\nsize of their queue(s) and to create queues using their\nown attributes.\n\nThis commit is heavily inspired by Natale's queue rework patch:\nhttps://codereview.appspot.com/270540044/","distinct":true,"url":"https://api.github.com/repos/stavallo/ns-3-dev-git/commits/dce1485aa3801ebf3f15aafd43865ccb2d171579"}]}