Commit Graph

50 Commits

Author SHA1 Message Date
Junxiao Shi 330136a89e fw: fix PIT leak from DNL-detected duplicate Nonce
refs #3484

Change-Id: Id5928356a39b2f8988b6d4969c15ac744d283e3f
2016-03-10 04:53:08 -07:00
Junxiao Shi cde37ad608 face: face refactoring completion
* delete old Face
* rename LpFace as Face
* eliminate LpFaceWrapper and use new Face

refs #3172

Change-Id: I08c3a5dfb4cc1b9834b30cccd9ab634535d0608c
2015-12-24 01:02:05 -07:00
Junxiao Shi 0de23a29c5 face: use IncomingFaceId, NextHopFaceId, CachePolicy tags
This commit replaces all LocalControlHeader usages with these tags,
and deletes LocalFace.

This commit also does minor improvements in RIB test suites.

refs #3339

Change-Id: I14cbfc296a6723a5860bf8bd95d9804d3bac3da5
2015-12-03 20:07:02 +00:00
Junxiao Shi da93f1fd0c face: LpFace counters
FaceCounters for LpFace consist of LinkService::Counters and
Transport::Counters. Old FaceCounters class from 2014 face architecture is
renamed as OldFaceCounters, and can be wrapped with new FaceCounters class.
OldFaceCounters is only used in old Face subclasses.

This commit also updates existing face test suites to use new FaceCounters,
updates ForwarderStatus so that it does not rely on FaceCounters,
and moves the logic of copying face properties and counters into management
structs from face system into FaceManager.

refs #3177

Change-Id: I587e8a32fa72bac3af9d750b2c88342740aa08d6
2015-11-11 06:13:16 -07:00
Junxiao Shi 5e5e445182 fw: Nack in pipelines and best-route strategy
* in PIT out-record, add last incoming Nack field
* create incoming Nack pipeline
* create outgoing Nack pipeline
* modify Interest loop pipeline to send Nack upon duplicate Nonce
* in strategy API, add after receive Nack trigger and send Nack action
* in best-route strategy, send Nack-NoRoute before rejecting pending Interest
* in best-route strategy, process incoming Nack

Other changes include:

* Pit::find
* StrategyTester saved arguments structs
* TopologyTester transmit at Transport level

refs #3156

Change-Id: I7868561c0838231083d471261200aeb280cc6e9d
2015-09-26 14:38:03 -07:00
Junxiao Shi 0355e9fd06 fw: Forwarder processes Link for mobility
This commit also adds NetworkRegionTable to store producer region names,
and checks packets are well-formed before entering forwarding pipelines.

refs #3034, #3155

Change-Id: I8de4c482e8a289b922be70139675bc4661f9a301
2015-09-02 07:24:53 -07:00
Vince Lehman faa5c0cd3c fw: Correct log message in onContentStoreHit
refs: #3114

Change-Id: I918cffc5d0551484b4cc31a4b7d6aeb73b8969ae
2015-08-18 15:02:25 -07:00
mzhang4 eab7249b74 table: change ContentStore lookup API to allow async implementations
refs: #2411

Change-Id: Ifbb4179c34cf10a7913f8113a2f9238476d8eafa
2015-03-19 04:59:33 -07:00
Junxiao Shi faf3eb0823 fw: register strategy with macro
refs #2410

Change-Id: Ifa79c194c58d0ebe1bca6236fc0a47debe2da05e
2015-02-16 22:30:16 -07:00
Junxiao Shi b2bcbcd866 table: simplify PIT with C++11 features
refs #2100

Change-Id: I1159761d9439f0a2ff9f6463f89f39372a696e48
2014-11-14 15:03:18 -08:00
Junxiao Shi a110f268c7 fw: use dead Nonce list in pipelines
refs #1953

Change-Id: I0faef2a985b03fe96387c2e0181588713550b9ce
2014-10-19 20:50:48 -07:00
Junxiao Shi 82e7f58c4f fw: NccStrategy remembers only best face
refs #1961

Strategy::beforeSatisfyPendingInterest is renamed to
Strategy::beforeSatisfyInterest, so as to match the semantics of this trigger.
This is a backwards-incompatible change that requires function renaming in
all subclasses of Strategy class.

LimitedIo::afterOp gets a bugfix that allows it to be invoked out of
LimitedIo::run without leaving io_service unusable.

Change-Id: Ia4c632beb62c554724b83846a3d6358ae08779ad
2014-09-07 15:21:02 -07:00
Junxiao Shi ad3f1cbc87 fw: when Interest matches CS, set straggler timer on PIT entry
refs #1882

Change-Id: I2291783ff3175912ab646fabf247e29dba530e25
2014-08-18 14:05:48 -07:00
Junxiao Shi 7b984c6d8e face: reserved FaceIds and NullFace
refs #1620, #1622

