diff --git a/cpp/dmi/hw.pb.h b/cpp/dmi/hw.pb.h
index b1b3127..ebe9767 100644
--- a/cpp/dmi/hw.pb.h
+++ b/cpp/dmi/hw.pb.h
@@ -1492,6 +1492,12 @@
   ::dmi::PortComponentAttributes_Protocol protocol() const;
   void set_protocol(::dmi::PortComponentAttributes_Protocol value);
 
+  // bool speed_autonegotiation = 7;
+  void clear_speed_autonegotiation();
+  static const int kSpeedAutonegotiationFieldNumber = 7;
+  bool speed_autonegotiation() const;
+  void set_speed_autonegotiation(bool value);
+
   // @@protoc_insertion_point(class_scope:dmi.PortComponentAttributes)
  private:
   class HasBitSetters;
@@ -1503,6 +1509,7 @@
   int connector_type_;
   int speed_;
   int protocol_;
+  bool speed_autonegotiation_;
   mutable ::google::protobuf::internal::CachedSize _cached_size_;
   friend struct ::TableStruct_dmi_2fhw_2eproto;
 };
@@ -3778,6 +3785,20 @@
   // @@protoc_insertion_point(field_set_allocated:dmi.PortComponentAttributes.pon_id_config)
 }
 
+// bool speed_autonegotiation = 7;
+inline void PortComponentAttributes::clear_speed_autonegotiation() {
+  speed_autonegotiation_ = false;
+}
+inline bool PortComponentAttributes::speed_autonegotiation() const {
+  // @@protoc_insertion_point(field_get:dmi.PortComponentAttributes.speed_autonegotiation)
+  return speed_autonegotiation_;
+}
+inline void PortComponentAttributes::set_speed_autonegotiation(bool value) {
+  
+  speed_autonegotiation_ = value;
+  // @@protoc_insertion_point(field_set:dmi.PortComponentAttributes.speed_autonegotiation)
+}
+
 // -------------------------------------------------------------------
 
 // PortComponentChangeAttributes
