• Alessandro Rubini's avatar
    pfilter: simplify the rule-set and make it stronger. Use one set only. · e35610a6
    Alessandro Rubini authored
    This changes the pfilter rule-set, to make it ready for vlan addition.
    Moreover, it removes the choice between three rule-sets and uses one
    that works for everyone (we'll add the vlan option later on).
    
    Moreover, we prepare for the option of peer-delay PTP and UDP-based PTP.
    
    As a side effect, one Kconfig option is removed.
    
    We know for sure that what goes to the "streamer" protocol
    is re-checked, so the streamer can get some "everything else", exactly
    like the 7S wr-nic (that sends to the host everything unused).
    
    This is the current rule set:
    
         - everything tagged is dropped
         - CPU: arp broadcast, not unicast (i.e. requests only).
         - CPU: PTP ethtype. Any mac address.
         - CPU: ICMP unicast, not broadcast.
         - CPU: UDP (uni/multicast), ports  bootpc, ptp-event, ptp-general.
         - Etherbone (class 7): UDP (uni/multicast) and port 0xebd0
         - Other fabric (class 6): anything not Etherbone (inverted class 7 bit)
    
    This counts up to 28 rules. We have 4 more rules available and we may
    add options, either at build time or run time to add udp ports or
    other ethertypes.  Or not...
    
    2 caveats:
    
      - frames for the CPU will have class bits 0x41 instead of 0x01, because
      everything not etherbone will receive bit 6. This is not a problem, as
      the CPU is not checking the class bits.
    
      - the wr-nic gateware, when using this new sw code base, must be
      changed to use classes 6 and 7 like everybody else, not classes 7
      and 5.
    Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
    e35610a6
Name
Last commit
Last update
arch/lm32 Loading commit data...
configs Loading commit data...
dev Loading commit data...
doc Loading commit data...
include Loading commit data...
ipc Loading commit data...
lib Loading commit data...
monitor Loading commit data...
pp_printf Loading commit data...
ppsi @ b203cc96
scripts Loading commit data...
sdb-lib Loading commit data...
shell Loading commit data...
softpll Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
COPYING Loading commit data...
Kconfig Loading commit data...
MAKEALL Loading commit data...
Makefile Loading commit data...
Makefile.kconfig Loading commit data...
bigobj.lds Loading commit data...
check-error.c Loading commit data...
dump-info.c Loading commit data...
revision.c Loading commit data...
system_checks.c Loading commit data...
wrc_main.c Loading commit data...
wrc_ptp.h Loading commit data...
wrs_main.c Loading commit data...