VOL-3202: Include port capability in the port create message.

Change-Id: I7d8fbafb2db2834def1903f13a1af25eb57500e3
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index a5b131d..2cda872 100644
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -289,12 +289,23 @@
 			}
 		}
 	}
+	capacity := uint32(of.OfpPortFeatures_OFPPF_1GB_FD | of.OfpPortFeatures_OFPPF_FIBER)
 	//    Now create  Port
 	port := &voltha.Port{
 		PortNo:     portNum,
 		Label:      label,
 		Type:       portType,
 		OperStatus: operStatus,
+		OfpPort: &of.OfpPort{
+			HwAddr:     macAddressToUint32Array(dh.device.MacAddress),
+			Config:     0,
+			State:      uint32(of.OfpPortState_OFPPS_LIVE),
+			Curr:       capacity,
+			Advertised: capacity,
+			Peer:       capacity,
+			CurrSpeed:  uint32(of.OfpPortFeatures_OFPPF_1GB_FD),
+			MaxSpeed:   uint32(of.OfpPortFeatures_OFPPF_1GB_FD),
+		},
 	}
 	logger.Debugw("sending-port-update-to-core", log.Fields{"port": port})
 	// Synchronous call to update device - this method is run in its own go routine
@@ -848,27 +859,6 @@
 	}, nil
 }
 
-//GetOfpPortInfo Get Ofp port information
-func (dh *DeviceHandler) GetOfpPortInfo(device *voltha.Device, portNo int64) (*ic.PortCapability, error) {
-	capacity := uint32(of.OfpPortFeatures_OFPPF_1GB_FD | of.OfpPortFeatures_OFPPF_FIBER)
-	return &ic.PortCapability{
-		Port: &voltha.LogicalPort{
-			OfpPort: &of.OfpPort{
-				HwAddr:     macAddressToUint32Array(dh.device.MacAddress),
-				Config:     0,
-				State:      uint32(of.OfpPortState_OFPPS_LIVE),
-				Curr:       capacity,
-				Advertised: capacity,
-				Peer:       capacity,
-				CurrSpeed:  uint32(of.OfpPortFeatures_OFPPF_1GB_FD),
-				MaxSpeed:   uint32(of.OfpPortFeatures_OFPPF_1GB_FD),
-			},
-			DeviceId:     dh.device.Id,
-			DevicePortNo: uint32(portNo),
-		},
-	}, nil
-}
-
 func (dh *DeviceHandler) omciIndication(omciInd *oop.OmciIndication) error {
 	logger.Debugw("omci-indication", log.Fields{"intfID": omciInd.IntfId, "onuID": omciInd.OnuId, "device-id": dh.device.Id})
 	var deviceType string
diff --git a/internal/pkg/core/device_handler_test.go b/internal/pkg/core/device_handler_test.go
index 53641fa..531c27b 100644
--- a/internal/pkg/core/device_handler_test.go
+++ b/internal/pkg/core/device_handler_test.go
@@ -1022,39 +1022,6 @@
 	}
 }
 
