tree 0df6224a635c407d904134e8047a900e501c8773
parent 740e3d0392ef007e6a27ce5b8dc8e2bb5e024d5a
author Murat Parlakisik <murat@parlakisik.com> 1480927997 -0800
committer Yuta HIGUCHI <y-higuchi@ak.jp.nec.com> 1494644351 -0700

Updating with latest loxi including openflow1.5 ONOS-4770

Squashed commit of the following from upstream loxigen:

commit 72569023213f58dc45b4ea0af769d32845ee8b58
Merge: 0f662f2 52d95e1
Author: abat <abat@bigswitch.com>
Date:   Thu Apr 13 15:49:25 2017 -0700

    Merge into master from pull request #547:
    [SWL-3678] Add a new TLV force_link_up for port_config gentable (https://github.com/floodlight/loxigen/pull/547)

commit 52d95e118b2ef0f393f5bf1ab48d91bd625d332d
Author: Nick Wang <ning.wang@bigswitch.com>
Date:   Thu Apr 13 15:34:23 2017 -0700

    SWL-3678 Add a new TLV force_link_up for port_config gentable

commit 0f662f260c86ef8f5a5ac0f7acf34efd4a40dd8d
Merge: f413699 8297c58
Author: abat <abat@bigswitch.com>
Date:   Mon Apr 10 16:09:51 2017 -0700

    Merge into master from pull request #546:
    push-artifacts: make MAKE configurable (https://github.com/floodlight/loxigen/pull/546)

commit 8297c58f420e4e87fee4ece81cc7aec408e4dc2f
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Mon Apr 10 15:57:03 2017 -0700

    push-artifacts: make MAKE configurable

commit f413699f0938bf6a9e538678ec84800d7da22231
Merge: 112202d 8d54bdf
Author: Nick Wang <ning.wang@bigswitch.com>
Date:   Thu Mar 30 20:28:53 2017 -0700

    Merge pull request #544 from nick-bsn/port_config_fec

    [SWL-3678] Add two new TLVs for port_config gentable

commit 8d54bdf22e2c19710d1340af62117fbdf3e20cb8
Author: Nick Wang <ning.wang@bigswitch.com>
Date:   Thu Mar 30 15:24:04 2017 -0700

    SWL-3678 Add two new TLVs for port_config gentable

commit 112202d8ec23aa63bc1a503980733dc3619bd6e9
Merge: f0361bb 67be9bc
Author: abat <abat@bigswitch.com>
Date:   Wed Mar 15 10:28:46 2017 -0700

    Merge into master from pull request #543:
    SWL-3685: Add new TLV types for router_ip table and prefix table flag (https://github.com/floodlight/loxigen/pull/543)

commit 67be9bc13f23577b6eb48758dd90f1a56d8745ec
Author: akshata <akshata.danivasa@bigswitch.com>
Date:   Tue Mar 14 15:08:08 2017 -0700

    SWL-3685: Add new TLV types for router_ip table and prefix table flag

commit f0361bb84bd48ab48aac8f3c0b0e91c9c762acc4
Merge: 70334a1 aa5cd7d
Author: abat <abat@bigswitch.com>
Date:   Thu Mar 9 13:17:51 2017 -0800

    Merge into master from pull request #541:
    Add new tlv for loopback_mode (https://github.com/floodlight/loxigen/pull/541)

commit aa5cd7d179a1416903141b73e6be527bb57ce73e
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Mon Mar 6 22:23:27 2017 -0800

    Make loopback mode an enumeration

commit 64f5fc63dad97088f75b8a31cd122ca8dfbce74a
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Thu Feb 23 16:06:02 2017 -0800

    Add new tlv for loopback_mode

commit 70334a12d2553424df9b3c3176110b1ec20e7664
Merge: 837577c 735ef07
Author: abat <abat@bigswitch.com>
Date:   Fri Feb 10 11:25:22 2017 -0800

    Merge into master from pull request #540:
    SWL-3343 hash_algorithm TLV. (https://github.com/floodlight/loxigen/pull/540)

commit 735ef074e5c1b33823dc563884e23ed41aa7d6a9
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Fri Feb 10 10:19:02 2017 -0800

    SWL-3343 hash_algorithm TLV.

    Controller can tell switch about what hash algorithm to be
    used for LAG/ECMP member selection.

commit 837577c27d30d4ce81a962e290bc166fd83be3fe
Merge: 22b8fc7 9bc2c19
Author: abat <abat@bigswitch.com>
Date:   Tue Feb 7 16:08:47 2017 -0800

    Merge into master from pull request #538:
    Update Maven Dependencies (https://github.com/floodlight/loxigen/pull/538)

commit 9bc2c19df94d540f1de1af770b0edf8fb3c0402c
Author: Sovietaced <Sovietaced@gmail.com>
Date:   Tue Feb 7 13:07:20 2017 -0800

    Roll back Guava since it is the last version compatible with Java7

commit 62dbf76291a0f401b761c404fe0b3453913cc614
Author: Sovietaced <Sovietaced@gmail.com>
Date:   Tue Feb 7 11:40:58 2017 -0800

    Update findbugs

commit fd987bfecfa2162e02de63ad45be873f605172dd
Author: Sovietaced <Sovietaced@gmail.com>
Date:   Tue Feb 7 11:40:18 2017 -0800

    Update slf4j

commit 56c5e647c1653274e3171f7be5752b6e5dfd28c8
Author: Sovietaced <Sovietaced@gmail.com>
Date:   Tue Feb 7 11:38:51 2017 -0800

    Update logback

commit 461635fcee31335446a16ef2d0a0c3aaf83f4b1e
Author: Sovietaced <Sovietaced@gmail.com>
Date:   Tue Feb 7 11:38:11 2017 -0800

    Update guava

commit 22b8fc7d1ba4c5571e1d6580a9d0b3b4cd423f3d
Merge: f5356c1 18a2032
Author: abat <abat@bigswitch.com>
Date:   Tue Feb 7 10:10:51 2017 -0800

    Merge into master from pull request #536:
    Add Intel port stats experimenter property. (https://github.com/floodlight/loxigen/pull/536)

commit f5356c139dad035ba1be617d97a6313e6b298d15
Merge: 8da6520 183049d
Author: abat <abat@bigswitch.com>
Date:   Tue Feb 7 09:34:49 2017 -0800

    Merge into master from pull request #535:
    java/pom.xml: bump version to 3.2.0-SNAPSHOT for new dev cycle (https://github.com/floodlight/loxigen/pull/535)

commit 18a2032ccbd9c5d852643034f23862eb8a9f5e7e
Merge: 8da6520 6180b36
Author: Geddings Barrineau <cbarrin@g.clemson.edu>
Date:   Tue Feb 7 09:07:45 2017 -0500

    Merge branch 'intel'

commit 6180b362d508238417d167083084e7a02344e3d0
Author: Geddings Barrineau <cbarrin@g.clemson.edu>
Date:   Tue Feb 7 09:02:54 2017 -0500

    Added support for an Intel made port stats experimenter property.

    The extension can be located here:
    https://github.com/openvswitch/ovs/blob/75e2077e0c43224bcca92746b28b01a4936fc101/include/openflow/intel-ext.h

commit 183049d8c578b48e67d9e77c1366a8185a0914b9
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Wed Feb 1 18:30:26 2017 -0800

    java/pom.xml: bump version to 3.2.0-SNAPSHOT for new dev cycle

commit 8da6520d48be36dc136831eaae0f68500086e3f1
Merge: ce3330f 3f49d4d
Author: abat <abat@bigswitch.com>
Date:   Sat Jan 28 11:41:32 2017 -0800

    Merge into master from pull request #533:
    Add of_bsn_gentable_error and of_bsn_gentable_full_error. (https://github.com/floodlight/loxigen/pull/533)

commit 3f49d4dafdbaf977183b3927e314335a9287f8e7
Author: Ken Chiang <ken.chiang@bigswitch.com>
Date:   Fri Jan 27 13:28:47 2017 -0800

    Retain only of_bsn_gentable_error with error_code field to indicate various gentable errors.

commit 7775b51fd8be88b266779abacacceb5194311b67
Author: Ken Chiang <ken.chiang@bigswitch.com>
Date:   Fri Jan 27 11:45:29 2017 -0800

    Add of_bsn_gentable_error and of_bsn_gentable_full_error.

commit ce3330fbc863cea533465eabbba51ebc19f9ecbb
Merge: 96cf1f4 8862e21
Author: abat <abat@bigswitch.com>
Date:   Mon Dec 5 16:39:33 2016 -0800

    Merge into master from pull request #530:
    Add tri-valued tlv for auto negotiation (https://github.com/floodlight/loxigen/pull/530)

commit 8862e21936d5834e166c5660fffc68bae55c3350
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Mon Dec 5 14:29:31 2016 -0800

    Add tri-valued tlv for auto negotiation

commit 96cf1f4858e60077cc24bce02e45a79db3192e06
Merge: afa83b4 d900032
Author: abat <abat@bigswitch.com>
Date:   Wed Nov 30 11:41:40 2016 -0800

    Merge into master from pull request #528:
    Add custom port description property for FEC. (https://github.com/floodlight/loxigen/pull/528)

commit d90003256352f5ea1f17aa91aff0f33fa4ffe7bb
Author: Wilson Ng <wilson.ng@bigswitch.com>
Date:   Wed Nov 30 11:34:54 2016 -0800

    Add comments.

commit 438865fea9041947cd7daef468bf6117b43156e1
Author: Wilson Ng <wilson.ng@bigswitch.com>
Date:   Wed Nov 30 11:16:24 2016 -0800

    Add custom port description property for FEC.

commit afa83b45684821fb3fdf1319256c04b57175d4b5
Merge: 07bc822 d05e851
Author: abat <abat@bigswitch.com>
Date:   Tue Nov 29 17:14:33 2016 -0800

    Merge into master from pull request #527:
    SWLVX-5 Create new pktin flag for INGRESS_ACLs with OFPP_LOCAL in action. (https://github.com/floodlight/loxigen/pull/527)

commit d05e85154a046212c959895d5b419d96c4bafd8c
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Mon Nov 28 22:13:37 2016 -0800

    SWLVX-5 Create new pktin flag for INGRESS_ACLs with OFPP_LOCAL in action.

commit 07bc822c58534c2c716a3df0d6d53dd0194f3513
Merge: 7e49dd3 c5c39d2
Author: abat <abat@bigswitch.com>
Date:   Mon Nov 21 17:13:32 2016 -0800

    Merge into master from pull request #526:
    Fix IPv6Address.toString to conform to RFC 5952 standard canonical string rep (https://github.com/floodlight/loxigen/pull/526)

commit c5c39d2860c6536ef3cfa24828f39020c261bc93
Author: Rob Vaterlaus <rob.vaterlaus@bigswitch.com>
Date:   Mon Nov 21 16:39:44 2016 -0800

    Bump the version since the change to IPv6Address.toString affects clients

commit 140cd0be3eef94a0929e27c823aafe03d5536e07
Author: Rob Vaterlaus <rob.vaterlaus@bigswitch.com>
Date:   Mon Nov 21 05:40:47 2016 -0800

    Fix IPv6Address.toString to conform to RFC 5952 standard canonical string rep

    - if there are multiple equal length zero runs zero compress the first one,
      not the last one
    - don't zero compress a single zero

commit 7e49dd307185f0749526cf75e962d9e9e9c109d3
Merge: f62a27b f21714e
Author: abat <abat@bigswitch.com>
Date:   Sat Oct 29 02:19:16 2016 -0700

    Merge into master from pull request #525:
    Add tunnel and enhanced hash capabilities. (https://github.com/floodlight/loxigen/pull/525)

commit f21714ee7789b6685288e46cf03af3894ad904b3
Author: Ken Chiang <ken.chiang@bigswitch.com>
Date:   Fri Oct 28 15:25:49 2016 -0700

    Add tunnel and enhanced hash capabilities.

commit f62a27b1537d0aa9cf750593d91a59cd2fbb492d
Merge: 44a2ad8 7109be5
Author: abat <abat@bigswitch.com>
Date:   Thu Oct 27 14:51:36 2016 -0700

    Merge into master from pull request #524:
    Add port_usage tlv (https://github.com/floodlight/loxigen/pull/524)

commit 7109be575e37d88ef044e81bb30c3acc1e831c1e
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Tue Oct 25 18:41:10 2016 -0700

    Add port_usage tlv

commit 44a2ad814688d73d58ffdf7aa3163c1a5c3d02b4
Merge: 4fd5ee4 ff439f9
Author: abat <abat@bigswitch.com>
Date:   Mon Oct 17 08:07:45 2016 -0700

    Merge into master from pull request #523:
    Add IP fragmentation OXM (https://github.com/floodlight/loxigen/pull/523)

commit ff439f99a4d1ab868bc676a8f2128faee30cf0bf
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Mon Oct 17 10:57:25 2016 -0400

    Replace tabs with spaces

commit 9389d52dcb91850bb202a66026876ed604b89c55
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Sat Oct 15 11:39:18 2016 -0400

    Specify Java type conversion for masked. Doesn't make sense to have support for this OXM, Loxi seems upset if we leave it out

commit 15f7993dccdcb545afbeee32e2316e19fbbeb7d7
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Sat Oct 15 10:51:38 2016 -0400

    Correct length is 1 byte

commit 5e707837ad186b0c593772441cc8d19cf32699f7
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Fri Oct 14 20:18:01 2016 -0400

    Add IP fragmentation OXM

commit 4fd5ee4e74ed26f03eb2b56111e31387f39f034a
Merge: 477a6e5 9365a3d
Author: abat <abat@bigswitch.com>
Date:   Wed Oct 5 15:03:41 2016 -0700

    Merge into master from pull request #522:
    Add data_mask tlv. (https://github.com/floodlight/loxigen/pull/522)

commit 9365a3da967816058273c3755c2d5a68ae470ad0
Author: Wilson Ng <wilson.ng@bigswitch.com>
Date:   Wed Oct 5 15:10:05 2016 -0700

    Add data_mask tlv.

commit 477a6e546f2bbb76ced7b5a7bf57f238cacff925
Merge: 72ee071 7950ce7
Author: abat <abat@bigswitch.com>
Date:   Tue Oct 4 13:16:40 2016 -0700

    Merge into master from pull request #521:
    Update version of slf4j (https://github.com/floodlight/loxigen/pull/521)

commit 7950ce7052ddbeb9781c247a293dae6383a48942
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Tue Oct 4 13:07:44 2016 -0700

    Update slf4j-api to 1.7.21

commit 3d17b95dd8dac3a7b183e9f9dcae5bf6f90f785b
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Mon Oct 3 19:52:32 2016 -0700

    Update version of slf4j

commit 72ee071cae07406559f00f4a7093ada73160d352
Merge: 495d66f cafcda7
Author: abat <abat@bigswitch.com>
Date:   Tue Sep 20 13:57:46 2016 -0700

    Merge into master from pull request #520:
    SWL-3216 IPV6 address pretty_print function. (https://github.com/floodlight/loxigen/pull/520)

commit cafcda786b18d4a6f6d8241e0ff5c469d5923d00
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Tue Sep 20 11:22:55 2016 -0700

    SWL-3216 IPV6 address pretty_print function.

commit 495d66faf0157adb8361adc9a36df8af7ac0cc59
Merge: 2dead4f ec5921b
Author: abat <abat@bigswitch.com>
Date:   Thu Sep 15 12:44:25 2016 -0700

    Merge into master from pull request #519:
    New TLVs ingress_port_group_id, ingress_port_group_id. (https://github.com/floodlight/loxigen/pull/519)

commit ec5921b94a0de4a6576f93dee149cb86e3793ff7
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Thu Sep 15 12:01:47 2016 -0700

    New TLVs ingress_port_group_id, ingress_port_group_id.

commit 2dead4fcabca346e04c0d995e762c09e3751b1eb
Merge: a97ee19 a5cece6
Author: abat <abat@bigswitch.com>
Date:   Thu Sep 8 14:25:38 2016 -0700

    Merge into master from pull request #518:
    Add egress_only tlv (https://github.com/floodlight/loxigen/pull/518)

commit a5cece6ad5e7b981193b729af20cce6955cc3b02
Author: harshsin <harshmeet.singh@bigswitch.com>
Date:   Thu Sep 8 14:07:03 2016 -0700

    Add egress_only tlv

commit a97ee19a59ed7a9c302ccdf84b3023ec18a00c71
Merge: 7821095 b4ecc4a
Author: abat <abat@bigswitch.com>
Date:   Tue Sep 6 11:36:00 2016 -0700

    Merge into master from pull request #517:
    Add eth_type, ecn, tcp_flags, l3 interface class id, l3 src class id, and l3 dst class id TLVs (https://github.com/floodlight/loxigen/pull/517)

commit 78210955ca556a7f3428955c159c82c7cc3150ca
Merge: 424a68b 6f190cb
Author: abat <abat@bigswitch.com>
Date:   Mon Sep 5 07:05:40 2016 -0700

    Merge into master from pull request #512:
    add tcp_flags (https://github.com/floodlight/loxigen/pull/512)

commit 6f190cb9e7c8bad2e39300bad99b10ac4bfa1b52
Author: aweally <fangtuo90@gmail.com>
Date:   Mon Sep 5 21:38:12 2016 +0800

    fix grammar error (missing comma)

commit b4ecc4a13b7d90a9a27fd11c4681c3bfe7bdbed2
Author: Ken Chiang <ken.chiang@bigswitch.com>
Date:   Fri Sep 2 16:16:44 2016 -0700

    Add eth_type, ecn, tcp_flags, l3 interface class id, l3 src class id,
    and l3 dst class id TLVs.

commit 424a68bb1472eb3f2f3e29b4016fc01d97d0b15a
Merge: 2ffc6dc f15e725
Author: abat <abat@bigswitch.com>
Date:   Wed Aug 31 11:27:45 2016 -0700

    Merge into master from pull request #516:
    Update description of apply_packets/apply_bytes (https://github.com/floodlight/loxigen/pull/516)

commit f15e7250aaf5d891ed4e94b62548dee23152b8ce
Author: mstolarchuk <mike.stolarchuk@bigswitch.com>
Date:   Wed Aug 31 11:24:37 2016 -0700

    Update description of apply_packets/apply_bytes

commit 2ffc6dc20afeb9920b499fabd900e3a1d0fedfa8
Merge: 6d6c9d0 6468117
Author: michael stolarchuk <mike.stolarchuk@bigswitch.com>
Date:   Wed Aug 31 10:05:20 2016 -0400

    Merge pull request #515 from 3mp4y5/master

    Add apply packets/bytes to use for gentab status replies

commit 6468117b6b36bc78e7cff9804a4146d017d4d08d
Author: mstolarchuk <mike.stolarchuk@bigswitch.com>
Date:   Wed Aug 31 06:54:39 2016 -0700

    provide doc for apply packets/bytes

commit 03089f8242154cab3d56ed770672f2c4f64ef046
Author: mstolarchuk <mike.stolarchuk@bigswitch.com>
Date:   Sun Aug 28 15:34:52 2016 -0700

    Add apply packets/bytes to use for gentab status replies

commit 6d6c9d0d960b123d526fa4e773793b7fa0063be8
Merge: 0ae6371 c765ddb
Author: abat <abat@bigswitch.com>
Date:   Fri Aug 26 17:16:40 2016 -0700

    Merge into master from pull request #514:
    Add TLV: push_vlan_on_ingress. (https://github.com/floodlight/loxigen/pull/514)

commit c765ddba3585ca87832cb8095e25fc9de35effbe
Author: Wilson Ng <wilson.ng@bigswitch.com>
Date:   Fri Aug 26 17:17:13 2016 -0700

    Add TLV: push_vlan_on_ingress.

commit 0ae637139666c2addde65dbeaa6db366f57e820c
Merge: fcffa3c 34605db
Author: abat <abat@bigswitch.com>
Date:   Thu Aug 25 13:52:21 2016 -0700

    Merge into master from pull request #513:
    Add bsn_hash_select instruction. (https://github.com/floodlight/loxigen/pull/513)

commit 34605db099434a59560bcdc4204885a2aed07aa2
Author: Wilson Ng <wilson.ng@bigswitch.com>
Date:   Wed Aug 24 18:35:00 2016 -0700

    Add bsn_hash_select instruction.

commit 8ba0032fe662c13d6a07a7dd1df6570f618f9419
Author: allewwaly <fangtuo90@gmail.com>
Date:   Mon Aug 15 21:49:04 2016 +0800

    add tcp_flags

commit fcffa3c608749dcc4b80e583421ca2784e0e6eac
Merge: 5be7ba1 3138ad2
Author: abat <abat@bigswitch.com>
Date:   Fri Aug 12 16:10:43 2016 -0700

    Merge into master from pull request #511:
    ipv6 src/dst tlvs (https://github.com/floodlight/loxigen/pull/511)

commit 3138ad2a3a60764109dfc5c9ccf9753591c9b2ce
Author: harshsin <harshmeet.singh@bigswitch.com>
Date:   Thu Aug 11 11:20:40 2016 -0700

    ipv6 src/dst tlvs

commit 5be7ba12b882269086966c054e092b2e1ef1507c
Merge: d0f7a2e 2b3cc13
Author: abat <abat@bigswitch.com>
Date:   Tue Aug 2 09:51:36 2016 -0700

    Merge into master from pull request #510:
    New TLV types for static flag and checksum for NDP (https://github.com/floodlight/loxigen/pull/510)

commit 2b3cc1342f8f956e9d7b127e1f0f97140511429c
Author: akshata <akshata.danivasa@bigswitch.com>
Date:   Mon Aug 1 16:54:12 2016 -0700

    New TLV types for static flag and checksum for NDP

commit d0f7a2e4d8fd737e530f5919af45b2d4a2e9cf0b
Merge: 4df2933 bca0a9a
Author: abat <abat@bigswitch.com>
Date:   Fri Jul 29 14:43:37 2016 -0700

    Merge into master from pull request #509:
    TLV ndp_offload (https://github.com/floodlight/loxigen/pull/509)

commit bca0a9a1824f6f22940706272616adc9558d8067
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Fri Jul 29 14:06:54 2016 -0700

    TLV ndp_offload

commit 4df2933a8857da2679d44669c9d6db835cea4aac
Merge: 24d868f 7d2fcd5
Author: abat <abat@bigswitch.com>
Date:   Tue Jul 26 11:11:36 2016 -0700

    Merge into master from pull request #507:
    BSC-9398  Adding a new port instruction for NDP offload  (https://github.com/floodlight/loxigen/pull/507)

commit 7d2fcd5867910a7b35d5269029bbc7f31964c129
Author: Prem Sharma <premshankar.sharma@bigswitch.com>
Date:   Tue Jul 26 10:14:06 2016 -0700

    Copyright update

commit 24d868ff5efb4aada58fde866a8b466dce4a5b47
Merge: 6ed9848 6c6cf3c
Author: abat <abat@bigswitch.com>
Date:   Mon Jul 25 17:58:36 2016 -0700

    Merge into master from pull request #508:
    loci: set wire length when truncating (https://github.com/floodlight/loxigen/pull/508)

commit 6c6cf3ca08f5a794f8f0b3c54e99331bcaf0bedc
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Mon Jul 25 17:06:05 2016 -0700

    loci: set wire length when truncating

    Previously only the wbuf and object lengths were reset. This resets the length
    fields on the wire.

commit f8f5ea3a8557706ca3e6a420f7b76474303a6785
Author: Prem Sharma <premshankar.sharma@bigswitch.com>
Date:   Mon Jul 25 15:14:25 2016 -0700

    Adding a new instruction for ndp offload.

commit 6ed98488f86d821ddfda46bdb256a93d2cee23ce
Merge: 6570787 d229074
Author: abat <abat@bigswitch.com>
Date:   Wed Jul 20 10:18:21 2016 -0700

    Merge into master from pull request #506:
    pyloxi: support connecting over a unix domain socket (https://github.com/floodlight/loxigen/pull/506)

commit d229074f11cdcbafbdc5f1df213ce13273f54b26
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Jul 20 10:10:32 2016 -0700

    pyloxi: support connecting over a unix domain socket

commit 657078745dba679c3db54e65ac1e5c699ef11a89
Merge: 00df802 ec79cbe
Author: abat <abat@bigswitch.com>
Date:   Thu Jul 14 14:37:33 2016 -0700

    Merge into master from pull request #500:
    ICMPV6 packet-in reason. (https://github.com/floodlight/loxigen/pull/500)

commit ec79cbe19447bc90aca5c8e4152ef045c0d63dcb
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Thu Jul 14 14:28:08 2016 -0700

    ICMPV6 packet-in reason.

commit 00df802a02f1422a954fa67a90311a24c37c4d09
Merge: 704e718 b809b38
Author: abat <abat@bigswitch.com>
Date:   Sat Jul 2 09:08:23 2016 -0700

    Merge into master from pull request #499:
    Add OFP_BSN_PKTIN_FLAG_ANALYTICS (https://github.com/floodlight/loxigen/pull/499)

commit b809b380b58351bc26ea76fa84853585d1eda632
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Fri Jul 1 22:49:15 2016 -0700

    Add OFP_BSN_PKTIN_FLAG_ANALYTICS

commit 704e718a22c4d069365644d4963d0c9b61c02792
Merge: e68c39a b022fd1
Author: abat <abat@bigswitch.com>
Date:   Thu Jun 23 14:40:36 2016 -0700

    Merge into master from pull request #498:
    BSC-9320 making LENGTH field public from IPv6Address class (https://github.com/floodlight/loxigen/pull/498)

commit b022fd1e4ba9dbea3089594f4fea83517d343edc
Author: Prem Sharma <premshankar.sharma@bigswitch.com>
Date:   Thu Jun 23 14:33:17 2016 -0700

    just keeping the change of making LENGTH public

commit f9082f0b39fd8d1e6f5c9d0d113a6bfa9d93ca75
Merge: 23832a2 e68c39a
Author: Prem Sharma <premshankar.sharma@bigswitch.com>
Date:   Thu Jun 23 13:59:24 2016 -0700

    Merge branch 'master' of github.com:floodlight/loxigen

commit 23832a201fc49ecf18a29009c717f3d7a2a87c31
Author: Prem Sharma <premshankar.sharma@bigswitch.com>
Date:   Thu Jun 23 13:59:09 2016 -0700

    making LENGTH field public

commit e68c39aca57228f852b05dcd5009821b9215bee1
Merge: a1d1c6c 29d486c
Author: abat <abat@bigswitch.com>
Date:   Wed Jun 22 16:29:42 2016 -0700

    Merge into master from pull request #496:
    Correct Javadoc to fix build failure when running 'make package-java' (https://github.com/floodlight/loxigen/pull/496)

commit a1d1c6c77e9638547dd8491fbf0cb1bfd4bc9481
Merge: 866d11a fb1f7b4
Author: abat <abat@bigswitch.com>
Date:   Wed Jun 22 12:33:41 2016 -0700

    Merge into master from pull request #497:
    Add equalsIgnoreXid() + hashCodeIgnoreXid() to OFMessage (https://github.com/floodlight/loxigen/pull/497)

commit fb1f7b419d03350a71d49ab0bff9415764002688
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Wed Jun 22 11:06:28 2016 -0400

    Update Javadoc for hashCodeIgnoreXid()

commit 08068f60e9f34d9509ab1f19b578a7a2bd9b42d9
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Tue Jun 21 10:43:28 2016 -0400

    Also include a hashCodeIgnoreXid() function for primary use in hash maps, sets, etc. The use case would be the OFMessage is a member of an object being stored in e.g. a HashMap, but we don't want the XID of the OFMessage to be used in the hash computation. Our class definition that contains OFMessage will override hashCode() and utilize OFMessage's hashCodeIgnoreXid(). In this case, two or more OFMessages that are idential except for the XID will all be identified by the same hash.

commit bb644dfbd0867497cea38d2c95a58f26a9ab2845
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Tue Jun 21 08:49:23 2016 -0400

    Remove message about addition methods. Makes it seem like all the following methods in the class are custom.

commit 68a4bc6bf7af4404bc4651d81b91aba03bcb8521
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Tue Jun 21 08:30:50 2016 -0400

    Need to expose equalsIgnoreXid() in OFMessage, noting that any implementer of OFMessage will/should have an XID. This will avoid having to cast the OFMessage to the version-specific class in order to access the function.

commit 866d11af637f9d61f9386de218d2e81cd1ad0c28
Merge: f169efe 9a06029
Author: abat <abat@bigswitch.com>
Date:   Mon Jun 20 15:16:23 2016 -0700

    Merge into master from pull request #494:
    BVS-6442: Adding MacAddr generation for IPv6 Mcast addresses. (https://github.com/floodlight/loxigen/pull/494)

commit 9a06029bc84f02d25ba7f063967e864a811e24b1
Author: Prem Sharma <premshankar.sharma@bigswitch.com>
Date:   Mon Jun 20 14:39:19 2016 -0700

    addressing review comments

commit f169efe9368214ce76ffe830cdef818ac4d15ffc
Merge: 2cd0f6e a649586
Author: abat <abat@bigswitch.com>
Date:   Fri Jun 17 11:06:20 2016 -0700

    Merge into master from pull request #491:
    patch for OF1.5 table features stats messages + actions <--> apply-actions instruction mapping for OF1.5 (https://github.com/floodlight/loxigen/pull/491)

commit 29d486c0eb05bb0cf5a3db66cbda1e3536eb17bb
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Thu Jun 16 21:51:22 2016 -0400

    Clean up Javadoc. Build Javadoc with Oracle JDK 1.8 fails. Perhaps maven Javadoc plugin shouldn't interpret the warnings as fatal errors... but fixing the root cause is nice.

commit 2cd0f6e4ab4ee7a40d6cfe7a7b50d1583a728bd9
Merge: 8d8bf88 720b536
Author: abat <abat@bigswitch.com>
Date:   Thu Jun 16 16:26:44 2016 -0700

    Merge into master from pull request #495:
    Add BSN IPV6 Prefix TLV (https://github.com/floodlight/loxigen/pull/495)

commit 720b536315cb6e855027cc92702d74f66f56609e
Author: akshata <akshata.danivasa@bigswitch.com>
Date:   Thu Jun 16 15:10:24 2016 -0700

    Add BSN IPV6 Prefix TLV

commit 6f2e315254c7078172152605c51e86406b650b93
Author: Prem Sharma <premshankar.sharma@bigswitch.com>
Date:   Thu Jun 16 13:08:39 2016 -0700

    Adding MacAddr generation for IPv6 Mcast addresses.

commit a6495860e3f89d28174301be0977892fc563a1d8
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Wed Jun 15 20:18:18 2016 -0400

    Remove duplicate OFFlowAdd, Modify, and ModifyStrict .Builder setActions() and defer Modify and ModifyStrict to Add.

commit 8d8bf8845aaa482447d4be99ee56a2d717b9b6b6
Merge: e5101b1 ee80911
Author: abat <abat@bigswitch.com>
Date:   Thu Jun 9 06:51:36 2016 -0700

    Merge into master from pull request #493:
    Patch to optionally ignore the XID field in OFMessage and other types (https://github.com/floodlight/loxigen/pull/493)

commit e5101b1e2b2b273adddf8848e5ba89b6198025b6
Merge: 359c28e e52485d
Author: abat <abat@bigswitch.com>
Date:   Wed Jun 8 09:19:32 2016 -0700

    Merge into master from pull request #492:
    OF1.0 patch for ICMP type and code matches (https://github.com/floodlight/loxigen/pull/492)

commit a1094aa9ebcef543e4748a31ca77fa486ca1ce62
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Tue Jun 7 21:24:24 2016 -0400

    Remove duplicate code from OFFlowMod custom templates and add in missing templates

commit ee809117501a5c85cc9484bdc559f6edf5a7d6d3
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Tue Jun 7 20:11:32 2016 -0400

    Move newline within creation of equalsIgnoreXid() function to avoid 2 newlines b/t classes w/o an 'xid' field.

commit 6d7b2bf1bf3ad68f3d1deaa3f730a37a9c1ad0d2
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Tue Jun 7 20:09:00 2016 -0400

    Refactor flow_desc --> flow for backwards compatibility; flow_stats --> flow_lightweight (lightweight sounds good to me).

commit ff16fe03bfd7c6e497191d7933496b2e85180a3c
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Tue Jun 7 18:57:22 2016 -0400

    Use lambda expression to search for 'xid' field in place of clunky for+if.

commit 359c28ee8a60f1732634e618df414ec46fb007b1
Merge: bbd08a0 b84f6a2
Author: abat <abat@bigswitch.com>
Date:   Tue Jun 7 09:31:44 2016 -0700

    Merge into master from pull request #489:
    HexString: optimize performance; MacAddress: optimize putTo BVS-5367 LOXI-77 (https://github.com/floodlight/loxigen/pull/489)

commit e52485d8e36adb1461d92760ad0bd2e8f397f3be
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Mon Jun 6 12:25:21 2016 -0400

    Patch getters to return ICMPv4Type/Code instead of TransportPort for OpenFlow 1.0.

commit b84f6a28f50a40ff5d949df4f809ef86b4ac95b2
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Mon Jun 6 07:08:52 2016 -0700

    HexString: address comment, remove redundant check

commit f53a11ef879dd4a49d5d75f76edc5fcb3cca63ad
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Thu Jun 2 16:38:40 2016 -0400

    For any class with an XID field (detected by a class field named 'xid'), include an equalsIgnoreXid() function to ignore the XID in the equality check. The assumption, of course, is that the XID field is named 'xid' and is a primitive type (long at present). This will allow for the content-comparison of two OFMessages without regard to when they were created (or what the XID was set to).

commit f405abd30609f7caa564e2bf772cbac9597a8a6d
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Thu Jun 2 14:35:29 2016 -0400

    Allow using the transport source and destination port match fields for ICMP type and code, respectively. This was mostly done, but was incomplete in getMatchFields(), resulting in the thrown exception.

commit d1901765bf550eb9b0bd50a4e8e50827b0294e58
Merge: b08dc22 c15a16c
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Thu Jun 2 11:22:17 2016 -0400

    Merge branch 'master' of https://github.com/rizard/loxigen

commit b08dc224cb0ede4914f27bb38b4d9e38ee6ac3e7
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Thu Jun 2 11:20:04 2016 -0400

    Refactor OF1.5 stats/multipart messages to use same enum names as previous OF versions. This eliminates multiple stat_type enums that map to the same underlying OF message.

commit fd6c3f530241723e43ccd5b7c56f78e1de9c0835
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Thu May 19 06:54:16 2016 -0700

    MacAddress.putTo - performance optimization LOXI-77

    It is correct to directly digest the long value instead of doing big-mangling
    and digesting an int and a short.

commit c15a16c821303be24f5355bfa858dd1538ef46d9
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Wed May 18 16:20:06 2016 -0400

    Fix port_desc_stats_reply. The list of the the port_desc types should be called 'entries', not 'ports'. Otherwise, this creates two getters that get the same thing.

commit 03edd1933fe289e147a36e8d51caf3d09d9fffa2
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Mon May 16 13:05:34 2016 -0400

    OpenFlow 1.3, 1.4, and 1.5 table-features message is the same, pretty much. Not sure why it was table_features before OpenFlow 1.5 and table_feature (singular) for OpenFlow 1.5. This causes an OFTableFeaturesStatsRequest/Reply and OFTableFeatureStatsRequest/Reply message to appear as two different OFMessages.

commit 8a1aeb70ed28a86be91484fb669d9e8d5a7c264c
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Mon May 16 12:45:48 2016 -0400

    Map actions to apply-actions instruction for OpenFlow 1.5

commit 442b8b89299d78981cf25e252f542569d0bd9072
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Sun May 15 05:56:24 2016 -0700

    HexString: optimize hex string conversions

    While debugging a performance problem related to MacAddress.toString, I
    noticed that the HexString conversion code we had was really old and
    inefficient. This code was even using anti-patterns like concatenating
    Strings without a StringBuilder (!).

    These routines are used in a quite a lot of serialization
    cases, e.g., for DatapathIds.

    This commit replaces them with optimized implementatations. These are
    necessarily relatively ugly and procedural.

    JMH benchmarks show the new versions to be between 3.5 and 9.1x faster.

    JMH Benchmark results:
    Old versions:
    ```
    Benchmark                                    Mode  Cnt        Score       Error  Units
    HexStringBenchmark.testBytes6ToHexString    thrpt  200  5482128.668 ± 10011.236  ops/s
    HexStringBenchmark.testBytes8ToHexString    thrpt  200  4097441.103 ±  9869.569  ops/s
    HexStringBenchmark.testLongToHexStringPad6  thrpt  200  6015404.366 ± 16095.163  ops/s
    HexStringBenchmark.testLongToHexStringPad8  thrpt  200  4499879.492 ±  7371.526  ops/s
    HexStringBenchmark.testMacToString          thrpt  200  6039423.717 ± 14960.774  ops/s
    HexStringBenchmark.testToBytes              thrpt  200  4320243.806 ± 12942.870  ops/s
    HexStringBenchmark.testToLong               thrpt  200  5733672.143 ± 26865.832  ops/s
    ```

    New versions:
    ```
    Benchmark                                    Mode  Cnt         Score        Error  Units
    HexStringBenchmark.testBytes6ToHexString    thrpt  200  46454822.004 ± 131143.806  ops/s
    HexStringBenchmark.testBytes8ToHexString    thrpt  200  37602862.513 ±  92041.035  ops/s
    HexStringBenchmark.testLongToHexStringPad6  thrpt  200  38286359.083 ±  80960.505  ops/s
    HexStringBenchmark.testLongToHexStringPad8  thrpt  200  30273992.729 ±  55125.764  ops/s
    HexStringBenchmark.testMacToString          thrpt  200  37012667.642 ±  93106.031  ops/s
    HexStringBenchmark.testToBytes              thrpt  200  15237921.501 ±  16622.545  ops/s
    HexStringBenchmark.testToLong               thrpt  200  30268266.435 ±  24626.181  ops/s
    ```

commit bbd08a0ba812425e7310286dc0692baae3a24d7b
Merge: 55bc3da a76993f
Author: abat <abat@bigswitch.com>
Date:   Sat May 14 12:09:43 2016 -0700

    Merge into master from pull request #487:
    ACTSET_OUTPUT OXM should be type OFPort, not TransportPort (https://github.com/floodlight/loxigen/pull/487)

commit 55bc3daa3eb2fd99c461d4454ce547e7a8d96a2e
Merge: b676b7b 08a6cde
Author: abat <abat@bigswitch.com>
Date:   Thu May 12 14:40:24 2016 -0700

    Merge into master from pull request #488:
    Add drop tlv (https://github.com/floodlight/loxigen/pull/488)

commit 08a6cde32dd6abd83cfe80613c40579ebfd886b8
Author: harshsin <harshmeet.singh@bigswitch.com>
Date:   Thu May 12 14:12:21 2016 -0700

    Add drop tlv

commit a76993fac6f7f3d14df6bb86c209791e8a97bd0a
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Thu May 12 10:36:59 2016 -0400

    ACTSET_OUTPUT OXM should be type OFPort, not TransportPort

commit b676b7beb365882e4d906807f93c54f291b7acf6
Merge: d0a526d f290055
Author: abat <abat@bigswitch.com>
Date:   Mon May 9 15:48:40 2016 -0700

    Merge into master from pull request #486:
    Java: V1.5 Stat: add convenience methods akin to Match (https://github.com/floodlight/loxigen/pull/486)

commit d0a526dff1fc77664060d6181c21c5c086432f23
Merge: aa04b51 92be91b
Author: abat <abat@bigswitch.com>
Date:   Mon May 9 14:45:45 2016 -0700

    Merge into master from pull request #485:
    standard-1.5:  fixed reserved value (https://github.com/floodlight/loxigen/pull/485)

commit 92be91bfec501814eb40ffe6906262114fc78f50
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Fri May 6 19:18:20 2016 -0700

    standard-1.5: of_stat_v6: use padding for reserved value

commit aa04b51ccc3949e30a678f7edb7f211efe9d7233
Merge: dd2e04b d346569
Author: abat <abat@bigswitch.com>
Date:   Mon May 9 12:24:45 2016 -0700

    Merge into master from pull request #480:
    Expose MatchField prereqs (https://github.com/floodlight/loxigen/pull/480)

commit d34656959b43e8d6783dbee52a24e12caf44e4be
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Mon May 9 11:34:04 2016 -0400

    Remove types from use of ImmutableSet's of() and copyOf(). Remove unnecessary defensive programming in MatchField constructor.

commit dd2e04bda188622767af52e8e6d8dd6234ff0429
Merge: 9555af7 62bd72d
Author: abat <abat@bigswitch.com>
Date:   Sat May 7 11:16:47 2016 -0700

    Merge into master from pull request #484:
    openflow_input: generate BSN messages for version 1.5 (https://github.com/floodlight/loxigen/pull/484)

commit f29005514bbcdc01ee697e11a339f19bb8cec2e5
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Fri May 6 19:20:37 2016 -0700

    Java: V1.5 Stat: add convenience methods akin to Match

    Stat mimics the design of the generic Match object. This commit
    completes the set of convenience methods that abstract the details
    and enable the user to set an abstract statfield.

commit 62bd72dbadc6a6e50f70e3a62febb0ec0e73cb5d
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Fri May 6 19:24:42 2016 -0700

    openflow_input: generate BSN messages for version 1.5

    This auto-generated commit marks all bsn messages generated for
    version 1.4 to also be generated for version 1.5

commit 39b0cbc96573cf3b8d55695f441dff2bfc2a3084
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Fri May 6 07:58:11 2016 -0400

    Refactor to Guava ImmutableSets. In MatchField, there is no longer a need to check if the Prerequisite[] is empty, since copyOf() will (first) check this. In Prerequisite, still need to check if OFValueType[] is empty to set the any variable.

commit 9555af7d9fb1f441996b42b11205e6ee71dc08cd
Merge: 02a0049 2a1ecc0
Author: abat <abat@bigswitch.com>
Date:   Thu May 5 17:36:41 2016 -0700

    Merge into master from pull request #483:
    Add disable_src_mac_check tlv (https://github.com/floodlight/loxigen/pull/483)

commit 2a1ecc0c23c43c38504c18d5334e3cd02d7972c0
Author: harshsin <harshmeet.singh@bigswitch.com>
Date:   Thu May 5 17:14:16 2016 -0700

    Add disable_src_mac_check tlv

commit 02a004999954d08c7c8feda565af6183e5462049
Merge: b6e2157 2d7cf05
Author: abat <abat@bigswitch.com>
Date:   Thu May 5 12:25:39 2016 -0700

    Merge into master from pull request #482:
    Update README.MD for versions 1.4.1 and 1.5.1 (https://github.com/floodlight/loxigen/pull/482)

commit 2d7cf05b81db0ad71af1143a77da058fc69b4ce7
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Thu May 5 11:01:46 2016 -0700

    Update README.MD for versions 1.4.1 and 1.5.1

commit b6e21571994869b6da89caa260f475afa1674abc
Merge: c0cef0d 7f40a2f
Author: abat <abat@bigswitch.com>
Date:   Tue May 3 15:48:22 2016 -0700

    Merge into master from pull request #459:
    OpenFlow 1.5.1 implementation (https://github.com/floodlight/loxigen/pull/459)

commit e23a1294c0c491da026f7495ed70be4c218c2ae5
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Tue May 3 09:41:53 2016 -0400

    Fix spelling typo

commit c9be566f6155d9229efbbbad525a36d046cb5d40
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Tue May 3 09:02:08 2016 -0400

    Safely allow us to read the prerequisites (their types and possible values) from a MatchField. This will greatly help with automated flow-mod composition and for error checking in the static flow pusher (in supplement to the arePrerequisitesOK() function in MatchField

commit 7f40a2f719d8de561386b20f37758eee43840885
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Fri Apr 29 10:39:42 2016 +0300

    WhiteSpace & Unnecessary File Fix

commit 29861119e6af703178b07a9a404bc76bebcbda80
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Fri Apr 29 09:41:56 2016 +0300

    OFStatVer15 toString fix

commit 06b5fde10220ab8d1eb18d0c4dcada95f9e2b7de
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Thu Apr 28 18:21:13 2016 +0300

    standard-1.4 fix

commit 3eb1f2e549e49d0b822c0569d8fd64b1c6c32693
Merge: c3a2baf 2257394
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Wed Apr 27 09:12:55 2016 +0300

    Merge pull request #6 from andi-bigswitch/of15-pr-4

    Some more cleanup for OF1.5

commit 2257394226de123bbfe60071907ff8149b1535a9
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Apr 26 14:03:17 2016 -0700

    java: remove logback-test.xml

commit 0c19dfe10145d0313a13ddea6858d67fa9dbbb54
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Apr 26 13:55:57 2016 -0700

    OF15: fix whitespace errors

commit 711f96b08e837b85409c200b6ed61abc7f2fbad4
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Tue Jan 12 11:28:14 2016 -0800

    Fix doc syntax, Java 8 does not like it

commit a6146e40833646ceabe5899ff8f5b13287140761
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Apr 26 13:39:19 2016 -0700

    pom.xml: Remove unneeded javadoc mangling

    Javadoc on Java8 was failing because an earlier commit
    erroneously undid the fix from 914939c5.

    No need to disable Javadoc linting.

commit 8ee0c9c85dd83aa8f183e4308655016a4f37cde1
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Apr 26 13:16:39 2016 -0700

    Remove masked versions of OXSs, associated methods

    OXS (stats) fields don't have a useful notion of wildcards, the openflow
    standard reserves the corresponding field.

    This commit removes the declarations of the masked OXS fields and
    the associated java magic (also making the OXS stack simpler).

commit 5c4e052007076b4564b93f86e90ade28095824f1
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Apr 26 13:13:47 2016 -0700

    of/header_types: declare enums as stable, set wire types

    This enables those enums to be used in data types

commit dc1372f3e80e46494b86da528c6a9ad1cd37a30c
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Apr 26 13:18:02 2016 -0700

    java: PacketType must come as first OXM according to OF Spec

commit 348515b8e75a86111d2abebb21459c11a696206b
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Apr 26 13:12:17 2016 -0700

    java: fix PacketType

    PacketType was not following the OpenFlow spec correctly (the namespace
    16 bit word was not considered). It also needed toString/equals/hashcode

commit ae75d35b0af264e37dfb21d3e90e7e59ad24a9cb
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Apr 26 13:11:53 2016 -0700

    java/OFConnectionIndex: add toString/equals/hashcode

commit c3a2baf1b34156d5e01817af3ce8e0299518b442
Merge: 0c3c29e de20bbb
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Tue Apr 26 09:38:14 2016 +0300

    Merge pull request #5 from rlane/of15-4

    pyloxi: add OF 1.5 unit test

commit de20bbbc5c48896c5e18e5245947eb38cb8a6876
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Mon Apr 25 19:51:58 2016 -0700

    pyloxi: add OF 1.5 unit test

commit 0c3c29eb9242b820ffb54aeae7d74875dcc31c51
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Mon Apr 25 18:23:27 2016 +0300

    Whitespace / Tab / Pom Fix

    2.1.0 snapshot -> 3.0.0 snapshot

commit fe97f404dd19424ae629441a967727a5e1a43c64
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Mon Apr 25 15:19:54 2016 +0300

    tab/whitespace fix

commit e44440c6da57f55c93d16f151278480b54681870
Merge: ba02b95 c0cef0d
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Mon Apr 25 10:54:10 2016 +0300

    Merge remote-tracking branch 'refs/remotes/floodlight/master'

commit ba02b958fd0f5b0895806c35de2ed9e528eafcbb
Merge: 170aff6 7848860
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Mon Apr 25 10:39:36 2016 +0300

    Merge pull request #4 from rizard/of15-3

    Fix group_add and group_desc_reply tests

commit 7848860d4ab1961e1524b969c42c32a866494883
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Fri Apr 22 17:01:46 2016 -0400

    Fix group_desc_stats_reply test to use correct lengths. Also correct and tidy up the Java.

commit c0cef0d6f19abac80bc5addf0acc6aa7a6b3f56c
Merge: 91b5ba0 015d82c
Author: abat <abat@bigswitch.com>
Date:   Fri Apr 22 13:47:35 2016 -0700

    Merge into master from pull request #479:
    [SWL-2807] Add PFC counters to BSN port counters (https://github.com/floodlight/loxigen/pull/479)

commit 9d29778c5b8c6cd3af137ef9f663d4625ee781ac
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Fri Apr 22 16:40:47 2016 -0400

    Fix typos

commit 04181632ccd30beaefb6132438dd216abbc1c580
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Fri Apr 22 16:36:41 2016 -0400

    Update OFGroupAdd test to use correct lengths and include OFGroupBucketPropWeight for SELECT group type

commit 015d82ca68bda3d19b58ab954a3442b19cda0a8f
Author: Nick Wang <ning.wang@bigswitch.com>
Date:   Thu Apr 21 16:27:14 2016 -0700

    initial check-in for supporting PFC counters

commit 91b5ba0a2343f95e22ee26b7de81818faf5c39a2
Merge: b49e148 aeb3273
Author: abat <abat@bigswitch.com>
Date:   Thu Apr 21 14:07:36 2016 -0700

    Merge into master from pull request #478:
    Dockerized build environment for loxigen (https://github.com/floodlight/loxigen/pull/478)

commit aeb32732069f47e33e7e0dcc26258f0c0a42ce8b
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Thu Apr 21 13:55:50 2016 -0700

    docker.sh: remove duplicated --rm

commit 11b314d7900c5f1e37c75685f9719aa718bfa2ae
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Thu Apr 21 10:22:01 2016 -0700

    test_data: remove manual bucket/action lengths

commit a92a05104da488a6c4ea8a5d4ba39863caa18352
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Thu Apr 21 10:21:35 2016 -0700

    openflow_input: use field length member syntax in standard-1.5

commit 1c085ae901316d51743cc2fc31a85aef5f1fd3cb
Merge: 170aff6 b49e148
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Thu Apr 21 10:04:10 2016 -0700

    Merge remote-tracking branch 'origin/master' into of15-3

commit ead5343d5be6a96b6c1976348884246a377f9f76
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Wed Apr 20 19:30:58 2016 -0700

    Improvements to docker.sh:

    - use python-based abspath for OS X compatibility
    - only set -t if running from terminal
    - --rm to clean up the container after exit

commit 5c454dddbe4d72cca81e554765067f27b73a69b9
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Wed Apr 20 16:26:15 2016 -0700

    docker: add docker launcher

    ./docker.sh launches docker, with the current repo mounted at /loxi

commit 1428f6271bb4ce8b8790ba176a75c5ae96a0896b
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Wed Apr 20 16:25:28 2016 -0700

    Add: dockerfile for basic build environment

commit b49e148ff613fd8bfd347d1ef05e851cdfe20f27
Merge: 29f1cb7 102f4d5
Author: abat <abat@bigswitch.com>
Date:   Wed Apr 20 16:17:27 2016 -0700

    Merge into master from pull request #477:
    push-artifacts: add support to specify new target branch to be created (https://github.com/floodlight/loxigen/pull/477)

commit 102f4d57d3e646f53e9b4befdbc23e7ccfe1d620
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Wed Apr 20 15:08:42 2016 -0700

    fixup push-artifacts

commit 8d4f2c7a5c9da15db3e8baf2552d753ed67e94cd
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Wed Apr 20 14:45:40 2016 -0700

    push-artifacts: enable debugging

commit c65be0bd26355e43c9fa13ccb45de6a5e2fe650f
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Wed Apr 20 14:26:01 2016 -0700

    push-artifacts: add support to specify new target branch to be created

    This is intended so we can easily inspect the artifact diffs for
    pull requests.

    Jenkins intergration pending.

commit 29f1cb7e2c7f23b624579063e5512ba2072d0e83
Merge: f40e86f baa3641
Author: abat <abat@bigswitch.com>
Date:   Wed Apr 20 14:07:36 2016 -0700

    Merge into master from pull request #476:
    syntax for field length members (https://github.com/floodlight/loxigen/pull/476)

commit baa36419821a1af11bb07d9f87be14e5a0c08c89
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 13:48:49 2016 -0700

    frontend: remove hardcoded field length member names

commit cc957e9cb363e799d75945a1409f7ff3ed50f314
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 13:48:32 2016 -0700

    openflow_input: use field length member syntax

commit 8dda875975a5dae3d75e742968a51e3fa474e673
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 13:40:31 2016 -0700

    frontend: add syntax for field length members

commit 170aff64b1166e1776c8ebdb9929035a6cab077f
Merge: 969c4b8 fb5b092
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Wed Apr 20 21:23:44 2016 +0300

    Merge pull request #3 from rlane/of15

    Disable C backend for OF 1.5

commit fb5b0922cdf8840ab46418821731b32ff1c36044
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 11:15:59 2016 -0700

    test_data: fix C and Python port_mod testcase

commit 05c04eed2cee724ad135d2cf6d441ca371249f3d
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 11:09:28 2016 -0700

    openflow_input: remove experimenter data from standard-1.5

    Fields present in the superclass but not in a subclass cause problems for the
    Java backend. The experimenter_data fields are unnecessary, just add the
    experimenter subclass to LOXI.

commit 19a3715350e10f5b699460b16b5b38f2b064224e
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 11:01:39 2016 -0700

    Makefile: exclude OF 1.5 when building C backend

commit c960585838b0413ead59becb5f26952e6fc9d26d
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 11:01:15 2016 -0700

    loci: build of_g version maps only for target versions

commit 4817c7b83c87581b6a41881dc017a830806d39db
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 11:00:35 2016 -0700

    loxigen: filter input using target versions

commit 969c4b81a66282e1fc07a15267077951b6766390
Merge: 74313ad 70ec72c
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Wed Apr 20 20:37:53 2016 +0300

    Merge pull request #2 from rlane/of15

    Fixes for OF 1.5

commit 70ec72cbb4cfc25442ecd6424aa24eaaad1e1e4d
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 10:23:25 2016 -0700

    python: fix match/stats and enable OF 1.5 testcases

commit 95d3935685884ce41a2a6608ada2c44c45bf756d
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Wed Apr 20 10:21:49 2016 -0700

    openflow_input: fix discriminators and type fields

commit 74313ad51f52ad68c7e869978544075181407c6a
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Wed Apr 20 16:14:17 2016 +0300

    OFDuration fix

commit 96d8aac72ffcb71300e2aca43a61e59cffed92fb
Merge: 539eb7f f40e86f
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Wed Apr 20 15:55:47 2016 +0300

    Merge remote-tracking branch 'refs/remotes/floodlight/master'

commit 539eb7f13937ac90a4c30545188885418918e618
Merge: 30589a1 857d9e2
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Wed Apr 20 15:42:29 2016 +0300

    Merge pull request #1 from andi-bigswitch/pr-459-patch

    java_gen: support OFFlowMonitorEntry, a variable length ofclass w/o length member

commit f40e86f7cc7a21815d321f5bf881b14965418ff1
Merge: ac80bfc 0039186
Author: abat <abat@bigswitch.com>
Date:   Tue Apr 19 15:10:38 2016 -0700

    Merge into master from pull request #475:
    Add of_queue_desc_prop_bsn and of_queue_desc_prop_bsn_queue_name (https://github.com/floodlight/loxigen/pull/475)

commit 00391865a529dc672ac1737af07184c45ed22ad8
Author: Ken Chiang <ken.chiang@bigswitch.com>
Date:   Tue Apr 19 11:15:47 2016 -0700

    Change type of name field from of_str64_t to of_octets_t.

commit 857d9e214638795601a03809211d15594a08d10c
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Apr 19 10:34:12 2016 -0700

    java_gen: support OFFlowMonitorEntry, a variable length ofclass w/o length member

commit afead678834a990669e76df8089a2d7ac2ca990b
Author: Ken Chiang <ken.chiang@bigswitch.com>
Date:   Thu Apr 14 13:39:03 2016 -0700

    Add of_queue_desc_prop_bsn and of_queue_desc_prop_bsn_queue_name to return
    queue names.

commit 30589a18742625c4e96e5ef14f5c1bf0e10e18bd
Merge: 0096da0 ac80bfc
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Thu Apr 14 13:35:39 2016 +0300

    Merge remote-tracking branch 'refs/remotes/floodlight/master'

commit ac80bfc59512725e983ca9011f88d13ea1ff3cb5
Merge: 0865557 3b8763e
Author: abat <abat@bigswitch.com>
Date:   Mon Apr 11 11:13:42 2016 -0700

    Merge into master from pull request #474:
    add of_bsn_tlv_uint64_list and fix of_bsn_tlv_vlan_mac_list (https://github.com/floodlight/loxigen/pull/474)

commit 3b8763edf820a93026c1a93aeaf3c0e29655d1d7
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Mon Apr 11 11:05:57 2016 -0700

    openflow_input: add of_bsn_tlv_uint64_list

commit b8a50382feeb28834bba18136e90ce04f7642fe6
Author: Rich Lane <rich.lane@bigswitch.com>
Date:   Mon Apr 11 11:05:24 2016 -0700

    openflow_input: add superclass to of_bsn_tlv_vlan_mac_list

commit 08655579fd741c5a8378d0859204ea9a750a4138
Merge: 3c24219 c4e34e4
Author: abat <abat@bigswitch.com>
Date:   Mon Mar 28 11:23:38 2016 -0700

    Merge into master from pull request #472:
    Add new vxlan-egress and cpu lag indicator tlvs (https://github.com/floodlight/loxigen/pull/472)

commit 3c24219a38dddc25bb15252c4dce0585ebff6d9b
Merge: 7743b12 a5bae56
Author: abat <abat@bigswitch.com>
Date:   Mon Mar 28 09:58:26 2016 -0700

    Merge into master from pull request #473:
    Make Bundle-Add inherit the XID of the nested message  #loxigen/454 (https://github.com/floodlight/loxigen/pull/473)

commit a5bae5632b453c377e5c0c8072bb5c7bebf54446
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Mon Mar 28 06:04:02 2016 -0700

    Make Bundle-Add inherit the XID of the containing message  #loxigen/454

    This ensures the generated messages conform to the OF Spec, 1.4,
    section 7.3.9.6 Adding messages to a bundle:

    > Message added in a bundle should have a unique xid to help matching
    > errors to messages, and the xid of the bundle add message must be the
    > same.

commit c4e34e4428addad92981af7328acd532cc505426
Author: harshsin <harshmeet.singh@bigswitch.com>
Date:   Fri Mar 25 16:54:46 2016 -0700

    Add new vxlan-egress and cpu lag indicator tlvs

commit 7743b122bb78e4752430e534a20e8f4090ce8794
Merge: 93392d0 916419f
Author: abat <abat@bigswitch.com>
Date:   Mon Mar 21 17:43:42 2016 -0700

    Merge into master from pull request #471:
    Added new TLVs for GRE tunnel gen table (https://github.com/floodlight/loxigen/pull/471)

commit 916419fc71fb27221a3125999dd058d73bb6f50d
Author: Rob Vaterlaus <rob.vaterlaus@bigswitch.com>
Date:   Sun Mar 20 17:38:30 2016 -0700

    Added new TLVs for GRE tunnel gen table

commit 93392d0a26f5a73d6e47c2fb838f30c3e04c3d92
Merge: 3767c61 6dbc151
Author: abat <abat@bigswitch.com>
Date:   Thu Mar 17 15:11:24 2016 -0700

    Merge into master from pull request #470:
    Add gentable entry-priority tlv (https://github.com/floodlight/loxigen/pull/470)

commit 6dbc15128bcf2123bafaa83facfa77c79d42cb90
Author: harshsin <harshmeet.singh@bigswitch.com>
Date:   Thu Mar 17 10:52:59 2016 -0700

    Add qos-priority tlv

commit 55fc5f7dca9acfb99ebb24edc464232ef22a5c4d
Author: harshsin <harshmeet.singh@bigswitch.com>
Date:   Wed Mar 16 12:22:43 2016 -0700

    Add gentable entry-priority tlv

commit 3767c61e2998cce3775c76d6e4d2cf46c92d6cbd
Merge: 3326f0d 34b951c
Author: abat <abat@bigswitch.com>
Date:   Thu Mar 10 14:48:29 2016 -0800

    Merge into master from pull request #469:
    Add new tlv's for vxlan and dcbx feature vfp entries (https://github.com/floodlight/loxigen/pull/469)

commit 34b951c588296db9667acf7ed07633bf16a549f5
Author: harshsin <harshmeet.singh@bigswitch.com>
Date:   Thu Mar 10 14:46:38 2016 -0800

    changed vfp_class_id value to 32 bits

commit 8f5996c2e8d11c7c4c9dc83adee054f374fd3de1
Author: harshsin <harshmeet.singh@bigswitch.com>
Date:   Thu Mar 10 14:36:17 2016 -0800

    add new tlv's for vxlan and dcbx feature vfp entries

commit 3326f0d2e76232c454c2966529a8c602a378a920
Merge: d75d79d a3d68df
Author: abat <abat@bigswitch.com>
Date:   Mon Mar 7 11:02:43 2016 -0800

    Merge into master from pull request #467:
    Add TLVs for GTP match in the context of port-channel hashing (https://github.com/floodlight/loxigen/pull/467)

commit 0096da08177a6bda2c75e3111318a810c69d860c
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Mon Mar 7 16:44:08 2016 +0200

    Test Fix

    Tests are fixed

commit 1be4eb0f2a3f2cc747184f16381c4e23495d8b2d
Author: abakagamze <gamze.abaka@argela.com.tr>
Date:   Mon Mar 7 16:28:48 2016 +0200

    OpenFlow 1.5.1 Improvement

    * Prerequisites are added
    * Javadoc is added and tested with Java 1.7 / 1.8
    * OFValue classes (OFDuration, OFFlowCount, OFPacketCount, OFByteCount,
    OFIdleTime) are removed
    * Custom files (GroupAddVer15 etc) are removed

    * Tests are added for:

    ACTIONS
    -----------
    - (0) OUTPUT Action
    - (25) SET-FIELD Action (eth_dst, ipv6_src, tcp_src)

    INSTRUCTIONS
    -------------
    - (1) GOTO_TABLE
    - (2) WRITE_METADATA
    - (3) WRITE_ACTIONS
    - (4) APPLY_ACTIONS
    - (5) CLEAR_ACTIONS
    - No Instruction for (6) in OpenFlow 1.5.1 spec.
    - (7) STAT_TRIGGER

    MATCH_V3
    -----------
    - METADATA, ETH_SRC, UDP_DST, IPV6_DST

    MESSAGES
    -------------
    - (0) Hello
    - Hello Elements Version Bitmap
    - (1) Error Messages
    (0) HELLO_FAILED
    (1) BAD_REQUEST
    (2) BAD_ACTION
    (3) BAD_INSTRUCTION
    (4) BAD_MATCH
    (5) FLOW_MOD_FAILED
    - (2) Echo Request
    - (3) Echo Reply
    - (5) Features Request
    - (6) Features Reply
    - (7) Get-Config Request
    - (8) Get-Config Reply
    - (9) Set-Config
    - (10) Packet-In
    - (11) Flow Removed
    - (12) Port Status
    - (13) Packet-Out
    - (14) Flow Mod
    (0) ADD
    (1) MODIFY
    (2) MODIFY_STRICT
    (3) DELETE
    (4) DELETE_STRICT
    - (15) Group Mod
    (0) ADD
    - (16) Port Mod
    - (17) Table Mod
    - (18) Multipart Message Request
    (0) Desc Stats
    (1) Flow Desc Stats (old name is Flow Stats)
    (2) Aggregate Stats
    (3) Table Stats
    (4) Port Stats
    (5) Queue Stats
    (6) Group Stats
    (7) Group Desc Stats
    (8) Group Features Stats
    (9) Meter Stats
    (10) Meter Desc Stats (old name is Meter Config)
    (11) Meter Features Stats
    (12) Table Features Stats
    (13) Port Desc Stats
    (14) Table Desc Stats
    (15) Queue Desc Stats
    (16) Flow Monitor
    (17) Flow Stats
    (18) Controller Status Stats
    (19) Bundle Features

    - (19) Multipart Message Reply
    (0) Desc Stats
    (1) Flow Desc Stats (old name is Flow Stats)
    (2) Aggregate Stats
    (3) Table Stats
    (4) Port Stats
    (5) Queue Stats
    (6) Group Stats
    (7) Group Desc Stats
    (8) Group Features Stats
    (9) Meter Stats
    (10) Meter Desc Stats (old name is Meter Config)
    (11) Meter Features Stats
    (12) Table Features Stats
    (13) Port Desc Stats
    (14) Table Desc Stats
    (15) Queue Desc Stats
    (16) Flow Monitor Stats
    (17) Flow Stats

    - (20) Barrier Request
    - (21) Barrier Reply
    - No Messages for (22) and (23) in Openflow 1.5.1 spec.
    - (24) Role Request
    - (25) Role Reply
    - (26) Get Aysnc Request
    - (27) Get Async Reply
    - (28) Set Async
    - (29) Meter Mod
    (0) ADD
    - (30) Role Status
    - (31) Table Status
    - (32) Request Forward
    - (33) Bundle Control
    - (34) Bundle Add

commit a3d68df4562585160ed726c9934e96659278e3f8
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Fri Mar 4 17:04:15 2016 -0800

    Add TLVs for GTP match in the context of port-channel hashing

commit d75d79d6ec0f015c8805b53ea01b35834ceeb2f6
Merge: d9b4242 5529f5f
Author: abat <abat@bigswitch.com>
Date:   Wed Mar 2 19:39:18 2016 -0800

    Merge into master from pull request #466:
    Add tlv for port channel hashing (https://github.com/floodlight/loxigen/pull/466)

commit 5529f5f13e558011e6ed445adc03462891da6b53
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Tue Mar 1 17:03:33 2016 -0800

    Add tlv for port channel hashing

commit d9b4242a3e84a24fc2d496e05bbcc58d17211953
Merge: 351e6a7 99d4e51
Author: abat <abat@bigswitch.com>
Date:   Mon Feb 22 10:25:19 2016 -0800

    Merge into master from pull request #465:
    define new bsn_vfi match oxm (https://github.com/floodlight/loxigen/pull/465)

commit 99d4e51a737a18264aaa194a22c63e565032c0b6
Author: Harshmeet Singh <harshmeet.singh@bigswitch.com>
Date:   Fri Feb 19 13:29:20 2016 -0800

    define new bsn_vfi match oxm

commit 351e6a7d45c934a57b537f69bb7d91c59b86e8a7
Merge: 83314ed c5042be
Author: abat <abat@bigswitch.com>
Date:   Fri Feb 19 10:44:32 2016 -0800

    Merge into master from pull request #462:
    Add a new Virtual Forwarding Instance (VFI) type to the openflow library (https://github.com/floodlight/loxigen/pull/462)

commit c5042be1a23fcf5de4da4b08e0672e4902d6f033
Author: sdmodi <sudeep.modi@bigswitch.com>
Date:   Fri Feb 19 10:39:37 2016 -0800

    Address review comment

commit fbba77442b66b45988603faee593bf3bd7776e8a
Merge: 63abfb8 83314ed
Author: sdmodi <sudeep.modi@bigswitch.com>
Date:   Fri Feb 19 10:39:31 2016 -0800

    Merge remote-tracking branch 'floodlight/master'

commit 83314edfecd0085d04e948ec9ddeb37780ccf175
Merge: 2cc26f2 d473459
Author: abat <abat@bigswitch.com>
Date:   Thu Feb 18 13:44:40 2016 -0800

    Merge into master from pull request #464:
    add gencmd extension and of_bsn_tlv_vlan_mac_list (https://github.com/floodlight/loxigen/pull/464)

commit d4734591751c25e756f590dcedf590520b25f1de
Author: Rich Lane <rlane@bigswitch.com>
Date:   Tue Feb 9 14:27:26 2016 -0800

    openflow_input: add of_bsn_tlv_vlan_mac_list

commit e6ab937e63231494e8e7ea9451afd0128e8cfa26
Author: Rich Lane <rlane@bigswitch.com>
Date:   Tue Feb 9 14:24:41 2016 -0800

    openflow_input: add bsn_generic_command extension

commit 2cc26f280b4afb46b2e27c740e8537e539f907a3
Merge: 850995b 8d76666
Author: abat <abat@bigswitch.com>
Date:   Wed Feb 17 17:16:25 2016 -0800

    Merge into master from pull request #463:
    Support bsn_l2_cache_hit tlv in 1.4. (https://github.com/floodlight/loxigen/pull/463)

commit 8d766663348b8eb02dbc3462d13bc219fe9536a5
Author: Wilson Ng <wilson.ng@bigswitch.com>
Date:   Wed Feb 17 17:09:54 2016 -0800

    Support bsn_l2_cache_hit tlv in 1.4.

commit 63abfb8151d7d373c521f6a9140f6d9a1e64fae3
Author: sdmodi <sudeep.modi@bigswitch.com>
Date:   Wed Feb 17 16:04:55 2016 -0800

    Fix typo

commit a076efc364177d5a95ae24f0be49f8dfce933e7a
Author: sdmodi <sudeep.modi@bigswitch.com>
Date:   Wed Feb 17 16:02:30 2016 -0800

    Add a new Virtual Forwarding Instance (VFI) type to the openflow library

commit 850995bf19c7b0e6d768ec58d7bbba447da24d24
Merge: 3feb5a9 39d61e5
Author: abat <abat@bigswitch.com>
Date:   Tue Feb 16 15:50:39 2016 -0800

    Merge into master from pull request #461:
    Add vfi tlv for VXLAN VPN (https://github.com/floodlight/loxigen/pull/461)

commit 39d61e52f3c7cdc14922f2e6f5e5b8769f66f584
Author: Harshmeet Singh <harshmeet.singh@bigswitch.com>
Date:   Tue Feb 16 10:41:26 2016 -0800

    Add vfi tlv for VXLAN VPN

commit 3feb5a95a50c4d1ac7c90b2a34e5436920f0693d
Merge: ccc86f2 3c0e65c
Author: abat <abat@bigswitch.com>
Date:   Thu Feb 11 14:45:36 2016 -0800

    Merge into master from pull request #460:
    loci: fix mask size when parsing OXMs into of_match_t (SWL-2669) (https://github.com/floodlight/loxigen/pull/460)

commit 3c0e65c3a3f07bd0fd0860bceb609e095e9719cc
Author: Rich Lane <rlane@bigswitch.com>
Date:   Thu Feb 11 13:32:04 2016 -0800

    loci: fix mask size when parsing OXMs into of_match_t (SWL-2669)

    of_memmask was passed the size of a pointer, not the match field.

commit da8cdc3aa52606072db52b1f40eab2720f873086
Author: Gamze Abaka <gamze.abaka@argela.com.tr>
Date:   Mon Feb 1 15:50:43 2016 +0200

    Test Files Removed

    Test Files that are created from eclipse are removed

commit 7ce81f929ed2c24cf2764bd675339c209f716364
Author: Gamze Abaka <gamze.abaka@argela.com.tr>
Date:   Mon Feb 1 14:58:56 2016 +0200

    OpenFlow 1.5.1 implementation

    Java and Wireshark Implementation for OpenFlow 1.5.1
    --
    Basic messages (Hello, Features Request-Reply, Get Config Request,Reply,
    Set Config, Port Status, Packet-In, Table-Statistics, Port-Statistics,
    Flow Add etc) are tested with OVS 2.4.0
    --
    Flow Monitoring, Bucket Insertion / Deletion for groups, statistics
    trigger and usage of OXS classes must be tested!
    --

commit ccc86f2f5a7bc47fe7055eb7b63fd9da458c80fa
Merge: ae1c1c4 4730681
Author: abat <abat@bigswitch.com>
Date:   Wed Jan 27 19:27:33 2016 -0800

    Merge into master from pull request #458:
    Upgrade Guava Version to 19.0 (https://github.com/floodlight/loxigen/pull/458)

commit 47306813d8d0f2287909cd14ef23a7cc12cf7fe5
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Wed Jan 27 16:20:13 2016 -0800

    Upgrade Guava Version to 19.0

commit ae1c1c4fe554cb5464419851e292e5068fec47b5
Merge: ddc79f7 ce24488
Author: abat <abat@bigswitch.com>
Date:   Wed Jan 13 11:11:36 2016 -0800

    Merge into master from pull request #452:
    Duplicated the behavior in OFFlow*_setActions, version 1.3, for versions 1.1, 1.2 and 1.4 (https://github.com/floodlight/loxigen/pull/452)

commit ddc79f76083b3e8373920f5cf92137ddc9374b5f
Merge: 883c022 9649f18
Author: abat <abat@bigswitch.com>
Date:   Wed Jan 13 10:54:35 2016 -0800

    Merge into master from pull request #455:
    java: bump POM version to 2.1.0 (https://github.com/floodlight/loxigen/pull/455)

commit 9649f1816d72e50d214c3168171928f1f2e0f6a2
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Wed Jan 13 10:50:03 2016 -0800

    java: bump POM version to 2.1.0

commit ce244883434125fa2a1a2752657b501dd90d95c7
Author: AndreMantas <andremantas7@gmail.com>
Date:   Wed Jan 13 18:32:05 2016 +0000

    Removed unnecessary helper methods for FlowDelete/Strict Builders. Flow Delete messages have no actions/instructions.

commit 528dd08a0c87463a0822a2ed24e8ede8212a5cb0
Author: AndreMantas <andremantas7@gmail.com>
Date:   Wed Jan 13 15:27:04 2016 +0000

    Created template files for OFFlow*.Builder_setActions files so that each version specific file can include its template and reduce duplicate code.

commit ed8f904c2b009b45c3c9e033c7fd07aba0f315aa
Merge: d006a0e 883c022
Author: AndreMantas <andremantas7@gmail.com>
Date:   Wed Jan 13 14:41:13 2016 +0000

    Merge branch 'master' of https://github.com/floodlight/loxigen

commit 883c022922f254601be36ccb15dc0364d72a6870
Merge: 6d333f1 914939c
Author: abat <abat@bigswitch.com>
Date:   Tue Jan 12 17:03:44 2016 -0800

    Merge into master from pull request #453:
    Fix doc syntax, Java 8 does not like it (https://github.com/floodlight/loxigen/pull/453)

commit 914939c5caf95d2e59972eea28afb38f77ded564
Author: Shudong Zhou <shudongzhou@gmail.com>
Date:   Tue Jan 12 11:28:14 2016 -0800

    Fix doc syntax, Java 8 does not like it

commit d006a0e8fc78f4f06d8261e13d239cfacbc37cb9
Author: AndreMantas <andremantas7@gmail.com>
Date:   Sun Jan 10 18:30:02 2016 +0000

    Reviewer: @rizard @rlane @Sovietaced

    Duplicated the behaviour in OFFlow*_setActions, version 1.3 for versions 1.1, 1.2 and 1.4

commit 6d333f1d336f5ac27cb02d4b33440480f355be91
Merge: d1e2389 5abb5af
Author: abat <abat@bigswitch.com>
Date:   Tue Jan 5 14:01:41 2016 -0800

    Merge into master from pull request #451:
    OF1.4 table features bug fix (https://github.com/floodlight/loxigen/pull/451)

commit 5abb5af6b1cf5b91fa116db9f31f3180622fc508
Author: Ryan Izard <rizard@g.clemson.edu>
Date:   Mon Jan 4 12:14:47 2016 -0500

    Fixed OF1.4 table features properties byte alignment. Now byte aligned to 8 bytes.

commit d1e2389d8ce58209270d135db1f08e096b46a427
Merge: 9ecc398 22ef95b
Author: abat <abat@bigswitch.com>
Date:   Fri Dec 18 15:50:29 2015 -0800

    Merge into master from pull request #450:
    Async request patch for OF1.3 and OF1.4 (https://github.com/floodlight/loxigen/pull/450)

commit 22ef95b8af95331bb0d92cb05cd23aba3869f26d
Author: Ryan Izard <rizard@g.clemson.edu>
Date:   Fri Dec 18 17:10:58 2015 -0500

    Async request messages do not have any body, only the OF header w/async request type.

commit 9ecc3981a61fb13c40aeb910f1d2c86fb04aa021
Merge: d593d01 7ba8173
Author: abat <abat@bigswitch.com>
Date:   Fri Dec 4 12:47:24 2015 -0800

    Merge into master from pull request #441:
    Add of_bsn_base_error and of_bsn_error. (https://github.com/floodlight/loxigen/pull/441)

commit d593d0135fc000a63fcd4faf840817778f2448d8
Merge: 09462b2 99c6d9d
Author: abat <abat@bigswitch.com>
Date:   Tue Dec 1 17:05:47 2015 -0800

    Merge into master from pull request #449:
    java: generate setters for unwriteable fields LOXI-76 (https://github.com/floodlight/loxigen/pull/449)

commit 99c6d9d999a65cbf3b1eb6e16c543451b5b56c2d
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Dec 1 16:43:43 2015 -0800

    Only generate virtual setters where necessary LOXI-76

    The previous commit would add virtual Exception-raising setters
    globally. This commit adds a method that specifically checks whether
    a setter is necessary.

    A setter must be generated if the field is writeable in this class
    or any super class. Fields can turn non-writeable in a subclass
    if a superclass data member is used as a discriminator.

commit 1c8f7eef0e2cb719b0d670a4b55c6dc7ce068fd0
Merge: 2268d5c 09462b2
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Dec 1 16:29:29 2015 -0800

    Merge remote-tracking branch 'upstream/master' into unwriteable-setters

commit 09462b29cd92c807e7c7776702efec6f26afadf6
Merge: 3cbb8c7 4d8392d
Author: abat <abat@bigswitch.com>
Date:   Mon Nov 30 12:26:36 2015 -0800

    Merge into master from pull request #448:
    Packet-in reason for reserved multicast packets. (https://github.com/floodlight/loxigen/pull/448)

commit 4d8392dd20c6a169f899546e49144bddd497147b
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Mon Nov 30 12:21:14 2015 -0800

    Packet-in reason for reserved multicast packets.

commit 3cbb8c7a915d9ce691fb7c3de06749c61cc54e4a
Merge: 0ba42d4 3850039
Author: abat <abat@bigswitch.com>
Date:   Fri Nov 20 09:23:51 2015 -0800

    Merge into master from pull request #447:
    Match: consistently hide Fields w/ broken prereqs LOXI-75 (https://github.com/floodlight/loxigen/pull/447)

commit 385003977cf417663f573ec41fba325cfbced40b
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Thu Nov 19 19:44:51 2015 -0800

    Match: consistently hide Fields w/ broken prereqs LOXI-75

    Previously, isExact(), isPartiallyMasked() and isFullyWildcarded()
    did not check whether the required prerequisites for a field
    had been set. get() and getMasked() did, leading to inconsistent
    results / NPEs.

    This makes all of the methods honor the prerequisite checks.
    It also adds a unit test checking the behavior.

commit 0ba42d48ae4714ea0022906e74819d1ed556c4a7
Merge: 56666f9 4c35527
Author: abat <abat@bigswitch.com>
Date:   Wed Nov 11 18:52:43 2015 -0800

    Merge into master from pull request #446:
    Modified EUI-64 format interface identifier utilities in IPv6Address LOXI-74 (https://github.com/floodlight/loxigen/pull/446)

commit 4c3552750bbed4a07cf591f57df4c118c4c24865
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Wed Nov 11 18:47:49 2015 -0800

    LOXI-74 More parentheses dressing...

commit 6cef30d77d31b31e36b3dd31bd3e0edd0ca0b8c2
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Wed Nov 11 18:36:22 2015 -0800

    LOXI-74 More parentheses

    Reference:
    https://github.com/floodlight/loxigen/pull/446#discussion-diff-44615571

commit 381983045ff2db675e15397780cc8dfa226f2b99
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Wed Nov 11 18:32:37 2015 -0800

    LOXI-74 Added parentheses as @andi-bigswitch suggested

    Reference:
    https://github.com/floodlight/loxigen/pull/446#discussion-diff-44615571

commit f0943e11036dc0173791487be3f8e48cc4a16661
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Tue Nov 10 20:24:58 2015 -0800

    LOXI-74 Nonnull annotation

commit f0d990ae7d7395f4d834de3247e624ac9816b83a
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Tue Nov 10 20:21:09 2015 -0800

    LOXI-74 Unit tests for the new Modified EUI-64 methods

commit 0785c92563fcf689d303b1c7120c5d81215211fd
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Tue Nov 10 19:22:10 2015 -0800

    LOXI-74 renamed isDerivedFrom() to isModifiedEui64Derived()

commit f3efa989e3e6a96caa312e4579e7247c3aade742
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Tue Nov 10 19:09:45 2015 -0800

    LOXI-74 IPv6AddressWithMask.LINK_LOCAL_NETWORK and .LINK_LOCAL_RESERVED

commit 310753a6682873ccf583964d91561bdf5b14e16b
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Tue Nov 10 18:38:41 2015 -0800

    LOXI-74 Added IPv6Address.of() to create MAC address derived IPv6Address

commit a05df970877e382a71cc19697ffdbe8a7f8dc602
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Tue Nov 10 17:18:30 2015 -0800

    LOXI-74 Added util to check if an IPv6 address is derived from the
    specified MAC address

commit 81091dea0998b24601af062db24cb5b8f04aba59
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Tue Nov 10 16:36:30 2015 -0800

    LOXI-74 Added util to convert MAC addresses to Modified EUI-64
    format interface identifiers

commit 56666f9ed43c8623901166eb659a44e9bd20ad89
Merge: 85698af 6a9203d
Author: abat <abat@bigswitch.com>
Date:   Fri Nov 6 16:03:43 2015 -0800

    Merge into master from pull request #445:
    Add link_up and link_down counters to ofp_bsn_port_counter. (https://github.com/floodlight/loxigen/pull/445)

commit 6a9203de1ad95bbf1ee0c755d6f5e4dc5d70e493
Author: Ken Chiang <ken.chiang@bigswitch.com>
Date:   Fri Nov 6 16:00:55 2015 -0800

    Add link_up and link_down counters to ofp_bsn_port_counter.

commit 85698af624ea341a4e7a1bd868c49f0d649c73a2
Merge: a34310f 3d367f3
Author: abat <abat@bigswitch.com>
Date:   Fri Nov 6 15:42:38 2015 -0800

    Merge into master from pull request #444:
    Status TLV. (https://github.com/floodlight/loxigen/pull/444)

commit 3d367f3de55b7715ceb628aebecbd13af9cdfd82
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Fri Nov 6 15:37:26 2015 -0800

    Status TLV.

commit a34310f77da4131fa1da882368ab78d524bc2efe
Merge: ce2f5b4 70a4ac2
Author: abat <abat@bigswitch.com>
Date:   Fri Nov 6 14:21:28 2015 -0800

    Merge into master from pull request #443:
    wireshark: rename to avoid conflict with upstream dissector (https://github.com/floodlight/loxigen/pull/443)

commit 70a4ac2c113982c66853050e9f31d88c56f7e1f2
Author: Rich Lane <rlane@bigswitch.com>
Date:   Fri Nov 6 14:11:56 2015 -0800

    wireshark: rename to avoid conflict with upstream dissector

    Newer versions of Wireshark crash (!) because of the name conflict.

commit ce2f5b46d369446ce05b4e893a834b98c2b5c5a8
Merge: fb90801 7ec7150
Author: abat <abat@bigswitch.com>
Date:   Fri Nov 6 09:44:20 2015 -0800

    Merge into master from pull request #442:
    Add use_packet_state tlv. (https://github.com/floodlight/loxigen/pull/442)

commit 7ec715088332371de515e6cb73fc1408c8c59541
Author: Wilson Ng <wilson.ng@bigswitch.com>
Date:   Wed Nov 4 16:09:07 2015 -0800

    Add use_packet_state tlv.

commit 7ba81736eae4bb96fd9599dcca288145b1e462f3
Author: Ken Chiang <ken.chiang@bigswitch.com>
Date:   Wed Oct 28 17:56:32 2015 -0700

    Add of_bsn_base_error and of_bsn_error.

commit fb90801d4d2e9ba5ba10803d2d0dd03665cd9988
Merge: b3b3cfd 1a3a98f
Author: abat <abat@bigswitch.com>
Date:   Tue Oct 27 14:13:50 2015 -0700

    Merge into master from pull request #440:
    IPAddress boolean and factory methods (https://github.com/floodlight/loxigen/pull/440)

commit 1a3a98fff73ce58097264d6652a2181877935174
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Fri Oct 23 18:01:18 2015 -0700

    Added factory method IPv4Address.of(int, int, int, int)

commit 536dda87a1be9df3dc5f20b92cb8f6abb3924b1f
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Thu Oct 22 17:16:29 2015 -0700

    Added IPAddress#isLinkLocal() to test for link local addresses

commit 2268d5cae414af47b0be4bd254106ebe2d1924f5
Author: Rich Lane <rlane@bigswitch.com>
Date:   Mon Oct 26 16:07:16 2015 -0700

    java: generate setters for unwriteable fields

    https://github.com/floodlight/loxigen/pull/438 ran into a problem when we tried
    to use a field as a discriminator when it was a normal data member in the
    superclass. The java compiler complained that we hadn't provided an
    implementation of the setter in the concrete class.

    This change fixes the problem by creating setters for unwriteable fields which
    throw an exception, like we do when the field isn't available in the OpenFlow
    version.

    This obviously adds the setters in more places than necessary. We could
    possibly optimize this by checking each ancestor class to see if the field
    changed writeability and only emit a setter in that special case.

commit b3b3cfd16d43bea9a59a40e185b58781ace14ad2
Merge: 8b8ac26 5bc9c8c
Author: abat <abat@bigswitch.com>
Date:   Mon Oct 26 10:31:43 2015 -0700

    Merge into master from pull request #427:
    Change toString() of OFMetadata (https://github.com/floodlight/loxigen/pull/427)

commit 88a5ea5e01d2f68994b83c86239f1c304d05823b
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Thu Oct 22 16:01:42 2015 -0700

    Added IPAddress#isLoopback() to test for loopback addresses

commit bbd1434a4ad9d69d1d2e75a52e66eaec61539069
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Thu Oct 22 14:53:55 2015 -0700

    Added IPAddress#isUnspecified() to test for wildcard addresses

commit 8b8ac26edf425e61e34ec4a2e05f6505034569e2
Merge: 4d76743 3c99cdb
Author: abat <abat@bigswitch.com>
Date:   Thu Oct 22 12:38:19 2015 -0700

    Merge into master from pull request #437:
    Added IPAddress#toInetAddress() convenience method (https://github.com/floodlight/loxigen/pull/437)

commit 3c99cdb2767001373decc7a3277a676d26aed74e
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Thu Oct 22 11:07:27 2015 -0700

    Implement IPAddress#toInetAddress() directly in subclasses as suggested
    by @andi-bigswitch

commit 79e06021411f96bdee9862342aab4b3985228036
Author: Ronald Li <ronald.li@bigswitch.com>
Date:   Wed Oct 21 16:29:04 2015 -0700

    Added IPAddress#toInetAddress() convenience method

commit 4d767431da6a92023a3db1c77f380451033fc7e0
Merge: 845949f c865b32
Author: abat <abat@bigswitch.com>
Date:   Mon Oct 19 13:39:25 2015 -0700

    Merge into master from pull request #435:
    add vxlan src ip lookup failure pktin reason (https://github.com/floodlight/loxigen/pull/435)

commit 845949f425dd6c341190c8c3d6bf9f307ab626f7
Merge: 6aa62c3 68835b2
Author: abat <abat@bigswitch.com>
Date:   Mon Oct 19 13:25:30 2015 -0700

    Merge into master from pull request #436:
    New TLV multicast_interface_id. (https://github.com/floodlight/loxigen/pull/436)

commit 68835b2a5709b62ef9a859adb21ee87049e1e241
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Mon Oct 19 11:12:23 2015 -0700

    New TLV multicast_interface_id.

commit c865b325c48174def2e26f215bb46cb0955fcf79
Author: Harshmeet Singh <harshmeet.singh@bigswitch.com>
Date:   Sun Oct 18 20:43:32 2015 -0700

    add vxlan src ip lookup failure pktin reason

commit 6aa62c3904f8a9d74642e401e173a656038acb53
Merge: 0e761f7 2f620ff
Author: abat <abat@bigswitch.com>
Date:   Fri Oct 16 14:18:28 2015 -0700

    Merge into master from pull request #434:
    Major oversight in test and typo (https://github.com/floodlight/loxigen/pull/434)

commit 2f620ff72f93476fb915931c61a37aeeec38fd79
Author: Sovietaced <Sovietaced@gmail.com>
Date:   Fri Oct 16 17:05:15 2015 -0400

    oops

commit 0e761f71aaccd4d4e41a49838b80575e4cf91157
Merge: e9ce4eb 285e38c
Author: abat <abat@bigswitch.com>
Date:   Fri Oct 16 03:00:38 2015 -0700

    Merge into master from pull request #432:
    Refactor MacAddress class to handle other string formats (https://github.com/floodlight/loxigen/pull/432)

commit e9ce4ebe1a9d86fbeb308c91cc5ad6fa8b30c95c
Merge: 952e8e5 4cd7376
Author: abat <abat@bigswitch.com>
Date:   Thu Oct 15 16:18:30 2015 -0700

    Merge into master from pull request #433:
    add nexthop_type_vxlan tlv for ecmp gentable (https://github.com/floodlight/loxigen/pull/433)

commit 4cd73764d45761b6ad0213c9d8b595b082bfd116
Author: Harshmeet Singh <harshmeet.singh@bigswitch.com>
Date:   Thu Oct 15 16:09:16 2015 -0700

    add nexthop_type_vxlan tlv for ecmp gentable

commit 285e38cec1c559adfc83f534b970fff8fe1b9626
Author: Sovietaced <Sovietaced@gmail.com>
Date:   Thu Oct 15 18:46:28 2015 -0400

    address comments

commit 13631ecf4787ac2b6357aae46240696f9b17d2a4
Author: Sovietaced <Sovietaced@gmail.com>
Date:   Thu Oct 15 02:30:01 2015 -0400

    fix compilation and update tests

commit 9797a402cad576329aa156b178321c88977e2991
Author: Sovietaced <Sovietaced@gmail.com>
Date:   Thu Oct 15 01:54:20 2015 -0400

    update MacAddress to take other formats of mac strings

commit 952e8e526d2ef773ebab8e684b288b06c2ec2f83
Merge: d2da0a8 d5e1855
Author: abat <abat@bigswitch.com>
Date:   Thu Oct 8 16:56:20 2015 -0700

    Merge into master from pull request #431:
    IGMP and PIM packet-in reasons. (https://github.com/floodlight/loxigen/pull/431)

commit d5e18559eb419da54127d16885cb7e87ac694330
Author: Kiran Poola <kiran.poola@bigswitch.com>
Date:   Thu Oct 8 05:30:58 2015 -0700

    IGMP and PIM packet-in reasons.

commit d2da0a89ad6bde3e6d6ef9080b210aebf7f9c996
Merge: 026a4ac f61e88b
Author: abat <abat@bigswitch.com>
Date:   Fri Oct 2 13:46:40 2015 -0700

    Merge into master from pull request #430:
    openflow_input: add storm control TLVs (https://github.com/floodlight/loxigen/pull/430)

commit f61e88b0c3bc4306534fd2f71e800691f4b01032
Author: Rich Lane <rlane@bigswitch.com>
Date:   Fri Oct 2 13:05:23 2015 -0700

    openflow_input: add storm control TLVs

commit 026a4ac3f7f874dbab74a4df2e2802524a4134a0
Merge: 0349f5d 2255996
Author: abat <abat@bigswitch.com>
Date:   Thu Oct 1 16:03:33 2015 -0700

    Merge into master from pull request #429:
    add vxlan tlvs (https://github.com/floodlight/loxigen/pull/429)

commit 2255996a6a7fc1ad8455152c87736ec7cde0a958
Author: Harshmeet Singh <harshmeet.singh@bigswitch.com>
Date:   Thu Oct 1 15:23:14 2015 -0700

    change from port_vxlan_flags to port_vxlan_mode

commit 3bf95229722f7a91258b89aa90c8856171d30627
Author: Harshmeet Singh <harshmeet.singh@bigswitch.com>
Date:   Thu Oct 1 11:44:28 2015 -0700

    add vxlan tlvs

commit 0349f5dc63091b98b7c11b883b43a0bc55f50cc4
Merge: c4e0b43 3ed8036
Author: abat <abat@bigswitch.com>
Date:   Thu Oct 1 10:29:40 2015 -0700

    Merge into master from pull request #428:
    openflow_input: add decap TLV (https://github.com/floodlight/loxigen/pull/428)

commit 3ed80360df641040d681aa6cec67ba1ed38abb30
Author: Rich Lane <rlane@bigswitch.com>
Date:   Tue Sep 29 12:49:59 2015 -0700

    openflow_input: add decap TLV

commit 5bc9c8cc8570b752b20e2f43915c6bc027a2de6e
Author: Ryan Izard <ryan.izard@bigswitch.com>
Date:   Mon Sep 28 08:30:15 2015 -0400

    Fix toString() of OFMetadata to not include the string 'Metadata:' before the value. No other type does this to my knowledge. We should probably remove it to be consistent with e.g. MacAddress, which is a hex string 'XX:XX:XX:XX:XX:XX', not 'MAC Address: XX:XX:XX:XX:XX:XX'.

commit c4e0b4396f3fc4598e537e3ce85c5159fe9bc213
Merge: e16f4a7 72c59ea
Author: abat <abat@bigswitch.com>
Date:   Mon Sep 21 16:05:21 2015 -0700

    Merge into master from pull request #422:
    openflowj: update to netty 4 (https://github.com/floodlight/loxigen/pull/422)

commit 72c59ea65289d8f55e4c6d051405c48ff51f471b
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Mon Sep 21 15:45:38 2015 -0700

    java/pom.xml: Update netty to 4.0.31

commit 9ba8462d1cd36a2f94ea5a5fe67060296f4fc231
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Tue Sep 8 04:21:36 2015 -0700

    java_gen: pom.xml - update version to 2.0.0 - SNAPSHOT

commit 69d624dec2f42a198dd100d1c92bc8f0f3c6b59d
Author: Andreas Wundsam <andreas.wundsam@bigswitch.com>
Date:   Thu Feb 6 18:12:12 2014 -0800

    openflowj: update to netty 4

    This commit updates openflowj to use netty 4.0.30. Also adapts
    to the API changes in netty4:

     - package root renamed from org.jboss.netty to io.netty
     - ChannelBuffer renamed to ByteBuf
     - ChannelBuffers renamed to Unpooled
     - ChannelBuffers.dynamicBuffer() renamed to Unpooled.buffer()

commit e16f4a7025feba2cd7c6508e38258b096db58f53
Merge: 3030a39 50c5e1e
Author: abat <abat@bigswitch.com>
Date:   Mon Sep 21 12:35:40 2015 -0700

    Merge into master from pull request #424:
    add VxLAN Network Identifier type to the Openflow library (https://github.com/floodlight/loxigen/pull/424)

commit 50c5e1e817711c9820798391b712612a31128419
Author: Sarath Kumar <Sarath Kumar>
Date:   Fri Sep 18 14:49:35 2015 -0700

    vxlan_ni updates in java_type.py file

commit b4060e42edcb879467dbdc594c8c6502812a35f4
Author: Sarath Kumar <Sarath Kumar>
Date:   Fri Sep 18 13:57:56 2015 -0700

    changed length to 4
    updated type in MatchField

commit 962cd5c8f43ea66e478873be91ff7d4a2b1fcc48
Author: Sarath Kumar <Sarath Kumar>
Date:   Thu Sep 17 18:32:55 2015 -0700

    add VxLAN Network Identifier type to the Openflow library

commit 3030a39d5a52f198ef997d6b1e0f41a33e48511b
Merge: 4776c8a 0f9126c
Author: abat <abat@bigswitch.com>
Date:   Tue Sep 15 16:26:40 2015 -0700

    Merge into master from pull request #420:
    Added static function to generate macAddress from IPv4 Multicast address (https://github.com/floodlight/loxigen/pull/420)

commit 0f9126c1da22fc8d5003e46fb5535127d8f2abf1
Merge: 5cd56cb 4776c8a
Author: Mary Manohar <mary.manohar@bigswitch.com>
Date:   Tue Sep 15 16:14:35 2015 -0700

    Merge remote-tracking branch 'bigswitch/master' into my-loxigen

commit 5cd56cb61cb5ce8e727bb67e3c09d68c59a8c421
Author: Mary Manohar <mary.manohar@bigswitch.com>
Date:   Tue Sep 15 16:13:28 2015 -0700

    Fixed code review comments

commit fbc111d2804fce865b1a010dfaa5ca1685bc7a22
Author: Mary Manohar <mary.manohar@bigswitch.com>
Date:   Wed Sep 9 17:01:28 2015 -0700

    Fixed compilation error

commit 989491e689e464a06852bd9193eef58110135429
Author: Mary Manohar <mary.manohar@bigswitch.com>
Date:   Wed Sep 9 16:51:26 2015 -0700

    Fixed compilation warning

commit faf22f589f27b20335175699f1d226bef648f970
Author: Mary Manohar <mary.manohar@bigswitch.com>
Date:   Wed Sep 9 16:38:20 2015 -0700

    Fixed review comments and added JUnit testcases

commit 4776c8a61ae3bb101f06453045ee7eccef86b71e
Merge: 6085236 0978325
Author: abat <abat@bigswitch.com>
Date:   Thu Sep 3 17:47:40 2015 -0700

    Merge into master from pull request #421:
    openflow_input: add message of_bsn_vlan_counter_clear (https://github.com/floodlight/loxigen/pull/421)

commit 09783252e8937a9c28e5cdad514db3682859cf32
Author: Rich Lane <rlane@bigswitch.com>
Date:   Thu Sep 3 17:39:25 2015 -0700

    openflow_input: add message of_bsn_vlan_counter_clear

    This message clears the stats reported by the extension for the given VLAN.

commit c90917117a8df05131f67a8ed693e081a7ce466c
Author: Mary Manohar <mary.manohar@bigswitch.com>
Date:   Fri Aug 28 15:05:12 2015 -0700

    Added static function to generate macAddress from IPv4 Multicast address.

Fix optical port description to align to standard

See tx_pwr_min, tx_pwr_max type

/* Optical port description property. */
struct ofp_port_desc_prop_optical {
uint16_t type; /* OFPPDPT_3OPTICAL. */
uint16_t length; /* Length in bytes of this property. */
uint8_t pad[4]; /* Align to 64 bits. */
uint32_t supported; /* Features supported by the port. */
uint32_t tx_min_freq_lmda; /* Minimum TX Frequency/Wavelength */
uint32_t tx_max_freq_lmda; /* Maximum TX Frequency/Wavelength */
uint32_t tx_grid_freq_lmda; /* TX Grid Spacing Frequency/Wavelength */
uint32_t rx_min_freq_lmda; /* Minimum RX Frequency/Wavelength */
uint32_t rx_max_freq_lmda; /* Maximum RX Frequency/Wavelength */
uint32_t rx_grid_freq_lmda; /* RX Grid Spacing Frequency/Wavelength */
uint16_t tx_pwr_min; /* Minimum TX power */
uint16_t tx_pwr_max; /* Maximum TX power */
};
OFP_ASSERT(sizeof(struct ofp_port_desc_prop_optical) == 40);

Was-ChangeId: I1c1418b9d0acd8bf7d21fa6d1ea5d7af0598e149
Change-Id: Id69c8597eb4564653c56cdc90f2dcec50afbdd25
