I found the solution for those interested. you have to make changes in the ipv4.c file
I replace:
// if(_TCPIPStackIpAddFromLAN(pNetIf, pIpAdd))
// {
// pPkt->arpTarget.Val = pIpAdd->Val;
// }
// else
// { // not this LAN
// pPkt->arpTarget.Val = pNetIf->netGateway.Val;
// }
by this:
if((pPkt->destAddress.Val & pNetIf->DefaultMask.Val) == (pNetIf->DefaultGateway.Val & pNetIf->DefaultMask.Val))//Local
{
pPkt->arpTarget.Val = pIpAdd->Val;
}
else if((pPkt->destAddress.Val & pNetIf->DefaultMask.Val) == (routeconfig[0].IP_Route.Val & routeconfig[0].IP_Mask.Val))//Reseau Route
{
pPkt->arpTarget.Val = routeconfig[0].IP_Net.Val;//moi!!!
}
else if((pPkt->destAddress.Val & pNetIf->DefaultMask.Val) == (routeconfig[1].IP_Route.Val & routeconfig[1].IP_Mask.Val))//Reseau Route
{
pPkt->arpTarget.Val = routeconfig[1].IP_Net.Val;//moi!!!
}
else if((pPkt->destAddress.Val & pNetIf->DefaultMask.Val) == (routeconfig[2].IP_Route.Val & routeconfig[2].IP_Mask.Val))//Reseau Route
{
pPkt->arpTarget.Val = routeconfig[2].IP_Net.Val;//moi!!!
}
else if((pPkt->destAddress.Val & pNetIf->DefaultMask.Val) == (routeconfig[3].IP_Route.Val & routeconfig[3].IP_Mask.Val))//Reseau Route
{
pPkt->arpTarget.Val = routeconfig[3].IP_Net.Val;//moi!!!
}
This corresponds to my routing table
post edited by jo1234 - 2017/12/01 04:20:41