-func TestDeviceHandler_GetOfpPortInfo(t *testing.T) {
-	dh1 := newMockDeviceHandler()
-	dh2 := negativeDeviceHandler()
-	type args struct {
-		device *voltha.Device
-		portNo int64
-	}
-	tests := []struct {
-		name          string
-		devicehandler *DeviceHandler
-		args          args
-		wantErr       bool
-	}{
-		{"GetOfpPortInfo-1", dh1, args{device: dh1.device, portNo: 1}, false},
-		{"GetOfpPortInfo-2", dh2, args{device: dh2.device, portNo: 1}, false},
-		{"GetOfpPortInfo-3", dh1, args{device: dh1.device, portNo: 0}, false},
-		{"GetOfpPortInfo-4", dh2, args{device: dh2.device, portNo: 0}, false},
-		{"GetOfpPortInfo-5", dh1, args{device: &voltha.Device{}, portNo: 1}, false},
-		{"GetOfpPortInfo-6", dh2, args{device: &voltha.Device{}, portNo: 0}, false},
-		// TODO: Add test cases.
-	}
-	for _, tt := range tests {
-		t.Run(tt.name, func(t *testing.T) {
-			dh := tt.devicehandler
-			_, err := dh.GetOfpPortInfo(tt.args.device, tt.args.portNo)
-			if (err != nil) != tt.wantErr {
-				t.Errorf("DeviceHandler.GetOfpPortInfo() error = %v, wantErr %v", err, tt.wantErr)
-				return
-			}
-		})
-	}
-}
-
 func TestDeviceHandler_onuDiscIndication(t *testing.T) {
 
 	dh1 := newMockDeviceHandler()
diff --git a/internal/pkg/core/openolt.go b/internal/pkg/core/openolt.go
index 3704945..4a25dba 100644
--- a/internal/pkg/core/openolt.go
+++ b/internal/pkg/core/openolt.go
@@ -161,15 +161,6 @@
 	return nil, olterrors.NewErrNotFound("device-handler", log.Fields{"device-id": device.Id}, nil)
 }
 
-//Get_ofp_port_info returns OFP port information for the given device
-func (oo *OpenOLT) Get_ofp_port_info(device *voltha.Device, portNo int64) (*ic.PortCapability, error) {
-	logger.Infow("Get_ofp_port_info", log.Fields{"deviceId": device.Id})
-	if handler := oo.getDeviceHandler(device.Id); handler != nil {
-		return handler.GetOfpPortInfo(device, portNo)
-	}
-	return nil, olterrors.NewErrNotFound("device-handler", log.Fields{"device-id": device.Id}, nil)
-}
-
 //Process_inter_adapter_message sends messages to a target device (between adapters)
 func (oo *OpenOLT) Process_inter_adapter_message(msg *ic.InterAdapterMessage) error {
 	logger.Debugw("Process_inter_adapter_message", log.Fields{"msgId": msg.Header.Id})
diff --git a/internal/pkg/core/openolt_test.go b/internal/pkg/core/openolt_test.go
index 323ec8c..22a61c2 100644
--- a/internal/pkg/core/openolt_test.go
+++ b/internal/pkg/core/openolt_test.go
@@ -455,48 +455,6 @@
 	}
 }
 
-func TestOpenOLT_Get_ofp_port_info(t *testing.T) {
-	type args struct {
-		device *voltha.Device
-		portNo int64
-	}
-	tests := []struct {
-		name    string
-		fields  *fields
-		args    args
-		want    *ic.PortCapability
-		wantErr error
-	}{
-		{"get_ofp_port_info-1", mockOlt(), args{mockDevice(), 1}, &ic.PortCapability{
-			Port: &voltha.LogicalPort{
-				DeviceId:     "olt",
-				DevicePortNo: uint32(1),
-				OfpPort: &openflow_13.OfpPort{
-					HwAddr:     []uint32{1, 2, 3, 4, 5, 6},
-					State:      uint32(4),
-					Curr:       uint32(4128),
-					Advertised: uint32(4128),
-					Peer:       uint32(4128),
-					CurrSpeed:  uint32(32),
-					MaxSpeed:   uint32(32),
-				},
-			},
-		}, nil},
-		{"get_ofp_port_info-2", &fields{}, args{mockDevice(), 1}, nil,
-			olterrors.NewErrNotFound("device-handler", log.Fields{"device-id": "olt"}, nil)},
-	}
-	for _, tt := range tests {
-		t.Run(tt.name, func(t *testing.T) {
-			oo := testOltObject(tt.fields)
-			got, err := oo.Get_ofp_port_info(tt.args.device, tt.args.portNo)
-			if !reflect.DeepEqual(err, tt.wantErr) || !reflect.DeepEqual(got, tt.want) {
-				t.Errorf("Get_ofp_port_info() got = %v want = %v error = %v, wantErr = %v",
-					got, tt.want, err, tt.wantErr)
-			}
-		})
-	}
-}
-
 func TestOpenOLT_Health(t *testing.T) {
 	tests := []struct {
 		name    string