On Mon, Aug 17, 2015 at 10:55 PM, Jiri Pirko <j...@resnulli.us> wrote: > Tue, Aug 18, 2015 at 12:36:17AM CEST, sfel...@gmail.com wrote: >>From: Scott Feldman <sfel...@gmail.com> >> >>> tree /sys/kernel/debug/rocker >>/sys/kernel/debug/rocker >>└── 5254001235010000 >> ├── fdb_tbl >> ├── internal_vlan_tbl >> ├── neigh_tbl >> ├── of_dpa_flow_tbl >> └── of_dpa_group_tbl >> >>1 directory, 5 files >> >>> cat /sys/kernel/debug/rocker/5254001235010000/internal_vlan_tbl >>ifindex 5 ref_count 1 vlan 3843 >>ifindex 7 ref_count 2 vlan 3840 >>ifindex 4 ref_count 1 vlan 3842 >> >>> cat /sys/kernel/debug/rocker/5254001235010000/fdb_tbl >>learned 1 pport 1 addr 00:02:00:00:02:00 vlan 3840 >>learned 1 pport 2 addr 00:02:00:00:03:00 vlan 3840 >> >>> cat /sys/kernel/debug/rocker/5254001235010000/neigh_tbl >>11.0.0.9 dev sw1p2 ref_count 3 index 1 dst 00:02:00:00:01:00 ttl_check 1 >>11.0.0.1 dev sw1p1 ref_count 3 index 0 dst 00:02:00:00:00:00 ttl_check 1 >> >>> cat /sys/kernel/debug/rocker/5254001235010000/of_dpa_flow_tbl >>cmd 3 cookie 15 priority 3 tbl acl in_pport 2 >>01:80:c2:00:00:00/ff:ff:ff:ff:ff:f0 eth_type 0x0000 vlan_id 3841 ip proto 0/0 >>ip tos 0/0 group_id 0x0f010000 >>cmd 3 cookie 2 priority 0 tbl term_mac in_pport 1 eth_type 0x0800 >>52:54:00:12:35:01 vlan_id 3840 goto_tbl ucast_routing copy_to_cpu 0 >>cmd 3 cookie 1f priority 3 tbl bridge 00:02:00:00:00:00 vlan_id 3840 >>tunnel_id 0 goto_tbl acl group_id 0x00000000 copy_to_cpu 0 >>cmd 3 cookie 4 priority 1 tbl vlan in_pport 2 vlan_id 0 goto_tbl >>term_mac untagged 1 new_vlan_id 3841 >>cmd 3 cookie 20 priority 0 tbl ucast_routing eth_type 0x0800 11.0.0.1 >>goto_tbl acl group_id 0x20000000 >>cmd 3 cookie 21 priority 3 tbl bridge 00:02:00:00:01:00 vlan_id 3841 >>tunnel_id 0 goto_tbl acl group_id 0x00000000 copy_to_cpu 0 >>cmd 3 cookie 16 priority 2 tbl acl in_pport 2 eth_type 0x0806 >>vlan_id 3841 ip proto 0/0 ip tos 0/0 group_id 0x0f010000 >>cmd 3 cookie 12 priority 0 tbl ucast_routing eth_type 0x0800 11.0.0.0 >>goto_tbl acl group_id 0x0f000000 >>cmd 3 cookie 9 priority 3 tbl acl in_pport 1 >>01:80:c2:00:00:00/ff:ff:ff:ff:ff:f0 eth_type 0x0000 vlan_id 3840 ip proto 0/0 >>ip tos 0/0 group_id 0x0f000000 >>cmd 3 cookie 6 priority 0 tbl term_mac in_pport 2 eth_type 0x86dd >>52:54:00:12:35:02 vlan_id 3841 goto_tbl ucast_routing copy_to_cpu 0 >>cmd 4 cookie 0 priority 1 tbl ig_port in_pport 0/0xffff0000 goto_tbl >>vlan >>cmd 4 cookie e priority 0 tbl ucast_routing eth_type 0x0800 11.0.0.3 >>goto_tbl acl group_id 0x0f000000 >>cmd 3 cookie 1 priority 1 tbl vlan in_pport 1 vlan_id 0 goto_tbl >>term_mac untagged 1 new_vlan_id 3840 >>cmd 3 cookie 24 priority 20 tbl ucast_routing eth_type 0x0800 >>11.0.0.4/255.255.255.252 goto_tbl acl group_id 0x20000000 >>cmd 4 cookie 14 priority 0 tbl ucast_routing eth_type 0x0800 11.0.0.10 >>goto_tbl acl group_id 0x0f010000 >>cmd 3 cookie 2c priority 20 tbl ucast_routing eth_type 0x0800 12.0.0.4 >>goto_tbl acl group_id 0x20000001 >>cmd 3 cookie 17 priority 1 tbl term_mac in_pport 2 eth_type 0x0800 >>01:00:5e:00:00:00/ff:ff:ff:80:00:00 vlan_id 3841 goto_tbl mcast_routing >>copy_to_cpu 1 >>cmd 3 cookie 26 priority 20 tbl ucast_routing eth_type 0x0800 12.0.0.3 >>goto_tbl acl group_id 0x20000000 >>cmd 3 cookie 2e priority 30 tbl ucast_routing eth_type 0x0800 12.0.0.2 >>goto_tbl acl group_id 0x0f010000 >>cmd 3 cookie 22 priority 0 tbl ucast_routing eth_type 0x0800 11.0.0.9 >>goto_tbl acl group_id 0x20000001 >>cmd 3 cookie 1c priority 0 tbl ucast_routing eth_type 0x0800 >>11.0.0.8/255.255.255.252 goto_tbl acl group_id 0x0f010000 >>cmd 3 cookie 18 priority 1 tbl term_mac in_pport 2 eth_type 0x86dd >>33:33:00:00:00:00/ff:ff:00:00:00:00 vlan_id 3841 goto_tbl mcast_routing >>copy_to_cpu 1 >>cmd 3 cookie 5 priority 0 tbl term_mac in_pport 2 eth_type 0x0800 >>52:54:00:12:35:02 vlan_id 3841 goto_tbl ucast_routing copy_to_cpu 0 >>cmd 3 cookie a priority 2 tbl acl in_pport 1 eth_type 0x0806 >>vlan_id 3840 ip proto 0/0 ip tos 0/0 group_id 0x0f000000 >>cmd 4 cookie 1a priority 0 tbl ucast_routing eth_type 0x0800 11.0.0.11 >>goto_tbl acl group_id 0x0f010000 >>cmd 3 cookie 1e priority 0 tbl ucast_routing eth_type 0x0800 11.0.0.8 >>goto_tbl acl group_id 0x0f010000 >>cmd 3 cookie 3 priority 0 tbl term_mac in_pport 1 eth_type 0x86dd >>52:54:00:12:35:01 vlan_id 3840 goto_tbl ucast_routing copy_to_cpu 0 >>cmd 3 cookie b priority 1 tbl term_mac in_pport 1 eth_type 0x0800 >>01:00:5e:00:00:00/ff:ff:ff:80:00:00 vlan_id 3840 goto_tbl mcast_routing >>copy_to_cpu 1 >>cmd 4 cookie 8 priority 0 tbl ucast_routing eth_type 0x0800 11.0.0.2 >>goto_tbl acl group_id 0x0f000000 >>cmd 3 cookie 10 priority 0 tbl ucast_routing eth_type 0x0800 >>11.0.0.0/255.255.255.252 goto_tbl acl group_id 0x0f000000 >>cmd 3 cookie 28 priority 20 tbl ucast_routing eth_type 0x0800 >>11.0.0.12/255.255.255.252 goto_tbl acl group_id 0x20000001 >>cmd 3 cookie c priority 1 tbl term_mac in_pport 1 eth_type 0x86dd >>33:33:00:00:00:00/ff:ff:00:00:00:00 vlan_id 3840 goto_tbl mcast_routing >>copy_to_cpu 1 >> >>> cat /sys/kernel/debug/rocker/5254001235010000/of_dpa_group_tbl >>cmd 7 group_id 0x0f000000 (L2 interface vlan 3840 port 0) pop_vlan 1 >>cmd 7 group_id 0x0f010000 (L2 interface vlan 3841 port 0) pop_vlan 1 >>cmd 7 group_id 0x20000000 (L3 unicast index 0) src 52:54:00:12:35:01 dst >>00:02:00:00:00:00 vlan 3840 ttl_check 1 group_id 0x0f000001 >>cmd 7 group_id 0x0f010002 (L2 interface vlan 3841 port 2) pop_vlan 1 >>cmd 7 group_id 0x0f000001 (L2 interface vlan 3840 port 1) pop_vlan 1 >>cmd 8 group_id 0x20000001 (L3 unicast index 1) src 52:54:00:12:35:02 dst >>00:02:00:00:01:00 vlan 3841 ttl_check 1 group_id 0x0f010002 >> >>Signed-off-by: Scott Feldman <sfel...@gmail.com> >>--- >>v3: undo v2 change: Jiri is right: debugfs calls are no-ops when >> CONFIG_DEBUG_FS=n so we don't need to do anything extra in the >> CONFIG_DEBUG_FS=n case. v3 has adds a few wrapper funcs around the >> debugfs calls to keep mainline funcs clean, so let's go with this >> version over v1. >> >>v2: wrap feature with CONFIG_ROCKER_DEBUGFS to allow config-time >> enable/disable >> >> drivers/net/ethernet/rocker/rocker.c | 379 >> ++++++++++++++++++++++++++++++++++ >> drivers/net/ethernet/rocker/rocker.h | 2 +- >> 2 files changed, 380 insertions(+), 1 deletion(-) >> > > <snip> > >>+static int rocker_probe_debugfs_init(struct rocker *rocker) >>+{ >>+ char dbg_dir_name[sizeof(rocker->hw.id) * 2 + 1]; >>+ >>+ sprintf(dbg_dir_name, "%*phN", (int)sizeof(rocker->hw.id), >>+ &rocker->hw.id); > > You can use PCI address here. Might be better.
I wanted it to be same label as sysfs phys_switch_id and driver sign-on msg. > > >>+ rocker->dbg_dir = debugfs_create_dir(dbg_dir_name, rocker_dbg_root); >>+ if (!rocker->dbg_dir) > > You still check the retval here and It's OK. See include/linux/debugfs.h when CONFIG_DEBUG_FS=n. debugfs_create_dir() returns ERR_PTR(-ENODEV), which is !NULL. Seems like a nice design, debugfs. > >>+ return -ENOMEM; >>+ return 0; >>+} >>+ > > <snip> > >>+static int rocker_debugfs_init(void) >>+{ >>+ rocker_dbg_root = debugfs_create_dir(rocker_driver_name, NULL); >>+ if (!rocker_dbg_root) > > here. When debugfs is not enabled, init will fail. Doesn't fail, same reason. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html