Change-Id: I315ae262c7e0813a64b69d3e7d67de61b7b88c55
2014-07-20 14:58:26 -07:00
Junxiao Shi 33152f18b1 face: link layer byte counts in FaceCounters
This commit declares the counters, but does not increment the new counters.

refs #1729

Change-Id: I9cd136fc65955192a92d567629a9aba2df8090f3
2014-07-19 01:14:05 -07:00
Alexander Afanasyev a57f8b4194 fw: set unsatisfy timer in incoming Interest pipeline
Change-Id: I478de1482f79f96f81162ab5e6e8df490061b852
Refs: #1754
2014-07-14 19:59:44 -07:00
Junxiao Shi 0e173b7690 fw: permit setStragglerTimer with unexpired OutRecord
refs #1733

Change-Id: I899ce2f826d84b048536bcf56aec2ff038534901
2014-07-07 16:15:51 -07:00
Junxiao Shi 223271ba39 fw: require valid FaceId in outgoing Interest/Data pipelines
This is to avoid sending via a failed/closed face.

refs #1732

Change-Id: I31b205c2b97185e7955107a2591f8c4d2b7f0cc0
2014-07-03 22:52:00 -07:00
Junxiao Shi af6569aa7e core: unify randomization
Non-security randomizations are changed to use boost::random,
with a global random number generator.

refs #1369

Change-Id: I5000fd02f170fa47058af790e2bea767f9c65650
2014-06-17 17:34:39 -07:00
Junxiao Shi da006f5a05 fw: incoming Data pipeline avoid sending to inFace
refs #1556

Change-Id: I1e38e3142f9c6536180f2aa494d7e2032ad76c2d
2014-05-16 11:18:00 -07:00
Junxiao Shi d938a6bb89 fw: Strategy::sendInterest allows changing Nonce
This commit also includes some tweaks in forwarding pipelines.

refs #1596

Change-Id: I65a4129be24089357b28fa9d35a3451e0d9ae258
2014-05-15 11:37:53 -07:00
Alexander Afanasyev f6980284e6 src: Remove unnecessary uses of boost::cref in make_shared and replace boost::cref/boost::ref with just cref/ref
In some cases, due to argument-dependent lookup, it is necessary to use
ndn::ref, instead of just ref.

Change-Id: I682180a007609535855f77511b49622154ad4f11
Refs: #1591
2014-05-15 09:52:28 -07:00
Haowei Yuan f52dac7f03 table: NameTree optimization
This commit adds platform-specific hash function selection and hash
table shrink function.

Change-Id: Iaaa0e5b86842d4e0582d3523f0a6b6836e152239
Refs: #1305
2014-04-10 16:46:49 -07:00
Junxiao Shi 9f7455b6dd fw: avoid setting PIT unsatisfy timer twice
refs #1448

Change-Id: If48a90be2b554bc7c1ea4b869e1a927bad578e0a
2014-04-07 21:02:16 -07:00
Alexander Afanasyev 9bcbc7c130 docs: Update of copyright and license statement in all .hpp and .cpp files
Change-Id: I4082db67f2390482615a780d91a513f09d57a9a4
Refs: #1266
2014-04-07 09:18:25 -07:00
Junxiao Shi 6e69432262 face/mgmt/fw/tools: add localUri to FaceStatus and FaceEventNotification
refs #1396

Change-Id: I6084745c62c44a409ecbd4a795cb712475e32416
2014-04-03 10:27:13 -07:00
Steve DiBenedetto bf6a93da4e core: change logging from environment variable to configuration file-based
GlobalConfigurationFixture uses unit-tests.conf to determine default
and module specific logging levels. Logging will gracefully default to
INFO if unit-tests.conf is not found. See unit-tests.conf.sample for a
sample configuration file.

refs: #1375, #1267

Change-Id: Ib0c4eb4149748e6658f94ef1afa23ddd3072c0fa
2014-03-31 20:46:51 -06:00
Junxiao Shi e17349ac00 fw: fix isPending condition
refs #1404

Change-Id: I18c565de915417f48ba812cded1d85f367304f5c
2014-03-25 00:55:38 -07:00
Alexander Afanasyev eb3197fa35 all: Update code to compile with latest time-related changes in ndn-cpp-dev library
Change-Id: I7e859989c833001f49b286d4a9917f4dc740b4a4
2014-03-18 17:34:12 -07:00
Junxiao Shi 57f0f311f2 fw: make strategies understand scope
refs #1253

Change-Id: I57f7a6008e6f08c9817e58f480020eb9219a4aec
2014-03-16 17:19:28 -07:00
Junxiao Shi 11bd9c28e8 fw: /localhop scope control on outgoing Interests
refs #1253

