faucet.dp module¶
Configuration for a datapath.
-
class
faucet.dp.
DP
(_id, dp_id, conf)[source]¶ Bases:
faucet.conf.Conf
Stores state related to a datapath controlled by Faucet, including configuration.
-
acls
= None¶
-
advertise_interval
= None¶
-
arp_neighbor_timeout
= None¶
-
combinatorial_port_flood
= None¶
-
configured
= False¶
-
defaults
= {'advertise_interval': 30, 'arp_neighbor_timeout': 250, 'combinatorial_port_flood': False, 'cookie': 1524372928, 'description': None, 'dp_acls': None, 'dp_id': None, 'drop_broadcast_source_address': True, 'drop_spoofed_faucet_mac': True, 'faucet_dp_mac': '0e:00:00:00:00:01', 'group_table': False, 'group_table_routing': False, 'hardware': 'Open vSwitch', 'high_priority': None, 'highest_priority': None, 'ignore_learn_ins': 10, 'interface_ranges': {}, 'interfaces': {}, 'lacp_timeout': 30, 'learn_ban_timeout': 10, 'learn_jitter': 10, 'lldp_beacon': {}, 'low_priority': None, 'lowest_priority': None, 'max_host_fib_retry_count': 10, 'max_hosts_per_resolve_cycle': 5, 'max_resolve_backoff_time': 32, 'metrics_rate_limit_sec': 0, 'name': None, 'ofchannel_log': None, 'packetin_pps': None, 'pipeline_config_dir': '/home/docs/checkouts/readthedocs.org/user_builds/faucet/envs/1.8.3/etc/faucet', 'priority_offset': 0, 'proactive_learn': True, 'stack': None, 'timeout': 300, 'use_idle_timeout': False}¶
-
defaults_types
= {'advertise_interval': <class 'int'>, 'arp_neighbor_timeout': <class 'int'>, 'combinatorial_port_flood': <class 'bool'>, 'cookie': <class 'int'>, 'description': <class 'str'>, 'dp_acls': <class 'list'>, 'dp_id': <class 'int'>, 'drop_bpdu': <class 'bool'>, 'drop_broadcast_source_address': <class 'bool'>, 'drop_lldp': <class 'bool'>, 'drop_spoofed_faucet_mac': <class 'bool'>, 'faucet_dp_mac': <class 'str'>, 'group_table': <class 'bool'>, 'group_table_routing': <class 'bool'>, 'hardware': <class 'str'>, 'high_priority': <class 'int'>, 'highest_priority': <class 'int'>, 'ignore_learn_ins': <class 'int'>, 'interface_ranges': <class 'dict'>, 'interfaces': <class 'dict'>, 'learn_ban_timeout': <class 'int'>, 'learn_jitter': <class 'int'>, 'lldp_beacon': <class 'dict'>, 'low_priority': <class 'int'>, 'lowest_priority': <class 'int'>, 'max_host_fib_retry_count': <class 'int'>, 'max_hosts_per_resolve_cycle': <class 'int'>, 'max_resolve_backoff_time': <class 'int'>, 'metrics_rate_limit_sec': <class 'int'>, 'name': <class 'str'>, 'ofchannel_log': <class 'str'>, 'packetin_pps': <class 'int'>, 'pipeline_config_dir': <class 'str'>, 'priority_offset': <class 'int'>, 'proactive_learn': <class 'bool'>, 'stack': <class 'dict'>, 'timeout': <class 'int'>, 'use_idle_timeout': <class 'bool'>}¶
-
dp_acls
= None¶
-
dp_id
= None¶
-
drop_broadcast_source_address
= None¶
-
drop_spoofed_faucet_mac
= None¶
-
dyn_last_coldstart_time
= None¶
-
dyn_up_ports
= set()¶
-
faucet_dp_mac
= None¶
-
get_config_changes
(logger, new_dp)[source]¶ Detect any config changes.
Parameters: - logger (ValveLogger) – logger instance
- new_dp (DP) – new dataplane configuration.
Returns: changes tuple containing:
deleted_ports (set): deleted port numbers. changed_ports (set): changed/added port numbers. changed_acl_ports (set): changed ACL only port numbers. deleted_vlans (set): deleted VLAN IDs. changed_vlans (set): changed/added VLAN IDs. all_ports_changed (bool): True if all ports changed.
Return type: (tuple)
-
group_table
= False¶
-
group_table_routing
= False¶
-
groups
= None¶
-
high_priority
= None¶
-
ignore_learn_ins
= None¶
-
interface_ranges
= None¶
-
interfaces
= None¶
-
lacp_timeout
= None¶
-
learn_ban_timeout
= None¶
-
learn_jitter
= None¶
-
lldp_beacon
= {}¶
-
lldp_beacon_defaults_types
= {'max_per_interval': <class 'int'>, 'send_interval': <class 'int'>, 'system_name': <class 'str'>}¶
-
low_priority
= None¶
-
max_host_fib_retry_count
= None¶
-
max_hosts_per_resolve_cycle
= None¶
-
max_resolve_backoff_time
= None¶
-
meters
= {}¶
-
metrics_rate_limit_sec
= None¶
-
name
= None¶
-
output_only_ports
= None¶
-
packetin_pps
= None¶
-
pipeline_config_dir
= None¶
-
ports
= None¶
-
priority_offset
= None¶
-
proactive_learn
= None¶
-
routers
= None¶
-
running
= False¶
-
shortest_path_port
(dest_dp)[source]¶ Return first port on our DP, that is the shortest path towards dest DP.
-
stack
= None¶
-
stack_defaults_types
= {'priority': <class 'int'>}¶
-
stack_ports
= None¶
-
tables
= {}¶
-
tables_by_id
= {}¶
-
timeout
= None¶
-
use_idle_timeout
= None¶
-
vlans
= None¶
-
wildcard_table
= <faucet.valve_table.ValveTable object>¶
-