Skip to content

Commit

Permalink
[nes]: ETHERNET + BRIDGE + HAL changes ...
Browse files Browse the repository at this point in the history
  • Loading branch information
nes-repo committed Dec 17, 2014
1 parent 248636a commit 61dd251
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 1 deletion.
13 changes: 13 additions & 0 deletions bridge/bridgeUtils.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include "ethernet/ethernetUtils.h"
#include "if/ifUtils.h"
#include "if/ifMIB.h"
#include "hal/halEthernet.h"

#include "lib/bitmap.h"

Expand Down Expand Up @@ -928,11 +929,23 @@ ieee8021PbbCbpRowStatus_update (
}


if (u8RowStatus != xRowStatus_active_c &&
!ieee8021BridgeXPortRowStatus_halUpdate (poComponent, poEntry, ieee8021BridgeBasePortType_customerBackbonePort_c, poEntry->u8RowStatus, u8RowStatus))
{
goto ieee8021PbbCbpRowStatus_update_cleanup;
}

if (!ieee8021BridgeBasePortRowStatus_handler (poComponent, poIeee8021BridgeBasePortEntry, u8RowStatus))
{
goto ieee8021PbbCbpRowStatus_update_cleanup;
}

if (u8RowStatus == xRowStatus_active_c &&
!ieee8021BridgeXPortRowStatus_halUpdate (poComponent, poEntry, ieee8021BridgeBasePortType_customerBackbonePort_c, poEntry->u8RowStatus, u8RowStatus))
{
goto ieee8021PbbCbpRowStatus_update_cleanup;
}


if (u8RowStatus == xRowStatus_destroy_c && poIeee8021BridgeBasePortEntry->u32IfIndex != 0 && !poEntry->bExternal)
{
Expand Down
25 changes: 24 additions & 1 deletion ethernet/ethernetUtils.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ ethernet_portEnableModify (
{
register bool bRetCode = false;

if (!halEthernet_portConfigure (poIfEntry, halEthernet_portAdminState_c))
if (!halEthernet_ifConfigure (poIfEntry, halEthernet_portAdminState_c))
{
goto ethernet_portEnableModify_cleanup;
}
Expand Down Expand Up @@ -286,6 +286,29 @@ ieee8021BridgeBasePortRowStatus_update (
return bRetCode;
}

bool
ieee8021BridgeXPortRowStatus_halUpdate (
ieee8021BridgeBaseEntry_t *poComponent,
void *pvEntry, int32_t i32Type, uint8_t u8CurStatus, uint8_t u8RowStatus)
{
register bool bRetCode = false;
register uint8_t u8HalOpCode =
u8RowStatus == xRowStatus_active_c && u8CurStatus != xRowStatus_active_c ? halEthernet_portEnable_c:
u8RowStatus != xRowStatus_active_c && u8CurStatus == xRowStatus_active_c ? halEthernet_portDisable_c: halEthernet_portNone_c;

if ((u8HalOpCode != halEthernet_portNone_c && !halEthernet_portConfigure (poComponent, u8HalOpCode, i32Type, pvEntry)) ||
(u8RowStatus == xRowStatus_destroy_c && !halEthernet_portConfigure (poComponent, halEthernet_portDestroy_c, i32Type, pvEntry)))
{
goto ieee8021BridgeXPortRowStatus_halUpdate_cleanup;
}

bRetCode = true;

ieee8021BridgeXPortRowStatus_halUpdate_cleanup:

return bRetCode;
}

bool
ieee8021BridgeDot1dPortRowStatus_update (
ieee8021BridgeDot1dPortEntry_t *poEntry, uint8_t u8RowStatus)
Expand Down
4 changes: 4 additions & 0 deletions ethernet/ethernetUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ bool ethernetUtilsInit (void);
bool
ieee8021BridgeBaseRowStatus_update (
ieee8021BridgeBaseEntry_t *poEntry, uint8_t u8RowStatus);
bool
ieee8021BridgeXPortRowStatus_halUpdate (
ieee8021BridgeBaseEntry_t *poComponent,
void *pvEntry, int32_t i32Type, uint8_t u8CurStatus, uint8_t u8RowStatus);
bool
ieee8021BridgeBasePortRowStatus_update (
ieee8021BridgeBaseEntry_t *poComponent,
Expand Down
7 changes: 7 additions & 0 deletions hal/halEthernet.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,13 @@ halEthernet_portConfigure ()
return false;
}

bool
halEthernet_ifConfigure ()
{
/* TODO */
return false;
}

bool
halEthernet_vlanConfigure ()
{
Expand Down
6 changes: 6 additions & 0 deletions hal/halEthernet.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@ enum

halEthernet_portAdminState_c,
halEthernet_portOperState_c,
halEthernet_portNone_c,
halEthernet_portEnable_c,
halEthernet_portDisable_c,
halEthernet_portDestroy_c,

halEthernet_vlanEnable_c,
halEthernet_vlanOperState_c,
Expand All @@ -64,6 +68,8 @@ extern bool
halEthernet_componentConfigure ();
extern bool
halEthernet_portConfigure ();
extern bool
halEthernet_ifConfigure ();
extern bool
halEthernet_vlanConfigure ();

Expand Down

0 comments on commit 61dd251

Please sign in to comment.