faucet.dp module¶
Configuration for a datapath.
-
class
faucet.dp.DP(_id, dp_id, conf)[source]¶ Bases:
faucet.conf.ConfStores state related to a datapath controlled by Faucet, including configuration.
-
acls= None¶
-
advertise_interval= None¶
-
arp_neighbor_timeout= None¶
-
check_config()[source]¶ As far as possible, check config at instantiation time for errors, typically via assert.
-
combinatorial_port_flood= None¶
-
configured= False¶
-
defaults= {'advertise_interval': 30, 'arp_neighbor_timeout': 250, 'combinatorial_port_flood': False, 'cookie': 1524372928, 'description': None, 'dp_id': None, 'drop_bpdu': True, 'drop_broadcast_source_address': True, 'drop_lldp': 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': {}, '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': 0, 'pipeline_config_dir': '/home/docs/checkouts/readthedocs.org/user_builds/faucet/envs/1.7.4/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_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_id= None¶
-
drop_bpdu= None¶
-
drop_broadcast_source_address= None¶
-
drop_lldp= None¶
-
drop_spoofed_faucet_mac= None¶
-
dyn_last_coldstart_time= None¶
-
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¶
-
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>¶
-