Change-Id: I359747688568934070d1583995957835ac690f28
2014-03-15 22:27:19 -07:00
Junxiao Shi b289cc18fc fw: ForwarderCounters
refs #1199

Change-Id: I0664825d7b09b4e7e893876aefc5af10e53b90b1
2014-03-15 16:22:33 -07:00
Junxiao Shi f3c0781d22 fw: refine pipelines, dispatch to strategy
refs #1345 #1255

Change-Id: If1cfc26049f87318103fc09c3b211ebf1eb3ebaa
2014-03-11 22:33:15 -07:00
Junxiao Shi bb5105f218 table: Strategy Choice table
refs #1309

Change-Id: I6fd8efdfc98175a1cc39fdc3aa7175671596f470
2014-03-05 09:27:51 +00:00
Junxiao Shi a4f2be8248 fw: FaceTable
refs #1317

Change-Id: Ief04fe572407120ca6777c087a519c1749f0cdd2
2014-03-04 14:32:04 -07:00
Junxiao Shi 4063184af0 table: NameTree::findLongestPrefixMatch predicate
refs #1313

Change-Id: I759c8ddf9bc0fe5b970c979f69131a98b1ef32e4
2014-03-03 09:27:13 -07:00
HangZhang c85a23c457 table: Measurements on NameTree
Change-Id: I17bab4a7a085c529b04b35b7fe47e02dd9d6ff00
refs #1200
refs #1201
2014-03-01 16:08:56 +08:00
HangZhang ad4afd1492 table: FIB on NameTree
Change-Id:Ie949ad2209ed841af498f45e2d0f365ac905c45d
Refs: #1190
2014-02-28 23:31:29 -08:00
Haowei Yuan 78c84d1ce5 table: PIT on NameTree
ref# 1194

Change-Id: I32f103374885445725fc5deeebda60b1b1e54c2f
2014-02-27 15:35:13 -06:00
Junxiao Shi 9b27bd2d92 fw: /localhost scope control on outgoing path
refs #1230

Change-Id: I25e38e1b2bf538a72d2185889c1be5401ed93b68
2014-02-27 00:11:36 -07:00
Junxiao Shi 09498f0646 fw: rename "Interest rebuff" to "Interest reject"
Change-Id: I8275354a3eff6f4785187a8fb00da1d421df8460
2014-02-26 19:43:22 -07:00
Junxiao Shi c041ca36ed core: global io_service and scheduler
Scheduler and time are imported from ndn-cpp-dev.
Forwarder is using the new scheduler API.
Face system is not transitioned yet.

refs #1290

Change-Id: I5679cb50bbf9890a105f663b038f13951403c2b6
2014-02-26 12:40:22 -07:00
Junxiao Shi dbe7173db1 table: MeasurementsAccessor for strategy
refs #1276

Change-Id: Idec8f615c726f51612236a55a7532fabeb81a32d
2014-02-24 23:32:48 -07:00
Junxiao Shi 88884490ae fw: /localhost scope control for incoming Interest
refs #1230

Change-Id: I86fd071ef144caa506b26a723f14232e2af5e2de
2014-02-15 21:08:09 -07:00
Junxiao Shi 06887acf80 fw: set incomingFaceId for incoming packets
refs #1237

Change-Id: I8d62aca2c5a08945fdab8511e7c3e4aaf5d02205
2014-02-13 23:27:36 -07:00
Steve DiBenedetto 26b730fcdb fw: Added FaceId to Face conversion method
Change-Id: I7b751cd51e138875929e7c680420070be3ce15c7
2014-02-02 19:06:44 -07:00
Junxiao Shi 8c8d2187b3 fw: integrate forwarder, strategy, tables
refs #1131, #1136

Change-Id: Ica58341cdc1ea1dc421693a87f35fc50177a707d
2014-01-31 00:53:45 -07:00
Junxiao Shi d3c792f95c fw: basic forwarding procedure & strategy skeleton
refs #1131 #1136

Change-Id: I3e97cb17bf85082b6499a310120409379f8eaa65
2014-01-30 16:39:21 -07:00
Alexander Afanasyev 18bbf81601 src: Changing namespace ndn to namespace nfd
Also, this commit imports used classes from ::ndn namespace (from
NDN-CPP library) directly to ::nfd namespace.

refs: #1163

Change-Id: I9cc9d72e00af495b4ed0c84e6d418a7c9ba986cb
2014-01-29 14:12:58 -08:00
Alexander Afanasyev 33b7277de6 fw: Basic Forwarder class definition
refs #1131

Change-Id: I6650e88fd60600a8768e1ff236e2cfe4be1c1a4f
2014-01-27 09:46:39 -08:00