Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Switch - Gateware
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
12
Issues
12
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Switch - Gateware
Commits
59581800
Commit
59581800
authored
Mar 14, 2014
by
Maciej Lipinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[rtu] optimized detection of HW MAC reserved addresses (to be forwarded to CPU)
parent
85c5d183
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
3 deletions
+18
-3
rtu_fast_match.vhd
modules/wrsw_rtu/rtu_fast_match.vhd
+1
-1
rtu_private_pkg.vhd
modules/wrsw_rtu/rtu_private_pkg.vhd
+17
-2
No files found.
modules/wrsw_rtu/rtu_fast_match.vhd
View file @
59581800
...
...
@@ -212,7 +212,7 @@ begin
rtu_str_config_i
.
ff_mac_ptp_ena
=
'0'
)
else
-- stuff disabled
traffic_ptp
when
(
rtu_str_config_i
.
ff_mac_ll_ena
=
'0'
and
rtu_str_config_i
.
ff_mac_ptp_ena
=
'1'
)
else
-- stuff disabled
f_mac_
in_range
(
rtu_req_stage_0
.
dmac
,
c_bpd_range_lower
,
c_bpd_range_upper
)
or
traffic_ptp
;
f_mac_
reserved
(
rtu_req_stage_0
.
dmac
)
or
traffic_ptp
;
traffic_br
<=
'0'
when
(
rtu_str_config_i
.
ff_mac_br_ena
=
'0'
)
else
-- stuff disabled
'1'
when
(
rtu_req_stage_0
.
dmac
=
x"FFFFFFFFFFFF"
)
else
...
...
modules/wrsw_rtu/rtu_private_pkg.vhd
View file @
59581800
...
...
@@ -125,8 +125,8 @@ package rtu_private_pkg is
constant
c_ff_range_macs_number
:
integer
:
=
1
;
-- not implemented
------------------ new stuff ------------------------
constant
c_bpd_range_lower
:
std_logic_vector
:
=
x"0180C2000000"
;
constant
c_bpd_range_upper
:
std_logic_vector
:
=
x"0180C200000F"
;
constant
c_bpd_range_lower
:
std_logic_vector
(
47
downto
0
)
:
=
x"0180C2000000"
;
--
constant c_bpd_range_upper : std_logic_vector := x"0180C200000F";
type
t_mac_array
is
array
(
integer
range
<>
)
of
std_logic_vector
(
47
downto
0
);
type
t_rtu_special_traffic_config
is
record
...
...
@@ -167,6 +167,8 @@ package rtu_private_pkg is
function
f_mac_in_range
(
in_mac
,
in_mac_lower
,
in_mac_upper
:
std_logic_vector
(
47
downto
0
)
)
return
std_logic
;
function
f_mac_reserved
(
in_mac
:
std_logic_vector
(
47
downto
0
)
)
return
std_logic
;
function
f_fast_match_mac_lookup
(
match_config
:
t_rtu_special_traffic_config
;
in_mac
:
std_logic_vector
(
47
downto
0
)
)
return
std_logic
;
...
...
@@ -554,6 +556,19 @@ package body rtu_private_pkg is
return
ret
;
end
function
f_mac_in_range
;
function
f_mac_reserved
(
in_mac
:
std_logic_vector
(
47
downto
0
)
)
return
std_logic
is
variable
ret
:
std_logic
;
begin
ret
:
=
'0'
;
if
(
in_mac
(
47
downto
8
)
=
c_bpd_range_lower
(
47
downto
8
))
then
ret
:
=
'1'
;
end
if
;
return
ret
;
end
function
f_mac_reserved
;
function
f_fast_match_mac_lookup
(
match_config
:
t_rtu_special_traffic_config
;
in_mac
:
std_logic_vector
(
47
downto
0
)
)
return
std_logic
is
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment