Implement Silicom card features #1

Merged
DataHoarder merged 12 commits from implement-silicom-card into master 2021-10-28 05:16:53 +00:00
9 changed files with 69 additions and 69 deletions
Showing only changes of commit 561bf142aa - Show all commits

View file

@ -12232,7 +12232,7 @@ fm_status fm10000SetPortState( fm_int sw,
portExt->eventInfo.info.admin.submode = submode; portExt->eventInfo.info.admin.submode = submode;
eventInfo.smType = portExt->smType; eventInfo.smType = portExt->smType;
eventInfo.srcSmType = 0; eventInfo.srcSmType = 0;
/* map the desired mode to the port-level state machine event ID */ /* map the desired mode to the port-level state machine event ID */
switch ( mode ) switch ( mode )

View file

@ -2549,10 +2549,10 @@ ABORT:
*****************************************************************************/ *****************************************************************************/
static void FreeStatEntry(void *ptr) static void FreeStatEntry(void *ptr)
{ {
if (ptr != NULL) if (ptr != NULL)
{ {
fmFree(ptr); fmFree(ptr);
} }
} /* end FreeStatEntry */ } /* end FreeStatEntry */
@ -2572,10 +2572,10 @@ static void FreeStatEntry(void *ptr)
*****************************************************************************/ *****************************************************************************/
static void FreeSchedEntryInfo(void *ptr) static void FreeSchedEntryInfo(void *ptr)
{ {
if (ptr != NULL) if (ptr != NULL)
{ {
fmFree(ptr); fmFree(ptr);
} }
} /* end FreeSchedEntryInfo */ } /* end FreeSchedEntryInfo */

View file

@ -578,17 +578,17 @@ fm_status fm10000SerDesStopErrorValidationTimer(fm_smEventInfo *eventInfo,
void *userInfo) void *userInfo)
{ {
fm10000_lane *pLaneExt; fm10000_lane *pLaneExt;
fm_int serDes; fm_int serDes;
FM_NOT_USED(eventInfo); FM_NOT_USED(eventInfo);
pLaneExt = ((fm10000_serDesSmEventInfo *)userInfo)->laneExt; pLaneExt = ((fm10000_serDesSmEventInfo *)userInfo)->laneExt;
serDes = pLaneExt->serDes; serDes = pLaneExt->serDes;
FM_LOG_DEBUG(FM_LOG_CAT_SERDES, FM_LOG_DEBUG(FM_LOG_CAT_SERDES,
"SerDes %d Stop Error Validation Timer\n", "SerDes %d Stop Error Validation Timer\n",
serDes); serDes);
return fmStopTimer( pLaneExt->timerHandleErrorValidation ); return fmStopTimer( pLaneExt->timerHandleErrorValidation );
} }

View file

