diff --git a/c_gen/templates/loci_show.h b/c_gen/templates/loci_show.h
index 4179b13..aff632f 100644
--- a/c_gen/templates/loci_show.h
+++ b/c_gen/templates/loci_show.h
@@ -220,6 +220,7 @@
 #define LOCI_SHOW_u32_role(writer, cookie, val) LOCI_SHOW_x32(writer, cookie, val)
 #define LOCI_SHOW_u16_total_len(writer, cookie, val) LOCI_SHOW_u16(writer, cookie, val)
 #define LOCI_SHOW_port_no_port_no(writer, cookie, val) LOCI_SHOW_port_no(writer, cookie, val)
+#define LOCI_SHOW_port_no_loopback_port_no(writer, cookie, val) LOCI_SHOW_port_no(writer, cookie, val)
 #define LOCI_SHOW_mac_hw_addr(writer, cookie, val) LOCI_SHOW_mac(writer, cookie, val)
 #define LOCI_SHOW_u32_config(writer, cookie, val) LOCI_SHOW_x32(writer, cookie, val)
 #define LOCI_SHOW_u32_advertise(writer, cookie, val) LOCI_SHOW_x32(writer, cookie, val)
diff --git a/openflow_input/bsn_vport b/openflow_input/bsn_vport
index 82d9d33..9007bf2 100644
--- a/openflow_input/bsn_vport
+++ b/openflow_input/bsn_vport
@@ -79,16 +79,17 @@
     uint16_t type == 1;
     uint16_t length;
     enum ofp_bsn_vport_l2gre_flags flags;
-    of_port_no_t port_no;       /* OF port number of parent */
-    of_mac_addr_t local_mac;    /* Local MAC */
-    of_mac_addr_t nh_mac;       /* Next Hop MAC */
-    of_ipv4_t src_ip;           /* Source IP */
-    of_ipv4_t dst_ip;           /* Destination IP */
+    of_port_no_t port_no;           /* OF port number of parent */
+    of_port_no_t loopback_port_no;  /* OF port number of loopback */
+    of_mac_addr_t local_mac;        /* Local MAC */
+    of_mac_addr_t nh_mac;           /* Next Hop MAC */
+    of_ipv4_t src_ip;               /* Source IP */
+    of_ipv4_t dst_ip;               /* Destination IP */
     uint8_t dscp;
     uint8_t ttl;
     pad(2);
-    uint32_t vpn;               /* VPN ID (for GRE Key) */
-    of_port_name_t if_name;     /* Virtual Interface Name */
+    uint32_t vpn;                   /* VPN ID (for GRE Key) */
+    of_port_name_t if_name;         /* Virtual Interface Name */
 };
 
 
diff --git a/test_data/of13/bsn_virtual_port_create_request__l2gre.data b/test_data/of13/bsn_virtual_port_create_request__l2gre.data
index b5fd5fa..9d90293 100644
--- a/test_data/of13/bsn_virtual_port_create_request__l2gre.data
+++ b/test_data/of13/bsn_virtual_port_create_request__l2gre.data
@@ -1,13 +1,14 @@
 -- binary
 04 04               # version, type
-00 48               # len
+00 4c               # len
 01 02 03 04         # xid
 00 5c 16 c7         # experimenter
 00 00 00 0f         # subtype
 00 01               # vport type
-00 38               # vport len
+00 3c               # vport len
 00 00 00 03         # vport flags
-00 00 00 01         # vport port no
+00 00 00 01         # parent port no
+00 00 00 02         # loopback port no
 0a 0b 0c 0d 0e 0f   # local mac
 01 02 03 04 05 06   # next hop mac
 c0 00 00 02         # src ip
@@ -20,6 +21,7 @@
 xid=0x01020304, vport=ofp.bsn_vport_l2gre(
 flags=ofp.OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID | ofp.OF_BSN_VPORT_L2GRE_DSCP_ASSIGN,
 port_no=1,
+loopback_port_no=2,
 local_mac=[0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f],
 nh_mac=[0x01, 0x02, 0x03, 0x04, 0x05, 0x06],
 src_ip=0xc0000002,
@@ -42,6 +44,7 @@
             OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID |
             OF_BSN_VPORT_L2GRE_DSCP_ASSIGN);
         of_bsn_vport_l2gre_port_no_set(vport, 1);
+        of_bsn_vport_l2gre_loopback_port_no_set(vport, 2);
         of_bsn_vport_l2gre_local_mac_set(vport, local_mac);
         of_bsn_vport_l2gre_nh_mac_set(vport, nh_mac);
         of_bsn_vport_l2gre_src_ip_set(vport, 0xc0000002);
@@ -65,6 +68,7 @@
                 )
             )
             .setPortNo(OFPort.of(1))
+            .setLoopbackPortNo(OFPort.of(2))
             .setLocalMac(MacAddress.of("0a:0b:0c:0d:0e:0f"))
             .setNhMac(MacAddress.of("01:02:03:04:05:06"))
             .setSrcIp(IPv4Address.of("192.0.0.2"))
