Bit 8 of the ALE Control Register can be used to enable unknown unicast flood packets to the internal host port. Setting this bit should allow the host to see all unicast packets.
Bit 4 in the respective ALE Port Control Register can be used to disable the ALE from learning an address. When this bit is not set, the ALE would broadcast the first packet received for a specific address to all ports then learn which port replied and send all future packets for this address to the respective port. However, received packets will always be broadcast when this bit is set because the ALE is not able to learn the address.
-
// Processing...");
emails = emails.replace(/'/g, "\\'");
name = encodeURIComponent(name).replace(/'/g, "\\'").replace(/"/g, "\"\"");
bu = encodeURIComponent(bu).replace(/'/g, "\\'");
threadName = encodeURIComponent(threadName).replace(/'/g, "\\'");
href = encodeURIComponent(href).replace(/'/g, "\\'");
tBody = encodeURIComponent(tBody).replace(/'/g, "\\'");
tAuthor = encodeURIComponent(tAuthor).replace(/'/g, "\\'");
var vArgs = "{";
vArgs += "'sName':'" + name + "',";
vArgs += "'sBusinessUnit':'" + bu + "',";
vArgs += "'sEmails':'" + emails + "',";
vArgs += "'sPriority':'" + priority + "',";
vArgs += "'sThreadID':'" + threadID + "',";
vArgs += "'sThreadName':'" + threadName + "',";
vArgs += "'sHref':'" + href + "',";
vArgs += "'sForumName':'" + forumName + "',";
vArgs += "'sStatus':'" + status + "',";
vArgs += "'sGroupID':'" + groupID + "',";
vArgs += "'sBody':'" + tBody + "',";
vArgs += "'sAuthor':'" + tAuthor + "',";
vArgs += "'sDisplayName':'" + displayName + "',";
vArgs += "'sUserID':'" + userID + "',";
vArgs += "'sSectionID':'" + sectionID + "'}";
$.ajax({
type: "POST",
url: "/TICustomWidgets/Utility/ContentFragments/Common/TrackingUtility.aspx/ThreadTrackSubmit",
data: vArgs,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var ti_tt = msg.d;
msgbox.html(msg.d);
$(".cStatus option:contains(" + 'Closed' + ")").attr("selected", "selected");
},
error: function (request, error) {
msgbox.html("
Error - " + request.responseText.substring(0, 50) + "...
"); } }); } // ]]>Hello, Paul
I had configure the bits you said. Maybe the "no learing table " had worked. But the host can not receive "all unicast packets " . I think to packet had already send to the host . But the eh0 was not in " promisc mode" , so it drop the packets whose destination address is host's.
I think only set the "bypass mode " could make it into "promisc mode" ? i open the source c file . And find that it is do nothing about "IFF_PROMISC"
So, if we want receive all the package , we must do someting to config some register?
2411
/*2412
* The switch cannot operate in promiscuous mode without substantial2413
* headache. For promiscuous mode to work, we would need to put the2414
* ALE in bypass mode and route all traffic to the host port.2415
* Subsequently, the host will need to operate as a "bridge", learn,2416
* and flood as needed. For now, we simply complain here and2417
* do nothing about it :-)2418
*/The below is the process about our experiment:
we set the ale port register BIT8 =1 BIT4 =1 , the read the enty table and ale register.
180 packets captdevice eth0 left promiscuous mode
ured
180 packets received by fi-----------------BUFF--------------
index 0, raw: 00000004 1000405f c2262380, type: addr(1), addr: 40:5f:c2:26:23:80, uctype: persistant(0), port: 1
index 1, raw: 0000001c 1000ffff ffffffff, type: addr(1), addr: ff:ff:ff:ff:ff:ff, mcstate: f(0), port mask: 7, no super
index 2, raw: 0000001c 10000100 5e000001, type: addr(1), addr: 01:00:5e:00:00:01, mcstate: f(0), port mask: 7, no superlter
0 packets -----------------BUFF--------------
enable=1
clear=0
ageout=0
vlan_nolearn=0
no_port_vlan=0
oui_deny=0
bypass=0
rate_limit_tx=0
vlan_aware=0
auth_enable=0
rate_limit=0
port_state.0=3
port_state.1=3
drop_untagged.0=0
drop_untagged.1=0
drop_unknown.0=0
drop_unknown.1=0
nolearn.0=1
nolearn.1=1
unknown_vlan_member.0=0
unknown_vlan_member.1=0
unknown_mcast_flood.0=0
unknown_mcast_flood.1=0
unknown_reg_flood.0=0
unknown_reg_flood.1=0
untagged_egress.0=0
untagged_egress.1=0
bcast_limit.0=0
bcast_limit.1=0
mcast_limit.0=0
mcast_limit.1=0
flow_unicast.0=0
flow_unicast.1=0the "flow_unicast" is the bit 8 of ale port. It is alway zero ,no matter we set 1 or 0. So i think this bit does not work.
but , from above , we can see " no learning " works , and the packet maybe broadcast to any ports.
MY QUESTION IS :
HOW COULD I recevie all the package in this way or to get host 0 in promisc mode without bypass.
thanks & regards
Owen
// Processing..."); emails = emails.replace(/'/g, "\\'"); name = encodeURIComponent(name).replace(/'/g, "\\'").replace(/"/g, "\"\""); bu = encodeURIComponent(bu).replace(/'/g, "\\'"); threadName = encodeURIComponent(threadName).replace(/'/g, "\\'"); href = encodeURIComponent(href).replace(/'/g, "\\'"); tBody = encodeURIComponent(tBody).replace(/'/g, "\\'"); tAuthor = encodeURIComponent(tAuthor).replace(/'/g, "\\'"); var vArgs = "{"; vArgs += "'sName':'" + name + "',"; vArgs += "'sBusinessUnit':'" + bu + "',"; vArgs += "'sEmails':'" + emails + "',"; vArgs += "'sPriority':'" + priority + "',"; vArgs += "'sThreadID':'" + threadID + "',"; vArgs += "'sThreadName':'" + threadName + "',"; vArgs += "'sHref':'" + href + "',"; vArgs += "'sForumName':'" + forumName + "',"; vArgs += "'sStatus':'" + status + "',"; vArgs += "'sGroupID':'" + groupID + "',"; vArgs += "'sBody':'" + tBody + "',"; vArgs += "'sAuthor':'" + tAuthor + "',"; vArgs += "'sDisplayName':'" + displayName + "',"; vArgs += "'sUserID':'" + userID + "',"; vArgs += "'sSectionID':'" + sectionID + "'}"; $.ajax({ type: "POST", url: "/TICustomWidgets/Utility/ContentFragments/Common/TrackingUtility.aspx/ThreadTrackSubmit", data: vArgs, contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { var ti_tt = msg.d; msgbox.html(msg.d); $(".cStatus option:contains(" + 'Closed' + ")").attr("selected", "selected"); }, error: function (request, error) { msgbox.html("
Error - " + request.responseText.substring(0, 50) + "...
"); } }); } // ]]> -
Hi, Paul
EVM_8148 hardware:
i have write wrong about in the last message( upstairs). The bit 8 is AlE CONTROL reg , not ale port register.
We can not set this bit to 1 , it's always 0 no mater set 1 or 0.
to goto promisc mode without bypass , some other DAVINCI (DM8168) has " RXCAFEN bit ", but i didn't find it in 814X's reference manual.
please help us how to configure this
thanks & regards
Owen