@ -6004,7 +6004,7 @@ fm_status fm10000GetVNRemoteAddressList(fm_int sw,
fm_customTreeIterator iter; fm_customTreeIterator iter;
fm10000_vnRemoteAddress *addrKey; fm10000_vnRemoteAddress *addrKey;
fm10000_vnRemoteAddress *addrRec; fm10000_vnRemoteAddress *addrRec;
fm_int i; fm_int i;
FM_LOG_ENTRY( FM_LOG_CAT_VN, FM_LOG_ENTRY( FM_LOG_CAT_VN,
"sw = %d, vn = %p, maxAddresses = %d, numAddresses = %p, " "sw = %d, vn = %p, maxAddresses = %d, numAddresses = %p, "
@ -6253,7 +6253,7 @@ fm_status fm10000GetVNRemoteAddressMaskList(fm_int sw,
fm_customTreeIterator iter; fm_customTreeIterator iter;
fm10000_vnRemoteAddressMask *ruleKey; fm10000_vnRemoteAddressMask *ruleKey;
fm10000_vnRemoteAddressMask *addressMask; fm10000_vnRemoteAddressMask *addressMask;
fm_int i; fm_int i;
FM_LOG_ENTRY( FM_LOG_CAT_VN, FM_LOG_ENTRY( FM_LOG_CAT_VN,
"sw = %d, vn = %p, maxAddrMasks = %d, numAddrMasks = %p, " "sw = %d, vn = %p, maxAddrMasks = %d, numAddrMasks = %p, "
@ -6724,7 +6724,7 @@ fm_status fm10000GetVNConfiguration(fm_int sw, fm_vnConfiguration *config)
FM_LOG_ENTRY(FM_LOG_CAT_VN, "sw = %d, config = %p\n", sw, (void *) config); FM_LOG_ENTRY(FM_LOG_CAT_VN, "sw = %d, config = %p\n", sw, (void *) config);
switchExt = GET_SWITCH_EXT(sw); switchExt = GET_SWITCH_EXT(sw);
config->outerTTL = switchExt->vnOuterTTL; config->outerTTL = switchExt->vnOuterTTL;
config->deepInspectionCfgIndex = switchExt->vnDeepInspectionCfgIndex; config->deepInspectionCfgIndex = switchExt->vnDeepInspectionCfgIndex;
FM_CLEAR(chksumCfg); FM_CLEAR(chksumCfg);
@ -7194,7 +7194,7 @@ fm_status fm10000GetVNLocalPortList(fm_int sw,
fm10000_virtualNetwork *vnExt; fm10000_virtualNetwork *vnExt;
fm_mcastGroupListener listener; fm_mcastGroupListener listener;
fm_mcastGroupListener prevListener; fm_mcastGroupListener prevListener;
fm_int i; fm_int i;
FM_LOG_ENTRY( FM_LOG_CAT_VN, FM_LOG_ENTRY( FM_LOG_CAT_VN,
"sw = %d, vn = %p, maxPorts = %d, numPorts = %p, " "sw = %d, vn = %p, maxPorts = %d, numPorts = %p, "
@ -7215,11 +7215,11 @@ fm_status fm10000GetVNLocalPortList(fm_int sw,
{ {
if (listener.listenerType == FM_MCAST_GROUP_LISTENER_PORT_VLAN) if (listener.listenerType == FM_MCAST_GROUP_LISTENER_PORT_VLAN)
{ {
if (i >= maxPorts) if (i >= maxPorts)
{ {
status = FM_ERR_BUFFER_FULL; status = FM_ERR_BUFFER_FULL;
break; break;
} }
portList[i++] = listener.info.portVlanListener.port; portList[i++] = listener.info.portVlanListener.port;
} }
@ -7297,7 +7297,7 @@ fm_status fm10000GetVNLocalPortFirst(fm_int sw,
if (listener.listenerType == FM_MCAST_GROUP_LISTENER_PORT_VLAN) if (listener.listenerType == FM_MCAST_GROUP_LISTENER_PORT_VLAN)
{ {
*port = listener.info.portVlanListener.port; *port = listener.info.portVlanListener.port;
break; break;
} }
status = fmGetMcastGroupListenerNextV2(sw, status = fmGetMcastGroupListenerNextV2(sw,
@ -7370,7 +7370,7 @@ fm_status fm10000GetVNLocalPortNext(fm_int sw,
if (listener.listenerType == FM_MCAST_GROUP_LISTENER_PORT_VLAN) if (listener.listenerType == FM_MCAST_GROUP_LISTENER_PORT_VLAN)
{ {
*port = listener.info.portVlanListener.port; *port = listener.info.portVlanListener.port;
break; break;
} }
} }
@ -7635,7 +7635,7 @@ fm_status fm10000GetVNVsiList(fm_int sw,
{ {
fm_status status; fm_status status;
fm10000_switch *switchExt; fm10000_switch *switchExt;
fm_int vsi; fm_int vsi;
fm_int i; fm_int i;
FM_LOG_ENTRY( FM_LOG_CAT_VN, FM_LOG_ENTRY( FM_LOG_CAT_VN,
@ -7644,18 +7644,18 @@ fm_status fm10000GetVNVsiList(fm_int sw,
status = FM_OK; status = FM_OK;
switchExt = GET_SWITCH_EXT(sw); switchExt = GET_SWITCH_EXT(sw);
i = 0; i = 0;
for (vsi = 0; vsi < FM10000_TE_VNI_ENTRIES_0; vsi++) for (vsi = 0; vsi < FM10000_TE_VNI_ENTRIES_0; vsi++)
{ {
if ( (switchExt->vnVsi[vsi] != NULL) if ( (switchExt->vnVsi[vsi] != NULL)
&& (switchExt->vnVsi[vsi]->vsId == vni) ) && (switchExt->vnVsi[vsi]->vsId == vni) )
{ {
if (i >= maxVsis) if (i >= maxVsis)
{ {
status = FM_ERR_BUFFER_FULL; status = FM_ERR_BUFFER_FULL;
break; break;
} }
vsiList[i++] = vsi; vsiList[i++] = vsi;
} }
@ -7714,7 +7714,7 @@ fm_status fm10000GetVNVsiFirst(fm_int sw,
{ {
*vsi = i; *vsi = i;
status = FM_OK; status = FM_OK;
break; break;
} }
} }
@ -7773,10 +7773,10 @@ fm_status fm10000GetVNVsiNext(fm_int sw,
status = FM_ERR_NO_MORE; status = FM_ERR_NO_MORE;
if (*searchToken == (FM10000_TE_VNI_ENTRIES_0 - 1)) if (*searchToken == (FM10000_TE_VNI_ENTRIES_0 - 1))
{ {
FM_LOG_EXIT(FM_LOG_CAT_VN, status); FM_LOG_EXIT(FM_LOG_CAT_VN, status);
} }
for (i = (*searchToken + 1); i < FM10000_TE_VNI_ENTRIES_0; i++) for (i = (*searchToken + 1); i < FM10000_TE_VNI_ENTRIES_0; i++)
{ {
@ -7785,7 +7785,7 @@ fm_status fm10000GetVNVsiNext(fm_int sw,
{ {
*vsi = i; *vsi = i;
status = FM_OK; status = FM_OK;
break; break;
} }
} }
@ -8096,7 +8096,7 @@ fm_status fm10000DbgDumpVN(fm_int sw)
(void *) aclRule->vn, aclRule->vn->vsId); (void *) aclRule->vn, aclRule->vn->vsId);
FM_LOG_PRINT(" tunnel: %p (tunnelId: %d)\n", FM_LOG_PRINT(" tunnel: %p (tunnelId: %d)\n",
(void *) aclRule->tunnel, aclRule->tunnel->tunnelId); (void *) aclRule->tunnel, aclRule->tunnel->tunnelId);
cnt++; cnt++;
} }
if (cnt == 0) if (cnt == 0)
{ {
@ -8111,10 +8111,10 @@ fm_status fm10000DbgDumpVN(fm_int sw)
FM_LOG_PRINT("\n VSI %d: vn %p (vsId %d)\n", FM_LOG_PRINT("\n VSI %d: vn %p (vsId %d)\n",
i, (void *) switchExt->vnVsi[i], i, (void *) switchExt->vnVsi[i],
switchExt->vnVsi[i]->vsId); switchExt->vnVsi[i]->vsId);
cnt++; cnt++;
} }
} }
if (cnt == 0) if (cnt == 0)
{ {
FM_LOG_PRINT(" [none]\n"); FM_LOG_PRINT(" [none]\n");
} }
@ -8246,14 +8246,14 @@ fm_status fm10000DbgDumpVirtualNetwork(fm_int sw, fm_uint32 vni)
} }
FM_LOG_PRINT(" Address: %s, Address Mask: ", tempString1); FM_LOG_PRINT(" Address: %s, Address Mask: ", tempString1);
if (addrRec->addrMask == NULL) if (addrRec->addrMask == NULL)
{ {
FM_LOG_PRINT("NULL\n"); FM_LOG_PRINT("NULL\n");
} }
else else
{ {
FM_LOG_PRINT("%s / %s\n", tempString2, tempString3); FM_LOG_PRINT("%s / %s\n", tempString2, tempString3);
} }
FM_LOG_PRINT(" tunnelId: %d (tunnel: %p)\n", FM_LOG_PRINT(" tunnelId: %d (tunnel: %p)\n",
addrRec->tunnel->tunnelId, (void *) addrRec->tunnel); addrRec->tunnel->tunnelId, (void *) addrRec->tunnel);
@ -8294,7 +8294,7 @@ fm_status fm10000DbgDumpVirtualNetwork(fm_int sw, fm_uint32 vni)
{ {
FM_LOG_PRINT(" vsi %d: %d\n", FM_LOG_PRINT(" vsi %d: %d\n",
i, addrRec->encapTunnelRules[i]); i, addrRec->encapTunnelRules[i]);
cnt2++; cnt2++;
} }
} }
if (cnt2 == 0) if (cnt2 == 0)
@ -8303,7 +8303,7 @@ fm_status fm10000DbgDumpVirtualNetwork(fm_int sw, fm_uint32 vni)
} }
} }
cnt++; cnt++;
} }
if (cnt == 0) if (cnt == 0)
{ {
@ -8372,7 +8372,7 @@ fm_status fm10000DbgDumpVirtualNetwork(fm_int sw, fm_uint32 vni)
addrMaskRule->encapTep->encapTunnelRule); addrMaskRule->encapTep->encapTunnelRule);
} }
cnt++; cnt++;
} }
if (cnt == 0) if (cnt == 0)
{ {
@ -8405,7 +8405,7 @@ fm_status fm10000DbgDumpVirtualNetwork(fm_int sw, fm_uint32 vni)
(void *) tunnelUseCount->tunnel, (void *) tunnelUseCount->tunnel,
tunnelUseCount->useCount); tunnelUseCount->useCount);
cnt++; cnt++;
} }
if (cnt == 0) if (cnt == 0)
{ {
@ -8568,7 +8568,7 @@ fm_status fm10000DbgDumpVNTunnel(fm_int sw, fm_int tunnelId)
tepRule->encapTunnelRule, tepRule->useCount, tepRule->encapTunnelRule, tepRule->useCount,
(void *) tepRule->vn, tepRule->vn->vsId); (void *) tepRule->vn, tepRule->vn->vsId);
cnt++; cnt++;
} }
if (cnt == 0) if (cnt == 0)
{ {

View file

@ -1419,12 +1419,12 @@ fm_status fmRouterCleanup(fm_int sw)
**************************************************/ **************************************************/
if ( fmCustomTreeIsInitialized(&switchPtr->routeTree) ) if ( fmCustomTreeIsInitialized(&switchPtr->routeTree) )
{ {
fmCustomTreeDestroy(&switchPtr->routeTree, DestroyRecord); fmCustomTreeDestroy(&switchPtr->routeTree, DestroyRecord);
} }
if ( fmCustomTreeIsInitialized(&switchPtr->ecmpRouteTree) ) if ( fmCustomTreeIsInitialized(&switchPtr->ecmpRouteTree) )
{ {
fmCustomTreeDestroy(&switchPtr->ecmpRouteTree, NULL); fmCustomTreeDestroy(&switchPtr->ecmpRouteTree, NULL);
} }
FM_LOG_EXIT(FM_LOG_CAT_ROUTING, FM_OK); FM_LOG_EXIT(FM_LOG_CAT_ROUTING, FM_OK);

View file

@ -3060,12 +3060,12 @@ void fm10000DbgWriteRegister(fm_int sw, fm_int port, fm_text regName, fm_int val
val); val);
fm10000DbgWriteRegisterV3(sw, fm10000DbgWriteRegisterV3(sw,
0, 0,
port, port,
0, 0,
0, 0,
regName, regName,
val); val);
FM_LOG_EXIT_VOID(FM_LOG_CAT_DEBUG); FM_LOG_EXIT_VOID(FM_LOG_CAT_DEBUG);
@ -3117,12 +3117,12 @@ void fm10000DbgWriteRegister(fm_int sw, fm_int port, fm_text regName, fm_int val
* *
*****************************************************************************/ *****************************************************************************/
fm_status fm10000DbgWriteRegisterField(fm_int sw, fm_status fm10000DbgWriteRegisterField(fm_int sw,
fm_int indexA, fm_int indexA,
fm_int indexB, fm_int indexB,
fm_int indexC, fm_int indexC,
fm_text regName, fm_text regName,
fm_text fieldName, fm_text fieldName,
fm_uint64 value) fm_uint64 value)
{ {
const fm10000DbgFulcrumRegister *pReg; const fm10000DbgFulcrumRegister *pReg;
fm_status err = FM_ERR_UNKNOWN_REGISTER; fm_status err = FM_ERR_UNKNOWN_REGISTER;
@ -3190,8 +3190,8 @@ fm_status fm10000DbgWriteRegisterField(fm_int sw,
else if (matchCnt > 1) else if (matchCnt > 1)
{ {
FM_LOG_PRINT("Multiple (%d) registers matches to the given name: %s\n", FM_LOG_PRINT("Multiple (%d) registers matches to the given name: %s\n",
matchCnt, matchCnt,
regName); regName);
FM_LOG_EXIT(FM_LOG_CAT_DEBUG, FM_ERR_UNKNOWN_REGISTER); FM_LOG_EXIT(FM_LOG_CAT_DEBUG, FM_ERR_UNKNOWN_REGISTER);
} }
else if (IS_REG_PCIE_VF(regName)) else if (IS_REG_PCIE_VF(regName))

View file

@ -3976,7 +3976,7 @@ fm_status fmPlatformSendCableMismatchEvent(fm_int sw,
fm_event * event; fm_event * event;
fm_eventCableMismatch *mismatchEvent; fm_eventCableMismatch *mismatchEvent;
fm_platXcvrInfo *xcvrInfo; fm_platXcvrInfo *xcvrInfo;
fm_int portIdx; fm_int portIdx;
portIdx = fmPlatformCfgPortGetIndex(sw, port); portIdx = fmPlatformCfgPortGetIndex(sw, port);
xcvrInfo = &GET_PLAT_STATE(sw)->xcvrInfo[portIdx]; xcvrInfo = &GET_PLAT_STATE(sw)->xcvrInfo[portIdx];

View file

@ -3823,9 +3823,9 @@ fm_status GetVrmVoltageInt(fm_int sw,
data[0] = 0x18; data[0] = 0x18;
status = i2c->writeReadFunc(i2c->handle, vrmI2c->addr, data, 1, 1); status = i2c->writeReadFunc(i2c->handle, vrmI2c->addr, data, 1, 1);
if (status != FM_OK){ if (status != FM_OK){
return status; return status;
} }
*mVolt = (data[0] * 5000 + 245000) / 1000; *mVolt = (data[0] * 5000 + 245000) / 1000;

View file

@ -1677,7 +1677,7 @@ fm_status fmUtilPcaIoUpdateInputRegs(fm_pcaIoDevice *dev)
PCA_IO_REG_TYPE_INPUT, PCA_IO_REG_TYPE_INPUT,
0, 0,
dev->devCap.numBytes); dev->devCap.numBytes);
break; break;
default: default:
status = FM_ERR_INVALID_ARGUMENT; status = FM_ERR_INVALID_ARGUMENT;
break; break;
@ -1717,7 +1717,7 @@ fm_status fmUtilPcaIoWriteRegs(fm_pcaIoDevice *dev,
{ {
fm_status status; fm_status status;
fflush(stdout); fflush(stdout);
switch (dev->model) switch (dev->model)
{ {
case PCA_IO_9505: case PCA_IO_9505: