@Override
 public void funnel(OFPortDescVer12 message, PrimitiveSink sink) {
   message.portNo.putTo(sink);
   // skip pad (4 bytes)
   message.hwAddr.putTo(sink);
   // skip pad (2 bytes)
   sink.putUnencodedChars(message.name);
   OFPortConfigSerializerVer12.putTo(message.config, sink);
   OFPortStateSerializerVer12.putTo(message.state, sink);
   OFPortFeaturesSerializerVer12.putTo(message.curr, sink);
   OFPortFeaturesSerializerVer12.putTo(message.advertised, sink);
   OFPortFeaturesSerializerVer12.putTo(message.supported, sink);
   OFPortFeaturesSerializerVer12.putTo(message.peer, sink);
   sink.putLong(message.currSpeed);
   sink.putLong(message.maxSpeed);
 }