Adding support for OLT side metadata field

Due to historic reasons, ONOS injects a metadata match field into one
of the downstream unicats flow rules, which was not yet handled by voltha.
That is fixed and tested now.

Change-Id: Ic8a47de515fa5837a70941be22da9e2d6539f614
diff --git a/cli/main.py b/cli/main.py
index fa778a1..12a157f 100755
--- a/cli/main.py
+++ b/cli/main.py
@@ -498,7 +498,8 @@
                 priority=500,
                 match_fields=[
                     in_port(nni_port_no),
-                    vlan_vid(4096 + 1000)
+                    vlan_vid(4096 + 1000),
+                    metadata(40)  # here to mimic an ONOS artifact
                 ],
                 actions=[pop_vlan()],
                 next_table_id=1
diff --git a/cli/utils.py b/cli/utils.py
index 0d677d1..7ea9c77 100644
--- a/cli/utils.py
+++ b/cli/utils.py
@@ -89,6 +89,7 @@
     'UDP_DST': lambda f: (107, 'udp_dst', str(f['udp_dst'])),
     'TCP_SRC': lambda f: (108, 'tcp_src', str(f['tcp_src'])),
     'TCP_DST': lambda f: (109, 'tcp_dst', str(f['tcp_dst'])),
+    'METADATA': lambda f: (110, 'metadata', str(f['table_metadata'])),
 }