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