diff --git a/openflow_input/bsn_lldp b/openflow_input/bsn_lldp
deleted file mode 100644
index c3726ea..0000000
--- a/openflow_input/bsn_lldp
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2013, Big Switch Networks, Inc.
-//
-// LoxiGen is licensed under the Eclipse Public License,
-// version 1.0 (EPL), with the following special exception:
-//
-// LOXI Exception
-//
-// As a special exception to the terms of the EPL, you may
-// distribute libraries generated by LoxiGen (LoxiGen Libraries)
-// under the terms of your choice, provided that copyright and
-// licensing notices generated by LoxiGen are not altered or removed
-// from the LoxiGen Libraries and the notice provided below is (i)
-// included in the LoxiGen Libraries, if distributed in source code
-// form and (ii) included in any documentation for the LoxiGen
-// Libraries, if distributed in binary form.
-//
-// Notice: "Copyright 2013, Big Switch Networks, Inc.
-// This library was generated by the LoxiGen Compiler."
-//
-// You may not use this file except in compliance with the EPL or
-// LOXI Exception. You may obtain a copy of the EPL at:
-//
-// http://www.eclipse.org/legal/epl-v10.html
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an "AS
-// IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
-// express or implied. See the EPL for the specific language
-// governing permissions and limitations under the EPL.
-
-#version any
-
-struct of_bsn_set_port_lldp_tx_info_request : of_bsn_header {
-    uint8_t version;
-    uint8_t type == 4;
-    uint16_t length;
-    uint32_t xid;
-    uint32_t experimenter == 0x5c16c7;
-    uint32_t subtype == 31;
-    uint32_t lldp_tx_interval_ms;
-    of_port_no_t port_no;
-    of_octets_t lldp_payload;
-};
-
-struct of_bsn_set_port_lldp_tx_info_reply : of_bsn_header {
-    uint8_t version;
-    uint8_t type == 4;
-    uint16_t length;
-    uint32_t xid;
-    uint32_t experimenter == 0x5c16c7;
-    uint32_t subtype == 32;
-    uint32_t status; // 0 means success
-};
-
-struct of_bsn_set_port_lldp_expected_rx_info_request : of_bsn_header {
-    uint8_t version;
-    uint8_t type == 4;
-    uint16_t length;
-    uint32_t xid;
-    uint32_t experimenter == 0x5c16c7;
-    uint32_t subtype == 33;
-    uint32_t lldp_timeout_ms;
-    of_port_no_t port_no;
-    of_octets_t lldp_payload;
-};
-
-struct of_bsn_set_port_lldp_expected_rx_info_reply : of_bsn_header {
-    uint8_t version;
-    uint8_t type == 4;
-    uint16_t length;
-    uint32_t xid;
-    uint32_t experimenter == 0x5c16c7;
-    uint32_t subtype == 34;
-    uint32_t status; // 0 means success
-};
-
-struct of_bsn_lldp_timedout_notif : of_bsn_header {
-    uint8_t version;
-    uint8_t type == 4;
-    uint16_t length;
-    uint32_t xid;
-    uint32_t experimenter == 0x5c16c7;
-    uint32_t subtype == 35;
-    of_port_no_t port_no;
-};
